**
**
1.软件的描述
软件=程序+数据+文档
2.软件危机的表现
软件开发的工作量估计困难,开发进度难以控制,质量难以保证:软件开发效率低
软件质量得不到保证、软件开发成本过高;软件维护困难,用户满意度不高
3.软件危机的概念
指在计算机软件开发和维护过程中所遇到的一系列严重问题。概括地说,软件危机包含以下两个方面的问题:
(1)如何开发软件,以满足社会对软件日益增长的需求。
(2)如何更有效地维护数量不断膨胀的已有软件。
4.软件危机的特征
(1)软件开发周期大大超过规定日期。
(2)软件开发成本严重超标。
(3)软件质量难于保证。
5.软件危机产生的原因
软件产品本身的需求和特征:软件规模大、复杂性高、性能不断增强;软件是逻辑产品, 完全认识其本质和特点及其困难;工程管理技术缺乏:缺乏有效的、系统的开发、维护大型软件项目的技术手段和管理方法;沟通和理解:用户对软件需求的描述和软件开发人员对需求的理解往往存在差异,用户经常要求修改需求,开发人员很难适应;人员和技术:软件开发的技术人员和管理人员缺乏软件工程化的素质和要求,对工程化的开销认识不足
6.软件工程的定义
软件工程是运用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术和管理的方法。
7. 软件工程的基本原理
(1)用分阶段的生命周期计划严格管理。
(2)坚持进行阶段评审。
(3)实行严格的产品控制。
(4)采用现代程序设计技术。
(5)结果应能清楚地审查。
(6)开发小组的人员应该少而精。
(7)承认不断改进软件工程实践的必要性。