第3章结构化分析与设计
(完整版)第三章需求分析习题及答案

第三章需求分析一. 填空题1.需求分析的步骤 , , , 。
2.需求分析阶段需编写的文档有,,。
3.系统规格说明,数据要求,, ,这四份文档资料是在书写文档阶段必需完成的。
4.在书写文档阶段,数据要求主要包括通过需求分析建立起来的,以及描绘数据结构的层次方框图。
5.对于计算机程序处理的数据,其数据域应包括 , , 和数据结构。
6.数据内容即是。
7.把一个功能分解成几个子功能,并确定 , 就属于横向分解。
8.软件需求的逻辑视图给出 , 而不是实现的细节。
9. 功能一般用 , 来表示。
10.结构化分析方法是 , 进行需求分析的方法.11.描述结构化分析方法的工具有,,,判定表,判定树。
12. SA方法中自顶向下的分析策略主要是和。
13.数据流图的基本组成部分有,,,。
14.数据流图的特性,,,。
15.数据流图和数据字典共同构成了系统的模型,是需求规格说明书的主要组成部分。
16.分析员通过需求分析,逐步细化对软件的需求,描述软件主要处理的,并给软件开发提供一种可转化为,和的数据与功能表示。
17.需求分析阶段研究的对象是软件项目的。
18.数据流图的基本符号包括,,,。
19.在需求分析阶段常用的图形工具有,,。
20.需求分析应交付的主要文档是。
二. 选择题1. 需求分析中开发人员要从用户那里了解()A.软件做什么 B.用户使用界面 C.输入的信息 D.软件的规模2. 需求分析阶段的任务是确定()A.软件开发方法 B.软件开发工具C.软件开发费 D.软件系统的功能3. 需求分析阶段最重要的技术文档之一是非曲直()。
A.项目开发计划 B.设计说明书 C.需求规格说明书 D.可行性分析报告4.需求分析阶段建立原型的目的是()。
A.确定系统的功能和性能的需求 B.确定系统的运行要求C.确定系统是否满足用户需求 D.确定系统是否满足开发人员需要5.需求分析阶段研究的对象是()A.用户需求 B.分析员要求 C.系统要求 D.软硬件要求6.系统流程图用于可行性分析中的_____的描述。
《Visual C++程序设计》第3章

