【Software Engineering】-Software Lifetime

foreword

Software life cycle is the life cycle of software, which refers to the whole process of a software from the initial idea to the final replacement!
The software life cycle can be divided into three major stages, namely the planning stage, the development stage, and the maintenance stage!
It can also be divided into six stages: problem definition and feasibility study, requirements analysis, software design, coding, software testing, operation and maintenance.

Problem Definition and Feasibility Analysis

This stage is mainly for developers and customers to discuss together to determine the goals and feasibility of software development!
Feasibility Analysis :
- Economic Feasibility
- Technical Feasibility
- Operational Feasibility
- Developmental Feasibility
- Time Feasibility Steps of
Feasibility Study : 1. Review system
size and objectives High-level logic model 4. Recommend method to users 5. Recommend course of action, make a key decision 6. Draft development plan and write feasibility report 7. Submit to superiors and experts for review





demand analysis

This stage is very important, in the case of confirming that the software development is feasible, a detailed analysis of the function of each aspect of the software is carried out.
Tasks of requirements analysis:
- In-depth description of software functions and performance
- Determining software design constraints and software interface details with other system elements
- Defining other software effectiveness requirements The process of
requirements
analysis: 1. Problem identification
2. Analysis method
3 4. Requirement
analysis and review
Requirement
analysis methods: - Structured analysis method
- Data flow diagram
- Data dictionary

software design

Software design is the design of the entire system based on the completion of demand analysis!
Process of software design:
- Specification
- General design of software system structure
- Process design
- Data structure design
- Reliability design
- Documentation of outline design phase
- Outline design review
Program
structure - Tree structure
Tree
- Network structure
grid

program code

programming language
structured programming
programming style
programming complexity measure

software test

The purpose of software testing
- Testing is the process of program execution, the purpose is to find bugs
- A good test case is to find bugs that have not been found so far
- A successful test finds bugs that have not been found so far. Principles of
software
testing: - "Test software early and continuously" should be the motto of software developers
- Test cases should consist of test input data and corresponding expected output structures
- Programmers should avoid checking their own programs
- During design When testing a case, it should include reasonable input conditions and unreasonable input conditions.
Two commonly used test methods:
- Black box testing
- White box testing
(the above will be summarized in a series of blogs)

Software maintenance

There are three types of maintenance:
- Adaptive maintenance
- Corrective maintenance
- Complete new maintenance Calculation of
maintenance costs
maintenance cost calculation

summary

That's it for a brief introduction to software life cycle. In the course of software engineering, there are still many points we need to learn about software life cycle! Will show my summary in future blogs!
Thanks for reading!

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325841404&siteId=291194637