您好,欢迎访问三七文档
活动图南华大学研究生院计算机学院1主讲人:袁鼎思考一个系统的需求(以计算器为例):在还没有该系统之前,计算是如何进行的?各类用户是如何参与到计算相关工作的?应用了该系统后,计算如何进行?各类用户如何在本系统中工作?南华大学研究生院计算机学院2结论(两类问题)1.事物的内容及事物间的关系(结构建模)2.流程相关的问题(行为建模)南华大学研究生院计算机学院3活动图的概述活动:指某件事情正在进行的状态。活动在状态机中表现为一个由一系列动作组成的非原子的执行过程。活动图是一种描述系统行为的图,它用于展现参与行为的类所进行的各种活动的顺序关系。活动图和状态图都是状态机的表现形式。南华大学研究生院计算机学院4活动图的概念活动图定义:活动图是由活动节点和转换流程构成的图。它描述系统或业务的一系列活动构成的控制流,描述系统从一种活动转换到另一种活动的整个过程,即用来描述事物或对象的活动变化流程。活动图用于对系统的计算流程和工作流程建模。南华大学研究生院计算机学院5某公司销售过程的活动图活动图活动图的作用:活动图常用来描述业务或软件系统的活动轨迹,描述了系统的活动控制流程。我们常用活动图对业务过程、工作流和用例实现进行建模。活动图的优点:最适合支持并行行为,而且也是支持多线程编程的有力工具。活动图的缺点:很难清晰地描述动作与对象之间的关系。南华大学研究生院计算机学院6多线程的概念就和CPU多核一样,好处就是一心多用的意思,比如一个程序可以同时文件读写、网络收发、用户输入等等活动图的表示1.初始节点和终点初始节点表示活动的起点;终点表示活动的终结点。用一个实心圆表示初始节点,用一个圆圈内加一个实心圆来表示活动终点.在活动图中,可能包含多个活动终点,但有且仅有一个起始点。南华大学研究生院计算机学院7初始节点和终点活动图的表示2.活动节点活动节点是活动图中最主要的元素之一,它用来表示一个活动,一个活动表示多个动作的集合(步骤)。活动节点用一个圆角矩形表示.活动的名称写在圆角矩形内部。南华大学研究生院计算机学院8活动节点的表示活动图的表示3.转换当一个活动结束时,活动控制流就会马上传递给下一个活动节点,在活动图中称之为“转换”,用一条带箭头的直线来表示转换。南华大学研究生院计算机学院9转换的表示活动图的表示4.分支与监护条件(判断)在实际应用中,有三种活动控制流,分别是顺序结构、分支结构、循环结构。当从一个活动节点到另一个活动节点的转换需要条件时,常用分支与监护条件来表示活动的分支结构。分支是用菱形表示的,它有一个进入转换(箭头从外指向分支符号),一个或多个离开转换(箭头从分支符号指向外)。而每个离开转换上都会有一个监护条件,用来表示满足某种条件时才执行该转换。南华大学研究生院计算机学院10分支的表示监护条件判断的三种处理方式1.在判断菱形旁写下判断的句子2.不需要写判断的内容,直接通过监护来表示这个判断3.在判断菱形之前增加一个活动,表明判断的动作,而判断菱形不需要写下判断的句子。南华大学研究生院计算机学院11活动图的表示5、泳道:顾名思义,就像一个游泳运动员只能在一个泳道里进行比赛一样,一个对象也只能在一个业务流程中担任一个(或一类)职责。南华大学研究生院计算机学院12为了有效地表示各个活动由谁负责的信息,可以通过泳道(SwimLane)来实现。每个泳道用一条垂直的线将它们分开,并且每个泳道都必须有一个唯一的名称,每个活动节点、分支必须只属于一个泳道,而转换,分岔与汇合是可以跨泳道的。通过泳道,不仅体现了整个活动控制流,还体现出了每个活动的实施者。泳道最主要的用途是在分析用例场景时用来获取角色职责。带泳道的活动图南华大学研究生院计算机学院13分叉汇合泳道活动图的表示分岔与汇合如果一些活动是并发执行的,我们就用分岔和汇合来表示并发活动。分岔线和汇合线都使用加粗的水平线或垂直线段表示(同步线)。南华大学研究生院计算机学院14分岔线汇合线分岔与汇合的表示对象流标识对象流的活动图(工作产品)在活动图中,存在这样一些现象:可能存在一些对象进入一个活动节点,经过活动处理,修改了对象的状态;活动节点创建或删除了一些对象;输出一些对象。在这些活动中,对象与节点活动是紧密相关的,用户可以在活动图中把相关的对象标识出来,即标识哪些对象进入活动节点,哪些对象从活动节点中输出,这对编程具有现实意义。在UML中,我们可以在活动图中标识一个对象的角色、状态和属性值的变化。南华大学研究生院计算机学院15活动图中的对象表示法对象流和动作流类似,动作流连接两个动作状态,对象流连接对象和行为。对象流描述对象和活动状态间的关系,及它们之间的影响。所有动作状态之间的转换流动作状态或活动状态和对象之间的依赖关系南华大学研究生院计算机学院16标识对象流的活动图对象活动与动作活动:流程中一个步骤,可以分为若干个动作或子活动。动作:流程中一个步骤,不可细分。南华大学研究生院计算机学院17活动的分解1.一个活动可以分解为若干个动作或子活动,这些动作或子活动本身可以组成一个活动图。2.一个包含了子活动的活动在概念上也相对统一。3.一个不含内嵌活动或动作的活动叫做简单活动;一个嵌套了若干活动或动作的活动称为组合活动。南华大学研究生院计算机学院18活动的分解示例南华大学研究生院计算机学院19画活动图的建议:首要思考本活动图要表达什么内容,表达的重点是什么,根据这一点来确定合适的活动粒度。可先用比较大粒度的活动,目的是先弄清楚流程总体框架。流程大体确定后,逐步细化。需要重点说明的部分,活动粒度应该足够细。南华大学研究生院计算机学院20构建活动图绘制活动图几个关键步骤:南华大学研究生院计算机学院21(1)如希望在活动图中标识出活动的实施者,我们就应该采用标识泳道的活动图,并在绘制活动图前,先找出活动的执行者,然后找出每个执行者参与的活动。(2)在描述活动节点关系时,最大限度的采用分支,分岔和汇合等基本的建模元素来描述活动控制流程。(3)如果希望标识出活动节点执行前后对象的创建、销毁情况,以及对象的状态变化情况,那么,在绘制活动图时,应该标识对象流,以及对象的状态变化。(4)如果希望标识活动图中更详细的信息,就应该在活动图中,利用一些高级的建模元素(如顺序活动图、并发活动图、在活动图中标识发送信号与接收信号、用扩展区来标识活动的循环执行等等)。构建活动图1、对工作流程建模(业务分析阶段)南华大学研究生院计算机学院22用活动图对业务流程建模时,活动图中,每一条泳道表示一个职责单位(可以是个人,也可以是一个部门),每个泳道的执行者(或职责人)体现了职能部门的工作职责、业务范围、部门之间的交互关系。构建活动图2对操作流程建模(系统分析和设计阶段)南华大学研究生院计算机学院23在系统设计期间,我们用活动图对对象的职责进行建模,每一个对象占据一个泳道,而活动是该对象的成员方法。在系统分析设计阶段,采用带泳道的活动图的情况较少,因为顺序图会更好地体现对象间的交互关系。活动图更适合于对其流程进行概述,最常用的场景是通过活动图对用例描述中的事件流进行建模。当用例的事件流较复杂,分支较多时,一张清晰明了的活动图能够帮助开发人员更好地理解程序的逻辑。小试牛刀图书馆管理系统(电子版)1.借阅者的活动图2.图书管理员的活动图3.系统管理员的活动图南华大学研究生院计算机学院241.借阅者的活动图南华大学研究生院计算机学院252.图书管理员的活动图南华大学研究生院计算机学院26是否①系统管理员维护借阅者账户的活动图南华大学研究生院计算机学院27②系统管理员进行书目信息维护的活动图南华大学研究生院计算机学院28③系统管理员维护书籍信息的活动图南华大学研究生院计算机学院29课堂练习一个咨询公司会见新客户时的业务过程:1、公司业务员(SalesPerson)打电话给客户(Client),确定一个约定(Callclientandsetupappointment)。2、如果约定地点是在公司之内(appointmentonsite),那么公司中的技术人员(CorporateTechnician)就要为会面准备一间会议室(Prepareaconferenceroom)。3、如果约定地点是公司之外(appointmentoffsite),那么咨询顾问(Consultant)就要用膝上电脑准备一份陈述报告(Preparealaptop)。4、咨询顾问和业务员与顾客在约定的时间和地点见面(Meetwiththeclient)。5、业务员随后给他们准备好会议用纸(follow-upwithaletter)。6、如果会议产生了一个问题陈述(statementofproblem),咨询顾问就根据问题陈述建立一个提案(Createproposal)并把该提案发给客户(Sendproposaltoclient)。请分别建立简单活动图和标识泳道的活动图。南华大学研究生院计算机学院30会见新客户的简单活动图南华大学研究生院计算机学院31带泳道的活动图南华大学研究生院计算机学院32建立“教师查看、修改学生信息”用例的活动图。教师在登录时,系统会验证教师输入的账号、密码、动态码等登录信息,如果验证未通过,则登录失败。如果验证通过,教师登录成功,并选择需要查询的学生,系统会显示教师选中的学生信息。教师查看信息后,修改学生信息,修改完成后保存学生信息,这时系统会将修改后的信息保存到数据库。之后教师退出系统,系统注销教师账号。南华大学研究生院计算机学院33课堂练习2南华大学研究生院计算机学院34用RationalRose画活动图1.活动图的建立南华大学研究生院计算机学院352.订制工具条(一般为增加工具)南华大学研究生院计算机学院36方法一:方法二:Options选项南华大学研究生院计算机学院373.创建带泳道的活动图南华大学研究生院计算机学院38对泳道进行命名:双击NewSwimlane南华大学研究生院计算机学院39创建活动(createactivity)南华大学研究生院计算机学院40圆角矩形某个网上书店项目中的团体购书的客户活动图南华大学研究生院计算机学院41BBS系统中用户注册的各种活动状况图南华大学研究生院计算机学院42将RationalRose模型发布到web南华大学研究生院计算机学院43南华大学研究生院计算机学院44在此处填写保存路径保存之后的文件南华大学研究生院计算机学院45南华大学研究生院计算机学院46
本文标题:UML活动图讲义
链接地址:https://www.777doc.com/doc-5280143 .html