前言: Unified Modeling Language,直接翻译就是统一建模语言,简单地说就是一种有特殊用途的语言。UML画图共分为结构型和行为型两种。

  • UML图为什么会分为结构型和行为型两种呢?
  • 顾名思义,结构型的图描述的是某种结构,这种结构在某段时间内应该是稳定的、“静态”的;而行为型的图描述的是某种行为,是“动态”的。

以UML2.x版本分:

结构性:

  • 类图(Class Diagram)
  • 对象图(Object Diagram)
  • 构件图(Component Diagram)
  • 部署图(Deployment Diagram)
  • 包图(Package Diagram)

行为型:

  • 用例图(Use Case Diagram)
  • 活动图(Activity Diagram)
  • 状态机图(State Machine Diagram)
  • 顺序图/序列图 (Sequence Diagram)
  • 通信图(Communication Diagram)
  • 时序图(Timing Diagram)
一、UML用例图

原文链接:UML用例图实例解析

UML用例图包含了用例和参与者,用例之间用关联来连接以求把系统的整个结构和功能反映给非技术人员(通常是软件的用户),对应的是软件的结构和功能分解。

用例图主要用来图示化系统的主事件流程,它主要用来描述客户的需求,即用户希望系统具备的完成一定功能的动作,通俗地理解用例就是软件的功能模块,所以是设计系统分析阶段的起点,设计人员根据客户的需求来创建和解释用例图,用来描述软件应具备哪些功能模块以及这些模块之间的调用关系,UML用例图包含了用例和参与者,用例之间用关联来连接以求把系统的整个结构和功能反映给非技术人员(通常是软件的用户),对应的是软件的结构和功能分解。

用例是从系统外部可见的行为,是系统为某一个或几个参与者(Actor)提供的一段完整的服务。从原则上来讲,用例之间都是独立、并列的,它们之间并不存在着包含从属关系。但是为了体现一些用例之间的业务关系,提高可维护性和一致性,用例之间可以抽象出关联(association)、泛化(generalization)、包含(include)和扩展(extend)四种关系。

后三个共性:都是从现有的用例中抽取出公共的那部分信息,作为一个单独的用例,然后通后过不同的方法来重用这个公共的用例,以减少模型维护的工作量。

1.1 关联(association)

表示参与者与用例之间的通信,任何一方都可发送或接受消息。

  • 【箭头指向】:指向消息接收方
1.2 泛化(inheritance)

就是通常理解的继承关系,子用例和父用例相似,但表现出更特别的行为;子用例将继承父用例的所有结构、行为和关系。子用例可以使用父用例的一段行为,也可以重载它。父用例通常是抽象的。

  • 【箭头指向】:指向父用例
1.3 包含(include)

包含关系用来把一个较复杂用例所表示的功能分解成较小的步骤。

  • 【箭头指向】:指向分解出来的功能用例

理解: 例如:业务中,总是存在着维护某某信息的功能,如果将它作为一个用例,那新建、编辑以及修改都要在用例详述中描述,过于复杂;如果分成新建用例、编辑用例和删除用例,则划分太细。这时包含关系可以用来理清关系。

1.4 扩展(extend)

扩展关系是指用例功能的延伸,相当于为基础用例提供一个附加功能。

  • 【箭头指向】:指向基础用例

理解: 例如,系统中允许用户对查询的结果进行导出、打印。对于查询而言,能不能导出、打印查询都是一样的,导出、打印是不可见的。导入、打印和查询相对独立,而且为查询添加了新行为。

