第三章 结构化分析
第一节 需求分析
第二节 结构化分析方法
第三节 其他具有结构化思想的需求分析方法
第三章 结构化分析
第三章 结构化分析
第一节 需求分析
软件需求是指用户对目标系统在功能、行为、
性能、设计约束等方面的要求。
需求分析是指对应用问题及其环境的理解与
分析,为问题涉及的信息、功能及系统行为建立
模型,将用户需求精确化、完全化,最终形成需
求规格说明的一系列活动或过程。
第三章 结构化分析
需求分析介于系统分析和软件设计之间。
一方面,需求分析以系统规格说明和项目
规划作为分析活动的基本出发点。
另一方面,需求分析规格说明书又是软件
设计、实现、测试和维护的基础。
一个软件系统是由相互联系和相互作
用的若干部分组成的,是具有特定功能的
有机整体。要准确回答, 系统必须做什
么,,要进行软件需求分析,需求分析有
时称为系统分析。
需求分析的过程是一个对系统的理解
与表达的过程,是软件工程的一个重要活
动。
理解就是开发人中充分理解用户的需求,对
问题及环境的理解、分析与综合,逐步建立目标
系统的模型。应该是开发人员与用户一起来理解
系统,大家都来理解系统要做什么 。
表达就是产生规格说明书等有关文档。规格
说明书就是把分析的结果完全地、精确地表达出
来。
第三章 结构化分析
一, 需求分析的任务
需求分析的基本任务是确定系统必须完成哪
些工作, 也就是对目标系统提出完整, 准确, 清
晰和具体要求 。
即必须准确回答问题:, 系统能做什么?,
而不是确定系统如何完成它的工作 。
第三章 结构化分析
需求分析研究的对象是 软件项目的用户要求 。
用户与分析员之间需要通信和沟通。
一方面,分析员必须应澄清用户需求的模糊
性、歧义性和不一致性,全面理解用户的各项要
求,但又不能全盘接受所有要求,因为用户提出
的要求未必都是合理的。对于无法实现的要求,
应予充分解释,并对相互冲突的要求进行折衷。
另一方面,必须准确表达被接受的用户要求,
因为描述确切的软件需求才能成为软件设计和实
现的基础。
第三章 结构化分析
对需求分析的结果, 即分析模型和需求规格
说明必须严格审查 。 需求规格说明一旦得到用户
和软件开发方一致确认后, 它将成为用户和软件
开发方之间的合同 。
作为目标系统的参考,需求分析要做的工作
是借助于当前系统的逻辑模型导出目标系统的逻
辑模型,解决目标系统, 做什么, 的问题
第三章 结构化分析
目 标 系 统
物 理 模 型 逻 辑 模 型
物 理 模 型 逻 辑 模 型
当 前 系 统
模 型 化
抽 象 化
实 例 化具 体 化
导 出 理 解 需
求 的 表 达
第三章 结构化分析
需求分析的任务主要有如下几个方面:
1,确定软件的综合需求
软件的综合需求包括,功能需求,性能需求,
运行需求,可靠性需求,安全保障需求,用户界
面需求,资源使用需求,成本消耗与开发进度需
求,将来可能提出的需求。
第三章 结构化分析
功能需求,列出被开发的软件应该作什么 。
性能需求,给出被开发的软件的技术性能指标,
包括存贮容量限制, 响应时间, 精确度指标和安全
性等 。
运行需求,对系统运行时所处环境的要求 。 例如
在硬件方面, 采用什么机型, 什么外部设备和数据
通信接口等; 在软件方面, 采用什么系统软件 ( 操
作系统, 网络软件, 数据库管理系统等 ) 支撑软件
系统运行; 在使用方面, 要求使用部门, 操作人员
在技术水平上应该具备什么样的条件等 。
第三章 结构化分析
可靠性需求,按实际的运行环境提出对被
开发软件在投入运行后不发生故障的概率之要
求 。
安全保障需求,按实际环境提出对被开发
软件给予特殊设计, 使其在投入运行后其安全
保密方面性能得到必要保证的要求 。
用户界面需求,软件与用户界面友好程度
的要求 。
第三章 结构化分析
资源使用需求,对被开发软件运行时所需的
数据, 软件, 内存空间等各项资源的要求;对开
发软件所需的人力, 支撑软件, 开发设备等的要
求 。
成本消耗与开发进度需求,软件立项后, 根
据合同规定, 对软件开发的进度和各步骤的费用
要求 。
将来可能提出的需求,对软件将来可能的扩
充与修改做准备的要求。
第三章 结构化分析
2,分析系统的数据需求
分析系统的数据需求就是从系统的信息流中
归纳抽象出数据元素组成, 数据的逻辑关系, 数
据字典格式和数据模型, 并以输入 /处理 /输出的
结构方式表示 。
第三章 结构化分析
3,导出系统的逻辑模型
明确目标系统与当前系统的逻辑差别,将变
化部分看作是新的处理过程,然后由外及里对变
化进行分析,推断其结构,最终获得目标系统的
逻辑模型。
通常用 数据流图, 数据字典 和 主要的处理算
法 描述这个逻辑模型。
第三章 结构化分析
4,修正系统开发计划
在对目标系统有了更深入更具体认识的基础
之上对开发计划进行修正 。
5,开发原形系统
采用开发原形系统策略的理由是:人类认识
能力的局限性, 不能预先穷尽所有要求;用户与
系统分析员之间存在通信鸿沟;用户需要一个显
示的系统以便获得使用经验;开发过程中的反复
和重复是必要的和不可避免的 。
第三章 结构化分析
使用原形系统的目的是:让用户通过实践
获得关于未来系统将怎样为他们服务的直接概
念,从而能更准确的提出和确定用户要求。
探索型原型
第三章 结构化分析
二, 需求分析的主要步骤:
1,调查研究
调查用户需求, 访谈或会谈是最早开始运
用的获取用户需求的技术, 也是迄今为止广泛使
用的需求分析技术 。
第三章 结构化分析
2,分析与综合
问题分析与方案综合要求分析员从数据流和
数据结构出发,逐步细化所有的软件功能,找出
系统个元素之间的联系、接口特性和设计上的约
束,分析它们是否满足功能需求,是否合理。删
除不合理的部分,增补需要的部分,最终综合出
系统的解决方案,导出系统的详细逻辑模型。
第三章 结构化分析
3.书写文档
这个阶段可能需要完成下面三份文档资料
1)系统需求规格说明,主要包括描述目标系
统概貌、功能要求、性能要求、运行要求和将来
可能提出的要求。数据流图、用 IPO图或其他工具
简要描述的系统主要算法都是该份文挡的重要组
成部分。此外,该份文档还应包括用户需求与系
统功能之间的关系、设计约束等等。
软件需求规格说明是需求分析阶段的最终成
果。
第三章 结构化分析
2)数据要求,主要包括数据字典以及描述
数据结构的层次方框图或 Warnier图。此外,
该份文档还应包括对存储信息分析的结果。
第三章 结构化分析
修正开发计划:主要包括成本计划、资
源使用计划和进度计划等等。
3)用户系统描述,主要包括对系统功能性
能扼要描述,使用系统的主要步骤和方法,以
及用户的责任等等。该文档相当于一份初步用
户手册,它使得未来用户能从使用系统的角度
检查该目标系统,进而让用户比较易于判断这
个系统是否满足他们的需要。
第三章 结构化分析
4,需求分析评审
将需求规格说明书提交设计之前,必须进
行需求评审,这是需求分析的最后一步。如果
在评审过程中发现说明书中存在错误或缺陷,
应及时重新进行相应的初步需求分析,修改需
求规格说明书,并重新评审。
第三章 结构化分析
评审的内容包括:
正确性,需求规格说明书中对系统的功能,
行为, 性能描述必须符合用户对目标软件产品的
期望 。
无歧义性,需求规格说明书中的语法单位只
有唯一的解释 。 使用标准化术语是一种确保无歧
义性的有效措施 。
完整性,需求规格说明书中不能遗漏用户需
求,即目标软件产品的所有功能、行为、性能约
束以及它在所有可能情况下的预期行为应该完全
包含在需求规格说明书中。
第三章 结构化分析
可验证性,需求规格说明书中的各类需求都
应该存在技术和经济上的可行手段进行验证和确
认 。
一致性,需求规格说明书中各部分不能存在
矛盾 。 例如, 术语使用方面的冲突, 功能和行为
特征方面的冲突, 时序方面的前后不一致等 。
第三章 结构化分析
可理解性,用户设计人员和测试人员应该容
易理解需求规格说明书中的描述, 避免使用过多
的专业词汇 。
可修改性,需求规格说明书中的格式和组织
方式应能保证比较容易地接受后续的增, 删和修
改, 并使修改后的说明书能够较好地保持其他各
项属性 。
可追踪性,需求规格说明书必须能将分析后
获得的每项需求与用户的原始需求清晰地联系起
来, 并为后续开发和其他文档引用这些需求项提
供便利 。
第三章 结构化分析
另外还有系统需求分阶段提供的文档资
料是否齐全,与其他系统的重要接口是否都
已描述,设计的约束或限制条件是否切合实
际,被开发项目的数据流与数据结构是否足
够、确定,开发的技术风险是什么,用户是
否审查了初步用户手册,软件开发计划中的
估算是否受到了影响等等,其中正确性在评
审中受到普遍关注。
第三章 结构化分析
评审应由专门指定的人员负责,评审结束后
应有评审负责人的结论意见及签字。分析员,用
户、开发部门的管理者、软件设计、实现、测试
人员都应当参加评审工作。评审可以采取会议的
形式进行,首先,分析员要说明软件产品的总体
目标,包括产品的主要功能、与环境的交互行为
以及性能指标。
第三章 结构化分析
评审会议要对需求模型进行评估,以此决定
该说明书能否成为良好的软件设计基础。评审会
议还要就原始软件问题讨论除当前需求模型之外
的其他解决问题的方案,并对各种影响软件设计
和质量的因素进行折衷,决定说明书中采用的取
舍是否合理。最后,评审会议应对软件的质量确
认方法进行讨论,形成为用户和开发人员均能接
受的各项测试指标。
第三章 结构化分析
1,理解和表示问题的信息域和功能域 。
信息域包括 数据流, 数据内容 和 数据结构 。
数据流 就是数据经过系统时的变化形式,输
入数据先转换成中间数据,再由中间数据转换成
输出结果数据。
数据内容 就是数据项。
数据结构 就是各数据项的逻辑组织。
三、需求分析的原则
第三章 结构化分析
2.对描述信息、功能和行为的模型进行分
解,用层次的方式展示细节。
把问题以自顶向下、逐层分解的方式分解
为几个较易理解的部分,并确定各部分之间
的接口,从而实现软件的整体功能。
在需求分析阶段,软件的功能域和信息域
都可以做进一步的分解。
第三章 结构化分析
3.分清系统的 逻辑视图 和 物理视图,
逻辑视图 给出的是系统要达到的功能和要处
理的信息间的关系, 而不是实现细节 。
物理视图 给出的是系统处理功能和数据结构
的实际表示形式, 这通常由设备本身所决定 。
第三章 结构化分析
第二节 结构化分析方法
结构化分析 (Structured Analysis,SA)的基
本思想 是用抽象模型的概念,按照软件的内部数
据传递、变换关系,从层次的角度出发,自顶向
下地逐层分解,直到找到满足功能要求的所有可
实现的软件为止。
抽象 是指抽出事物的本质特性而暂时不考虑
它们的细节。
分解 是指把一个大问题经过多次逐层划分成
为若干个足够简单容易解决的小问题的过程。
抽象和分解是结构化分析方法的主要手段。
第三章 结构化分析
结构化分析方法是一种依赖数据流图的自顶
向下的建模方法, 它的核心是数据流图, 所以又
说它是一种 面向数据流 的分析方法
结构化分析方法常用的几个工具是 数据流图,
数据字典, 结构化英语, 判定表与判定树 。
第三章 结构化分析
数据流图 (DFD)从数据传递与加工的角度, 以
图形的方式描绘数据从输入移动到输出所经历的
变换过程 。 设计数据流图时, 只需考虑软件必须
完成基本逻辑功能, 不要考虑如何实现这些功能 。
一、数据流图
第三章 结构化分析



