学习c++必不可少UML,UML从考虑系统的不同角度出发,定义了用例图、类图、对象图、状态图、活动图、序列图、协作图、构件图、部署图等9种图。这些图从不同的侧面对系统进行描述。系统模型将这些不同的侧面综合成一致的整体,便于系统的分析和构造。尽管UML和其它开发工具还会设计出许多派生的视图,但上述这些图和其它辅助性的文档是软件开发人员所见的最基本的构造。

用例图。

用例图是用来描述用户需求的,从用户的角度来描述系统的功能,并指出各个执行者。强调谁在使用,系统的执行者是谁。

【用途】:帮助开发团队以一种可视化的方式理解系统的功能需求。

类图。

用来定义系统中的类,包括描述类的结构和类之间的关系。类图的主要作用于描述系统的静态结构。类加上他们之间的关系就构成了类图,类图中还可以包含接口、包等元素,也可以包括对象、链等实例。

对象图。

对象图是类图的一个实例,描述了系统在具体时间点上所包含的对象以及各个对象之间的关系。

状态图。

状态图说明对象在它的生命周期中响应事件所经历的状态序列,以及它们对那些事件的响应。

构件图。

构件图用来描述代码构件的物理结构以及构件之间的依赖关系。一个构件可以是一个资源文件、一个二进制文件或者已给可执行文件。

实施图(部署图)。

用来定义了系统中硬件的物理体系结构,用来描述实际的物理设备以及它们之间的连接关系。

顺序图(序列图)。

描述对象之间的交互顺序,着重体现对象之间消息传递的时间顺序,强调了对象之间消息的发送顺序,同时也显示了对象之间的交互过程。

协作图。

协作图是一种交互图,强调的是发送和接受消息的对象之间的组织结构。

协作图主要描述协作对象的交互和链接。

显示对象间的连接以及对象之间如何发送消息。

协作图可以表示类操作的实现。

活动图。

概述系统的动态行为,包括活动状态,活动状态是指业务用例的一个执行步骤或一个操作,不是普通对象的状态。活  动  图适合描述在没有外部事件触发的情况下,系统内部的逻辑执行过程,否则状态图更容易描述类似与传统意义上的流程图。业务建模时,用于详述业务用例,描述一项业务的执行过程设计时,描述操作的流程。

下面在援引一位老鸟的文章  http://blog.csdn.net/fengart/article/details/1588366

3.          UML的特点

(1)统一标准。

UML融合了当前一些流行的面向对象开发方法的主要概念和技术,成为一种面向对象的标准化的统一建模语言,结束了以往各种方法的建模语言的不一致和差别。

UML提供了标准的面向对象的模型元素的定义和表示法,以及对模型的表示法的规定,使得对系统的建模有章可循,有标准的语言工具可用,有利于保质保量地建立起软件系统模型。

UML己经成为工业标准化组织OMG的正式标准,OMG将负责语言标准的进一步的开发。UML在统一和标准化方面的努力,将有利于建模语言本身的发展,也有利于工业化应用。

(2)面向对象。

UML支持面向对象技术的主要概念。UML提供了一批基本的模型元素的表示图形和方法,能简洁明了地表达面向对象的各种概念和模型元素。

(3)可视化、表示能力强大。

UML是一种图形化语言,系统的逻辑模型或实现模型都能用UML的模型图形清晰地表示。UML不只是一堆图形符号,在每一个UML的图形表示符号背后,都有良好定义的语义。

UML还可以处理与软件的说明和文档有关的问题,包括需求说明、体系结构、设计、源代码、项目计划、测试、原型、发布等。

UML提供了语言的扩展机制,用户可以根据需求增加定义自己的构造型、标记值和约束等。

UML的强大表示能力使它可以用于各种复杂类型的软件系统的建模。

(4)独立于过程。

UML是系统建模语言,独立于开发过程。虽然UML与Rational统一过程配合使用,将发挥强大的效用,但是UML也可以在其他面向对象的开发过程中使用,甚至在常规的软件生命周期法中使用。

(5)容易掌握使用。

UML的概念明确,建模表示法简洁明了,图形结构清晰,容易掌握使用。学习UML应着重学习它的三方面的主要内容:UML的基本模型元素,把这些模型元素组织在一起的规则,UML语言中的公共机制。只要具备一定的软件工程和面向对象技术的基础知识,通过运用UML建立实际问题的系统模型的实践,很快就能掌握和熟悉UML。

4.         UML的用途

使用UML进行软件系统的分析与设计,能够加速软件开发的进程,提高代码的质量,支持变动的业务需求。UML适用于各种大小规模的软件系统项目,能促进软件复用,方便地集成已有的系统软件资源。使用UML将有助于处理软件开发中的各种风险。UML的这些特点和优点使它获得了计算机业界和越来越多的软件人员的青睐。

UML不是一个独立的软件工程方法,而是面向对象软件工程方法中的一个部分。UML只是一种标准的系统分析和设计的语言,用于系统的建模。UML适用于对各类软件系统的建模,从应用系统到计算机系统的支持软件,从一般的企业的信息管理系统到基于WEB的分布式应用系统,甚至实时系统。

