随着亲手接触的项目越来越多,项目的复杂度越来越大,项目的理解程度也变的很难,尤其是在接收一个别人已经做好的项目时,你迫切先想到的就是“有没有文档啊”,当然是各种文档,概要设计文档,详细设计文档,数据库设计文档,第三方接口等等各种,但往往得到的答案就是“这个现在没有文档啊”,而且刚好作为经理考研你是否看懂熟悉代码的依据-让你自己写个文档,流程图等等。

下面还是先说说UML里面的图吧等等 。UML总共有用例图、类图、包图、对象图、协作图和序列图、活动图、构件图和部署图。关系主要有依赖关系(Dependency)、关联关系(Associate)(又分为组合和聚合)、泛华关系(Generalization)、实现关系(Realization)。

关联关系

   聚合是部分与整体的关系(has a),体现在类成员变量

   组成则是一个比聚合更强形式的关联,在组合中,成员对象的生命周期取决于聚合的生命周期。

   依赖体现在方法变量,返回值,局部变量等。

   聚合和组成是结构上的关系,而依赖关系则强调的是语义上的关系

1、用例图

意义:有参与者(Actor)、用例(Use Case)以及他们之间的关系构成的用于描述系统功能的动态视图。

用例之间关系分为包含,扩展,泛华。其中扩展用例只有在满足一定条件下才会被执行,而在包含关系中,当基础用例执行完成后,被包含用例是一定会被执行的。

例外需要注意用例规约:用例场景,前置条件,后置条件

2、类图

显示了系统的静态结构。

3、序列图

序列图是描述对象之间基于时间顺序的动态交互,强调消息发送的时间先后顺序。

注意同步消息和异步消息的格式。

4、活动图

活动图强调的是计算过程中的顺序和并发步骤,类似于流程图。

活动图1

活动图2

5、包图

直接看图吧。

6、状态图

状态图有状态、转换、事件、活动和东站组成。

7、构建图与部署图

将系统中可重用的模块封装成具有可替代性的物理单元,即为构建。

部署图即系统运行时的硬件节点。

处理器即为能运算的节点。

UML学习总结(1)——UML学习入门的更多相关文章

  1. UML建模学习1:UML统一建模语言简单介绍

    一什么是UML? Unified Modeling Language(UML又称为统一建模语言或标准建模语言)是国际对象管理组织OMG制定的一个通 用的.可视化建模语言标准.能够用来描写叙述(spec ...

  2. 1.2 UML带来了什么(学习笔记)

    需求->需求分析->设计->开发 uml 编号 uml元素 对于语言理解 1 元模型 基本词汇 2 表示法或视图 语法 3 RUP 方法(统一软件开发过程)  方法 4 控制类 定语 ...

  3. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  4. IT技术学习指导之Linux系统入门的4个阶段(纯干货带图)

    IT技术学习指导之Linux系统入门的4个阶段(纯干货带图) 全世界60%的人都在使用Linux.几乎没有人没有受到Linux系统的"恩惠",我们享受的大量服务(包括网页服务.聊天 ...

  5. JavaWeb学习总结(一)——JavaWeb开发入门

    http://www.cnblogs.com/xdp-gacl/p/3729033.html 只为成功找方法,不为失败找借口! JavaWeb学习总结(一)--JavaWeb开发入门 一.基本概念 1 ...

  6. jQuery学习笔记 - 基础知识扫盲入门篇

    jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...

  7. 【转】MyBatis学习总结(一)——MyBatis快速入门

    [转]MyBatis学习总结(一)——MyBatis快速入门 一.Mybatis介绍 MyBatis是一个支持普通SQL查询,存储过程和高级映射的优秀持久层框架.MyBatis消除了几乎所有的JDBC ...

  8. Oracle RAC学习笔记:基本概念及入门

    Oracle RAC学习笔记:基本概念及入门 2010年04月19日 10:39 来源:书童的博客 作者:书童 编辑:晓熊 [技术开发 技术文章]    oracle 10g real applica ...

  9. Linux内核学习笔记-1.简介和入门

    原创文章,转载请注明:Linux内核学习笔记-1.简介和入门 By Lucio.Yang 部分内容来自:Linux Kernel Development(Third Edition),Robert L ...

  10. Vue学习记录第一篇——Vue入门基础

    前面的话 Vue中文文档写得很好,界面清爽,内容翔实.但文档毕竟不是教程,文档一上来出现了大量的新概念,对于新手而言,并不友好.个人还是比较喜欢类似于<JS高级程序设计>的风格,从浅入深, ...

随机推荐

  1. Linux监控(OS,MySQL,Tomcat,Apache)

    关于逐步脱离开发岗位的意见,老大已经批准了,接下来我的主要工作就是"运维+数据库管理".感谢杰民兄和小马哥能接受我的骚扰.接下来还会去骚扰他们,同一时候也会去骚扰董大爷,小刚总,心 ...

  2. IT痴汉的工作现状41-亲历招投标

    2015年9月3日早7点,复兴门外大街已是车水马龙.伟仔早早的从东直门赶到这里.呼吸着首都特有的雾气,回味着昨晚与齐天的那一顿簋街麻小,想象着今天的大场面,心中不免有一丝紧张. 今天是个重要的日子,是 ...

  3. ip6tables: ipv6-icmp vs icmp

    ip6tables: ipv6-icmp vs icmp资料来源 https://www.jethrocarr.com/2013/02/09/ip6tables-ipv6-icmp-vs-icmp/I ...

  4. 用C#调用Lua脚本

    用C#调用Lua脚本 一.引言 学习Redis也有一段时间了,感触还是颇多的,但是自己很清楚,路还很长,还要继续.上一篇文章简要的介绍了如何在Linux环境下安装Lua,并介绍了在Linux环境下如何 ...

  5. 突破极限 解决大硬盘上安装Unix新思路

    一.问题提出 硬盘越做越大,然我喜欢让我忧.10年前就遇到过在586电脑BIOS不认识超过8.4G容量硬盘的问题,以及Windows Nt操作系统不认大硬盘(容量超过8.4G)的问题,对于Linux ...

  6. 「HAOI2018」字串覆盖

    「HAOI2018」字串覆盖 题意: ​ 给你两个字符串,长度都为\(N\),以及一个参数\(K\),有\(M\)个询问,每次给你一个\(B\)串的一个子串,问用这个字串去覆盖\(A\)串一段区间的最 ...

  7. C# XML类学习整理(待补)

    一.读取xml文件内容: #region "获取xml文件内容" //将xml文件加载进来 XDocument xdoc = XDocument.Load("F:\\6. ...

  8. 兔子--百度地图所需的jar+so下载地址

    百度地图所需的jar+so下载地址:http://download.csdn.net/detail/u013425527/8265569

  9. lighttpd启动不了,libssl.so.4&amp;libcrypto.so.4 缺失

    lighttd的出错日志在 log/out_lighttpd 里,当lighttd启动不了时候,这里文件中会说明原因. 今天的报错是 error while loading shared librar ...

  10. 9.使用 npm 命令安装模块

    转自:http://www.runoob.com/nodejs/nodejs-tutorial.html npm 安装 Node.js 模块语法格式如下: $ npm install <Modu ...