数 据 的 源 点 / 汇 点
加 工 或 处 理, 输 入 数 据 在
此 进 行 变 换 产 生 输 出 数 据
数 据 存 储
数 据 流
1,数据流图符号
第三章 结构化分析
假设一家工厂的采购部每天需要一张定货报
表,报表按零件编号排序,表中列出所有需要
再次定货的零件。对于每个需要再次定货的零
件应该列出下述数据:零件编号、零件名称、
定货数量、目前价格、主要供应者和次要供应
者。零件入库或出库称为事务,通过放在仓库
中的 CRT终端把事务报告给定货系统。当某种零
件的库存数量少于库存量临界值时就应该再次
定货。
2
第三章 结构化分析
要画出上述定货系统的数据流图,须从问题
描述中获取数据流图的四种成分:
源点或终点, 处理逻辑, 数据存储 和 数据流 。
仓库管理员可作数据源点;由, 采购部每天需要
一张定货报表, 和, 仓库中的 CRT终端把事务报
告给定货系统, 知道采购员可作为数据终点。任
何改变数据的操作都是处理或加工,因此必须有
一个用于产生报表的处理和一个改变零件库存量
的事务的处理。系统把生成的定货报表送往采购
部,因此定货报表是一数据流;事务从仓库送到
系统,所以事务是另一数据流。每当有一个事务
发生时,就立即处理这个事务,然而每天只产生
一次报表。
第三章 结构化分析
源点 /终点 处理
采购员
仓库管理员
产生报表
处理事务
数据流 数据存储
定货报表
零件编号
零件名称
定货数量
目前价格
主要供应者
次要供应者
零件编号 *
事务类型
数量 *
定货信息
(见定货报表 )
库存清单
零件编号 *
库存量
库存量临界值
第三章 结构化分析
仓 库 管 理 员
定 货
系 统
采 购 员
事 务
定 货 报 表
任何系统的基本模型都由若干个数据源点 /终点
以及一个处理组成,这个处理就代表了系统对数据
加工变换的基本功能。对于上述的定货系统可以画
出如图所示的基本系统模型。
第三章 结构化分析
从基本系统模型这个非常高的抽象层次开始
画数据流图优点是这个高层次的数据流图上是
否列出了所有给定的数据源点 /终点是一目了然
的。
下一步应该把基本系统模型细化,描绘系统
的主要功能。 在图 3.5中给处理和数据存储都
加了编号,这样做的目的是便于引用和追踪。
第三章 结构化分析
仓 库
管 理 员
1
处 理
事 务
2
产 生
报 表
采 购 员
D 1
D 2
定 货 信 息
库 存 清 单
定 货
信 息
定 货
信 息
事 务
定 货 报 表
第三章 结构化分析
接下来应该对功能级数据流图中描绘的系
统主要功能进一步细化。当对数据流图分层细
化时必须保持信息连续性,也就是说,当把一
个处理分解为一系列子处理时,分解前和分解
后的 输入 /输出 数据流必须相同。
第三章 结构化分析
2
产 生
报 表
1, 2
更 新 库
存 清 单
1, 1
接 受
事 务
1, 3
处 理
定 货
仓 库
管 理 员
采 购 员
D 1
D 2
库 存 清 单
定 货 信 息
事 务 事 务
库 存
信 息
定 货
信 息
定 货 信 息
定 货
报 表
第三章 结构化分析
数据流图中每个成分的命名是否恰当,
直接影响数据流图的可理解性。
3
第三章 结构化分析
为数据流 (或数据存储 )命名。名字应代表整
个数据流 (或数据存储 )的内容,而不是仅仅反映
它的某些成分。不要使用空洞的、缺乏具体含义
的名字 (如, 数据,,, 信息,,, 输入, 之类 )。
如果在为某个数据流 (或数据存储 )起名字时遇到
了困难,则很可能是因为对数据流图分解不恰当
造成的,应考虑重新分解。
第三章 结构化分析
为处理命名。通常先为数据流命名,然后再
为与之相关联的处理命名。名字应该反映整个处
理的功能,而不是它的一部分功能。
尽量避免使用, 加工,,, 处理, 等空洞笼
统的动词作名字。通常名字中仅包括一个动词,
如果必须用两个动词才能描述整个处理的功能,
则把这个处理再分解成两个处理可能更恰当些。
如果在为某个处理命名时遇到困难,则很可
能是发现了分解不当的迹象应考虑重新分解。
第三章 结构化分析
4.数据流图的画法
( 1)画数据流图的原则
画数据流图的基本步骤可以概括为:, 自
外向内、自顶向下、逐层细化、完善要求, 。
第三章 结构化分析
画法如下
1) 找出数据的源点与汇点,它们是外部实体,
有了它们,就可以确定系统与外部世界的接口。
2)找出外部实体的输出数据流和输入数据流。
3)画出系统的外部实体。
4)从外部实体的输出数据流出发,根据系统的
逻辑需求,逐步画出一系列逻辑加工,直至找
到外部实体所需要的输入数据流,从而形成数
据流的封闭。
5)进行检查和修改。
6)按找上述步骤,再从各加工出发,画出所需
的子图。
铸钟厂生产系统数据流图
供货

