The development of software is nothing more than such a few links demand analysis, design, coding, integration, testing, maintenance all the development model is based on this change
1. Traditional waterfall-style development
the software development model originally proposed by W.w.royce in 1970
The typical feature is that each step goes down according to the 100% progress and does not adapt to changes in the process. Every step is required to be perfect, so this mode of development is the least efficient, the latter is basically not feasible in the case of change.
2. iterative development
< Span style= "color:black;" > < Span style= "color:black;" is a software development process that is contrary to traditional waterfall development, which complements some of the weaknesses of traditional development methods with higher success rates and productivity.
< Span style= "color:black;" > is actually a subject development, and then each iteration is completed on this basis, and the requirement is that the framework must be designed enough to accommodate the changes.
design and implement only one part of this product at a time,
Step-by-step method called iterative development,
each design and implementation phase is called an iteration.
In an iterative development approach, the entire development effort is organized into a series of short,
a fixed length, such as 3 weeks, is called a series of iterations.
each iteration includes requirements analysis, design, implementation, and testing.
in this way, the development work can be started before the requirements are fully determined,
and completes the development of a part of the system's functionality or business logic in one iteration.
the customer's feedback to refine the requirements and start a new iteration.
Benefits of iterative development:
1, mitigating Risk
2, getting early user feedback
3, continuous testing and integration
4, using changes
5, improving reusability /span>
< Span style= "color:black;" > < Span style= "color:red;" >
< Span style= "color:black;" > < Span style= "color:red;" >3. < Span style= "color:black;" > Spiral Development ,
< Span style= "color:black;" > < Span style= "color:black;" > < Span style= "color: #000000;" > 1988, Barry Boehm formally published Helix model is very small at first, and gradually unfolds when the project is defined better and more stably.
< Span style= "color:black;" > The core of the
Helix model is that you don't have to define everything in the first place. You take it easy, define the most important features, implement it, and then listen to the customer's comments before moving on to the next stage. So keep repeating the cycle until you are satisfied with the final product.
(1) Plan: Define the software objectives, select the implementation plan, and clarify the constraints of project development;
(2) Risk analysis: Analyze and evaluate selected scenarios and consider how to identify and eliminate risks ;
(3) Implementation of the project: implementation of software development and validation;
(4) Customer Evaluation: Evaluate the development work, propose the proposed amendments, and make the next plan. the
4. Agile Software Development also known as Agile Development , is a kind of new software development method which has aroused wide attention gradually from the 1990 's, is a kind of software development ability to deal with the fast changing demand. Their specific names, concepts, processes, terminology are different, compared to "non-agile", more emphasis on the programmer team and business experts close collaboration, face-to-head communication (think more effective than written documents), frequent delivery of new software releases, compact and self-organizing team, Code writing and team organization methods that can adapt well to changes in demand, but also focus on the human role of software development.
- people and interactions heavy on procedures and tools.
- can work with software heavy on perfection and complete documentation.
- customer Collaboration over contract negotiations.
- respond to changes at any time over the rules.
While the content on the right has its value, the content on the left is the most important.
People trust each other less but are capable of face-to-head communication
Agile development of the project:
The main working methods of the Agile development team can be summarized as: work as a whole, work in short iterations, and deliver some results on each iteration;
Focus on business priorities; check and adjust.
Perhaps the most important factor is the size of the project. It is increasingly difficult to communicate in a larger
Agile methods are therefore more suitable for smaller teams, 40, 30, 20, 10 or less.
Large-scale Agile software development is still in the field of active research.
Software development model