1、信息系统分析与设计信息系统分析与设计Information System Analysis and DesignInformation System Analysis and Design1/335/11/2024内容内容 6信息系统分析与设计信息系统分析与设计Information System Analysis and DesignInformation System Analysis and Design2/335/11/2024活动图活动图v简介简介简介简介v 建模一序列活动建模一序列活动建模一序列活动建模一序列活动 v 建模可选的动作过程建模可选的动作过程建模可选的动作过程建模可选的
2、动作过程 v 建模重复的活动建模重复的活动建模重复的活动建模重复的活动v 建模并行的活动建模并行的活动建模并行的活动建模并行的活动v 使用活动图使用活动图使用活动图使用活动图 v 技术关键点技术关键点技术关键点技术关键点信息系统分析与设计信息系统分析与设计Information System Analysis and DesignInformation System Analysis and Design3/335/11/2024简介简介n n活动图活动图活动图活动图n活动图被用来建模复杂的活动 n活动图类似于状态图,但状态图是关注状态和状态之间的转换。然而,在活动图中所有的状态都是活动(即正
3、在做某事的状态),它们之间的转换是通过完成该活动而不是外部的事件来触发的。n活动图表示了在过程中的内部的控制流。它们能被用于在不同层次建模处理过程,如在组织中的高层工作流,在用例中发生事情的细节(作为用例描述的一个取代方法),或者它们能定义一个操作的工作细节(作为过程定义的一个变通方法)。n活动图能用来表示顺序、选择和循环(在早期的所有程序中的结构),它们也能表示在一些地方不同的活动能被并行地执行。信息系统分析与设计信息系统分析与设计Information System Analysis and DesignInformation System Analysis and Design4/335
4、/11/2024建模一序列活动建模一序列活动n n当租借一辆自行车时,计算租金的操作当租借一辆自行车时,计算租金的操作当租借一辆自行车时,计算租金的操作当租借一辆自行车时,计算租金的操作n图6.1表示了在Wheels类图中的Bike类 nBike类的操作之一是 getCharges(),但是这个类图仅记录了该操作的名称,没有关于发生在getCharges操作中的任何细节。这些细节可以以操作定义或一个活动图来定义。n图6.2表示了一个描述在getCharges()操作中涉及的行动序列的活动图。信息系统分析与设计信息系统分析与设计Information System Analysis and De
5、signInformation System Analysis and Design5/335/11/2024建模可选的动作过程建模可选的动作过程n n执行两者选一的行动过程执行两者选一的行动过程执行两者选一的行动过程执行两者选一的行动过程n活动图的优点之一是它们对不同的行动过程和决定哪个执行过程的条件进行建模。n图6.4表示了Issue bike 用例的初始活动图。n虽然这个图描述了当一辆自行车被租借时发生地处理序列,但它仅涉及Wheels系统的新顾客的情景。在老顾客的情况下,每次当顾客租借自行车时输入顾客的细节是效率不高的,并且是使人困惑的;系统所需要做的仅仅是确认记录中的顾客细节是正确的
6、。n图6.5表示了Issue bike 用例完善后的活动图,其满足了新的和老的顾客的需要。n如同在状态图,对判断保障条件是否满足时基本的,而且对二者选一的处理分支处的保障条件是强制性互斥的(例如,一位顾客不能既是新顾客,又是老顾客)信息系统分析与设计信息系统分析与设计Information System Analysis and DesignInformation System Analysis and Design6/335/11/2024建模重复的活动建模重复的活动n n执行重复的活动执行重复的活动执行重复的活动执行重复的活动n除了顺序(参见图6.4)和选择(图6.5)活动外,活动图也能对
7、重复活动建模,重复活动是指一个或多个活动需要重复执行。n图6.6表示了当Wheels得首席机械师 Naresh在将若干辆不同的自行车登记到系统中时所发生地事情。n对每辆自行车,Naresh必须输入其细节,并指定一个编号;这些活动被重复,直到所有的自行车被登记。n图6.6中的活动图表示了重复的循环,并在方括号内表示了保障条件more bikes to add。信息系统分析与设计信息系统分析与设计Information System Analysis and DesignInformation System Analysis and Design7/335/11/2024建模并行的活动建模并行的活
8、动n n执行并行地活动执行并行地活动执行并行地活动执行并行地活动n事实上,在一个活动图中所绘制的过程经常没有覆盖并行执行活动的可能性,这些活动先前是顺序执行的。图6.7表示了用例 Handle bike return的初始活动图。n活动Check bike 和 Check return date能并行地表示在活动图中,如同在图6.8中的完善图所示。n在图6.8中,上面的同步条表示一旦作为单独的进入转换活动(Find hire details)完成,出去转换(Check return date 和 Check bike for damage)可以以任意次序执行。下面的同步条表示单个出去的转换仅仅
9、在所有进入的活动被完成后才触发。n图6.9表示了Handle bike return 用例的一个修改后的版本,其包括了选择和并行活动。该图现在表示了当一辆自行车租借超时或返还时损坏时,所发生地一切。信息系统分析与设计信息系统分析与设计Information System Analysis and DesignInformation System Analysis and Design8/335/11/2024使用活动图使用活动图-1n n泳道(泳道(泳道(泳道(SwimlanesSwimlanes)n泳道表示哪个代理,人或对象是对一组活动负有责任。n在开发的早期,我们仅仅考虑在处理过程中发生什
10、么,而不关心何人或何物对一个特定的活动负责实际上是非常有帮助的。n然而,随后对每项活动能确定何人、何物、或系统中的哪个对象来执行这些活动室非常有帮助的。n我们能通过将图分解到垂直的区域来添加这些信息到活动图中,这些垂直区域被称作泳道。n泳道用线条相互分开,在每个泳道顶部标有负责该泳道中的这组活动的人、组织或对象的名称。信息系统分析与设计信息系统分析与设计Information System Analysis and DesignInformation System Analysis and Design9/335/11/2024使用活动图使用活动图-2n n泳道(续)泳道(续)泳道(续)泳道(
11、续)n图6.10表示了Handle bike return 用例的活动图(同图6.9比较)。在图6.10中,泳道被添加来提供关于谁执行该用例中的各种活动的信息。n我们从图6.10中可以看出何人或何物执行构成Handle bike return 用例的不同活动。顾客负责将自行车返还给商店;接待员输入顾客的姓名;计算机则进行找出租借细节、检查返还日期、如果必要则计算超出费用,以及计算返回的押金金额等活动;机械师负责检查自行车是否损坏,计算发现损坏的修理费用;最后,接待员将剩余的押金返还给顾客。信息系统分析与设计信息系统分析与设计Information System Analysis and Des
12、ignInformation System Analysis and Design10/335/11/2024使用活动图使用活动图-3n n在系统开发中使用活动图在系统开发中使用活动图在系统开发中使用活动图在系统开发中使用活动图 n活动图帮助在不同层次细节上可视化系统的功能,帮助开发人员和客户之间的沟通。n活动图能在开发的起始阶段绘制,来帮助开发人员和客户分析商业工作流程和获得对正在系统中进行的事情的共同理解。n在这个阶段,活动图提供讨论的有用载体,帮助开发人员、客户和用户可视化系统的功能。n活动图表示能并行执行的活动的能力在高层商业建模中是特别有用的,因为图形的绘制能帮助确定潜在的并行处理,
13、甚至在当前这些活动是被顺序地执行的地方。信息系统分析与设计信息系统分析与设计Information System Analysis and DesignInformation System Analysis and Design11/335/11/2024使用活动图使用活动图-4n n在系统开发中使用活动图(续)在系统开发中使用活动图(续)在系统开发中使用活动图(续)在系统开发中使用活动图(续)n并行过程的表示在某些类型的系统中是特别有用,诸如实时系统,在这些系统中获得和任务的同步时系统功能的核心。n一旦系统用例被确定,活动图能用来描述涉及到取得用例目标的步骤,表示这些活动,以及它们发生地顺序
14、。n最后,当开发进入类、类的属性和操作已被确定的阶段时,活动图是一个描述操作是如何工作的有用方法,特别是这些操作是基于负责的算法的时候。信息系统分析与设计信息系统分析与设计Information System Analysis and DesignInformation System Analysis and Design12/335/11/2024技术关键点技术关键点-1n n建模重复建模重复建模重复建模重复n当我们讨论在活动图中的重复的时候,我们表示了如何利用活动之间的循环来对其进行建模(参见图6.6)。n在一个活动上利用多重符号*表示重复也是可能的,当存在图形有可能变得混乱时,这种方法是
15、有用的。n图6.11表示了一个活动图的局部,该图描述了当 Wheels商店经理 Annie Price检查每辆自行车的保险是否到期时所发生地事情。n在活动Check bike insurance details 的多重符号表示这个活动重复直到所有自行车的细节都被检查为止。信息系统分析与设计信息系统分析与设计Information System Analysis and DesignInformation System Analysis and Design13/335/11/2024技术关键点技术关键点-2n n省略菱形判断符号省略菱形判断符号省略菱形判断符号省略菱形判断符号n使用菱形符号来表
16、示导向活动图中不同的行动过程不是强制性的,虽然使用菱形时,通过图形的不同路径常常是更加清楚。n图6.12表示了图6.5(Issue bike 用例的活动图)中一个部分的两个不同版本,一个带有菱形判断符号,一个则没有。n n将图形划分将图形划分将图形划分将图形划分n一个图形中相关活动的子集能被圈住并标识如图6.13中所示,图中同处理顾客细节相关的活动被被表示成一个带有自己起始状态和终止状态的小部分。n以这种方式对活动图进行划分有助于整个图形的可读性,并且也支持重用、因为主图中的这一小部分能被用于任何涉及处理顾客细节的活动图中。信息系统分析与设计信息系统分析与设计Information Syste
17、m Analysis and DesignInformation System Analysis and Design14/335/11/2024技术关键点技术关键点-3n n对象流对象流对象流对象流n在一个活动图中包括有关一个活动需要的来自一个特定对象的输入,或者一个对象是如何被一个活动的输出所影响的信息通常是有用的。n以这种方式,在活动图中表示的过程能被联接到它的输入和输出。n有时一个对象的名称被用作一个活动的名称,如图6.14中所示。.n然而,这种活动和对象之间的联接通常通过在活动图中包括相关的对象以及对象流的流入或流出关联活动来表示。如果一个对象为一个活动提供输入,就绘制一个从对象到该
18、活动的对象流(虚箭头)。n如果一个活动产生或更新一个对象,就绘制一个从活动到该对象的对象流。信息系统分析与设计信息系统分析与设计Information System Analysis and DesignInformation System Analysis and Design15/335/11/2024技术关键点技术关键点-4n n对象流(续)对象流(续)对象流(续)对象流(续)n图6.15是 Issue bike用例的活动图(参见图6.5),但包括了涉及到该用例的对象和将它们联接到特定活动的对象流。n在一个对象的状态被一个活动改变的情况下,这能被表示在图6.16中对象的标签上,其表示了活
19、动Update customer record室如何更新相关的顾客对象的。n在对象流能暗示对象之间的转换的地方,它们之间的转换可以被省略。这能在图6.17中的a和b中看到,其表示了Issue bike 用例的局部。n图6.17 a中包括了在活动 Pay charge 和Issue receipt 之间的转换;在图6.17 b中这种转换被Payment对象和联接该对象到该活动的对象流所取代。信息系统分析与设计信息系统分析与设计Information System Analysis and DesignInformation System Analysis and Design16/335/11/
20、2024图图图图6.1 6.1 在在在在WheelsWheels类图中的类图中的类图中的类图中的BikeBike类类类类信息系统分析与设计信息系统分析与设计Information System Analysis and DesignInformation System Analysis and Design17/335/11/2024图图图图6.2“getCharges()”6.2“getCharges()”操作的简单活动图操作的简单活动图操作的简单活动图操作的简单活动图信息系统分析与设计信息系统分析与设计Information System Analysis and DesignInform
21、ation System Analysis and Design18/335/11/2024图图图图6.3 6.3 活动图的符号活动图的符号活动图的符号活动图的符号信息系统分析与设计信息系统分析与设计Information System Analysis and DesignInformation System Analysis and Design19/335/11/2024图图图图6.4“Issue bike”6.4“Issue bike”用例的初始活动图用例的初始活动图用例的初始活动图用例的初始活动图 信息系统分析与设计信息系统分析与设计Information System Analys
22、is and DesignInformation System Analysis and Design20/335/11/2024图图图图6.5 6.5 表示了可变化行动的表示了可变化行动的表示了可变化行动的表示了可变化行动的“Issue bike”“Issue bike”用例的活动用例的活动用例的活动用例的活动图图图图信息系统分析与设计信息系统分析与设计Information System Analysis and DesignInformation System Analysis and Design21/335/11/2024图图图图6.6 6.6 表示重复活动的活动图表示重复活动的活动
23、图表示重复活动的活动图表示重复活动的活动图 信息系统分析与设计信息系统分析与设计Information System Analysis and DesignInformation System Analysis and Design22/335/11/2024图图图图6.7“Handle bike 6.7“Handle bike return”return”用例的初始活用例的初始活用例的初始活用例的初始活动图动图动图动图信息系统分析与设计信息系统分析与设计Information System Analysis and DesignInformation System Analysis and
24、Design23/335/11/2024图图图图6.8 6.8 表示了并行活动的表示了并行活动的表示了并行活动的表示了并行活动的“Handle bike return”“Handle bike return”用例的活动图用例的活动图用例的活动图用例的活动图 信息系统分析与设计信息系统分析与设计Information System Analysis and DesignInformation System Analysis and Design24/335/11/2024图图图图6.9“Handle bike return”6.9“Handle bike return”用用用用例的修改后的活动图
25、,其表示了并例的修改后的活动图,其表示了并例的修改后的活动图,其表示了并例的修改后的活动图,其表示了并行活动和选择行活动和选择行活动和选择行活动和选择 信息系统分析与设计信息系统分析与设计Information System Analysis and DesignInformation System Analysis and Design25/335/11/2024图图图图6.10 6.10 修改后的修改后的修改后的修改后的“Handle bike return”“Handle bike return”用例的活动图,其利用附加的泳道用例的活动图,其利用附加的泳道用例的活动图,其利用附加的泳道用
26、例的活动图,其利用附加的泳道来表示了不同活动的责任人来表示了不同活动的责任人来表示了不同活动的责任人来表示了不同活动的责任人信息系统分析与设计信息系统分析与设计Information System Analysis and DesignInformation System Analysis and Design26/335/11/2024图图图图6.11 6.11 表示了如何利用多重符号表示了如何利用多重符号表示了如何利用多重符号表示了如何利用多重符号*来指示一个活动的重复的活动图的选择来指示一个活动的重复的活动图的选择来指示一个活动的重复的活动图的选择来指示一个活动的重复的活动图的选择信息系
27、统分析与设计信息系统分析与设计Information System Analysis and DesignInformation System Analysis and Design27/335/11/2024图图图图6.12 6.12 图图图图6.56.5的两个版本,一个带有菱形判断符号,一个不带菱形判断符号的两个版本,一个带有菱形判断符号,一个不带菱形判断符号的两个版本,一个带有菱形判断符号,一个不带菱形判断符号的两个版本,一个带有菱形判断符号,一个不带菱形判断符号信息系统分析与设计信息系统分析与设计Information System Analysis and DesignInforma
28、tion System Analysis and Design28/335/11/2024图图图图6.13“Issue bike”6.13“Issue bike”用例的活用例的活用例的活用例的活动图,表示了处理顾客细节的活动图,表示了处理顾客细节的活动图,表示了处理顾客细节的活动图,表示了处理顾客细节的活动子集动子集动子集动子集信息系统分析与设计信息系统分析与设计Information System Analysis and DesignInformation System Analysis and Design29/335/11/2024图图图图6.14 6.14 活动可能指定一个相关联的对
29、象名称活动可能指定一个相关联的对象名称活动可能指定一个相关联的对象名称活动可能指定一个相关联的对象名称信息系统分析与设计信息系统分析与设计Information System Analysis and DesignInformation System Analysis and Design30/335/11/2024图图图图6.15“Issue bike”6.15“Issue bike”用例的活动图,包括相关对象和对象流用例的活动图,包括相关对象和对象流用例的活动图,包括相关对象和对象流用例的活动图,包括相关对象和对象流信息系统分析与设计信息系统分析与设计Information System
30、Analysis and DesignInformation System Analysis and Design31/335/11/2024图图图图6.16 6.16 活动活动活动活动“Update customer record”“Update customer record”更新相关联的更新相关联的更新相关联的更新相关联的CustomerCustomer对象对象对象对象信息系统分析与设计信息系统分析与设计Information System Analysis and DesignInformation System Analysis and Design32/335/11/2024图图图
31、图6.17 a6.17 a:“Issue bike”“Issue bike”用例的活动图部分,其表示了两个活动之间的转换用例的活动图部分,其表示了两个活动之间的转换用例的活动图部分,其表示了两个活动之间的转换用例的活动图部分,其表示了两个活动之间的转换 b b:“Issue bike”“Issue bike”用例的活动图部分,其用用例的活动图部分,其用用例的活动图部分,其用用例的活动图部分,其用PaymentPayment对象和它之间的对对象和它之间的对对象和它之间的对对象和它之间的对象流取代了它和两个活动之间的转换象流取代了它和两个活动之间的转换象流取代了它和两个活动之间的转换象流取代了它和两个活动之间的转换信息系统分析与设计信息系统分析与设计Information System Analysis and DesignInformation System Analysis and Design33/335/11/2024