需求工程思考题参考答案 需求工程的部分思考题目 航班预票流程 软件需求工程 考试内容 复习资料 武汉大学

需求工程思考题参考答案 需求工程的部分思考题目 航班预票流程 软件需求工程 考试内容 复习资料 武汉大学
需求工程思考题参考答案 需求工程的部分思考题目 航班预票流程 软件需求工程 考试内容 复习资料 武汉大学

第一章和第二章

1.为什么软件需求在软件开发中相当重要?

答:因为

–需求分析可以帮助开发人员真正理解业务问题

–需求分析是估算成本和进度的基础

–需求分析可以避免建造错误的系统,从而减少不必要的浪费

–软件规格说明有助于开发人员与客户在“系统应该做什么”问题上达成正式契约

–需求分析形成了软件开发的基线,有助于管理软件的演化和变更

–软件需求是软件质量的基础,为系统验收测试提供标准

2.什么是软件需求?有哪些类型的软件需求?

答:IEEE软件工程中的标准定义:

(1 )用户解决问题或达到目标所需的条件或权能(C a p a b i l i t y )。

(2 )系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或权能。

(3 )一种反映上面(1 )或( 2 )所描述的条件或权能的文档说明。

需求分为:功能需求和非功能需求。功能需求又分为:业务需求,用户需求,系统需求。业务需求是组织或客户对于系统的高层次目标要求,定义了项目的远景和范围,即确定软件产品的发展方向、功能范围、目标客户和价值来源。

用户需求是从用户角度描述的系统功能需求和非功能需求,通常只涉及系统的外部行为,而不涉及系统的内部特性。

系统需求是更加详细地描述系统应该做什么,通常包括许多不同的分析模型,诸如对象模型、数据模型、状态模型等。

功能需求

–描述系统应该提供的功能或服务,通常涉及用户或外部系统与该系统之间的交互,一般不考虑系统的实现细节。

非功能需求

–从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额外要求,例如响应时间、数据精度、可靠性、开发过程的标准等。

3.为什么把需求工程独立为一个子学科?

答:很多的调查研究显示:

(1)Standish集团公司的分析:项目失败或严重超支的8个最重要原因中有5个与需求相关:即需求不完整、缺乏用户的参与、客户期望不实际、需求和需求规

格说明的变更和提供许多不必要的功能。

(2)另外的一些调查研究显示:一个与需求相关的的错误发现和解决越迟,其修复的代价越昂贵。

正如R.Glass所说:“项目需求无疑是在软件项目前期造成麻烦的一个最大原因。一个又一个研究已经发现,当项目失败时,需求问题通常正是核心问题。”

和人们在软件体统开发过程中遇到的诸多问题,人们认识到软件需求在整个软件开发过程中的重要性,因此,决定将需求工程作为一个子学科建立起来。

4.需求规格说明在软件开发中起什么作用?

答:

(1)需求规格说明是软件设计和实现的基础。

(2)需求规格说明是测试和用户验收软件系统的依据。

5快速原型模型对瀑布模型做了那些的改进?

答:

(1)针对瀑布模型的用户参与程度不够,快速原型模型使用原型,通过让用户试用,用户不断交流,提高了用户的参与程度。

6需求工程和软件工程的关系?

答:从软件工程提出的各种开发模型中可以看出,需求工程是软件开发过程的一个阶段。它处在处在软件开发的开始阶段,提供了软件项目其余部分得以实现的根基。并对软件开发起着十分重要的影响。

7需求工程实际上分为几个阶段?每个阶段的任务是什么

答:

分为需求开发和需求管理两个阶段。需求开发细分为:

(1)需求获取:确定和收集和软件系统相关的,来自不同来源和对象的用户需求信息。

(2)需求分析:对获得的用户需求信息进行分析和综合,即:提炼,分析和仔细审查已收集到的用户需求信息,并找出其中的错误、遗漏和其他不足的地方,以

获得用户对软件系统的真正需求,建立软件系统的逻辑模型(或需求模型)。(3)需求定义:使用适当的描述语言,按标准的格式描述软件系统的需求,并产生需求规格说明及其相应文档。

(4)需求验证:审查和验证需求规格说明是否正确和完整地表达了用户对软件系统的需求。

需求管理的任务:

有效地管理软件系统的需求规格说明及其相关文档,评估需求变更带来的潜在影响及可能的成本费用,跟踪软件需求的状态,管理需求规格说明书的版本等。

第三章

1实地调查步骤与确定调查对象间有什么关系?

答:确定调查对象是在实地调查前应该完成的。只有确定了调查的对象,才能进行实地调查。

2为什么要将需求信息分类?

答:一方面为编制需求规格说明和其他文档等提供基本材料。另一方面也为删除一些不是真正需求的信息提供依据。

3用自然语言描述发送电子邮件或使用WORD工具的过程,并利用场景或用例技术给予描述。答:

发送电子邮件:

按钮,弹出“写邮件”窗口,在“收件人”文本框中输入他的地址,在“主题”中输入主题,点击“添加附件”添加附件,在下面的文本框中写上了自己的邮件,然后他点击

“发送”按钮,发送了电子邮件。然后他关闭了窗口,在“已发邮件”中确认了自己发送的邮件,关闭了网易闪电邮软件。

4功能需求和非功能需求的区别是什么?

答:

功能需求是指开发人员必须实现的软件功能或者软件系统应具有的的外部行为。而非功能需求是指衡量软件能否良好运行的定性指标。他们的区别是:功能需求应是在软件开发过程中准确定义的,毫不含糊的。而非功能需求往往是很难定义的,也很含糊,如可靠性、可扩展性、安全性、互操作性、健壮性、易使用性、可维护性、可移植性、可重用性等。

第四章

1确定项目或系统范围的目的是什么?如何表示他们的范围?

答:目的:

(1)可以判断用户所提出的需求信息是否对项目合适。如果不合适,则给予拒绝。

因此,当用户提出新的需求和改变需求时,作为开发人员首先必须考虑这是否

包含在项目范围之内。

(2)有些用户需求信息可能是建议,这些建议是需求之外的,但可能有价值。因此,可以适当改变项目范围来适应这样的需求。但在改变范围之前,需要考虑进度、

时间和资源等,否则容易影响需求工程中其他工作。

(项目章程最主要的任务是从总体上对项目的目标、表示:通过项目章程来表示项目的范围。

范围做一个界定,即所有项目的初步计划、相应计划,都是根据项目章程的要求确定的。一般来说,项目章程是由企业的高层领导或者项目的委托人、发起人确定的。)

项目章程的主要内容一般包括以下几个方面:

(1)对项目的背景做一个说明。包括机会与机遇的说明。

