1、I.能够理解活动图对系统交互建模能够理解活动图对系统交互建模II.能够根据实体处于不同的状态建模能够根据实体处于不同的状态建模13:052能力目标能力目标13:053目录目录实例练习4.创建活动图的步骤3.活动图基本组成2.活动图概述1.13:054p用于描述活动流程的图形称为活动图。描述用于描述活动流程的图形称为活动图。描述系统的动态行为。系统的动态行为。p活动图适合描述在没有外部事件触发的情况活动图适合描述在没有外部事件触发的情况下的系统内部的逻辑执行过程;下的系统内部的逻辑执行过程;p是一种特殊的状态图是一种特殊的状态图。13:0551 活动图概述活动图概述p活动图可以描述的情况如下:活
2、动图可以描述的情况如下:(1 1)捕获操作执行时的动作。)捕获操作执行时的动作。(2 2)捕获一个对象的内部动作。)捕获一个对象的内部动作。(3 3)显示一组相关的动作将如何执行,以及它们如何影响周围)显示一组相关的动作将如何执行,以及它们如何影响周围的对象。的对象。(4 4)显示一个用例的实例在动作和对象状态变化方面是如何执)显示一个用例的实例在动作和对象状态变化方面是如何执行的。行的。(5 5)显示参与者、工作流等方面是如何运转的。)显示参与者、工作流等方面是如何运转的。13:056p与状态图的区别与状态图的区别1.1.活动图着重表现从一个活动到另一个活动的控活动图着重表现从一个活动到另一
3、个活动的控制流,是内部处理驱动的流程;制流,是内部处理驱动的流程;2.2.状态图着重描述从一个状态到另一个状态的流状态图着重描述从一个状态到另一个状态的流程,主要有外部事件的参与。程,主要有外部事件的参与。13:05713:058p动作状态动作状态p分支与合并分支与合并p分叉与汇合分叉与汇合13:0592 活动图基本组成活动图基本组成p泳道泳道p对象流对象流基本元素n对象流是动作状态或活动状态与对象之间的依赖关系。用活动对象流是动作状态或活动状态与对象之间的依赖关系。用活动图描述某个对象时,将涉及的对象放置在活动图中,用一个依图描述某个对象时,将涉及的对象放置在活动图中,用一个依赖将其连接到创
4、建、修改和撤销的动作状态或活动状态上,对赖将其连接到创建、修改和撤销的动作状态或活动状态上,对象的这种使用方法就构成了对象流。象的这种使用方法就构成了对象流。n在活动图中,对象用矩形表示,矩形内是该对象的名称,名称在活动图中,对象用矩形表示,矩形内是该对象的名称,名称下方的括号表明该对象此时的状态。下方的括号表明该对象此时的状态。13:0510对象流p从图中可以看出对象从图中可以看出对象feeBill表示要场地费用,当客户询表示要场地费用,当客户询问场地价格的时候,账单还问场地价格的时候,账单还处于未付款的状态,交付场处于未付款的状态,交付场地费以后,账单的状态发生地费以后,账单的状态发生了变
5、化,由未付款状态变成了变化,由未付款状态变成已付款状态。已付款状态。13:0511对象流(1)识别要对工作流描述的类或对象,目的是为每个重要的业务识别要对工作流描述的类或对象,目的是为每个重要的业务对象建立泳道。对象建立泳道。(2)确定工作流的初始状态和终止状态,明确工作流的边界。确定工作流的初始状态和终止状态,明确工作流的边界。(3)对动作状态或活动状态建模。对动作状态或活动状态建模。(4)对动作流建模。对动作流建模。(5)对对象流建模。对对象流建模。(6)对建立的模型进行精化和细化。对建立的模型进行精化和细化。13:05123 创建活动图的步骤创建活动图的步骤p实例实例p将以将以“教师教师
6、登录后登录后查看、修改学生信息查看、修改学生信息”为例,介绍如为例,介绍如何去创建系统的活动图何去创建系统的活动图。13:0513p1.标识活动图的用例标识活动图的用例n在建模活动图之前,首先需要确定要建模什么和了解所要建立在建模活动图之前,首先需要确定要建模什么和了解所要建立模型的核心问题。这就要求确定需要建模的系统用例,以及用模型的核心问题。这就要求确定需要建模的系统用例,以及用例的参与者。对于例的参与者。对于“教师登录后查看、修改学生信息教师登录后查看、修改学生信息”来说,来说,它的参与者是教师,教师在登录后查看、修改学生信息的活动它的参与者是教师,教师在登录后查看、修改学生信息的活动中
7、有以下中有以下3个用例。个用例。13:0514登录:登录:要进入系统,首先要登录。要进入系统,首先要登录。查询学生信息:查询学生信息:进入系统后可以选择查询不同学生的信息。进入系统后可以选择查询不同学生的信息。修改学生信息:修改学生信息:需要修改某些学生的部分信息,如考试过后需要修改某些学生的部分信息,如考试过后需要修改学生的成绩信息。需要修改学生的成绩信息。13:0515p2.建模用例的路径建模用例的路径p在开始创建用例的活动在开始创建用例的活动图时,往往先建立一条图时,往往先建立一条明显的路径执行工作流,明显的路径执行工作流,然后从该路径进行扩展,然后从该路径进行扩展,如图所示为如图所示为
8、“教师查看、教师查看、修改学生信息修改学生信息”的工作的工作流示意图。流示意图。13:0516p在建立工作流的时候需要注意如下几点:在建立工作流的时候需要注意如下几点:识别出工作流的边界,也就是要识别出工作流的初始状态和终识别出工作流的边界,也就是要识别出工作流的初始状态和终止状态,以及相应的前置条件和后置条件。止状态,以及相应的前置条件和后置条件。识别出工作流中有意义的对象,对象可以是具体的某个类的实识别出工作流中有意义的对象,对象可以是具体的某个类的实例,也可以是具有一定抽象意义的组合对象。例,也可以是具有一定抽象意义的组合对象。识别出各种状态之间的转换。识别出各种状态之间的转换。考虑分支
9、与合并、分叉与结合的情况考虑分支与合并、分叉与结合的情况。13:0517p3.创建活动图创建活动图当弄清楚系统要处理什么样的问题并建立了工作流路径后就可当弄清楚系统要处理什么样的问题并建立了工作流路径后就可以开始正式地创建活动图。以开始正式地创建活动图。在创建活动图的过程中,需要注意如下问题:在创建活动图的过程中,需要注意如下问题:考虑用例其他可能的工作流情况,如执行过程中可能出现的错误或考虑用例其他可能的工作流情况,如执行过程中可能出现的错误或是可能执行其他活动。是可能执行其他活动。使用泳道细化活动图。使用泳道细化活动图。按照时间顺序自上而下的排列泳道内的动作或者状态。按照时间顺序自上而下的
10、排列泳道内的动作或者状态。使用并发时,不要漏掉任何的分支,尤其是当分支比较多的时候。使用并发时,不要漏掉任何的分支,尤其是当分支比较多的时候。13:051813:0519练习题:图书馆练习题:图书馆新增读者新增读者用例属于读者信息管理中的一个功能,主用例属于读者信息管理中的一个功能,主要用于在系统中增加新的读者信息,其具体的办理流程是:要用于在系统中增加新的读者信息,其具体的办理流程是:(1 1)读者读者 填写申请表,并交给填写申请表,并交给 图书管理员图书管理员;(2 2)图书管理员图书管理员 将申请表中的信息通过录入界面,输入到图书管理系统;将申请表中的信息通过录入界面,输入到图书管理系统;(3 3)系统中的)系统中的 业务逻辑业务逻辑 组件将判断输入的信息是否合法;组件将判断输入的信息是否合法;(4 4)如果不合法则转入步骤()如果不合法则转入步骤(5 5),否则转入步骤(),否则转入步骤(6 6);(5 5)显示)显示 添加错误信息添加错误信息,转到(,转到(8 8););(6 6)在)在“数据库数据库”添加相信的用户信息;添加相信的用户信息;(7 7)显示)显示 添加成功信息添加成功信息;(8 8)结束。)结束。13:052013:0521答案13:0522