首页 > 其他分享 >2023/12/7 uml总结博客

2023/12/7 uml总结博客

时间:2023-12-07 16:03:15浏览次数:48  
标签:表示 关系 12 画法 对象 之间 用例 2023 uml

今天上课讲回顾了uml面向对象建模中的各种知识,发现自己存在很多欠缺,对uml系统知识做了一下梳理,一共有以下九种图

1. 用例图

用例图是UML中最常见的图之一,它主要用于描述系统的功能需求。用例图中包含了参与者(Actor)和用例(Use Case)两个主要元素。参与者是与系统交互的外部实体,而用例则表示系统的功能。

画法: 用例图的画法相对简单,通过椭圆形表示用例,人形图标表示参与者。通过实线箭头表示参与者与用例之间的关系。

实例: 以一个在线购物系统为例,用例图可以包括“浏览商品”、“添加商品到购物车”、“结算”等用例,而参与者可以是“顾客”和“管理员”。

2. 类图

类图是描述系统中的类、属性和方法的图,它是静态结构的表示。类图中包含类、关联、聚合、组合等元素,用于展示系统中各个类之间的关系。

画法: 类图通过矩形表示类,类中包含属性和方法。关联用实线表示,聚合和组合用空心菱形和实心菱形表示。

实例: 在一个图书馆管理系统中,类图可以包含“图书”类、 “读者”类,它们之间通过关联建立联系。

类图包含以下关系

1. 关联关系(Association)

概念: 关联表示类之间的连接,描述了不同类对象之间的关系,可以是单向或双向的。它强调了对象之间的静态关系。

示例: 在一个订单系统中,订单类与客户类之间可能存在双向关联,表示订单与客户之间存在关系。

2. 聚合关系(Aggregation)

概念: 聚合表示“整体与部分”的关系,是一种强关联关系,整体对象包含部分对象,但部分对象并不依赖于整体对象。

示例: 一个公司拥有多个部门,可以用聚合关系表示公司(整体对象)包含多个部门(部分对象)。

3. 组合关系(Composition)

概念: 组合是聚合关系的特例,表示一种更强烈的关联关系,整体对象的生命周期控制着部分对象的生命周期。

示例: 一台电脑由CPU、内存、硬盘等部件组成,这些部件与电脑的关系可以用组合关系表示,因为它们的生命周期与电脑的生命周期相关联。

4. 依赖关系(Dependency)

概念: 依赖关系表示一个类的实现依赖于另一个类的定义或实现,当一个类的改变可能影响到另一个类时,就存在依赖关系。

示例: 类 A 中的某个方法可能需要使用类 B 中的对象或方法,这时类 A 对类 B 就存在依赖关系。

5. 继承关系(Inheritance)

概念: 继承关系表示一个类(子类/派生类)从另一个类(父类/基类)继承属性和行为,子类可以拥有父类的特性。

示例: 动物类可以是一个父类,而狗类和猫类可以是其子类,继承动物类的一些属性和方法。

6. 实现关系(Realization)

概念: 实现关系表示类与接口之间的关系,类实现了接口中定义的方法。

示例: 类通过实现接口来实现特定的行为,比如一个类实现了一个“可打印”接口,以便能够执行打印操作。

3. 对象图

对象图是类图的实例表示,它展示了系统中特定时间点的对象及其相互之间的关系。

画法: 对象图通过类似类图的方式表示对象,但是对象图是特定时间点的快照。

实例: 在一个学生选课系统中,对象图可以表示某个学生对象与选课对象之间的关系。

4. 序列图

序列图描述了对象之间的动态交互,展示了对象之间消息传递的顺序。

画法: 序列图由垂直的虚线表示生命线,水平的实线箭头表示消息的传递顺序。

实例: 在一个在线支付系统中,序列图可以展示用户提交支付请求,系统验证支付信息,然后返回支付结果的过程。

5. 协作图

协作图强调对象之间的合作关系,它展示了对象如何协同工作以完成某个功能。

画法: 协作图和序列图相似,但更加注重对象之间的协作。

实例: 在一个博客发布系统中,协作图可以展示作者、编辑、审核人员之间的合作过程。

6. 状态图

状态图描述了对象在其生命周期中所经历的状态及状态之间的转换。

画法: 状态图通过矩形表示状态,用箭头表示状态之间的转换。

实例: 在一个在线订单系统中,状态图可以展示订单的生命周期,如“待付款”到“已发货”再到“已完成”的状态转换。

7. 活动图

活动图描述了系统中的活动流程,展示了对象之间的活动和操作。

画法: 活动图由圆角矩形表示活动,用箭头表示活动之间的流程。

实例: 在一个项目管理系统中,活动图可以展示从任务分配到任务完成的活动流程。

8. 组件图