(2)这一问题究竟是什么样的问题?

(3)为什么要做这个项目?

(4)这个项目的范围如何界定?

(5)目标是什么?项目的产品是什么?有什么要求,完成标准是什么?

除了以上五方面的内容外,还有一些假设条件,或者相关的一些影响,包括项目风险及所需的资源、人员或者其他条件,这些都可以作为项目章程的一部分。

2基于数据流图或状态图的需求模型是什么类型的模型?为什么?

答:描述性模型。无论是数据流图或是状态图都只描述了系统的工作过程和状态转移过程,也就是描述了系统是什么和做什么的。并没有提供系统的规约或是约束条件。

3需求模型是否可替代需求规格说明?为什么?

答:不能,因为需求模型只是系统的描述模型,描述了系统是什么,做什么的。而需求规格说明是系统的规约模型,描述了和系统相关的规约。它精确的描述了一个软件系统必须提供的功能和性能,以及所要考虑的约束条件与限制。而这是需求模型所达不到的。

需求工程课后重点答案

1.需求分析与系统设计之间的界限是什么?何时从分析阶段进入设计阶段? 需求分析关注系统“做什么”,系统设计关注“如何做”。 当分析阶段完成后才能进入到设计阶段 2.需求处理要注意哪些非技术因素?为什么? 要注意的非技术因素:组织机构文化、社会背景、商业目标、利益协商等。 因为利用建模与分析技术构建的解决方案一定要和具体的应用环境相关,不存在不依赖具体应用环境的解决方案,因此,在利用建模分析技术进行要求处理是不能忽视具体应用环境的相关因素 3.需求分析与需求工程之间的关系 那就是需求工程含义更广,包括需求获取、需求分析、需求定义 第二章: 1.解释名词:问题域,解系统和共享现象,并结合他们的含义说明软件系统如何与现实世界形成互动的 问题域:现实的状况与人们期望的状况产生差异就产生问题。 解系统:软件系统通过影响问题域,能够帮助人们解决问题称为解系统 通过共存现象仅仅是问题域和姐系统的一个部分。而不是他们的全部。 软件系统仅仅是现实世界的一种抽象。所以问题除了共享现象之外。还有很多在进行模型抽象时忽略的其他现实因素。 2.解释下列名词,需求,规格说明,问题域特性和约束,并结合他们的含义说明需求工程的主要任务是什么? 需求是用户对问题域中的实体状态或事件的期望描述

规格说明:规格说明是解系统为满足用户需求而提供的解决方案,规定了解系统的行为特征。问题域的特性:在和解系统相互影响的同时,问题域是自治的,它有自己的运行规律,而且这些规律不会因解系统的引入而发生改变,这种自治的规律性称为问题域特性,当这些特性非常明确时称之为约束。 需求工程的主要任务:1.需求工程必须说明软件系统将应用的环境及目标,说明用来达成这些目标的软件功能,还要说明在设计和实现这些功能时上下文环境对软件完成任务所用的方式、方法所施加的限制和约束。2需求工程必须将目标、功能和约束反映到软件系统中,映射为可行的软件行为,并对软件行为进行准确的规格说明。3需求工程还要妥善处理目标、功能和约束随着时间的演化情况。 第三章: 一、.需求工程过程的工作基础(即输入)存在哪些?他的工作成果(即输出)有哪些?? 答:需求过程的工作基础是获取用户面临的业务问题,用户期望系统表现出来的各种行为,即需求获取 工作成果:产生一个能够在用户环境下解决用户业务问题的系统方案,并将其文档化为明确的规格说明。 二.、描述需求工程的各个活动,说明他们各自的工作基础,工作目标和工作成果 需求获取: 工作基础:1.收集背景资料2.定义项目前景和范围3.选择信息的来源4.选择获取方法,执行获取5.记录获取结果 工作目标:获取用户需求,了解用户在完成任务的时候遇到的问题与期望 工作成果:业务需求,项目的前景和范围,用户需求以及问题域的特征 需求分析: 工作基础:1背景分析2.确定系统边界3.需求建模 4.需求细化 5.确定优先权 6.需求协商 工作目标:1.通过建模整合各种信息,是人们更好地理解问题 2.定义一个需求集合,能够为问题界定一个游戏的解决方案 工作成果:产生一个需求的基线集,它指定了系统或当前版本的系统开发需完成的任务 3.需求规格说明: 工作基础1.定制文档模板 2.编写文档 工作目标:为了系统涉众之间交流需求信息 工作成果:需求规格文档说明 4.需求验证 工作基础1.执行验证2问题修改 工作目标:为了尽量不给设计实现测试后续开发活动带来不必要的影响。需求规格说明文档定义必须正确准确地反映用户的意图 工作成果:验证之后,问题得以修正 需求管理: 工作基础:1.建立和维护需求基线集2.建立需求跟踪信息3进行变更控制 工作目标:保证需求作用的持续稳定和有效发挥 工作成果:需求管理会进变更控制和实现合理的变更请求 拒绝不合理的变更请求,控制变更的成本和影响范围

需求工程(习题集)最新

一、选择题 1、需求获取的成果(A)。 A、获取笔录、录音或摄像 B、客户 C、需求规格说明文档 D、设计说明书 2、项目前景与范围文档中,项目前景不应包括什么信息(B)。 A、前景概述 B、详细的功能需求 C、主要特性 D、假设与依赖 3、下列不属于需求开发的活动的是( B)。 A、需求获取 B、需求管理 C、需求验证 D、需求分析 4、面谈的类别不包括(C)。 A、结构化面谈 B、半结构化面谈 C、封闭式面谈 D、非结构化面谈 5、采用观察方法进行需求获取的原因(C)。 A、用户多 B、客户变化 D、事件的情景性D、存在默认知识 6、确定需求优先级的常用的方法(A)。 A、累计投票 B、协商 C、需求细化 D、需求建模 7、需求评审是(B)中常用的一种方法。 A、需求获取 B、需求验证 C、需求分析 D、需求管理 8、需求跟踪是(D)中的一个活动。 A、需求获取 B、需求验证 C、需求分析 D、需求管理 9、针对客户需求文档进行文档审查的时候,采用的方法是(C)。 A、需求重用 B、文档分析 C、需求剥离 D、民族志 10、下列不是过程建模中使用的技术是( C )。 A、上下文图 B、数据流图 C、E-R图 D、微规格说明 11、针对相关产品的需求规格说明进行文档审查的时候,采用的方法是(C)。 A、需求剥离 B、文档分析 C、需求重用 D、民族志 12、下列不是用例模型的基本元素的是(A)。 A、用例 B、参与者 C、实体 D、系统边界 13、下列不属于需求验证的方法的是(B)。 A、需求评审 B、需求分析 C、利用跟踪关系 D、开发测试用例 14、下列不属于变更控制过程的步骤是(D)。 A、提出需求变更 B、接受变更请求 C、变更评估 D、需求依赖 15、需求分析的最终结果产生的是(C)。 A、项目开发计划 B、可行性分析报告 C、需求规格说明书 D、设计说明书 16、最常见的IEEE1998将需求分成5种类别,下列哪个不是5种类别的是(D)。 A、功能需求 B、性能需求

