UML详解
学习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详解的更多相关文章
- 【转】UML类图与类的关系详解
UML类图与类的关系详解 2011-04-21 来源:网络 在画类图的时候,理清类和类之间的关系是重点.类的关系有泛化(Generalization).实现(Realization).依赖(D ...
- UML类图与类的关系详解
摘自:http://www.uml.org.cn/oobject/201104212.asp UML类图与类的关系详解 2011-04-21 来源:网络 在画类图的时候,理清类和类之间的关系是重点.类 ...
- 【UML 建模】在线UML建模工具 ProcessOn 使用详解
总结 : -- 推荐理由 : 最近从 Windows 操作系统 转到 MAC 上, 正在看设计模式 和 重构, 找不到好用的 UML 工具, 因此在网上找了一款可以在线使用的 UML 工具, 用起来发 ...
- UML类图详解_关联关系_一对多
对于一对多的示例,可以想象一个账户可以多次申购.在申购的时候没有固定上限,下限为0,那么就可以使用容器类(container class)来搞,最常见的就是vector了. 下面我们来看一个“一对多” ...
- UML类图详解_关联关系_多对一
首先先来明确一个概念,即多重性.什么是多重性呢?多重性是指两个对象之间的链接数目,表示法是“下限...上限”,最小数据为零(0),最大数目为没有设限(*),如果仅标示一个数目级上下限相同. 实际在UM ...
- UML简单介绍—类图详解
类图详解 阅读本文前请先阅读:UML简单介绍—类图这么看就懂了 1.泛化关系 一个动物类: /** * 动物类 */ public class Animal { public String name; ...
- ASP.NET Core的配置(2):配置模型详解
在上面一章我们以实例演示的方式介绍了几种读取配置的几种方式,其中涉及到三个重要的对象,它们分别是承载结构化配置信息的Configuration,提供原始配置源数据的ConfigurationProvi ...
- 转载文章-----Rational Rose2007(v7.0)下载地址、安装及激活详解教程(图)
转载地址:http://www.cnblogs.com/leaven/p/3718361.html 最近需要画uml图,之前用的是Rose 2003版的,由于好久没进去了,结果发现原来的激活又失效了, ...
- java中的io系统详解 - ilibaba的专栏 - 博客频道 - CSDN.NET
java中的io系统详解 - ilibaba的专栏 - 博客频道 - CSDN.NET 亲,“社区之星”已经一周岁了! 社区福利快来领取免费参加MDCC大会机会哦 Tag功能介绍—我们 ...
随机推荐
- IE 不兼容的几个js问题及解决方法
IE 不兼容的几个js问题及解决方法 1 Table的问题 在动态新增tr或者td时,createElecment() 一般用appendChild();都不生效,解决办法是用新增tbody, 如 ...
- 【Uploadify】远程上传图片到【七牛云存储】
1.下载Uploadify版本3.2.1 2.下载七牛SDK 解压后将 qiniu 文件夹copy到uploadify文件夹下 3.修改uploadify.php文件 <?php $verify ...
- 十九、利用OGNL获取ValueStack中:根栈和contextMap中的数据
利用OGNL获取ValueStack中:根栈和contextMap中的数据 原则:OGNL表达式如果以#开头,访问的contextMap中的数据 如果不以#开头,是访问的根栈中的对象的属性(List集 ...
- 十七、OGNL表达式
十七.OGNL OGNL简介: OGNL是对象导航图语言.它是一个独立的项目.早期的webwork框架用到了OGNL作为自己的表达式语言, 所以struts2也是用OGNL作为表达式语言,当然也可以使 ...
- C puzzles详解【21-25题】
第二十一题 What is the potential problem with the following C program? #include <stdio.h> int main( ...
- 使用CSS创建有图标的网站导航菜单
在我创建的每一个互联网应用中,我都试图避免创建完全由图片组成的菜单.在我看来,网页菜单系统中应该使用文字.这样做也会让菜单变得更干净利落.清晰和易读,不用考虑应用程序如何读取它,以及页面放大的时候也不 ...
- windows下如何修改远程登录端口
windows下如何修改远程登录端口 windows远程桌面默认端口为3389,修改 方法如下:在"开始>运行"中输入"regedit" 点击“确定”,打 ...
- 一些peoplecode小技巧【一】
1. Get the description of the translate value: No need to write SQLEXEC on PSXLATITEM passing fieldn ...
- 释放C盘空间的27招优化技巧
主要讲讲Windows操作系统在C盘空间不足的情况下,我们可以通过那些具体手段来增加C盘空间. 1.打开"我的电脑"-"工具"-"文件夹选项" ...
- Python学习教程(learning Python)--3.3.3 Python逻辑关系表达式
在if分支判断语句里的条件判断语句不一定就是一个表达式,可以是多个(布尔)表达式的组合关系运算,这里如何使用更多的关系表达式构建出一个比较复杂的条件判断呢?这里需要再了解一下逻辑运算的基础知识.逻辑关 ...