当前位置:文档之家› UML概述

UML概述

UML图中的几种图简介

UML图中的几种图简介(时序图,协作图,状态图,活动图,对象图) 1、时序图: 时序图用于描述对象之间的传递消息的时间顺序,即用例的行为顺序。当执行一个用例时, 时序图中的每条消息对应了一个类操作或者引起转换的触发事件.在UML 中, 时序图表示为一个二维的关系图, 其中, 纵轴是时间轴, 时间延竖线向下延伸. 横轴代表在协作中各个独立的对象. 当对象存在时, 生命线用一条虚线表示, 消息用从一个对象的生命线到另一个对象的生命线的箭头表示. 箭头以时间的顺序在图中上下排列. 时序图中的基本概念: 对象:时序图中对象使用矩形表示, 并且对象名称下有下划线. 将对象置于时序图的顶部说明在交互开始时对象就已经存在了. 如果对象的位置不在顶部, 表示对象是在交互的过程中被创建的. 生命线:生命线是一条垂直的虚线. 表示时序图中的对象在一段生命周期内存在. 每个对象底部中心的位置都带有生命线. 消息:两个对象之间的单路通信. 从发送方指向接收方. 在时序图中很少使用返回消息. 激活:时序图可以描述对象的激活和钝化. 激活表示该对象被占用以完成某个任务. 钝化指对象处于空闲状态, 等待消息.在UML中,对象激活时将对象的生命线拓宽为矩形来表示的. 矩形称为计划条或控制期. 对象就是在激活条的顶部被激活的. 对象在完成自己的工作后被钝化. 对象的创建和销毁: 在时序图中, 对象的默认位置是在图的顶部. 这说明对象在交互开始之前就已经存在了. 如果对象是在交互过程中创建的, 那么就应该将对象放到中间部分. 如果要撤销一个对象, 在其生命线终止点处放 置“X”符号 2、活动图: 在UML 中, 活动图本质上就是流程图. 它用于描述系统的活 动, 判定点和分支等. 活动图的基本概念: 动作状态:原子的, 不可中断的动作, 并在此动作完成之后向另一个动作转变.在UML 中动作状态用圆角矩形表示, 动作状态所表示的动作写在圆角矩形内部. 分支与合并:分支在软件系统中很常见. 一般用于表示对象类所具有的条件行为. 用一个布尔型表达式的真假来判定动作的流向. 条件行为用分支和

软件工程与UML关系概述

