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. 计总与排名SUM和RANK函数

    准备一些数据: CREATE TABLE [dbo].[SalesPerformance]( ,) NOT NULL, ) NOT NULL, [OrderDate] [DATE] NULL, ,) ...

  2. 蜂窝网络TDOA定位方法的Fang算法研究及仿真纠错

    科学论文为我们提供科学方法,在解决实际问题中,能极大提高生产效率.但论文中一些失误则可能让使用者浪费大量时间.自己全部再推导那真不容易,怀疑的成本特别高,通常不会选择这条路.而如果真是它的问题,其它所 ...

  3. Maven修改默认仓库为阿里云仓库

    Maven 仓库默认在国外, 国内使用难免很慢,我们可以更换为阿里云的仓库. 第一步:修改 maven 根目录下的 conf 文件夹中的 setting.xml 文件,在 mirrors 节点上,添加 ...

  4. Unity 5.6 beta版本新特性

    http://manew.com/thread-98549-1-1.html 最新发布的beta版改进了编辑器和2D功能,图形性能更佳,加入新的视频播放器,并添加了对Facebook Gameroom ...

  5. 洛谷P1298 最接近的分数

    P1298 最接近的分数 题目描述 给出一个正小数,找出分子(非负)不超过M,分母不超过N(正数)的最简分数或整数,使其最接近给出的小数.“最接近”是指在数轴上该分数距离给出的小数最近,如果这个分数不 ...

  6. 洛谷P3750 [六省联考2017]分手是祝愿(期望dp)

    传送门 嗯……概率期望这东西太神了…… 先考虑一下最佳方案,肯定是从大到小亮的就灭(这个仔细想一想应该就能发现) 那么直接一遍枚举就能$O(nlogn)$把这个东西给搞出来 然后考虑期望dp,设$f[ ...

  7. AcDbSymbolTable of AcDbDatabase

    AcDbBlockTable AcDbLayerTable AcDbTextStyleTable AcDbLinetypeTable AcDbViewTable AcDbUCSTable AcDbVi ...

  8. js函数-构成

    前言 函数是一种封装,在任何语言中都是一个核心概念.在js中,函数是做为对象的子类型存在的.可以拥有自己的属性和方法,可以做为值进行传递,这两个特性让js拥有使用函数式编程的能力. 函数的声明 字面量 ...

  9. 9.数据分组 ---SQL

    一.创建分组 分组是使用SELECT语句的GROUP BY子句建立的.理解分组的最好办法是看一个例子: SELECT vend_id, COUNT(*) AS num_prods FROM Produ ...

  10. python进阶02 特殊方法与特殊属性

    python进阶02 特殊方法与特殊属性 一.初始化.析构 1.初始化 # python中有很多双下划线开头且以下划线结尾的固定方法,它们会在特定的时机被触发执行,这便是特殊方法 # 在实例化的时候就 ...