1.1软件的特性和分类
(1)软件不是传统意义上生产制造的,而是设计开发的。
(2)软件不会像硬件那样磨损和老化。
(3)随着基于构件的构造模式发展,大多数软件需要根据实际需求定制。]
硬件和软件的失效曲线
1.2软件的分类:
系统软件,应用软件,嵌入式软件,科学和工程计算软件,产品线软件
人工智能软件,Web应用软件
1.3人月神话两条法则:
- 人月神话,向一个已经延后的项目中投入更多的人力资源,只会让他更延后
- 没有银弹,没有一种策略,技术,技巧可以极大地提高程序员的生产力
1.4软件工程层次图
自上而下 工具,方法,过程,质量关注点 8页会解释
质量关注点:支持软件工程的根基在于质量关注点。
过程:软件工程的基础是过程层。软件过程将各个技术层次结合在一起,使得合理及时地开发计算机软件成为可能。过程定义了一个框架,构建该框架是有效实施软件程技术必不可少的。软件过程构成了软件项目管理控制的基础,建立了工作环境,以便于应用技术方法、提交工作产品、建立里程碑、保证质量、正确管理变更。
方法:软件工程方法为构建软件提供技术上的解决方法,即“如何做”。方法的覆盖面很广,包括沟通、需求分析、设计建模、编程、测试、技术支持。软件工程方法依赖于一组基本原则,这些原则涵盖了软件工程的所有技术领域,包括建模和其他描述性术等。