统一建模语言UML轻松入门之基本概念

2016-02-19 15:46 8 1 收藏

下面这个统一建模语言UML轻松入门之基本概念教程由图老师小编精心推荐选出,过程简单易学超容易上手,喜欢就要赶紧get起来哦!

【 tulaoshi.com - Web开发 】

20 世纪80 年代,随着面向对象技术成为研究的热点,先后出现了几十种面向对象的软件开发方法。其中,Booch、OMT 和OOSE等方法得到了广泛的认可。然而,采用不同方法进行建模不利于开发者之间的交流。而UML则统一了Booch、OMT 和OOSE 的表示方法,而且对其作了进一步的发展。1997 年,UML 被国际对象组织OMG采纳为面向对象的建模语言的国际标准,它溶入了软件工程领域的新思想、新方法和新技术。UML不限于支持面向对象的分析与设计,还支持从需求分析开始的软件开发的全过程。数年来,UML凭借其简洁明晰的表达方式、超凡脱俗的表达能力,一路杀将出来,为业界所广泛认同!目前,在多数大型企业的正规化开发流程中,开发人员普遍使用UML进行模型的建立。作为一名软件开发人员,我们必须学会UML。因为UML就是那个统一的"文字",统一的"度"、"量"、"衡",不理解UML,作为软件设计统一王国的国民,将是艰难而痛苦的。

  作曲家会将其脑袋中的旋律谱成乐曲,建筑师会将其设计的建筑物画成蓝图,这些乐曲、蓝图就是模型(Model),而建构这些模型的过程就称为建模(Modeling)。软件开发如同音乐谱曲及建筑设计,其过程中也必须将需求、分析、设计、实现、布署等各项工作流程的构想与结果予以呈现,这就是软件系统的建模。

  那么为什么要建模呢?经典答案是:建立大厦和建立狗窝的区别是建设狗窝不需要设计,要生产合格的软件就要有一套关于体系结构、过程和工具的规范。

  OMG官方发布的UML的当前最高版本为2.0,可以从http://www.uml.org/上下载。

  UML由图和元模型组成,图是语法,元模型是语义。UML主要包括三个基本构造块:事物(Things)、关系(Relationships)和图(Diagrams)。本次连载我们将对UML的这些基本组成部分及UML工具和应用进行介绍,使读者对UML形成初步的整体印象。在其后的几次连载里,再以数个实例对这些内容逐步展开。

  1.1 UML的基本构造块

  1.1.1事物

  事物是是实体抽象化的最终结果,是模型中的基本成员,UML中包含结构事物、行为事物、分组事物和注释事物。

  (1)结构事物(Structural things)

  结构事物是模型中的静态部分,用以呈现概念或实体的表现元素,是软件建模中最常见的元素,共有以下七种:

  类(Class):类是指具有相同属性、方法、关系和语义的对象的集合;

  接口(Interface):接口是指类或组件所提供的服务(操作),描述了类或组件对外可见的动作;

  协作(Collaboration):协作描述合作完成某个特定任务的一组类及其关联的集合,用于对使用情形的实现建模;

  用例(Use Case):用例定义了执行者(在系统外部和系统交互的人)和被考虑的系统之间的交互来实现的一个业务目标;

  活动类(Active Class):活动类的对象有一个或多个进程或线程。活动类和类很相象,只是它的对象代表的元素的行为和其他的元素是同时存在的;

  组件(Component):组件是物理的、可替换的部分,包含接口的集合,例如COM+ 、JAVA BEANS等;

  结点(Node):结点是系统在运行时存在的物理元素,代表一个可计算的资源,通常占用一些内存和具有处理能力。

  (2)行为事物(Behavioral things)

  行为事物指的是UML模型中的动态部分,代表语句里的"动词",表示模型里随着时空不断变化的部分,包含两类:

  交互(ineraction):交互是由一组对象之间在特定上下文中,为达到特定的目的而进行的一系列消息交换而组成的动作;

  状态机(state machine):状态机由一系列对象的状态组成。

  (3)分组事物(Grouping things)

  可以把分组事物看成是一个"盒子",模型可以在其中被分解。目前只有一种分组事物,即包(package)。结构事物、动作事物甚至分组事物都有可能放在一个包中。包纯粹是概念上的,只存在于开发阶段,而组件在运行时存在。

  (4)注释事物(Annotational things)

  注释事物是UML模型的解释部分。

  1.1.2关系

  关系是将事物联系在一起的方式,UML中定义了四种关系:

  (1)依赖(Dependencies):两个事物之间的语义关系,其中一个事物发生变化会影响另一个事物的语义;

  (2)关联(Association):一种描述一组对象之间连接的结构关系,如聚合关系(描述了整体和部分间的结构关系);

  (3)泛化(Generalization):一种一般化-特殊化的关系;

  (4)实现(Realization) :类之间的语义关系,其中的一个类指定了由另一个类保证执行的契约。

  1.1.3图

  图是事物集合的分类,UML中包含多种图:

  (1)类图(Class Diagram):类图描述系统所包含的类、类的内部结构及类之间的关系;

  (2)对象图(Object Diagram):对象图是类图的一个具体实例;

  (3)包图(Package Diagram):包图表明包及其之间的依赖类图;

  (4)组件图(Compoment Diagram,也称构件图):组件图描述代码部件的物理结构以及各部件之间的依赖关系;

  (5)部署图(Deployment Diagram):部署图定义系统中软硬件的物理体系结构;

  (6)用例图(Usecase Diagram):用例图从用户的角度出发描述系统的功能、需求,展示系统外部的各类角色与系统内部的各种用例之间的关系;

  (7)顺序图(Sequence Diagram):顺序图表示对象之间动态合作的关系;

  (8)协作图(Collaboration Diagram):合作图描述对象之间的协作关系;

  (9)状态图(Statechart Diagram):状态图描述一类对象的所有可能的状态以及事件发生时状态的转移条件;

  (10)活动图(Activity Diagram):活动图描述系统中各种活动的执行顺序。

  上述十种图可归纳为五类,如表1.1。

  表1.1 UML图分类