5
成品 装配
已包装成品
7
运 输
生产细节
运输
细节
成品和
运输单
1
收原材料
原材料
客户定单
原材料
客 户
铸 钟原材料到达 产品库存下降
钟跑调
原材料
2
熔 化 3浇铸打磨
4
调 音
6
成品包装


装箱成品 包装材料 钟 舌成 品
产量
控制
已打磨的钟
合格的钟
供货商
熔化的原料
第三章 结构化分析
数据流图除了用于概念设计,还可以用于系统的逻
辑设计。
例:图书馆为读者提供图书(包括刊物)的借阅、归
还、续借、预约服务。可以用书名预约图书,用刊物名和
卷号(简称为卷号)预约刊物。用户要成为读者须先登记。
读者离开图书馆后,工作人员要取消无效的预约,要
作图书的整理和上架等工作。
有些图书需要装订。图书馆从机关团体处(如出版社)
取得图书,或与其他图书馆进行交换。图书馆需要经常统
计图书的使用情况,向领导层汇报(管理者)。此外,图
书馆还向社会捐赠图书。
第三章 结构化分析
4个子系统:
读者服务:登记读者信息, 提供为
读者服务的环境 。
图书服务:获取新图书, 处理旧图
书, 交换图书, 向社会捐赠图书等服
务 。
图书使用:为读者提供使用图书的
服务 。
使用情况:统计图书的使用情况 。
第三章 结构化分析
4个外部实体:
用户:登记后成为读者
机关团体:为图书馆提供图书。
管理者:管理图书的使用情况。
社会福利事业:接受图书馆捐赠的图书。
第三章 结构化分析
5个数据存储:
读者,记录图书馆所有读者的信息 。
图书,记录所有图书的信息 。
图书馆:记录所有外部图书馆的信息 。
图书馆用书:记录与外部图书馆交换图
书的信息 。
读者用书,记录读者使用图书的所有
信息 。
第三章 结构化分析
图书馆系统的概貌( 上下文图, context)
上下文图


