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. redis需要掌握的知识点

  2. HDU - 5015 233 Matrix(杨辉三角/前缀+矩阵快速幂)

    233 Matrix In our daily life we often use 233 to express our feelings. Actually, we may say 2333, 23 ...

  3. Halcon - 图像随 HWindowControl 控件缩放的同时,保持图像的长宽比例不变

    背景 通常情况下,图像是填充满 HWindowControl 控件,并随其缩放的.此时只需要将 set_part 的参数设置成图像的大小即可. 不过,有时候,在一些测量任务中,我们对原始图像的长宽比敏 ...

  4. NHibernate 打不开工厂有可能是这几个原因

    1. 属性必须虚拟化. 2.属性必须要有Id 字段 3.数据库必须要是创建好的数据库.

  5. vue路由守卫

    路由守卫 //路由进来之时 beforeRouteEnter(to, from, next) { console.log(this, 'beforeRouteEnter'); // undefined ...

  6. php curl采集,服务器gzip压缩返回数据怎么办

    一般服务器不会胡乱返回gzip压缩的数据,一般是客户端请求的头部里包含你浏览器能接受的压缩方式, Accept-Encoding:gzip,deflate,sdch   这里是gzip .deflat ...

  7. poj1191(記憶化搜索)

    題目鏈接:http://poj.org/problem?id=1191 題意:中文題誒- 思路:這道題有幾個關鍵點需要想通,不然會比較難做... 首先,題目給出的標準差公式並不是很好計算,需要給它變下 ...

  8. c语言中的switch case语句

    switch--case语句中,switch后面跟一个变量,这个变量不可以是字符数组,字符指针,字符串数组,浮点型(实型).它可以是整型,字符型(在本质上也是整型).所以这导致case后面的常量表达式 ...

  9. IOS UILabel的一些使用小技巧

    1. 你在iOS6的需要NSLineBreakByWordWrapping 为了您的代码试试这个: NSString *string = @"bla"; CGSize s = [s ...

  10. CC33:碰撞的蚂蚁

    题目 在n个顶点的多边形上有n只蚂蚁,这些蚂蚁同时开始沿着多边形的边爬行,请求出这些蚂蚁相撞的概率.(这里的相撞是指存在任意两只蚂蚁会相撞) 给定一个int n(3<=n<=10000), ...