类图及绘制工具StarUML
Unified Modeling Language (UML)又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。面向对象的分析与设计(OOA&D,OOAD)方法的发展在80年代末至90年代中出现了一个高潮,而UML就是这个高潮的产物。OMG:对象管理组织(Object Management Group)
uml图用什么软件画UML由3个要素构成:UML的基本构造块、支配这些构造块如何放置在一起的规则和运用于整个语言的公用机制。UML有3种基本的构造块:事物、关系和图。
事物是对模型中最具有代表性的成分的抽象,包括结构事物,如:类(Class)、接口(Interface)、协作(Collaboration)、用例(UseCase)、主动类(ActiveClass)、组件(Component)和节点(Node);行为事物,如交互(Interaction)、态机(Statemachine)、分组事物(包,Package)、注释事物(注解,Note)。
关系用来把事物结合在一起,包括:依赖、关联、泛化和实现关系。UML中有九种建模的图标,即:
用例图、类图、对象图、顺序图、协作图、状态图、活动图、组件图、配置图用例图 Use case diagrams
描述了作为一个外部的观察者的视角对系统的印象。强调这个系统是什么而不是这个系统怎么工作。
用例图与情节紧紧相关的。情节scenario是指当某个人与系统进行互动时发生的情况。用例图在三个领域很有作用:
1.决定特征(需求)。当系统已经分析好并且设计成型时,新的用例产生新的需求;
2.客户通讯。使用用例图很容易表示开发者与客户之间的联系;
3.产生测试用例。一个用例的情节可能产生这些情节的一批测试用例。
类图 Class diagram
通过显示出系统的类以及这些类之间的关系来表示系统。类图是静态的———它们显示出什么可以产生影响但不会告诉你什么时候产生影响。UML类的符号是一个被划分成三块的方框:
类名,属性,和操作。抽象类的名字,是斜体的。类之间的关系是连接线。类图有三种关系:
1.关联association-表示两种类的实例间的关系。如果一个类的实例必须要用另一个类的实例才能完成工作时就要用关联。在图中,关联用两个类之间的连线表示;
2.聚合aggregation-当一个类属于一个容器是的一种特殊关系。聚合用一个带菱形的连线,菱形指向具有整体性质的类。在我们的图里,Order是OrderDetails的容器;
3.泛化generalization-一个指向以其他类作为超类的继承连线。泛化关系用一个三角形指向超类。Payment是Cash,Check和Credit的超类。
包和对象图
为了简单地表示出复杂的类图,可以把类组合成包packages。一个包是UML上有逻辑关系的元件的集合。
顺序图
为交互图,是动态的(它们描述了对象间的交互作用)。顺序图将交互关系表示为一个二维图。纵向是时间轴,时间沿竖线向下延伸。横向轴代表了在协作中各独立对象的类元角。类元角用生命线表示。当对象存在时,角用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线。消息用从一个对象的生命线到另一个对象生命线的箭头表示。箭头以时间顺序在图中从上到下排列。
协作图
协作图也是互动的图表。他们像序列图一样也传递相同的信息,但他们不关心什么时候消息被传递,只关心对象的角。在序列图中,对象的角放在上面而消息则是连接线。对象角矩形上标有类或对象名(或者都有)。类名前面有个冒号(:)。
协作图的每个消息都有一个序列号。顶层消息的数字是1。同一个等级的消息(也就是同一个调用中的消息)有同样的数字前缀,再根据他们出现的顺序增加一个后缀1,2等等。
状态图
对象拥有行为和状态。对象的状态是由对象当前的行动和条件决定的。状态图statechart dia
gram显示出了对象可能的状态以及由状态改变而导致的转移。
状态是用圆角矩形来表示的。转移则是使用带箭头的连线表示。触发转移的事件或者条件写在箭头的旁边。
初始状态(黑圆圈)是开始动作的虚拟开始。结束状态也是动作的虚拟结束。
事件或条件触发动作时用(/动作)表示。动作的结果决定了下一步的状态。
活动图 activity diagram
活动图是一个很特别的流程图。活动图和状态图之间是有关系的。状态图把焦点集中在过程中的对象身上,而活动图则集中在一个单独过程动作流程。活动图告诉了我们活动之间的依赖关系。
转移可能分支branch成两个以上的互斥的转移。保护表达式(在[ ]中)表示转移是从一个分支中引出的。分支以及分支结束时的合并merge在图中用菱形表示。
转移也可以分解fork成两个以上的并行活动。分解以及分解结束时的线程结合join在图中用粗
黑线表示。
组件图
组件 component 是代码模块。组件图是是类图的物理实现。
配置图 Deployment diagrams
显示软件及硬件的配置。
物理上的硬件使用节点nodes表示。每个组件属于一个节点。组件用左上角带有两个小矩形的矩形表示。
详细内容参考
这里就主要讲解一下类图的要点:UML类图常见的几种关系:泛化(Generalization)
是一种继承关系,表示一般与特殊的关系,它指定了子类如何特化父类的所有特征和行为。
例如:人是动物的一种,即有人的特性也有动物的共性。
箭头指向:带三角箭头的实线,箭头指向父类泛化
实现(Realization)
是一种类与接口的关系,表示类是接口所有特征和行为的实现.
箭头指向:带三角箭头的虚线,箭头指向接口实现
关联(Association)
是一种拥有的关系,它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子关联可以是双向的,也可以是单向的。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论