图书信息
读者信息
图书使用报告
图书信息
图书馆
系统
管理

机关
团体
社会福
利事业 捐赠信息
第三章 结构化分析
图书馆系统 0级数据流图
1
读者
服务
读者细节
读者用书
读 者
3
图书
使用
读者信息
读者用
书细节
读者使用
整理细节
读者变动
图书信息




0级图
图 书
图书馆
图书馆用书
4
使用
情况
2
图书
服务
图书使用报告
图书馆使用图书细节
图书变动
图书交换
被 使 用 图

机关
团体
管理

第三章 结构化分析
图书馆系统 1级数据流图
4.2
打印
报表
4.1
计算
消耗
图书使用次数
图 书
消耗细节
图书使用报告
2.2
处理
图书
2.1
得到
图书
图书馆
图 书
图书馆用书
旧书
处理细节
换进
换出
新书
新书细节
1.1
读者
登记 1.3
读者
离开
新读者 读者变动
读者离开
1.4
图书
整理读者用书
读 者
读者
细节新读者细节
离开细节
整理细节
1.2
读者
变动
3.4
预 约 书
3.5
装订书
3.3
续借书
3.1
借 书
3.2
还 书
读 者 图 书
读者用书 图 书
需装订图书
装订细节
处理细节
2.3
图书
捐赠
社会福
利事业
1级图
1级图 1级图
1级图



