活动图的作用(Activity Diagram)的作用到底是什么?

今天我画活动图,有一种越画越糊涂的感觉,甚至开始问自己画活动图的作用,活动图中究竟怎样来划分手工需做的事和信息系统应该完成的功能? 问题点数:50、回复次数:13

 

活动图是基于对象的状态变迁所绘制的视图。它的主线是状态的变化,而不是时间,而时序图则是对象在不同时间段内的表现。


你画活动图前,一定要有use   case   diagram,   针对use   case   diagram中的每一个use   case,有一个对应的activity   diagram(当然有的use   case可以继续  
  细分为sub   use   case),   activity   diagram是用来表示一个use   case的事件流的,对于你说的怎样来划分分手工需做的和信息系统应该完成的功能说明你对use   case   diagram和activity   diagram的区别还没有弄清楚?对于use   case   diagram中的每一个use   case,都应该有相应的use   case   description,也就是要对每一个use   case进行文档化(documenting),产生的use   case   description可能象下面这样(引用别人的例子,由于篇幅不能详细写出)  
  -------------------------------------------------------------------  
  use   case                                   order   configured   computer  
  -------------------------------------------------------------------  
  brief   decription                   this   use   case   allows   a   customer   to    
                                                    enter   a   purchase   order....  
                                                    .....  
  -------------------------------------------------------------------Actors                                       Customer  
  -------------------------------------------------------------------  
  Preconditions                         Customer   points   an   internet   browser    
                                                    to   the   computer   manufacturer's   order    
                                                    entry   web   page.   The   page   displays   the  
                                                    details   of   a   configured   computer   to  
                                                    -gether   with   its   price.  
  -------------------------------------------------------------------  
  Main   flow                                   The   use   case   begins   when   the   Cust  
                                                      -omer   decides   to   order   the    
                                                      configured   computer   by   choosing    
                                                      the   Continue(or   similarynamed)                        
                                                      function   when   the   order   details  
                                                      are   displayed   on   the   screen.  
                                                      .............................  
                                                      .............................  
                                                      .............................      
  -------------------------------------------------------------------  
  Alternative   flows                 The   Customer   activates   the   Purchase   func-  
                                                    tion   before   providing   all   mandatory  
                                                    information.The   system   displays   anerror  
                                                    message   and   it   requests   that   themissing        
                                                    information   be   supplied.  
                                                    The   Customer   chooses   the   Reset   function  
                                                    to   revert   to   an   empty   purchase   form.The  
                                                    system   allows   the   Customer   to   enter   the    
                                                    information   again.  
  -------------------------------------------------------------------  
  Postconditions                     if   the   use   case   was   successful,   the    
                                                    purchase   order   is   recorded   in   the   system  
                                                  database.   Otherwise,   the   system's   state   is  
                                                    unchanged.  
  ------------------------------------------------------------------  
  use   case   description   和activity模型的重要区别是:   use   case   description   是以系统外部(我们要实现的系统)的角色(actor)的视角写的(从上面的叙述性文字可以看出),反映的是actor的活动过程.而   Activity   model是从系统内部视角来看的,反映的是系统功能所要完成的动作过程.所以在activity   diagram中activities   应该是从系统内部的视角来说的


我认为活动图主要表现了事件流程的流转,重在表现过程


谢谢大家的指点:  
  我对活动图基本的看法是:用来描述一个用例的业务流程;今天我请教了我的师兄  
  (由于一师所教,基本看法是相同的),他说:系统不可能完成所有的事情,必然有一部分功能是由人来完成的(比如做一次营销调研,可能只是将调研结果记录在 系统中,具体收集数据还是要人来完成)所以活动图,从手工的角度描述了一个业务的流程,其中有些是手工作业,有些是系统的功能,活动图描述出了整个流程,  
  (当然这是比较粗的活动图),更便于分清人机责任。


我觉得可以与以前的流程图类比,可以表示顺序、判断、循环等。  
  sequence   view一般描述一个use   case的过程  
  activity   view一般描述一个总体业务过程


我是来受教的,可惜说得最详细的老兄发的多是英文,看不懂内容。  
  多谢楼上诸位。


活动图的技术思想主要来源于Jim   Odell的事件图、SDL状态建模技术和Petri网技术。这些技术主要用于描述工作流和并行过程的行为。  
   
  活动这个术语的解释依赖于作图的目的和抽象层次。在描述概念层视图中,活动表示需要完成的一些任务;在说明层视图和实现层视图中,活动表示类中的方法。一 个活动可以顺序地跟在另一个活动后执行,这是简单地顺序关系。如果触发事件连接到一个用加黑地粗线段表示地同步条上,且同步条引出几个带箭头地触发事件, 那么这几个触发事件是并行的,也就是说这几个活动的执行次序可以是随意的。  
   
  活动图描述了需要做的活动以及执行这些活动的顺序。在用活动表示并发过程时,活动图给予我们选择做事顺序的自由。这是活动图与程序流程图的根本区别。在模 型中保留这种并行行为的描述,对于在实现阶段充分发现那些可以并行的工作非常有利,这样可以大大提高业务过程中的办事效率和反应的灵敏程度。  
   
  活动图通常用于以下三种情况:分析用例;理解牵涉多个用例的工作流;处理多线程应用。


yihua_cai(灵犀指)的发言好像来自我看过的北航的一本书  
  希望大家给一些切身的体会


studing...


活动图是一个承上启下的图  
   
  上对用例  
   
  下对类的内部设计  
   
  活动图的描述基于用例  
   
  而其中描述每一个箭头的两端,就对应了要设计类的某些方法或事件  
   
  为了满足这个活动图,类的一些基本必要方法就可以初步确定  
   
  再加上逻辑视图中,类关系的分析  
   
  可以套用一些设计模式,又可以进一步再确定一些类的方法和属性  
   
   
  这一切的图,就是为了让你从需求情景描述-设计用例-逻辑视图-详细类分析  
   
  抽象出你的类设计  
   
   
  总之,让面向对象的设计过程,思路连续,可推导。  
   
  这是我的理解,我在实际中,感觉就是这样的  

我的经验是:  
  用例分析完毕以后,总是要用活动图首先表示一下用户的操作流程,好像画er图一样,然后参考活动图,抽取一些典型的场景,把它表现成序列图,以作为设计的 依据。  
  另外,活动图中的每一个活动,都会在设计阶段变成某一个类的方法,对照你的活动列表,也是验证设计是否完整的一种手段,这就是为什么在rose里面,活动 同活动图列在一起,而不是好相关联一样列在列在每一个活动图下面.


不一定是先有use   case   再有活动图。一般获取需求时,都是先有activity   diagram才有use   case的。

你可能感兴趣的:(UML)