1、第0章 开篇之说,一、工程的定义 指某项需要投入巨大人力换人物力的工作。如水利工程、建筑工程、采矿工程、菜篮子工程、城市绿化工程、新农村建设工程、人才培养工程等等。,二、软件工程定义 采用工程的概念、原理、技术和方法来计划、开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以较经济的手段获得能在实际机器上运行的可靠软件的一系列方法。 简言之: 工程方法+管理技术+技术方法,三、为什么要引入软件工程的理念? 那是因为软件工作者们在研制软件系统的过程中越来越深刻体会到:软件开发所需的高成本和软件产品的低质量之间存在着尖锐的矛盾,具体表现如下: 对软件开发成本
2、和进度的估计常常很不准确。 用户对“已完成的”软件系统不满意的现象经常发生。 软件产品的质量往往靠不住。 软件常常是不可维护的。, 软件通常没有适当的文档资料。计算机软件不仅仅是程序,还应该有一整套文档资料。 软件成本在计算机系统总成本中所占的比例逐年上升。 软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。 这些问题绝不仅仅是不能正常运行的软件才具有的,实际上,几乎所有软件都不同程度地存在这些问题。我们把上述种种现象称为软件危机。即计算机软件在它的开发和维护过程中所遇到的一系列严重问题。严重阻碍着软件生产率的提高。,四、软件危机产生的原因(1)软件开发和维护的不正确方法主要表现为忽视软件开发前期的需求分析(2)开发过程没有统一的、规范的方法论的指导,文件资料不齐全,忽视人与人的交流(3)忽视测试阶段的工作,提交用户的软件质量差(4)轻视软件的维护,五、 解决软件危机的途径1、组织管理采用工程项目管理方法2、技术措施(1)采用先进的软件开发技术与方法(2)采用先进的软件工具 从而避免或缓解软件危机的产生实现软件“高产优质”。,六、学习软件工程的方法 多借鉴生活中的各种工程项目的知识,进行知识迁移,来帮助我们理解软件工程中采用的各种手段和方法。,