UML 构件图
- 格式:ppt
- 大小:662.00 KB
- 文档页数:25
浅谈UML中常用的几种图1 UML简介2 UML常见图分类3 用况图(用例)4 类图简单类图使用举例5 其他辅助用图●时序图(顺序图)●协作图(Collaboration Diagram/communication Diagram)/通信图●状态图●活动图(Activity Diagram)6 组件图(ComponentDiagram)、配置图(Deployment Diagram)1 UML简介统一建模语言(Unified Modeling Language,UML)又称标准建模语言,是始于1997年的一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。
‘UML感兴趣的可以阅读UML 1规范,包含了UML 的所有知识内容。
注:OMG, Object Management Group 对象管理组织2 UML常见图分类UML从考虑系统的不同角度出发,定义了用况图、类图、对象图、包图、状态图、活动图、序列图、通信图、构件图、部署图等10种图。
分类:面向对象动态建模,用于建立行为的实体间行为交互的四种图:状态图(Stage Diagram),序列图(Sequence Diagram),协作图(Communication Diagram),活动图(Activity Diagram) 。
“序列图”与“协作图”表述的是相似的消息,“活动图”是“状态图”的一种。
•静态结构图Static Structure Diagram•类图Class Diagram•对象图Object Diagram•用况图Use Case Diagram•交互图Interaction Diagram•顺序图Sequence Diagram•协作图Collaboration Diagram•状态图State chart Diagrams•活动图Activity Diagrams•实现图Implementation Diagrams•构件图Component Diagram•部署图Deployment Diagram3 用况图(用例)用例图,展现了一组用例、参与者(actor)以及它们之间的关系。
UML设计的9种图例几种图的区别:一:这九种模型图各有侧重,1:用例图侧重描述用户需求,2:类图侧重描述系统具体实现;二:描述的方面都不相同,1:类图描述的是系统的结构,2:序列图描述的是系统的行为;三:抽象的层次也不同,1:构件图描述系统的模块结构,抽象层次较高,2:类图是描述具体模块的结构,抽象层次一般,3:对象图描述了具体的模块实现,抽象层次较低。
在有的文献书籍中,将这九种模型图分为三大类:结构分类、动态行为和模型管理:1:结构分类包括用例图、类图、对象图、构件图和部署图,2:动态行为包括状态图、活动图、顺序图和协作图,3:模型管理则包含类图。
画图说明UML(统一建模语言):是面向对象的可视化建模的一种语言。
是数据库设计过程中,在E-R 图(实体-联系图)的设计后的进一步建模。
UML中有3种构造块:事物、关系和图,事物是对模型中最具有代表性的成分的抽象;关系是把事物结合在一起;图聚集了相关的的事物。
具体关系图标如下:说明:构件事物是名词,是模型的静态部分。
行为事物是动态部分,表示行为。
分组事物是组织部分。
注释事物是解释部分。
依赖:一个事物变化会引起另一个事物变化。
聚集:特殊的关联,描述整体与部分的组合关系。
泛化:是一种特殊与一般的关系,如子元素(特殊)与父元素(一般),箭头指向父元素。
实现:类元之间的关系,其中一个类元指定了由另一个类元保证执行的契约。
一般用在接口和实现他们的类之间或用例和实现它们的协作之间。
UML提供9种视图:类图、对象图,用例图,序列图、协作图,状态图、活动图,构件图和部署图。
在UML系统开发中有三个主要的模型:功能模型: 从用户的角度展示系统的功能,包括用例图。
对象模型: 采用对象,属性,操作,关联等概念展示系统的结构和基础,包括类图。
动态模型: 展现系统的内部行为。
包括序列图,活动图,状态图。
下面具体说明:1.类图:描述一组对象、接口、协作等事物之间的关系。
如下图(摘自网络):注:#表示protected,+表示Public,-表示private2.对象图:描述一组对象之间的关系,是具有具体属性值和行为的一个具体事物,其是类图中所建事物实例的静态快照,其与类图的主要区别是一个是抽象的,而对象图是具体的。
构件图1.概述构件图(Component Diagram)是一种描述系统静态结构的图,它描述了构件的内部结构,以及构件与构件之间的关系。
一个典型的构件图如图1所示,它描述了一个包含Order,Customer,Product等其他构件的Store构件。
图1. 构件图2.基本表示符号构件图的基本元素有构件、接口、端口以及表示内部结构的部件和连接器等。
2.1 构件(Component)UML2.0规范把构件定义为:系统的一类模块,隐藏了细节,并且可以被其它实现了该功能的其它模块替换。
在UML中,构件用带有« component »关键字的矩形表示。
作为可选项,图标可以添加到该矩形的右上角。
构件的图形表示如图2所示:图2. 构件2.2 接口(Interface)接口是一种类元,它定义了一组操作,以及一些公共属性。
接口内部的所有操作都没有任何实现,它描述了一种契约,任何继承并实现该接口的类元都必须保证执行该契约。
接口有供给接口(Provided Interface)和需求接口(Required Interface)两种,如图3所示。
由构件(或类)实现的接口称为供给接口,构件(或类)需要的接口称为需求接口。
图3. 供给接口和需求接口不同构件的供给接口和需求接口之间的关系,既可以通过“依赖”来表示,如图4所示:图4. 接口之间的“依赖”也可通过“装配连接器”(见2.6部分)表示,如图5所示:图5. 接口之间通过“连接器”连接端口是构件与外部系统进行交互的纽带。
在UML中,端口符号表示为一个小长方形,端口的名字是可选的,如图6所示:.图6. 端口端口可以具有多重性,多重性显示在矩形内部,端口名称和类型名称之后。
多重性表示该类元实例可以具有的端口的数目。
端口的多重性如图7所示:图7. 端口的多重性2.4 构件内部结构(Internal Structure)构件可以具有内部结构,可以在构件内部展现其部件,或者通过依赖关系把部件从外部系统连接到该构件,如图8所示:图8. 构件的内部结构部件是类元的结构化成员,它描述了一个实例在该类元实例内部所扮演的角色。
UML构件图常用符号及含义图文详解UML组件图(又叫构件图),是用来描述在软件系统中遵从并实现一组接口的物力的、可替换的软件模块。
它所表现的是一种系统静态实现的结构,能够帮助开发人员对系统组成达成一致的认识。
组件图的构成:1、组件:是用来表示系统中可替换的物理部件,是定义良好接口的物理实现单元。
2、接口:组件的接口分为两种,即导入接口和导出接口。
其中导入接口供访问操作的组件使用,导出接口供提供操作的组件使用。
3、实现:组件与接口元之间的连线,代表谁实现了这个接口。
4、依赖:是表示组件使用了另一个组件的接口,依赖于另一个接口而存在。
组件的类型:1、配置组件:该组件是构成一个可执行系统必要和充分的构件。
例如操作系统、Java虚拟机或者数据库管理系统等。
2、工作产品组件:模是指包括模型、源代码和用于创建配置组件的数据库文件,是配置组件的来源。
比如说UML图、Java类、数据库表以及动态链接库等。
3、执行组件:该组件是运行时创建的组件,是最终可运行的系统产生的允许结果。
比如说Servlet、HTML和XML文档等等。
组件的要素:1、规格说明:一个组件所提供服务的抽象描述。
(每个组件都必须提供特定的服务)2、一个或多个实现:组件是一种物理概念,它必须被一个或多个实现所支持。
3、受约束的构造标准:每一个组件在实现时必须遵从某种构造标准。
4、封装方法:组件遵从的封装方法。
5、部署方法:组件要运行,必须先部署,一个组件可以有多个部署。
组件和类图之间的差别:1、组件表示物理上的模块;2、组件可以是一个或几个类在文件中的存在;3、类是逻辑上的抽象,组件是客观上存在的物理抽象。
其表现为组件是可以部署的,而类是不可以被部署的,因此组件可以存在于节点上而类不能;4、一般组件只有操作,外界只能通过接口接触它们,但是类可以直接有属性和操作。
5、类图侧重于系统的逻辑设计,而组件图侧重于系统的物理设计及实现。
什么是UMLUML(Unified Modeling Language)是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。
UML支持面向对象的技术,能够准确的方便地表达面向对像的概念,体现面向对象的分析和设计风格。
UML不仅可用于软件设计,也可以用于软件需求分析。
UML的模型主要有三部分构成事物(Things):UML模型中最基本的构成元素,是具有代表性的成分的抽象。
关系(Relationships):关系把事物紧密联系在一起。
图(Diagrams ):图是事物和关系的可视化表示。
UML图分为结构型和行为型两种结构型的图描述的是某种结构,这种结构在某段时间内应该是稳定的,静态的;而结构型的图描述的是某种行为,是动态的。
结构型的图(Structure Diagram)类图(Class Diagram)对象图(Object Diagram)构件图(Component Diagram)部署图(Deployment Diagram)包图(Package Diagram)行为型的图(Behavior Diagram)活动图(Activity Diagram)状态机图(State Machine Diagram)顺序图(Sequence Diagram)通信图(Communication Diagram)用例图(Use Case Diagram)时序图(Timing Diagram)类图描述一组对象、接口、协作等事物之间的关系。
类图描述系统中类的静态结构,不仅定义系统中的类,表示类之间的联系,如关联、依赖、聚合等,也包括类的属性和操作。
类图描述的是一种静态关系,在系统的整个生命周期都是有效的。
类图是业务概念模型分析的有利武器,也是面向对象分析能力的强有力训练工具。
对象图是类图的实例,几乎使用与类图完全相同的标识。
一个对象图是类图的一个实例。
由于对象存在生命周期,因此对象图只能在系统某一时间段存在。
三、UML的十种视图1.用例图(use case diagram)从系统的外部用户的观点看系统应具有的功能。
它只说明系统实现什么功能,而不必说明如何实现。
用例图主要用于对系统,子系统或类的行为进行建模。
2.类图(class diagram)描述系统的静态结构,类图的节点表示系统中的类及其属性和操作,边表示类之间的联系(包括继承(泛化)、关联、聚集)。
3.对象图(object diagram)类图的一种变形,所使用的符号与类图基本相同。
在对象名下面要加下划线。
(图略)4.包图(packet diagram)包是基于模型元素的含义或作用将模型元素分组的一种机制。
通过分组,可提高模型的维持性。
包之间的关系包括继承、构成与依赖。
5.顺序(时序)图(sequence diagram)交互图之一。
描述了在时间上对象交互的安排,展现了多个交互对象以及信息交流的序列。
时序图包含对象、对象的生命线、按顺序对象间的信息交流、控制焦点(可选的)。
6.合作(协作)图(collaboration diagram)交互图之二,强调发送和接收消息的对象间的结构组织,它与顺序图是等价的。
在图形上,协作图是顶点和弧的结合。
协作图包含对象、链、消息。
(图片来自《软件工程(第二版)》齐治昌、谭庆平、宁洪)7.状态图(statechart diagram)状态图描述类的对象的动态行为。
它包含对象所有可能的状态、活动图描述系统为完成某项功能而执行的操作序列,这些在每个状态下能够响应的事件以及事件发生时的状态迁移与响应动作。
操作序列可以并发和同步。
8.活动图(activity diagram)活动图中包含控制流和信息流。
控制流表示一个操作完成后对其后续操作的触发,信息流则刻画操作之间的信息交换。
提供了对工作流进行建模的途径,活动图中的活动,表示执行工作流中一组的动作。
一旦结束,控制流将自动转移到下一个活动,或通过转换进入下一个状态。
9.构件图(component diagram)提供当前模型的物理视图,对系统的静态实现视图进行建模。
UML组件图介绍目录1、UML组件图概述 (1)2、在哪里使用组件图? (1)3、UML组件图目的 (2)4、如何绘制组件图? (3)1、UML组件图概述UML组件图(Component Diagram)又称为构件图,他描述的是在软件系统中遵从并实现一组接口的物理的、可替换的软件模块。
组件图= 构件(Component)+接口(Interface)+关系(Relationship)+端口(Port)+连接器(Connector)UML组件图给提供了将要建立的系统的高层次的架构视图,这将帮助开发者开始建立实现的路标,并决定关于任务分配及(或)增进需求技能。
2、在哪里使用组件图?UML组件图经常是一个架构师在项目的初期就建立的非常重要的图,它是无价的,因为它们模型化和文档化了一个系统的架构。
UML组件图文档化了系统的架构,开发者和系统可能的系统管理员会发现这一工作的关键产品有助于他们理解系统。
我们已经说过组件图可用于可视化系统的静态实现视图,它是特殊类型的UML图,它描述了在一个系统中的组件组织。
组织机构可以进一步描述为在一个系统中的组件的位置。
这些组件是在一个特殊的组织方式,以满足系统要求。
正如我们已经讨论过这些组件库,文件,可执行文件等,现在组织实施这些组件的应用程序。
组件图的使用可以被描述为:2.1.组件建模的一个系统。
2.2.模型的数据库架构。
2.3.模型的应用程序的可执行文件。
2.4.模型系统的源代码。
3、UML组件图目的组件图是一种特殊的UML图。
与我们之前讨论的UML图标的目的都不同。
组件图不描述该系统的功能,但它描述了用于使这些功能的组件。
所以从这一点来说,组件图用于可视化在一个系统中的物理组件。
这些组件包括库,程序包,文件等。
组件图也被描述为一个静态的实施的系统视图,在一个特定的时刻,静态执行代表组织的组成部分。
一个单一的组件图不能代表整个系统,但图的集合可用来代表整个。
组件图的目的概括如下:3.1.可视化系统的组成部分。
UML各种图总结-精华UML(UnifiedModelingLanguage)是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。
下面将对UML的九种图+包图的基本概念进行介绍以及各个图的使用场景。
一、基本概念如下图所示,UML图分为用例视图、设计视图、进程视图、实现视图和拓扑视图,又可以静动分为静态视图和动态视图。
静态图分为:用例图,类图,对象图,包图,构件图,部署图。
动态图分为:状态图,活动图,协作图,序列图。
1、用例图(UseCaseDiagrams):用例图主要回答了两个问题:1、是谁用软件。
2、软件的功能。
从用户的角度描述了系统的功能,并指出各个功能的执行者,强调用户的使用者,系统为执行者完成哪些功能。
2、类图(ClassDiagrams):用户根据用例图抽象成类,描述类的内部结构和类与类之间的关系,是一种静态结构图。
在UML类图中,常见的有以下几种关系:泛化(Generalization),实现(Realization),关联(Association),聚合(Aggregation),组合(Composition),依赖(Dependency)。
各种关系的强弱顺序:泛化=实现>组合>聚合>关联>依赖2.1.泛化【泛化关系】:是一种继承关系,表示一般与特殊的关系,它指定了子类如何继承父类的所有特征和行为。
例如:老虎是动物的一种,即有老虎的特性也有动物的共性。
2.2.实现【实现关系】:是一种类与接口的关系,表示类是接口所有特征和行为的实现。
2.3.关联【关联关系】:是一种拥有的关系,它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子关联可以是双向的,也可以是单向的。
双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。
【代码体现】:成员变量2.4.聚合【聚合关系】:是整体与部分的关系,且部分可以离开整体而单独存在。
UML 2.0共有10种图,分别为表示系统静态结构的静态模型(包括类图、组合结构图、部署图),以及表示系统动态结构的动态模型(包括用例图、序列图、对象图、协作图、状态图、活动图、组件图),它们各用以表现不同的视图,如表1-1所示。
用例之间也可以存在包含、扩展和泛化等关系:
(1)包含关系:用例可以简单地包含其他用例具有的行为,并把它所包含的用例行为做为自身行为的一部分,这被称作包含关系。
(2)扩展关系:扩展关系是从扩展用例到基本用例的关系,它说明为扩展用例定义的行为如何插入到为基本用例定义的行为中。
它是以隐含形式插入的,也就是说,扩展用例并不在基本用例中显示。
在以下几种情况下,可使用扩展用例:
a.表明用例的某一部分是可选的系统行为(这样,您就可以将模型中的可选行为和必选行为分开);
b.表明只在特定条件(如例外条件)下才执行的分支流;
c.表明可能有一组行为段,其中的一个或多个段可以在基本用例中的扩展点处插入。
所插入的行为段和插入的顺序取决于在执行基本用例时与主角进行的交互。
(3)泛化关系:用例可以被特别列举为一个或多个子用例,这被称做用例泛化。
当父用例能够被使用时,任何子用例也可以被使用。
如在图2.4中,订票是电话订票和网上订票的抽象。