复习提纲第一章软件工程概述1、分析 60 年代末出现的软件危机的原因
如何理解“越早潜伏的错误越晚发现,越晚发现的错误,修正的费用越高”
答:软件危机是指在软件开发过程中遇到的一系列严重问题,如:开发周期延长,成本增加,可靠性降低等
开发大型软件与编制小程序主要有以下区别:⑴人员:小程序从确定要求、设计、编制、使用,直到维护通常由一个人完成;大型软件则由用户、项目负责人、分析员、程序员、资料员、操作员等组成一支开发队伍来协同完成
⑵文档:小程序很少有书面文档;大型软件则是集体劳动的“产物”,必须有规范化的文档,便于开发和维护
小程序工作量小,如果需作大的修改,可舍弃旧程序而重新编写;但大型软件的开发耗费了大量的人力与物力,一般不会轻易抛弃,而总是在旧软件的基础上一再改动,以延长它的使用期,因此“版本”在不断升级
大型软件的开发提出了许多新的问题,而开发方法却还停留在编制小程序的方法上,经验和技巧已不能满足开发大型软件的需要,导致软件开发过程混乱;使用的开发方法和技术不当, 没有适当的文档, 不易交流, 维护困难, 开发成本高, 软件质量低等,这些问题是造成软件危机的主要原因
2、软件复用的概念及两类软件复用技术:合成技术和生成技术
答:软件复用是指在构造新的软件系统过程中,对已存在的软件产品(设计结构、源代码、文档等 )重复使用的技术
(1)合成技术利用部件 (component,组件,构件 )合成软件系统的技术
部件是可复用的一小段软件(可为二进制形式),可以是对某一函数、过程、子程序、数据类型、算法等可复用软件成分的抽象,封装了功能细节和数据结构,有详细的接口
(2)生成技术利用可复用的模式,通过生成程序产生一个新的程序或程序段,产生的程序可以看成是模式的实例
可复用的模式有两种:代码模式和规则模式
①代码模式可复用的代码模式存在于应用生成器中,通过特定的参数替