类型包含静态图类图、对象图、包图行为图状态图、活动图用例图用例图交互图顺序图、协作图实现图组件图、部署图

来源:http://www.tulaoshi.com/n/20160219/1610377.html

延伸阅读
标签: Web开发
经常看到说正则的文章,但说的只是方法,却很少有说以下几个基本概念: 1.贪婪:+,*,?,{m,n}等默认是贪婪匹配,即尽可能多匹配,也叫最大匹配 如果后面加上?,就转化为非贪婪匹配,需要高版本支持 2.获取:默认用(x|y)是获取匹配,很多时候只是测试,不一定要求得到所匹配的数据,尤其在嵌套匹配或大数据中就要用非获取匹配(?:x|y),这...
标签: PS PS教程
Photoshop:它是由Adobe公司开发的图形处理系列软件之一,主要应用于在图像处理、广告设计的一个电脑软件。最先它只是在Apple机(MAC)上使用,后来也开发出了for window的版本。下面是这个软件里一些基本的概念。  位图:又称光栅图,一般用于照片品质的图像处理,是由许多像小方块一样的"像素"组成的图形。由其位置与颜色值表示,...
标签: 电脑应用
CAD(Computer Aided Design)是指计算机辅助设计,是计算机技术的一个重要的应用领域。AutoCAD是一款自动计算机辅助设计软件,是美国Autodesk公司为计算机上应用CAD技术。 教程思路 1.界面布局 2.基本概念 3.鼠标状态与对象选择 4.视图操作 一.界...
标签: Java JAVA基础
前言: 在我们学习Java的过程中,掌握其中的基本概念对我们的学习无论是J2SE,J2EE,J2ME都是很重要的,J2SE是Java的基础,所以有必要对其中的基本概念做以归纳,以便大家在以后的学习过程中更好的理解java的精髓,在此我总结了30条基本的概念。 Java概述: 目前Java主要应用于中间件的开发(middleware)---处理客户机于服务器...
基本概念 1.OOP中唯一关系的是对象的接口是什么,就像计算机的销售商她不管电源内部结构是怎样的,他只关系能否给你提供电就行了,也就是只要知道can or not而不是how and why.所有的程序是由一定的属性和行为对象组成的,不同的对象的访问通过函数调用来完成,对象间所有的交流都是通过方法调用,通过对封装对象数据,很大限度上提...

经验教程

153

收藏

75
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部