软件工程第四章习题

一、选择题

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. (1)答案:B

解析:在需求分析之前,要先进行可行性研究,判断项目在技术、经济、操作等方面是否可行,为后续需求分析等工作奠定基础。程序设计在需求分析和设计之后;E - R分析是需求分析阶段用于建立数据模型的方法;行为建模也是需求分析及后续阶段的工作内容。

  1. (2)答案:D

解析:需求分析是一个过程,它包括对用户需求的获取、分析、定义等一系列活动,贯穿系统整个生命周期,并非单纯的概念、工具或方法。

  1. (3)答案:B

解析:软件需求规格说明书主要描述软件的功能、性能、数据要求等,不涉及算法的详细过程描述,算法详细过程在设计和编码阶段考虑。

  1. (4)答案:C

解析:软件需求分析阶段工作分为问题识别、分析与综合、编写需求分析文档以及需求分析评审,评审用于检查需求分析的正确性、完整性等。总结、阶段性报告不属于需求分析阶段这四个方面的工作。

  1. (5)答案:B

解析:PAD图(问题分析图)主要用于详细设计阶段表示程序的逻辑结构,不是需求分析常用工具。数据流图用于描述系统数据流程;状态转换图用于描述系统状态变化;数据词典用于定义数据流图中的数据元素等,都是需求分析工具。

  1. (6)答案:C

解析:数据流图基本图形符号包括加工(处理数据的操作)、数据流(数据流动方向)、数据存储(数据存储的地方)和外部实体(与系统交互的外部对象) 。

  1. (7)答案:B

解析:结构化分析方法基本思想是自顶向下逐步分解,将复杂系统分解为多个相对简单的子系统,再对子系统进一步分解,便于理解和分析。

  1. (8)答案:D

解析:E - R图(实体 - 关系图)基本成分是实体(表示客观存在的事物)、属性(实体的特征)、关系(实体之间的联系) 。

二、判断题

  1. (1)答案:√

解析:用于需求分析的软件工具应能辅助验证需求的一致性(需求之间不冲突)、完整性(涵盖所有必要需求)、现实性(需求可实现)和有效性(满足用户实际需求) 。

  1. (2)答案:×

解析:需求分析需要用户深度参与,因为用户是需求的提出者,只有充分与用户沟通,才能准确获取需求。

  1. (3)答案:√

解析:需求规格说明书明确了软件要实现的功能等内容,可为软件可行性研究提供依据,判断项目在需求层面是否可行 。

  1. (4)答案:×

解析:需求分析主要目的是准确获取和定义用户需求,明确软件要做什么,而非解决软件开发的具体方案,软件开发具体方案在设计阶段确定。

  1. (5)答案:×

解析:需求规格说明书描述系统功能需求和非功能需求,不涉及每个功能具体实现细节,具体实现细节在设计和编码阶段确定。

  1. (6)答案:√

解析:非功能需求如性能要求、可靠性要求等,是对软件系统质量和特性的额外约束和限制 。

  1. (7)答案:×

解析:需求分析阶段成果需求规格说明书是软件设计、编码、测试等后续阶段的基础,对后续工作有重要指导作用,关系密切。

  1. (8)答案:×

解析:分层的DFD图(数据流图)主要用于需求分析阶段,描述系统的逻辑结构,而非可行性研究阶段描述物理结构。它关注数据在系统中的流动和处理逻辑,不涉及物理实现细节。

  1. (9)答案:√

解析:信息建模从数据角度出发,E - R图(实体 - 关系图 )是最常用的信息建模方法,通过实体、属性和关系来描述信息结构。

  1. (10)答案:×

解析:在需求分析阶段采用图形工具,主要是因为图形直观易懂,便于用户和开发人员沟通理解需求,而非单纯因为信息量大。

  1. (11)答案:√

解析:数据流图专注于系统的逻辑功能,描述数据的流向和处理,不涉及功能具体实现方式,如编程语言、算法细节等 。

相关推荐
未定义.22111 小时前
UML-银行取款序列图
设计模式·流程图·软件工程·需求分析·uml
Shiyuan721 小时前
【EI会议】第三届机器人与软件工程前沿国际会议(FRSE 2025)
机器人·软件工程
IDRSolutions_CN4 天前
开发PDF时,如何比较 PDF 文件
java·经验分享·pdf·软件工程·团队开发
电子科技圈4 天前
IAR推动嵌入式开发:云就绪、可扩展的CI/CD和可持续自动化
嵌入式硬件·设计模式·自动化·软件工程·软件构建·设计规范
MyselfO(∩_∩)O5 天前
软件工程第三章习题
软件工程
MyselfO(∩_∩)O5 天前
软件工程第五章习题
软件工程
不会编程的懒洋洋5 天前
软考笔记9——数据库技术基础
数据库·笔记·软件工程·软件构建·软考·程序设计语言基础
光头颜5 天前
UML之序列图的参与者与生命线
软件工程·uml
hope_wisdom6 天前
实战设计模式之迭代器模式
设计模式·迭代器模式·软件工程·架构设计·软件架构