图书馆系统 功能图
使用情况读者服务 图书服务 图书使用














































图书馆系统
第三章 结构化分析
数据流图的优点,
数据流图的缺点,
? 自顶向下描述系统中信息的流动,结构清晰,概
念性强,有利于系统分析员理顺系统脉络、澄清含
混的概念和逻辑。
? 因为数据流图的表达方式是结构化的,易于与常
用的计算机处理相对应,容易转换为低级别的设计。
? 可能变得非常复杂,不易理解。
? 不能处理出错和意外情况。
? 不能描述过程的控制结构(没有条件分支、
循环、选择)。
第三章 结构化分析
第三章 结构化分析
数据字典是为了描述在结构化分析过程中定
义的对象的内容,而使用的一种半形式化的工具。
1.数据字典的定义
数据字典 是描述数据信息的集合,它对数据
流图中的各个元素进行完整的定义与说明,是数
据流图的补充工具。
数据字典是所有与系统相关的数据元素的有
组织的列表,并且包含了对这些数据元素的精确、
严格的定义,从而使得用户和系统分析员双方对
输入、输出、存储的成分甚至中间计算结果有共
同的理解。
二、数据字典
第三章 结构化分析
( 1) 数据流
在数据流图中, 数据以数据流为单位进行传
输 。 主要内容包括:
1) 名字及称号。
2) 可能的来源和去处:外部实体,处理逻辑,
数据存储。
3) 组成:一个数据流可能包含若干个数据结
构。
2.数据字典的内容
第三章 结构化分析
( 2)数据项
数据项也称数据元素,它, 不可再分,,
是数据的最小单位。主要内容包括:
1)名称和编号。
2)别名。数据项另外的名称。
3)取值的范围和含义。
4)长度。数据项包含的字符或数字的位
数。
第三章 结构化分析
( 3)数据存储
数据存储是数据结构停留和保存的地方 。 主
要内容包括:
1) 名称和编号。
2)流入、流出数据流。流入数据流指出其来
源,流出数据流指出其去向。
3)组成。数据存储所包含的数据项和数据结
构。
第三章 结构化分析
主要内容包括:
1) 名称和编号。
2) 简单描述。
3) 输入输出。
4) 主要功能。
( 4) 处理逻辑
第三章 结构化分析
主要内容包括:
1)名称和编号。
2)相关数据流。
( 5)外部实体
第三章 结构化分析
( 6)数据结构
数据结构是各个数据项之间的逻辑关系的一
种描述。一个数据结构可以由若干个数据项组成,
也可以由若干个数据项和数据结构组成。主要内
容包括:
1)名称和编号
2)组成。若是一个简单的数据结构,需要列
出它所包含的数据项;若是一个嵌套的数据结构,
需要列出它所包含的数据结构名称。
第三章 结构化分析
3.定义数据的方法
对数据自顶向下分解,当元素分解到每个
与工程有关的人都清楚其含义时,分解就告结
束。
第三章 结构化分析
数据元素组成数据的方式有四种类型。
1)顺序,以确定的次序连接两个或多个分量。
2)选择,从两个或多个可能的元素中选取一个。
3)重复,把指定的分量重复零次或多次。
4)可选,一个分量是可有可无的(重复零次或
一次)。
第三章 结构化分析
4,数据字典的用途
首先, 数据字典中所建立的一组严密一致的
定义有助于改进工程参与人员之间的通信, 消除
许多可能的误会, 避免许多麻烦的接口问题 。
其次, 数据字典列出了使用一个给定的数据
元素的所有程序或模块, 很容易估计改变一个数
据将产生的影响, 并能对所有受影响的程序或模
块作出相应的改变 。
最后, 数据字典是开发数据库的第一步 。
目前实现数据字典有三种途径:
? 全人工过程
? 利用数据字典处理程序的全自动化过程
? 用正文编辑程序报告生成程序等已有的
实用程序帮助人工过程的混合过程。
第三章 结构化分析
名字:定货数量
别名:
描述:某个零件一次定货的数量
定义:定货数量 =1{数字 }5
位臵:定货报表 定货信息
名字:定货报表
别名:定货信息
描述:每天一次送给采购员的需要
定货的零件表
定义:定货报表 =零件编号 +零件名
称 +定货数量 +目前价格 +主
要供应者 +次要供应者
例 3:对仓库的库存量的描述。
名称,库存数量
别名, ( 无 )
描述,零件在库房的数量
定义,库存数量 = 周期盘点数量 + 入库数量 – 出
库数量
限制,库存数量不能小于零;
库存数量小于给定的最低水平, 或大于给定
的最高水平时报警 。
数据字典是系统分析和设计必备的工具 。
例:画储蓄系统数据流图
父图
储蓄客户 客户
P
子图
储户 识别
存款
处理
取款
处理
P1
P3
P2
D1储蓄信息 现金存取款单
存款单
现金,利息单
数据描述
数据字典
名称 别名 类型 长度 备注
姓名 XM 字符 8
存款日期 CKRQ 日期
金额 JE 数字 8,2
身份证号 SFZH 字符 16
类别 LB 字符 2
取款日期 QKRQ 日期
利息 LX 数字 8,2
利息税 LXS 数字 8,2
表结构
1、客户表=姓名+身份证号+家庭电话
2、储蓄信息表=姓名+身份证号+金额+类别
+存款日期
……
第三章 结构化分析
三, 加工逻辑小说明
分层数据流图的最底层数据流图中的加工不
能再通过子图做进一步的描述, 因此必须有一个
加工小说明来定义底层数据流图中的加工 。
目前用于写加工逻辑说明的工具有 结构化英
语, 判定表 和 判定树 。
决策树
决策树描述有多个行为需要选择的过程 。 决策树由一组表示条件的节点,
和无标记边组成 。
决策树示意图
逻辑功能名
条件 1
条件 2
条件 1.2
条件 1.1 行为 1
行为 2
条件 2.1
条件 2.2
行为 3
行为 4
条件 2.2.2
条件 2.2.1
行为 5
决策树实例
豪华型
选择包装箱
中音钟
高音钟
豪华型
标准型
标准型 -
使用 1号包装箱
使用 2号包装箱
使用 3号包装箱
使用 4号包装箱
第三章 结构化分析
决策树还有另一种形式,―T‖表示, 真,,条件成立;, F‖表示, 假,,条件不
成立。
决策树的另一种形式
决策树一般用于过程内部存在复杂的相关行为, 利用大量条件作决策的情况 。
决策树形式简单, 易于掌握和使用, 并适合于与用户讨论 。
豪华型
中音钟
T
标准型
使用 1号包装箱
使用 2号包装箱
使用 4号包装箱
使用 3号包装箱
T
T
F
F
F
第三章 结构化分析
条件 方案
行动 决策
决策表的结构
决策表
决策表同样能表示复杂的条件组合与对应行为之间的关系 。
决策表 (1)
决策表 (2)
老客户 T T F F
即时付款 T F F F F
一周内付款 T F T F
半月内付款 F T F T
正常价格 × 0.95 √
正常价格 √
正常价格 × 1.05 √ √
正常价格 × 1.10 √
豪华型
中音钟 T
使用 1号包装箱
使用 2号包装箱
使用 3号包装箱
使用 4号包装箱
T
T F
F
F
FT




