软件工程复习题(1)

  • 格式:doc
  • 大小:147.50 KB
  • 文档页数:14

下载文档原格式

  / 42
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

软件工程习题参考答案

第一章1﹑软件产品的特性是什么?

产品特性:⑴是一种逻辑产品,与物质产品有很大的区别。⑵软件产品的生产主要是研制,生产成本主要在开发和研制,开发研制完成后,通过复制就产生了大量软件产品。⑶软件产品不会用坏,不存在磨损,消耗。⑷生产主要是脑力劳动,还未完全摆脱手工开发方式,大部分产品是"定做"的⑸开发软件的费用不断增加,致使生产成本相当昂贵。

3﹑什么是软件危机?产生原因是什么?

软件开发技术的进步未能满足发展的要求。在软件开发中遇到的问题找不到解决的办法,问题积累起来,形态尖锐的矛盾,导致了软件危机。

产生原因:造成软件危机的原因是:(1)软件的规模越来越大,结构越来越复杂。(2)软件开发管理困难而复杂。(3)软件开发费用不断增加。(4)软件开发技术落后。(5)生产方式落后。(6)开发工具落后,生产率提高缓慢。

4﹑什么是软件工程?它目标和内容是什么?

软件工程就是(参看IEEE的定义)。

软件工程目标:付出较低开发成本;达到要求的功能;取得较好的性能;开发的软件易于移植;只需较低的维护费用;能按时完成开发任务,及时交付使用;开发的软件可靠性高。

软件工程内容:研究内容包括开发技术和开发管理两个方面。

开发技术主要研究:软件开发方法,开发过程,开发工具和环境。

开发管理主要研究:软件管理学,软件经济学,软件心理学。

5﹑软件工程面临的问题是什么?

软件工程需要解决的问题:软件的费用,可靠性,可维护性,软件生产率和软件的重用。

6﹑什么是软件生存周期?它有哪几个活动?

软件生存周期:一个软件从提出开发要求开始直到该软件报废为止的整个时期。

包括:可行性分析和项目开发计划,需求分析,概要设计,详细设计,编码,测试,维护。

7﹑什么是软件过程模型?有哪些主要模型?

软件过程模型主要有:瀑布模型,原型模型、快速应用开发模型、增量模型,螺旋模型,等。

第二章1、渐增模型有几种?各有何特点?

答:渐增模型有两种类型,一是增量构造模型,二是演化提交模型。增量构造模型是在瀑布模型基础上,对一些阶段进行整体开发,对另一些阶段进行增量开发。演化提交模型则是在瀑布模型的基础上,所有阶段都进行增量开发,不仅是增量开发,也是增量提交。

3、快速原型的开发步骤是什么?

答:快速原型的开发步骤是:(1)快速分析:在分析人员与用户的配合下,迅速确定系统基本需求并开始构造原型。(2)构造原型:在快速分析的基础上,根据基本需求说明尽快实现一个可运行的系统。(3)运行原型:通过运行快速原型,发现问题,消除误解,达到开发者也用户的充分协调。(4)评价原型:在运行的基础上,评价原型的特性,分析运行效果是否满足用户的需求,提出全面的修改意见。(5)修改:根据评价原型的活动结果进行修改,修改过程代替初始的快速分析,从而实现原型开发的循环过程。用户与开发者在这种循环过程中不断接近系统的最终要求。上述步骤在软件工具的支持下往往是互相交融在一起的,而不再象瀑布模型那样严格的阶段划分,线性推进。

4、评价快速原型模型的优缺点。

答:快速原型的优点是:(1)可及早为用户提供有用的产品。 (2)可及早发现问题,随时纠正错误。 (3)减少技术、应用风险,缩短开发时间,减少费用、提高生产率。 (4)通过实际运行原型,提供直接评价系统的方法,促使用户主动参与开发活动,加强了信息反馈,促进各类人员的协调,减少误解,适应需求变化,能有效提高系统质量。

快速原型的缺点是:(1)缺乏丰富而强有力的软件工具和开发环境。 (2)缺乏有效的管理机制,还未建立起自己的开发标准。 (3)对设计开发环境要求较高。 (4)在多次重复改变原型的过程中,程序员会感到厌倦。 (5)系统的易变性对测试有一定影响,难于做到彻底测试,更新文档较为困难。

5、对比瀑布模型与增量模型,指出增量模型的新思路。

答:瀑布模型属于整体开发模型,它规定在开始下一个阶段的工作之前,必须完成前一阶段的所有细节。瀑布模型很难适应需求可变、模糊不定的软件系统的开发,而且在开发过程中用户很难参与进去,只有到开发结束才能看到整个软件系统。这种理想的、线性的开发过程缺乏灵活性,不适应实际的开发过程。

增量模型是在瀑布模型的基础上加以修改而形成的。属于非整体开发模型。

它的基本思路是为了使开发过程具有一定的灵活性和可修改性,在开发过程中推迟某些阶段或所有阶段中的细节,从而较早的产生工作软件。

第三章1.可行性研究的任务是什么?

可行研究的任务:首先需要进行概要的分析研究,初步确定项目的规模,目标,约束和限制。分析员再进行简要的需求分析,抽象出项目的逻辑结构,建立逻辑模型。从逻辑模型出发,经过压缩的设计,探索出若干种可供选择的解决方法,对每种解决方法都要研究它的可行性。

主要从三个方面考虑:⑴.技术可行性:一般要考虑的情况包括开发的风险即设计出的系统能否达到要求的功能和性能;资源的有效性;相关技术的发展是否支持;

⑵经济可行性进行开发成本的估算以及了解取得效益的评估,确定要开发的项目是否值得投资。

⑶.法律可行性:要开发的项目是否存在任何侵权问题,运行方式在用户组织内是否可行,现有管理制度﹑人员素质﹑操作方式是否可行。

4.成本--效益分析可用哪些指标进行度量?

⑴.投资回收率:通常把建立系统若干年后能取得的收益折算成现在的价值和开发系统所需的费用进行比较得出投资回收率。⑵.投资回收期:就是使累计的经济效益等于最初的投资费用所需的时间。⑶.纯收入:整个生存周期之内的累计经济效益(折成现在值)与投资之差。

第四章⒈什么是需求分析?需求分析阶段的基本任务是什么?

需求分析:开发人员准确地理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的需求规格说明的过程。

基本任务:

⑴问题识别:双方确定对问题的综合需求,这些需求包括功能需求,性能需求,环境需求,用户界面需求。

⑵分析与综合,导出软件的逻辑模型

⑶编写文档:包括编写"需求规格说明书","初步用户使用手册","确认测试计划","修改完善软件开发计划"

⒉什么是结构分析方法?该方法使用什么描述工具?

结构化分析:简称SA,面向数据流进行数据分析的方法。采用自顶向下逐层分解的分析策略。顶层抽象地描述整个系统,底层具体地画出系统工程的每个细节。中间层则是从抽象到具体的过渡。使用数据流图,数据字典,作为描述工具,使用结构化语言,判定表,判定树描述加工逻辑。

⒊结构化分析方法通过哪些步骤来实现?