当前位置: 首页 > news >正文

软件工程第四章习题

一、选择题

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分析是需求分析阶段用于建立数据模型的方法;行为建模也是需求分析及后续阶段的工作内容。

 

2. (2)答案:D

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

 

3. (3)答案:B

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

 

4. (4)答案:C

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

 

5. (5)答案:B

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

 

6. (6)答案:C

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

 

7. (7)答案:B

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

 

8. (8)答案:D

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

 

二、判断题

 

1. (1)答案:√

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

 

2. (2)答案:×

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

 

3. (3)答案:√

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

 

4. (4)答案:×

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

 

5. (5)答案:×

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

 

6. (6)答案:√

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

 

7. (7)答案:×

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

 

1. (8)答案:×

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

 

2. (9)答案:√

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

 

3. (10)答案:×

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

 

4. (11)答案:√

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

 

相关文章:

  • JavaScript/React中,...(三个连续的点)被称为 扩展运算符(Spread Operator) 或 剩余运算符(Rest Operator)
  • 【蓝桥杯2024省B】好数 三种解法全解析 | C/C++暴力法→剪枝优化→构造法演进
  • 特权FPGA之数码管
  • 一文详解OpenGL环境搭建:Ubuntu20.4使用CLion配置OpenGL开发环境
  • 苍穹外卖(1)-部分环境配置(git、数据库)
  • React-06React中refs属性(字符串refs,回调形式,React.createRef() )
  • JVM考古现场(十七):鸿蒙初辟——从太极二进到混沌原初的编译天道
  • [ctfshow web入门] web24
  • oracle 11g密码长度和复杂度查看与设置
  • Debian系统_主板作为路由器_测试局域网设备间网速
  • 3.Spring-AOP简介/AOP切入点表达式/AOP工作流程(p31-p35)
  • NO.78十六届蓝桥杯备战|数据结构-并查集|双亲表示法|初始化|查询|合并|判断|亲戚|Lake Counting|程序自动分析(C++)
  • [CI]Docker构建时传递CI的唯一生成号作为版本号(SpringBoot、Vue)
  • JVM性能调优:参数配置×内存诊断×GC调优实战
  • vue3中pinia基本使用
  • 前端核心知识:Vue 3 编程的 10 个实用技巧
  • 小程序设计和开发:怎样制定小程序的主要业务流程和功能模块。
  • 优化IntelliJ IDEA 对 Python 的提示功能
  • git配置 gitcode -- windows 系统
  • 云原生周刊:深入探索 kube-scheduler-simulator
  • 企业年报申报入口官网/一个网站的seo优化有哪些
  • 国外h5汇总网站/营销活动策划
  • 如何做盗版视频网站/常用的网络营销工具
  • 工厂网站建设费用/新网站百度seo如何做
  • asp网站建设公司/seo推广百度百科
  • 网站备案是在哪里的/官网排名优化方案