if语句的嵌套形式 语句的嵌套形式: 语句的嵌套形式
if语句的嵌套是指 或 else后面的语句本身又是一个 语 语句的嵌套是指if或 后面的语句本身又是一个if语 语句的嵌套是指 后面的语句本身又是一个 句。 表达式1) 如:if(表达式 表达式 if(表达式 表达式11) 表达式 语句11 语句 else 语句12 语句 else 语句2 语句 注意: 注意: 为了增强程序的可读性,建议采用锯齿型的书写形式。 为了增强程序的可读性,建议采用锯齿型的书写形式。 else始终与它上面的最近的 语句配对,而这个if语句 始终与它上面的最近的if语句配对 if语句 始终与它上面的最近的 语句配对,而这个if 又没有其它的else else与之匹配 又没有其它的else与之匹配 。 if (表达式 表达式1) 表达式 if (表达式 表达式2) 表达式 语句1 语句 else 语句2 语句 如何使之 与第一个 if配对?
程序设计的基本目标是用算法对问题的原始数据进行 处理,从而获得所期望的效果。要做到这一点, 处理,从而获得所期望的效果。要做到这一点,就必须 要掌握正确的程序设计方法和技术。 要掌握正确的程序设计方法和技术。 结构化程序设计方法是公认的面向过程编程应遵循的 基本方法和原则。该方法包括: 基本方法和原则。该方法包括: 只采用顺序结构、 1 . 只采用顺序结构 、 选择结构和循环结构这三种基 本的程序控制结构来编制程序,从而使程序具有“ 本的程序控制结构来编制程序,从而使程序具有“单入 口和单出口”良好的结构; 口和单出口”良好的结构; 2.程序设计自顶向下; 程序设计自顶向下; 3.用结构化流程图表示算法。 用结构化流程图表示算法。
sin x + x 2 + 1 , x ≠ 0 y= cos x x 2 + 3x , x = 0
第3章结构化分析方法1.1(抽象)

售书登记表
打印领书单 及售书登记
打印发票
教材存量表
缺书单 开发票 售书
购书
建立逻辑模型(抽象)
当前系统:用户目前使用的系统。 目标系统:新开发的计算机软件系统。
各类逻辑模型
学校向学生销售教材的手续 学生先提交购书申请,系办张干事开购书 证明,学生持证明找教材科的王会计开购书 发票,向李出纳交付书款,然后到书库找赵 保管员领书,由此生成当前系统具体模型
教材购销系统是一个教材管理系统, 控制计划供应教材的销售和采购。系统 应具备如下主要功能:根据学校的教学 计划,向选课学生及时供应所需教材; 登记缺书信息,及时补充采购所缺教材, 并通知学生补购
建立物理模型
生成补售书单
学生 发 书 学生用书表
缺书登记表
购书单
收费 盖章
领书单
发票
进 书
汇总并统 书库保管员 计缺书 审查有效性
面向数据流的分析方法
结构化分析就是按照软件的内部数据传递、 变换关系,从层次的角度出发,自顶向下地逐 层分解,直至找到满足功能要求的所有可实现 的模块为止,即直到所有功能模块简单到可以 用程序代码实现时,就不再分解了。 早期结构化分析依赖数据流图,亦称面向数 据流的分析方法,其描述/分析工具是数据流 图,加工说明和数据字典。
结构化分析模型
数据对象说明 E-R图 STD图
控制说明
(
DD DFD图
PSPEC) 加工说明
数据流图
源
数据流
加工 或变换
数据流
汇
数据存储
பைடு நூலகம்
数据流图描绘数据从输入移动到输出所经历的变
换过程。
数据流图符号
“→”代表数据流。 “〇”代表加工/处理 。 “═”代表数据存储/文件/数据源“═”。 “□”代表源、汇点/外部实体。
第3 章 结构化需求分析

第3 章 结构化需求分析
3.1.2 需求分析的过程 (2)分析与综合 从信息流和信息结构出发, 从信息流和信息结构出发,逐步细化软 件的所有功能, 件的所有功能,找出系统各个元素之间 的联系、接口特性和对设计的限制, 的联系、接口特性和对设计的限制,判 断是否存在因片面性或短期行为而导致 的不合理需求, 的不合理需求,判断是否有用户尚未提 出的确实有价值的潜在需求, 出的确实有价值的潜在需求,从而提出 其中不合理的部分, 其中不合理的部分,增加真正需要的部 分。
第3 章 结构化需求分析
采用“自顶向下,逐步求精”的方式, 系统被分解成 系统被分解成3 采用“自顶向下,逐步求精”的方式,X系统被分解成 个子系统 :
第3 章 结构化需求分析
3.3.2 结构化分析方法 指导性原则: 指导性原则: 在开始建立分析模型之前先理解问题, 在开始建立分析模型之前先理解问题 ,而不应 急于求成,甚至在问题未被很好地理解之前, 急于求成 ,甚至在问题未被很好地理解之前, 就产生了一个解决错误问题的软件; 就产生了一个解决错误问题的软件; 开发模型,使用户能够了解将如何进行人机交 开发模型, 互; 记录每个需求的起源和原因, 记录每个需求的起源和原因 ,这样能有效地保 证需求的可追踪性和可回溯性; 证需求的可追踪性和可回溯性; 使用多个需求分析视图,建立数据、 使用多个需求分析视图,建立数据、 功能和行 为模型。 为模型。
第3 章 结构需求分析
3.1.2 需求分析的过程
第3 章 结构化需求分析
3.1.2 需求分析的过程 (1)调查研究 对目标系统的运行环境、功能要求、 对目标系统的运行环境、功能要求、非 功能性要求与用户达成共识。 功能性要求与用户达成共识。 问题研究集中在以下3个方面: 问题研究集中在以下3个方面: 经济可行性: 经济可行性: 技术可行性: 技术可行性: 操作可行性: 操作可行性:
3.3 结构化需求分析方法

订货单 支票
顾客
询问 退货单
处理顾 客事务
第三章 需求分析
15
多个数据流的第一种表示方法:
订货单 顾客事务
顾客
处理 顾客 事务
支票 询问
退货单
16
第三章 需求分析
多个数据流的第二种表示方法:
订货单
编辑订 货单
开收据 处理询 问 退货分 析处理
支票
顾客
询问
退货单
第三章 需求分析
17
多个数据流的表示举例
重建父图,即把第二步所得的每一部分画成一个圆圈, 各部分之间的联系就是加工之间的界面; 重建各张子图,只需把第二步所得的图,按各自的边界 剪开即可; 为所有加工重新命名、编号。
第三章 需求分析
36
结构不合理的数据流图及其修改
4 H A B 1 I 2 K L D 3 D (a)结构不合理的 数据流程图
33
分解的程度
分解应自然,概念上要合理、清晰。 上层可分解的快些,而下层应分解得慢些。
在不影响可读性的前提下,应适当地多分解成几部分, 以减少分解层数。
一般说来,当加工可用一页纸明确地表述时,或加工只 有单一输入/输出数据流时,就应停止对该加工的分解。 对数据流图中不再作分解的加工,必须作出详细的加工 说明,并且每个加工说明的编号必须与功能单元的编号 一致。
第三章 需求分析
5
结构化分析方法的特点
利用数据流图来帮助人们理解问
题,对问题进行分析。即利用图
形工具来模拟数据处理过程。
第三章 需求分析
6
结构化分析方法
用数据字典定义数据流图中的各项数据; 结构化英语、判定树和判定表对数据流图中的基本功 能进行描述。 通过将系统分解成多层处理后,在较低层次上,可以 看到数据流图的高层次加工的细节和相关的数据流。 结构化分析方法的实质就是采用一组分层的数据流图 及相应的数据字典作为系统的模型。 结构化分析方法从总体上看是一种强烈依赖数据流的 自顶向下的建模方法,它不仅是需求分析技术,也是 完成规格说明的手段。
信息系统工程概论课程重点项整理

信息系统整理第一章信息系统工程导论(概述)1.何谓信息系统?指利用信息技术,以计算机为主要处理工具的收集、传输、加工、存储信息,并能输出有用信息的系统。
6. 一般信息系统有哪些基本功能?(P10)常见的信息系统的基本功能如下:(1)信息收集:由人或其他环境设施输入数据(信息),为系统输入信息。
(2)信息存储:一般用数据库作为信息存储工具,具有管理大量数据集、提供从海量数据中快速检索指定信息的功能。
(3)信息加工:根据业务部门信息加工的要求,提供统计/分析/计算等信息处理功能。
(4)信息输出(查询/显示):根据人或系统的要求,输出有用的、可视化的信息。
(5)人机交互(界面):利用该功能,实现信息系统和人、应用环境之间进行信息交换,为人提供一个环境友好、使用便利的人机交互界面。
8.什么是信息系统工程?信息系统工程与一般系统工程有何区别?(P17-18)(1)定义:信息系统工程是按照工程学原理指导信息系统的构建过程,把信息系统的开发建设作为一项系统工程来管理,并且运用系统论和工程学的观点把信息系统的开发过程分为总体规划、系统分析、系统设计和系统实现等阶段。
(2)区别:信息系统工程具有一般系统的特征属性,可以用系统科学与系统工程学的基本理论和基本方法来指导。
同时,信息系统又是一种特定的计算机应用系统,具有一般计算机应用系统开发的特征属性。
信息工程技术已经形成了一系列软件开发技术规范、测试技术和管理方法,这些技术方法具有系统工程的思想,但又不完全一致。
10. 简述信息系统工程的方法论体系。
(P18-21)所谓方法论是指一组相关方法的集合。
信息系统工程方法论是系统工程方法在信息领域中的应用,其产生与发展主要源于信息系统工程的实践探索和理论总结。
它的主要内容涉及3个方面:(1)一般系统工程的通用方法。
(2)信息系统工程方法。
信息系统工程方法从工程实践的角度,根据应用范围和抽象程度可以划分为战略层、战役层和战术层3个不同层次。
第3章软件需求分析与建模

2020/3/7第3章软件需求分析与建模
软件工程教研室
15
①数据模型 描述对象系统的本质属性及其关系。常用的建模工具有 实体-联系图等。 ②功能模型 描述对象系统所能实现的所有功能。而不考虑每个功能 实现的次序。常用的建模工具有数据流图、IDEF0等。 ③行为模型 描述对象系统为实现某项功能而发生的动态行为。常用 的建模工具有控制流图、状态转换图等。
2020/3/7第3章软件需求分析与建模
软件工程教研室
24
X
1
3
2
1.1 1.3 1.2
2.2
2.1
2.3
3.2
3.1
3.3
图3-3 自顶向下逐层分解图
2020/3/7第3章软件需求分析与建模
软件工程教研室
25
结构化分析的过程如下 1.建立当前系统(现在工作方式)的概念模型。系统的 概念模型就是现实环境的忠实写照,可用系统流程图来表 示。这样的表达与当前系统完全对应,用户容易理解。 2.抽象出当前系统的逻辑模型。分析系统的概念模型, 抽象出其本质的因素,排除次要因素,获得用数据流图 DFD 图等描述的当前系统的逻辑模型。 3.建立目标系统的逻辑模型。分析目标系统与当前系统 逻辑上的差别,从而进一步明确目标系统“做什么”,建 立目标系统的“逻辑模型”(修改后的数据流图DFD 图等)。 4.建立人机交互接口和其他必要的模型,确定各种方案 的成本和风险等级,据此对各种方案进行分析,选择其中 一种方案,建立完整的需求规约。 分析模型的结构如图3-4所示。
Y
用户和设计者是否满意
N
运行原型
是否放弃
Y
N
把原型作为 把原型作为应 应用系统 用系统开发的
软件工程导论第3章

2.访谈
访谈是最早开始使用的获取用户需求的技术,也是迄今为止仍 然广泛使用的需求分析技术。 访谈有两种基本形式: 正式访谈:系统分析员将提出一些事先准备好的具体问题。 非正式访谈:分析员将提出一些用户可以自由回答的开放性问题, 以鼓励被访问人员说出自己的想法。 调查表是当需要调查大量人员的意见时的一个十分有效的做法。 分析员仔细阅读收回的调查表,然后再有针对性地访问一些用户, 以便向他们询问在分析调查表时发现的新问题。 在访问用户的过程中可以使用情景分析技术。情景分析技术的 用处主要体现在下述两个方面: (1) 它能在某种程度上演示目标系统的行为,从而便于用户理解, 而且还可能进一步揭示出一些分析员目前还不知道的需求。 (2) 由于情景分析较易为用户所理解,使用这种技术能保证用户在 需求分析过程中始终扮演一个积极主动的角色。
(1) 数据对象
数据对象是对软件必须理解的复合信息的抽象。所谓 复合信息是指具有一系列不同性质或属性的事物,仅有单 个值的事物(例如,宽度)不是数据对象。 数据对象可以是外部实体(例如,产生或使用信息的任 何事物)、事物(例如,报表)、行为(例如,打电话)、事件 (例如,响警报)、角色(例如,教师、学生)、单位(例如,会 计科)、地点(例如,仓库)或结构(例如,文件)等。总之,可 以由一组属性来定义的实体都可以被认为是数据对象。 数据对象彼此间是有关联的,例如,教师“教”课程, 学生“学”课程,教或学的关系表示教师和课程或学生和 课程之间的一种特定的连接。
(4)需求验证 由软件开发者和用户一起来进行软件需求规格
说明的复审。确保需求规格说明可作为软件设计和最 终系统验收的依据。
二. 需求获取的常用方法
1. 建立联合分析小组 建立一个由用户、系统分析员和领域专家参加 的联合分析小组,密切合作,共同标识问题,提出 解决方案要素,商讨不同方案并指定基本需求。 这是一种面向团队的需求收集法,又称为简易 的应用规格说明技术。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
加工说明
数据流图 (DFD)
图3.5
SA模型的组成
●早期的(传统的)结构化分析模型是面向
数据流的,采用“自顶向下、逐层分解”的
分析策略,以数据字典(DD, Data Dictionary)、数据流图(DFD,Data Flow Diagram)、和加工说明(PSPEC, Process SPECification)为主要工具,建立系统的逻辑 模型(功能建模)。
●软件开发是要实现目标系统的物理模型。需求分析 的任务就是借助于当前系统的逻辑模型导出目标系统 的逻辑模型,解决目标系统“做什么”的问题。
怎么做 当前系统
做什么 抽象化 逻辑模型 导 出
模型化
物理模型
目标系统
具体化
A模型的组成
数据对象说明 实体联系图 (E-R图) 数据 字典 DD 状态变换图 (STD) 控制说明
3. 基本任务与指导思想 (1)结构化分析 ●SA有两个主要任务: ①建立分析模型 通过对问题及其环境的理解、分析和综合, 建立分析模型。该模型包括问题所涉及的信 息流、功能、性能、用户界面及设计约束等, 它是形成需求说明书、进行软件设计的基础。
②编写需求规格说明书(SRS) 在完全弄清用户对软件系统的确切要求的基 础上,用“需求规格说明书”( SRS)把用户 的需求表达出来。 需求规格说明书为开发人员和用户提供软件 开发完成时质量评价的依据。 ●SRS应该具有准确性; ●SRS应该防止二义性; ●SRS应该直观、易读、易于修改。
各班学生用书表
教材存量表
图3.7 教材销售系统的数据流图
② DFD的性质
●DFD 不能表示控制结构,如选择结构
或循环结构。
●在需求分析中,常常用一组DFD图由粗
到细地表示不同级别上的功能模型,称之
为分层数据流图。
(2)数据字典(DD) ●数据字典的作用: 对软件系统中的每个
(2)结构化设计 ①软件设计分两个阶段完成: 软件设计 = 总体设计 + 详细设计 ●总体设计又称概要设计,进行总体结构设 计和系统接口设计,把用数据流图(DFD)表 示的系统分析模型转换为用结构图(SC )表示 的系统结构模型。 ●详细设计用以确定各个软件组件(模块)的 操作(算法)和数据结构。
③ SA的主要指导思想 ●抽象与分解 ( Abstraction and decomposition ) 抽象(Abstraction)是控制复杂性的基本策略 之一。在软件工程中,从系统定义到实现,每 进展一步都可以看做是对软件解决方法的抽象 化过程的一次细化。在软件需求分析阶段,在 最高抽象级别上,用“做什么”来描述问题。 然后不断具体化(分解)。抽象的层次愈低, 呈现的细节愈多。
●扩充后的结构化分析模型,将建模技术扩展 到数据建模和行为建模,以数据字典(DD, Data Dictionary)、实体-联系图( Entity Relation Diagram, E-R图)、状态-迁移图(State
Transform Diagram , STD)等为工具,从不同
视点建立系统的分析模型。
书
学 生
图3.2 学生购买教材的逻辑模型(当前系统)
购书 学 单 审查并 开发票 生
发票 开 领书单
领书单
发书
书
学 生
图3.3 目标系统的逻辑模型
第三步:编写需求规格说明书。 第四步:验证需求,完善和补充对目标系统的 描述。
无效书单
学 生
购书单
发票
领书单 开 领书单
审查并 开发票
学 生
图3.4 改进了的目标系统逻辑模型
●结构化设计(工具:SC图) →初始设计模型(初始SC图)
→最终设计模型(最终SC图)
注: ▲ DFD:数据流图(Data Flow Diagram) ▲ PSPEC:加工说明(Process SPECification) ▲ SRS:软件需求规格说明书 ( Software Requirement Specification) ▲ SC:结构图( Structure Chart )
第3章
结构化分析与设计
3.1 概述
3.1.1 结构化分析与设计的由来 1. 瀑布模型的首次实践 结构化分析 (SA, Structured Analysis)
与结构化设计 (SD, Structured Design) 是瀑布模型的首次实践。
2. SA 与 SD 的流程 ●结构化分析( 工具: DFD、PSPEC )→ 分析模型( 分层DFD图 ) + SRS
购书 申请 购书 证明 购书 发票 领书 单
张 秘书
王 会计
李 出纳
赵 保管
书
学 生
图3.1 学生购买教材的当前系统模型(物理模型)
第二步:分析需求,建立系统分析模型(逻辑模 型),包括当前系统和目标系统的逻辑模型。
有效 购书单 审查 有效性 开 发票
学 生
购书 单
购书 发票
开领 书单
领书 单 发书
●本课程主要讲述传统的结构化分析模型
2. SA模型的描述工具 ●传统的结构化分析采用3种描述工具: 数据流图(DFD)、数据字典(DD) 和 加 工规格说明(PSPEC)。
(1) 数据流图(DFD) ① 组成符号(数据流图中的 4 种图形元素) 加工 (Prosess):对数据流进行操作或变换。 数据流(Data Flow):数据在系统内传播的路径。
数据源点或终点 (又称外部实体:系统外的 人员或组织)
数据文件(Data File 或Data Store): 文件与加 工之间的数据流可以不命名;从文件流出的 数据流表示读文件或查询文件; 流向文件的 数据流表示写文件或修改文件。
无效书单 学 生
购书单
审查并 开发票 1
发票
开 领书单 2
领书单 学 生
② SC 图分两步完成: 初始设计模型(初始SC图) →最终设计模型(最终SC图) 初始SC图 总体设计 最终SC图 软件设计 详细设计 : 完成模块说明 ③软件设计的指导思想 ●分解与细化 采用“自顶向下、逐步细化(Top-Down Stepwise Refinement )”的开发方法。
3.1.2 SA模型的组成与描述 例3.1 教材销售系统 第一步: 通过对现实环境的调查研究 , 获取当前系统的 具体模型(物理模型) 。 学 生