读书人

活动图的功用(Activity Diagram)的作

发布时间: 2012-07-15 20:20:06 作者: rapoo

活动图的作用(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的。

读书人网 >软件开发

热点推荐