软件需求分析复习题.docx
《软件需求分析复习题.docx》由会员分享,可在线阅读,更多相关《软件需求分析复习题.docx(10页珍藏版)》请在冰豆网上搜索。
![软件需求分析复习题.docx](https://file1.bdocx.com/fileroot1/2023-3/30/278dd202-c845-4935-8ab5-0a6cc065c6b9/278dd202-c845-4935-8ab5-0a6cc065c6b91.gif)
软件需求分析复习题
软件需求分析复习题
一、判断题
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)活动图