【UML】——概述

简介: 【UML】——概述

  一、前言


在很早就对UML有所耳闻,都说这是我们走向标准化的阶梯,但是之前一直没有机会接触她,只是停留在膜拜的阶段,通过前一段时间的学习,终于自己亲手揭开了UML的神秘面纱,下面我就粗浅的总结一下我对这个神秘人的总体认识和了解!


二、总体结构


UML(Unified  Modeling  Language,统一建模语言),是一种面向对象的建模语言,它的主要作用是帮助用户对软件系统进行面向对象的描述和建模,它可以描述这个软件开发过程从需求分析直到实现和测试的全过程。


下面我就从结构入手来总结一下UML的主要内容,下面来看一张导图:

 20141027090328303.png            

三、基本内容


在本篇博客主要来总结一下UML三个主要内容之一的事物方面的知识:


1、结构事物

(1)类(class)

类是具有相同属性、相同方法、相同语义和相同关系的一组对象的集合。在一个系统中我们寻找类的方法就是找出系统中涉及到的名词。                                  

(2)接口

接口是指类或组件所提供的,可以完成特定功能的一组操作的集合,通俗的说就是:接口描述了类或组件的对外的,可见的动作。                                                 接口的最主要的作用是达到统一访问,就是在创建对象的时候用接口创建,【接口名】 【对象名】=new 【实现接口的类】,这样你像用哪个类的对象就可以new哪个对象了,不需要改原来的代码,就和你的USB接口一样,插什么读什么,就是这个原理。就像你问的,都有个method1的方法,如果我用接口,我上面就可以one.method1();是吧?那样我new a();就是用a的方法,new b()就是用b的方法。

(3)协作(collaboration)                           协作定义了交互的操作,表示一些角色和其他元素一起工作,提供一些合作的动作。


( 4)用例(Use  Case)

  用例定义了系统执行的一组操作,对特定的用户产生可以观察的结果。

 20141027195206518.gif                      

         

(5)活动类


活动类指类对象有一个或多个线程或进程的类,活动类和类相似,知识他的对象代表的元素的行为和其他的元素同时存在。


(6)组件

 组件是物理上可替换的,实现一个或多个接口的系统元素。

20141027195822906.gif

(7)节点

节点是一个物理元素,它在运行的时候存在,代表一个可计算的资源。(下图中的立方体就是节点)

            20141027200112145.gif

2.行为事物

(1)交互

交互的信息 通常化成带箭头的直线来表示!

            20141027203732982.gif

(2)状态机

状态机是对象一个或多个状态的集合!


3、组织事物


组织事物也成为分组事物,是UML中模型中组织的部分,可以把他看作一个个的盒子,每个盒子里面的对象关系相对复杂,而盒子与盒子之间的关系相对简单。

20141027204313827.gif

                                   

4、辅助事物

 

辅助事物也成注释事物,就是UML模型中解释部分。

       

三、小结

 

在这篇博客中对UML在总体结构上有了一个大概的介绍后,主要就是介绍基础部分,事物对于后面画类图有非常重要的作用。通过画上面的几个小例子,对Rational Rose 又有了一个了解,为后面画图奠定了基础!

目录
相关文章
|
文字识别 Linux Swift
多图理解,更懂中文,支持function call的Phi-3.5来了!
微软继今年4月推出Phi-3系列小型语言模型后,又一鼓作气三连发布并开源其「小而美」系列 Phi-3.5模型!
|
7月前
|
人工智能 缓存 NoSQL
高并发秒杀系统设计:关键技术解析与典型陷阱规避
在电商、在线票务等场景中,高并发秒杀活动对系统性能和稳定性提出极大挑战。海量请求可能导致服务器资源耗尽、数据库锁争用及库存超卖等问题。通过飞算JavaAI生成的Redis + Lua分布式锁代码,可有效解决高并发下的锁问题,提升系统QPS达70%,同时避免缓存击穿与库存超卖。相较传统写法,AI优化代码显著提高性能与响应速度,为高并发系统开发提供高效解决方案。
|
11月前
|
SQL DataWorks 数据可视化
DataWorks产品体验与评测
在当今数字化时代,数据处理的重要性不言而喻。DataWorks作为一款数据开发治理平台,在数据处理领域占据着重要的地位。通过对DataWorks产品的体验使用,我们可以深入了解其功能、优势以及存在的问题,并且与其他数据处理工具进行对比,从而为企业、工作或学习中的数据处理提供有价值的参考。
447 6
DataWorks产品体验与评测
|
人工智能 运维 自然语言处理
当Linux遇上AI:探索操作系统中的智能新纪元
阿里云的OS Copilot是专为Linux打造的智能助手,利用大模型提供自然语言交互、命令辅助及运维优化。它简化编程任务,生成脚本框架,提供代码审查建议,适合开发者和运维人员。
1979 0
当Linux遇上AI:探索操作系统中的智能新纪元
|
JSON 数据可视化 定位技术
Map——使用BIGEMAP+geojson获取乡镇行政边界数据
Map——使用BIGEMAP+geojson获取乡镇行政边界数据
736 0
|
存储 弹性计算 大数据
阿里云服务器怎么样?谈谈阿里云服务器的使用感受
阿里云服务器ECS是一种安全可靠的云计算服务,具备弹性伸缩能力,支持多种实例规格如ECS经济型e、通用算力型u1、计算型c7等。用户可根据需求选择不同计算架构、存储类型(云盘、本地盘)及网络方案(VPC专有网络)。ECS提供快照备份、多种镜像类型及灵活的计费模式(包年包月、按量付费等)。阿里云还提供免费试用计划,适用于个人和企业用户。ECS优势包括稳定、弹性、安全性高及高性能等特点。广泛应用于Web应用、在线游戏、大数据分析及深度学习等多个场景。知名用户包括新浪微博、火花思维等。
|
人工智能 自然语言处理 测试技术
GPT-4 API 接口调用及价格分析
对开发者来说,GPT-4最激动人心的是API接口同步发布。我今天获得了API访问权限,本文将跟大家分享GPT-4 API接口的使用以及大家关心的价格分析。
14801 1
GPT-4 API 接口调用及价格分析
|
设计模式 Rust Dart
Rust 笔记、设计模式发布订阅模式及其 在 Rust 语言中的使用
本文介绍发布订阅模式的相关思想,以及 Rust 第三方模块 EventEmitter 的使用。
395 0
|
消息中间件 存储 Kafka
谈一谈Kafka在高性能和数据一致性之间做的妥协与改进
CAP定理是分布式系统的基本定理,描述了一致性、可用性和分区容错性三大特性,只能满足两种,开发者必须在此做出取舍。而 Kafka 作为一款高性能的消息队列与分布式存储系统,必然要在高性能和数据一致性之间做出取舍,本文在这方面做了一番探索。
|
存储 消息中间件 搜索推荐
数组、链表、栈、队列、树、图是干什么的?底层原理是什么?
数组、链表、栈、队列、树、图是干什么的?底层原理是什么?
469 0