【UML】UML常见的⼏种视图
如果说UML是⼀种语⾔,那么UML的基本词汇包括参与者、⽤例、边界、类、包、组件、节点等,⽽UML视图便是其语法,将基本元素组织起来,形成有意义的句⼦。如果说UML是⼀种语⾔,那么其最⼤的特征就是可视化,⼀种可视化语⾔,⼏种不同的视图从不同的⾓度展⽰了软件产品的⽅⽅⾯⾯的特征。UML视图分为两类,静态视图和动态视图,静态视图包括⽤例图、类图和包图,描述结构型特征,决定了能做什么,动态视图包括活动图、状态图、时序图和协作图,不能够独⽴存在,必须特制⼀个静态视图或UML元素,描述了⾏为型特征,决定了怎么做,下⾯从静态视图的⽤例图开始说起。
1、⽤例图
⽤例图采⽤参与者和⽤例作为基本元素,以不同的视⾓展现系统的功能性需求。⽤例图是了解系统的第⼀个关⼝,⼈们通过⽤例图得知⼀个系统将会做什么。对客户来说,⽤例图是它们业务领域的逻辑化表达,对建设单位来说,⽤例图是系统蓝图和开发的依据。业务⽤例图是⼀种⽤例图,使⽤业务主⾓和业务⽤例展现业务建模的结果,展现了业务系统的功能性需求,如果要描述这些需求的实现途径,则需要借助于业务⽤例实现图,后者体现了软件⼯程中需求可追溯的原则。通常来说,即使只有⼀种实现途径,绘制业务⽤例实现图也是⼀种好的建模⽅法,当有多个实现途径时,如果我们⽤业务对象和业务过程进⾏分析,就会发现其中有复⽤的对象和重叠的过程,这时可以⽤概念实例图,以业务实例为基本单
元,⽤于展现业务⽤例分解⽽来的⼏个概念⽤例,它们的关系可能是扩展、包含或精化。概念⽤例图虽不是必须的,但对于⼀个复杂的业务⽤例来说,有助于我们的理解。与业务⽤例图对应的还有个系统⽤例图,前者是从⽤户的⾓度出发的,后者则是从计算机系统的⾓度考虑的,同理还有个系统⽤例是下图。
2、类图
类图⽤于展⽰系统中的类及其相互之间的关系,本质上说,类图是现实世界问题领域的抽象对象的结构化、概念化、逻辑化描述,包括三个层次,从概念层到说明层,再到实现层,随着抽象层次逐步降低⽽逐步细化。在概念层上,类图着重于对问题领域的概念化理解,⽽不是实现,因此类名称都是问题领域实际事物的名称,独⽴于实现语⾔和实现⽅式。说明层类图表达的类和类关系应当是对问题领域在接⼝层次抽象的描述,通常都⾮常粗略,虽然表达了计算机的观点,但是在描述上却采⽤了近似现实世界的语⾔,以保证从现实世界到代码实现的过渡。实现层类图中的类直接映射到可执⾏代码,明确采⽤哪种实现语⾔、什么设计模式、什么通信标准、遵循什么规范等。
3、包图
包图⼀般⽤来展⽰⾼层次的观点,范围较⼴,或者可以理解为是⼀种容器,包装其它范围较⼩的元素。
4、活动图
活动图描述了为了完成某⼀个⽬标需要做的活动以及这些活动的执⾏顺序,实际上描述的是业务流程,是⼀种过程化的分析⽅法,UML中由两个层⾯的活动图,⼀种⽤于描述⽤例场景,另⼀种⽤于描述对象交互。活动⽤例图是最经常使⽤的,⽤例表达了参与者的⼀个⽬标,⽤例场景则描述了如何来达到这个⽬标,活动图⽤来描述⽤例场景,也就是通常所说的业务流程。对象活动图⽤于展⽰对象的交互。活动图描述了业务流程中活动的执⾏顺序,却没有描述出谁来执⾏这些活动,即执⾏业务流程的职责被遗漏了,在⾯向过程的分析观点⾥,对象职责是不重要的,重要的是业务的执⾏过程,⽽在⾯向对象的分析⾥则与之相反,业务的执⾏过程不是重要的,对象职责才是最重要的,于是引⼊了泳道技术,就像⼀个游泳运动员只能在⼀个泳道⾥进⾏⽐赛⼀样,⼀个对象也只能在⼀个业务流程中担任⼀个或⼀类职责,多多少少解决了活动图不能描述对象职责的遗憾。
5、状态图
状态图显⽰⼀个状态机,状态机⽤于对模型元素的动态⾏为进⾏建模,更具体地说,就是对系统⾏为中受时间驱动的⽅⾯进⾏建模。通常使⽤状态图来说明业务⾓⾊或业务实体可能的状态,即导致状态转换的事件和状态转换引起的操作。状态图常常会简化对类的设计的确认。对于类的对象所有可能的状态,状态图都显⽰它可能接受的消息、将执⾏的操作和在此之后类的对象所处的状态。需要注意的是,状态图通常只⽤于描述单个对象的⾏为,如果要描述对象间的交互,最好采⽤时序图或协作图。
视图包括哪几个视图
6、时序图
时序图⽤于描述按时间顺序排列的对象之间的交互模式,按照参与交互的对象所具有的⽣命线和它们相互发送的消息来显⽰这些对象。通常我们使⽤时序图来描述⽤例实现,通过贡献该⽤例实现的对象之间的交互来说明⽤例是如何被对象实现的。使⽤时序图来描述⽤例实现是⼀种从现实世界到对象世界的映射⽅法,它对我们确定对象职责和接⼝有着显著的作⽤,⽽对象的核⼼就是职责和接⼝。时序图和协作图是可以相互转换的,与协作图不同的是,时序图强调消息事件的发⽣顺序,更⽅便于阐述事件流的过程,但是时序图却难以表达对象之间关系。
7、协作图
协作图描述了对象之间交互的⼀种模式,通过对象之间的连接和它们相互发送的消息来显⽰参与交互的对象,与时序图不的是,协作图因为展⽰了对象间的关系,使得它更容易获得对对象结构的理解,⽽时序图更适⽤于获得对于调⽤过程的理解。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。