《uml大作业资料.docx》由会员分享,可在线阅读,更多相关《uml大作业资料.docx(13页珍藏版)》请在优知文库上搜索。
1、uml大作业什么是活动图活动图是一种用于描述系统行为的模型视图,它可以用来描述系统的工作流程和并发行为,用于展现参与系统某一行为的类进行的各种活动的顺序关系。活动图类似于流程图,可以描述过程逻辑、业务流程和工作流,但活动图支持并发行为。下图是一个活动图的例子,它对教师的授课过程进行了描述。从这个活动图中,我们可以知道一个教师授课的过程包括的主要活动有:起立、复习和提问、讲授新课、播放PPT.书写板书、注意学生行为、与学生互动、总结本次课内容及布置练习和作业等。同时,通过活动图可以看到各个活动之间的衔接关系内容。活动图的组成元素活动图的主要元素包括动作状态、活动状态、组合活动、分叉与汇合、分支与
2、合并、泳道、对象流等。动作状态动作状态(AetiOnState)是构造活动图的最小单位,它用于表示原子动作或操作的执行状态。动作的原子性决定了动作状态不能被分解为更小的部分,且动作一旦开始就不能被中断,直到执行完毕;动作状态的执行具有瞬时性,即执行时间极短,甚至可以忽略其执行的时间。动作状态没有内部转换或内部活动,不能由事件触发,但可以有转入,转入可以是对象流或动作流。动作状态包含至少一个转出。动作状态与状态图中的状态不同,它不能有入口动作和出口动作。在UML中,动作状态使用下面的图形来表示:,初始化变量活动状态活动状态是非原子性的,可以分解成其它子活动或动作状态,也可以被中断,占有有限的时间
3、。活动状态可以理解为软件中的一个子过程,而动作状态则可以理解为基本的处理语句。如果活动状态只包括一个动作,则该活动状态就是动作状态。因此,可以认为动作状态是活动状态的一种特殊情形。在UML中,活动状态所使用的的图形与动作状态相同,只不过活动状态可以有入口动作、出口动作和状态动作等。下面是活动状态的一个例子。/entry/打开借书界面d。/获取读者身份d。/获取读者已借阅信息/d。/扫描待借书籍/exit/保存褚阅信息,组合活动这组合活动是一种内嵌活动图的活动状态。把不包含内嵌活动或动作的活动称为简单活动。而把内嵌了其他活动或动作的活动称为组合活动。组合活动不具有原子性,可以被中断。在实际中,组
4、合活动过于复杂会增加理解上的困难,因此,可以把组合活动中的子活动单独绘制为一个图。下面是组合活动的一个例子。还书分叉与汇合在一些系统中,可能存在着在同一时刻,有两个或两个以上的并发控制流的情况。在UML中可以使用同步条来说明这些控制流的分叉(fork)和汇合(joint)情况。一个分叉是把一个控制流分解成两个或多个并发的控制流。汇合表示两个或多个并发控制流在此取得同步。在UML中,使用同步条来表示分叉和汇合。同步条是一条水平或垂直的粗线。下图是一个分叉和汇合的例子。上图中,在“开始上课”活动之后,使用了分叉,该分叉有一个进入转移,有多个转出转移,“播放PPT”、“/写板Iy和“观察学生反映”是
5、在授课过程存在同时进行的情况,属于并发的活动。这些活动结束后,有一个汇合,这个汇合有多个进入转移和一个转出转移。分叉的转出转移数量应与汇合处的转入转移数量相同。分支与合并分支(Branch)在程序设计中是一种非常常见的结构,它根据不同的条件进入到不同的路径中执行。在活动图中也有类似的处理。活动图中也使用一个菱形图标来表示一个判定。一般一个判定有一个进入路径,两个或两个以上的转出路径。每个转出路径上都有一个监护条件,当监护条件为真时,进入该路径。转出路径上的监护条件应该是相斥的,不能重叠,且无遗漏的条件。如和“x7”这两个条件就存在着重叠情况,若满足两个路径上的监护条件时,要进入到哪个转出路径呢
6、?又如“x0”和xActivityDiagramv(活动图)。如下图所示的操作。图书管理系统-SeIf国Use Case Vi ews OLogi cal ComPone Deploym 位 Model POpen Specification.NewDeleteRenameUnitsQuaIityArchitectClassClass Utility Use Case Interface Package Class Diagram Use Case Diagram Collaboration Diagram Sequence Diagram Statechart Diagram Activit
7、y DiagramURL重命名活动图用户可以在创建活动图的时候,直接给活动图命名,也可以通过如下方式给活动图重新命名。(1)在重新命名的活动图上右击,然后选择“Rename”;(2)选中要重新命名的活动图,然后再点击一下,这时可以给其输入一个新的名称。活动图中工具箱创建完活动图后,双击打开创建的活动图,则在对象浏览器和绘图区中间部分显示创建活动图用到的基本绘图工具。用户可以在工具箱上右击,然后选择“Customize.”来定制工具箱,如把对象、依赖箭头等添加到工具箱中来。Rose中提供的活动图工具箱全部内容如下:k AK OO .对象选择工具文本工具注骅工具注样与注料目标连接线添加状态添加活动
8、或动作初始状态终止状态活动或动作的转换活动或动作的自转换水平同步条垂直同步条判定-用于分支与合并泳道添加一个对象添加动作/活动状态添加一个对象流在活动图工具箱中选择“Activity”(添加活动)工具,在绘图区中点击一下,即完成图形的创建,然后可以通过下面的某一种方式对该动作状态进行相关属性的设置。(1)双击创建的动作状态;(2)右击创建的动作,然后选择“OpenSpecification.,0上面两种操作方式都可以打开如下图所示的对话框:在上面的对话框的“Name”(名称)中输入动作/活动状态的名称,也可以在“Documentation”中输入对该状态的描述内容。如果创建的是动作状态,这些信
9、息足够了。如果创建的是活动状态,也可以在ACtiOnS选项卡中设置对应的事件动作,这里与状态图中状态的ACtiOnS设置相同,在这里不再赘述。在“Transitions”选项卡中可以查看与该状态有关的控制流转换。在“Swimlanes”选项卡中可以查看该状态所处的泳道。添加转换在工具箱中选择StateTransition,(活动/动作转换)工具,然后在源状态上按下鼠标左键,在不松开鼠标的情况下移到目的状态上,并松开鼠标,这时就创建了一个状态之间的转换。如果创建的是一个自转换,就在工具箱中选择“Transitiontoself,(自转换)工具,并在发生自转换的状态上点击一下,则完成了创建。添加泳道在工具箱中选择“Swimlane”(泳道)并在绘图区点击一下,即完成了泳道的创建。在创建时,可以直接对泳道进行命名,也可以通过双击泳道名称的位置,在弹出的对话框中的“Name”处输入泳道的名称。创建的泳道如下图所示。每次创建泳道时,默认从左到右依次排列,如果想移动泳道的位置,可以通过下面的方式进行操作:在要移动的泳道的头部按下鼠标左键,然后移动泳道到指定的位置松开鼠标即完