软件需求分析复习题 下载本文

软件需求分析复习题

一、 判断题

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.所有需求变更必须遵循过程,按照此过程,如果一个变更需求未被采纳,则其后过程不再予以考虑

D.可以从数据库中删除或修改变更请求的原始文档

三、填空题

1. 需求分析阶段研究对象是软件项目的 用户需求

2. 在软件需求分析阶段, 开发人员 要准确理解 用户 的要求,进行细致的 需求分析 ,将非形式的需求陈述转化为完整的 需求定义 ,最后将其转换到相应的形式主意功能规约 需求规格说明 的过程。

3. 需求获取 是从人、文档或者环境当中获取需求的过程,需求工程师必须要利用各种方法和技术来“发现”需求。

4. 需求分析阶段产生的重要的文档是 需求规格说明书 。 5. 需求分析的主要任务是 确定软件系统功能 。

6. 需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是 功能 需求。

四、名词解释

1.需求获取

需求获取就是从人员、资料和环境中得到系统开发所需要的相关信息的过程。

2.需求规格说明

需求规格说明就是将需求及其软件解决方案进行定义和文档化,并传递给开发人员的需求工程活动。

3.需求基线

需求基线就是被明确和固定的需求集合,是项目团队需要在某一特定产品版本中实现的特征和需求的集合。

4.需求验证

需求验证是为了尽量不给设计、实现、测试等后继开发活动带来不必要的影响,对需求规格说明文档中定义的需求是否正确、准确地反应用户的意图进行验证的一个活动。

五、问答题

1.需求分析阶段的基本任务是什么?

需求分析的基本任务 1.问题识别

(1) 功能需求:明确所开发的软件必须具备什么样的功能。 (2) 性能需求:明确待开发的软件的技术性能指标。

(3) 环境需求:明确软件运行时所需要的软、硬件的要求。 (4) 用户界面需求:明确人机交互方式、输入输出数据格式。 2. 分析与综合,导出软件的逻辑模型

分析人员对获取的需求,进行一致性的分析检查,在分析、综合中逐步细化软件功能,划分成各个子功能。用图文结合的形式,建立起新系统的逻辑模型。 3. 编写文档

(1) 编写“需求规格说明书”,把双方共同的理解与分析结果用规范的方式描述出来,作为今后各项工作的基础。

(2) 编写初步用户使用手册,着重反映被开发软件的用户功能界面和用户使用的具体要求,用户手册能强制分析人员从用户使用的观点考虑软件。 (3) 编写确认测试计划,作为今后确认和验收的依据。

(4) 修改完善软件开发计划。在需求分析阶段对待开发的系统有了更进一步的了解,所以能更准确地估计开发成本、进度及资源要求,因此对原计划要进行适当修正。

2.需求分析阶段需要执行哪些活动?

①问题分析

对问题进行分析,定义解决方案 ②确定系统边界

将所有问题的解决方案进行综合,就可以得到整个解系统的功能和边界 ③需求建模

对需求进行建模,完成从问题世界向计算机世界的转换 ④需求细化

明确用户需求的隐含信息,展开为明确的对软件系统的行为期望,即系统需求。 ⑤确定需求优先级

对需求进行分级,保证等级更高的需求得到更多的实现保证 ⑥需求协商

检测冲突的存在,并提供信息以帮助和引导协商活动的开展

3.需求分析的目的是什么?难点在哪里?需求分析为什么特别重要?

需求分析的目的是解决系统是“做什么”的问题。难点在于 (1) 客户常常并非计算机专业出生,难以描述清楚需求 (2) 需求自身经常变动 (3) 分析人员或客户理解有误。需求分析就是分析软件用户的需求是什么,如果投入大量的人力,

物力,财力,时间,开发出的软件却没人要,那所有的投入都是徒劳.如果费了很大的精力,开发一个软件,最后却不满足用户的要求,从而要重新开发过,这种返工是让人痛心疾首的。需求分析之所以重要,就因为他具有决策性,方向性,策略性的作用,他在软件开发的过程中具有举足轻重的地位。

