第04章:UML系统分析与设计-类图和对象图_第1页
第04章:UML系统分析与设计-类图和对象图_第2页
第04章:UML系统分析与设计-类图和对象图_第3页
第04章:UML系统分析与设计-类图和对象图_第4页
第04章:UML系统分析与设计-类图和对象图_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

第四章:类图和对象图

UML系统分析与设计学习内容类图的概念类图的组成创建类图对象图的概念创建类图案例分析创建对象图案例分析类图的概念1.类图的概念类图(Classdiagram)显示了系统的静态结构,而系统的静态结构构成了系统的概念基础。类图,就是用于对系统中的各种概念进行建模,并描绘出它们之间关系的图。在大多数的UML模型中,我们可以将这些概念的类型概括为以下四种,分别是:

1类2接口3数据类型4构件类图的概念在类图中,具体来讲它一共包含了以下几种模型元素,分别是:类、接口、依赖关系、泛化关系、关联关系以及实现关系。类图可以创建约束、注释和包等。类图的概念2.类图在项目开发中的作用类图的作用是对系统的静态视图进行建模。当对系统的静态视图进行建模时,通常是以以下三种方式来使用类图。1.为系统的词汇建模。2.模型化简单的协作。3.模型化逻辑数据库模式。在设计数据库时,通常将数据库模式看作为数据库概念设计的蓝图,在很多领域中,都需要在关系数据库或面向数据库中存储永久信息。系统分析者可以使用类图来对这些数据库进行模式建模。类图的组成类类是面向对象系统组织结构的核心。类是对一组具有相同属性、操作、关系和语义的事物的抽象。在UML的图形表示中,类的表示法是一个矩形,这个矩形由三个部分构成,分别是:类的名称(Name)、类的属性(Attribute)和类的操作(Operation)。类图的组成类的名称是每个类的图形中所必须拥有的元素,用于同其它类进行区分。类的名称通常来自于系统的问题域,并且尽可能地明确表达要描述的事物,不会造成类的语义冲突。类图的组成属性是类的一个特性,也是类的一个组成部分,描述了在软件系统中所代表的对象具备的静态部分的公共特征抽象,这些特性是这些的对象所共有的。在UML中,类的属性的表示语法为([]内的内容是可选的):[可见性]属性名称[:属性类型][=初始值][{属性字符串}]

类图的组成类的操作指的是类的所能执行的操作,也是类的一个重要组成部分,描述了在软件系统中所代表对象具备的动态部分的公共特征抽象。操作由一个返回类型、一个名称以及参数表来描述。其中,返回类型、名称和参数一起被称为操作签名(SignatureoftheOperation)。操作签名描述了使用该操作所必需的所有信息。在UML中,类的操作的表示语法为([]内的内容是可选的):[可见性]操作名称[(参数表)][:返回类型][{属性字符串}]类图的组成在标准的UML定义中,有时还应当指明类的另一种信息,那就是类的职责。类的职责指的是对该类的所有对象所具备的那些相同的属性和操作共同组成的功能或服务的抽象。在声明类的职责的时候,可以非正式的在类图的下方增加一栏,将该类的职责逐条描述出来。类的职责的描述并不是必须的,因此也可以将其作为文档的形似存在,也就是说类的职责其实只是一段或多段文本描述。一个类可以有多种职责,设计得好的类一般至少有一种职责。类图的组成类的约束指定了该类所要满足的一个或多个规则。在UML中,约束是用一个大括号括起来的文本信息。类图的组成类的注释类图的组成2.接口类接口是在没有给出对象的实现和状态的情况下对对象行为的描述。通常,在接口中包含一系列操作但是不包含属性,并且它没有对外界可见的关联。接口是一种特殊的类,所有接口都是有构造型<<interface>>的类。一个类可以通过实现接口从而支持接口所指定的行为。在UML中,接口的表示方式是使用一个带有名称的小圆圈来进行表示的,并且我们可以通过一条Realize(实现关系)线与实现它的类相连接

类图的组成3.类之间的关系依赖关系:表示的是两个或多个模型元素之间语义上的连接关系。它只将模型元素本身连接起来而不需要用一组实例来表达它的意思。它表示了这样一种情形,提供者的某些变化会要求或指示依赖关系中客户的变化。也就是说依赖关系将二个类联系起来,其中一个类会影响另一个类的行为和实现。类图的组成泛化关系是用来描述类的一般和具体之间的关系。具体描述建立在对类的一般描述的基础之上,并对其进行了扩展。因此,在具体描述中不仅包含一般描述中所拥有的所有特性、成员和关系,而且还包含了具体描述补充的信息。类图的组成关联关系是一种结构关系,指出了一个事物对象与另一个事物对象之间的语义上的连接。关联描述了系统中对象或实例之间的离散连接,它将一个含有两个或多个有序表的类,在允许复制的情况下连接起来。一个类关联的任何一个连接点都叫做关联端,与类有关的许多信息都附在它的端点上。关联端有名称、角色、可见性以及多重性等特性。类图的组成实现关系将一种模型元素(如类)与另一种模型元素(如接口)连接起来,是说明和其实现之间的关系。在实现关系中,接口只是行为的说明而不是结构或者实现,而类中则要包含了其具体的实现内容,可以通过一个或多个类实现一个接口,但是每个类必须分别实现接口中的操作。虽然实现关系意味着要有像接口这样的说明元素,它也可以用一个具体的实现元素来暗示它的说明(而不是它的实现)必须被支持。创建类图1.创建类