本栏目责任编辑:谢媛媛软件设计开发Computer Knowledge and Technology 电脑知识 与技术第6卷第21期(2010年7月)软件工程与UML 关系概述 刘小海 (北京航空技术研究中心,北京100076) 摘要:随着计算机技术的发展,软件工程技术已经进入了一个新的阶段。人们开始使用面向对象的技术,同时UML 融合了多种面向对象建模方法以及多种软件工程方法,成为软件系统设计建模的主要工具。该文从软件工程概述、UML 概述以及UML 在软件工程的应用为基础,对软件工程与UML 管理进行概述。 关键词:软件工程;UML ;建模;关系 中图分类号:TP312文献标识码:A 文章编号:1009-3044(2010)21-5774-02 Overview of Relationship between Software Engineering and UML LIU Xiao-hai (Beijing University of Aeronautics Technology Research Center,Beijing 100076,China) Abstract:With the development of computer technology,software engineering technology has entered a new stage.People began to use of object-oriented technology,and a variety of fusion UML modeling method of object-oriented software engineering methods and soft -ware system,the main tool design modeling.This overview of software engineering,UML overview and UML in software engineering,based on the application of software engineering and UML management are summarized. Key words:software engineering;UML;modeling;relationship 1软件工程的概述 软件工程(Software Engineering ,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。软件工程开发和维护软件是通过工程的概念、原理、技术和方法进行的,经过实践而得到的管理技术与当前较好的技术相结合,发开出高质量的软件,并对其进行维护。而传统方法学和面向对象方法学是目前使用较广泛的软件工程方法学。 软件工程的基本原理:1)用分阶段的生命周期计划严格管理;2)坚持进行阶段评审;3)实行严格的产品控制;4)采用现代程序设计技术;5)结果应能清楚的审查;6)开发小组的人员应该少而精;7)承认不断改进软件工程实践的必要性。 2UML 的概述 面向对象的系统分析与设计出现在较晚时期,即20世纪80年代。这是一段试验时期。20世纪90年代早期,在各种方法和建模应运而生并已开始应用的同时,讨论的主要中心是比较方法。在1997年,在行业联盟对象管理组织(OMG )发起人号召之下,工作组发布了一套用于描述和建模面向对象系统的标准,这就是统一建模语言(UML )。UML 是一种建模语言而不是一种方法,UML 本身是独立于过程的。 标准建模语言UML 的主要特点可以归结为五点: 1)统一的标准。UML 已被OMG 接受为标准的建模语言,赿来越多的开发人员开始使用UML 进行开发,越来越多开发厂商开始支持UML 。 2)面向对象。UML 是支持面向对象软件开发的建模语言。 3)可视化、表达能力强大。 4)独立于过程。UML 不依赖于特定的软件开发过程,这也是UML 能被众多软件开发人员接受的一个原因。 5)概念明确,建模表示法简洁,图形结构清晰,容易掌握和使用。 3软件开发过程与建模 在软件工程中,软件生命周期由软件定义、软件开发和运行维护三个时期组成,每个时期又进一步划分若干个阶段,分别为:问题定义、可行性研究、需求分析、总体设计、详细设计、编码和单元测试、综合测试以及软件维护。 在软件开发过程中,整个软件生命周期受软件范型影响。所谓软件范型(Software paradigms )就是软件开发过程模型,毋庸置疑,选择一个良好的开发范型对于一个软件产品(项目)的开发至关重要。一般情况下,软件范型可分为四种,分别为:过程性范型、面向对象范型、面向进程范型以及混合范型。在建立软件的需求分析和设计模型时,建模的方法要根据不同的范型选择。 收稿日期:2010-05-26 作者名称:刘小海(1966-),男,河北人,高级工程师。 ISSN 1009-3044Computer Knowledge and Technology 电脑知识与技术Vol.6,No.21,July 2010,pp.5774-5775E-mail:xsjl@https://www.doczj.com/doc/fe17910123.html, https://www.doczj.com/doc/fe17910123.html, Tel:+86-551-569096356909645774

UML顺序图介绍

介绍 顺序图也称序列图,主要用来系统中的某个流程的详细步骤。顺序图能够给出流程中一系列对象的交互顺序。通过顺序图可以让我们更好的了解如何实现某个用例 的方法。我们知道用例图用来描述系统的功能需求。而顺序图清晰的描述了某个用例也就是系统功能的的实现方法。 详解 在顺序图中包含的元素: 对象:用来标识流程中的详细步骤中的对象。 活动条:用来标识当前对象是活动的,如果想表示某个对象是活动的,那么必须使用一个虚线+活动图的形式来构建。 例如我们现在要标示一个简单的做公交车的刷卡流程:

IC卡刷卡 操作。 相关解释说明: 公交卡,首先放在刷卡终端上,终端读取卡中的余额信息,然后刷卡终端与终端中的扣款程序对象交互,扣款程序根据读取的余额信息,与刷卡终端中的固定刷卡 金额对比,如果当前IC卡的余额大雨刷卡终端的固定金额则,扣除金额,并且返回一个消息,提示刷卡成功的操作。 途中的实线表示调用被调用对象的方法,虚线表示当被调用对象执行成功后,返回的虚线上表示返回值的逻辑名称,这样可以提高了可读性。 在公交卡与活动条之间,应有一个虚线链接。 在上图中我们使用了活动条,活动条作为生命线的一部分。我们并没有定义对象的创建和销毁,因此我们来看UML建模语言提供的描述对象的创建与销毁实例。

上图中的X符号的图标代表的时候对象的销毁。创建对象通过new来创建,上图中,我用中文描述“创建对象”来完成对象的创建,那么在生命线下的的X符号代 表销毁对象,从内存中移除对象。当然这个对象的销毁对不同的开发语言有这不同的处理方式。C++中的销毁对象,必须调用析构函数来销毁对象。C#与JAVA 语言中 则只是说明当前需要销毁的对象没有被其他的对象引用,那么这类语言编译器提供垃圾回收器来完成回收。 注意:当某个对象引用了另外一个对象,该对象有责任销毁被引用对象并且必须显示销毁该被引用对象时,那么必须要显示的发送被引用对象销毁的通知消息。白 话文来说就是显示的调用被引用对象的销毁方法。 顺序途中的同步与异步。 顺序图中的同步与异步与我们平时书写代码中的同步与异步的解释意思差不多。这里不过多解释,通过图例说明:

