请大家各抒己见,活动图的作用(Activity Diagram)的作用到底是什么?

huge_spine 2002-04-29 10:55:11
今天我画活动图,有一种越画越糊涂的感觉,甚至开始问自己画活动图的作用,活动图中究竟怎样来划分手工需做的事和信息系统应该完成的功能?
...全文
940 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
mobbs 2002-05-13
  • 打赏
  • 举报
回复
不一定是先有use case 再有活动图。一般获取需求时,都是先有activity diagram才有use case的。
商海连横 2002-05-02
  • 打赏
  • 举报
回复
学习
walaqi 2002-05-02
  • 打赏
  • 举报
回复
我的经验是:
用例分析完毕以后,总是要用活动图首先表示一下用户的操作流程,好像画er图一样,然后参考活动图,抽取一些典型的场景,把它表现成序列图,以作为设计的依据。
另外,活动图中的每一个活动,都会在设计阶段变成某一个类的方法,对照你的活动列表,也是验证设计是否完整的一种手段,这就是为什么在rose里面,活动同活动图列在一起,而不是好相关联一样列在列在每一个活动图下面.
huge_spine 2002-04-30
  • 打赏
  • 举报
回复
yihua_cai(灵犀指)的发言好像来自我看过的北航的一本书
希望大家给一些切身的体会
faust 2002-04-30
  • 打赏
  • 举报
回复
活动图是一个承上启下的图

上对用例

下对类的内部设计

活动图的描述基于用例

而其中描述每一个箭头的两端,就对应了要设计类的某些方法或事件

为了满足这个活动图,类的一些基本必要方法就可以初步确定

再加上逻辑视图中,类关系的分析

可以套用一些设计模式,又可以进一步再确定一些类的方法和属性


这一切的图,就是为了让你从需求情景描述-设计用例-逻辑视图-详细类分析

抽象出你的类设计


总之,让面向对象的设计过程,思路连续,可推导。

这是我的理解,我在实际中,感觉就是这样的


LikePig 2002-04-30
  • 打赏
  • 举报
回复
studing...
yihua_cai 2002-04-29
  • 打赏
  • 举报
回复
活动图的技术思想主要来源于Jim Odell的事件图、SDL状态建模技术和Petri网技术。这些技术主要用于描述工作流和并行过程的行为。

活动这个术语的解释依赖于作图的目的和抽象层次。在描述概念层视图中,活动表示需要完成的一些任务;在说明层视图和实现层视图中,活动表示类中的方法。一个活动可以顺序地跟在另一个活动后执行,这是简单地顺序关系。如果触发事件连接到一个用加黑地粗线段表示地同步条上,且同步条引出几个带箭头地触发事件,那么这几个触发事件是并行的,也就是说这几个活动的执行次序可以是随意的。

活动图描述了需要做的活动以及执行这些活动的顺序。在用活动表示并发过程时,活动图给予我们选择做事顺序的自由。这是活动图与程序流程图的根本区别。在模型中保留这种并行行为的描述,对于在实现阶段充分发现那些可以并行的工作非常有利,这样可以大大提高业务过程中的办事效率和反应的灵敏程度。

活动图通常用于以下三种情况:分析用例;理解牵涉多个用例的工作流;处理多线程应用。
ssxc 2002-04-29
  • 打赏
  • 举报
回复
我是来受教的,可惜说得最详细的老兄发的多是英文,看不懂内容。
多谢楼上诸位。
tile_kite 2002-04-29
  • 打赏
  • 举报
回复
我觉得可以与以前的流程图类比,可以表示顺序、判断、循环等。
sequence view一般描述一个use case的过程
activity view一般描述一个总体业务过程
huge_spine 2002-04-29
  • 打赏
  • 举报
回复
谢谢大家的指点:
我对活动图基本的看法是:用来描述一个用例的业务流程;今天我请教了我的师兄
(由于一师所教,基本看法是相同的),他说:系统不可能完成所有的事情,必然有一部分功能是由人来完成的(比如做一次营销调研,可能只是将调研结果记录在系统中,具体收集数据还是要人来完成)所以活动图,从手工的角度描述了一个业务的流程,其中有些是手工作业,有些是系统的功能,活动图描述出了整个流程,
(当然这是比较粗的活动图),更便于分清人机责任。
intercs 2002-04-29
  • 打赏
  • 举报
回复
我认为活动图主要表现了事件流程的流转,重在表现过程
wanlucky 2002-04-29
  • 打赏
  • 举报
回复
你画活动图前,一定要有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 应该是从系统内部的视角来说的.
青润 2002-04-29
  • 打赏
  • 举报
回复
活动图是基于对象的状态变迁所绘制的视图。它的主线是状态的变化,而不是时间,而时序图则是对象在不同时间段内的表现。

1,265

社区成员

发帖
与我相关
我的任务
社区描述
软件工程/管理 管理版
社区管理员
  • 研发管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