模块一软件工程概述一、选择题1.软件与程序的区别是()。选择一项:A.程序价格便宜、软件价格昂贵。B.软件是程序以及开发、使用和维护所需要的所有文档的总称,而程序是软件的一部分。C.程序是用高级语言编写的,而软件是由机器语言编写的。D.程序是用户自己编写的,而软件是由厂家提供的。正确答案是:软件是程序以及开发、使用和维护所需要的所有文档的总称,而程序是软件的一部分。2.开发软件所需高成本和产品的低质量之间有着尖锐的矛盾,这种现象称做()。选择一项:A.软件周期B.软件产生C.软件工程D.软件危机正确答案是:软件危机3.瀑布模型本质上是一种()模型。选择一项:A.线性顺序B.线性迭代C.早期产品D.顺序迭代正确答案是:线性顺序4.瀑布模型存在的问题是()。选择一项:A.适用可变需求B.用户与开发者易沟通C.缺乏灵活性D.用户容易参与开发正确答案是:适用可变需求5.用户要看到软件产品的模样,最早也要到()以后。选择一项:A.在单元测试之后B.程序代码编写完成之后C.用户需求基本确定D.验收正确答案是:程序代码编写完成之后6.螺旋模型是一种将瀑布模型和()结合起来的软件开发模型。选择一项:A.喷泉模型B.变换模型C.专家系统D.增量模型正确答案是:增量模型7.原型化方法是用户和设计者之间执行的一种交互构成,适用于()系统。选择一项:A.实时B.需求确定的C.管理信息D.需求不确定性高的正确答案是:需求不确定性高的8.原型化方法是一种()型的设计过程。选择一项:A.自外向内B.自顶向下C.自内向外D.自底向上正确答案是:自外向内9.下列有关软件工程的标准,属于国际标准的是()选择一项:A.DINB.IEEEC.GBD.ISO正确答案是:ISO10.结构化方法是一种基于()的方法。选择一项:A.程序结构B.数据结构C.算法D.数据流正确答案是:数据流二、简答题1.什么是软件危机?软件危机表现在哪几个方面?由于软件具有上述这些特点,长期以来一直没有发明一种高效的开发方法,从而导致软件生产效率非常低,交付期一拖再拖,最终交付的软件产品在质量上很难保障。这种现象早在20世纪60年代被定义为“软件危机”。它的具体表现如下:1)“已完成”的软件不满足用户的需求。2)开发进度不能保障,交付时间一再拖延。3)软件开发成本难以准确估算,开发过程控制困难造成开发成本超出预算。4)软件产品的质量没有保证,运算结果出错、操作死机等现象屡屡出现。5)软件通常没有适当的文档资料,或文档与最终交付的软件产品不符,软件的可维护程度非常低。2.试述产生软件危机的主要原因?软件的特点是导致软件危机的客观因素,而软件开发和软件维护过程中使用的不正确方法是主观因素,主要表现为:忽视软件开发前期的调研和分析工作,没有统一的、规范的方法论指导,文档资料不齐全,忽视人员之间的交流,忽视测试工作,轻视软件的维护。3.什么是软件工程?软件工程的目标是什么?软件工程是:①将系统化的、规范的、可度量的方法应用于软件的开发、运行和维护过程,也就是说将工程化应用于软件开发和管理之中;②对①中所选方法的研究"。软件工程旨在开发满足用户需要、及时交付、不超过预算和无故障的软件,其主要目标如下:a)实现预期的软件功能,达到较好的软件性能,满足用户的需求。b)增强软件过程的可见性和可控性,保证软件的质量。c)提高所开发软件的可维护性,降低维护费用。d)提高软件开发生产率,及时交付使用。e)合理预算开发成本,付出较低的开发费用。4.软件工程为什么要强调规范化和文档化?软件工程强调规范化和文档化。规范化的目的是使众多的开发者遵守相同的规范,使软件生产摆脱个人生产方式,进入标准化、工程化的生产方式。文档化是将软件的设计思想、设计过程和实现过程完整地记录下来,以便于后人的使用和维护,在开发过程中各类相关人员借助于文档进行交流和沟通。另外,在开发过程中产生的各类文档使得软件的生产过程由不可见变为可见,便于管理者对软件生产进度和开发过程进行管理。在用户最终验收时可以通过对提交的文档进行技术审查和管理审查,保证软件的质量。5.软件工程层次是如何划分的?软件工程的研究内容具有层次化结构,它的最底层是质量保证层,中间是...