UML类图符号简介

UML类图符号简介 1. 类(Class):使用三层矩形框表示。 第一层显示类的名称,如果是抽象类,则就用斜体显示。 第二层是字段和属性。 第三层是类的方法。 注意前面的符号,‘+’表示public,‘-’表示private,‘#’表示protected。 2. 接口:使用两层矩形框表示,与类图的区别主要是顶端有<>显示。 第一行是接口名称。 第二行是接口方法。 3. 继承类(extends):用空心三角形+实线来表示。 4. 实现接口(implements):用空心三角形+虚线来表示 5. 关联(Association):用实线箭头来表示,例如:燕子与气候 6. 聚合(Aggregation):用空心的菱形+实线箭头来表示 聚合:表示一种弱的‘拥有’关系,体现的是A对象可以包含B对象,但B对象不是A对象的一部分,例如:公司和员工 组合(Composition):用实心的菱形+实线箭头来表示 组合:部分和整体的关系,并且生命周期是相同的。例如:人与手 7. 依赖(Dependency):用虚线箭头来表示,例如:动物与氧气 8. 基数:连线两端的数字表明这一端的类可以有几个实例,比如:一个鸟应该有两只翅膀。如果一个类可能有无数个实例,则就用‘n’来表示。关联、聚合、组合是有基数的 类之间的关系 UML把类之间的关系分为以下5种. ● 关联:类A与类B的实例之间存在特定的对应关系 ● 依赖:类A访问类B提供的服务 ● 聚集:类A为整体类,类B为局部类,类A的对象由类B的对象组合而成 ● 泛化:类A继承类B ● 实现:类A实现了B接口 关联(Association)

第2章 UML概述

第2章UML概述 2.1 UML的发展 UML----统一建模语言(Unified Modeling Language) 进一步定义:是对软件系统中的制品(模型、代码等)进行可视化、详述、构造和文档化的语言。 产生时间:上个世纪九十年代中后期(96/97年) 产生背景: 面向对象方法(OO)出现于20世纪70年代。从1989~1994年,面向对象建模方法(语言工具)从不到10个猛增到50多个,这些不同的建模方法具有不同的建模符号体系,各自均有不同的特点,用户很难找到一个完全满足自己要求的建模语言工具,这给软件开发和市场带来了混乱。其中最为流行的方法有以下3个: 1.OMT(Object Modeling Technology对象建模技术)方法: 提出:James Rumbaugh 特点:分析是强项,设计是弱项 2.Booch方法: 提出:Grady Booch 特点:分析是弱项,设计是强项 3.OOSE(Object Oriented Software Engineering--面向对象软件工程)方法:(注:也称Jacobson方法) 提出:Ivar Jacobson 特点:行为分析(use case)是强项,其它是弱项 基于上述原因,有必要博采众家之长,建立一个标准的、统一的建模语言。UML设计者:由Rumbaugh 、Booch和Jacobson 等人联合设计 注:1993~1995年他们三人顺次分别加入Rational公司后联合设计的。 其中: 1995年后期,正式推出UM0.8(UM--Unified Method) 1996年中期,改进的UM正式更名为UML(Unified Modeling Language)1997年前期,UMLl.0被提交给OTG(Object Technology Organization--对象技术组织) 1997年后期,OMG(Object Management Group--对象管理组织)将UML1.1作为行业标准。 1998年中期,OMG发布了UMLl.2 1998年后期,OMG发布了UMLl.3 1999年中期,OMG发布了UML2.0 归纳起来,UML的产生有以下三方面的原因: 1. 不同的面向对象方法有着许多相似之处,通过这项工作,消除可能会给使用者造成混淆的不必要的差异是非常有意义的; 2. 语义和表示法的统一,可以稳定面向对象技术的市场,使工程开发可以采用一门成熟、统一的建模语言; 3.这种统一能使现有的方法继续向前发展,积累已有的经验,解决以前没有解决好的问题。 总之,UML的产生是许多人集体智慧的结晶。

