Software life cycle

Source: Internet
Author: User

a software PRODUCT like human life, but also to undergo the birth, birth, growth, maturity, decay, and many other stages, these stages correspond to the SOFTWARE product is planning, analysis, design, programming, testing, maintenance until eliminated the whole process , the entire process is called the software life cycle, and it is generally divided into six phases:

1. feasibility Analysis and project development plan

This phase mainly determines the development objectives and feasibility of the software, that is, to ask the system analyst to communicate with users, to determine "what the user needs to solve the problem of the computer," the "system objectives and scope of the description", submitted to the user review and determination. Then the target of the system to be developed is described in clear language, and then the feasibility analysis is made from the aspects of economy, technology and law, and finally the project development plan is formulated.

Participants: User, project leader, system analyst

Documentation: Feasibility analysis report, project development plan

2. Demand Analysis

Determine the user requirements for the software system, that is, what the software system must do, determine the system's functions, performance, data and interface requirements, so as to determine the logical model of the system.

Participants: User, project leader, system analyst

Documentation: Software Requirements Specification

3. Development Phase

1 ) Software Design

Based on the results of demand analysis, the whole software system is designed, such as system framework design, database design and so on. Software design is generally divided into two parts: Overview design and detailed design

Summary design: The developer wants to transform the identified functional requirements into the required architecture, where each part of the architecture is a well-defined module, and each module corresponds to some functional requirements. Therefore, the outline design is the structure of the software system, which makes clear what modules the software system consists of, as well as the hierarchy of these modules, the invocation relation and the function between the modules, and the structure of data structure and database.

Participants: System analyst, software Designer

Documentation: Overview Design Manual

Detailed design: The main task is to describe the function of each module, and transform the function description into a precise and structured process description. That is, what the control structure or logical structure of the module is, what to do first, what to do, what conditions to determine, what to repeat, and to express these control structures with corresponding tools.

Participants: Software designers, programmers

Documentation: Detailed design documentation

2 ) Program Encoding

Coding is the conversion of the control structure of each module into program code. In the program coding, it is necessary to set up a uniform and standard writing criterion to ensure the readability and maintainability of the program, and to improve the running efficiency of the program.

Participants: Programmers

3 ) Software Testing

After the completion of the software design, it is necessary to undergo rigorous testing to discover and correct the problems in the whole design process, which is an important means to ensure the quality of the software. The main way of testing is to examine the various components of the software on the basis of the design test case, to establish a detailed test plan during the testing process and to test it in strict accordance with the test plan to reduce the randomness of the test. The whole test process is divided into unit test, assembly test and system test three stages, the test method mainly has white box test, black box test two kinds.

Participants: Software designers or system analysts

Documentation: Software test plans, test cases, software test reports

4. operation and Maintenance

Software maintenance is the longest duration of the software life cycle. After the software development is completed and put into use, due to various reasons (the discovery of hidden errors, changes in requirements, etc.), the software can not continue to adapt to the user's requirements, to extend the service life of the software, the software must be maintained. Software maintenance including corrective maintenance and improved maintenance

Documentation: Project Development Summary Report, User manual, maintenance documentation

Document mapping for each phase

Summary:

Software life cycle is the production of software until the end of life cycle, each cycle has a definite task, and produce a certain specification of the document (material), submitted to the next cycle as the basis for continued work. Software development is not just coding, but the whole process of software development, but with the maturity of new object-oriented design method and technology, the instructional meaning of software life cycle design method is gradually reduced.

Software life cycle

Related Article

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.