Software process model Flashcards
is an imperfect replica of something real, but the model has several advantages over the original:
is less expensive
it can be built more quickly
it is easier to change
it is easier to handle
MODEL
a simplified description of a software process that presents one view of that process. Process models may include activities that are part of the software process, software products and the roles of people involved in software engineering:
Software Process Models
This shows the sequence of activities in the process along with their inputs, outputs and dependencies. The activities in this model represent human actions
workflow model
This represents the process as a set of activities, each of which carries out some data transformation. It shows how the input to the process, such as a specification, is transformed to an output, such as a design. The activities here may represent transformations carried out by people or by computers.
dataflow or activity model
The represents the roles of the people involved in the software process and the activities for which they are responsible
role/action model
What are the Predictive Life Cycle Models
Waterfall method
Prototyping
Spiral Model
Iterative Incremental Model
Rapid Applications Development
What are the Adaptive Life Cycle Models
Extreme Programming
SCRUM
Only when one phase is finished does the project team drop down (fall) to the next phase
Fairly rigid approach
Can’t easily go back to previous phases (each phase would get “signed off”)
Waterfall method
many activities are done now in an overlapping or concurrent manner
Done for efficiency – when activities are not dependent on the outcome of others they can also be carried out (but dependency limits overlap)
- Waterfall is not realistic
Modified Waterfall Approach
Why would corporate manager types like the waterfall life cycle model?
Minimizes change, maximizes predictability
Costs and risks are more predictable
Each stage has milestones and deliverables: project managers can use to gauge how close project is to completion
Sets up division of labor
breaks up a software project into a number of mini-projects that address one or more major risks until all the risks have been addressed. the most generic of the models.
Spiral Life Cycle Model
Is a team-based technique that speeds up information systems development and produces a functioning information system
Relies heavily on prototyping and user involvement
Project team uses CASE tools to build the prototypes and create a continuous stream of documentation
Rapid Application Development
What are the RAD objectives
To cut development time and expense
Helps a development team design a system that requires a highly interactive or complex user interface
a partially developed product that enables customers and developers to examine some aspect of a proposed system and decide if it is suitable for a finished product
Prototyping
Why add prototypes to the life cycle?
Used to explore the risky aspects of the system
partitions a system by functionality
improves overall system in each release
Iterative and incremental process
Has well-defined, linear stages of systems development and support
- Good for traditional type of projects
Waterfall model