【系统分析师之路】第六章 需求工程(习题汇总)

【系统分析师之路】第六章 需求工程(习题汇总)

■考查形式
年份 案例与论文考察知识点
2016年上半年 面向对象中类的分类,活动图,状态图
2014年上半年 软件需求的获取
2013年上半年 面向对象分析中的用例建模
2010年上半年 PIECES方法,因果图,需求定义文档
2017年上半年 论软件需求分析方法及应用
2017年上半年 论数据流图在系统分析与应用设计中的应用
2016年上半年 论软件需求验证方法及应用
2013年上半年 论面向对象建模方法的应用
2012年上半年 论软件需求管理及应用
2011年上半年 论联合需求计划在系统需求获取中的应用
■知识点汇总

需求工程知识点
需求定义包括严格定义法和原型法。
SRS做成步骤:用结构化和自然语言编写文本型文档,建立图形化模型,编写形式化规格说明。
严格定义法:
1.所有需求都能够被预先定义
2.开发人员和用户之间可以准确而清晰的交流
3.采用图形/文字可以充分体现最终系统
原型定义法:
1.并非所有的需求都能在开发前被准确说明
2.项目参加者之间通常都存在交流的困难
3.需要实际的,可供用户参与的系统模型
4.有合适的系统开发环境
5.反复是完成需要和值得提倡的,需求一旦确定就应遵从严格的方法
需求验证包括需求评审和需求测试,需求评审又包含了正式评审和非正式评审。
需求的风险有哪些?
1.无足够用户参与
2.忽略了用户分类
3.用户需求的不断增长
4.模凌两可的需求
5.不必要的特征
6.过于精简的SRS
7.不够准确的估算

■习题汇总

冲刺习题

01.在软件需求过程中,需求管理贯穿整个过程,需求管理最基本的任务是明确需求,并使项目团队和用户达成共识。即建立()
A.需求跟踪说明
B.需求分析计划
C.需求变更管理文档
D.需求基线

解答:答案选择D。需求是软件项目成功的核心所在,它为其他许多技术和管理活动奠定基础。在软件需求工程中,需求管理贯穿整个过程。需求管理最基本的任务是明确需求,并使项目团队和用户达成共识,即建立需求基线。
需求管理支持需求开发,需求开发包括了需求获取,需求分析,需求定义,需求验证四个部分。

02.软件需求管理是软件项目开发过程中是软件项目开发过程中控制和维持需求约定的活动,包括()版本控制,需求跟踪,需求状态跟踪等活动。
A.需求发现
B.需求变更控制
C.需求排序
D.需求评估

解答:答案选择B。在整个项目管理中做需求管理,最核心的就是做需求的变更。很多项目失败就是因为需求没有管理好。

03.某软件公司正在承担开发一个字处理器的任务,在需求分析阶段,公司的相关人员整理出一些相关的系统需求,其中,找出文档中的编写错误并提供一个替换项列表来供选择替换拼错的词,这属于();“显示提供替换词的对话框以及实现整个文档范围的替换”,它属于();“用户能有效地纠正文档中的拼写错误”属于()。
A.业务需求
B.用户需求
C.功能需求
D.性能需求

解答:答案选择B|C|A。本题需要做横向对比去界定选项,需求分类也是纯理论的东西,没有绝对的对与错。非功能需求会有数值性的指标。比如响应时间是多少秒,吞吐率是多少等。其中第一个选项是一个很小的很明确的需求,第三个是相对层次较高的需求,所以先推出第三个是业务需求。实现整个文档范围的替换接近是功能上面的约定,所以接近是功能需求。替换列表做功能选择是用户操作中的一个动作,所以是用户需求。
软件需求分类为:业务需求(整体全局),用户需求(用户视角),系统需求(计算机化包括了功能需求,非功能需求和设计约束)。业务需求目标高度看待问题。功能需求看用例,非功能需求看场景。
软件需求按照QFD分类:基本需求(明示常规需求),期望需求(隐含)和兴奋需求(多余)

