当前位置: 首页 > news >正文

浅谈UML的概念和模型之UML九种图

文件夹: 

  1. UML的视图 
  2. UML的九种图 
  3. UML中类间的关系

            上文我们介绍了,UML的视图,在每一种视图中都包括一个或多种图。本文我们重点解说UML每种图的细节问题: 

         1、用例图(use case diagrams)

【概念】描写叙述用户需求,从用户的角度描写叙述系统的功能

【描写叙述方式】椭圆表示某个用例;人形符号表示角色

【目的】帮组开发团队以一种可视化的方式理解系统的功能需求

【用例图】

 2、静态图 

   类图(class  diagrams)  

【概念】显示系统的静态结构,表示不同的实体是怎样相关联的

【描写叙述方式】三个矩形 

【目的】表示一个逻辑类或实现类,逻辑类一般是用户的业务所涉及的事物;实现类是程序猿处理的实体

【类图】

    对象图(object      diagrams)

【概念】类图的一个实例,描写叙述系统在详细时间点上所包括的对象以及各个对象的关系

【对象图】

   

          3、交互图

          用来描写叙述对象之间的交互关系 

  1. 序列图(顺序图)

【概念】描写叙述对象之间的交互顺序,着重体现对象间消息传递的时间顺序

【描写叙述方式】横跨图的顶部,每一个框表示每一个类的实例或对象;类实例名称和类名称使用冒号分开

【目的】显示流程中不同对象之间的调用关系,还能够显示不同对象的不同调用。

【序列图】

    协作图(Collaboration     diagrams)

【概念】描写叙述对象之间的合作关系,側重对象之间的消息传递 

        4、行为图:描写叙述系统的动态模型和对象之间的交互关系 

             1.状态图(Statechart       diagrams) 

    【概念】描写叙述对象的全部状态以及事件发生而引起的状态之间的转移

    【描写叙述方式】 

  1. 起始点:实心圆 
  2. 状态之间的转换:使用开箭头的线段 
  3. 状态:圆角矩形 
  4. 推断点:空心圆 
  5. 一个或多个终止点:内部包括实心圆的圆

【目的】表示某个类所处的不同状态以及该类在这些状态中的转换过程

  2.活动图(Activity      diagrams)

【概念】描写叙述满足用例要求所要进行的活动以及活动时间的约束关系

【描写叙述方式】 

  1. 起始点:实心圆 
  2. 活动:圆角矩形 
  3. 终止点:内部包括实心圆的圆 
  4. 泳道:实际运行活动的对象

【目的】表示两个或多个对象之间在处理某个活动时的过程控制流程

【活动图】 

活动图和状态图差别:

5、实现图  

  1. 构件图(Component       diagrams) 

【概念】描写叙述代码构件的物理结构以及各构件之间的依赖关系

【描写叙述方式】构件

【目的】提供系统的物理视图,依据系统的代码构件显示系统代码的整个物理结构

【构架图】

  

  1. 部署图(Deployment      diagrams)

【概念】系统中硬件的物理体系结构

【描写叙述方式】 

  1. 三维立方体表示部件 
  2. 节点名称位于立方体上部

【目的】显示系统的硬件和软件的物理结构

【部署图】

九种UML图具体解释到此为止,下篇文章专门给大家解说UML中类间的关系,感谢您的訪问。

 

相关文章:

  • iOS开发百问(4)
  • 使用mysqldump导入导出MySQL数据库
  • perl:warning:Setting locale failed解决办法
  • tomcat启用远程调试
  • 源码安装nginx及简单应用
  • C++的异常处理之二:C++11的异常处理
  • wamp环境如何使用ip访问站点
  • 轻量级表达式树解析框架Faller
  • 写在工作满三年的时候
  • 016# Adempiere系统的CRP-产能需求计划
  • myeclipse中文编码错误,没有GBK选项
  • sql install error
  • tomcat-cpu利用率超高的解决
  • Oracle存储过程中——PLS-00103
  • 【剑指offer】二叉搜索树的后序遍历序列
  • Computed property XXX was assigned to but it has no setter
  • CSS3 变换
  • django开发-定时任务的使用
  • golang中接口赋值与方法集
  • input的行数自动增减
  • javascript 总结(常用工具类的封装)
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • node 版本过低
  • node学习系列之简单文件上传
  • use Google search engine
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 解决jsp引用其他项目时出现的 cannot be resolved to a type错误
  • 前端之React实战:创建跨平台的项目架构
  • 前端之Sass/Scss实战笔记
  • 使用 QuickBI 搭建酷炫可视化分析
  • 微信支付JSAPI,实测!终极方案
  • 线上 python http server profile 实践
  • 详解移动APP与web APP的区别
  • 用mpvue开发微信小程序
  • 06-01 点餐小程序前台界面搭建
  • 树莓派用上kodexplorer也能玩成私有网盘
  • ​力扣解法汇总946-验证栈序列
  • ​你们这样子,耽误我的工作进度怎么办?
  • ​油烟净化器电源安全,保障健康餐饮生活
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • (附源码)springboot课程在线考试系统 毕业设计 655127
  • (十三)Flask之特殊装饰器详解
  • (转)一些感悟
  • .NET Core中Emit的使用
  • .net 发送邮件
  • .NET 中选择合适的文件打开模式(CreateNew, Create, Open, OpenOrCreate, Truncate, Append)
  • .NET中 MVC 工厂模式浅析
  • :=
  • @Autowired标签与 @Resource标签 的区别
  • @FeignClient 调用另一个服务的test环境,实际上却调用了另一个环境testone的接口,这其中牵扯到k8s容器外容器内的问题,注册到eureka上的是容器外的旧版本...
  • @staticmethod和@classmethod的作用与区别
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(白虎组)
  • [ 云计算 | AWS ] AI 编程助手新势力 Amazon CodeWhisperer:优势功能及实用技巧