UML中数据流图介绍

·单向关联 在一个单向关联中,两个类是相关的,但是只有一个类知道这种联系的存在。 一个单向的关联,表示为一条带有指向已知类的开放箭头(不关闭的箭头或三角形,用于标志继承)的实线。如同标准关联,单向关联包括一个角色名和一个多重值描述,但是与标准的双向关联不同的时,单向关联只包含已知类的角色名和多重值描述。 简单的说就是OverdrawAccountReport中包含了BankAccount属性,而BankAccount中不需要包含OverdrawnAccountsReport对象 6.聚合的表示: 聚合是一种特别类型的关联,用于描述“总体到局部”的关系。在基本的聚合关系中,部分类的生命周期独立于整体类的生命周期。 举例来说,我们可以想象,车是一个整体实体,而车轮轮胎是整辆车的一部分。轮胎可以在安置到车时的前几个星期被制造,并放置于仓库中。在这个实例中,Wheel类实例清楚地独立于Car类实例而存在。然而,有些情况下,部分类的生命周期并不独立于整体类的生命周期 -- 这称为合成聚合。举例来说,考虑公司与部门的关系。公司和部门都建模成类,在公司存在之前,部门不能存在。这里Department类的实例依赖于Company类的实例而存在。 让我们更进一步探讨基本聚合和组合聚合。 注意:聚合与普通的关联的区别在于:普通的关联可能只是一个简单的“包含、引用”关系,关联和被关联类之间在逻辑概念上不一定有紧密的联系,而聚合则不同,它表示的是一种内在关系紧密,相互依存,相互包含的概念,其中的一部分是构成另外一部分的不可或缺的成分。 ·基本聚合 有聚合关系的关联指出,某个类是另外某个类的一部分。在一个聚合关系中,子类实例可以比父类存在更长的时间。为了表现一个聚合关系,你画一条从父类到部分类的实线,并在父类的关联末端画一个未填充棱形。

SA03 - 架构描述语言(ADL)--UML概述

软件架构 Software Architecture 叶红星博士 技术总监 yehx@https://www.doczj.com/doc/fe17910123.html, 神州数码系统集成服务有限公司培训中心

架构描述语言(ADL)统一建模语言(UML)概述

目标 当完成这一章时,你应能: ?熟练掌握统一建模语言(UML)的定义?熟练掌握UML的结构 ?熟练掌握UML的元模型

UML的定义 The UML is a language for ?visualizing ?specifying ?constructing ?documenting the artifacts of software systems. UML是一种用于可视化、详述、构造、记录软件系统的制品的语言。

UML 的发展历史-1 Booch method OMT Unified Method 0.8 OOPSLA ′95OOSE Other methods UML 0.9 Web -June ′96public feedback Final submission to OMG, Sep ‘97 First submission to OMG, Jan ′97 UML 1.1OMG Acceptance, Nov 1997 UML 1.0UML partners UML 1.409/2001 UML 1.3June 1999UML 1.503/2003UML 2.007/2005

UML 的发展历史-2 March 2000 1.3September 2001 1.4 July 2004 1.4.2 (ISO/IEC 19501:2005) March 20031.5 July 20052.0 August 20072.1.1 November 20072.1.2 (ISO/IEC DIS 19505:2008) February 20092.2 发布日期版本

大象UML知识点概述

大象UML 建模

