软件需求分析习题汇编.docx
- 文档编号:6583366
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:25
- 大小:41.93KB
软件需求分析习题汇编.docx
《软件需求分析习题汇编.docx》由会员分享,可在线阅读,更多相关《软件需求分析习题汇编.docx(25页珍藏版)》请在冰豆网上搜索。
软件需求分析习题汇编
习题集
一、单项选择题
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性能需求
11、需求分析过程应该建立3种模型,它们分别是数据模型、功能模型、行为模型。
以下几种图形中,(B)属于功能模型,(A)属于数据模型,(C)属于行为模型。
A实体-联系图(ERD)B数据流图(DFD)C状态转换图(STD)D鱼骨图
12、常用的需求分析方法有:
面向数据流的结构化分析方法(SA),面向对象的分析方法(OOA),下列(D)不是结构化分析方法的图形工具。
A决策树B数据流图C数据字典D快速原型
13、软件开发中,原型是软件的一个早期可运行的版本,它反映最终系统的部分重要特性。
其中,(B)和(C)用完就可以丢弃,而(A)围绕原型修改、增加。
A进化型B探索型C实验型D以上都是
14、(D)用于描述数据的处理过程。
A数据字典B决策树C决策表D数据流图
15、DFD的基本符号不包括下列哪种(A)
A数据字典B加工C外部实体D数据流E数据存储文件
16、DD的主要字典条目包括以下哪种(E)
A数据流B文件C数据项D加工E以上都是
17、常用的动态分析方法不包括以下哪种(B)
A状态迁移图B层次方框图C时序图DPetri网
18、需求分析阶段的文档包括以下哪些(E)
A软件需求规格说明书B数据要求说明书C初步的用户手册D修改、完善与确定软件开发实施计划E以上都是
19、需求验证应该从下述几个方面进行验证:
(C)
A可靠性、可用性、易用性、重用性B可维护性、可移植性、可重用性、可测试性
C一致性、现实性、完整性、有效性D功能性、非功能性
20、风险管理的要素包括哪项(D)
A风险评价B风险避免C风险控制D以上都是
21、下列描述中错误的是(D)
A每一个集成的需求变更必须能跟踪到一个经核准的变更请求。
B变更过程应该做成文档,尽可能简单,当然首要的是有效性。
C所有需求变更必须遵循过程,按照此过程,如果一个变更需求未被采纳,则其后过程不再予以考虑。
D可以从数据库中删除或修改变更请求的原始文档。
二、填空题
1、需求分析阶段产生的最重要的文档是(需求分析说明书)。
2、需求分析的主要任务是(要回答“软件必须做什么?
”)。
3、需求分析阶段,分析人员要确定对问题的综合需求,其中最主要的是(功能)需求。
4、需求分析阶段研究的对象是软件项目的(用户要求)。
5、软件生命周期:
问题定义、可行性研究、需求分析、总体设计、详细设计、编码和单元测试、综合测试、软件维护。
6、信息系统必须实现的功能,或者说信息系统必须具备的属性和质量称为(系统需求(需求))。
7、(模型)是为了理解事物而对事物做出的一种抽象,是对事物的一种无歧义的书面描述。
通常,由一组图形符号和组织这些符号的规则组成。
8、软件需求分析阶段的目的是澄清用户的要求,并把双方共同的理解明确地表达成一份书面文档——(软件需求规格说明书)。
9、软件需求分类,分为(功能性)需求和(非功能性)需求。
10、需求分析的步骤包括(需求获取)、(分析建模)、文档编写、需求验证。
11、鱼骨图是一种用于确定、探索和描述问题及其原因和结果的图形工具,又被称为(因果图)。
12、大多数的需求分析方法是由信息驱动的,信息域具有三种属性:
(信息流)、(信息内容)和信息结构。
13、在软件开发中,使用原型时可采取两种不同的策略,即:
(废弃)策略和(追加)策略。
三、名词解释
1、需求分析:
开发人员要准确理解用户的要求,进行细致的调查分析,将用户非形式的需求陈述转化为完整的需求定义,再由需求定义转换到相应的形式主义功能规约(需求规格说明)的过程。
2、软件需求:
IEEE软件工程标准词汇表中定义需求为:
用户解决问题或达到目标所需的条件或权能;系统或系统部件要满足合同、标准、规范或其他正式规定文档所需具有的条件或权能;一种反映上面
(1)或
(2)所描述的条件或权能的文档说明。
3、需求工程:
整个软件需求范围内所进行的活动称为需求工程,需求工程包括需求开发和需求管理两部分,需求开发包括问题获取、分析、编写规格说明和验证。
4、业务模型:
业务模型是理解一个组织业务过程的技术。
可以用业务用例模型和业务对象模型来表达业务模型。
业务用例模型是分别从与业务过程和客户对应的业务用例和业务参与者的角度来描述企业的业务过程;业务对象模型描述了如何由一组工作人员使用一些业务实体和工作单元来实现每个业务用例。
5、原型开发方法:
一个软件原型是所提出的新产品的部分实现,使用原型有三个主要目的:
1)明确并完善需求,2)探索设计选择方案,3)发展成为最终的产品。
建立原型的主要原因是为了解决在产品开发的早期阶段不确定的问题。
原型可分为抛弃型原型和进化型原型。
6、数据字典:
一个定义应用程序中使用的所有数据元素和结构的含义、类型、数据大小、格式、度量单位、精度以及允许取值范围的共享仓库。
四、简答题
1、生命周期模型是什么?
常见的生命周期模型有哪几种?
答:
对软件开发流程的一种描述;为解决问题所定义的策略;对典型开发活动的抽象。
常见的生命周期模型:
Waterfall,Prototyping,Phased,Spiral.
2、为什么要使用生命周期模型?
答:
帮助开发组了解他们在开发项目中的活动、资源和限制;帮助项目了解在开发过程中的不一致,丢失,冗余等情况,把注意力集中在开发最终的产品上;帮助项目组裁剪开发过程--没有基础就无从裁剪。
3、Waterfall的优势是什么?
答:
具有良好定义的里程碑;利于向不熟悉软件开发的客户讲解流程;帮助开发人员理解需要做的事情;清楚地描述下阶段开始前需要的中间产品;是很多其他LC模型的基础。
4、需求分析阶段的基本任务是什么?
答:
需求分析阶段的基本任务是:
(1).问题识别:
双方对问题的综合需求:
a.功能需求b.性能需求c.环境需求d.用户界面需求.
(2).分析与综合,导出软件的逻辑模型.
(3).编写文档
五、问答题
1、软件过程的概念及分类,基本过程包含些什么及每个过程的具体内容。
答:
软件过程也称为软件生存周期过程或软件过程组,是指软件生存周期中的一系列相关过程。
过程就是活动的集合,活动是任务的集合,任务则起到把输入加工成输出的作用。
活动的执行可以是顺序的、迭代的(重复的)、并行的、嵌套的或是有条件引发的。
软件过程可以分为三类:
基本过程、支持过程和组织过程。
基本过程包括:
1)获取过程:
(项目委托方)确定需求;招标;签订合同;对供应方的监督;验收完成。
2)供应过程:
(项目承包方)理解需求;投标;签订合同;计划;实施;控制;评审评价;交付。
3)开发过程:
(软件开发人员)过程实施准备;系统需求分析;系统结构设计;软件需求分析;软件体系结构设计;软件详细设计;软件编码和测试;软件集成;软件合格测试;系统集成;系统合格测试;软件安装;验收支持。
4)运行过程:
(用户)运行准备;运行测试;产品转移;运行;运行支持;运行评价。
5)维护过程:
(维护人员)过程实施准备;问题分析和修改设计;修改实施;对维护的评审和验收;软件移植;软件退役。
2、简述软件需求工程分为哪几类?
其中需求获取和需求规约目的和任务。
答:
软件需求工程细分为:
需求获取、需求分析与协商、系统建模、需求规约、需求验证和需求管理六个阶段。
需求获取:
系统分析人员通过与用户的交流、对现有系统的观察及对任务进行分析,确定系统或产品范围的限制性描述、与系统或产品有关的人员及特征列表、系统的技术环境的描述、系统功能的列表及应用于每个需求的领域限制、一组描述不同运行条件下系统或产品使用状况的应用场景以及为更好地定义需求而开发的任意原型。
需求获取的工作产品为进行需求分析提供了基础,为后期开发设计人员提供需求分析报告。
需求规约:
软件需求规约是分析任务的最终产物,通过建立完整的信息描述、详细的功能和行为描述、性能需求和设计约束的说明、合适的验收标准,给出对目标软件的各种需求。
需求规约作为用户和开发者之间的一个协议,在之后的软件工程各个阶段发挥重要作用。
3、简述软件体系结构的概念及基于B/S体系结构的实现方式。
答:
软件体系结构:
软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。
处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组组合连接起来。
B/S结构:
浏览器(客户机)——WEB服务器——数据库服务器
B/S体系结构的实现方式:
B/S模式下的客户机只需安装浏览器软件,无须开发前端应用程序;中间层的Web应用服务器,主要的数据计算和应用都在此完成,因此对中间层服务器的要求较高;后台数据库服务器主要完成数据的管理。
4、用户界面设计三个的任务和目的。
答:
用户界面设计在工作流程上分为结构设计、交互设计、视觉设计三个部分。
1)结构设计:
结构设计也成概念设计 ,是界面设计的骨架。
通过对用户研究和任务分析,制定出产品的整体架构。
基于纸质的的低保真原型(Paper Prototype)可提供用户测试并进行完善。
在结构设计中,目录体系的逻辑分类和语词定义是用户易于理解和操作的重要前提。
2)交互设计:
交互设计的目的是使产品让用户能简单使用。
任何产品功能的实现都是通过人和机器的交互来完成的。
因此,人的因素应作为设计的核心被体现出来。
3)视觉设计:
在结构设计的基础上,参照目标群体的心理模型和任务达成进行视觉设计。
包括色彩、字体、页面等。
视觉设计要达到用户愉悦使用的目的。
5、需求规格说明文档的作者及表现手段。
答:
作者:
项目管理者:
组织安排、提供条件
需求工程师:
负责人、主导人
文档写作人员:
有时会采用,节省需求工程师的时间
涉众(用户):
验证人
表现手段:
非形式化:
自然语言、限制性文本
半形式化:
结构化文本(伪码/结构化英语)、模型语言(图、表)
形式化:
形式化语言(数学语言:
BNF)
6、数据库设计的内容及常用方法。
答:
数据库设计包括数据库的结构设计和数据库的行为设计。
1)数据库的结构设计
数据库的结构设计指是根据给定的应用环境,进行数据库的模式或子模式的设计。
它包括数据库的概念设计、逻辑设计和物理设计。
数据库模式是各应用程序共享的结构,是静态的、稳定的,一经形成后通常情况下是不容易改变的,所以结构设计又称为静态模型设计。
2)数据库的行为设计
数据库的行为设计是指确定数据库用户的行为和动作。
而在数据库系统中,用户的行为和动作指用户对数据库的操作,这些要通过应用程序来实现,所以数据库的行为设计就是应用程序的设计。
用户的行为总是使数据库的内容发生变化,所以行为设计是动态的,行为设计又称为动态模型设计。
数据库常用设计方法:
直观设计法、规范设计法、计算机辅助设计法、自动化设计法。
7、如何正确看待客户?
答:
即使最终用户不是上帝,也算是“上帝”的“亲戚”,同样怠慢不得。
如果项目规模比较大,那么开发方与最终用户的来往就比较多。
如从最终用户那里获取详细的需求,请最终用户试验软件,对最终用户进行培训等等。
8、概括说明如何进行需求分析?
答:
(1)需求分析是指在需求开发过程中,对所获取的需求信息进行分析,及时排除错误和弥补不足,确保需求文档正确地反映用户的真实意图。
(2)分析方法大体有两类:
“问答分析法”和“建模分析法”。
第一:
问答分析方法很简单:
刨根究底地问,如果问题都被解答了,那么需求也就分析清楚了。
一个人可以“自问自答”地分析需求,几个人分析需求则称为“研讨”。
问答分析最重要的问题是:
“是什么”和“为什么”。
其它常见的问题有:
需求存在二义性吗?
需求文档的上下文有矛盾吗?
需求完备吗?
需求是必要的吗?
需求可实现吗?
需求可验证吗?
需求的优先级确定了吗?
第二:
建模分析法:
在需求开发过程中,对于某些类型的信息,用图形表示要比文本表示更加有效。
所以将图形与文本结合起来描述需求是很自然的方法。
需求建模就是指用图形符号来表示、刻画需求。
需求建模不可能取代文字描述。
在需求文档中,文字描述是第一重要的,建模主要是起分析、解释作用。
建议将模型存放在需求文档的附录中,便于正文引用。
建模分析方法主要有两大类:
“结构化分析法”和“面向对象分析法”。
9、概括说明什么是好的需求规格说明书?
答:
第一;正确需求规格说明书应当正确地反映用户的真实意图,“正确”是《产品需求规格说明书》最重要的属性。
第二:
清楚清楚的需求让人易读易懂。
第三:
无二义性“无二义性”是指每个需求只有唯一的含义。
第四:
一致“一致”(Consistent)是指《产品需求规格说明书》中各个需求之间不会发生矛盾。
第五:
必要《产品需求规格说明书》中的各项需求对用户而言应当都是必要的。
第六:
完备“完备”(Complete)是指《产品需求规格说明书》中没有遗漏一些必要的需求。
第七:
可实现《产品需求规格说明书》中的各项需求对开发方而言应当都是可实现的(Attainable)。
第八:
可验证《产品需求规格说明书》中的各项需求对用户方而言应当都是可验证的(Verifiable)。
如果需求是不可验证的,那么用户就无法验收软件,可能会发生商业纠纷。
第九:
确定优先级需求的优先级其实就是需求“轻重缓急”的分级表述,例如划分为“高、中、低”三级。
一般地,由用户和开发方共同确定需求的优先级。
第十:
阐述“做什么”而不是“怎么做”《产品需求规格说明书》的重点是阐述“做什么”,而不是阐述“怎么做”。
“怎么做”是系统设计和实现阶段的事情。
10、如何定义产品说明书?
答:
第一步:
细化并分析用户需求
需求分析员首先对《用户需求说明书》进行细化,对比较复杂的用户需求进行建模分析,以帮助软件开发人员更好地理解需求。
例如采用Rational的Rose工具进行需求的建模分析,建模分析产生的文档可以作为《产品需求规格说明书》的附件。
补充说明:
建模分析的技术难度比较高,需求分析员应当根据自身水平进行取舍。
第二步:
撰写产品需求规格说明书
需求分析员按照指定的文档模板撰写《产品需求规格说明书》。
如果待开发的产品分为软件和硬件两部分的话,则应当撰写《软件需求规格说明书》和《硬件需求规格说明书》。
第三步:
进行需求确认
项目经理邀请同行专家和用户(包括客户和最终用户)一起评审《产品需求规格说明书》,尽最大努力使《产品需求规格说明书》能够正确无误地反映用户的真实意愿。
需求评审之后,开发方和客户方的责任人对《产品需求规格说明书》作书面承诺。
11、需求说明书由哪些部分组成?
各部分之间的关系是什么?
答:
软件需求说明书一般包括如下内容:
1)引言部分编写目的;项目背景(应包括:
a.项目的委托单位、开发单位和主管部门;b.该软件系统与其他系统的关系。
);定义;(列出文档中所用到的专门术语的定义和缩写词的原文。
)参考资料。
2)任务概述目标;运行环境;条件与限制。
3)数据描述静态数据;动态数据(包括输入数据和输出数据);数据库描述(给出使用数据库的名称和类型);数据词典;数据采集。
4)功能要求功能划分;功能描述。
5)性能需求数据精确度;时间特性(如响应时间、更新处理时间、数据转换与传输时间、运行时间等);适应性(在操作方式、运行环境、与其他软件的接口以及开发计划等发生变化时,应具有的适应能力。
)
6)运行需求用户界面(如屏幕格式、报表格式、菜单格式、输入输出时间等);硬件接口;软件接口;故障处理。
7)其他要求如可使用性、安全保密、可维护性、可移植性等。
8)附录。
12、简述优秀软件需求所应具有的特性。
答:
优秀需求所具有的特性:
完整性,正确性,可行性,必要性,划分优先级,无二义性,可验证性。
13、什么是软件需求开发,软件需求开发要做哪些工作?
答:
软件需求开发分为:
问题获取、分析、编写规格说明和验证四个阶段。
包括软件类产品中需求收集、评价、编写文档等所有活动。
包括以下几个方面:
确定产品所期望的用户类。
获取每个用户类的需求。
了解实际用户任务和目标以及这些任务所支持的业务需求。
分析源于用户的信息以区别用户任务需求、功能需求、业务规则、质量属性、建议解决方法和附加信息。
将系统级的需求分为几个子系统,并将需求中的一部分分配给软件组件。
了解相关质量属性的重要性。
商讨实施优先级的划分。
将所收集的用户需求编写成规格说明和模型。
评审需求规格说明,确保对用户需求达到共同的理解与认识,并在整个开发小组接受说明之前将问题都弄清楚。
14、什么是软件需求管理,软件需求管理的主要活动有哪些?
答:
需求管理包括在工程进展过程中维持需求约定集成性和精确性的所有活动,包括:
变更控制,版本控制,需求跟踪和需求状态跟踪。
15、试论述用例(USECASE)在软件需求分析中的地位与作用?
答:
用例描述了系统和一个外部ACTOR的交互顺序,用例表达了系统的功能需求。
在表达系统需求时,用用例图、用例的脚本说明和词汇表等要素来表达系统功能需求,补充规约来表达系统的非功能需求。
16、在开发一个软件系统时,要获取哪些方面的需求?
如何综合利用各种表达工具有效、全面的表达软件的需求?
答:
软件需求包括功能需求、非功能需求,功能需求由用户需求和系统需求转化而成,非功能需求包括质量属性、约束条件和其他非功能需求。
用用例模型(用例图、用例规约)表达系统功能需求;
补充规约表达系统非功能需求;
ER图与数据字典可以表达系统数据需求;
数据流图(DFD)可以表达系统的功能需求;
PETRI网、状态图可以表达系统的实时性需求。
六、分析题
1、在下面的描述中,辨识参与者(ACTOR)和用例(USECASE),并画出一个用例图。
在医生的办公室里,接待员、护士和医生使用病人记录和计划安排系统。
当病人第一次来这里看病时,接待员使用该系统来输入病人信息,并且他们安排所有的预约。
护士使用系统来跟踪病人每次看病的结果并输入护理病人的信息,如医疗和诊断。
护士也可访问这些信息以打印病人诊断结果或病人看病历史。
医生主要用这个系统来查看病人的病史,偶尔也输入病人医疗信息,但通常他让护士输入这些信息。
解:
2、以下是一个简化的网上购物系统的描述:
该系统有3类用户:
游客、用户、管理员。
管理员管理商品类别、商品、用户、订单等基本信息。
用户可以对商品进行浏览、查询,可以把中意的商品放进购物车,并可以对购物车进行管理,最后可以进行结算下订单,可以登录个人用户中心,管理个人相关信息。
游客可以对商品进行浏览、查询,把中意的商品放进购物车,可以对购物车进行管理,但是下订单前需要进行登录。
请同学们按自己的情况在
(一)和
(二)之间选择作答。
(一)用用例图描述本系统的功能需求;绘出该系统的主要实体类关联图(类要给出主要属性)。
(二)
(1)用顶层数据流图和中层数据流图(顶层的下一层)描述本系统的功能需求;
(2)绘出该系统的实体-关系图(要给出主要属性)。
3、围绕本学期你在工作室开发的项目,从需求工程角度展开论述(不少于800字)。
4、根据下列描述,说明新的直接销售和财务处理系统的业务需求有哪些?
EspeciallyforYouJewelers是大学城的一个小珠宝零售商。
在过去的两年里,EspeciallyforYou在它的商业方面经历了极大的发展,可是,它的财务业绩却与它的发展不同步。
现在的事务处理系统部分手动、部分自动,不能有效的追踪客户账单和收据,EspeciallyforYou难以确定为什么它的成本这么高。
此外,EspeciallyforYou频繁地实行特价以吸引顾客。
它不知道这些特价是否有利可图,是否带来其他的销售。
EspeciallyforYou也想增加回头客,所以它需要一个客户数据库。
EspeciallyforYou想按照一个新的直接销售和财务处理系统以帮助解决这些问题。
5、设想你自己就是ATM机的唯一用户:
a)写出你对ATM机系统的用户需求。
b)尝试将用户需求转换为系统(级)需求。
c)除了功能性需求之外,还有哪些需求需要定义?
请你一一写出这些需求。
6、职工福利和工资顾问遇到了一些问题。
她的工作是为雇员提供他们的福利建议。
公司刚刚磋商了一个新的医疗保险方案,这个方案要求雇员从7个保健组织和首选的供应商方案中进行选择。
保健组织和供应商按照雇员的分类、贡献、免赔额、受益人、服务内容和允许的服务提供商而各不相同,目的是尽可能为雇员提供最灵活的福利,用以使公司的花费极小化并控制付给保险商的费用(这将对公司被收取的后续保险费产生一定的影响)。
这个顾问被请来为雇员选择最合适的保险方案。
她目前以手工方式答复这些请求。
但目前的选择比新计划中的选择要直接得多。
她需要解释新的选择:
它们包括什么,不包括什么,它们的费用和可能费用是多少,具有什么优缺点。
但是,雇员对新计划不信任,这种情况迫使她需要向雇员提供更多具体的建议和答复。
她可能不得不为许多雇员逐步建立假定情境——可能的最坏假定情境。
这种假定将要根据每个雇员的收
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 需求 分析 习题 汇编