面向对象方法概论
OOAD方法发展
过去4中主要的OO方法
- Booch方法:
- 特点:思想活跃,开拓和创新,
- 可操作性不够强,类图与对象图并存
- Coad/Yourdon方法
- 概念简练,过程清晰,强调概念的一致性,
- 过程指导不够具体。
- Jacobson方法
- 通过用况描述用户需求,用交互图描述对象之间的交互,
- 用况驱动的观点言之有过。
- Rumbaugh(OMT)
- 概念严谨,阐述清楚,过程具体,可操作性强,
- 包含了许多非00的内容,提出若干扩充概念,偏于复杂。
UML发展历史
- 第一阶段:OO方法学家的联合行动
- 1995.10G.Booch与J.Rumbaugh联合推出Unified Method 0.8
- 1996.6:Jacobson加入,推出UML0.9
- 第二阶段:公司的联合行动
- 1996:成立了UML伙伴组织,12家公司加入
- 1997.1:推出UML1.0,另外5家公司加盟
- 1997.9:形成UML1.1,提交OMG作为建模语言规范提案
- 1997.11:UML1.1被OMG正式采纳
- 第三阶段:OMG主持下的修订
- 1997-2002:OMG成立UML修订任务组主持UML的修订,先后产生UML1.2、UML1.3、UML1.4、UML1.5等版本
- 第四阶段:UML的重大修订–UML2
- 1999:开始酝酿,旨在产生比UML1有显著改进的新版本
- 2000-2001:由OMG陆续发布了4个提案需求
- 2002年之后先后形成4个UML2.0规范,在OMG的组织下进行修订,产生了UML2.1~2.4的版本
- 第五阶段:提交到ISO申请成为国际标准
- 2005年以后UML2的4个规范陆续进入ISO的标准化日程,目前UML基础结构、UML上层结构、OCL已被ISO正式采纳,成为建模语言国际标准
UML1的9种模型图
- 静态结构图(Static Structure Diagram)
- 类图(Class Diagram)
- 对象图(Object Diagram)
- 用况图(Use Case Diagram)
- 交互图(Interaction Diagram)
- 顺序图(Sequence Diagram)
- 协作图(Collaboration Diagram)
- 状态图(State chart Diagram)
- 活动图(Activity Diagram)
- 实现图(Implementation Diagram)
- 构件图(Component Diagram)
- 部署图(Deployment Diagram)
一个模型就是对一个系统从一个特定的角度的一个完整描述。
扩展机制
- 约束(constraint):用于说明某些必须保持为真的命题
- 注释(comment):对模型元素的细节所进行的解释
- 标记值(Tagged Value):表示模型元素的附加的特征
- 衍型(stereotype):附加到其他模型元素智商,从而将原有的模型元素定制成一种语义较为特殊的新变种
UML2
- UML2.X规范组成
- 基础结构(Infrastructure)
- 定义建模语言的核心构造物
- 上层结构(Superstructure)
- 定义了建模语言UML
- 对象约束语言(Object Constraint Language)
- 描述施加于模型元素或模型元素的属性、操作等上的约束条件
- 图交换
UML2.X支持的模型图在逻辑上分为两大类:结构图(structure diagram)和行为图(behavior diagram)