1.为什么需要UML 1.面向过程的分析方法:找到过程的起点,然后顺藤摸瓜,分析每一个部分,直至达到过程 的终点。这个过程中的每一部分都是过程链上的一环。 2. 面向对象(Object Oriented,简称OO)方法将世界看作一个个相互独立的对象,相互之问并无因果关系。 3. 面向对象方法与面向过程方法根本的不同,就是不再把世界看作是一个紧密关联的系统,而是看成一些相互独立的离散的小零件,这些零件依据某种规则组织起来,完成一个特定的功能。 4. 从现实世界到业务模型现实世界无论多复杂,无论是哪个行业,无论做什么业务,其本质无非是由人、事、物和规则组成的。人是一切的中心,人要做事,做事就会使用一些物并产生另一些物,同时做事需要遵循一定的规则。人驱动系统,事体现过程,物记录结果,规则是控制。建立模型的关键就是弄明白有什么人,什么人做什么事,什么事产生什么物,中间有什么规则,再把人、事、物之间的关系定义出来,一个模型也就基本成型了。 UML提供的元素 第一,参与者。UML采用称之为参与者(actor)的元模型作为信息来源提供者,参与者代表现实世界的“人”。参与者是模型信息来源的提供者,也是第一驱动者 第二,UML采用称之为用例(use case)的一种元模型来表示驱动者的业务目标,也就是参与者想要做什么并且获得什么。这个业务目标就是现实世界中的“事”。而这件事是怎么做的,依据什么规则,则通过称之为业务场景(business scenario)和用例场景(use case scenario)的UML视图来描绘。这些场景便是现实世界的“规则”。 最后,UML通过称之为业务对象模型(business object model)的视图说明在达成这些业务目标的过程中涉及到的事物,用逻辑概念来表示它们,并定义它们之间的关系。业务对象模型则代表了现实世界中的“物”。 从现实世界到业务模型 分析模型 UML通过称之为概念化的过程(Conceptual)来建立适合计算机理解和实现的模型,这个模型称为分析模型(Analysis Model)。 分析模型介于原始需求和计算机实现之间,是一种过渡模型。 分析模型的元模型

UML九种图作用简介

UML九种图作用简介 UML(统一建模语言):是面向对象的可视化建模语言。 UML中有3种构造块:事物、关系和图,事物是对模型中最具有代表性的成分的抽象,关系是把事物结合在一起,图聚集了相关的事物 UML中有九种图如下: 1、用例图 描述角色以及角色与用例之间的连接关系。说明的是谁要使用系统,以及他们使用该系统可以做些什么。 2、类图 类图是描述系统中的类,以及各个类之间的关系的静态视图。能够让我们在正确编写代码以前对系统有一个全面的认识。类图是一种模型类型,确切的说,是一种静态模型类型。 3、对象图 与类图极为相似,它是类图的实例,对象图显示类的多个对象实例,而不是实际的类。它描述的不是类之间的关系,而是对象之间的关系。 4、活动图 描述用例要求所要进行的活动,以及活动间的约束关系,有利于识别并行活动。能够演示出系统中哪些地方存在功能 5、状态图 描述类的对象所有可能的状态,以及事件发生时状态的转移条件。可以捕获对象、子系统和系统的生命周期。他们可以告知一个对象可以拥有的状态,并且事件(如消息的接收、时间的流逝、错误、条件变为真等)会怎么随着时间的推移来影响这些状态。一个状态图应该连接到所有具有清晰的可标识状态和复杂行为的类;该图可以确定类的行为,以及该行为如何根据当前的状态变化,也可以展示哪些事件将会改变类的对象的状态。状态图是对类图的补充。 6、序列图(顺序图) 序列图是用来显示你的参与者如何以一系列顺序的步骤与系统的对象交互的模型。顺序图可以用来展示对象之间是如何进行交互的。顺序图将显示的重点放在消息序列上,即强调消息是如何在对象之间被发送和接收的。

7、协作图 和序列图相似,显示对象间的动态合作关系。可以看成是类图和顺序图的交集,协作图建模对象或者角色,以及它们彼此之间是如何通信的。如果强调时间和顺序,则使用序列图;如果强调上下级关系,则选择协作图;这两种图合称为交互图。 8、构件图(组件图) 描述代码构件的物理结构以及各种构建之间的依赖关系。用来建模软件的组件及其相互之间的关系,这些图由构件标记符和构件之间的关系构成。在组件图中,构件时软件单个组成部分,它可以是一个文件,产品、可执行文件和脚本等。 9、部署图 是用来建模系统的物理部署。例如计算机和设备,以及它们之间是如何连接的。部署图的使用者是开发人员、系统集成人员和测试人员。 在需求阶段:采用用例图来描述需求 在分析阶段:采用类图来描述静态结构 在设计阶段:采用类图、包图对类的接口进行设计 在实现阶段:将类用某个面向对象的语言实现 在集成与交付阶段:构件图、包图、部署图 在测试阶段:单元测试使用类图和类的规格说明书 集成测试阶段使用类图、包图、构件图和合作图 系统测试使用用例图来测试系统功能

uml简介

