Process Frameworks Flashcards
5 phases of any process framework
Communication
Planning
Modeling
Build
Ship
4 major activities involved in creating a project plan
create a task list
assess risks
determine resources
clarify work products
What is a GANTT chart?
a representation of a task tree and project timeline in an excel-like sheet
2 areas of SW modeling
architecture
design
Briefly, what is SW architecture
specification the higher level structures in the SW that allow us to reason about a system and how they relate to each other
Briefly, what is SW design
specification of the internal components of the specified architectural structures
5 activities in the build/construction phase
- more detailed design
- coding
- unit testing
- integration testing
- verification testing
Verification vs Validation
verification = was the system created accurately according to the requirements
validation = does the system satisfy the client (does the client like it)
What is the waterfall model
the 5 steps (communication, planning, modeling, building, shipping) are done sequentially and we do not move on to the next one until the previous step is finished
What is the V-model
similar to the waterfall model but each testing phase has a feedback loop to a previous step.
Unit testing feeds back to the build step
Integration testing feeds back to the modeling step
Verification and validation feedback to the communication (or requirements gathering) step
What is the spiral model?
We build our system in increments. Each increment behaves like the waterfall model (communication, planning, modeling, building, and shipping)
Each increment typically corresponds to a new feature
What is the evolutionary model?
Similar to the spiral model in that each increment behaves like the waterfall model (communication, planning, modeling, building, and shipping).
However, each increment may not correspond to a new feature but rather simply growing and improving the system (i.e some kind of refactoring that is done would be an improvement to the system however the user would likely be unaware of the changes made)
What is prototyping?
a quick building of the core functionality of the system in order to ascertain the most optimal system architecture
What is the concurrent model?
Used when you have multiple teams that cannot meet very often. Requires that each team has its own set of independent tasks
What is COTS?
Commercial Off the Shelf software.
It is software that you either buy or just simply plug-in and use in your system (prevents you from having to reinvent the wheel)
Who created the Unified Process?
Booch
Rumbaugh
Jacobson
4 keys of the unified process
Use Cases
Architecture-centric
iterative
incremental
what is MVP? and what does it mean?
minimum viable product
it is the smallest version of the system that performs the core functionality (AKA implements the success path)
What is the “Success path”
the usage of a software system in which the user behaves exactly as you might expect and does exactly what you want them to do (they don’t do anything that could lead to errors)
What is the basic idea of Agile development?
to create SW in increments and deliver them at regular time intervals specified by the customer
What are the 4 agile motivations
avoid death march (continual extension of deadlines and time frame)
avoid gold-plating (adding feature that you like but don’t need)
avoid user surprises
avoid an overly rigid design
The 4 agile preferred values
individuals and interactions over processes and frameworks
working software over completed documentation
customer collaboration over contract negotiation
flexible to change over following a plan
what is the project management triangle
the idea that cost, effort, and time frame for a software project are all inter-related and that changing any one of those values will change at least one other value.
You can imagine the value of each number representing the length of one side of a triangle. We know from math that no one side of a triangle can be longer than the sum of the other two. This same relation of the sides of triangle holds with cost, time frame, and effort
6 basic project management tasks
risk management
QA
source code management (SCM)
reusability management
work product management
measurement