需求分析与设计课后答案样本

第一章 1.需求分析与系统设计之间的界限是什么? 何时从分析阶段进入设计阶段? 需求分析关注系统”做什么”, 系统设计关注”如何做”。 当分析阶段完成后才能进入到设计阶段 2.需求处理要注意哪些非技术因素? 为什么? 要注意的非技术因素: 组织机构文化、社会背景、商业目标、利益协商等。因为利用建模与分析技术构建的解决方案一定要和具体的应用环境相关, 不存在不依赖具体应用环境的解决方案, 因此, 在利用建模分析技术进行要求处理是不能忽视具体应用环 境的相关因素 3.需求分析与需求工程之间的关系 那就是需求工程含义更广, 包括需求获取、需求分析、需求定义 第二章 1.解释名词:问题域, 解系统和共享现象, 并结合她们的含义 说明软件系统如何与现实世界形成互动的 问题域: 现实的状况与人们期望的状况产生差异就产生问题。 解系统:软件系统经过影响问题域, 能够帮助人们解决问题称 为解系统经过共存现象仅仅是问题域和姐系统的一个部分。而不是她们的全部。

软件系统仅仅是现实世界的一种抽象。因此问题除了共享现象 之外。还有很多在进行模型抽象时忽略的其它现实因素。 2.解释下列名词, 需求, 规格说明, 问题域特性和约束, 并结 合她们的含义说明需求工程的主要任务是什么? 需求是用户对问题域中的实体状态或事件的期望描述 规格说明:规格说明是解系统为满足用户需求而提供的解决方案, 规定了解系统的行为特征。 问题域的特性: 在和解系统相互影响的同时, 问题域是自治的, 它有自己的运行规律, 而且这些规律不会因解系统的引入而发生 改变, 这种自治的规律性称为问题域特性, 当这些特性非常明确 时称之为约束。 需求工程的主要任务: 1.需求工程必须说明软件系统将应用的环境及目标, 说明用来达成这些目标的软件功能, 还要说明在设计和实现这些功能时上下文环境对软件完成任务所用的方式、方法所施加的限制和约束。2需求工程必须将目标、功能和约束反映到软件系统中, 映射为可行的软件行为, 并对软件行为进行准确的规格说明。3需求工程还要妥善处理目标、功能和约束随着时间的演化情况。 4.需求有哪些常见的类别? 功能需求和非功能需求有什么差异? 严格意义上的软件需求的分类: 功能需求( Functional Requirement) : 和系统主要工作相关的需求, 即在不考虑物理约束的情况下, 用户希望系统所能够执行的

软件工程课后习题测验简答题

第一章: 三、简答题 1.软件产品的特性是什么? 答:●软件是一种逻辑产品,具有无形性; ●软件产品的生产主要是研制;主要是脑力劳动; ●软件不存在磨损和老化问题,但存在退化问题; ●软件产品的成本非常昂贵,其开发方式目前尚未完全摆脱手工生产方式; ● 软件具有“复杂性”,其开发和运行常受到计算机系统的限制。 2. 软件发展有几个阶段?各有何特征? 答:①程序设计阶段。 硬件特征:价格贵、存储容量小、运行可靠性差。 软件特征:只有程序、程序设计概念,不重视程序设计方法。 ②程序系统阶段。 硬件特征:速度、容量及工作可靠性有明显提高,价格降低,销售有爆炸性增长。 软件特征:程序员数量猛增,开发人员素质低。 ③软件工程阶段。 硬件特征:向超高速、大容量、微型化及网络化方向发展。 软件特征:开发技术有很大进步,但未获得突破性进展,软件价格不断上升,未完全摆脱软件危机。 3.什么是软件危机?其产生的原因是什么? 答:“软件危机”(Software Crisis)的出现是由于软件的规模越来越大,复杂度不断增加,软件需求量增大。而软件开发过程是一种高密集度的脑力劳动,软件开发的模式及技术不能适应软件发展的需要。致使大量质量低劣的软件涌向市场,有的花费大量人力、财力,而在开发过程中就夭折。软件危机主要表现在两个方面: (1) 软件产品质量低劣,甚至开发过程就夭折。 (2)软件生产率低,不能满足需要。 4.什么是软件过程?有哪些主要的软件过程模型?它们各有哪些特点? 答:软件过程是指在软件工具的支持下,所进行的一系列软件开发和进化的活动。软件过程模型是对软件开发实际过程的抽象和简化,是描述软件开发过程中各种活动如何执行的模型,因此又称为软件开发模型。 主要的软件过程模型有:瀑布模型、增量模型、螺旋模型、喷泉模型和基于知识的模型等。 ⑴瀑布模型是经典的软件开发模型,将软件开发活动中的各项活动规定为依线性顺序连接的若干阶段,它简单易用,在消除非结构化软件、降低软件的复杂性、促进软件开发工程化方面起了很大的作用。但在软件开发实践中也逐渐暴露出它的缺点。它将一个充满回溯的软件开发过程硬性分割为几个阶段,无法解决软件需求不明确或者变动的问题。 ⑵增量模型是一种非整体开发的模型。根据增量的方式和形式的不同,分为基于瀑布模型的渐增模型和基于原型的快速原型模型。该模型具有较大的灵活性,适合于软件需求不明确、设计方案有一定风险的软件项目。 ⑶螺旋模型将瀑布模型和增量模型结合起来,并加入了风险分析。螺旋模型将开发过程分为几个螺旋周期,每个螺旋周期可分为4个工作步骤:制定计划、风险分析、实施工程、客户评估。 ⑷喷泉模型用于采用对象技术的软件开发项目。它克服了瀑布模型不支持软件重用和多项开发活动集成的局限性。喷泉模型使开发过程具有迭代性和无间隙性。软件开发过程有4

软件工程思考题答案