04.详细调查的目标是获取企业业务处理的方法,深入了解系统的处理流程,确定用户需求,详细调查强调科学合理,根据预获取信息的不同,调查方法也各不相同。要想获取用户对系统的想法和建议等定性特征,则()方法比较合适;若想获取系统某些较为复杂的流程和操作过程,则()方法比较合适。
A.抽样调查
B.阅读历史文档
C.开调查会
D.现场观摩

解答:答案选择C|D。现场观摩针对的是较为复杂的流程和操作;

  • 抽样调查:目的是降低成本,样本大小=阿尔法*(可信度系数/可接受的错误)的平方。
  • 情节串联板:就是原型法的一个应用。
  • 用户访谈:一般采用一对三,需要提前选取干系人,而且成本高。
  • 联合需求计划:高度组织的群体会议,各方参与,成本高。
  • 阅读历史文档:对收集数据性的信息较为有用。
  • 问卷调查:用户多无法一一访谈,但需要提前设计问题。
  • 参加业务实践:有效的发现问题的本质,和寻找问题的解决方法。

05.某医院预约系统的部分需求为:患者可以查看医院发布的专家特长介绍及其就诊时间;系统记录患者信息,患者预约特定时间就诊。用DFD对其功能建模时,患者是()。用ERD对其进行数据建模时,患者是()。
A.外部实体
B.加工
C.数据流
D.数据存储
A.实体
B.属性
C.联系
D.弱实体

解答:答案选择A|A。什么是弱实体?员工包括了经理和服务员,但在数据库中没有分经理和服务员,于是我们就叫经理和服务员为弱实体。它不是真实存在的实体而是一个虚的概念,弱实体就是依附于某个实体。
DFD图是一种功能模型;状态转换图是一种行为模型;ER图是一种数据模型。这三个模型都需要数据字典来支撑和说明。
数据字典包括了:数据元素,数据结构,数据流,数据存储,加工逻辑,外部实体。
DFD图由四个部分组成:数据流,加工,数据存储和外部实体。

  1. 加工是一个圆圈,代表处理的意思如果加工在顶层图中,它可以分解为0层图,1层图,2层图等。
  2. 数据流:用箭头来标识数据流向的说明。
  3. 数据存储:使用两根平行线来表示,是数据流中需要存储的内容。
  4. 外部实体:使用长方形来表示。需要与系统交互的实体,一般在系统的外部。

06.()是一种最常用的结构化分析工具,它从数据传递和加工的角度,以图形的方式刻画系统内数据的运行情况;通常使用()作为该工具的补充说明。
A.数据流图
B.数据字典
C.ER图
D.判定表

解答:答案选择A|B。
如果类图能够取代ER模型,那么不画ER图也是可以的。ER模型是结构化分析的一个工具。

07.雇员类含有计算报酬的行为,利用了面向对象的(),可以使得其派生类专职雇员类和兼职雇员类计算报酬的行为有相同的名称,但有不同的计算方法。
A.多态性
B.继承性
C.封装性
D.复用性

解答:答案选择A。

08.面向对象技术中,对已有实例的特征稍作改变就可生成其他的实例,这种方法称为()。
A.委托
B.代理
C.继承
D.封装

解答:答案选择C。

09.在UML的通用机制中,()用于把元素组织成组;()是系统中遵从一组接口规范且付诸实现的物理的,可替换的软件模块。
A.包
B.类
C.接口
D.构件

解答:答案选择A|D。

10.关于用例和类,错误的说法是()
A.两者都属于模型图的构成元素
B.存在抽象用例和抽象类
C.类图描述系统部分静态视图,用例图描述系统与用户之间的交互视图
D.两者都可以用来描述系统的内部结构

解答:答案选择D。用例图一般不用来描述内部结构的,所以D是不对的。
抽象用例在包含关系中就有。用例图为必能够描述系统的内部结构。相比之下D是比较合理的。

