软件工程
电子教案
王树林
CHAPTER 12 ANALYSIS MODELING
结构化分析是一种建立模型的活动。
12.1 简史
1960 分析建摸
12.2 分析模型的元素
分析模型必须达到三个主要目标, ( 1)
描述客户的需要;( 2)建立创建软件
设计的基础;( 3)定义在软件完成后
可以被确认的一组需求。
CHAPTER 12 ANALYSIS MODELING
数据字典
数据对
象描述
加工规

PSPEC实体
关系





状态 -变迁图
控制规约
CSPEC
CHAPTER 12 ANALYSIS MODELING
在模型的核心是数据字典,包含了软件使用或
生产的所有数据对象的中心库。围绕着这个
中心有三种图,( 1)实体关系图 ERD,( 2)
数据流图 DFD,指明数据在系统中如何被变
换,描述对数据流进行变换的功能(和子功
能),可作为功能建摸的基础。( 3)状态变
迁图 STD,指明作为外部事件的结果,系统将
如何动作,是行为建摸的基础。
分析模型包含了上图中的各种图、规约、描述
和字典。
CHAPTER 12 ANALYSIS MODELING
12.3 数据建摸
系统处理哪些主要的数据对象?每个
数据对象的组成如何?对象之间的关系
怎样?
12.3.1 数据对象、属性和关系
数据模型包含三种互相关联的信息:
数据对象、描述数据对象的属性和数据
对象相互连接的关系。
CHAPTER 12 ANALYSIS MODELING
数据对象可能是一个外部实体(生产或消费信
息的任何事物)、一个事物(报告或显示)、
一次行为(一个电话呼叫),或事件(一个
警报)、一个角色(销售人员),一个组织
单元(某个统计部门)、一个地点(如仓
库),或一个结构(如文件)。
数据对象是相互关联的。
数据对象只封装了数据。
CHAPTER 12 ANALYSIS MODELING
对象 属性
姓名
地址
年龄
驾驶证号
模型
ID
实体类型
颜色
CHAPTER 12 ANALYSIS MODELING
拥有
拥有者 模型 ID 类型 颜色 制造商
张三 Ls400 湘 A
CHAPTER 12 ANALYSIS MODELING
属性:定义了数据对象的性质,特性一,
为数据对象的实例命名;特性二,描述
这个实例;特性三,建立对另一个表中
的另一个实例的引用。
关系:数据对象可以以多种不同的方式互
相连接。
书 书店
订购
陈列
销售
CHAPTER 12 ANALYSIS MODELING
12.3.2 基数和形态
基数 (Cardinality),1,1,1,N,M,N;
形态( Modality):
客户 修理行为
形态:系统必须的,意味
着一个修理行为必须有一
个客户。
基数:意味着一个客户
等待着修理行为
基数:意味着可能
有许多修理行为
形态:可选的,意味着
存在不需要修理的情况
CHAPTER 12 ANALYSIS MODELING
12.3.3 实体 -关系图( ERD)
ERD最初是由 Peter Chen为关系数据库
系统的设计提出的,并被其他人进行了
扩展,目的是表示数据对象和关系。
制造商 车制造
拥有者 模型 ID 类型 颜色 制造商
张三 Ls400 湘 A
CHAPTER 12 ANALYSIS MODELING
制造商 车
货主
销售关系
合同
制造
许可证 货栈
运输
CHAPTER 12 ANALYSIS MODELING

欧洲的 国产的 亚洲的
欧洲的 欧洲的 数据对象类层次
CHAPTER 12 ANALYSIS MODELING
电子部件
引擎 底盘 驱动装置内部件
车 关联数据
对象
CHAPTER 12 ANALYSIS MODELING
12.4 功能建摸和信息流
当信息流过基于计算机的系统时会
被变换。
外部实体
外部实体
外部实体
外部实体
外部实体
基于计算机
的系统
输入
信息 输出信息
输入
信息
输出信息
输出
信息
信息流模型
CHAPTER 12 ANALYSIS MODELING
12.4.1 数据流图
外部实体
处理
数据
对象
数据存储
位于被建摸的系统
之外的信息生产者
或消费者
信息变换者
数据对象,
箭头指向数
据流的方向
数据库或文件
CHAPTER 12 ANALYSIS MODELING
F0A B
F0.1
F0.4
F0.2 F0.3
BA
F0.4.1 F0.4.2
X
W U
Y
C
UW
信息流精化
CHAPTER 12 ANALYSIS MODELING
当信息在软件中移动时,它会被一系列变
换所修改。可以用来抽象地表示系统或
软件。 DFD既提供了功能建摸机制,也
提供了信息流建摸机制。
12.4.2 针对实时系统的扩展
CHAPTER 12 ANALYSIS MODELING
半连续
数据流
控制加工
控制项
控制存储
加工 同一个加工的多个对等的实例,在多任务系统中,
当产生多个加工时使用
控制项的库,被一个或
多个加工时使用
控制项或事件,取布尔
值或离散值。
控制或事件的变换者,
接受控制或输入,产生
控制输出
“连续地”作为加工的
输入或输出的数据对

CHAPTER 12 ANALYSIS MODELING
竖短线是对控制规约( CSPEC)
的引用,CSPEC描述了系统的
行为,定义了事件的后继加工
如何被激活。
12.4.3 WARD和 Mellor扩展
WARD和 Mellor扩展对基本的结构化分析符号体系
进行扩展。从而使这些符号体系可以适应实时系统的要
求。
? 在时间连续的基础上收集或产生信息流。
? 传遍系统的控制信息以及相关的控制处理。
CHAPTER 12 ANALYSIS MODELING
? 同一个变换的多个实例,这在多任务的
条件下可能遇到。
? 系统状态以及导致状态变迁的机制。
监视和调整温度
监控温