1、一个软件公司许多部门,分为开发部门和管理部门两种,每个开发部门开发多个软件产 品。每个部门由部门名字唯一确定。该公司有许多员工,员工分为经理,工作人员和开发人员每个开发人员可参加多个开发项目,每个开发项目需要多个开发人员,开发人员使用语言开发项目。每位经理可主持多个开发项目。建立该软件公司的对象模型。 2、某教务中心准备开发一个成人自学考试系统考务管理系统,经过调研该系统有如下功能:(1)对考生填写的报名单进行审查,对合格的考生,编好准考证发给考生,汇总后的报名单送给阅卷站。 (2)给合格的考生制作通知单,将考试科目、时间、地点安排告诉考生。 (3)对阅卷站送来的成绩进行登记;按当年标准审查单科合格者,并发成绩单,对所考专业各科成绩全部合格者发给大专毕业证书。 (4)对成绩进行分类(按地区、年龄、职业、专业、科目等分类)产生相应统计表 (5)查询考生可按准考证号随时查询自己的各科成绩 试根据要求画出系统的用例图

3、某图书馆借阅系统有以下功能: (1)借书:根据读者的借书证查询读者档案,若借书数目未超过规定数量,则办理借阅手续(修改库存记录及读者档案),超过规定数量者不予借阅。对于第一次借阅者则直接办理借阅手续。 (2)还书:根据读者书中的条形码,修改库存记录及读者档案,若借阅时间超过规定期限则罚款。 请对以上问题,画出数据流图

4、某报社采用面向对象技术实现报刊征订的计算机管理系统,该系统基本需求如下:(1)报社发行多种刊物,每种刊物通过订单来征订,订单中有代码、名称、订期、单价、份数等项目,订户通过填写订单来订阅报刊。 (2)报社下属多个发行站,每个站负责收集登陆订单,打印收款凭证等事务。 (3)报社负责分类并统计各个发行站送来的报刊订阅信息。 请就比需求建立对象模型,并画出系统的用例图

需求工程习题

一、选择题 1、需求获取的成果()。 A、获取笔录、录音或摄像 B、客户 C、需求规格说明文档 D、设计说明书 2、项目前景与范围文档中,项目前景不应包括什么信息()。 A、前景概述 B、详细的功能需求 C、主要特性 D、假设与依赖 3、下列不属于需求开发的活动的是( )。 A、需求获取 B、需求管理 C、需求验证 D、需求分析 4、面谈的类别不包括()。 A、结构化面谈 B、半结构化面谈 C、封闭式面谈 D、非结构化面谈 5、采用观察方法进行需求获取的原因()。 A、用户多 B、客户变化 D、事件的情景性 D、存在默认知识 6、确定需求优先级的常用的方法()。 A、累计投票 B、协商 C、需求细化 D、需求建模 7、需求评审是()中常用的一种方法。 A、需求获取 B、需求验证 C、需求分析 D、需求管理 8、需求跟踪是()中的一个活动。 A、需求获取 B、需求验证 C、需求分析 D、需求管理 9、针对客户需求文档进行文档审查的时候,采用的方法是()。 A、需求重用 B、文档分析 C、需求剥离 D、民族志 10、下列不是过程建模中使用的技术是()。 A、上下文图 B、数据流图 C、E-R图 D、微规格说明 二、名词解释 1、系统需求 2、需求基线 3、涉众 4、用例模型 5、民族志

三、填空题 1、功能需求通常体现为三个层次:、和系统需求。2、面向对象建模中用到的技术包括:、、行为模型、状态机模型和对象约束语言。 3、常见的需求定义错误:没有反映用户真实需要、、信息遗漏、、。 4、涉众分析包括哪些活动:、涉众描述、和。5、微规格说明是一些被用来描述过程处理逻辑的技术,主要有三种常用的技术:、、。 6、在需求工程中原型方法步骤:、、、原型修正。 四、简答题 1、需求获取活动的主要步骤包括哪5步? 2、涉众分析有哪些活动?解释每一个活动的具体内容? 3、需求工程定义?需求工程的活动包括? 4、什么是过程建模?过程建模中用到哪些技术?并对每一个技术详细解释? 5、需求管理的活动包括哪些?并具体说明每一个活动内容?

软件需求分析习题大全

习题集 一、单项选择题 1、需求分析最终结果是产生()。 A.项目开发计划 B.可行性分析报告 C.需求规格说明书 D.设计说明书答案:C 2、需求分析中,开发人员要从用户那里解决的最重要的问题是()。 A.让软件做什么 B.要给软件提供哪些信息 C.要求软件工作效率怎样 D.让软件具有何种结构答案:A 3、需求规格说明书的内容不应包括对()的描述。 A.主要功能 B.算法的详细过程 C.用户界面和运行环境 D.软件性能答案:B 4、需求规格说明书的作用不应包括()。 A.软件设计的依据 B.用户与开发人员对软件要做什么的共同理解 C.软件验收的依据 D.软件可行性研究的依据 答案:D 5、下面关于面向对象方法中消息的叙述,不正确的是()。 A.键盘、鼠标、通信端口、网络等设备一有变化,就会产生消息B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息 C. 应用程序之间可以相互发送消息 D.发送与接收消息的通信机制与传统的子程序调用机制不同 答案:B

6、面向对象技术中,对象是类的实例。对象有三种成份:()、属性和方法(或操作)。 A. 标识 B. 规则 C. 封装 D. 消息 答案:A 7、软件需求分析阶段的工作,可以分成以下四个方面:对问题的识别、分析与综合、制定规格说明以及()。 A.总结 B.实践性报告 C.需求分析评审 D.以上答案都不正确 答案:C 8、软件需求规格说明书的内容不应包括对()的描述。 A.主要功能 B.算法的详细过程 C.用户界面及运行环境 D.软件的性能 答案:B 9、产品特性可以称为质量属性,在众多质量属性中,对于开发人员来说重要的属性有哪些(B ) A 有效性、效率、灵活性、互操作性 B 可维护性、可移植性、可重用性、可测试性 C 完整性、可靠性、健壮性、可用性 D 容错性、易用性、简洁性、正确性 10、需求包括11个方面的内容,其中网络和操作系统的要求属于(B ),如何隔离用户之间的数据属于(C),执行速度、相应时间及吞吐量属于(D ),规定系统平均出错时间属于(A )。 A 质量保证 B环境需求 C安全保密需求 D 性能需求

软件工程课后习题参考答案

