Software Engineering-software development lifecycle

Source: Internet
Author: User

As with everything, software also has its own birth, birth, growth, maturity, and decline. It is generally called "software life cycle ". The entire software life cycle is divided into several stages, so that each stage has clear tasks, making it easy to control and manage software development with large scale, complex structure and complex management. Generally, the software life cycle includes:

I. Problem definition.Ask the system analyst to communicate with the user, find out "What problems do users need to calculate and solve", then propose a description of "system objectives and scope", and submit it to the user for review and confirmation. Ii. Feasibility Study. On the one hand, the goal of the system to be developed is described in a clear language, and on the other hand, feasibility analysis is conducted from the economic, technical, legal, and other aspects. 3. Requirement Analysis.Clarify all users' requirements for the software system, compile the requirement specification and initial user manual, and submit them for review. Iv. Development Stage. The development stage consists of three phases: 1, design 2, implementation: coding the source program according to the selected programming language. 3. Test 5. Maintenance:Maintenance includes four aspects: corrective maintenance: after the software is delivered and used, some hidden errors will inevitably be taken to the running stage due to incomplete and incomplete development and testing, these hidden errors are exposed in certain environments. 2. Adaptive maintenance: it is an activity to modify software to adapt to environment changes. 3. Excellent maintenance: maintenance activities are carried out based on some constructive suggestions made by users during use. 4. Preventive Maintenance: it aims to further improve the maintainability and reliability of the software system and lay the foundation for future improvement. The definition and planning of the problem this stage is a joint discussion between the software developer and the demand side, mainly determining the software development goal and its feasibility. Requirement Analysis

Requirement Analysis of software lifecycle

When software development is determined to be feasible, detailed analysis of each function required by the software is performed. The demand analysis stage is a very important stage. Doing well at this stage will lay a good foundation for the success of the entire software development project. "The only thing that remains unchanged is the change itself. ", The same requirements are constantly changing and in-depth throughout the software development process. Therefore, we must develop a demand change plan to cope with such changes, so as to ensure the smooth development of the entire project. Software requirement definition is the input in the software design and development phase, and is translated into code that can make the software build function play a role. Software Design

Software Design for software lifecycle

In this phase, the entire software system is designed based on the results of the requirement analysis, such as the system framework design and database design. Software design is generally divided into the overall design and detailed design. Good software design will lay a good foundation for software programming. The core of software design is to grasp the factors that determine "service quality", such as software performance, scalability, security, how to divide the composition of modules, and how to organize and encapsulate software components, and other aspects that, although not as the main application of the software, will have an impact on its support. Software design principles include abstraction, decomposition and modularity, coupling and cohesion, encapsulation, adequacy, integrity and originality. Software design focuses on software compatibility, scalability, fault tolerance, maintainability, modularization, reliability, reusability, robustness, security, availability and interoperability. Coupling and cohesion are two methods used to evaluate the quality of software design. Program code this stage is to convert the results of the software design into computer executable program code. It is necessary to develop a uniform program code that complies with standard compiling specifications. To ensure the readability and maintainability of the program, and improve the running efficiency of the program. Software testing: Software Testing in the software life cycle should be rigorously tested after the software design is completed to discover and correct problems existing in the software throughout the design process. The entire testing process is divided into three phases: unit testing, assembly testing, and system testing. The testing methods include white-box testing and black-box testing. In the test process, a detailed test plan should be established and tests should be carried out in strict accordance with the test plan to reduce testing randomness. Maintenance software maintenance is the longest stage in the software life cycle. After software development is completed and put into use, the software cannot continue to meet user requirements due to various reasons. To continue the service life of the software, the software must be maintained. Software maintenance includes corrective maintenance and corrective maintenance. The above article is taken from Baidu encyclopedia

Software Engineering-software development lifecycle

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: 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.