第三章 结构化分析
结构化英语
结构化英语 ( structured english) 清晰地描述过程逻辑, 易于理解, 类似
可读的计算机程序 。 但它既不同于多义的自然英语语言, 也有别于编程语言 。
顺序,语句 —1
语句 —2
语句 —2.1
语句 —2.2
语句 —3
……
语句 —n
选择,IF 条件
THEN 语句
ELSE 语句
SO 语句
ENDIF
迭代,REPEAT
语句
UNTIL
条件
排斥,CASE 表达式
OF 条件 —1,语句
条件 —2,语句
……
条件 —n,语句
OTHERWISE:语句
ENDCASE
大写的英语单词是专用的保留字 。
第三章 结构化分析
例, 某超市的顾客会员卡等级评估策略为:如果是老顾客并且会员资格不少
于 2年, 则打八五折;若少于 2年则打九五折;若不是会员, 则不打折 。
IF the customer is a trade customer
and IF the customer is customer for 2 or more years
then discount is 85%
ELSE discount is 95%
ELSE this is a private customer
SO no discount given
ENDIF
第三章 结构化分析
矩阵
矩阵是一个普遍使用的简单易行的方法, 最常用的是 二维表的形式 。 根据用
途不同, 有不同的类型 。
基本思想,寻找或确定行元素与列元素的关系,然后利用行与列交汇处的值来
完成某种任务 。
(1)功能 /事件矩阵
功能 /事件矩阵
功能 接受申请 选择学生 学生登记 交纳学费
事件
申请入学 √ √
录取学生 √ √
学生注册 √
用来表示某一事件会触发哪些 功能, 或某个 功能 由哪些事件来触发 。
第三章 结构化分析
这类矩阵与对实体实例的操作有关 。
(2)实体 /功能矩阵
实体 /功能矩阵
收到需求 核 准 汇 集
订单处理
发 回 客户确认 通知库房
订单处理的功能结构图
实体 客户 订单 订单项 产品
功能
收到需求 R C C
核 准 RU RU R
汇 集 R R U
发 回 R RU RU
客户确认 CRUD R
通知库房 R R CRUD
第三章 结构化分析
第三章 结构化分析
数据字典强调对数据存储结构的逻辑设计,
并用数据结构表达数据项之间的逻辑关系,在
复杂数据与数据之间的复杂关系的分析和建模
中,数据字典机制难以适应,这时可以使用实
体 --关系图。
四、实体 — 关系图
第三章 结构化分析
1,数据对象
数据对象是指具有一系列不同性质或属性的
事物, 仅有单个值的事物, 例如宽度, 就不是数
据对象 。
2,属性
属性定义了数据对象的性质, 应该根据对所
要解决的问题的理解, 来确定特定数据对象的一
组合适的属性 。
第三章 结构化分析
数据对象彼此之间相互连接的方式称为关系
或联系 。
(1) 一对一联系 (1∶ 1)
(2) 一对多联系 (1∶N)
(3) 多对多联系 (M∶N)
联系也可能有属性 。
3.关系
第三章 结构化分析
使用实体 — 关系图 (Entity Relationship
Diagram)来建立数据模型。可以把实体 — 关系图简
称为 E-R图,相应地,用 E- R图描绘的数据模型也可
以称为 E- R模型。
E- R图中包含了实体 (即数据对象 )、关系和属性
等三种基本成分,通常用矩形框代表实体,用连接
相关实体的菱形框表示关系,用椭圆形或圆角矩形
表示实体 (或关系 )的属性,并用无向边把实体 (或关
系 )与其属性连接起来。
4.实体 —关系图的符号
第三章 结构化分析
职 称
性 别
姓 名
教 工 号
职 务
教 师
姓 名
学 号 性 别