1.简述软件开发的本质。 答:软件开发的本质就是实现问题空间的概念和处理逻辑到解空间的概念和处理逻辑之间的映射。P19 2.简述实施软件开发的基本途径。 答:实施软件开发的基本途径是系统建模。所谓系统建模,是指运用所掌握的知识,通过抽象,给出该系统的一个结构——系统模型。P19 3.简述何谓模型以及软件开发中所涉及的模型。 答:模型是一个抽象。该抽象是在意图所确定的角度和抽象层次对物理系统的一个描述,描述其中的成分和成分之间所具有的特定语义的关系,还包括对该系统边界的描述。 软件开发中所涉及的模型可分为两大类,一类称为概念模型,描述了系统是什么;另一类统称为软件模型,描述了实现概念模型的软件解决方案。 4.简述软件开发所涉及的两大类技术。 答:软件开发所涉及的两大类技术为:一是求解软件的开发逻辑,二是求解软件的开发手段。 5、简述需求与需求规约的基本性质。 答:需求的基本性质:1) 必要的,该需求是用户所要求的。2)无歧义的,该需求只能用一种方式解释。3)可测的,该需求是可进行测试的。4)可跟踪的,该需求可从一个开发阶段跟踪到另一个阶段。5)可测量的,该需求是可测量的。 需求规约的基本性质:1)重要性和稳定性程度:按需求的重要性和稳定性,对需求进行分级。2)可修改的:在不过多地影响其他需求的前提下,可以容易地修改一个单一需求。 3)完整的:没有被遗漏的需求。4)一致的:不存在互斥的需求。 6、简述软件需求的分类。

答:软件需求可以分为两大类:一类是功能需求,一类是非公能需求,而非公能需求可 7、举例说明功能需求和非功能需求之间的基本关系。 答: 非功能需求可作用于一个或多个功能需求,例如 非功能需求可作用于一个或多个功能需求 其中,非功能需求1作用于功能需求1和功能需求3等;非功能需求2作用于功能需求2等。P24 8、有哪几种常用的初始需求发现技术 答:有5种常用的需求发现技术:自悟、交谈、观察、小组会和提炼。P26 9、简述需求规约的3种基本形式。 (1) 非形式化的需求规约。非形式化的需求规约即以一种自然语言来表达需求规约,如同使用一种自然语言写了一篇文章。(2) 半形式化的需求规约。半形式化的需求规约即以半形式化符号体系(包括术语表、标准化的表达格式等)来表达需求规约。(3)形式化的需求规约。形式化的需求规约即以一种基于良构数学概念的符号体系来编制需求规约,一般往往伴有解释性注释的支持。 P29 10、简述软件需求规约的内容和作用。 答:软件需求规约的内容有:引言、总体描述、特定需求、附录、索引。P28 需求规约的作用可概括为以下4点:1)需求规约是软件开发组织和用户之间一份事实上的技术合同书,是产品功能及其环境的体现。2)对于项目的其余大多数工作,需求规约是一个管理控制点。3)对于产品/系统的设计,需求规约是一个正式的、受控的起始点。4)需求规约是创建产品验收测试计划和用户指南的基础。P31 11、简述需求规约在项目开发中的基本作用。 答:需求规约的作用可概括为以下4点:1)需求规约是软件开发组织和用户之间一份事实上的技术合同书,是产品功能及其环境的体现。2)对于项目的其余大多数工作,需求

软件工程课后习题(含答案)

第一章练习题 一、填空题 1、软件工程三要素是:方法、工具、过程。 2、软件开发方法是指软件开发过程中所应遵循的方法和步骤。 二、名词(术语)解释: 1、可靠性---是指在给定的时间间隔内,程序成功运行的概率。可靠性是衡量软件质量的一个重要目标。 2、可理解性---指系统具有清晰的结构,能直接反映问题的需求。可理解性有助于控制软件系统的复杂性,并支持软件的维护、移植和重用。 三、问答题 1、面向对象方法的优点是什么? 答:(1)将现实世界问题向面向对象解空间直接映射,实现对现实世界的直接模拟。 (2)以数据为中心,而不是基于对功能的分解,使得软件结构相对稳定,软件的重用性、可靠性、可维护等特性都较好。 2、可视化开发方法的优点有哪些? 答:(1)简化了图形用户界面的设计和编码工作,将开发的注意力主要集中在程序的执行逻辑和工作流程上。 (2)软件开发简单,易学、易上手。 (3)专业或非专业人员都能参与软件开发活动。 第二章练习题 一、填空题: 1、软件工程过程是:为获得软件产品,在软件工具支持下由软件人员完成的一系列软件工 程活动。 2、一个软件从定义、开发、使用和维护,直到最终被废弃,所经历的生存过程经历的生存过程称为软件生存期或叫生命期。 3、软件生命周期的阶段划分为3个时期是:定义时期、开发时期、维护时期。 4、软件工程标准的5个层次是:国际标准、国家标准、行业标准、企业规范、项目规范。 二、简答题: 1、瀑布模型的优点有哪些? 答:1、强迫开发人员采用规范的技术方法; 2、严格地规定了每个阶段必须提交的文档; 3、每个阶段结束前必须正式进行严格的技术审查和管理复审。 2、瀑布模型的缺点是什么? 答:1、在软件开发的初期阶段就要求做出正确、全面、完整的需求分析对许多应用软件来说是极其困难的。 2、在需求分析阶段,当需求确定后,无法及时验证需求是否正确、完整。 3、作为整体开发的瀑布模型,由于不支持产品的演化,缺乏灵活性,对开发过程中很 难发现的错误,只有在最终产品运行时才能暴露出来,从而使软件产品难以维护。

需求分析练习与习题

需求分析练习与习题 一、需求分析练习 1.顾客开始表达需求 (l)眼神接触,关心的表情,身体前倾,热情倾听,表示对顾客的关心与尊重。 (2)使用开放式提问,主动进行引导,让顾客畅所欲言。 (3)留心倾听顾客的讲话,了解顾客真正的意见,在适当的时机作简单的回应,不断鼓励顾客发表意见。 (4)不要打断顾客的发言,顾客说完后再讲述自己的意见。 (5)征得顾客同意,详细记录顾客谈话的要点。 (6)未确认顾客需求时,不可滔滔不绝地做介绍。 2.协助顾客总结需求 (l)适当地利用刺探与封闭式的提问方式,引导顾客正确表达他的需求。 (2)保持对顾客的兴趣,鼓励顾客发言。 (3)顾问式地协助顾客总结他的需求,挑选可选购的车型。 3.分析顾客需求 (1)遇到不懂的问题,请其他同事协助,回答顾客所需信息。 (2)分析顾客的不同需求状况,充分解决和回复顾客提出的问题。 (3)及时与上司沟通情况,获得必要的指导。 4.满足顾客需求的解决方案 (1)建立互信关系,继续加深你在顾客心目中的依赖感。 (2)站在顾客的立场来考虑事情,把顾客当成自己的朋友,并非仅是“买卖关系”。 (3)使用顾客能理解的方式进行SAB 法,而且对不同的顾客及其利益需求要提供不同的创意服务。 S : SOLUTION解决方案 A : ADAVNTAGE 优势