UML不是程序设计语言,不能用来直接书写程序,实现系统。UML所建立的系统模型(逻辑模型和实现模型),必须转换为某个程序设计语言的源代码程序,然后经过该语言的编译系统生成可执行的软件系统。但是,用UML建立系统模型可以很好地支持软件开发的前向工程(Forward
engineering)和逆向工程(Reverse engineering)。[2]

UML详解的更多相关文章

  1. 【转】UML类图与类的关系详解

    UML类图与类的关系详解   2011-04-21 来源:网络   在画类图的时候,理清类和类之间的关系是重点.类的关系有泛化(Generalization).实现(Realization).依赖(D ...

  2. UML类图与类的关系详解

    摘自:http://www.uml.org.cn/oobject/201104212.asp UML类图与类的关系详解 2011-04-21 来源:网络 在画类图的时候,理清类和类之间的关系是重点.类 ...

  3. 【UML 建模】在线UML建模工具 ProcessOn 使用详解

    总结 : -- 推荐理由 : 最近从 Windows 操作系统 转到 MAC 上, 正在看设计模式 和 重构, 找不到好用的 UML 工具, 因此在网上找了一款可以在线使用的 UML 工具, 用起来发 ...

  4. UML类图详解_关联关系_一对多

    对于一对多的示例,可以想象一个账户可以多次申购.在申购的时候没有固定上限,下限为0,那么就可以使用容器类(container class)来搞,最常见的就是vector了. 下面我们来看一个“一对多” ...

  5. UML类图详解_关联关系_多对一

    首先先来明确一个概念,即多重性.什么是多重性呢?多重性是指两个对象之间的链接数目,表示法是“下限...上限”,最小数据为零(0),最大数目为没有设限(*),如果仅标示一个数目级上下限相同. 实际在UM ...

  6. UML简单介绍—类图详解

    类图详解 阅读本文前请先阅读:UML简单介绍—类图这么看就懂了 1.泛化关系 一个动物类: /** * 动物类 */ public class Animal { public String name; ...

  7. ASP.NET Core的配置(2):配置模型详解

    在上面一章我们以实例演示的方式介绍了几种读取配置的几种方式,其中涉及到三个重要的对象,它们分别是承载结构化配置信息的Configuration,提供原始配置源数据的ConfigurationProvi ...

  8. 转载文章-----Rational Rose2007(v7.0)下载地址、安装及激活详解教程(图)

    转载地址:http://www.cnblogs.com/leaven/p/3718361.html 最近需要画uml图,之前用的是Rose 2003版的,由于好久没进去了,结果发现原来的激活又失效了, ...

  9. java中的io系统详解 - ilibaba的专栏 - 博客频道 - CSDN.NET

    java中的io系统详解 - ilibaba的专栏 - 博客频道 - CSDN.NET 亲,“社区之星”已经一周岁了!      社区福利快来领取免费参加MDCC大会机会哦    Tag功能介绍—我们 ...

随机推荐

  1. .net orm比较之dapper和Entity Framework6的简单测试比较

    .net orm比较之dapper和Entity Framework6的简单测试比较

  2. ibatis 存储过程写法

    <?xml version=)  ORDER BY a.DepId) AS row_n,a.DepId,a.DepName,a.ParentDepId,a.DepCode,a.CustomerS ...

  3. [转]常用电器认证标志 && 手机频段

    一个手电筒就可以算得上一件家用电器的时代已经过去了,现在,谁家里不得有个几件?大家肯定看到了这些电器上贴的各种各样的认证标志了吧?看的人是眼花缭乱,目不暇接,更有一些是“洋认证”.下面罗列出一些常见的 ...

  4. javaSE第二十天

    第二十天    254 1:递归(理解)    254 (1)方法定义中调用方法本身的现象    254 (2)递归的注意事项    255 (3)递归的案例:    255 A:递归求阶乘    2 ...

  5. iOS 开发经验谈,点击没响应事件

  6. Spring Controller 获取请求参数的几种方法

    1.直接把表单的参数写在Controller相应的方法的形参中,适用于get方式提交,不适用于post方式提交.若"Content-Type"="application/ ...

  7. C# 运行时编辑 节点重命名

    方法一: ; bool nodeChanged = false; //右键点击,就进入修改状态 private void treeView1_NodeMouseClick(object sender, ...

  8. group by和distinct语句的执行顺序

    同一条语句之中,如果同时有group by和distinct语句,是先group by后distinct,还是先distinct后group by呢? 先说结论:先group by后distinct. ...

  9. Ubuntu开发环境搭建

    linux开发不得不用虚拟机,为了节省系统资源.决定采用Ubuntu Server逐步搭建出具有图形界面的开发环境. ubuntu server 安装英文版 安装选择选generic,不要LVM选项. ...

  10. delphi XE7 中的消息

    在delphi XE7的程序开发中,消息机制保证进程间的通信. 在程序中,消息来自: 1)系统: 通知你的程序用户输入,涂画以及其他的系统范围的事件: 2)你的程序:不同的程序部分之间的通信信息.   ...