第一章 软件工程学概述
1.1对软件的认识
**1950:**程序
**1960:**程序+文档
1970: 程序+文档+数据
软件是不会被用坏的
1.2 软件工程方法学
0.**对象:**一切具有意义的事物。
1.软件工程包括:技术和管理两方面内容
2.软件工程方法学3要素:方法、工具、过程
3.软件工程方法学包括:传统方法学、面向对象方法学
4.传统方法学:强调自顶向下,采用结构化技术来完成软件
5.面向对象方法学:强调主动的多次反复迭代。尽量模拟人类习惯的思维方式
1.3 软件生命周期
三个时期八个阶段
三个时期:软件定义、软件开发、软件维护。
**软件维护:**改正性维护、适应性维护、完善性维护(最大)、预防性维护(比例最少)。
1.4 软件生命周期模型
- **瀑布模型:**瀑布模型是以文档形式驱动的。属于结构化的==面向过程。==周期短使得它是一种理想的线性开发。优点:规范。缺点:缺乏灵活性。(Window)。阶段间具有顺序性和依赖性。
- **增量模型:**适用于需求经常改变的软件开发过程。需要的开发人员少。软件体系结构是开放的。
- **快速原型模型:**不带反馈环。
- **螺旋模型:**适用于内部开发的大规模软件项目。适用于庞大、复杂并具有高风险的系统。属于风险驱动。
- **喷泉模型:**适用于面向对象的软件开发过程。需要==大量的开发人员。==可同时开发。