现代软件工程-第3讲
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
36
IDEF1X图---联系(关系)
确定联系: 一对一(多)
连接联系 分类联系
非确定联系: 多对多
可标定联系 非标定联系 完全分类联系 不完全分类联系
37
连接联系(连接关系)
38
分类联系
39
非确定联系及转化
· . 实体A/实体A编号 A到B 的联系名/B到A的联系 实体B/实体B编号 名
学期/1 P
构件-组件/6
构件.部件编号 组件.部件编号
43
IDEF1X建模步骤
• 0阶段——确定建模目标和计划; • 1阶段——定义实体; • 2阶段——定义联系; • 3阶段——定义键; • 4阶段——定义属性。
44
谢谢!
45
4
IDEF0功能建模
• 1981年美国空军公司ICAM(Integrated Computer Aided Manufacturing)工程中用了 名为“IDEF”(ICAM DEFinition method)的 方法,后来称之为Integration DEFinition method,简称仍不变。
1 2
3
17
箭头 ------通道箭头
• 表示箭头描述的数据约束不出现在子图( 或父图)中。
()
b
c
a
e
X
1
()
d
通道箭头可使子图 的描述得到简化, 也可避免在高层父 图中出现信息过细 的现象,干扰用户 对图形的理解。
18
箭头 ---- 双向箭头
• 表示两个盒子描述的活动互为输入或互为控制, 且将先触发的盒子画在较高的位置上。
备货 单 缺货 单 统计 表
30
IDEF方法应用示例
(1) 接受顾客的订单,检验订单。若库存有货,则进 行供货处理,即修改库存,给仓库开备货单,并且 将订单留底; 若库存量不足, 则将缺货订单登入
(2) 根据缺货记录进行缺货处理, 将缺货通知单发给
(3) 根据采购部门发来的进货通知单处理进货,即修 改库存,并从缺货记录中取出缺货订单进行供货处 理。
(4) 根据留底的订单进行销售统计, 打印统计表给经 理。
31
销售管理系统A0图
库存量是否满足
顾客订单 处理订单1
处理供货2 处理缺货3 进货通知 处理进货4
可供货订单 销售部门
备货单 缺货单
销售统计5 统计表
32
IDEF0方法的特点
IDEF0方法有以下特点: • 采用方框和箭头等简单的图形符号描述系统
a/b
a/b
19
箭头----虚线箭头
• 表示活动触发的先后顺序。
a
c
b
d
e
1
2
f 3
20
箭头----选择箭头
• 表示数据的选择关系。
a a或b
b
a a或b
b
21
IDEF0方法: • 可描述独立的
活动 • 可显示出由几
个活动组成的 连续流程,同 时显示了各个 活动的相互关 系。
生产过程的IDEF0
6
IDEF建模
• 根据用途,可以把IDEF族方法分成两类:
– 第一类IDEF方法的作用是沟通系统开发人员之间的信 息交流。主要有:IDEF0、IDEF1、IDEF3、IDEF5。
• IDEF0通过对功能的分解、功能之间关系的分类(如按照输入 、输出、控制和机制分类)来描述系统功能。
• IDEF1用来描述企业运作过程中的重要信息。 • IDEF3支持系统用户视图的结构化描述。 • IDEF5用来采集事实和获取知识。
客户/1
客户编号 客户姓名
员工/2
员工编号 员工姓名 职别
销售合同/4
合同编号 客户编号(FK) 员工编号(FK) 日期
42
角色名
• 如果一个子实体对同一个父实体有多种 联系,则用“角色名”(role name)来 区分每次继承,其使用形式为:角色名. 属性名。
部件/5 部件编号
是...中的构件
由... 装配而成
(控制) 调整政策
调整工资 2 新工资 (输出)
人事部门
(机制)
输出指执行活动时
产生的数据,用连
在方框右边的箭头
表示
12
控制
控制指活动所受到的约束条件,用连在方框上边 的箭头表示
(控制) 调整政策
(输入) 原工资
调整工资 2 新工资
人事部门 (机制)
(输出)
13
(输入) 原工资
机制
(控制) 调整政策
– 第二类IDEF方法重点支持系统开发的设计过程部分。 目前有两种IDEF设计方法:IDEF1X和IDEF4。
• IDEF1X:辅助语义数据模型的设计。 • IDEF4:产生面向对象实现方法所需的高质量的设计产品。
7
IDEF0图
• IDEF0图的主要元素是:
盒子与箭头。 • 盒子代表系统的功能(活
调整工资 2 新工资
人事部门 (机制)
(输出)
机制指活动是由谁来完成的,它可以是人、组织 、 设备及其他系统等,用连在方框下边的箭头表 示
14
区别输入与控制
• 一般情况下输入是活动要“消化掉”或“ 变换成输出”的数据,而控制只是说明由 输入变换到输出的条件, 当无法区分两者 时可将输入看作控制。
• 一个活动可无输入, 但必须至少有一个控 制。
的活动和数据流,描述活动所受到的约束条 件及实现机制。 • 采用严格的自上向下、 逐层分解的方式建立 系统功能模型。
33
主要内容
• IDEF0功能建模 • IDEF1X数据建模
34
IDEF1X数据建模
• IDEF1X方法是IDEF1方法的扩展版本。 • IDEF1用来表示系统的信息结构和语义。 • IDEF1X方法增强了图形的表达能力,丰富
5
IDEF建模
• 最初开发的3种方法:
– 功能建模(IDEF0) – 信息建模(IDEF1) – 动态建模(IDEF2)
• 随着信息技术的发展,产生了所谓IDEF族方法:
– 数据建模(IDEF1X) – 过程描述获取方法(IDEF3) – 面向对象的设计(OO设计)方法(IDEF4) – 使用C++语言的OO设计方法(IDEF4C++) – 实体描述获取方法(IDEF5) – 设计理论(rationale)获取方法(IDEF6) – 人-系统交互设计方法(IDEF8) – 业务约束发现方法(IDEF9) – 网络设计方法(IDEF14)等。
15
箭头 ---- 分支箭头
• 表示多个活动需要同一种数据或同一种 数据的不同成份。
a
a
ab
c
c
IDEF0图中,箭头代表数据约束,而不是数据流或 执行顺序。在同一图上,若几个盒子所需的数据约 束都满足,则这个几个活动可同时执行。
16
箭头 ------汇合箭头
• 表示多个活动产生(或合成)同一种数据。
软件工程
第3讲 IDEF建模
贾西平 Email: jiaxp@
本课程的学习内容
软件工程概述
需求分析 概要设计 详细设计 软件验证技术
软件维护 软件项目计划与管理
软件知识产权 软件质量
软件工程文档
2
主要内容
• IDEF0功能建模 • IDEF1X数据建模
3
主要内容
• IDEF0功能建模 • IDEF1X数据建模
在这里我们可以看到,IDEF0丰富和深化了“功能”的概 念——描述了“功能”间的联系(输入/输出)和控制机22 制
IDEF0的多层分解结构
23
ICOM码:分层IDEF0图
• 为了明确分解过程中数据和图形间的关系,采用 ICOM码和结点号来进行标识。
• 对于来自父盒子的数据约束,分别用I、C、O、M 表明来自父盒子的输入、控制、输出及机制边线 ,并在字母之后跟上数据约束在父盒子中的数字 顺序号(编号顺序为:从上至下,从左至右)以 表明数据约束在父盒子中的位置,统称为ICOM码 。
9
活动
(控制) 调整政策
(输入) 原工资
调整工资 2 新工资
人事部门 (机制)
用主动的动词短语描 述功能(或活动)
(输出)
10
输入
输入指完成某项活 动所需的数据,用 连在方框左边的箭 头表示
(控制) 调整政策
(输入) 原工资
调整工资 2 新工资 (输出)
人事部门 (机制)
11
输出
(输入) 原工资
·
开设/在…开设
·P
课程/2
学期/1
课程/2
·· 提供/3
40
属性
• 属性表示现实或抽象的事物一种特性或性质。
实体名/实体编号
属性名 ……
关键字属性
属性名 ……
次关键字属性 和其它一般属 性
职员/3 职员编号 身份编号(AK1) 姓名(AK2) 生日(AK2)
AK:次关键字
41
外键
• 如果实体间存在“确定 联系”,则“子实体” (或“分类实体”)将 继承“父实体”(或“ 一般实体”)的“主关 键字”的属性,称为“ 外来关键字”,在属性 名后跟FK以区别其它 属性。
(2) 根据缺货记录进行缺货处理, 将缺货通知单发给
(3) 根据采购部门发来的进货通知单处理进货,即修 改库存,并从缺货记录中取出缺货订单进行供货处
理。
(4) 根据留底的订单进行销售统计, 打印统计表给经
理。
29
销售管理系统A-0图
库存 量是否满 足
顾客 订单 进货 通知单
销售 管理系统
销售 部门
了语义、简化了开发过程。
35
IDEF1X图---实体
• 实体是具有相同属性或特征的现实或抽象 事物的集合,这个集合中的一个元素便称 为实体的一个实例。
• 在一张IDEF1X图中 ,一个实体只能在图中 出现一次。
实体名/实体编号 供应商/2
实体名/实体编号
供应合同/6
(a)独立实体及示例
(b)从属实体及示例
控制/限制
动)。
输入
功能
活动
输出
• 箭头表示系统处理的数据 约束,可以是具体的事物 ,也可以是抽象的信息。
机制 IDEF0功能图
IDEF0图有时也称为活动图形
8
盒子
输入边线 what
坯料
蓝图
控制边线 why
工单
调度表
制造零件 1
刀具
机器
样板
输出边线 what
成品零件 切屑
机制边线 who
IDEF0功能建模方法要求一张IDEF0图中的盒子 最多只能有6个(子图形还要求不少于3个)。
(4)分解:对第一层进行分解,针对每个阶层编写 辅助说明文字,并与父层共同构成完整模型。
(5)确认:模型建构者把初步的IDEF0图形和相关 文件再次和相关人员进行讨论,确认最终结果。
28
IDEF方法应用示例
现以某企业销售管理系统为例, 说明IDEF方法的
(1) 接受顾客的订单,检验订单。若库存有货,则进 行供货处理,即修改库存,给仓库开备货单,并且 将订单留底; 若库存量不足, 则将缺货订单登入
26
IDEF0图示例
27
IDEF0的建模步骤
(1)资料的收集:了解流程的相关背景,包括相关 人员、事物及制度。建模需要与专家和流程的实 际操作者广泛讨论。对收集到的信息分类加工整 理。
(2)定义范围:在资料收集的基础上,分析关键性 流程,如外部接口、系统与环境的边界等。
(3)针对收集到的资料绘图,根据IDEF0的绘制原 则和符号,设计第一层。
• 结点号用来表明图形或盒子在分层IDEF0图中的 位置。
24
ICOM码例子
25
结点号与结点树
A1 A21
A-1
A-0表明系统
的内外关系
A-0
顶层图A0…A …A22An A2m
对于图形的文字说明, 其编号为图形结点号 加上字母“T”例如 A12T;对于图形的其 它参考图形,其编号 为图形结点号加上字 母“F”后再跟上顺序 号,例如A1F4。
IDEF1X图---联系(关系)
确定联系: 一对一(多)
连接联系 分类联系
非确定联系: 多对多
可标定联系 非标定联系 完全分类联系 不完全分类联系
37
连接联系(连接关系)
38
分类联系
39
非确定联系及转化
· . 实体A/实体A编号 A到B 的联系名/B到A的联系 实体B/实体B编号 名
学期/1 P
构件-组件/6
构件.部件编号 组件.部件编号
43
IDEF1X建模步骤
• 0阶段——确定建模目标和计划; • 1阶段——定义实体; • 2阶段——定义联系; • 3阶段——定义键; • 4阶段——定义属性。
44
谢谢!
45
4
IDEF0功能建模
• 1981年美国空军公司ICAM(Integrated Computer Aided Manufacturing)工程中用了 名为“IDEF”(ICAM DEFinition method)的 方法,后来称之为Integration DEFinition method,简称仍不变。
1 2
3
17
箭头 ------通道箭头
• 表示箭头描述的数据约束不出现在子图( 或父图)中。
()
b
c
a
e
X
1
()
d
通道箭头可使子图 的描述得到简化, 也可避免在高层父 图中出现信息过细 的现象,干扰用户 对图形的理解。
18
箭头 ---- 双向箭头
• 表示两个盒子描述的活动互为输入或互为控制, 且将先触发的盒子画在较高的位置上。
备货 单 缺货 单 统计 表
30
IDEF方法应用示例
(1) 接受顾客的订单,检验订单。若库存有货,则进 行供货处理,即修改库存,给仓库开备货单,并且 将订单留底; 若库存量不足, 则将缺货订单登入
(2) 根据缺货记录进行缺货处理, 将缺货通知单发给
(3) 根据采购部门发来的进货通知单处理进货,即修 改库存,并从缺货记录中取出缺货订单进行供货处 理。
(4) 根据留底的订单进行销售统计, 打印统计表给经 理。
31
销售管理系统A0图
库存量是否满足
顾客订单 处理订单1
处理供货2 处理缺货3 进货通知 处理进货4
可供货订单 销售部门
备货单 缺货单
销售统计5 统计表
32
IDEF0方法的特点
IDEF0方法有以下特点: • 采用方框和箭头等简单的图形符号描述系统
a/b
a/b
19
箭头----虚线箭头
• 表示活动触发的先后顺序。
a
c
b
d
e
1
2
f 3
20
箭头----选择箭头
• 表示数据的选择关系。
a a或b
b
a a或b
b
21
IDEF0方法: • 可描述独立的
活动 • 可显示出由几
个活动组成的 连续流程,同 时显示了各个 活动的相互关 系。
生产过程的IDEF0
6
IDEF建模
• 根据用途,可以把IDEF族方法分成两类:
– 第一类IDEF方法的作用是沟通系统开发人员之间的信 息交流。主要有:IDEF0、IDEF1、IDEF3、IDEF5。
• IDEF0通过对功能的分解、功能之间关系的分类(如按照输入 、输出、控制和机制分类)来描述系统功能。
• IDEF1用来描述企业运作过程中的重要信息。 • IDEF3支持系统用户视图的结构化描述。 • IDEF5用来采集事实和获取知识。
客户/1
客户编号 客户姓名
员工/2
员工编号 员工姓名 职别
销售合同/4
合同编号 客户编号(FK) 员工编号(FK) 日期
42
角色名
• 如果一个子实体对同一个父实体有多种 联系,则用“角色名”(role name)来 区分每次继承,其使用形式为:角色名. 属性名。
部件/5 部件编号
是...中的构件
由... 装配而成
(控制) 调整政策
调整工资 2 新工资 (输出)
人事部门
(机制)
输出指执行活动时
产生的数据,用连
在方框右边的箭头
表示
12
控制
控制指活动所受到的约束条件,用连在方框上边 的箭头表示
(控制) 调整政策
(输入) 原工资
调整工资 2 新工资
人事部门 (机制)
(输出)
13
(输入) 原工资
机制
(控制) 调整政策
– 第二类IDEF方法重点支持系统开发的设计过程部分。 目前有两种IDEF设计方法:IDEF1X和IDEF4。
• IDEF1X:辅助语义数据模型的设计。 • IDEF4:产生面向对象实现方法所需的高质量的设计产品。
7
IDEF0图
• IDEF0图的主要元素是:
盒子与箭头。 • 盒子代表系统的功能(活
调整工资 2 新工资
人事部门 (机制)
(输出)
机制指活动是由谁来完成的,它可以是人、组织 、 设备及其他系统等,用连在方框下边的箭头表 示
14
区别输入与控制
• 一般情况下输入是活动要“消化掉”或“ 变换成输出”的数据,而控制只是说明由 输入变换到输出的条件, 当无法区分两者 时可将输入看作控制。
• 一个活动可无输入, 但必须至少有一个控 制。
的活动和数据流,描述活动所受到的约束条 件及实现机制。 • 采用严格的自上向下、 逐层分解的方式建立 系统功能模型。
33
主要内容
• IDEF0功能建模 • IDEF1X数据建模
34
IDEF1X数据建模
• IDEF1X方法是IDEF1方法的扩展版本。 • IDEF1用来表示系统的信息结构和语义。 • IDEF1X方法增强了图形的表达能力,丰富
5
IDEF建模
• 最初开发的3种方法:
– 功能建模(IDEF0) – 信息建模(IDEF1) – 动态建模(IDEF2)
• 随着信息技术的发展,产生了所谓IDEF族方法:
– 数据建模(IDEF1X) – 过程描述获取方法(IDEF3) – 面向对象的设计(OO设计)方法(IDEF4) – 使用C++语言的OO设计方法(IDEF4C++) – 实体描述获取方法(IDEF5) – 设计理论(rationale)获取方法(IDEF6) – 人-系统交互设计方法(IDEF8) – 业务约束发现方法(IDEF9) – 网络设计方法(IDEF14)等。
15
箭头 ---- 分支箭头
• 表示多个活动需要同一种数据或同一种 数据的不同成份。
a
a
ab
c
c
IDEF0图中,箭头代表数据约束,而不是数据流或 执行顺序。在同一图上,若几个盒子所需的数据约 束都满足,则这个几个活动可同时执行。
16
箭头 ------汇合箭头
• 表示多个活动产生(或合成)同一种数据。
软件工程
第3讲 IDEF建模
贾西平 Email: jiaxp@
本课程的学习内容
软件工程概述
需求分析 概要设计 详细设计 软件验证技术
软件维护 软件项目计划与管理
软件知识产权 软件质量
软件工程文档
2
主要内容
• IDEF0功能建模 • IDEF1X数据建模
3
主要内容
• IDEF0功能建模 • IDEF1X数据建模
在这里我们可以看到,IDEF0丰富和深化了“功能”的概 念——描述了“功能”间的联系(输入/输出)和控制机22 制
IDEF0的多层分解结构
23
ICOM码:分层IDEF0图
• 为了明确分解过程中数据和图形间的关系,采用 ICOM码和结点号来进行标识。
• 对于来自父盒子的数据约束,分别用I、C、O、M 表明来自父盒子的输入、控制、输出及机制边线 ,并在字母之后跟上数据约束在父盒子中的数字 顺序号(编号顺序为:从上至下,从左至右)以 表明数据约束在父盒子中的位置,统称为ICOM码 。
9
活动
(控制) 调整政策
(输入) 原工资
调整工资 2 新工资
人事部门 (机制)
用主动的动词短语描 述功能(或活动)
(输出)
10
输入
输入指完成某项活 动所需的数据,用 连在方框左边的箭 头表示
(控制) 调整政策
(输入) 原工资
调整工资 2 新工资 (输出)
人事部门 (机制)
11
输出
(输入) 原工资
·
开设/在…开设
·P
课程/2
学期/1
课程/2
·· 提供/3
40
属性
• 属性表示现实或抽象的事物一种特性或性质。
实体名/实体编号
属性名 ……
关键字属性
属性名 ……
次关键字属性 和其它一般属 性
职员/3 职员编号 身份编号(AK1) 姓名(AK2) 生日(AK2)
AK:次关键字
41
外键
• 如果实体间存在“确定 联系”,则“子实体” (或“分类实体”)将 继承“父实体”(或“ 一般实体”)的“主关 键字”的属性,称为“ 外来关键字”,在属性 名后跟FK以区别其它 属性。
(2) 根据缺货记录进行缺货处理, 将缺货通知单发给
(3) 根据采购部门发来的进货通知单处理进货,即修 改库存,并从缺货记录中取出缺货订单进行供货处
理。
(4) 根据留底的订单进行销售统计, 打印统计表给经
理。
29
销售管理系统A-0图
库存 量是否满 足
顾客 订单 进货 通知单
销售 管理系统
销售 部门
了语义、简化了开发过程。
35
IDEF1X图---实体
• 实体是具有相同属性或特征的现实或抽象 事物的集合,这个集合中的一个元素便称 为实体的一个实例。
• 在一张IDEF1X图中 ,一个实体只能在图中 出现一次。
实体名/实体编号 供应商/2
实体名/实体编号
供应合同/6
(a)独立实体及示例
(b)从属实体及示例
控制/限制
动)。
输入
功能
活动
输出
• 箭头表示系统处理的数据 约束,可以是具体的事物 ,也可以是抽象的信息。
机制 IDEF0功能图
IDEF0图有时也称为活动图形
8
盒子
输入边线 what
坯料
蓝图
控制边线 why
工单
调度表
制造零件 1
刀具
机器
样板
输出边线 what
成品零件 切屑
机制边线 who
IDEF0功能建模方法要求一张IDEF0图中的盒子 最多只能有6个(子图形还要求不少于3个)。
(4)分解:对第一层进行分解,针对每个阶层编写 辅助说明文字,并与父层共同构成完整模型。
(5)确认:模型建构者把初步的IDEF0图形和相关 文件再次和相关人员进行讨论,确认最终结果。
28
IDEF方法应用示例
现以某企业销售管理系统为例, 说明IDEF方法的
(1) 接受顾客的订单,检验订单。若库存有货,则进 行供货处理,即修改库存,给仓库开备货单,并且 将订单留底; 若库存量不足, 则将缺货订单登入
26
IDEF0图示例
27
IDEF0的建模步骤
(1)资料的收集:了解流程的相关背景,包括相关 人员、事物及制度。建模需要与专家和流程的实 际操作者广泛讨论。对收集到的信息分类加工整 理。
(2)定义范围:在资料收集的基础上,分析关键性 流程,如外部接口、系统与环境的边界等。
(3)针对收集到的资料绘图,根据IDEF0的绘制原 则和符号,设计第一层。
• 结点号用来表明图形或盒子在分层IDEF0图中的 位置。
24
ICOM码例子
25
结点号与结点树
A1 A21
A-1
A-0表明系统
的内外关系
A-0
顶层图A0…A …A22An A2m
对于图形的文字说明, 其编号为图形结点号 加上字母“T”例如 A12T;对于图形的其 它参考图形,其编号 为图形结点号加上字 母“F”后再跟上顺序 号,例如A1F4。