B : BENEFIT 利益 5.应对顾客来访的方式顾客想要一本型录 (1)询问顾客想要哪种产品型录,恭敬的递给这位顾客他所想要的型录,同时递上自己的名片。 注:递给顾客型录及自己的名片时要正面朝向顾客递给。 如果顾客知道他所感兴趣的车型,并只是想要一本型录,则: (2)请顾客坐下,并奉茶,询问顾客有什么要帮忙。 (3)避免以专业术语来介绍,应用顾客能懂的用语做说明。 (4)未确定顾客需求时不可滔滔不绝地作介绍。 (5)将型录放入信封,交给顾客。 (6)与顾客对应过程中始终保证视线高度与顾客相称,对坐下的顾客不可站着与其交谈。 注:此方法适用于各种顾客对答场合。 (7)询问顾客是否愿意留下基本信息(姓名、地址、电话号码等),业务代表填写《来店(电)客户登记表》,问顾客今后是否可以和他再联系。 注:可考虑使用意见征询或赠品发放等方式留下客户资料,以减少客户的抵触情绪。 (8)感谢顾客的光临。 6.应对顾客来访的方式——顾客希望看车,但不知道对哪种车真正有兴趣 (1)请顾客提供基本信息,以确定其购车动机,为了鼓励顾客自愿提供信息,可采用诸如下列开放式的问题: 为什么考虑要买一部新车? 对车最感兴趣的是什么? 计划如何使用那辆新车? (2)让顾客完全随意地回答你的问题,尽量不要让顾客有压迫感。 (3)仔细倾听顾客所说的话,和顾客保持目光接触,点头,对顾客表示赞同,可用“是的”、“我了解”、“您说的是”、“您说的很有道理”、“还有呢”等语句。 (4)复述或表达所听到的,认同顾客的看法,表示了解他的需求。

软件工程课后习题答案

