软件建模技术 课件 任务3 使用活动图实现业务分析、任务4 使用类实现系统结构分析_第1页
软件建模技术 课件 任务3 使用活动图实现业务分析、任务4 使用类实现系统结构分析_第2页
软件建模技术 课件 任务3 使用活动图实现业务分析、任务4 使用类实现系统结构分析_第3页
软件建模技术 课件 任务3 使用活动图实现业务分析、任务4 使用类实现系统结构分析_第4页
软件建模技术 课件 任务3 使用活动图实现业务分析、任务4 使用类实现系统结构分析_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

任务3

使用活动图实现业务分析内容导图理解活动图的基本概念及在业务分析中的作用。掌握活动图的基本组成元素。掌握活动图的建模方法。能够根据实际业务需求绘制符合UML规范的活动图。能够利用活动图对业务流程进行优化和重构。通过分析复杂的业务流程,培养学生良好的逻辑思维和系统思维能力。通过绘制和分析活动图,培养学生从全局视角审视业务流程的能力。

活动图是UML中描述系统动态行为的动态图的一种,用于展现参与行为的类的活动或动作。一张活动图从本质上说是一个流程图,它显示了系统中从一个活动到另一个活动的流程。使用活动图来描述用例的活动,有助于对系统的业务建模。在智慧校园系统的需求分析阶段,活动图可以用来描述日常生活自助服务子模块的充值业务流程。请运用本节所学知识,完成如下任务:1.分析智慧校园系统用户充值业务流程2.绘制智慧校园系统用户充值活动图活动图概述01UML需求建模与用例图活动图在本质上类似于传统的流程图,但其具有更强的表达能力,能够描述并发、分支、合并等复杂流程。活动图着重表现系统行为,描述对象活动的顺序关系所遵循的原则。活动图提供了一种描述业务流程的方法,它可以用来描述在何处、何时、发生何种动作。自助洗衣服务图例活动图通过自助洗衣服务图例活动图我们可以了解到,自助洗衣服务是由用户、系统和洗衣机三方协作完成,以及其具体业务流程。活动图的组成元素02动作状态对象的动作状态(Action)

是活动图中最小单位的构造块,表示原子动作。动作状态可以有入转移,入转移既可以是动作流,也可以是对象流。动作状态至少有一条出转移,这条转移以内部的完成为起点,

与外部事件无关。在UML中,动作状态使用圆角矩形表示,动作状态所表达的动作写在方框的内部。动作状态图标活动状态动作状态表示的是不可分割的原子动作,而活动状态

(Activity)表示的是可以分割的动作。如果某活动状态是只包括一个动作的活动状态,那它就是动作状态,因此动作状态是活动状态的一个特例。在UML中,动作状态和活动状态的图标没有区别,都是带圆角的方框。活动状态图标开始节点和终止节点在活动图中用开始节点(InitialNode)

和终止节点(FinalNode)

表示活动的开始和结束。开始节点表示一个工作流程的开始,用实心圆点来表示。在一个活动图中只有一个起始状态。终止节点表示一个活动图的最后和终结状态,一个活动图中可以有0个或多个终止节点,终

止节点用实心圆点外加一个小圆圈来表示。开始节点和终止节点转移转移

(Transition)

是两个状态间的一种关系,表示对象将在当前状态中执行动作,并在某个特定事件发生或某个特定的条件满足时进入后继状态。转移显示了从一个动作或活动状态到下一个动作或活动状态的路径。拔打电话的活动图合并和分支活动图的分支(Branch)用于描述基于某个条件的可选择路径。合并(Merge)指的是两个或者多个控制路径在此汇合的情况。在UML活动图中,分支与合并都是用空心的菱形表示的。带分支和合并的活动图【示例3-1】为在线选课系统中课程管理模块的添加课程用例绘制相应的活动图。

分析:在课程管理模块中,要对课程进行添加操作,首先需要输入课程信息,在数据库中进行查找是否已经存在该课程。如果课程不存在,则将课程信息保存到数据库中,并提示课程添加成功;如果课程已存在,则提示用户课程已存在,无法添加。典型案例【示例3-1】【示例3-2】为在线选课系统中课程管理模块的修改课程用例绘制相应的活动图。

分析:修改课程用例从“用户”泳道开始“输入要修改的课程信息”活动,完成输入

要修改的课程信息的工作后,进入“系统”泳道开展“验证课程信息”活动,验证课程信

息的完整性和有效性。如果信息验证通过,则继续执行“更新课程信息”活动,将修改后

的课程信息保存到数据库中。如果信息验证失败,则返回“用户界面”泳道,提示用户修

