一、选择题
1.选择题
(1)在需求分析之前有必要进行(
)工作。
A.程序设计
B.可行性研究
C. E-R 分析
D.行为建模
(2)需求分析是一个(
),它应该贯穿于系统的整个生命周期,而不是仅仅属于软件生
命周期早期的一项工作。
A.概念
B.工具
C.方法
D.过程
(3)软件需求规格说明书的内容不应该包括(
A.对重要功能的措述
B.对算法的详细过程措述
C.对数据的要求
D.软件的性能
(4)软件需求分析阶段的工作,可以分为以下4个方面:对间题的识别、分析与综合、编写
需求分析文档以及(
A.总结
B.阶段性报告
C.需求分析评审
D.以上答案都不正确
(5)进行需求分析可使用多种工具,但(
)是不适用的。
A.数据流图
B. PAD 图
C.状态转换图
D.数据词典
(6)数据流图是进行软件需求分析的常用图形工具,其基本图形符号是()。
A.输入、输出、外部实体和加工
B.变换、加工、数据流和存储
C.加工、数据流、数据存储和外部实体D.变换、数据存储、加工和数据流
(7)结构化分析方法的基本思想是(
Do
B.自顶向下逐步分解
A.自底向上逐步分解
D.自顶向下逐步抽象
C.自底向上逐步抽象
(8)在E-R图中,包含以下基本成分(
B.控制、关系、对象
A.数据、对象、实体
D.实体、属性、关系
C.实体、关系、控制
2.判断题
(1)用于需求分析的软件工具,应该能够保证需求的正确性,即验证需求的一致性、完整性
现实性和有效性。
(2)需求分析是开发方的工作,用户的参与度不大。
(3)需求规格说明书在软件开发中具有重要的作用,它也可以作为软件可行性研究的依据。
(4)需求分析的主要目的是解决软件开发的具体方案。
(5)需求规格说明书描述了系统每个功能的具体实现。
(6)非功能需求是从各个角度对系统的约束和限制,反映了应用对软件系统质量和特性的额
外要求。
(7)需求分析阶段的成果主要是需求规格说明书,但该成果与软件设计、编码、测试直至维
护关系不大。
软件工程---理论与实践(附微课视频第2版)
(8)分层的DFD图可以用于可行性研究阶段,措述系统的物理结构。
(9)信息建模方法是从数据的角度来建立信息模型的,最常用的描述信息模型的方法是
10)在需求分析阶段主要采用图形工具来措述的原因是图形的信息量大,便于描述大规模
E-R图。
11)设计数据流图时只需考虑系统必须完成的基本逻辑功能,完全不需要考虑怎样具体地
的软件系统。
实现这些功能。
3.简答题
(1)如何理解需求分析的作用和重要性?
(2)常用的需求获取的方法有哪些?对比各种方法的优缺点。
(3)如何理解结构化需求分析方法的基本思想?
(4)简述数据流图的作用。
(5)简述数据字典的作用。
(6)简述E-R图的作用。
(7)简述状态图的作用。
4.应用题
(1)某图书管理系统具有以下功能。
①借书。输人读者借书证。系统首先检查借书证是否有效,若有效,对于第一次借书的读
者,在借书文件上建立档案,否则,查阅借书文件,检查该读者所借图书是否超过10本,若已
达10本,拒借,未达10本,办理借书(检查该读者借书目录并将借书情况登人借书文件)。
②还书。从借书文件中读出与读者有关的记录,查阅所借日期,如果超期(3个月)就做
罚款处理,否则修改库存目录与借书文件。
③查询。可通过借书文件、库存目录文件查询读者情况、图书借阅情况及库存情况,打印
各种统计表。
用结构化分析方法画出系统顶层图、0层图(数据流图),并写出数据字典。
(2)根据以下描述画出相应的状态转换图。
到ATM前插人磁卡后输人密码,如果密码不正确,则系统会要求再次输入密码,如3次输
人不正确,则退出服务。密码正确后,系统会提示选择服务类型,如果选择存款,则进行存款操
作,存款完毕后可选择继续服务,也可以选择退出服务。如果选择取款,则进行取款操作,取款
完毕后可选择继续服务,也可以选择退出服务。
(3)某企业集团有若干工厂,每个工厂生产多种产品,且每一种产品可以在多个工厂生产
每个工厂按照固定的计划数量生产产品,计划数量不低于300:每个工厂聘用多名职工,且每名
职工只能在一个工厂工作,工厂聘用职工有聘期和工资。工厂的属性有工厂编号、厂名、地址
产品的属性有产品编号、产品名、规格,职工的属性有职工号、姓名、技术等级。请画出E-R图
- (1)答案:B
解析:在需求分析之前,要先进行可行性研究,判断项目在技术、经济、操作等方面是否可行,为后续需求分析等工作奠定基础。程序设计在需求分析和设计之后;E - R分析是需求分析阶段用于建立数据模型的方法;行为建模也是需求分析及后续阶段的工作内容。
- (2)答案:D
解析:需求分析是一个过程,它包括对用户需求的获取、分析、定义等一系列活动,贯穿系统整个生命周期,并非单纯的概念、工具或方法。
- (3)答案:B
解析:软件需求规格说明书主要描述软件的功能、性能、数据要求等,不涉及算法的详细过程描述,算法详细过程在设计和编码阶段考虑。
- (4)答案:C
解析:软件需求分析阶段工作分为问题识别、分析与综合、编写需求分析文档以及需求分析评审,评审用于检查需求分析的正确性、完整性等。总结、阶段性报告不属于需求分析阶段这四个方面的工作。
- (5)答案:B
解析:PAD图(问题分析图)主要用于详细设计阶段表示程序的逻辑结构,不是需求分析常用工具。数据流图用于描述系统数据流程;状态转换图用于描述系统状态变化;数据词典用于定义数据流图中的数据元素等,都是需求分析工具。
- (6)答案:C
解析:数据流图基本图形符号包括加工(处理数据的操作)、数据流(数据流动方向)、数据存储(数据存储的地方)和外部实体(与系统交互的外部对象) 。
- (7)答案:B
解析:结构化分析方法基本思想是自顶向下逐步分解,将复杂系统分解为多个相对简单的子系统,再对子系统进一步分解,便于理解和分析。
- (8)答案:D
解析:E - R图(实体 - 关系图)基本成分是实体(表示客观存在的事物)、属性(实体的特征)、关系(实体之间的联系) 。
二、判断题
- (1)答案:√
解析:用于需求分析的软件工具应能辅助验证需求的一致性(需求之间不冲突)、完整性(涵盖所有必要需求)、现实性(需求可实现)和有效性(满足用户实际需求) 。
- (2)答案:×
解析:需求分析需要用户深度参与,因为用户是需求的提出者,只有充分与用户沟通,才能准确获取需求。
- (3)答案:√
解析:需求规格说明书明确了软件要实现的功能等内容,可为软件可行性研究提供依据,判断项目在需求层面是否可行 。
- (4)答案:×
解析:需求分析主要目的是准确获取和定义用户需求,明确软件要做什么,而非解决软件开发的具体方案,软件开发具体方案在设计阶段确定。
- (5)答案:×
解析:需求规格说明书描述系统功能需求和非功能需求,不涉及每个功能具体实现细节,具体实现细节在设计和编码阶段确定。
- (6)答案:√
解析:非功能需求如性能要求、可靠性要求等,是对软件系统质量和特性的额外约束和限制 。
- (7)答案:×
解析:需求分析阶段成果需求规格说明书是软件设计、编码、测试等后续阶段的基础,对后续工作有重要指导作用,关系密切。
- (8)答案:×
解析:分层的DFD图(数据流图)主要用于需求分析阶段,描述系统的逻辑结构,而非可行性研究阶段描述物理结构。它关注数据在系统中的流动和处理逻辑,不涉及物理实现细节。
- (9)答案:√
解析:信息建模从数据角度出发,E - R图(实体 - 关系图 )是最常用的信息建模方法,通过实体、属性和关系来描述信息结构。
- (10)答案:×
解析:在需求分析阶段采用图形工具,主要是因为图形直观易懂,便于用户和开发人员沟通理解需求,而非单纯因为信息量大。
- (11)答案:√
解析:数据流图专注于系统的逻辑功能,描述数据的流向和处理,不涉及功能具体实现方式,如编程语言、算法细节等 。