软件建模技术 课件 任务7 使用对象图实现系统实例分析、任务8 使用组件图实现系统组件分析_第1页
软件建模技术 课件 任务7 使用对象图实现系统实例分析、任务8 使用组件图实现系统组件分析_第2页
软件建模技术 课件 任务7 使用对象图实现系统实例分析、任务8 使用组件图实现系统组件分析_第3页
软件建模技术 课件 任务7 使用对象图实现系统实例分析、任务8 使用组件图实现系统组件分析_第4页
软件建模技术 课件 任务7 使用对象图实现系统实例分析、任务8 使用组件图实现系统组件分析_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

任务7

使用对象图实现系统实例分析内容导图理解对象图和包图的基本概念。掌握使用UML来表示对象图和包图。能够使用UML工具绘制对象图和包图能够利用对象图和包图进行系统分析和设计。培养良好的模型驱动开发习惯,以模型为基础进行软件设计。提高抽象思维能力和问题分析能力,能够将现实世界的事物抽象为模型。对象图用于对包含在类图中的事物实例建模。对象图显示了在某一时间点一组对象以及它们之间的关系,使用对象图可以描述系统某一时刻的快照。当系统中的模型元素增加到一定程度时,需要使用包把建模元素进行分类管理。智慧校园系统已按计划完成类图和交互图的分析与设计,不过当这份文档提交给最终用户审查时,他们认为最好能用一个实例来说明系统的运作,请运用本节所学知识,完成如下任务:1.以用户充值为例绘制对象图;2.以日常生活自助服务用例模型为例绘制包图。对象图概述011.基本概念

