UML统一建模语言
主讲:熊波
教学目标
• 我们通过对UML的基础学习,方便软件开
发过程中交流的目的。
• 通过对UML的基础学习为以后深入学习
UML语言打下基础。
UML是什么
• UML中文:统一建模语言
• UML全称:Unified Modeling Language
• UML是一种定义良好、易于表达、功能强
大的建模语言
• UML使用图形和文字来传递信息
UML是什么
中国公民
姓名
性别
民族
出生日期
住址
身份证
编号
签发日期
有效期限
签发单位
11 银行卡
卡号
开户行地址
1 0..*
UML能为我们做什么
• UML可以做软件需求分析
• UML可以做软件开发设计
• UML可以做系统部署设计
• UML也适用非软件领域的系统建模如企业
机构或业务过程,以及处理复杂数据的信
息系统、具有实时要求的工业系统或工业
过程等。
UML的发展和工具
• UML 是在1997年完成
• UML 是在2003年完成
• UML还在不断的完善和发展中
• 能绘制UML图形的工具主要有
Rational Rose
PowerDesigner
MS Visio
ArgoUML
StarUML
概述
• 用例图
• 静态图(类图,对象图,包图)
• 行为图(状态图,活动图)
• 交互图(顺序图,协作图)
• 实现图(组件图,部署图)
用例图
用例图描述系统提供的功能单元。
• 参与者
• 用例
• 关联关系
• 依赖关系
• 继承关系
用例图
老师在线答疑系统需求描述
• 他是一个用于老师和学生之间进行即时沟通的系统。
• 系统由老师使用的老师端,学生使用的学生端和一个有公
网地址的登陆服务端组成。
• 老师登陆系统后会在老师列表中出现,并显示出他的专业、
姓名、专长和状态是否忙等信息。也可以看到其他所有登
录的老师的信息。
• 学生登陆后可以看到所有已经登录的老师列表。
• 学生可以选择一个不忙的老师进行问题咨询,和选择的老
师建立连接后就可以通过语音加白板和老师进行交流。此
时其他学生将看到该老师处于忙的状态。
用例图
用例图
用例图
用例图
练习
1、仔细阅读老师在线系统的需求然后画出完
整的用例图
类图
类图表示不同的实体(人、事物和数据)之
间的关系;换句话说,它显示了系统的静
态结构。
• 类
• 聚合
• 继承
类图
• 通信协议中的数据包定义
• 老师和学生类的抽象
类图
类图
• 学生登陆类图
类图
• 老师登陆类图
类图
练习
1、使用类图的短式表达方式画出中国公民、身份证、
银行卡的UML图
2、现在有一组几何图形、线、圆、方、椭圆、多边
形。请仔细分析他们之间的关系,并用短式方式
表达出来
3、第2题中的几何图形具有以下方法:画图,移动,
旋转。请标识出多态方法,并说明理由。
包图
包图能将复杂系统拆分成多个简单的系统。
• 包
• 依赖
包图
系统的顶层包结构
包图
老师在线答疑系统包结构图
包图
练习
1、C/S架构的应用程序由客户端和商业逻辑端组成,
使用包图画出他们之间的关系
2、B/S架构的应用程序由浏览器和WEB应用服务端
组成,使用包图画出他们之间的关系
3、在一个多层架构的系统中包含了客户端,商业逻
辑端,数据库端, WEB应用服务端以及浏览器组
成,请整理他们之间的关系,并用UML的包图表
达出来
状态图
状态图表示某个类所具有的不同状态和状态
转移时的触发条件。
• 状态
• 转移
状态图
• 老师在线状态图
状态图
练习
1、汽车有向前行驶,向后行驶和停止3种状
态,请使用UML图将3种状态之间的转移关
系表达出来
活动图
活动图用来描述工作的流程,对并行的工
作流程能很好的支持。
• 活动
• 转移
• 同步
活动图
老师登陆系统
活动图
练习
1、学生第一次开学入学,首先正确填写表格,
如果表格不正确,那么必须获得帮助以正
确填写它们。接着办理大学的入学手续。
但是,在大学里成功入学后,必须参加指
定的概况介绍,还要至少登记一个研习班
并交付一部分的学费。使用活动图来表达
该流程
顺序图
顺序图用来描述对象之间动态的交互关系,
着重体现对象间消息传递的时间顺序。
• 对象
• 消息
顺序图
• 学生登陆系统顺序图
顺序图
练习
1、请画出老师登陆系统的顺序图
协作图
协作图用于描述相互合作的对象间的交互关系和
链接关系。虽然顺序图和协作图都用来描述对象
间的交互关系,但侧重点不一样。顺序图着重体
现交互的时间顺序,协作则着重体现交互对象间
的静态链接关系。
• 对象
• 链接
协作图
学生登陆协作图
协作图
练习
1、画出老师登陆系统的协作图
组件图
组件图显示软件组件之间的依赖关系。一般来说,
软件组件就是一个实际文件,可以是源代码文件、
二进制代码文件和可执行文件等。可以用来显示
编译、链接或执行时构件之间的依赖关系
• 组件
• 依赖
组件图
老师在线答疑系统组件图
部署图
配置图显示系统运行时刻的结构,显示系
统不同的组件在何处物理地运行,以及它
们将如何彼此通信
• 结点
• 连接
部署图
老师在线答疑系统部署图
课后练习
老师在线答疑系统的网络白板需求描述:
1、同时使用白板的用户必须是2个,一个老师和一个学生
2、使用白板的2个用户是对等的,两个用户看到的内容是一
样的
3、用户可以在上面写文字和作图,后者包括:直线,圆,
椭圆和矩形
4、用户可以增删,选择,移动上面的文字和图形标记
总结
• 在软件需求分析阶段我们可以使用用例图
来表达需求设计
• 在软件设计阶段可以使用类图,包图来做
设计,配合顺序图、协作图、状态图和活
动图来辅助设计
• 在系统的连调和部署阶段可以使用组件图
和部署图来进行设计