UML as a modeling language and tool example


一、UML简介

定义:
UML(Unified Modeling Language)是在开发阶段,说明、可视化、构建和书写一个面向对象软件密集系统的制品的开放方法。

不同于其他常见的编程语言,如C++、Java、COBOL等,UML是一种用于绘制软件蓝图的图形语言。

UML的目标是以面向对象图的方式来描述任何类型的系统,具有很宽的应用领域。其中最常用的是建立软件系统的模型,但它同样可以用于描述非软件领域的系统,如机械系统、企业机构或业务过程,以及处理复杂数据的信息系统、具有实时要求的工业系统或工业过程等。

总之,UML是一个通用的标准建模语言,可以对任何具有静态结构和动态行为的系统进行建模,而且适用于系统开发的不同阶段,从需求规格描述直至系统完成后的测试和维护。

二、UML分类

UML目前包含12种图形,主要类别有:

  • 用例图:从用户角度描述系统功能。
  • 类图:描述系统中类的静态结构。
  • 对象图:系统中的多个对象在某一时刻的状态。
  • 状态图:是描述状态到状态控制流,常用于动态特性建模
  • 活动图:描述了业务实现用例的工作流程
  • 序列图:对象之间的动态合作关系,强调对象发送消息的顺序,同时显示对象之间的交互
  • 协作图:描述对象之间的协助关系
  • 构件图:一种特殊的UML图来描述系统的静态实现视图
  • 部署图:定义系统中软硬件的物理体系结构
  • 包图:对构成系统的模型元素进行分组整理的图
  • 组合结构图:表示类或者构建内部结构的图
  • 交互概览图:用活动图来表示多个交互之间的控制关系的图

本文将着重对其中的用例图、类图、序列图进行介绍。

1.用例图(Use Case Diagram)

用例图,展现了一组用例、参与者(actor)以及它们之间的关系。用例图从用户角度描述系统的静态使用情况,用于建立需求模型。

例:产品相关用例图
用例图示例

2.类图(Class diagram)

类图是描述系统中的类,以及各个类之间的关系的静态视图,能够让我们在正确编写代码以前对系统有一个全面的认识。类图表示类、接口和它们之间的协作关系。学习类图的绘制过程非常重要。

①类节点一般包含3个组成部分,第一个是类名;第二个是属性;第三个是该类提供的方法( 类的性质可以放在第四部分;如果类中含有内部类,则会出现第五个组成部分)。

类节点示例:

BankAccount
+String ownername
+Bigdecimal balance
+deposit(amount)
+withdrawl(amount)

②通过连线加不同箭头表示类之间不同的关系:

Inheritance
Composition
Aggregation
Association
Link(Solid)
Dependency
Realization
Link(Dashed)
classA
classB
classC
classD
classE
classF
classG
classH
classI
classJ
classK
classL
classM
classN
classO
classP

③类图中的多重性或基数表示一个类与另一个类的一个实例链接的实例数。例如,一家公司将有一名或多名员工,但每位员工只为一家公司工作。多重性符号位于关联的末端附近。

不同的基数选项包括:

符号含义
1Only 1
0…1Zero or One
1…*One or more
*Many
nn {where n>1}
0…nzero to n {where n>1}
1…none to n {where n>1}

由此,就可得出表示类关系的类图。

n
2n
1..*
2n
Contains
*
Teacher
Course
Student
Galaxy
Star

3.序列图(Sequence diagram)

序列图也叫顺序图,是将交互关系表示为一个二维图。纵向是时间轴,时间沿竖线向下延伸。横向轴代表了在协作中各独立对象的类元角色。类元角色用生命线表示。当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线
查询bug
图书馆系统


总结

以上就是本文的要讲的内容,本文介绍了UML及其三种最常用的图形的使用,希望能对各位有所帮助。

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值