UML中的图
用例图、类图、包图、顺序图、协作图、状态图、活动图、构件图、部署图等
1.用例图
显示多个外部参与者以及他们与系统提供的用例之间的连接.用例是系统中的一个可以描述参与者与系统之间交互作用功能单元.用例仅仅描述系统参与者从外部观察到的系统功能,并不描述这些功能在系统
内部的具体实现.用例图的用途是列出系统中的用例和参与者,并显示哪个参与者参与了哪个用例的执行.
用例包含六个元素:
(1).参与者(Actor)--外部的一个实体,它以某种方式参与用例的执行过程.
参与者分三大类:
系统用户--真实的人,即用户
其它的系统--
可以运行的进程,如时间--
建模遵循的几点
参与者对于系统而言总是外部的,因此他们可以处于人的控制之外.
参与者可以直接或间接的同系统交互,或使用系统提供的服务以完成某件事
务.
参与者表示人和事物与系统发生交互时所扮演的角色,而不是特定的人或者特定的事务.
一个人或事物在与系统发生交互时,可以同时扮演多个角色
每一个参与者需要一个具有业务一样的名字,在建模中不推荐使用类似与新参与者的名字
每一个参与者必须有简短的描述,从业务角度描述参与者是什么
和类一样,参与者可以具有表示参与者的属性和可以接受的事件,但使用得不频繁
(2)用例(Use Case)--描述系统对一个特定角色执行的一系列动作
(3)关联关系--描述参与者与用例之间的关系
(4)包含关系--包含其他用例具有的行为,并把它所包含的用例行为作为自身的一部分
(5) 扩展关系--基础用例的增量扩展
(6) 泛化关系--一个用例可以被特别列举为一个或多个子用例
2.类图
类是对应用领域或应用解决方案中概念的描述.类图以类为中心组织,类图中的其他元素或属于某个类,或与类相关联.类可以以多种方式相互连接:关联,依赖,特殊化,这些连接称为类之间的关系.所有的关系
连同每个类的内部结构都在类图中显示.关系用类框之间的连线来表示.不同的关系用连线上和连线端口处的修饰符来区别.
3.对象图
类图的变体,它使用与类图相似的符号描述,不同之处在于对象图显示的是类的多个对象实例而非实际的类.可以说,对象图是类图的一个例子,用于显示系统执行时的一个可能的快照,即在某一时间点上系统
可能呈现的样子.
对象图与类图表示不同之处在于它用带下划线的对象名称来表示对象,显示一个关系中的所有实例.
4.状态图
对类描述的补充,用于显示类的对象可能具备的所有状态,以及引起状态改变的事件.状态的变化称之为转换.状态图由对象的各个状态和连接这些状态的转换组成.每个状态对一个对象在其生命周期中满足某
种条件的一个时间段建模.事件的发生会出发状态件的转换,导致对象从一种状态转化到另一新的状态.实际建模时,并不需要为所有的类都绘制状态图,仅对那些具有某个明确状态并且这些状态会影响和改变
其行为的类才有绘制状态图的必要.
5.时序图
显示多个对象之间的动作协作,重点是显示对象之间发送消息的时间顺序.时序图也显示对象之间的交互,就是在系统执行时,某个指定时间点将发生的事情.时序图的一个用途是用来表示用例中的行为顺序,
当执行一个用例行为时,时序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件.
6.协作图
协作图对一次交互中有意义的对象和对象间的链建模.除了显示消息的交换以外,协作图也显示对象以及他们之间的关系.时序图和协作图都可以表示各对象间的交互关系,但他们的侧重点不同.时序图用消息
的几何排列关系来表达消息的时间顺序,各角色之间的关系是隐含的.协作图用各个角色的几何排列来表示角色之间的关系,并用消息来说明这些关系.
7.活动图
状态图的一个变体,用来描述执行算法的工作流程中涉及的活动.动作状态代表了一个活动,即一个工作流步骤或一个操作的执行.活动图由多个动作状态组成,当一个动作完成后,动作状态将改变,转化为一个
新的状态.这样,控制就在这些互相连接的动作状态之间流动.
8.组件图
用代码组件来显示代码组件来显示代码物理结构,组件可以是源代码组件,二进制组件或一个可执行的组件.一个组件包含它所实现的一个或多个逻辑类的相关信息,根据组件图中显示的组件之间的依赖关系,
可以容易地分析出某个组件的变化将会对其他族件产生什么样的影响.通常说来,组序实际的编程工作中.
9.配置图
用于显示系统中的硬件和软件的物理结构.配置图不仅可以显示实际的计算机和设备,还可以显示他们之间的连接和连接类型.在配置图中显示哪些节点内,已经分族节点上运行.
UML模型元素
UML中的模型元素包括事物和事物之间的联系.事物是UML中重要的组成部分,它代表任何可以定义的东西.事物之间的关系能够把事物联系在一起,组成有意义的结构模型.每一个模型元素都有一个相对应的图
形元素.
UML事物可分为结构事物,动作事物,分组事物和注释事物.
结构事物
(1)类--对具有相同属性,方法,关系和语义的对象的抽象,一个类可以实现一个或多个接口.在UML中类用包括类名,属性和方法的矩型表示.
(2)接口--接口是为类或组件提供特定服务的一组操作的集合.
(3)协作--定义了交互操作.
(4)用例--描述系统对一个特定角色执行的一系列动作.
(5)活动类--活动类是类对象有一个或多个进程或线程的类.
(6)组件--实现了一个接口集合的物理上可替换的系统部分.
(7)节点--运行时存在的一个物理元素,代表一个可计算的资源,通常占用一些内存和具有处理能力.
动作事物
UML模型中的动态部分,它们是模型的动词,代表时间和空间上的动作.
(1)交互--交互是一组对象在特定上下文中,为达到某种特定的目的而进行的一系列消息交换组成的动作.
(2)状态机--由一系列对象的状态组成.
分组事物
UML模型中组织的部分,分组事物只有一种,称为包
注释事物
UML模型的注释部分.
UML中的关系
1)关联关系--关联关系连接元素和链接实例,它用连接两个模型元素的实线表示,在关联的两端可以标注关联双方的角色和多重性标记.
(2)依赖关系--描述一个元素对另一个元素的依附.依赖关系用源模型指向目标模型的带箭头的虚线表示.
(3)泛化关系--也称为继承关系,这种关系意味者一个元素是另一个元素的特例.
(4)实现关系--描述一个元素实现另一个元素
(5)聚合关系--描述元素之间部分和整体的关系.
UML通用机制
UML中的几种通用机制使得UML变得简单和更易于使用.使用通用机制可以为模型元素提供额外的注释信息或语义,还可以对UML进行扩张,更为方便地是可以在UML中的任何时候用同样的方法来使用这些机制
修饰--
注释--
规格说明--
通用划分--
1.型--实例 2接口--实现
扩展机制--
UML的扩展组件
图书管理系统分析
确定参与者
借阅者
图书管理员
系统维护人员
借阅者用例
(1)登陆系统
(2)查询自己的借阅信息
(3)查询书籍信息
(4)预定书籍
(5)借阅书籍
(6)归还书籍
图书管理员用例
(1)处理书籍借阅
(2)处理书籍归还
(3)删除预订信息
系统管理员用例
(1)查询借阅者信息
(2)查询书籍信息
(3)增加书目
(4)删除或更新书目
(5)增加书籍
(6)删除书籍
(7)添加借阅者帐户
(8)删除或更新借阅者帐户
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人