11.采用UML分析用户需求时,用例UC1可以出现在UC2出现的任何位置,那么UC1和UC2之间的关系是()
A.include
B.extend
C.generalize
D.call

解答:答案选择C。里氏替换原则,比如斑马可以代替马。依赖关系既有包含关系也有扩展关系。包含是没有一种父子信息的,而泛化有这个父子信息。
包含用例的箭头是指向被包含的部分。
扩展的箭头指向的是基本用例。

12.在某银行业务的用例模型中,取款用例需要等到存款用例执行之后才能执行,两个用例之间的关系属于(),存款和取款这两个用例中都需要执行余额查询的功能,将查询余额提取成独立的用例,那么存款与取款用例和查询余额用例之间的关系属于()。
A.关联关系
B.扩展关系
C.使用关系
D.依赖关系

解答:答案选择D|C。聚合关系整体和部分的生命周期是不同的,而组合关系是整体和部分的生命周期是相同的。

  • 依赖关系:一个事物发生变化影响到另一个事物。
  • 泛化关系:特殊一般化的关系。
  • 实现关系:类与接口之间的关系。
  • 关联关系:分为聚合关系和组合关系两种。

13.某公司开发一个在线交易系统,为了能够准确表达用户与系统的复杂交互过程,应该采用UML的()进行交互过程的建模。
A.类图
B.顺序图
C.部署图
D.对象图

解答:答案选择B。关键字是用户与系统。

14.()适用于描述复杂算法的执行流程。
A.活动图
B.状态图
C.类图
D.用例图

解答:答案选择A。活动图指出并发,还可以用泳道来表示。泳道可以用来描述客户,供应商等不同的角色完成不同的功能的图。活动图中的县可以理解为控制流。
通信图强调对象之间的组织结构(关系)。

15.UML用关系把事物连接在了一起,()描述了一个事物发生变化会影响另一个事物的语义;()描述特殊元素的对象可替换为一般元素的对象。
A.聚合关系
B.关联关系
C.泛化关系
D.依赖关系

解答:答案选择D|C。

16.面向对象分析的一项重要任务是发现潜在对象并进行筛选,错误的做法是删除()
A.系统范围之外的名词。
B.表示事件的名词。
C.不具有独特行为的名词。
D.一个对象的同义词。

解答:答案选择B。表示事件的名词可以作为对象。同义词是可以删除的,不具有独特行为的名词可以考虑作为属性而不是对象。并不是所有的名词都表示了问题域内有用的业务对象,通过删除对象的同义词、系统范围之外的名词、不具有独特行为的名词、不清楚的名词和另一个对象的行动或属性的名词来最终清理候选对象列表。

17.面向对象分析的一个重要任务不包含()
A.建模系统功能
B.发现并确定业务对象
C.建模个对象的状态
D.组织对象并确定对象间的关系

解答:答案选择C。哪一个最细致,就是分析阶段不包含的关系。业务对象的状态是一个很细致的内容,可以把它放在设计阶段。

18.UML的事物是对模型中最具有代表性的成分的抽象,()是模型的静态部分,描述概念或物理元素;()用来描述,说明和标注模型的任何元素。
A.结构事物
B.分组事物
C.行为事物
D.注释事物

解答:答案选择A|D。结构事物是最静态的部分,包括了类,接口,协作,用例,活动类,构件和节点。
分组事物:看成是一个盒子,如包,构件。
行为事物:代表时间和空间上的动作。
注释事物:UML模型的解释部分。描述,说明和标注模型的元素。
UML的事物,关系和图构成了UML的构造块。

19.需求分析是一种软件工程活动,它在系统级软件分配和软件设计间起到桥梁的作用。需求分析使得系统工程师能够刻画出软件的(),指明软件和其他系统元素的接口,并建立软件必须满足的约束。需求分析是发现,求精,建模和规约的过程。包括详细的精化由系统工程师建立并在软件项目计划中精化的软件范围,创建所需数据,信息和()以及操作行为的模型,此外还有分析可选择的解决方案,并将它们分配到各软件元素中去。
A.功能和性能
B.数据和操作
C.实体和对象
D.操作和对象
A.事件流
B.消息流
C.对象流
D.控制流

