系统设计类图与时序图v
——是否有复杂结构的属性
识别类及其属性
——复杂结构属性的处理
识别类及其属性
1:1——可以在原类中展开 1:N——独立出去形成关联
识别类及其属性
——属性是否对类的所有对象都有意义
识别类之间的泛化
A的对象总是B的对象,B的对象也总是A的对象 A的对象总是B的对象,B的对象有时是A的对象(*) A的对象从来不是B的对象,B的对象也从来不是A的对象 A和B之间有一些共同的属性(*)
– 数据模型 (Entity Relationship Diagram) – 业务模型 (work flow) – 对象模型 – 组件模型
• UML是一种直观化、明确化、构建和文档化软件系统产 物的通用可视化建模语言
• UML独立于实现技术(如开发语言),在软件开发各个 环节都可能用到
• UML适用于的开发方式
识别类及其属性
抽取
分类
阅读用例文档,抽取对应于业务实体或事件的词汇 将词汇进行分类,抽取出合适的类和属性
——类和属性的名字
识别类及其属性
命名规则: (名词、形容词)+名词 使用业务词汇 没有“与”、“或” 小心“表”、“信息”、
“数据” 属性名不要类前缀 英文:不用缩写,单数
——审查
UML partners
Web - June ´96
UML历史
UML 1.3 UML 2.0
UML 1.1 UML 1.0 UML 0.9
OOPSLA ´95
Other methods
Unified Method 0.8
Booch method
OMT
VDM/Z
(formal OOSE methods)
属性是否描述类对象的特征
识别类及其属性
属性是否存在冗余
是否有复杂结构的属性
是否有1对多的属性
属性是否对类的所有对象都有意义
——属性是否描述类对象的特征
识别类及其属性
类的属性
什么的什么 什么的什么的什么 什么的什么的什么的什么
——属性是否存在冗余
识别类及其属性
常见冗余如: 出生年月——年龄
UML的九个图
敏捷建模原则:需要时再添加
结 构
可互换
行
为
可互换
UML的模型元素
UML基本工作步骤
主要内容
• UML概述 • 类图绘制方法 • 时序图绘制方法
类图解说
识别类及其属性 识别类之间的泛化 识别类之间的关联
识别类的步骤
——有没有什么秘诀?
识别类及其属性
Bertrand Meyer:不存在寻找类的简单方法 只能两方面着手:业务知识 + 建模技术
Scenario DSiDacig协aergnar作amarmi图o
功能
UDsUiDaesig用aCergaaCr例msaaems图e
UML的九个图
静态结构
DiSatgSarttaaemte Diag类ra图m
DiSatgSarttaaemte Di对agr象am图
模型
DiSatgSarttaaemte Di组agr件am图
责任:输入、输出、过滤
控制类:一个用例映射一个控制类
责任:控制事件流,负责为实体类分配责任
实体类:一个用例有多个实体类参与,一个 实体类可以参与多个用例
责任:业务行为的主要承载体
主要内容
• UML概述 • 类图绘制方法 • 时序图绘制方法
ቤተ መጻሕፍቲ ባይዱ
时序图解说
时序图和类图的关联
时序图绘制要点
——关联的几种表现形式
识别类之间的关联
——聚合 vs. 组合 组合/部分
容器/内容
集合/成员
识别类之间的关联
——绘制关联关系
识别类之间的关联
——特殊:关联类
识别类之间的关联
或 关联本身可以有自己的属性和操作——关联类
——特殊:自反关联
识别类之间的关联
采用MVC模式构造类
在分析阶段 边界类:用例的每个执行者映射一个边界类
UML三个主要作用
• 作用三:UML能使越来越复杂的软件 系统架构更加合理和健壮
功能需求
成本
兼容性
容量
错误处理
稳定性
software
容错性
性能
全面
技术交互
可移植
墨绿色表示动态图 粉红色表示静态图 (可把用例图单列出来)
Use Case DUiDasig时aergaCr序maams图e
动
态 行 为
Logo
类图与时序图
中软国际卓越培训中心
简要回顾
系统分析员:需求分析 系统架构师:系统设计
用户:招标、验收
项目经理:项目管理
程序员:编码
测试工程师:测试
主要内容
• UML概述 • 类图绘制方法 • 时序图绘制方法
UML定义
• UML表示 Unified Modeling Language • UML包括
SDcSiDaecign状aeragnarr态maiaormi图o
活动图
Component DCiaogmrpamonent
D部iagr署am图
物理架构
• 用例图:业务建模、需求、测试 • 类图:业务建模、分析、设计 • 对象图:业务建模、分析、设计 • 组件图:设计 • 部署图:设计
• 顺序图:业务建模、分析、设计 • 协作图:业务建模、分析、设计 • 状态图:需求、分析、设计 • 活动图:业务建模、设计
UML三个主要作用
• 作用一:UML是客户、系统分析员和程序员之间的“桥梁”
使用可视化建模来获取并表现商业逻辑和对象
• 用例图 • 活动图 • 状态图
使用可视化建模来分析和设计计算机应用程序
• 时序图 • 对象图 • 部署图 • ……
UML三个主要作用
• 作用二:UML从客户的角度将复杂的系统整理清楚
– 用例驱动 – 以体系结构为中心 – 迭代或增量开发
• UML适用于的软件系统
– 信息系统 – 技术系统 – 嵌入式实时系统 – 分布式系统 – 系统软件 – 商业系统
• UML适用的软件开发过程
– 需求分析 – 系统设计 – 软件构建 – 测试
UML适用点
public feedback
OMG Acceptance, Nov 1997 Final submission to OMG, Sep ‘97 First submission to OMG, Jan ´97
时序图绘制要点
时序图绘制要点
原则1:专家(Expert)原则 原则2:老板(Boss)原则 原则3:可视(Visibility)原则
——专家(Expert)原则
责任分配原则
背黑锅我来,送死你去,拼全力为众生……