当前位置:网站首页>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
边栏推荐
- 从小数据量 MySQL 迁移数据到 TiDB
- 技术管理进阶——你了解成长的全貌吗?
- Leetcode problem solving summary, constantly updating!
- What's the difference between using the Service Worker Cache API and regular browser cache?
- Zhiniu stock project -- 04
- If function of MySQL
- 智牛股项目--05
- [teacher Zhao Yuqiang] Alibaba cloud big data ACP certified Alibaba big data product system
- 理解 YOLOV1 第一篇 预测阶段
- BeanDefinitionRegistryPostProcessor
猜你喜欢

Interesting research on mouse pointer interaction

Fluentd is easy to use. Combined with the rainbow plug-in market, log collection is faster

Alibaba cloud OOS file upload

项目总结--04

Advanced technology management - do you know the whole picture of growth?

Maximum likelihood estimation, divergence, cross entropy

伯努利分布,二项分布和泊松分布以及最大似然之间的关系(未完成)

Loss function in pytorch multi classification

Kubesphere - Multi tenant management

Solve the problem of automatic disconnection of SecureCRT timeout connection
随机推荐
輕松上手Fluentd,結合 Rainbond 插件市場,日志收集更快捷
Skywalking8.7 source code analysis (I): agent startup process, agent configuration loading process, custom class loader agentclassloader, plug-in definition system, plug-in loading
Oauth2.0 - Introduction and use and explanation of authorization code mode
Bernoulli distribution, binomial distribution and Poisson distribution, and the relationship between maximum likelihood (incomplete)
Detailed explanation of contextclassloader
Creating postgre enterprise database by ArcGIS
1. 两数之和
Core principles and source code analysis of disruptor
Kubesphere - build MySQL master-slave replication structure
Kubesphere - set up redis cluster
Alibaba cloud Alipay sandbox payment
Beandefinitionregistrypostprocessor
JS implements the problem of closing the current child window and refreshing the parent window
Virtual memory technology sharing
Zhiniu stock project -- 04
Method of converting GPS coordinates to Baidu map coordinates
arcgis创建postgre企业级数据库
Sorry, this user does not exist!
[teacher Zhao Yuqiang] redis's slow query log
轻松上手Fluentd,结合 Rainbond 插件市场,日志收集更快捷