当前位置:网站首页>Introduction to software engineering
Introduction to software engineering
2022-07-03 06:11:00 【Master core technology】
Software
Program + file + data
Software function classification
1) Systems software : Closely cooperate with computer hardware to coordinate all computer components with relevant software and data 、 Software that works efficiently . Such as operating system 、 Compiler, etc .
2) Support software : Instrumental software to assist users in developing software .
3) Application software
Software engineering definition
Systematize 、 Normalization 、 A measurable approach to software development 、 During operation and maintenance ; Study the way to realize it
Software life cycle
- Feasibility study and plan : What is the solution to the problem ? There are workable solutions ? Rough plan
- Demand analysis : What must the target system do ? The demand analysis of the feasibility study is rough 、 inaccurate ; Requirements analysis is complete 、 accurate : indeed 、 Clear 、 Specifically .
- overall design : How to achieve the target system ? Analyze and recommend the best scheme according to the demand design scheme ; Design software structure, etc .
- Detailed design : How to implement the system ? Design the algorithm and data structure of each module .
- Realization ( Coding and unit testing ): Choice language 、 Tool translation detailed design results 、 Test module .
- Integration testing : Assemble the unit tested modules for testing , Make the software meet the predetermined requirements through testing .
- Confirmation test : The user shall test according to the requirements and specifications
- Use and maintenance : Through necessary maintenance activities, the system can meet user requirements for a long time .
Corrective maintenance : Errors found during software operation , For maintenance .
Adaptive maintenance : Changes in software and hardware environment during software operation , Maintenance performed
Integrity maintenance : Users need to improve or expand the software , Maintenance performed
Preventive maintenance : Prepare for future maintenance .
Common software process models
Waterfall model
1. Phases are sequential and dependent : The previous stage ends and the next stage begins , Output documents in the previous stage , Input documents in the latter stage .
2. Postpone the realization of ideas : Waterfall model sets up system analysis before coding 、 The system design , Postpone the physical implementation of the program , Ensure solid preliminary work .
3. Quality assurance point of view : The waterfall model adheres to two important practices at each stage : First, each stage must be completed completely 、 Accurate documentation . Communication between personnel during software development 、 Important basis for maintenance during operation . Second, review the documents before the end of each stage .
advantage :
Improve software quality , Reduce maintenance costs , Ease the software crisis .
shortcoming :
The model lacks flexibility , Can't solve the problem of unclear demand . It is impractical for users to put forward complete and accurate requirements without practice .
Rapid prototyping model
Quickly establish a prototype system that reflects the main needs of users , Users evaluate and revise the requirements repeatedly , Develop the final product .
advantage :
Determine that the demand is better than the waterfall model ( Interact with users through prototypes ); Provide learning tools , Through developing prototypes and demonstrating prototypes, it has a positive effect on developers and users to understand the system ; Some software prototypes can become part of the final product .
shortcoming :
The rapid establishment of the system structure and continuous modification may lead to low product quality, and the internal structure of the prototype system may be poor .
Incremental model
Also known as incremental model , When developing software, the software product is designed as a series of incremental components 、 code 、 Integration and testing . Different from waterfalls and rapid prototyping models : Waterfall and rapid prototyping model is to submit products that meet all requirements to users at one time . Incremental model is to submit products to users in batches .
advantage :
Submit useful work products to users in a short time ; Users have plenty of time to learn to adapt to the product ; The software structure must be open , It is convenient to add new components to existing products .
shortcoming :
It is difficult to achieve the third advantage .
Spiral model
Fountain model
Rational Unified process
Microsoft software development process
边栏推荐
- [teacher Zhao Yuqiang] index in mongodb (Part 1)
- Clickhouse learning notes (2): execution plan, table creation optimization, syntax optimization rules, query optimization, data consistency
- Mysql database
- Understand the first prediction stage of yolov1
- Leetcode solution - 01 Two Sum
- PHP用ENV获取文件参数的时候拿到的是字符串
- Kubernetes notes (III) controller
- 【系统设计】邻近服务
- About the difference between count (1), count (*), and count (column name)
- BeanDefinitionRegistryPostProcessor
猜你喜欢
Kubernetes notes (VI) kubernetes storage
In depth analysis of kubernetes controller runtime
Project summary --04
智牛股项目--05
Kubernetes cluster environment construction & Deployment dashboard
最大似然估计,散度,交叉熵
Solve the 1251 client does not support authentication protocol error of Navicat for MySQL connection MySQL 8.0.11
Detailed explanation of contextclassloader
pytorch DataLoader实现miniBatch(未完成)
[teacher Zhao Yuqiang] index in mongodb (Part 2)
随机推荐
Loss function in pytorch multi classification
[teacher Zhao Yuqiang] Alibaba cloud big data ACP certified Alibaba big data product system
表达式的动态解析和计算,Flee用起来真香
.NET程序配置文件操作(ini,cfg,config)
代码管理工具
SVN分支管理
BeanDefinitionRegistryPostProcessor
Kubernetes notes (IX) kubernetes application encapsulation and expansion
The most responsible command line beautification tutorial
tabbar的设置
Skywalking8.7 source code analysis (II): Custom agent, service loading, witness component version identification, transform workflow
Txt document download save as solution
Oracle database synonym creation
智牛股项目--04
Kubernetes notes (II) pod usage notes
Sorry, this user does not exist!
项目总结--2(Jsoup的基本使用)
Virtual memory technology sharing
Kubernetes notes (I) kubernetes cluster architecture
Clickhouse learning notes (2): execution plan, table creation optimization, syntax optimization rules, query optimization, data consistency