改信息并重新提交,否则提示修改成功。分叉和汇合分叉(Fork)

表示把一个单独的控制流分成两个或多个并发的控制流。汇合(Join)

表示两个或多个并发控制流的同步发生,一个汇合可以有两个或多个进入转移和一个输出转移。分叉和汇合在图形上都使用同步条来表示,同步条通常用一条粗的水平线表示。带分叉和汇合的活动图泳道“泳道”技术是将一个活动图中的活动状态进行分组,每一组表示一个特定的类、人或部门。每个泳道在活动图中都有一个唯一的名称,表示业务过程中的实体。在被划分为泳道的活动图中,每个活动都明确属于一个泳道,不可以跨越泳道,而转移则可以跨越泳道。带泳道的活动图典型案例【示例3-2】对象流包括依赖关系和对象的应用被称为对象流(ObjectStream),对象流是动作和对象间的关联。在UML规范中,使用矩形表示对象,矩形内是该对象的名称。对象和动作之间使用带箭头的虚线连接,带箭头的虚线表示对象流。带对象流的活动图活动图的建模技术03对业务流程建模通常可以按照下列步骤,使用活动图对系统建模:

①确定活动图所关注的业务流程。②确定该业务流程中的业务对象。

③确定该工作流的起始状态和终止状态。

④从该工作流的起始状态开始,说明随着时间发生的动作和活动,并在活动图中把它们表示成活动状态或动作状态。

⑤将复杂的动作或多次出现的动作集合归并到一个活动状态,并对每个这样的活动状态提供一个可展开的单独的活动图。

⑥找出连接这些活动和动作状态的转移。

⑦如果工作流中涉及重要的对象,则也把它们加入到活动图中。“充值”用例是智慧校园系统中用户角色的一个功能,主要用于用户为个人账号充值,其具体的处理流程是:

用户首先登录智慧校园系统,然后选择“充值”功能。系统会显示当前校园卡的余额,并提示用户输入充值金额。用户输入充值金额后,

系统显示可充值方式,用户选择充值方式,系统调用第三方支付服务。支付成功后显示充值成功后的余额,支付失败则显示支付失败信息。①创建活动图②创建泳道③创建开始节点④创建活动”登录智慧校园”⑤按照任务分析结果,重复步骤④创建后续的主要活动状态⑥创建分支节点⑥创建分支节点⑦创建终止节点日常生活自助服务子模块用例图

活动图作为软件工程中的一种业务活动分析工具,能帮助我们精确地描述和理解业务流程。在活动图的建模技术中,我们学习如何对业务流程进行抽象和优化,这不仅培养了我们的逻辑思维能力,也锻炼了分析和解决问题的能力,这种能力在任何领域都是宝贵的。此外,活动图的分支、合并、分叉和汇合等元素,教会我们在面对复杂多变的情况时,如何灵活应对和有效协调。通过这样的学习和实践,我们不仅能够提升个人的专业技能,还能够在更广泛的社会领域中发挥积极作用。1.活动图2.活动图的组成元素3.活动图的建模技术

任务4

使用类实现系统结构分析

内容导图理解类图的基本概念。掌握类的抽象方法及其作用。掌握类的属性(Attributes)

和类的操作(Operation)。掌握类之间关系的表示方法。熟悉UML类图的绘制规范与工具。能够阅读和理解类图。能够熟练使用UML建模工具绘制符合规范的类图。能够使用类图进行系统设计。能够使用建模工具对系统进行建模。培养系统分析与设计能力,通过类图的应用,深入理解软件系统的整体结构和各组件间的交互关系。提升逻辑思维和抽象能力,能够将复杂的现实问题抽象为简洁明了的类模型。

智慧校园系统的需求建模阶段描述了系统的业务处理流程,接下来进入结构建模阶段。首先要从需求建模阶段的用例图、活动图去寻找和发现类,解析类之间的关系并用类图进行描述。请运用本节所学知识,完成如下任务:1.抽象出智慧校园系统充值管理子模块所有类;2.解析智慧校园系统充值管理子模块类之间的关系;3.绘制智慧校园系统充值管理子模块类图。类图概述01类图概述在UML中,类图

(ClassDiagram)

是最常用的一种静态模型,用于描述系统中类的静态结构。类图主要作用在于描述系统的构成方式,而不是系统的协作运行过程。通过类图,开发者可以清晰地理解系统的组成部分、各个部分的职责以及它们之间的交互方式。门禁子模块类图

通过门禁子模块类图我们可以了解到,

该模块包含用户类

