UML与设计模式-----UML图的总结

本文详细介绍了UML图的各种类型,包括用例图、类图、对象图、状态图、活动图、时序图、协作图、构件图、部署图,以及它们之间的差异比较。用例图用于描述软件功能和使用者,类图描绘类的结构和关系,状态图和活动图关注对象行为,时序图和协作图展现对象交互,构件图和部署图则关注系统的物理部署和组件关系。通过对这些图的理解,能更好地理解和设计软件系统。
摘要由CSDN通过智能技术生成

一. UML图的总结


1. 基本概念

​ UML(Unified Modeling Language)即统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。下面将对UML的**九种图+包图**的基本概念进行介绍以及各个图的使用场景。

​ UML图分为用例视图、设计视图、进程视图、实现视图和拓扑视图,又可以静动分为静态视图和动态视图。静态图分为:用例图,类图,对象图,包图,构件图,部署图。动态图分为:状态图,活动图,协作图,序列图

img

2. 用例图

​ 用例图用于从用户角度阐述**软件的各个功能和其功能的使用者**.主要使用于需求分析阶段,是非常符合用户思维的设计.

(1). 用例图所包含的元素

1). 参与者(Actor)

​ 与软件进行交互的用户,组织或者其他外部系统.

img

2). 用例(Use Case)

​ 用例就是外部可见的系统功能,不包含其内部逻辑实现.这里完全站在不懂技术的用户的角度思考问题.

img

3). 系统边界

​ 用来分割用例,将用例分割为不同的子系统,子系统内部的功能联系紧密.当然也可以只存在一个完整的系统边界,例如下图.

img

(2). 用例图包含的关系

1). 关联

​ 参与者和用例的关系,任何一方都可发送或接受消息.

​ 画法:实线,无箭头.

img

2). 泛化

​ 可以理解为继承关系.父用例通常是抽象的.

​ 画法:实线,空心三角形箭头,由子用例指向父用例.

img

3). 包含

​ 将复杂用例划分为较小的步骤,类似程序中的代码封装,主程序中调用子过程.

​ 画法:虚线,线状箭头,标记<<includes>>,复杂用例指向子过程.

img

4). 扩展

​ 指用例功能的延伸,相当于为基础用例提供一个附加功能.

​ 画法:虚线,线状箭头,标记<<extends>>,拓展用例指向主用例.

img

3. 类图

​ 根据用例图抽象出类,用于面向对象程序设计.描述类的内部结构和类与类之间的关系,是一种静态结构图.

(1). 类图基础属性

1). 类名
2). 属性域

​ 访问级别 字段名 : 类型

3). 方法域

​ 访问级别 方法名(参数) : 返回值类型

+表示public
-表示private
#表示protected
~表示default,也就是包权限
_下划线表示static
斜体表示抽象

img

img

(2). 类与类之间关系

1). 泛化(Generalization)

​ 表示继承关系或者类对接口的实现关系.Java中即 extends 和 implements 两个关键字.

​ 画法:空心三角形箭头,实线表示继承父类,虚线表示实现接口.箭头指向父类或者接口.

img

img

2). 依赖(Dependency)

​ 一个类的实现需要另一个类的协助,如方法的参数,局部变量或者静态方法的调用.

​ 画法:虚线,线状箭头

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值