第4章 结构化分析模型
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
+
x{ }y ( ) [a|b]
家庭成员 = 1{姓名 + 关系 + 单位 + 职务}n 报名材料 = 申请表 + 学历学位证书+(推荐信) 性别 = [男|女] 日=1..31
M..N
界域项,限定取值范围为闭区间[M,N] 月=1..12
4.4 数据字典
定义式举例
航班文件由一组航班记录构成,
每条记录包含航空公司编号、航 班号、日期,航班类型,起点、
数据域 功能域
输入数据集 持久化数据集 输出数据集
功能1
功能2
功能N
4.1 结构化分析模型的构成
结构化分析的主要任务
“逐步求精”地进行系统分解,并定义分解后各个组成 部分之间的联系。
结构化分析准则
必须理解和表示系统的数据域。
确定系统需要应用和管理的数据内容及组织关系。
必须理解和表示系统的功能域。
确定系统的功能集合,及功能间的协作关系。
供应商信息 订货报表
库存管理
订购管理
零件订货信息
4.3 功能域分析模型
数据流图实例(一)
分解 加工1
仓库 事务 1.1 事务内容 检查 有效 事务 1.2 库存更新 更新零件 编号 1.3 订购审核 零件订货 信息
D1
库存文件
分解 加工2
2.1 供应商 信息 更新供应 商信息 D2
供应商文件
2.2 零件订货 信息 生成报表 内容 订货报表 内容
实 例 分 析
费用 月份 月结账单 状态
||
ID 构成
转发 时间
转发 状态
接收 时间 接收 状态
所属
||
ID
回执
ID 内容
||
短信公文
接收
0<
0<
审批
起草
||
行政秘书
部门经理
||
|| |<
0<
|<
支付
||
ID
发生
部门 名称
ID 姓名 职务 手机
0<
|<
员工
|<
4.3 功能域分析模型
数据流变换的观点
学生
说明: 1、属性是原子数据项, 不能包含结构。 2、关系只能用于表示 实体间的联系。 3、根据问题需要,相 同实体之间可以存 在不同含义的多种 关系。
|<
教师
|<
学习
成绩
讲授
工作量
|<
课程号
课程
名称
0<
类型
4.2 数据域分析模型
基数与形态——关系约束
含义
基数(多重性):实体参与给定关系的(最大)数量约束。 形态:实体参与给定关系的强制性约束。
条目查询结果
产品条目
库存条目
外部 实体
数据流
数据 加工
数据 存储
4.3 功能域分析模型
功能域建模的步骤——逐步求精
1.创建顶层(0层)数据流图
确定全体外部实体 确定以外部实体为起点或终点的边界数据流 将软件功能域表现为唯一的数据加工。
2.为第N层数据流图中“复杂”的数据加工创建第N+1层子 图,表现内部的子加工、数据存储和数据流变换细节。
也叫泡泡图(bubble diagram),是一种 “描绘数据在系统中流 动和处理过程 ”的图形化技术,是结构化功能建模的主要技术
符号及语义
外部实体——数据流的起点或终点。
表示系统外产生输入或接受输出的 用户、协作系统。
外部 实体名 数据 加工名 外部 实体名 数据 加工名
数据加工——实现数据转换处理。
数据封闭守恒原则
数据流必须产生或终结于外部实体(或数据存储)。 数据加工必须既有输入流又有输出流,不能存在黑洞和奇迹。 数据存储必须有输出流。
4.3 功能域分析模型
数据流图的指导原则
数据流目的性原则
数据流图不表现实物的传递过程。 数据流图不表现系统边界之外(外部实体间)的数据处理过程。 数据流动必须经过数据加工,不能在其他元素间直接传递。
符号及语义
实体
以矩形表示,代表一个独立的数据元组集合。通常用以映射数据 域中的复合数据对象。
属性
以椭圆表示,并以无向边连接到对应的实体或关系。体现为实体 对象或关系中包含该原子数据分量。
关系
以菱形表示,用以体现数据对象之间的联系。用无向边连接到对 应的实体。
4.2 数据域分析模型
ERD 图例
学号 姓名 班级 教工号 姓名 职称
终点、起飞时间、降落时间。
航空公司编号为2~4位大写字母 航班号为3位阿拉伯数字; 航班类型是“单程”或“往返”
之一
起点、终点不超过50个字符; 日期采用年4位、月两位、日两 位的表示形式; 起飞和降落时间包括小时和分钟 等信息
4.4 数据字典
数据流条目、分量、数据存储的定义规范
数据流条目 数据流分量 数据存储
7±2原则
为控制模型复杂度,避免在一张图内绘制9个以上的数据加工。
接口最小化原则
避免让底层流图中的基本数据加工处理过多的数据流。
数据流图实例(二)
2010年软考/期末考试试题
4.4 数据字典
数据字典
用于对数据流图中的元素进行精确定义和解释。 主要内容
数据流条目
定义数据流的来源、去向、内容构成、流量、峰值等。
4.4 数据字典
数据流分量的定义举例
数据分量名:学号 简述:在籍学生的 唯一编号 数据类型:字符串 长度:9 取值范围:无 缺省值:无 单位:无 结构含义: 第1~2位: 第3~4位: 第5~6位: 第7~9位: 购 书 单
2.3 打印报表 订货 报表
4.3 功能域分析模型
数据流图的指导原则
命名、编号原则
名字应体现元素的主要作用和含义。加工应以动宾短语命名, 其他元素应以名词短语命名。 编号应体现元素的可见层次和分解关系。
来自百度文库
数据流一致性原则
在分层求精的过程中,子图边界的数据流应该与其在父图中对 应加工所关联的数据流保持一致。
以元素编号体现子图与父图的对应关系。 分解过程中确保数据流一致性原则。
3.迭代步骤2,至第M层子图中的数据加工均为基本加工。
基本加工指数据处理目的单一,数据流接口简单,适合作为一 个独立“函数”实现的数据加工。
4.创建数据字典。 5.复审模型。
4.3 功能域分析模型
数据流图实例(一)
为协调各种生产零件的使用和采购工作,某工厂拟开发 一套零件管理软件,主要需求包括:
航班文件=
1{ 航空公司编号+航班号+日期 +航班类型+起点+终点+起 飞时间+降落时间 }n
航空公司名称=2{ A..Z }4 航班号=3{ 0..9 }3 起点=终点=1{字符}50 航班类型=[单程|往返] 日期= 年 + 月 + 日 年=4{ 0..9 }4 月=“01”..“12” 日=“01”…“31” 起飞时间=降落时间=小时 + 分钟 小时=“00”..“23” 分钟=“00”..“59”
仓库保管员负责登记零件的入库和领用事务。系统应根据事务内 容更新”库存文件“。该文件记录所有零件的编号、名称、当前 库存、警戒值、单位订购数量等。 采购科定期更新零件供应商信息。系统在“供应商文件“中修改 对应记录。该文件记录所有零件的编号、供应商名称,单价,供 货时间等。 采购科每天需要打印一张订货报表。报表中应列出所有库存量低 于警戒值的零件订货信息,包括:零件编号、名称、供应商、订 购数量、单价、总价。
数据流分量
定义构成数据流的数据项含义、类型、取值约束等。
数据存储
定义数据存储的作用、记录结构、存储方式、存取要求等。
数据加工说明
4.4 数据字典
定义式
用以说明复合信息的组成结构和取值约束的表达式。 运算符 含义 举例
=
定义为, 左端为被定义项,右端为定义表达式 并列项, 表示由多个分量并列构成。 可重复项, { }内的组成部分可重复出现, x,y表示重复的最小和最大次数 可选项, ( )内的组成形式可有可无 枚举项,限定取值范围为[|]的某项 日期 = 年 + 月 + 日 登录信息=用户名 + 密码 +验证码
数据流名称 别名 简述 来源 去向 组成 数据流量 峰值
分量名称 简述 数据类型 精度(长度) 取值约束 缺省值 单位 结构含义
存储名称 别名 简述 记录结构 存储方式 存取要求 补充信息
4.4 数据字典
数据流条目的定义举例
购 书 单
1
审查并 开发票
学生
发 票
2
开领 书单
领 书 单
学生
数据流名:购书单 别名: 无 简述: 学生购书时 教材使用表 教材存量表 填写的项目 来源: 学生 去向: 加工1“审查并开发票” 组成: 学号+姓名+1{书号+名称+数量}n 数据流量:100次/天 高峰值:400次/天(开学初)
表示将输入数据流变成输出数据流的功能。
数据存储——系统内保存数据流的容器。
表示系统数据域提供的已知数据集合。 匹配执行频率不一致且存在数据传递关系 的数据加工。
数据存储名 数据存储名
数据流——在系统内被传递的数据内容。
数据流名称
4.3 功能域分析模型
数据流图图例
条目查询请求
1
查询可 用条目
目录
客户
软件的功能体现为将输入的数据变换为输出的数据。因 此功能域在整体上表现为一个复杂的“信息变换器”。 功能域分析的任务是确定功能域内部 “输入”到“输 出”的阶段变化和传递路径——数据流的变换过程。
功能域
输入A
结果1
输入B 输入C
?
结果2
4.3 功能域分析模型
数据流图 (Data Flow Diagram,DFD)
数据流图 DFD
行为模型
利用状态迁移图表现系统 的状态集合和状态变化关 系。
实体关系图 ERD 数据字典
数据字典
对模型元素进行精确定义 和详细解释。
行为模型
状态迁移图 STD
4.2 数据域分析模型
实体关系图(Entity Relationship Diagram)
简介
1976年由Peter Cher提出,在数据库概念设计领域得到了广泛 的认同,用于构造独立于机器,独立于DBMS的数据关系模型
4.2 数据域分析模型
实例分析
确定实体
部门的信息 员工的信息 短信公文的信息 短信发送的结果 短信发送的费用
确定关系
员工在哪个部门 部门产生过哪些短信 短信由谁起草、谁审批,发给谁 回执是针对哪个短信、发送给谁的结果。 部门要支付多少费用、费用因哪些短信发生。
基数形态…… 属性…… 复审模型……
4.2 数据域分析模型
4.3 功能域分析模型
数据流图实例(一)
(1)顶层DFD
仓库 外部实体 仓库保管员,采购科。 保管员 边界数据流 I (仓库事务,供应商信息) O (订货报表)
供应商信息
仓库事务 零件管理 软件 订货报表 采购科
(2)第1层DFD
子数据加工 库存管理,订购管理 数据存储 零件订货信息
仓库事务 1 2
确定方法
在给定关系的一端假定为单位实体,在另一端考察关联实体的 数量和强制性约束。
表示方法
1
1 m
(1)m
1
n n
(0)n
1
1 >
1
< <
>1
0<
4.2 数据域分析模型
数据域建模步骤
1.提取需求中的复合数据对象(通常对应应用领域的业务对象或概 念),确定并命名实体集合。 2.每次考察一个实体是否需要与其他实体间的建立关系。确定实体关 系对。 3.指定每个实体关系对的基数和形态。 4.迭代执行2~4步至定义出所有的实体关系对。 5.根据需求,确定每个实体和关系的属性。 6.标注计算属性。 7.复审实体关系模型。
必须理解和表示作为外部事件响应结果的软件行为。
确定系统的状态集合、事件集合及由事件响应所导致的状体迁 移关系。
4.1 结构化分析模型的构成
结构化分析模型——三视点模型(3VM)
根据结构化分析准则,系统分析模型由以下部分构成:
数据模型
利用实体关系图表现系统数据域 的数据对象及相互关系。
功能模型
利用数据流图表现系统功 能域的功能结构和协作关系 数据模型 功能模型
沈阳工业大学 软件学院
辽宁省教育软件大赛参赛作品
用户需求与系统建模
第4章 结构化分析模 型
本章内容
4.1 结构化分析模型的构成
4.2 数据域分析模型
4.3 功能域分析模型 4.4 数据字典
4.1 结构化分析模型的构成
结构化分析技术的基本观点
软件系统由独立的数据域和功能域组成。功能域对输入 数据进行处理,并产生满足需求的结果数据。
4.2 数据域分析模型
实例分析
某公司拟应用短信服务平台提高办公效率,节省通信成本。该公司设 有多个部门,各部门包括若干员工,其中设部门经理和行政秘书各1 人。短信平台的应用需求为:
行政秘书负责起草短信公文,并指定公文的接收者(点发、群发均可)。 接收者可为本部门或外部门员工,系统应提供按部门的人员检索功能。 部门经理可审批本部门起草的短信公文内容,通过审批后短信公文由系统 编号,并自动转发给ISP的短信处理网关。 ISP对要求转发的每条短信产生一条回执,记录该短信的编号、转发状态、 转发时间、接收时间、接收状态。 部门经理可查阅指定时间段内本部门发送的短信公文的详细情况(起草者、 接收者、公文内容、费用),并可统计某时间段内发送短信的总费用 公司财务部每个月会根据本月内各部门成功发送的短信数量与部门经理进 行办公费用结算,系统应保留各部门每个月的结算账单以便核查。