第一章 一、什么是软件危机?它有哪些典型表现?为什么会出现软件危机? 软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。 软件危机的典型表现: (1) 对软件开发成本和进度的估计常常很不准确。常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量。这些都降低了开发商的信誉,引起用户不满。 (2) 用户对已完成的软件不满意的现象时有发生。 (3) 软件产品的质量往往是靠不住的。 (4) 软件常常是不可维护的。 (5) 软件通常没有适当的文档资料。文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题。 (6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。 (7) 开发生产率提高的速度远跟不上计算机应用普及的需求。 软件危机出现的原因: (1) 来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。 (2) 软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。 (3) 供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。 二、假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他? 答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改, 不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”是在引入变动,当然付出的代价更高。一个故障是代码错误造成的,有时这种错误是不可避免的,但要修改的成本是很小的,因为这不是 整体构架的错误。 三、什么是软件工程?它有哪些本质特征?怎样用软件工程消除软件危机? 1993年IEEE的定义:软件工程是:①把系统的、规范的、可度量的途径应用于软件开发、运行和维护过程,也就是把工程应用于软件;②研究①中提到的途径。 软件工程的本质特征: (1) 软件工程关注于大型程序(软件系统)的构造(2) 软件工程的中心课题是分解问题,控制复杂性(3) 软件是经常变化的,开发过程中必须考虑软件将来可能的变化 (4) 开发软件的效率非常重要,因此,软件工程的一个重要课题就是,寻求开发与维护软件的更好更有效的方法和工具 (5) 和谐地合作是开发软件的关键(6) 软件必须有效地支持它的用户 (7) 在软件工程领域中是由具有一种文化背景的人替具有另一种文化背景的人(完成一些工作)消除软件危机的途径: (1) 对计算机软件有一个正确的认识(软件≠程序) (2) 必须充分认识到软件开发不是某种个体劳动的神秘技巧,而应该是一种组织良好、管理严密、各类人员协同配合、共同完成的工程项目 (3) 推广使用在实践中总结出来的开发软件的成功技术和方法 (4) 开发和使用更好的软件工具

软件工程课后习题答案

软件工程课后习题答案 第一章 一、什么是软件危机?它有哪些典型表现?为什么会出现软件危机? 软件危机是指在计算机软件开发、使用与维护过程中遇到的一系列严重问题和难题。它包括两方面:如何开发软件,已满足对软件日益增长的需求;如何维护数量不断增长的已有软件。软件危机的典型表现: (1) 对软件开发成本和进度的估计常常很不准确。常常出现实际成本比估算成本高出一个数量级、实际进度比计划进度拖延几个月甚至几年的现象。而为了赶进度和节约成本所采取的一些权宜之计又往往损害了软件产品的质量。这些都降低了开发商的信誉,引起用户不满。 (2) 用户对已完成的软件不满意的现象时有发生。 (3) 软件产品的质量往往是靠不住的。 (4) 软件常常是不可维护的。 (5) 软件通常没有适当的文档资料。文档资料不全或不合格,必将给软件开发和维护工作带来许多难以想象的困难和难以解决的问题。

(6) 软件成本、软件维护费在计算机系统总成本中所占比例逐年上升。 (7) 开发生产率提高的速度远跟不上计算机应用普及的需求。软件危机出现的原因: (1) 来自软件自身的特点:是逻辑部件,缺乏可见性;规模庞大、复杂,修改、维护困难。 (2) 软件开发与维护的方法不当:忽视需求分析;认为软件开发等于程序编写;轻视软件维护。 (3) 供求矛盾将是一个永恒的主题:面对日益增长的软件需求,人们显得力不从心。 二、假设自己是一家软件公司的总工程师,当把图1.1给手下的软件工程师们观看,告诉他们及时发现并改正错误的重要性时,有人不同意这个观点,认为要求在错误进入软件之前就清楚它们是不现实的,并举例说:“如果一个故障是编码错误造成的,那么,一个人怎么能在设计阶段清除它呢?”应该怎么反驳他? 答:在软件开发的不同阶段进行修改付出的代价是很不相同的,在早期引入变动,涉及的面较少,因而代价也比较低;在开发的中期,软件配置的许多成分已经完成,引入一个变动要对所有已完成的配置成分都做相应的修改, 不仅工作量大,而且逻辑上也更复杂,因此付出的代价剧增;在软件“已经完成”是在引入变动,当然付出的代价更高。一个故障是代码错误造成的,有时这种错误是不可避免的,但要修改的成本是很小的,因为这不是整体构架的错误。

软件工程课后习题答案第五版

软件工程课后习题答案第五版 《软件工程导论》课后习题答案 第一章软件工程概论 1.什么是软件危机? 软件危机是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。这些问题表现在以下几个方面: (1)用户对开发出的软件很难满意。 (2)软件产品的质量往往靠不住。 (3)一般软件很难维护。 (4)软件生产效率很低。 (5)软件开发成本越来越大。 (6)软件成本与开发进度难以估计。

(7)软件技术的发展远远满足不了计算机应用的普及与深入的需要。 2.为什么会产生软件危机? (1) 开发人员方面,对软件产品缺乏正确认识,没有真正理解软件产品是一个完整的配置组成。造成开发中制定计划盲目、编程草率,不考虑维护工作的必要性。 (2) 软件本身方面,对于计算机系统来说,软件是逻辑部件,软件开发过程没有统一的、公认的方法论和规范指导,造成软件维护困难。 (3) 尤其是随着软件规模越来越大,复杂程度越来越高,原有软件开发方式效率不高、质量不能保证、成本过高、研制周期不易估计、维护困难等一系列问题更为突出,技术的发展已经远远不能适应社会需求。 3.怎样克服软件危机? (1) 充分吸收和借鉴人类长期以来从事各种工程项目中积累的行之有效的有效原理、概念、技术与方法,特别是吸取几十年来人类从事计算机硬件研究和开发的经验教训。在开发软件的过程中努力作到良好的组织,严格的管理,相互友好的协作。

(2) 推广在实践中总结出来的开发软件的成功的技术和方法,并研究更好、更有效的技术和方法,尽快克服在计算机系统早期发展阶段形成的一些错误概念和作法。 (3) 根据不同的应用领域,开发更好的软件工具并使用这些工具。将软件开发各个阶段使用的软件工具集合成一个整体,形成一个很好的软件开发支环环境。 总之为了解决软件危机,既要有技术措施(方法和工具),又要有必要的组织管理措施。 4.构成软件项目的最终产品: 应用程序、系统程序、面向用户的文档资料和面向开发者的文档资料。 5.什么是软件生存周期? 软件生存周期是指从软件定义、开发、使用、维护到淘汰的全过程。 6.软件生存周期为什么划分成阶段? (1) 任何一个阶段的具体任务不仅独立,而且简单,便于不同人员分工协作,从而降低整个软件开发工作的困难程度。

概述和需求分析复习题

第一部分软件工程概述习题 一、名词解释 1、软件:包括程序,数据及其相关文档的完整集合 程序是按事先设计的功能和性能要求执行的指令序列 数据是使程序能正常操纵信息的数据结构 文档是与程序开发,维护和使用有关的图文材料 2、软件工程:将系统化的,规范的,可度量的方法应用于软件的开发 , 运行和维护的过程,即将工程化应用于软件中 3、软件危机:是指在计算机软件的开发和维护过程中所遇到的一系列严重问题。概括来说,软件危机包含两方面问题:如何开发软件,以满足不断增长,日趋复杂的需求;如何维护数量不断膨胀的软件产品。 4、软件生命周期:把软件从开始研制(形成概念)到最终软件被废弃不用这整个阶段称为软件的生存期 二、选择题 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 评估成本 B. 构造算法 C. 建立模型 D. 支持管理 10、软件工程学科的研究内容主要包括:软件开发模型、软件过程、软件工具、软件开发环境、计算机辅助软件工程(CASE)以及软件经济学和()。 A 软件销售方法 B. 软件的生命周期 C. 软件开发方法 D. 软件的价格 11、软件工程原则不包括下列哪一项。() A 选取适宜的开发模型 B. 采用合适的设计方法 C. 提供高质量的工程支持 D. 软件的价格要适宜

软件工程课后习题答案

第一章 1.1举出至少5个例子来说明“意外效应法则”在计算机软件方面的应用。 答:典型的例子包括使用“数字汽车仪表板”的软件,赋予高科技,高品质的图像的软件;如广泛的消费类电子产品的软件;个人电脑,工业仪器仪表和机器的软件。软件分化出的在电子商务方面的应用。 1.2举例说明软件对社会的影响(包括正面影响和负面影响)。 答:这是一个很好的课堂讨论问题(如果时间允许),而不是专注于老生常谈的(但很重要)隐私问题,生活质量等问题。您可能想要讨论关于”技术恐惧“方面的问题,软件也许会使它恶化但也可能减少”技术恐惧“。另一个有趣的方面是使用诺依曼的“风险”列在中做重点讨论。你也可以考虑基于软件的“现金”经济,新模式的互动娱乐,虚拟现实,电子商务等方面来思考软件对社会的影响。 1.3针对1.1节提出的5个问题,请给出你的答案,并与同学讨论。 答:软件需要如此长的开发时间: a)设施不上线 b)开发工具并不如预期般运作 c)客户提出的新要求,需要重新设计和返工 d)产品依赖于政府的规定,被意外更改。 e)严格的要求,与现有系统的兼容性需要超过预期更多的测试,设计和实现。 f)多个操作系统下运行的任务需求比预期需要更长的时间。 g)软件项目风险管理比预期需要更多的时间。 h)依赖的技术仍处于开发阶段,从而延长日程安排。 开发成本高: a)比当时预期低得令人无法接受的质量,需要进行更多的测试,设计和实施工作。 b)制定了错误的软件功能需要重新设计和实施。 c)开发错误的用户界面,而导致重新设计和实施。 d)开发了不需要的额外的软件功能而延长了开发日程安排。 在将软件交付顾客使用之前,我们无法找到所有错误: a)产品依赖于政府监管,意外而改变。 b)产品技术标准草案,会意外更改。 c)有时会在项目后期添加新的开发人员。 d)因为团队内的冲突有时会导致沟通不畅,而产生糟糕的设计。 e)破坏高效调度产生的项目管理成果和无效的规划 f)有时装备部件质量差,导致额外的测试,设计和集成工作和管理额外的客户关系。 软件开发和维护的过程仍旧难以度量: a)有时该项目的目的是不明确。 b)有大量的业务所涉及的风险。 c)如果产品内置没有装好。 d)我们需要不断检讨我们的工作。 e)进行维护检查的时间。 f)在整个软件开发过程中要彻底组织项目团队。 1.4在交付最终用户之前,或者首个版本投入使用之后,许多应用程序都会有频繁的变更。

软件工程习题及参考答案

