内容发布更新时间 : 2024/11/7 14:38:01星期一 下面是文章的全部内容请认真阅读。
《软件工程》(第五版)习题参考答案
第1章
一、判断题
1、(×)软件的维护与硬件维护本质上是相同的。 2、(√)软件在运行和使用中也存在退化问题。 3、(×)软件危机的产生主要是因为程序设计人员使用了不适当的程序设计语言。 4、(√)软件同其他事物一样,有孕育、诞生、成长、成熟和衰亡的生存过程。 5、(×)文字处理软件Word属于系统软件。 应用软件 6、(√)原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性。 7、(√)软件开发过程中,一个错误发现得越晚,为改正它所付出的代价就越大。 8、(×)快速原型模型对软件开发人员的水平要求不高。 9、(√)喷泉模型适合于面向对象的软件开发。 10、(×)面向对象开发方法的主要缺点是在适应需求变化方面不够灵活。 二、选择题
1、软件是一种(C)。
A、程序 B、数据 C、逻辑产品 D、物理产品 2、软件开发方法是(A)。
A、指导软件开发的一系列规则和约定 B、软件开发的步骤 C、软件开发的技术 D、软件开发的思想 3、软件生存周期中花费最多的阶段是(D)。
A、详细设计 B、软件编码(最少) C、软件测试 D、软件维护 4、软件工程的三要素不包括(D)。
A、工具 B、过程 C、方法 D、环境
5、在软件生存周期中,能准确地确定“软件系统必须做什么”的阶段是(D)。 A、总体设计 B、详细设计(怎么做) C、可行性研究(能不能做) D、需求分析 6、瀑布模型本质上是一种(A)模型。
A、线性顺序 B、顺序迭代
C、线性迭代 D、能及早见到产品的 7、瀑布模型突出的缺点是不适应(D)的变动。
A、算法 B、程序语言 C、平台 D、用户需求 8、在软件开发模型中,提出最早、应用最广泛的模型是(A)。 A、瀑布模型 B、喷泉模型 C、快速原型模型 D、螺旋模型 9、瀑布模型不适合用于(A)的软件开发。
A、需求模糊不清 B、用户不能参与开发
C、用户对计算机不了解 D、开发人员对业务知识不熟悉 10、快速原型的主要优点不包括(D)。 A、能让用户参与开发、给出反馈 B、尽早把需求分析清楚,以降低风险
1
C、尽早地发现问题、纠正错误 D、对软件分析设计人员的素质要求不高 11、快速原型的主要问题在于(A)。
A、缺乏支持原型开发的工具 B、要严格控制原型构造的迭代 C、终端用户对原型不能理解 D、软件的测试和文档更新困难 12、螺旋模型是一种将瀑布模型和(A)结合起来的软件开发模型。 A、增量模型 B、专家系统 C、喷泉模型 D、变换模型 13、在软件生产的程序系统时代由于软件规模扩大和和软件复杂性提高等原因导致了(A)。
A、软件危机 B、软件工程 C、程序设计革命 D、结构化程序设计 14、集成化开发环境中的环境集成机制不包括(D)。
A、数据集成 B、控制集成 C、界面集成 D、服务集成 15、软件工程的出现是由于(A)。 A、软件危机的出现 B、计算机硬件技术的发展 C、软件社会化的需要 D、计算机软件技术的发展 三、简答题
1、软件通过你自己使用计算机的经历和对计算机的认识分辨软件和程序的差别,指出区别
的关键点。
答:软件包括程序、数据及其相关文档的完整集合。其中,程序是按事先设计的功能和性
能要求执行的指令序列;数据是使程序能够正确地处理信息的数据结构;文档是与程序开发、维护和使用有关的图文资料。软件包括程序,程序只是软件的一部分。
2、简述软件危机产生的原因以及避免的方法。
答:软件危机的产生有两方面因素,一方面与软件本身的抽象性和复杂性有关;另一方面
则与软件开发和维护过程中使用的技术和方法有关,这是主观原因。
为了解决软件危机,既要有技术措施(好的方法和工具),也要有组织管理措施。(1)使用好的软件开发技术和方法。(2)使用好的软件开发工具,提高软件生产率。(3)有良好的组织、严密的管理,各方面人员相互配合共同完成任务。
3、简述软件工程在软件开发中的作用和意义。
答:软件工程的主要思想是强调软件开发过程中应用工程化原则的重要性。软件工程的目
标是实现软件的优质高产。软件工程的目的是在经费的预算范围内,按期交付出用户满意的、质量合格的软件产品。
4、软件生命周期概念对软件的开发有哪些指导作用。
2
答:软件生命周期是软件工程的一个重要的概念。把整个软件生命周期划分为若干个较小
的阶段,每个阶段都有相对独立的任务和完成任务的步骤和方法,然后逐步完成各个阶段的任务,这有利于软件开发过程的组织和管理,从而降低了整个软件开发过程的困难程度,从而使规模庞大、结构复杂和管理复杂的软件开发变得容易控制和管理。
5、分析瀑布模型和螺旋模型的异同,比较它们的适用场合。
答:瀑布模型是线性模型,是整体开发模型,文档驱动的模型,每一阶段必须完成指定的
文档,需求明确的中、小型软件开发, 不适宜需求模糊或多变的应用软件开发;螺旋模型是典型迭代模型,是风险驱动模型,可用于面向对象开发,适宜风险较大的大型软件开发。
第2章
一、选择题
1、系统流程图是一种传统工具,用于描绘(D)。 A、逻辑模型 B、程序结构 C、体系结构 D、物理系统 2、软件可行性研究的目的是(C)。
A、证明软件开发项目可行 B、证明软件开发项目不可行
C、阐述软件开发项目值得或不值得做 D、为了确定软件开发项目要不要做
3、技术可行性研究要解决的问题是(A)。
A、从技术方面说明项目是否可行 B、从技术上定义项目要解决的问题
C、给出项目开发可行的技术路线 D、给出精简的项目需求设计报告 4、可行性研究的步骤首先是(A)。
A、确定项目目标,即对要解决的问题进行定义 B、研究项目要求
C、对项目目标进行可行性分析 D、给出可行的解决方案
5、可行性研究的任务不包括(D)。
A、技术可行性 B、经济可行性 C、法律可行性 D、政治可行性 6、系统流程图是描述(A)的工具。
A、物理系统 B、逻辑系统 C、体系系统 D、程序系统
7、可行性研究实质上是要进行一次(A)需求分析,设计过程。 A、简化、压缩的 B、详细的 C、彻底的 D、深入的 8、系统流程图的符号不包括(D)。 A、 B、 C、 D、 3
二、简答题
1、软件开发的早期,为什么要进行可行性研究?目标的可行性研究有几个方面?
答:许多软件开发问题都不能在预期的时间范围内或资源限制下得到解决。如果开发人员
没有尽早停止没有可行解决方案的开发项目,就会造成时间、资金、人力、物力的浪费。为了降低软件开发失败的可能性,需要进行软件可行性研究。可行性研究要从经济可行性、技术可行性、运行可行性和法律可行性四方面进行。
2、简述可行性研究的步骤。 答:(1)审核系统的规模和目标;(2)分析研究现行系统;(3)设计新系统的高层逻辑模
型;(4)获得并比较可行的方案;(5)撰写可行性研究报告。
3、某航空公司为了方便旅客,拟开发一个机票预订系统。将旅客的信息(姓名、性别、工
作单位、身份证号、旅行时间、旅行目的地等)输入该系统后,系统自动为旅客安排航班。打印出取票通知和票务账单。旅客可在航班的前一天凭取票通知和票务账单交款取票。系统校对无误后即打印出机票给旅客。要求: (1)提出问题定义;
(2)分析此系统的可行性; (3)画出系统流程图。
答:(1)问题定义:航运公司机票预订系统问题定义
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - -
系统目标和范围说明书
1.项目名称:X航运公司机票预订系统。
2.背景:目前,由旅客人工到航运公司排队购票,费时、费力、管理工作量大、手续繁琐效率低,制约了公司业务的发展。
3.项目目标:建立一个网络化的机票预订系统。 4.项目范围:软件开发费用不超过X万元。
5.初步设想:建议在系统中完成安排航班、打印取票通知、打印票务账单、打印机票等主要功能。
6.可行性研究:建议进行大约X周的可行性研究,研究费用不超过X元。
- - - - - - - - - - - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - - -- - - - - - - - - - - - - - - - - - (2)可行性分析
技术可行性:使用现有的技术能够实现此系统,在现有资源(包括硬件资源、软件资源、技术人员的技术水平和已有的工作基础)条件下,技术风险不大,项目可以实现。
经济可行性:此系统能够方便旅客订票,具有一定的经济效益和社会效益。 法律可行性:此项目开发要符合航运系统相关要求。 操作可行性:现有制度、人员素质、操作方式可行。 (3)系统流程图
4
旅客A通知单 账单航班要求查看航班舱位客机舱位表寄发、交付取票通知旅客信息航空公司登记旅客信息表取票通知安排航班客机舱位表打印取票通知、票务账单旅客取票通知旅客交款取票A票务账机票 第3章 一、判断题
1、(√)软件需求分析阶段要确定软件系统要“做什么”。 2、(×)软件需求规格说明书可作为可行性研究的依据。 3、(√)需求分析员可以参加最后的需求评审工作。
4、(×)画数据流图时可以加少量的控制流,使加工之间有时序的关系。 5、(√)结构化分析模型的核心是数据词典。
6、(×)在数据流图中,带有箭头的线段表示的是控制流。 数据流 7、(×)在软件生产过程中,需求信息的来源是项目经理。 用户 8、(√)需求分析阶段的任务是确定软件的功能。做什么 二、选择题
1、需求分析最终结果是产生(B)。
5