一.软件工程
Software engineering is the systematic appkication of engineering approaches to the development of software. Software engineering is a computing discipline.
(一)三个阶段
1.定义阶段:
(a)可行性研究初步项目计划;
(b)需求分析
2.开发阶段:
(a)概要设计
(b)详细设计
( c )实现
(d)测试
3.运行和维护阶段
(a)运行
(b)维护
©废弃
(二)原则
1.抽象; 2.信息隐蔽; 3.模块化; 4.局部化;
5. 确定性; 6. 一致性; 7.完备性;8. 可验证性
(三)发展过程
Thus the division between “hardware” and “software” began with abstraction being used to deal with the complexity of computing.
Programing language started to apper in the early 1950s and this was also another major step in abstraction. David Parnas introduced the key concept of modularity and information hiding in 1972 to help programmers deal with the ever-increasing complexity of software systems.
Modularity:
Broadly speaking, modularity is the degree to which a system’s components may be separated and recombined, often with the benefit of flexibility and variety in use. The concept of modularity is used primarily to reduce complexity by breaking a system into varying degrees of interdependence and independence across and "hide the complexity of each part behind an abstraction and interface"
软件是由计算机程序和程序设计的概念发展演化而来的,是在程序和程序设计发展到一定规模并逐步商品化的过程中形成的.
1.需求分析
2.系统设计
3.系统实现
参考
1.软件工程 (学科)
https://baike.baidu.com/item/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/25279
2.Software engineering
https://en.wikipedia.org/wiki/Software_engineering
3.Modularity
https://en.wikipedia.org/wiki/Modularity