解答:答案选择A|D。结构化时代提到的最多的两个流就是:数据流和控制流。数据流代表数据的传递。
与知识相关的有:大数据,商业智能,专家系统会有知识库的东西。

20.面向对象系统中有两种基本的复用方式:框架复用和类库复用。下列关于框架和类库的描述不正确的是()
A.框架是一个半成品的应用程序
B.类库只包含一系列可以被应用程序调用的类
C.框架会为一个特定的目的实现一个基本的,可执行的架构
D.类库是框架的一种扩展形式

解答:答案选择D。说反了。框架才是类的一种扩展形式。

21.一个大型软件系统的需求通常是会发生变化的,以下关于变更策略的叙述中错误的是()
A.所有需求变更必须遵循变更控制流程
B.对于未获得核准的变更,不应该做变更实现工作
C.完成了对某个需求的变更之后,就可以删除或者修改变更请求的原始文档
D.每一个集成的需求变更必须能追溯到一个经核准的变更请求

解答:答案选择C。

22.UML采用4+1视图来描述软件和软件开发过程,其中()描绘了所设计的并发与同步结构;()表示软件到硬件的映射结构;UML的类图可以用来表示4+1视图中的()。
A.实现视图
B.进程视图
C.逻辑视图
D.部署视图

解答:答案选择B|D|C。

23.某软件项目实施过程中产生的一个文档的主要内容如下所示。该文档的主要作用是()
A.工作分解
B.测试说明
C.需求跟踪
D.设计验证

需求识别 需求规格说明书 设计说明书 源代码库 测试用例库
功能R001 2.1节 6.2节 a.java,b.Java 用例01,用例02
功能R002 .

解答:答案选择C。

24.某公司物流企业开发一套库存管理系统,该系统的需求陈述如下: 1)库存管理系统主要包括货物入库管理,货物出货管理,仓库管理,统计报表,系统管理等功能
2)库存管理系统的用户包含仓库管理员,仓库经理,系统管理员,用户必须在注册后才能够使用系统功能,用户可以使用邮件或者电话来注册。
3)仓库管理员在进行出入库操作前必须先登录,仓库经理可以通过系统查看统计报表,如果前一个月的报表未生成,则系统自动生成统计报表,否则直接显示。
4)系统管理员可以在系统中设置仓库温度范围,当仓库内的温度高于最高值或者低于最低值时,系统自动调用温控管理操作,连接温控调节系统进行制冷或制热。
5)仓库管理功能要求每个月1日零点前对前一个月货物入库和出库记录进行数据汇总操作,项目组决定构造用例模型以描述系统需求。
【问题1】
用例建模的首要任务是识别系统中的参与者,请根据题目中所描述的需求,识别出系统中有哪些参与者
【问题2】
用例建模的主要工作是书写用例规约,用例规约通常包括哪几部分内容?
【问题3】
建立了用例模型后,可以利用用例之间的关系调整用例模型,用例之间的关系包括哪几种,对于每一种关系,请根据题目中所描述的需求,分别给出一组用例。

解答:
【问题1】
仓库管理员,系统管理员,仓库经理,温控调节系统,统计报表,温控管理操作。
时间,温度。
【问题2】
用例名称,简要说明,事件流,非功能需求,前置条件,后置条件,扩展点,优先级。
【问题3】
泛化关系,包含关系和扩展关系。
用户注册,电话注册和邮件注册属于典型的泛化关系。
出入库操作和登录是包含关系
查看统计报表与生成统计报表是扩展关系。

发布了513 篇原创文章 · 获赞 299 · 访问量 89万+

猜你喜欢

转载自blog.csdn.net/Last_Impression/article/details/104119768