软件工程习题及部分参考答案 判断题 软件也会磨损和老化。(X) 完善性维护是提高或完善软件的性能。(√) 数据字典是对数据流图中的数据流,加工、数据存储、数据的源和终点进行详细定义。 (X) 软件是指用程序设计语言(如PASCAL ,C,VISUAL BASIC 等)编写的程序,软件开发实际上就是编写程序代码。(X) 软件模块之间的耦合性越弱越好。(√) 如果通过软件测试没有发现错误,则说明软件是正确的。(X) 快速原型模型可以有效地适应用户需求的动态变化。(√) 模块化,信息隐藏,抽象和逐步求精的软件设计原则有助于得到高内聚,低耦合度的软件产品。(√) 集成测试主要由用户来完成。(X) 确认测试计划应该在可行性研究阶段制定(X) 白盒测试无需考虑模块内部的执行过程和程序结构,只要了解模块的功能即可。(X)软件概要设计包括软件系统结构设计以及数据结构和数据库设计。(√) 软件工程采用的生存周期方法就是从时间角度对软件的开发和维护这个复杂问题进行分解,将软件生存的时期分为若干阶段。(√) 系统流程图表达的是部件的信息流程,还表示对信息进行加工处理的控制过程。(╳)模块越多,开发成本越小。(╳) 软件测试的目的就是证明软件没有错。(╳) PAD图在设置了五种基本的控制结构后,还允许递归使用。(√) 在进行了可行性分析后,需求分析就只需要解决目标系统的设计方案。(×) SA法是面向数据流,建立在数据封闭原则上的需求分析方法。(√) HIPO 法既是需求分析方法,又是软件设计方法。(√)

在面向对象的需求分析方法中,建立动态模型是最主要的任务。(×) 加工小说明是对系统流程图中的加工进行说明。(×) 判定表的优点是容易转换为计算机实现,缺点是不能够描述组合条件。(×) 需求分析的主要方法有SD 法、OOA 法及HIPO 法等。(×) 分层的DFD 图可以用于可行性分析阶段,描述系统的物理结构。(×) 信息建模方法是从数据的角度来建立信息模型的,最常用的描述信息模型的方法是 E-R 图。(√) 用于需求分析的软件工具,应该能够保证需求的正确性,即验证需求的一致性、完整性、现实性和有效性。(√) PDL经常表现为一种"混杂"的形式,他不允许自然语言如英语的词汇与某种结构化程序设计语言(如Pascal,C,Ada等)的语法结构交织在一起.(X) 设计阶段的输出是编码阶段的输入.(√) 通过软件测试,可以发现软件中所有潜伏的错误.(X) 非结构化维护用于软件的配置中只有源代码维护.(√) 系统规格说明是系统分析和定义阶段生成的一种文档.(√) 数据流图的分解速度应保持较高.通常一个加工每次可分解为10~20个子加工.(X) 内聚度标志一个模块内部各成分彼此结合的紧密程度,按其高低程度可分为七级,内聚度越低越好.(X) 文档记录软件开发活动和阶段成果,具有永久性,可供人或机器阅读.(√) 生产高质量的软件产品是软件工程的首要目标.(√) 软件开发人员对用户需求的理解有偏差,这将导致软件产品与用户的需求不一致,是产生软件危机的唯一原因.(X) 开发一个软件项目总存在某些不确定性,即存在风险.有些风险如果控制得不好,可能导致灾难性的后果.(√) 结构化维护用于待维护的软件的配置是完整的维护.(√) 用户本身的技能,个性上的差异,行为方式的不同,不会对人机界面使用造成影响.(X 程序的可靠性,可维护性和效率通常由程序设计语言,源代码的质量,和语言的实现机制

软件需求分析复习题

软件需求分析复习题 一、判断题 1、使用实例方法可以使用户更清楚地认识到新系统允许他做什么,那么我们就 应该试图把每一个需求与一个使用实例相联系,尽可能多的使用实例。( F)2、在状态图中定义的状态主要有:初态(即初始状态),终态(即最终状态)和中 间状态,在一张状态图中只能有一个初态,而终态则可以有0至多个。(T ) 3、结构化分析方法适合于数据处理类型软件的需求分析。(T) 4、数据流图中每个加工至少有一个输入数据流,但可以没有输出数据流。(F) 5、DFD与数据流程图的区别是程序流程图用于表示程序的过程设计,DFD用作 描述软件的逻辑功能,不能表示程序的控制结构。(T) 6、属性是指实体某一方面的特征,一个实体通常有多个属性。联系也可以有属 性。(T) 7、软件需求描述的是“如何做”,而不是“做什么”。(F) 8、软件成功的标准是用户在用,并且可以很容易做完要做的事。(T) 9、业务规则包括企业方针、政府条例、工业标准、会计准则和计算方法等。业 务规划本身就是软件需求。(F) 10、软件需求的层次包括业务需求、用户需求、功能需求。(T) 二、选择题 1.需求分析最终结果是产生(C ) A.项目开发计划B.可行性分析报告C.需求规格说明书D.设计说明书 2.需求分析中,开发人员要从用户那里解决的最重要的问题是(A ) A.让软件做什么B.要给软件提供哪些信息C.需求软件工作效率怎样D.让软件具有何种结构 3.需求规格说明书的内容不应包括对(B )的描述。 A.主要功能B.算法的详细过程C.用户界面的运行环境D.软件性能

4.需求规格说明书的作用不应包括(D ) A.软件设计的依据B.用户与开发人员对软件要做什么的共同理解C.软件验收的依据D.软件可行性研究的依据 5.下面关于面向对象方法中消息的叙述,不正确的是(B ) A.键盘,鼠标,通信端口、网络等设备——有变化,就会产生消息 B.操作系统不断向应用程序发送消息,但应用程序不能向操作系统发送消息C.应用程序之间可以相互发送消息 D.发送与接收消息的通信机制与传统的子程序调用机制不同 6.面向对象技术中,对象是类的实例。对象有三种成分(A )、属性和方法(或操作)。 A.标识B.规则C.封装D.消息 7.软件需求分析阶段的工作,可以分成以下四个方面:对问题的识别、分析与综合、制定规格说明以及( C ) A.总结B.实践性报告C.需求分析评审D.以上答案都不正确8.软件需求规格说明书的内容不应包括对(B )的描述。 A.主要功能B.算法的详细过程C.用户界面及运行环境D.软件的性能 9. 软件需求分析阶段的工作,可以分成4个方面:需求获取,需求分析,编写需求规格说明书以及( B ) A.用户B.需求评审C.总结D.都不正确 10.在原型法中,开发人员根据(A)的需求不断修改原型,直到满足客户要求为止。 A.用户B.开发人员C.系统分析员D.程序员 11.需求验证应该从下述几个方面进行验证:(C ) A.可靠性、可用性、易用性、重用性 B.可维护性、可移植性、可重用性、可测试性 C.一致性、现实性、完整性、有效性 D.功能性、非功能性 12.风险管理的要素包括哪项(D ) A.风险评价B.风险避免C.风险控制D.以上都是 13.下列描述中错误的是(D ) A.每一个集成的需求变更必须能跟踪到一个经核准的变更请求 B.变更过程应该做成文档,尽可能简单,当然首要的是有效性 C.所有需求变更必须遵循过程,按照此过程,如果一个变更需求未被采纳,则其后过程不再予以考虑

相关文档
最新文档