Introduction to the software development process

Source: Internet
Author: User

When I first went to school, I thought that software development was code writing. Now I think it's really naive. After three years of work, I began to have a clear understanding of the software development process with my continuous thinking.

Software Engineering divides the entire software development process into five aspects: requirement analysis, design, coding, testing and maintenance. Only when everything is done is possible to make a good system. This is only a necessary but not a sufficient condition. The output of each stage is the document. In the waterfall development model, the information required for the next stage comes from the document of the previous stage.

Demand analysis, as its name implies, is to understand the specific needs of customers and what kind of system the customers will look like. When I learned software engineering a few years ago, I heard that demand analysis is the most important step in the software development process. I think a good demand analyst is much more important than a developer. A good demand analyst can not only fully discover the customer's requirements, but also discover what the customer did not expect. A good demand analyst must keep the business processes of various systems in mind, it is wise to specialize in an industry system. A good demand analyst can clearly understand all aspects of the requirement documentation, reducing unnecessary communication time.

The design includes a summary design and a detailed design. A summary design specification, a detailed design specification, and a database design specification must be generated. System designers should have a wealth of design experience and development experience. A good design allows developers to enjoy the eye and make development simple and efficient, A poor design will make everyone feel like they are on the cloud, making it difficult for natural development.

 

 

Encoding is the most familiar stage for all programmers. It is also the most important stage that most Programmers think is actually not. The company has no coding personnel. I can recruit and it doesn't matter if I have insufficient work experience. I spend some time to train and give him time to maturity. Not all codes have high technical requirements, generally, qualified coding personnel can be trained within one year. However, if the company does not have a requirement analyst, it may not have a good understanding of my system or have good communication skills, the requirement analysis personnel not only need to master computer knowledge, but also need to master the required system industry knowledge, communication skills and other aspects of knowledge, which requires time to accumulate, not overnight. Similarly, if the designer does not have rich design experience, you should announce the failure of the system. The output document of the encoding stage is the specific program code.

Testing is used to ensure the quality of the system. A good test is to discover the defects not found in the system. A successful test is to discover the errors in the test. Testing does not have to be carried out after coding. In the requirement analysis stage, you can start designing test cases. Testing is not all about testers. coding personnel must test their own code before submitting their own code. It is best to complete unit testing. Testers generally perform function tests and integration tests, including white boxes and black boxes. The output in this phase is a test report. The tested bugs are corrected by the coding staff before regression testing.

Maintenance is the most lengthy stage in the software development process. A system may be developed for several months or a year or two, but maintenance may take several years or even decades. The documents generated in the above phases will also be used in the maintenance phase, because system designers may no longer work in the company when the system goes wrong, at this time, you need to read the design document that he left behind to understand the ideas and ideas of the original designer.

Using engineering methods to control the software development process is the essence of software engineering.

 

This article from the csdn blog, reproduced please indicate the source: http://blog.csdn.net/richard_2010/archive/2010/06/10/5659830.aspx

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.