年 级
学 生


课 程
课 程 号
课 名 学 时 学 分
成 绩
1
N
MN
学校教学管理 E-R 图
第三章 结构化分析
第三节 其他具有结构化思想的需求分析方法
在结构化分析领域中或在基于图形的需求分
析方面,还有一些其他的方法,下面是这些方法
采用的图形工具。
第三章 结构化分析
计 算 机 产 品
硬 件 软 件 服 务

 
 


 
 


 
 










 
 









一、层次方框图
功能(过程)分解图
功能(过程)分解图用来描述功能或过程的细化。
铸钟厂生产系统过程分解图
熔化 浇铸 打磨 装配 包装调音收料 运输
制造铸钟
选钟 选钟舌 装配 成品清单 挑选包装 成品装箱
取客户细节 成品运输记录 发货制定价格
核实客户状态 计算价格
------------------------------- 0级
-- 1级
--------- 2级
-----------------------3级
第三章 结构化分析
第三章 结构化分析
二,Warnier 图
软件产品
系统软件
应用软件
操作系统(P 1 )
编译程序(P 2 )
软件工具
编辑程序( P 3 )
测试程序( P 4 )
设计辅助工具( P 5 )

第三章 结构化分析
三,IPO图
有效主记录
有效事务记录
更新后的主文

