第3章UML语言纵览UML的构成视图图模型元素通用机制UML的版本比较UML的扩展组件4.1UML的构成1.视图:系统某一方面特性的描述。包括:用例视图、逻辑视图、并发视图、组件视图和配置视图2.图:UML模型的图形化呈现UML通常提供9种基本的图,包括用例图、类图等3.模型元素:UML的基本构造块,包括:事物和事物之间的联系4.通用机制:为模型元素提供额外的注释、信息和语义,可进行扩展UML视图通用机制模型元素用例视图逻辑视图并发视图组件视图配置视图修饰注释规格说明通用划分扩展机制事物关系用例图类图对象图时序图协作图状态图活动图组件图配置图关联关系依赖关系泛化关系实现关系聚合关系结构事物动作事物分组事物注释事物注释包状态机交互节点组件活动类用例协作接口类第4章UML语言纵览4.1UML的构成4.2视图4.3图4.4UML1.4与UML2.0的比较4.5模型元素4.6通用机制4.7UML的扩展组件4.8UML建模的简单流程系统的描述一个系统通常从多个不同的方面进行描述:1.系统的使用实例从系统外部参与者的角度描述系统的功能2.系统的逻辑结构从系统内部描述如何设计实现系统功能3.系统的构成关注系统的实际结构,描述系统由哪些构件组成4.系统的并发特性关注系统的并发性,描述系统的动态行为5.系统的配置关注系统的物理结构,描述系统到硬件设备的部署视图视图:系统某一方面特性的描述视图的分类:用例视图----系统的使用实例方面逻辑视图----系统的逻辑结构方面组件视图----系统的构成方面并发视图----系统的并发特性方面配置视图----系统的配置方面构成系统模型的5种视图间的关系4.2.1用例视图用途:描述系统应该具备的功能,列出系统中所有的用例和参与者,显示哪个参与者参与了哪个用例的执行。组成:用例:系统中的一个功能单元,可描述为参与者与系统之间的一次交互。参与者:与系统有交互的一个用户或另一个系统使用者:客户、设计人员、测试人员用例视图是几个视图的核心,它的内容直接驱动其他视图的开发。4.2.2逻辑视图用途:描述如何实现用例视图中提出的系统功能组成:系统的静态结构:在类图和对象图中描述系统的动态协作关系:在状态图、时序图、协作图以及活动图中描述使用者:主要是设计人员和开发人员4.2.3并发视图用途:考虑资源的有效利用、代码的并行执行以及系统环境中异步事件的处理。组成:状态图、协作图和活动图使用者:主要是开发人员和系统集成人员4.2.4组件视图用途:描述系统的实现模块以及它们之间的依赖关系组成:组件图使用者:主要是开发人员4.2.5配置视图用途:显示系统的物理部署,并描述位于节点上的运行组件实例的部署情况组成:配置图使用者:开发人员、系统集成人员和测试人员第4章UML语言纵览4.1UML的构成4.2视图4.3图4.4UML1.4与UML2.0的比较4.5模型元素4.6通用机制4.7UML的扩展组件4.8UML建模的简单流程4.3图1用例图(UseCaseDiagram),主要组成:用例、参与者、用例之间的关系ReturnwithfineSearchforbookReservethebookLoginthesystemQueryinfoBorrowthebookReturnthebookBorrowerextendincludeinclude4.3图2类图(ClassDiagram),主要组成:类、类之间的关系3对象图(ObjectDiagram),主要组成:与类图的不同在于,用带下划线的对象名称表示对象4.3图4状态图(StateDiagram),主要组成:对象的状态、连接各个状态的转换及触发事件4.3图5活动图(ActivityDiagram),主要组成:动作/活动状态、动作流、分支与合并、分叉与汇合、泳道、对象流及触发事件4.3图6时序图(SequenceDiagram),主要组成:对象、生命线、消息、激活7协作图(CollaborationDiagram),主要组成:对象、链、消息:Item:Administrator:MaintenanceWindow:Title1:additem()4:create(Integer,Title)Checkifcorrespondingtitleexist2:find(String)3:returntrue:Administrator:MaintenanceWindow:Title:Item1:removeitem()2:find(String)3:update()4.3图8组件图(ComponentDiagram),主要组成:组件、组件间的关系9配置图(DeploymentDiagram),主要组成:节点(处理器或设备)、关联关系DatabaseApplicationServerBusinessOperationInformationMaintenanceWebApplication第4章UML语言纵览4.1UML的构成4.2视图4.3图4.4UML1.4与UML2.0的比较4.5模型元素4.6通用机制4.7UML的扩展组件4.8UML建模的简单流程4.4UML1.4与2.0的比较UML2.0对UML1.4进行了如下扩充:协作图更为受限的通信图状态图更名为状态机图,并新增抽象级别更高的协议状态图活动图独立于状态图,建立了自己的元模型增加了交互图组图,包括:时序图、通信图、交互综述图、定时图,增加了包图、组成结构图用例图、类图、对象图、组件图、配置图保持不变第4章UML语言纵览4.1UML的构成4.2视图4.3图4.4UML1.4与UML2.0的比较4.5模型元素4.6通用机制4.7UML的扩展组件4.8UML建模的简单流程4.5模型元素UML模型元素包括:事物(Thing)事物之间的关系(Relationships)4.5模型元素事物:任何可以定义的物理上或概念上的元素1.结构事物(StructuralThings)UML中的名词,是模型的基本元素2.动作事物(BehavioralThings)UML中的动词,是模型中的动态部分3.分组事物(GroupingThings)UML中的容器,用来组织模型,使其更加结构化4.注释事物(AnnotationalThings)UML中的解释部分,用来说明、描述模型元素4.5模型元素事物之间的关系:将事物联系在一起的方式关联关系(Association)元素之间存在联系的关系依赖关系(Dependencies)一个元素对另一个元素有影响的关系泛化关系(Generalization)更概括的描述和更具体的种类间的关系,适用于继承实现关系(Realization)说明和实现间的关系聚合关系(Aggregation)部分与整体的关系,是关联关系的一种特例事物类型1----结构事物结构事物用来描述概念上或实体上的元素,是模型的静态部分,共有以下7种:(1)类(Class)(2)接口(Interface)(3)协作(Collaboration)(4)用例(UseCase)(5)活动类(ActiveClass)(6)组件(Component)(7)节点(Node)事物类型1----结构事物(1)类是对具有相同属性、方法、关系和语义的对象的抽象。表示:包含类名、属性和方法的矩形。事物类型1----结构事物(2)接口是为类或组件提供特定服务的一组操作的集合,描述了它们对外可见的动作。一个接口可以实现类或组件的全部动作,或只实现其中的一部分。表示:默认为标注了接口名称的圆。IconNoneLabelDecoration事物类型1----结构事物(3)协作定义了交互操作,即一组共同工作的角色、元素的合作行为。表示:标注了协作名称的虚线椭圆。事物类型1----结构事物(4)用例描述系统对一个特定角色执行的一系列动作,即,一个角色的需求。如,学生借阅图书通常用来组织动作事物表示:标注了用例名称的实线椭圆事物类型1----结构事物(5)活动类或主动类(ActiveClass)类对象有一个或多个进程或线程,能够启动控制活动的类表示:与类相似,只是矩形边框用粗线条表示事物类型1----结构事物(6)组件实现了一个接口集合的可替换的物理模块表示:带两个小矩形的矩形,并标注组件名称事物类型1----结构事物(7)节点(Node)在运行时存在的一个物理元素,代表一个可计算的资源,通常具备处理能力。表示:标注了节点名称的立方体。事物类型2----动作事物UML模型中的动态部分,表示模型里随着时空不断变化的部分,包括:交互(Interaction)状态机(StateMachine)事物类型2----动作事物(1)交互特定上下文中,一组对象为完成一定任务而进行交换的一系列消息集合。组成:消息、动作序列(消息产生的动作)和链(对象之间的连接)。表示:带箭头的直线,直线上标注操作名称。消息事物类型2----动作事物(2)状态机由一系列对象的状态以及状态之间的转换组成。组成:状态、状态转换、事件(触发状态转换)和活动。状态表示:标注状态名称的圆角矩形。BookAvailableBookBorrowedReserveBookBorrowedBorrow事物类型3----分组事物UML模型中的组织部分,只有一种:包(Package)一种将有组织的元素分组的机制。结构事物、动作事物甚至其他的分组事物都可放在一个包中。包是概念上,只存在于开发阶段,组件在运行时存在表示:左上角带有小矩形的矩形,并标注包名事物类型4----注释事物UML模型的解释部分,只有一种:注释(Note)说明性文本,可关联到特定模型元素上,或对一组模型元素进行说明表示:右上角带折角的矩形事物之间的关系事物之间的关系是将事物联系在一起的方式,UML中常用的关系包括:(1)关联关系(Association)(2)依赖关系(Dependencies)(3)泛化关系(Generalization)(4)实现关系(Realization)(5)聚合关系(Aggregation)事物之间的关系(1)关联关系(Association)描述元素之间的连接或元素实例之间的链(link)表示:连接两个模型元素的实线,可在线上标注关联名称,在线的两端分别标注双方的角色和多重性标记BookReservationReservationrole1role21..*0..*事物之间的关系(2)依赖关系(Dependency)描述两个模型元素间的语义关系,表明被依赖元素的变化会要求或意味着依赖元素的语义也会发生变化。不涉及元素实例。是比较宽泛的定义,通常用来描述那些不适合具有更清晰语义的关系类别的依赖关系。表示:带箭头的虚线,箭头指向被依赖模型元素。事物之间的关系(3)泛化关系(Generalization)是一种特殊/一般关系,也称为继承关系。特殊元素(子元素)的建立基于一般元素(父元素)并进行了扩展。子元素共享(继承)了父元素的结构和行为。表示:带空心三角箭头的实线,箭头指向表示一般性的模型元素。事物之间的关系(4)实现关系(Realization)描述一个元素实现了另一个元素。被实现元素指定了必须被实现的行为规范。通常用于:接口和实现它们的类或组件之间;或用例和实现它们的协作之间。表示:带空心三角箭头的虚线,指向被实现的元素,即代表更一般性的元素。‹‹››事物之间的关系(5)聚合、组成关系(Aggregation)聚合(Aggregation)是一种描述部分/整体关系的特殊类型的关联。合成(Composition)是更强的聚合,合成事物全权负责其部分的管理。表示:聚合关系用一端带空心小菱形的实线表示,小菱形端连接表示整体的模型元素。合成关系换成实心菱形。计算机主机显示器咖啡桌桌面