零碎技术栈01_UML画图分析相关推荐

  1. Jhipster技术栈 - UAA原理分析

    1 OAuth2认证模式 1.1 密码模式 密码模式(Resource Owner Password Credentials)中,用户向客户端提供自己的用户名和密码.客户端使用这些信息,向" ...

  2. 企业级自动化运维方案设计及Saltstack、Ansible等5种工具比较分析--云平台技术栈08...

    导读:之前发布了云平台技术栈(ps:点击可查看),本文主要说一下其中的服务器自动化配置! 来自:公众号talkwithtrend 1.企业运维现状与发展趋势 随着企业信息化的不断发展,运维人员需要面对 ...

  3. 60个Chrome神器插件大收集:助你快速成为B站老司机,一键分析网站技术栈

    乾明 编辑整理  量子位 报道 | 公众号 QbitAI 让WebP图片下载为PNG格式,从Github批量下载表情包,一键滚动截屏整个网页,助你快速成为B站老司机,一键分析网站技术栈,翻录网页视频神 ...

  4. 服务外包技术培训——后端开发技术栈分析(Java)

    技术栈 http://www.atguigu.com/download.shtml 学习资源 https://space.bilibili.com/302417610/channel/detail?c ...

  5. B站Golang技术栈分析

    技术栈 技术选型 参考链接 RPC 基于grpc封装的warden框架, 已开源 https://github.com/bilibili/kratos HTTP框架 基于gin封装的blade mas ...

  6. java holder详解,Java基础系列18:Holder技术的实现原理分析

    一 简介 (1)Java中的Holder是什么? 我这里说的Holder即这个类:javax.xml.ws.Holder 这个类属于JAX-WS 2.0规范中的一个类.它的作用是为不可变的对象引用提供 ...

  7. Elastic Stack技术栈实践与Filebeat+Kibana企业级案例实战

    Elastic Stack技术栈实践与Filebeat+Kibana企业级案例实战 全新ELK企业级应用实战教程 Elastic Stack技术栈实践基于企业级Elasticsearch应用与Elas ...

  8. 这份2021Java程序员常用技术栈和工具清单,刷爆了朋友圈...

    点击上方蓝色字体,选择"标星公众号" 优质文章,第一时间送达 关注公众号后台回复pay或mall获取实战项目资料+视频 作为一枚Java程序员,需要掌握哪些技术和工具才能完成一个J ...

  9. 创业公司后台技术栈搭建方案

    更多内容关注微信公众号:fullstack888 在大多数创业公司,因为没有大公司那些完善的基础设施,需要从开源界的一个个系统和组件做选型,最终形成整个的后台技术栈. 说到后台技术栈,脑海中是不是浮现 ...

  10. java客服系统_阿里Java内部资料:2020最全Java技术栈(架构篇+算法篇+大数据)

    我只截图不说话,PPT大全,氛围研发篇.算法篇.大数据.Java后端架构!除了大家熟悉的交易.支付场景外,支撑起阿里双十一交易1682亿元的"超级工程"其实包括以下但不限于客服.搜 ...

最新文章

  1. java中的assert
  2. 智能视觉组参赛总结及体会- 西安邮电大学 - AI小布丁
  3. NHibernateLinq简单的CRUD操作
  4. C++类、函数、指针
  5. python科学计算笔记(三)pandas中Series和DataFrame练习
  6. 配置zentaophp
  7. 全国计算机等级考试题库二级C操作题100套(第72套)
  8. (桌面虚拟化最佳实践--呼叫中心系统优化之二)存储和服务器优化项目
  9. deleted 表和 inserted 表
  10. ios如何看idfv_ios获取手机状态 idfa   idfv   网络类型   分辨率   获取运营商
  11. 卡巴斯基一年版 送序列号
  12. HM16.0之帧间Merge模式——xCheckRDCostMerge2Nx2N
  13. 模糊图像退化与去模糊的数学模型
  14. Spring tool suite修改主题
  15. matlab多重比较lsd法,多重比较LSD-t值的计算(附证明方法)
  16. lumion实例渲染6.2
  17. 微信公众号开发清理缓存
  18. ATECC508A芯片开发笔记(九):加密读写508芯片数据的流程及相应设置
  19. KubeVela 1.3 发布:开箱即用的可视化应用交付平台,引入插件生态、权限认证、版本化等企业级新特性
  20. 更高的抵押贷款利率对美国房地产市场意味着什么?

热门文章

  1. 关于IMX6Dl 芯片使用硬编解码的问题记录
  2. C:\Users\xx\.xxxxxx\system\tomcat\xxx\work\Catalina\localhost\ROOT(系统找不到指定文件)
  3. niceScroll
  4. 使用 Pandas 与 Matplotlib 分析科比职业生涯数据-CSDN公开课-专题视频课程
  5. Bill Gates推荐,人工智能必读的三本书 -《终极算法》,《超级智能》和《终极发明》zz
  6. Jackson的JSON转对象,忽略不需要的字段
  7. shared pool 和buffer pool 详解(之二, Cache Buffers LRU Chain、Cache Buffers LRU Chain闩锁竞争与解决)
  8. dosbox运行C语言,DOSBox使用教程 在windows下模拟DOS
  9. decimal.JS 快速入门
  10. 谈ISO9000-3内容及其与CMM关系