当前位置:网站首页>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
边栏推荐
- Fluentd facile à utiliser avec le marché des plug - ins rainbond pour une collecte de journaux plus rapide
- Svn branch management
- Jedis source code analysis (I): jedis introduction, jedis module source code analysis
- MySQL帶二進制的庫錶導出導入
- 项目总结--01(接口的增删改查;多线程的使用)
- About the difference between count (1), count (*), and count (column name)
- Phpstudy setting items can be accessed by other computers on the LAN
- phpstudy设置项目可以由局域网的其他电脑可以访问
- Txt document download save as solution
- Kubernetes notes (II) pod usage notes
猜你喜欢

Alibaba cloud OOS file upload

Zhiniu stock project -- 04

技术管理进阶——你了解成长的全貌吗?

Pytorch dataloader implements minibatch (incomplete)

pytorch 搭建神经网络最简版

SVN分支管理

Simple understanding of ThreadLocal

Jedis source code analysis (I): jedis introduction, jedis module source code analysis

Redis cluster creation, capacity expansion and capacity reduction

Cesium Click to obtain the longitude and latitude elevation coordinates (3D coordinates) of the model surface
随机推荐
Mysql database binlog log enable record
Interesting research on mouse pointer interaction
Bernoulli distribution, binomial distribution and Poisson distribution, and the relationship between maximum likelihood (incomplete)
In depth analysis of kubernetes controller runtime
arcgis创建postgre企业级数据库
[teacher Zhao Yuqiang] index in mongodb (Part 1)
Openresty best practices
Migrate data from Amazon aurora to tidb
Txt document download save as solution
[teacher Zhao Yuqiang] use Oracle's tracking file
Svn branch management
1. 两数之和
pytorch 多分类中的损失函数
Project summary --01 (addition, deletion, modification and query of interfaces; use of multithreading)
Get a screenshot of a uiscrollview, including off screen parts
Project summary --2 (basic use of jsup)
Phpstudy setting items can be accessed by other computers on the LAN
[teacher Zhao Yuqiang] index in mongodb (Part 2)
JS implements the problem of closing the current child window and refreshing the parent window
Kubernetes notes (II) pod usage notes