.检验主记录
.校验事务记录
3.更新主记录
旧主文件
事务文件
输入 输出处理
第三章 结构化分析
结构化分析实质上就是一种建模活动,
通常建立数据模型、功能模型和行为模型。
需求分析阶段建立起来的模型,在软件开发
过程中有许多重要作用。
习 题
1,什么是结构化分析,它的, 结构化, 体现在
哪里?
2,需求分析的任务是什么?怎样理解这个段是
决定, 做什么,,而不是, 怎样做, 。
3 简述数据流图的主要思想,画数据流图要遵循
哪些原则?
4,怎样判断数据流图的一致性和完全性?
5,下面那些提法属于不精确用户需求,试给出
相应的需求分析对策。
( 1) 系统应表现出良好的响应速度 。
( 2) 系统必须用菜单驱动 。
( 3) 在数据录入画面, 应有 18个按纽 。
( 4) 系统运行时占用的内存不得超过 128KB。
( 5) 电梯应平稳运行 。
( 6) 即便系统崩溃, 也应保护好用户数据 。
6、选取一个应用领域中的中小规模的软件问题,
分别从用户和软件开发两种角度给出问题的初
始描述,指出两者之间的差异并利用初步需求
获取技术形成双方都能接受的初步需求文档。
7,设计一个支持初步需求分析活动的工具原形,
该工具应帮助分析人员记录检索分析过程中的
各类信息, 并对需求分析过程中的快速原形技
术提供支持 。