(User)、面部信息类(FaceInfo)、出入记录类(AccessRecord)、出入记录管理类(AccessRecordManager)、面部信息管理类

(FaceInfoManager)。类02类类(Class)

是对一组具有相同属性、操作、关系和语义的对象的描述。类是对事物的抽象。它不是个体对象,而是描述一组对象的完整集合。类主要是由名称、属性和操作组成。用户类类的组成类必须各自有不同的类名称,类名称(Name)是一个字符串。类名一般采用小驼峰命名法,可以由数字、字母和下划线等符号组成,类名的长度没有限制。属性

(Attribute)

是已被命名的类的特性,它描述了该特性的实例可以取值的范围。

属性描述的一般语法格式为:可见性属性名:类型名[多重性][=初值]{特性串}操作(Operation)是服务的实现,该服务可以由类的任何对象请求以影响其行为。

其标准语法格式为:可见性 操作名(参数表):返回类型{特性串}。用户类的操作描述用户类属性接口接口(Interface)定义了一组操作的规范,但不包含这些操作的具体实现。在UML中,接口通常用一个带有“<<interface>>”标签的矩形来表示,接口名称放在矩形的顶部中心,接口的操作被列在接口名称下方的栏中。与类不同的是,接口中的操作不包含具体的实现,也没有属性部分。支付接口类的三种类型03实体类实体类具有永久的特性,这类似于数据库中的表一样用于保存系统的业务信息。在UML中,实体类的构造类型(Stereotype)

被设定为Entity。书籍实体类实体类图标形式边界类边界类(Boundary)

位于系统与外界的交接处,它在一个或多个角色和系统之间建立相互作用的模型。在UML中,边界类的构造类型(Stereotype)被设定为Boundary。书籍实体类边界类的图标形式控制类控制类(Control)是负责协调其他类的工作,它建立了一个或几个用例的行为模型。在UML中,控制类的构造类型(Stereotype)是Control。书籍管理模块控制类书籍控制类图标显示形式【示例4-1】从在线选课系统中的课程管理模块中找出所有的实体类、边界类和控制类。典型案例【示例4-1】类的关系04类的关系——依赖依赖(Dependency)

是一种使用关系,它说明了一个事物的变化可能影响到使用它的另一个事物,但反之未必。在UML中定义了4类基本依赖类型,

分别是使用(Usage)

依赖、抽象

(Abstraction)

依赖、授权

(Permis⁃sion)

依赖和绑定(Binding)

依赖。依赖关系类的关系——泛化泛化(Generalization)

是一般事物(称为父类或超类)

和较特殊事物(称为子类或孩子类)

之间的关系。在UML中,泛化使用从子类指向父类的实线箭头表示,指向父类的是一个空三角形。泛化关系类的关系——实现实现(Realization)

是类元(类)

之间的语义关系,关系中的一个类元(类)

描述了另一个类元(接口)

实现的契约。在UML中,实现关系是用一条带封闭箭头的虚线来表示,与泛化的符号很相似,这表示实现关系类似于一种继承关系。实现关系类的关系——关联关联(Association)

是一种结构关系,它描述了一个事物对象与另一个事物对象的相互联系。在UML中,关联关系是用一条直线表示。关联关系类的关系——关联在UML中,有4种可应用到关联的基本修饰:关联名、关联端的角色、关联端的多重性以及聚合与组合。

(1)关联名:关联可以通过命名的方式来描述关系的性质。

(2)角色:当一个类处于关联的某一端时,该类就在这个关系中扮演了一个特定的角色。

(3)多重性:表示一个关联的实例中有多少个相互连接的对象。

(4)聚合与组合:在实际建模中,有时往往需要对“整体/部分”的关系进行描述。这种关系在面向对象中就称为聚合。组合是聚合的一种形式,它具有强大的拥有关系,而且整体与部分的生命周期是一致的。【示例4-2】

分析图中类之间存在的关系。典型案例【示例4-2】类图的建模技术05对简单协作建模协作是动态交互在静态视图上的映射,协作的静态结构通过类图来描述。对协作建模要遵循如下策略:①识别要建模的机制。②对每种机制,识别参与协作的类、接口和其他协作,并识别这些事物之间的关系。③用协作的脚本检测事物。④把元素和它们的内容聚合在一起。协作是动态交互在静态视图上的映射,协作的静态结构通过类图来描述对数据库模式建模传统的E-R图只针对存储的数据,而类图则在此基础上,增加了行为建模的能力。使用类图对数据库模式建模时,要遵循的策略包括:①在系统中确定的类,它的状态必须超过其

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论