1.在图形编辑工具栏中,选择按钮,此时光标变为“+”号。

2.在类图中单击选择任意一个位置,系统在该位置创建一个新类。系统产生的默认名称为“NewClass”。

3.在类的名称栏中,显示了当前所有的类的名称,我们可以选择清单中的现有类,这样便把在模型中存在的该类添加到类图中。如果创建新类,将“NewClass”重新命名成新的名称即可。创建类图2.创建类之间的关系

(1)创建和删除依赖关系。(2)创建和删除泛化关系。(3)创建和删除实现关系。(4)创建和删除关联关系。对象图的概念对象图的概念对象图中包含对象(Object)和链(Link)。其中对象是类的特定实例,链是类之间关系的实例,表示对象之间的特定关系。对象图的概念1.对象图的组成对象图(ObjectDiagram)是由对象(Object)和链(Link)组成的。对象图的目的在于描述系统中参与交互的各个对象在某一时刻是如何运行的。对象图的概念2.对象图在项目开发中的作用对象图作为系统在某一时刻的快照,是类图中的各个类在某一个时间点上的实例及其关系的静态写照,可以通过以下几个方面来说明它的作用:1.说明复杂的数据结构。对于复杂的数据结构,有时候很难对其进行抽象成类表达之间的交互关系。使用对象描绘对象之间的关系可以帮助我们说明复杂的数据结构某一时刻的快照,从而有助于对复杂数据结构的抽象。2.表示快照中的行为。通过一系列的快照,可以有效表达事物的行为。创建对象图2.创建对象图在RationalRose2003中不直接支持对象图的创建,但是我们可以利用协作图来创建。在协作图中添加对象的步骤如下:1.在协作图的图形编辑工具栏中,选择按钮,此时光标变为“+”号。2.在类图中单击选择任意一个位置,系统在该位置创建一个新的对象。3.双击该对象的图标,弹出对象的规范设置窗口。4.在对象的规范设置窗口中,可以设置对象的名称、类的名称、持久性和是否多对象等。5.点击“OK”按钮即可。在协作图中添加对象与对象之间的链的步骤如下:1.选择工具栏中的协作图图形编辑工具栏中的图标,或者选择菜单栏“Tools”(工具)中“Create”(新建)下的“ObjectLink”选项,此时的光标变为“↑”符号。2.单击需要链接的对象。3.将链的线段拖动到要与链接的对象中。4.双击链的线段,弹出设置链规范的对话框。5.在弹出的对话框中,在“General”选项卡中设置链的名称、关联、角色以及可见性等。6.如需要在对象的两端添加消息,可以在“Messages”选项卡中进行设置。创建类图案例分析1.确定类和关联用例图实质上是一种系统描述的形式,自然可以根据用例描述来识别类。针对各个用例,通常可以根据如下的问题辅助识别:1.用例描述中出现了那些实体?2.用例的完成需要哪些实体合作?3.用例执行过程中会产生并存储哪些信息?4.用例要求与之关联的每个角色的输入是什么?5.用例反馈与之关联的每个角色的输出是什么?6.用例需要操作哪些硬设备?创建类图案例分析聊天系统由客户端和服务器端二个部分组成,提供了包括注册、客户登录、添加好友、删除好友、私聊、群聊、好友上下线提示和用户管理的功能,这些功能是由三层组成,即界面类、控制类和相应的实体类信息类。根据这些功能中的名词可以基本的识别出客户端按系统要求可以抽象出如下十个类:消息实体类(Message):用于描述在客户端和服务器端间所传递的消息对象。用户实体类(User):用于描述用户的信息。登录界面类(LoginForm):主要用户描述操作登录的操作界面。注册界面类(RegisterForm):主要用于描述用户注册的操作界面。客户端主窗口类(ClientMainForm):主要描述客户端的主界面。新增好友界面类(AddFriendForm):主要描述新增好友的操作界面。修改用户信息界面类(ModifyUserForm):主要描述修改用户信息的操作界面。聊天界面类(ChatForm):主要描述用户进行聊天的操作界面。客户端工作类(Client):主要处理客户端与服务器的通信,它属于控制类。窗口基类(Form):所有操作界面的基类。创建类图案例分析确定了客户端的类后,就要从中找到它们之间的关系,执行分析这些类之后,可以发现它们之间存在着如下关系:关联关系所有的操作界面类与Client类之间就是一种普通的关联关系;Client类要使用Message类进行网络

温馨提示

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

评论

0/150

提交评论