UML简介(没写完

本文深入介绍了UML(统一建模语言)的多种图表,包括类图、部署图、用例图、顺序图和通信图。类图展示了系统的静态结构,用例图描述用户与系统间交互,顺序图和通信图则关注对象间的动态通信。通过这些图,软件工程师可以更有效地建模、理解和交流系统设计。
摘要由CSDN通过智能技术生成

统一建模语言(Unified Modeling Language,UML)是“绘制软件蓝图的标准化语言。
UML 用来可视化、描述、构造和文档化软件密集系统的 人工制品”[Boo05]。
如果了 解 UML 的词汇(图示元素和它们的含义),就可以很轻松地理解和描述一 个系统,并向他人解释该系统的设计。

Grady Booch、Jim Rumbaugh 和 Ivar Jackson 在 20 世纪90 年代中期 开发出了UML 语言。
目前的标准是 UML 2.3 ,也是 ISO 标准。因为这个标准很新,所以很多旧的资料,(如[Gam95])都没有 使用 UML 符号。

UML 2.3 提供了13 种不同的图以供软件建模使用。在本文中,将 仅讨论类图、部署图、用例图、顺序图、通信图、活动图和状态图。

应该注意,UML 图有很多可选功能。UML 语言提供了这些选项(有时候是隐藏的), 使得软件工程师能表达系统的所有重要方面。同时,还可以灵活地隐藏图中那些与建模无关的部分,避免无关的细节将图弄得杂乱。
因此,一种特殊功能的省略并不意味着该功能的缺 失,它可能意味着该功能被隐藏了。

在本文中,没有介绍UML 图的所有功能,而是重点介绍标准选项

类图

为了对类建模(包括类的属性、操作和关系以及和其他类的联系), UML 提供了类图, 类图提供了系统的静态或结构视图。它并不显示图中类的对象之间通信的动态特性。

表示

类图的主要元素是方框,方框是一些用来描述类和接口的图符。

三部分

每个方框都被水平地划分为多个部分。

  • 顶层部分包含类的名字

  • 中间部分列出了类的属性
    属性可以是一些数值,这些数值是由类从它的实例变量中计算出来的,或是从组成它的其他对象中得到的。

    比如, 对象可以时刻知道当前时间,在这种情况下,适合把时间作为属性,因为可以在getter中经过计算获取。如果将时间存在实例变量中,那么这个时间就是死的。

    实例变量和属性:简单解释,实例对象是写在类内方法外的变量,属性是有getter和setter的实例变量

  • 第三部分包含类的操作或行为。
    操作是指类的对象所能做的事情,通常实现为类的方法。

图 A1-1 Thoroughbread 类的类图
图 A1-1 介绍了一个简单例子,用Thoroughbred(纯种) 类对优良种马建模。
它有三个属性——mother、father 和 birthyear
还有三个操作—— getCurrentAge()、getFather() 和 getMother()。
图中也有 一些隐藏的属性和操作没有显示。

修饰

每个属性都有名字、类型和可见性级别。类型和可见性都是可选的。
类型放在名字后面,并用冒号进行分隔。
可见性由前面的-、#、~ 或+指定,分别代表私有、 受保护、包或公有可见性。

在图A1-1 中,所有属性都是 私有的,由前面的减号(-)指出。

下划线表示属性是否为静态属性或类属性,
可以用可见性级别、带名字和类型的参数以及返回类型来表示每个操作。

在类图中,名字设成斜体表示抽象的类或方法。例如,图A1-2 中的Horse 类就是抽 象类。
通过在名字的上方添加短语“interface”(称为构造型)来指定接口,如图A1-2 中的 OwnedObject 接口。也可以用空心圆来表示接口。

  • 10
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值