什么是 UML?
UML 全称是: Unified Modeling Language 又称统一建模语言或标准建模语言
是一个支持模型化和软件系统开发的图形化语言, 为软件开发的所有阶段提供模型化和可视化支持, 包括由需求分析到规格, 到构造和配置
它是一种语言, 语言就是用来描述一件事物的
为什么我们要使用 UML?
我们了解一下软件开发的历史, 才明白为什么要使用 UML
软件历史分为 3 个阶段:
程序设计阶段 1946 年~1955 年 对硬件进行开发, 规模很小, 程序设计追求节省空间和编程技巧
软件设计阶段 在 1956 年~1970 年, 硬件增长速度快, 性价比越来越高, 软件开发技术没有重大突破, 软件产品的质量不高, 生产效率低下, 导致了软件危机
软件工程阶段 1970 年~ 至今, 大量需求被提出, 采用工程化的思想来管理软件
软件工程的目标: 利用工程化的方法. 在给定成本进度的前提下, 开发出具有可维护性正确性可移植性的软件. 提高软件产品的质量和开发效率, 减少维护的困难
随着软件工程地进展, IT 界想用一种语言来描述它们完成的需求, 设计, 但是不同的公司开发了自己的产品
于是乎, 为了统一起来, 就有了 OMG 组织 ObjectManagementGroup 对象管理组织, 这个组织让这种描述需求设计的语言统一了, 就称作是 UML 了
也就是说, UML 用来给我们设计, 需求分析
使用 IBM Rational
我们使用的是 IBM Rational 这个工具来讲解 UML
一般地, 我们这个工具用来做三个事情:
用例图
类图
时序图
用例图
用例图显示谁将是系统的使用者用户希望系统提供什么服务以及系统能够为用户提供什么样的服务; 从用户的角度描述系统的功能用例图最常用来描述系统以及子系统
用例图的 2 种元素 4 种关系
参与者 (Actor)
用例 (Use Case)
关联关系 (Association)
包含关系 (Include)
扩展关系 (Extend)
泛化关系 (Generalization)
我们使用它来模拟一个商城的用例图
我们想描述的信息是这样子的:
游客拥有浏览商品, 登陆注册的功能
会员拥有游客的所有功能, 并且拥有购物, 管理个人信息的功能
在购物上, 包括了选购商品添加到购物车支付这么几个功能
而支付又有货到付款在线支付其他支付这么几个支付功能
无论哪种支付, 都要生成订单
订单由客服来管理, 客服还拥有着商品管理的功能
客服拥有的功能, 管理员都有, 管理员还拥有着管理会员的功能
类图
类图用于描述系统中的类与类之间的各种关系
类图下有以下的关系:
继承: 父子类关系
实现: 类与接口关系
关联 (全局变量, 组合 / 聚合): 值引用
组合的关系强
聚合的关系没那么强普通引用关系
关联具有导航性: 即双向关系或单向关系
依赖: 局部变量 (非 Spring 中 依赖注入)
方法中的局部变量
时序图
需要用例的时候, 我们可以把用例拖过去给时序图用
来源: http://www.bubuko.com/infodetail-2519022.html