在UML中,对象图(ObjectDiagram)是描述在某一时刻的一组对象以及它们之间关系的图形。对象图可以看作是类图在系统某一时刻的实例。对象图包含一组在类图中建立的事物的实例,因此对象图也可以被认为是描述系统交互的静态图形,它由协作的对象组成,但不包含在对象之间传递的任何消息。对象图表示的是被冻结的系统在运行时的某一瞬间的情况,类似于使用DVD播放机播放DVD光碟时,按下暂停(Pause)键时,出现的静止画面。2.对象在对象图中的“对象”(Object)与术语“实例”(Instance)的含义是一致的,实例是抽象的具体表示。一般来说,把类的具体表示称为对象,对象是类的实例。在图形上使用包含带下划线的实例名的矩形框表示一个实例(对象)。每一个实例都必须有一个唯一的名称(Name),名称(Name)是一个文本串,把一个单独的名称称为简单名(SimpleName),也可以加上对象所属类的包名,称为路径名(PathName)。在对实例命名的时候还可以指定实例所属于的类,在实例名和类名之间用冒号“:”分隔。既然对象是类的实例,那么对象就拥有在类中所声明的属性和方法。3.链链是两个或多个对象之间的独立连接,是关联的实例。通过链可以将多个对象连接起来,形成一个有序列表,称为元组。通常将两个对象之间的连接称为二元链。链在图形上使用一条不带箭头的实线表示。对象图的建模技术021.对象图的建模技术对对象结构建模涉及到在给定时刻抓取系统中对象的快照。当冻结一个运行的系统,或想象在某一时刻一个已被建模的系统,就会发现这样的一组对象:每一个对象都处于具体的状态,并与其他对象有特定的关系,这时对象图可以可视化这些对象的结构,这对于复杂的数据结构和系统,特别有效。要对对象结构建模,应遵循以下步骤:①确定参与交互的各对象的类,可以参照相应的类图和交互图;②确定类间的关系,如依赖、泛化、关联和实现;③确定在某特定时刻各对象的状态值,使用对象图为这些对象建模;④根据建模目标,绘制对象的关键状态和关键对象之间的连接关系。包图概述031.基本概念当对大型系统进行建模时,经常需要处理大量的类、接口、组件、节点等建模元素,这时有必要将这些元素进行分组,即把那些语义相近并倾向于一起变化的建模元素组织起来加入同一个“包”,这样方便理解和处理整个模型。包是用于把元素组织成组的通用机制。包有助于组织模型中的元素,使你更容易理解系统模型,也可以控制对包的内容的访问。UML提供了对包的图形表示法,这种表示法允许你对那些能够作为一个整体进行处理的成组元素进行可视化,并在某种程度上控制个体元素的可见性以及对它们的访问。2.包的名字和其他建模元素一样,每个包都必须有一个区别于其他包的名字。模型包的名字是一个字符串,它可以分为简单名(SimpleName)和路径名(PathName)。简单名是指一个单独的名称,表示了一个名字为“BusinessObject”的包;路径名是指以包所位于的外围包的名称作为前缀的包名,表示的是位于“BusinessObject”内的包“User”。3.包拥有的元素包是对模型元素进行分组的机制,它把模型元素划分成若干个子集。包可以拥有UML中其他元素,包括类、接口、组件、节点、协作、用例,甚至还可以包含其他子包。拥有是一种组合关系,这意味着建模元素被包括在“包”中,如果“包”被删除了,包内的建模元素也将随之被删除。包的作用不仅仅是为模型元素进行分组。它还为所拥有的模型元素构成一个命名空间,这意味着一个模型包内的各个同类建模元素不能具有相同的名字,但不同模型包的各个建模元素能具有相同的名字。4.包的可见性包在软件模型中不可能是孤立存在的,包内的模型元素必然会和外部的类存在某些联系。而好的软件模型中各个包间应该做到高内聚、低耦合。这意味着在包的内部,类之间的关系密切,而包与包之间的关联则相对较少。为了能做到这一点,应该对包内的元素加以控制,使得某些元素能被外界访问,某些元素不能被外界访问。这就是所谓的包内元素可见性控制。可见性可以分成3种,分别为:公有访问(Public):在包内元素前用前缀号(#)表示。保护访问(Protected):在包内元素前用前缀号(#)表示。和私有访问(Private):在包内元素前用前缀减号(-)表示。5.引入与导出引入(Import)使得一个包中的元素可以单向访问另一个包中的元素。引入关系使用构造型“<<import>>”表示。要注意的是引入并没有增加包中的内容,它只是扩大了包内元素的访问范围而已。导出(Export)指的是包中具有公有访问权限的内含元素,一个包中“导出”部分仅仅只对显示地引入这个包的其他包中的内含元素可见。6.泛化关系包间的泛化关系与类之间的泛化关系类似,涉及泛化关系的包遵循替代原理,即子包(特殊包)可以应用到父包(一般包)被使用的任何地方。包之间的泛化关系用一个带空心三角形的实线表示。7.标准元素UML的扩充机制同样适用于包元素,可以使用标记值来增加包的新特性,用构造型来描述包的新种类。UML定义了5种构造型来为其标准扩充,分别是虚包(Facade)、框架(Framework),桩(Stub)、子系统(Subsystem)和系统(System)。包图的建模技术041.包图的建模技术当需要为较复杂的系统建模时,使用包来组织建模元素是一种非常有效的建模方法。包将建模元素按语义进行分组,从而大大降低对复杂系统模型的构造、表达、理解和管理的难度,包在很多方面与类相似,但是它们还是存在很多不同的地方。对包建模可以遵循以下步骤:①分析系统的模型元素(通常是对象类),把概念上或语义上相近的模型元素归入同一个包。②对于每一个包,标出其模型元素的可视性,确定包内每个元素的访问属性,是公共、保护或私有。③确定包与包之间的依赖联系,特别是“引入”关系。④确定包与包之间的泛化关系。⑤绘制包图。⑥对结果进行精化和细化。绘制智慧校园系统用户充值模块对象图05智慧校园系统有用户充值模块,如果某一时刻,用户充值了1000块钱,这个时候,系统运行中对象的值会是一个什么状态呢?我们知道对象图就是类图在系统运行时某一瞬间的实例,那么,现在就根据前述绘制智慧校园系统的用户充值情景为例,展示某一个时刻的对象图的创建过程。(1)使用EA工具打开项目工程文件,右击“架构建模”目录,在弹出的菜单中选择“添加→添加图”项,在弹出的“新建图”对话框中,输入图的名称为“智慧校园对象图”,并选择“UMLStructural→Object”项。(2)打开所创建的对象图,从项目导航窗体中将充值管理类(InvestManager)、充值记录类(InvestRecord)、用户类(User)、第三方付款服务类(PaymentManager)和数据库管理类(DBManager)实例为对象加入到对象图中。在EA工具中选中对象,然后右键对象,选择“功能与属性”,选择“设置运行状态”,弹出“设置运行状态”对话框。给充值记录类(InvestRecord)和用户类(User)对象设置对象运行状态。(3)使用“工具箱”中的“ObjectRelationships”项中的链,实现将上述的对象连接起来。绘制智慧校园系统日常生活自助服务子模块包图06任何大型系统通常都被分解成若干个小的单元,方便人们可以一次只处理有限的信息,同时让协同开发的工作团队之间不会相互干扰,现在要求以智慧校园的日常生活自助服务子模块为例演示包图的绘制。(1)创建包图在项目浏览器视图中,单击“新建图”,选择“包图”,输入名称。(2)创建包按照用例所表示的内容,可以将“操作自助服务”、“操作洗衣自助服务”和“操作热水自助服务”用例放到“自助服务”包中,将“关闭洗衣机设备服务”、“启动洗衣机设备服务”、“连接洗衣机设备”、“关闭热水机服务”、“启动热水机服务”和“连接热水机设备”用例放到“启动与关闭设备”包中,将“结算”、“支付”、“刷脸支付”、“扫码支付”和“查询消费记录”放到结算与支付包中,将“维护自助设备”和“统计设备使用率”放到“设备管理与统计”包中,角色放到“Actors”包中。在包图的工具箱中,新增“Actors”、“自助服务”、“启动与关闭设备”、“结算与支付”、“设备管理与统计”5个包,然后我们将用例图中的元素分配到不同的包中进行管理。(3)添加包中的关系对创建的包图,添加必要的依赖和引入关系。整理后项目的用例模型的包结构。对象图呈现了系统内各个对象的实例以及它们之间的相互关系,不仅要求设计者对系统有全局的把握,还需要对每个对象的职责有清晰的认识。通过分析对象间的协作,培养团队合作精神,理解在集体中每个成员的重要性以及相互配合的必要性。与此同时,这一过程恰好体现了社会主义核心价值观中的“和谐”,即在团队协作中努力探寻平衡与协调的关键点,齐心协力共同朝着实现目标的方向奋勇前行。包图通过直观地展示系统中包的组织结构以及它们之间的依赖关系,为我们清晰地展现了模块化思维的关键重要性。在社会不断发展的进程中,这种模块化的思维方式同样具有广泛的适用性。我们将国家想象成一个庞大而复杂的系统,各个部门、行业、领域就如同这个系统中的包一样,它们既各自保持相对的独立性,又在诸多方面相互依存,共同构筑成国家这个有机的整体。这样的认知有助于我们更深入地理解企业治理所具有的复杂性和系统性特征,进而增强我们的系统思维能力和全局观念意识,还能够以更宏观、更全面的视角去审视和思考社会发展与国家治理中的各种现象和问题,为推动社会的进步和国家的发展贡献更多的力量。1.对象图对象图(ObjectDiagram)是描述在某一时刻一组对象以及它们之间关系的图形。对象图包含一组在类图中建立的事物的实例,因此对象图也可以被认为是描述系统交互的静态图形,它由协作的对象组成,但不包含在对象之间传递的任何消息。对象图可以看作是类图在系统某一时刻的实例。对象图中一般包括“对象”和“链”两类基本的模型元素。2.包包是用于把元素组织成组的通用机制。包有助于组织模型中的元素,使你更容易理解系统模型,也可以控制对包的内容的访问。UML提供了对包的图形表示法,这种表示法允许你对那些能够作为一个整体进行处理成组的元素进行可视化,并在某种程度上控制个体元素的可见性以及对它们的访问。在图形上,将包画为带标签的文件夹。任务8

使用组件图实现系统组件分析内容导图理解组件图的基本概念。理解组件之间的接口和依赖关系。掌握组件图的建模符号和元素。掌握使用UML组件图展示系统的物理架构。能够识别和定义系统中的软件组件及其功能。能够使用UML工具绘制组件图。能够使用组件图进行系统设计和分析。培养模块化设计的思维,理解如何将系统分解为独立、可重用的组件。培养逻辑推理、沟通和团队协作的能力。组件图是对面向对象系统的物理方面进行建模所用到的一种图,包括源代码的静态结构和运行时刻的实现结构。组件图显示的是组成系统的组件之间的组织及其依赖关系,即代码本身的逻辑结构。智慧校园系统的分析和设计已按计划完成,下一步将完成系统的组件图,用于表示系统的物理组件及其之间的关系,包括系统的组件之间的接口和依赖关系。用于帮助开发人员理解系统如何被分解为不同的可重用和可管理的部分,以及这些部分如何协作。组件图还可以用于识别系统的物理架构、部署需求和接口契约,从而为系统的实施和维护提供支持。请运用本节所学知识,完成如下任务:1.完成绘制智慧校园系统的组件图。组件图概述011.基本概念在对软件建模的过程中,可以使用用例图来表示系统的功能,使用类图来描述业务中的事物,使用活动图、交互图、状态机图来对系统动态行为建模。在完成这些设计后,分析人员就需要将这些逻辑设计图转化成实际的事物,如可执行文件、源代码、应用程序库等。在此过程中,你会发现有些组件必须重新建立,而有些组件则可以进行复用。因此,可以使用组件图来可视化物理组件以及它们之间的关系,并描述其构造细节。组件图是对面向对象系统的物理方面建模时使用的两种类型图之一(另一种图是部署图),用于描述软件组件以及组件之间的组织和依赖关系。构成组件图的元素包括组件(Component)、接口(Interface)和关系(Relationship),还可以包括包(Package)和子系统(Subsystem),它们有助于将系统中的模型元素组织成更大的组块。2.组件组件是系统中遵从一组接口且提供实现的一个物理部件,通常指开发和运行时类的物理实现。组件常用于对可分配的物理单元建模,这些物理单元包含模型元素,并具有身份标识和明确定义的接口,它具有很广泛的定义,以下的一些内容都可以被认为是组件:程序源代码、子系统、动态链接库等。组件的图形表示法是把组件画成带有两个标签的矩形。3.接口接口是一组用于描述类或组件的一个服务的操作,它是一个被命名的操作的集合,与类不同,它不描述任何结构(因此不包含任何属性),也不描述任何实现(因此不包括任何实现操作的方法)。每个接口都有一个唯一的名称。名称(Name)是一个文字串。单独的一个名称称为简单名(SimpleName);路径名(PathName)是以接口所在的包的名称为前缀的接口名。接口在图形上使用圆来表示。4.关系关系是事物之间的联系,在面向对象的建模中,最重要的关系是依赖、泛化、关联和实现,但组件图中使用最多的是依赖和实现关系。从概念上理解,组件图可以算作一种特殊的类图,它重点描述系统的组件以及它们间的关系。组件图中的依赖关系使用虚线箭头表示。实现关系使用实线表示。实现关系多用于组件和接口之间。组件可以实现接口。这只是一种简单的说法,实际上是组件中的类实现了接口中的定义的方法。组件图的建模技术021.组件图的建模技术组件图用于对系统的静态实现视图建模,这种视图主要支持系统部件的配置管理。通常可以按下列四种方式之一来使用组件图。1.对源代码建模2.对可执行体的发布建模3.对物理数据库建模4.对可适应的系统建模使用组件图建模的步骤可按照下列步骤进行:(1)对系统中的组件建模;(2)定义相关组件提供的接口;(3)对它们间的关系建模;(4)对建模的结果进行精化和细化。绘制智慧校园系统组件图03组件图主要用于展示系统中各个模块或组件之间的结构关系和交互方式。它能够帮助开发团队理解系统的整体架构,明确各个功能模块如何协同工作、数据如何流动,并揭示组件之间的依赖关系。绘制智慧校园系统组件图的目标是展示系统的整体架构以及各个功能模块如何相互协作,从而为后续的系统设计和开发提供基础。通过前面章节对智慧校园系统架构建模和需求建模,知晓该系统中的主要功能模块有充值管理模块、用户管理模块、维修单管理模块等。(1)使用EA工具打开项目工程文件,右击“应用建模”目录,在弹出的菜单中选择“增加→新建增图”项,在弹出的“创建新视图”对话框中输入名称为“组件图”,并选择“组件图”。(2)右键单击“组件图”包,在弹出的菜单中选择“添加图”项,图的名称为“智慧校园组件图”,并选择“UMLStructural→Component”项。(3)右键单击“组件图”包,在弹出的菜单中选择“添加元素”项,写上组件的名称,工具选择“UML:Component

温馨提示

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

评论

0/150

提交评论