http://blog.csdn.net/sds15732622190/article/details/49404169

用例图

        用例图是在需求文档中使用的,但一定要配合用例一同使用。写用例和画用例图的目的是为了与用户确认需求,而实际上很多用户看不懂用例图。因此,可以理解为写用例是必须的,画用例图是次要的。

类图

        使用类图的目的就是为了简化逻辑,让我们的思维可以站在类级别的去考虑问题,从而避免一开始就陷入细节。而需要画类图的类有实体类,控制类,边界类。

对象图

        对象图是类图的实例化。当我们画出类图后,只需要将类图中的类实例化,就可以画出对象图。

时序图

用法:箭头开始处是调用该方法的对象,箭头指向处是拥有该方法的对象。
为什么要用时序图:因为时序图可以直观的反应程序执行的过程,特别在表示各个对象间的调用顺序,那么时序图是一个很好的选择。时序图只表示正常的情况,如果要表示不正常的情况用状态图。

协作图

        可以通过时序图转化。用来分析该系统中有哪些类。

活动图

用法:每一个圆角框表示一个活动。
为什么要用活动图:活动图可以清楚的表示完成某件事情中的各个活动过程,让我们可以站在人的思维去考虑代码而不是站在实现代码的角度去考虑程序。当我们不需要代码,只需要了解活动运行过程时需要用到活动图。

状态图

        用来描述一个对象所有可能的状态。状态图有最重要的一点,当类中的状态比较多时才需要用到状态图。将类的各个状态分别表示出来。
作用:
1、分析页面流程。
2、对象状态。
3、需求分析和设计。

构件图

        构件图从软件架构的角度来描述一个系统的主要功能,如子系统、类、包、构建等。使用构件最重要的是复用。

部署图

        当该系统所需要的硬件过多时使用部署图。

总结

一般情况下程序设计对于的分析设计顺序

        类图-->时序图-->活动图

类图和序列图的关系

        一般情况下在分析程序的总体流程时用序列图比较好:因为总体分析是站在类的角度去考虑的。类的关系一般都比较简单(高内聚低耦合)序列图适用于简单的过程。

序列图和活动图的关系

        一般情况下分析程序中的方法用活动图更好,因为活动图可以很好的反应各种复杂的逻辑。

综合

        站在类的角度分析用时序图较好,站在函数级别的用活动图比较合适。

【UML】使用环境(转)的更多相关文章

  1. 软件设计之UML—UML的构成[上]

      UML是一种通用的建模语言,其表达能力相当的强,不仅可以用于软件系统的建模,而且可用于业务建模以及其它非软件系统建模.UML综合了各种面向对象方法与表示法的优点,至提出之日起就受到了广泛的重视并得 ...

  2. 使用Visio进行UML建模

    http://www.qdgw.edu.cn/zhuantiweb/jpkc/2009/rjkf/xmwd/Visio_UmlModel.htm#_Toc80417837 内容提纲: 1.VISIO中 ...

  3. 软件设计之UML—UML的构成[上]

    UML是一种通用的建模语言,其表达能力相当的强,不仅可以用于软件系统的建模,而且可用于业务建模以及其它非软件系统建模.UML综合了各种面向对象方法与表示法的优点,至提出之日起就受到了广泛的重视并得到了 ...

  4. UMl概述(转)

    1. UML的组成 UML由视图(View).图(Diagram).模型元素(Model Element)和通用机制(General Mechanism)等几个部分组成. a) 视图(View): 是 ...

  5. java - 策略模式、状态模式、卫语句,避免多重if-else(转)

    前言 当代码中出现多重if-else语句或者switch语句时.弊端之一:如果这样的代码出现在多处,那么一旦出现需求变更,就需要把所有地方的if-else或者switch代码进行更改,要是遗漏了某一处 ...

  6. Java重构-策略模式、状态模式、卫语句

    前言 当代码中出现多重if-else语句或者switch语句时.弊端之一:如果这样的代码出现在多处,那么一旦出现需求变更,就需要把所有地方的if-else或者switch代码进行更改,要是遗漏了某一处 ...

  7. 【转】Java重构-策略模式、状态模式、卫语句

    前言 当代码中出现多重if-else语句或者switch语句时.弊端之一:如果这样的代码出现在多处,那么一旦出现需求变更,就需要把所有地方的if-else或者switch代码进行更改,要是遗漏了某一处 ...

  8. webpack环境搭建开发环境,JavaScript面向对象的详解,UML类图的使用

    PS:因为所有的设计模式都是基于面向对象来完成的,所以在讲解设计模式之前先来过一下面向对象都有哪些知识点 搭建开发环境 初始化npm环境 下载安装nodejs安装即可,nodejs自带npm管理包,然 ...

  9. 设计模式实战研磨 ——第1篇 UML环境搭建

    starUML是开源的基于统一模式语言与模式驱动开发的平台,前身是Plastic,从1996年开始开发.1998年开始,Plastic转变为UML建模工具.2005年改名为StarUML,最新版本St ...

随机推荐

  1. lvs squid相关

    http://zh.linuxvirtualserver.org/ 这几天在要对用户请求过来的post 的body内容进行处理,就具体了解了一下squid 处理post请求的具体流程,在这里具体分享一 ...

  2. mysql由浅入深探究(三)----mysql增删改查

    通过前两节的学习,目前我们已经完成了数据库的安装,用户的创建及权限操作等相关操作,但是我们似乎我们只是隐隐约约接触到了数据库的一些基本操作,对数据库表还是比较陌生.那么现在我们呢开始了解一些数据库的一 ...

  3. hdu1688(dijkstra求最短路和次短路)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1688 题意:第k短路,这里要求的是第1短路(即最短路),第2短路(即次短路),以及路径条数,最后如果最 ...

  4. 第六章 “我要点爆”微信小程序云开发实例之爆文详情页制作

    爆文详情页制作 从首页中数据列表打开相应详情页面的方法: 给数据列表中每个数据项加一个点击事件,同时将当前数据项的id暂时记录在本地,然后跳转到详情页面detail goopen: function ...

  5. 关于HTML5画布canvas的功能

    一.画布的使用 1.首先创建一个画布(canvas) <canvas id=”myCanvas” width=”200” height=”100” style=”border:1px solid ...

  6. JavaScript进阶 - 第3章 一起组团(数组)

    第3章 一起组团(数组) 3-1 一起组团(什么是数组) 我们知道变量用来存储数据,一个变量只能存储一个内容.假设你想存储10个人的姓名或者存储20个人的数学成绩,就需要10个或20个变量来存储,如果 ...

  7. 【考试记录】2018 山东省队集训第一轮D4(雾)

    T1题意: 给你一个$n\times m$的矩阵$B$,求它能由最少多少个形如两个向量之积$(n\times 1)\times(1\times m)$的矩阵相加得到. 题解: 考虑上界,最多需要$mi ...

  8. Codeforces 1C(外接圆与正多边形)

    要点 各点肯定都在外接圆上,边越多越接近圆面积,所以要最小面积应当取可能的最少边数. 给三角形求外接圆半径公式:\(R=\frac{abc}{4S}\). 三个角度对应的圆心角取gcd即是要求的正多边 ...

  9. java实现access数据上传

    一. --springMvc实现上传 https://blog.csdn.net/qian_ch/article/details/69258465 --转换成spring64位上传 https://b ...

  10. 开发工具~nuget配置本地源

    我们在本地部署了自己的nuget服务器,有时可以需要用到nuget restore命令去恢复包包,它会从下面的nuget.config里读你的配置源信息,就是在这里,我们要把内测的nuget服务器路径 ...