论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
软件与程序人生
›
云原生
›
UML教程3历史4关系
UML教程3历史4关系
西河刘卡车医
论坛元老
|
2023-10-14 03:09:24
|
显示全部楼层
|
阅读模式
楼主
主题
1934
|
帖子
1934
|
积分
5802
3 历史
20世纪90年代是C++等面向对象语言发展的时代。由于所开发的系统复杂难懂,导致系统部署后面临设计和分析问题。很难向他人解释系统。
UML一经问世,许多改变游戏规则的实验和方法便应运而生,从而简化了分析系统的艰巨任务。
UML 是一种面向对象的统一建模语言。它是由Rational软件公司杰出的软件工程师Grady Booch、Ivar Jacobson和James Rumbaugh于1994年和1995年发明的。该语言一直开发到1996 年。
UML 每一位发明者都有设计一种语言来降低复杂性的奇妙想法。
Booch的方法在设计和构建对象时非常灵活。
Jacobson的方法提供了一种围绕用例开展工作的好方法。它还为高层设计提供了一种强大的方法。
Rumbaugh的方法在处理敏感系统时非常有用。
后来,大卫-哈雷尔(David Harel)发明的 UML 引入了行为模型和状态图。
1997年,UML被对象管理集团(OMG Object Management Group)认定为标准。自 UML 被采纳为标准以来,对象管理小组一直负责管理 UML。
2005年,国际标准化组织批准UML成为 ISO 标准。各行各业都在使用UML创建面向对象模型。
最新的UML版本是2017年12月发布的 2.5.1。
3.1 UML版本
1997年11月 1.1 UML 被Object Management Group采用。这是 UML 的第一个版本。
2000年3月 1.3对现有模型进行了小幅升级,对UML的语义、符号和元模型进行了显著修改。
2001年 9月 1.4是UML的重大更新。它通过提供各种扩展来扩展 UML。在图中引入了可见性、工件、定型。
2003 年3月 1.5UML 增加了过程、数据流机制等功能。
2005 年1月 1.4.2 UML被ISO接受为标准。
2005年8月 2.0UML 增加了对象、包、时序、交互等新图表。活动图和序列图增加了新功能。协作图更名为通信图。在现有图表中引入了多种功能和变化。
2006年4月 2.1对 UML2.0进行了修正。
2007年2月 2.1.1对 UML 2.1进行了升级。
2007 年11月 2.1.2 重新定义了UML2.1.1。
2009 年 2 月 2.2 修复了UML 2.1.2 的错误。
2010 年 5 月 2.3 修订了UML 2.2,并对组件图进行了细微修改。
2011 年 8 月 2.4.1 对类、包和定型进行了修改。修订了 UML2.3,增加了增强功能。
2015 年6月2.5修订了 UML 2.4.1,并做了微小改动。UML 变得比以前简单。引入了快速运行和生成更有效模型的功能。淘汰了过时的功能。取消了作为辅助构造的模型和模板。
3.2 UML 的特点
通用建模语言。
不同于 Python、C、C++ 等软件编程语言。
图形语言,可用于生成强大的建模元素。
与面·向对象的设计和分析有关。
在软件行业之外也有应用,比如可视化工厂的工作流程。
3.3 概念模型
概念模型由相互关联的各种概念组成。它能帮助我们理解
什么是对象?
如何通过交互来执行流程?
UML 中需要概念模型。在对系统进行实际建模之前,您必须了解实体及其之间的关系。
开始使用 UML 时,需要以下面向对象的概念:
对象: 它是现实世界的实体。一个系统中有多个对象。它是 UML 的基本构件。
类: 类是容器,对象及其关系在其中得以维护。
抽象: 表示实体而不显示实现细节的机制。它用于将对象的行为可视化。
继承: 这是一种扩展现有类以创建新类的机制。
多态: 表示对象的机制,该对象有多种形式,用于不同的目的。
封装:将对象和数据绑定在一起的方法。它确保了对象和数据之间的紧密耦合。
以上也被称为 UML 的基本构件。
3.4 UML工具
市场上有许多生成UML图表的工具。有些是基于桌面的,有些可以在线使用。以下是一份可用于创建UML模型的工具清单:
mermaid
时序图
https://www.websequencediagrams.com/
Edraw Max
Moqups
Visio
ConceptDraw
StarUML
Umbrello
UML 设计工具
4 关系
UML图中的关系用于表示各种事物之间的联系。在统一建模语言中,关系是结构、行为或分组等事物之间的联系。
以下是 UML 中不同类型的标准关系、
关联
依赖关系
泛化
实现
除此之外,UML还允许使用聚合和组合关系。
4.1 UML关联
这是一种结构关系,表示对象可以与系统内的另一个对象连接或关联。以下约束可应用于UML关联关系。
implicit - 隐式约束(Implicit constraints)
ordered
changeable
addOnly
frozen 当在两个对象之间插入链接时,如果给定链接或连接上的冻结约束处于激活状态,则不能修改该链接或连接。
我们还可以创建一个具有 UML 关联属性的类;它被称为关联类。
4.1.1 反射关联
反射关联是UML中关联关系的一种子类型。在反身关联中,同一个类的实例可以相互关联。类的实例也被称为对象。
反射关联表示同一个类的对象之间可以存在链接或联系。
举例说明:
让我们以水果类为例。
水果类有两个实例,如芒果和苹果。反射关联表示芒果和苹果之间可以存在联系,因为它们是同一个类(如水果类)的实例。
4.1.2 直接关联
在直接关联中,流动是有方向的。从一个类到另一个类的关联只朝一个方向流动。
4.1.3 UML组合
它不是标准的 UML 关系,但仍在各种应用中使用。
复合聚合是聚合关系的一种子类型,其特征如下:
对象之间的双向关联。
整体/部分关系。
删除了一个复合关系,那么与之相关的所有其他部分也会被删除。
复合聚合被描述为二元关联,在聚合(整体)端有填充的黑菱形。
文件夹可以包含很多文件,而每个文件都有一个文件夹父文件。如果删除文件夹,所有包含的文件也会被删除。
参考资料
软件测试精品书籍文档下载持续更新
https://github.com/china-testing/python-testing-examples
请点赞,谢谢!
本文涉及的python测试开发库
谢谢点赞!
https://github.com/china-testing/python_cn_resouce
python精品书籍下载
https://github.com/china-testing/python_cn_resouce/blob/main/python_good_books.md
Linux精品书籍下载
https://www.cnblogs.com/testing-/p/17438558.html
4.1.4 UML聚合
聚合是UML中关联关系的子类型。聚合和组合都是 UML 中关联关系的类型。聚合关系可以简单地描述为 "一个类的对象可以拥有或访问另一个类的对象"。
在聚合关系中,即使源对象被销毁,从属对象仍在关系的范围内。
让我们以汽车和车轮为例。
汽车需要车轮才能正常工作,但车轮并不一定需要汽车。它也可以与自行车、脚踏车或其他任何车辆一起使用,但不能与特定的汽车一起使用。在这里,即使没有汽车对象,车轮对象也是有意义的。这种关系称为UM 聚合关系。
UML聚合关系
AssociationAggregationComposition箭头一端为空箭头的直线直线表示,箭头一端有填充。两个或多个类之间关联关系的一部分关联关系的一部分。一一关联、一多关联、多一关联和多多关联弱关联类型强关联类型。一个或多个对象可以相互关联。在聚合关系中,相互关联的对象可以保持在系统范围内,而无需相互关联。相互关联的对象不能离开彼此而留在系统范围内。对象之间相互链接不依赖于其他对象对象之间高度依赖。删除一个元素可能会也可能不会影响另一个关联元素。删除一个元素不会影响另一个关联元素删除一个元素会影响另一个关联元素。一个教师与多个学生相关联。一辆汽车需要一个轮子,但它并不总是需要同一个轮子文件放在文件夹里。如果删除文件夹,那么与该文件夹相关的文件也会被删除。
4.2 小结
关系是事物之间的联系。
关联、依赖、泛化和实现是UML各种关系。
除了标准关系,UML 还使用了组合和聚合。
聚合和组合都是 UML 中关联关系的类型。
UML组合是一种双向关系,也称为二元关系。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
西河刘卡车医
论坛元老
这个人很懒什么都没写!
楼主热帖
【容器~原始真解】Docker —— 容器的 ...
轻量级CI/CD发布部署环境搭建及使用_06 ...
工行、建行、农行的 IT 架构是什么样的 ...
全双工与半双工技术剖析
PHP判断远程文件是否存在的四种方法 ...
超融合一体机上新,打通信创落地的“顶 ...
Spring--循环依赖的原理(四)--为什么用 ...
继承和多重继承
一文了解华为FusionInsight MRS HBase ...
MySQL高可用架构搭建实战
标签云
渠道
国产数据库
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
linux
快速回复
返回顶部
返回列表