In order to reflect how each work should be organized in the software life cycle, how to converge each stage, the software development model is needed to give the visual representation. Software development model is the detail of software idea, and it is the software development method and tool in the process module.
To describe the characteristics of the development model and their pros and cons.
Waterfall Model
The core idea is to develop software according to the process, function, design and implementation of separate, each stage division of labor and Cooperation.
The structural analysis design method, the logical realization and the physical realization separates.
Activities: Development plan, requirement analysis and description, design, test, maintenance.
Each stage of waterfall water, descending, from top to bottom.
Characteristics:
The last active party produces the work object as input
Use input to achieve the completion of this activity
This activity results in a next activity
Review the activity.
Disadvantages:
Lack of flexibility
Unable to resolve software requirements not understood.
Prototype Model
Requirements analysis, software development and the user together to define the overall goal, underline the area.
High-speed design of the visible part, user assessment, and constantly intact.
Iteration
Strengths:
Users communicate more.
Low risk development of flexible computer systems
Easy maintenance, low cost and short time
Disadvantages:
Easy Topic
Ignore basic points
Document update trouble, management difficulties
Drilling horns.
Spiral Model
Characteristics:
Gradual refinement, every period of the input is intact
Continue to realize the user's ideas.
The helix model is a combination of waterfall and evolutionary models and adds risk analysis.
Specify planning, risk analysis, implementation development, customer assessment.
Strengths:
The emphasis of optional schemes and constraints is beneficial to software reuse.
Reduce the risk of unreasonable testing
Maintenance is just the model and there is a cycle, no essential difference from development
Fountain Model
Corresponding to the waterfall model
Each stage overlaps and repeats repeatedly.
Provides support for the inheritance of multiple development activities for software reuse and survival cycles.
Development activities, there is no obvious boundary between the analysis design and the coding.
Incremental Model
The SOFTWARE PRODUCT as a series of incremental component design, coding, integration and testing.
A plurality of interaction modules for each component.
The decomposition must adhere to the constraints: when the new components are integrated into the existing software, the resulting product must be tested.
Strengths:
A product that is submitted to the user for a short period of time to complete the work
Gradually add features to facilitate user learning at the same time.
Difficult:
When you integrate each new incremental model component into your existing software architecture, you do not destroy the product you originally developed.
Each model has its own characteristics, the process of software development, to choose the model of adaptation, combined with the advantages and disadvantages of each model, through the analysis of the choice of the best method, with less effort, design a good software.
Software project lifetime model (with diagram)