4.需求规格说明书由哪些部分组成?各部分之间的关系是什么?

答:软件需求说明书一般包括如下内容:

1)引言部分 编写目的;项目背景 (应包括:a.项目的委托单位、开发单位和主管部门;b.该软件系统与其他系统的关系。) ;定义;(列出文档中所用到的专门术语的定义和缩写词的原文。)参考资料。

2)任务概述 目标;运行环境;条件与限制。

3)数据描述 静态数据;动态数据 (包括输入数据和输出数据) ;数据库描述 (给出使用数据库的名称和类型) ;数据词典;数据采集。

4)功能要求 功能划分;功能描述。

5)性能需求 数据精确度;时间特性(如响应时间、更新处理时间、数据转换与传输时间、运行时间等);适应性(在操作方式、运行环境、与其他软件的接口以及开发计划等发生变化时,应具有的适应能力。)

6)运行需求 用户界面(如屏幕格式、报表格式、菜单格式、输入输出时间等);硬件接口;软件接口;故障处理。

7)其他要求 如可使用性、安全保密、可维护性、可移植性等。

8)附录

5.假设现在由你来负责所在学校选课系统的需求工作,现在需要你来安排一次群体面谈,你打算怎么做?

(1)计划面谈:确定参与人员,安排会谈时间,选择会谈地点,准备会谈内容 (2)主持面谈:①建立基本规则 ②保持会议气氛 3确保每个人都积极参与讨论 ④控制会议的主题 (3)分析结果

6.需求获取常见的方法有哪些?

需求获取常见的方法有:面谈,调查表,观察,原型

7.如何有效的处理需求的变化是很多现代软件开发技术的主题,请从需求变更的原因,一般过程以及控制对策等方面谈谈你的看法。

需求变更的原因有:①问题放生了改变 ②环境发生了改变 ③需求基线存在缺陷 另一些因素:用户变动,用户对软件的认识变化,相关产品的出现 一般过程书P390

在形成需求基线之后,进行需求的变更控制 看法自己看P388起书上内容然后展开。

8.业务需求,用户需求和软件需求(系统需求)有什么关系?

业务需求:表示组织或客户高层次的目标。描述了组织希望达到的目标,用前景和范围文档来记录 用户需求:用户的目标或者用户要求系统必须完成的任务。描述了用户能使用系统来做些什么,用用例、场景描述和事件-响应表来表达。

功能需求(行为需求):规定开发人员必须在产品中实现的软件功能,用户利用这些软件功能来完成任务,满足业务需求。描述了开发人员应该(需要)实现什么,用SRS(软件需求规格说明书)来记录。 关系是逐步深入。

六、应用题(共24分,每小题12分)

1. 进行需求文档写作时主要有三种手段:形式化语言、非形式化语言和半形式化语言,请:(1)说明这三种手段的不同及各自的优缺点,以表达“每本书至少有一个作者”为例;(2)说明在实践当中,应该怎样综合运用这三种手段。 P342

2. 下面是一段用例描述,针对一个汽车保险系统中“将一辆新车加入一个已有保单中”的用例:(1)客户打电话给保险公司,并提供他的保单号,办事员输入这个信息,系统显示基本的保单,然后办事员检查信息,以确保保险费通用及保单有效;(2)客户给出要添加的汽车牌子、模型、年份和车辆识别代号(VIN),办事员输入这些信息系统验证这些数据是否有效。然后客户选择期望的保额类型,以及每种类型的数量,办事员输入这些信息,系统会逐一记录并根据保单限制验证所请求的数量。输入所有的保额后,系统验证保额总和,包括保单上的其他汽车;(3)最后,客户必须要确认所有的驾驶员,以及他们驾驶汽车的时间比例。如果有一个新驾驶员加入,则调用另一个用例“增加新驾驶员”;(4)

整个过程最后,系统更新保单,计算新的保险费,打印新的保单说明,邮寄给保单所有人。

请你为其设计:(1)领域模型(要求给出建立过程);(2)活动图