QT Development (23)--Software development process First,
Introduction to the software development process
Software development process is a series of steps to ensure the smooth completion of software products, software products in the life cycle of management.
The essence of the software development process is that the software development process is independent of the specific technology and is the rule that the development team must obey.
Second,
Common software development process Model
Common software development process models include impromptu models, waterfall models, incremental models, helical models, and agile models.
1. Improvisation Model
Features of the improvisation model:
A, to communicate with users immediately after the development
B. No demand analysis and demand discovery process
C, no overall design and planning
D, lack of software documentation, poor maintainability
2. Waterfall Model
Features of the waterfall model:
A, top-down software development
B, the development process is irreversible
The Waterfall model development process includes: requirements analysis, architecture design, development implementation, system testing, release
3. Incremental model
Features of the incremental model:
A, the system function decomposition into non-overlapping sub-function
B, every effort to achieve a sub-function
C, sub-function complete after the completion of the system development
650) this.width=650; "src=" Http://s3.51cto.com/wyfs02/M00/8A/24/wKiom1gof7DxILQ1AAB-JQnvf1I256.png "title=" Picture 1.png "alt=" Wkiom1gof7dxilq1aab-jqnvf1i256.png "/>
4. Spiral Model
Features of the Helix model:
A, using iterative methods to develop
B, software project decomposition to a number of different versions to complete
C, each version of the development process requires user participation
D. Design the next version based on feedback from the previous version
5. Agile Models
Features of the Agile model:
A, Basics
B. Embrace change
C, efficient work
D. Continuous development
Third,
System Testing
1. Memory Leak test
Valgrind Memory Analysis Tool
Valgrind is a probing framework for building dynamic analysis tools , includes a toolset where each tool performs some type of debugging, analysis, or similar task. Valgrind's architecture is modular, so it's easy to create new tools without disrupting existing structures.
Iv. Code refactoring
Refactoring is a code rewrite aimed at improving the quality of code, making the design and architecture of software more reasonable, and improving the extensibility and maintainability of the software.
Code implementation is designed according to the design of the implementation, focusing on the implementation of the function, regardless of the architecture, only consider the implementation of the function.
Code refactoring is a software architecture optimization that is designed to improve code quality, and does not affect the functionality that has been implemented, only the improvement of the architecture.
650) this.width=650; "src=" Http://s4.51cto.com/wyfs02/M00/8A/20/wKioL1gof8_icJMAAABhLfzgPck503.png "title=" Picture 2.png "alt=" Wkiol1gof8_icjmaaabhlfzgpck503.png "/>
The code refactoring of software is usually done after the function is implemented and tested.
This article from "Life is endless, struggle not only" blog, declined reprint!
QT Development (23)--Software development process