温度设
置点
已校正值“连续”
地输出
“连续”
地输入
CHAPTER 12 ANALYSIS MODELING
控制固件
操作接口 处理机器人
命令
机器人初
始化控制部件状态 缓冲器
机器人命令文件
记录机器人动作
操作设

处理活动
位置命

每个固件
状态


开始或
停止
操作命令
CHAPTER 12 ANALYSIS MODELING
12.5 行为建摸
行为建摸是所有需求分析方法的操作原
则。
CHAPTER 12 ANALYSIS MODELING
读操作输入
重加载纸 完成问题
诊断
向用户显
示过程
管理
复印
重新加载
需求
操作命令和
数据
复印
信息
重加
载状

问题指
示器 问题类

复印
状态
显示
影印机的第一层 DFD
CHAPTER 12 ANALYSIS MODELING
读操作输入
重加载纸 完成问题
诊断
向用户显
示过程
管理
复印
影印机的第一层 CFD 重新处理失败

开始或
停止
进纸状态 警告
CHAPTER 12 ANALYSIS MODELING
12.6 结构化分析的技巧
12.6.1 创建实体 -关系图
1、在需求收集的过程中,要求客户列出业务
过程中涉及到的“事物”。
2、一次考虑一个对象,分析员和客户定义这
个对象和其他对象是否存在连接。
3、当连接存在时,分析员和客户应创建一个
或多个对象关系对。
4、对每一个对象关系对,考察其基数和形态。
5、迭代地进行步骤 2到步骤 4,直至定义了所
有的对象关系对。
CHAPTER 12 ANALYSIS MODELING
6、定义每个实体的属性。
7、形式化并复审实体关系图。
8、重复步骤 1到步骤 7,直到数据建摸完
成。
CHAPTER 12 ANALYSIS MODELING
房主
控制面板
安全系统 监控服务
传感器
CHAPTER 12 ANALYSIS MODELING
一旦建立了连接后,针对每个连接标识出一个
或多个对象关系对。如可确定的“传感器”
和“安全系统”间的连接具有以下对象关系
对:
安全系统监控传感器,
安全系统允许和不允许传感器起作用,安全系
统检测传感器,安全系统编程传感器。
考察每个对象从而确定其属性。如传感器对象
有以下属性:传感器类型、内部标识号、区
域位置和警报级别。
CHAPTER 12 ANALYSIS MODELING
12.6.2 创建数据流模型
控制面板
传感器
控制面板
显示
警告
电话线
Safehome
software
传感器状

用户命令和
数据 显示信息
警告
类型
电话号
码播音
CHAPTER 12 ANALYSIS MODELING
控制面板
传感器
控制面板显示
警告
电话线
与用户的
合同
传感器状态
用户命令和数据
显示信息
警告类型
电话号码播音
密码处理
监控传感器
显示信息
和状态检验 ID信息
密码
激活 /不激活
系统
配置系统
配置信息
配置数

配置数据
配置数据
开始停

配置请

传感器信

CHAPTER 12 ANALYSIS MODELING
读传感器
传感器状态
拨号
评估位置
显示格式
产生警告
信号
配置信息
电话号码播音
电话号码
警告数据
传感器 ID类型定

配置数据
传感器 ID类型
警告类型
传感器信

CHAPTER 12 ANALYSIS MODELING
12.6.3 创建控制流模型
12.6.5 加工规约
三角分析三角边维度
出错信息
三角类

PSPEC,三角分析的处理叙述
加工三角分析接受代表三角形的边长的值 A,B,
C。加工检查长度值是否都是正数。如果遇到负
值,则产生错误信息。加工检验输入数据,以确
定这些长度是否定义了一个合法的三角形,如果
是,确定是什么类型的三角形。
CHAPTER 12 ANALYSIS MODELING
12.7 数据字典
分析模型中包含对数据对象、功能和控制的
表示。在每种表示中,数据对象和控制项都
扮演一个重要角色。
数据字典是为描述在结构化分析中定义的对象
的内容而作为半形式化的语法被提出来的。
数据字典中的信息:
? 名称 —数据或控制项、数据存储或外部实体
的主要名称。
? 别名 —第一项的其他名字。
CHAPTER 12 ANALYSIS MODELING
? 如何使用 --使用数据或控制项的加工列
表,以及如何使用。
? 内容描述 —表示内容的符号。
? 补充信息 —关于数据类型、预设值、限
制等的信息。
CHAPTER 12 ANALYSIS MODELING
数据结构 记号 意义
= 由 … 构成
顺序 + 和
选择 [|] 或
重复 {}n N次重复
() 可选择的数据
** 限定的注释
数据字典的内容描述符号
CHAPTER 12 ANALYSIS MODELING
例如 Safehome中“监控系统”加工的第二层
DFD。在该图中,数据项“电话号码”被刻
画为输入,但严格地讲,电话号码是什么呢?
他可以是 7位本地号码,或 4位分机电话,或
25位长途载波电话序列。
如:名称 电话号码
别名 无
如何使用 拨号输出,预设。
描述 电话号码 =当地分机号码 |
外地号码
CHAPTER 12 ANALYSIS MODELING
电话号码 =[当地分机号 |外地号码 ]
当地分机号 =[2001|2002|…|2999]
外地号码 =9+[当地号码 |长途号码 ]
当地号码 =前缀 +访问的号码
长途号码 =( 1) +区号 +当地号码
访问的号码 =*任意四位串号码 *
手工维护数据字典是困难的,必须要有 CASE工
具。
Summary