组件图表示系统中的组件及其之间的依赖关系,用于展示系统的物理结构。

画法: 组件图由矩形表示组件,用实线箭头表示依赖关系。

实例: 在一个软件系统中,组件图可以包括前端组件、后端组件及其之间的依赖关系。

9. 部署图

部署图描述了系统中的物理部署,展示了软件和硬件之间的关系。

画法: 部署图由节点和连接线表示,节点表示硬件或软件,连接线表示它们之间的通信。

实例: 在一个云计算平台中,部署图可以展示应用程序部署在不同的云服务器上的情况。

通过深入了解这九种UML图,我们能够更清晰地把握系统的结构、行为和物理部署情况。在实际项目中,结合这些图的使用,能够更加高效地进行系统设计、开发和维护,提高团队的协作效率,确保项目的顺利进行。希望本文对您在UML图的理解和应用上有所帮助。

标签:表示,关系,12,画法,对象,之间,用例,2023,uml
From: https://www.cnblogs.com/yhkdw/p/17882205.html

相关文章

  • 2023/12/7
    UML建模用例图(UseCaseDiagram)【概念】用例图是指由参与者、用例,边界以及它们之间的关系构成的用于描述系统功能的视图。《include》是包含关系,表示一个前提关系,必然使用到的功能《extend》是扩展关系,表示这个功能是额外的,没有不影响正常使用的,有时需要有时不需要三角形箭头是泛......
  • UML中九种图以及图中元素所代表的含义详解
    UML是一种建模语言,它用于描述系统的结构和行为。在UML1.4中提供了九种常用的图,如用例图、类图、对象图、状态图、活动图、时序图、协作图、组件图以及配置图。一、用例图:描述角色以及角色与用例之间的连接关系。说明的是谁要使用系统,以及他们使用该系统可以做些什么。1.用例图......
  • 1234435
    我觉得这道题目如果只有第一个问题的话,排序方式是多种多样的,而且考虑的对象也可以是机器比如我可以给机器按照\(y\)从小到大排序,然后依次考虑每个机器,对于每个机器,在能选择的任务中选择\(x\)最大的即可但这个时候就没有办法保证价值最大了,所以这道题启发我们,如果一道题目有多维......
  • [ARC121F] Logical Operations on Tree 题解
    题目链接点击打开链接题目解法比较好的题首先要发现一个性质是:先删AND边,再删OR边最优小证一下:分类讨论AND边两端的数字情况\(0\&0\)左右两端虽然可能可以把\(1\)OR过来,但这种情况先做\(\&\),也一定可以OR得到\(1\)\(0\&1\)左边可能可以\(OR\)得到\(1......
  • Veeam ONE v12.1 (Windows) - 监控和分析
    VeeamONEv12.1(Windows)-监控和分析VeeamDataPlatform|面向混合云和多云的备份和恢复监控和分析恢复编排请访问原文链接:https://sysin.org/blog/veeam-one-12/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgVEEAMONE赶快主动缓解威胁吧检测恶意备份......
  • Veeam Backup & Replication v12.1 (Windows) - 备份和恢复
    VeeamBackup&Replicationv12.1(Windows)-备份和恢复VeeamDataPlatform|面向混合云和多云的备份和恢复监控和分析恢复编排请访问原文链接:https://sysin.org/blog/veeam-backup-12/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org全球首屈一指的备份和......
  • UML图总结
    1.用例图(UseCaseDiagrams)用例图是从用户(角色)的角度出发,描述角色和用例之间的关系。即:谁要使用系统,一级他们使用系统可以做什么。简单来说就是:谁,可以用此系统做什么。2.类图(ClassDiagram)类图是描述系统中的类,以及各个类之间的关系的静态视图。是面向对象系统建模中最常用和最重要......
  • UML类图解析总结-2023/12/07
    一、概述 类图是描述类、接口以及它们之间关系的图,是一种静态模型,显示了系统中各个类的静态结构。类图根据系统中的类以及各个类的关系描述系统的静态视图,可以用某种面向对象的语言实现类图中的类。   二、类之间的关系    其中由若到强的关系: 依赖—......
  • [Re221127周任务]认识寄存器
    1.分析逻辑 我们一个一个点进去看 我们这里是加密过程并且加密后直接与输入对比的,所以我们可以直接动调2.动调 下在这里就好了 点进去eax就有flag了 注意这个flag是不包括上面那个1的 ......
  • 2023-2024-120231329《计算机基础与程序设计》第11周学习总结
    作业信息这个作业属于哪个课程https://edu.cnblogs.com/campus/besti这个作业要求在哪里https://www.cnblogs.com/rocedu/p/9577842.html#WEEK11这个作业的目标计算机科学概论第15,16章并完成云班课测试《C语言程序设计》第10章并完成云班课测试作业正文https:/......