面向对象方法概论

本文概述了面向对象分析与设计(OOAD)方法的发展,包括Booch、Coad/Yourdon、Jacobson和Rumbaugh四种方法的特点。同时详细介绍了UML的历史,从早期版本到UML2的演变,强调了UML在建模语言中的重要角色,如9种模型图及其扩展机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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)

image

一个模型就是对一个系统从一个特定的角度的一个完整描述。

扩展机制

  • 约束(constraint):用于说明某些必须保持为真的命题
  • 注释(comment):对模型元素的细节所进行的解释
  • 标记值(Tagged Value):表示模型元素的附加的特征
  • 衍型(stereotype):附加到其他模型元素智商,从而将原有的模型元素定制成一种语义较为特殊的新变种

UML2

  • UML2.X规范组成
  • 基础结构(Infrastructure)
    • 定义建模语言的核心构造物
  • 上层结构(Superstructure)
    • 定义了建模语言UML
  • 对象约束语言(Object Constraint Language)
    • 描述施加于模型元素或模型元素的属性、操作等上的约束条件
  • 图交换

UML2.X支持的模型图在逻辑上分为两大类:结构图(structure diagram)行为图(behavior diagram)

image

UML1与UML2各种图的对照

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值