- 1 - 第一章软件工程学概述1. 什么是软件危机?它有哪些典型表现?为什么会出现软件危机?软件危机的典型表现:(1)对软件开发成本和进度的估计常常很不准确。(2)用户对“已完成”软件系统不满意的现象经常发生。(3)软件产品的质量往往靠不住。(4)软件常常是不可维护的。(5)软件通常没有适当的文档资料。(6)软件成本在计算机系统总成本中所占的比例逐年上升。(7)软件开发生产率提高的速度,远远跟不上计算机应用迅速普及深入的趋势。产生软件危机的原因:一方面与软件本身的特点有关,另一方面也和软件开发与维护的方法不正确有关。 软件不同于硬件,它是计算机系统中的逻辑部件而不是物理部件。管理和控制软件开发过程相当困难。软件是规模庞大, 而且程序复杂性将随着程序规模的增加而呈指数上升。目前相当多的软件专业人员对软件开发和维护还有不省糊涂观念,在实践过程中或多或少地采用了错误的方法和技术,这是使软件问题发展成软件危机的主要原因。软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。2.什么是软件工程?它有哪些本质特性?怎样用软件工程消除软件危机?采用工程的概念、原理、技术和方法来开发与维护软件,把经过时间考验而证明正确的管理技术和当前能够得到的最好的技术方法结合起来,以经济地开发出高质量的软件并有效地维护它,这就是软件工程。本质特性:(1) 软件工程关注于大型程序的构造。(2) 软件工程的中心课题是控制复杂性。(3) 软件经常变化。(4) 开发软件的效率非常重要。(5) 和谐地合作是开发软件的关键。(6) 软件必须有效地支持它的用户。(7) 在软件工程领域中通常由具有一种文化背景的人替具有另一种文化背景的人创造产品。缓解软件危机:软件危机只有缓解,不可能解决,特别是在目前这种硬件结构体系下开发的软件,其危机永远存在,即使未来的新一代计算机系统问世后,那也会产生新形式的软件危机。要缓解软件危机,既要有先进的技术和方法,又需要高水平的组织管理措施。而软件工程正是综合了管理和技术两方面,研究如何更好地开发软件的一门新兴学科。所以, 就目前而言,软件工程是缓解软件危机的最好途径。6.什么是软件过程?它与软件工程方法学有何关系?答: 软件过程是为了获得高质量软件所需要完成的一系列任务的框架,它规定了完成各项任务的工作步骤。软件工程方法学包含软件过程。数据字典 是关于数据的信息的集合,也就是对数据流图中包含的所...