到了21世纪--准确地说是2003年,UML已经获得了业界的认同。在我所见过的专业人员的简历中,75%都声称具备UML的知识。然而,在同绝大多数求职人员面谈之后,可以明显地看出他们并不真正了解UML。通常地,他们将UML用作一个术语,或对UML一知半解。大家对UML缺乏理解的这种状况,促进我撰写这篇关于UML 1.4的快速入门文章。当阅读完本文时,您还不具备足够的知识可以在简历上声称自己掌握了UML,但是您已具有了进一步钻研该语言的良好起点。 参考 UML 基础系列的其他文章和教程 一些背景知识 正如前面曾提到过的,UML的本意是要成为一种标准的统一语言,使得IT专业人员能够进行计算机应用程序的建模。UML的主要创始人是Jim Rumbaugh、Ivar Jacobson和Grady Booch,他们最初都有自己的建模方法(OMT、OOSE和Booch),彼此之间存在着竞争。最终,他们联合起来创造了一种开放的标准。(听起来是不是很熟悉?这个现象类似J2EE、SOAP和Linux的诞生。)UML成为"标准"建模语言的原因之一在于,它与程序设计语言无关。(IBM Rational的UML建模工具被广泛应用于J2EE和.NET开发。)而且,UML符号集只是一种语言而不是一种方法学。这点很重要,因为语言与方法学不同,它可以在不做任何更改的情况下很容易地适应任何公司的业务运作方式。 既然UML不是一种方法学,它就不需要任何正式的工作产品(即IBM Rational Unified Process?术语中所定义的"工件")。而且它还提供了多种类型的模型描述图(diagram),当在某种给定的方法学中使用这些图时,它使得开发中的应用程序的更易理解。UML的内涵远不只是这些模型描述图,但是对于入门来说,这些图对这门语言及其用法背后的基本原理提供了很好的介绍。通过把标准的UML图放进您的工作产品中,精通UML的人员就更加容易加入您的项目并迅速进入角色。最常用的UML图包括:用例图、类图、序列图、状态图、活动图、组件图和部署图。 深入讨论每类图的细节问题已超出了这篇入门文章的范围。因此,下面仅给出了每类图的简要说明,更详细的信息将在以后的文章中探讨。

UML各种视图介绍、说明、图形

1、用例图 描述角色以及角色与用例之间的连接关系。说明的是谁要使用系统,以及他们使用该系统可以做些什么。一个用例图包含了多个模型元素,如系统、参与者和用例,并且显示了这些元素之间的各种关系,如泛化、关联和依赖。 2、类图 类图是描述系统中的类,以及各个类之间的关系的静态视图。能够让我们在正确编写代码以前对系统有一个全面的认识。类图是一种模型类型,确切的说,是一种静态模型类型。 3、对象图 与类图极为相似,它是类图的实例,对象图显示类的多个对象实例,而不是实际的类。它描述的不是类之间的关系,而是对象之间的关系。 4、活动图 描述用例要求所要进行的活动,以及活动间的约束关系,有利于识别并行活动。能够演示出系统中哪些地方存在功能,以及这些功能和系统中其他组件的功能如何共同满足前面使用用例图建模的商务需求。 5、状态图 描述类的对象所有可能的状态,以及事件发生时状态的转移条件。可以捕获对象、子系统和系统的生命周期。他们可以告知一个对象可以拥有的状态,并且事件(如消息的接收、时间的流逝、错误、条件变为真等)会怎么随着时间的推移来影响这些状态。一个状态图应该连接到所有具有清晰的可标识状态和复杂行为的类;该图可以确定类的行为,以及该行为如何根据当前的状态变化,也可以展示哪些事件将会改变类的对象的状态。状态图是对类图的补充。 6、序列图(顺序图) 序列图是用来显示你的参与者如何以一系列顺序的步骤与系统的对象交互的模型。顺序图可以用来展示对象之间是如何进行交互的。顺序图将显示的重点放在消息序列上,即强调消息是如何在对象之间被发送和接收的。 7、协作图 和序列图相似,显示对象间的动态合作关系。可以看成是类图和顺序图的交集,协作图建模对象或者角色,以及它们彼此之间是如何通信的。如果强调时间和顺序,则使用序列图;如果强调上下级关系,则选择协作图;这两种图合称为交互图。

相关主题
文本预览
相关文档 最新文档