第04章:UML系统分析与设计-类图和对象图
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
类图的组成
在标准的UML定义中,有时还应当指明类的另一种信 息,那就是类的职责。类的职责指的是对该类的所有 对象所具备的那些相同的属性和操作共同组成的功能 或服务的抽象。 在声明类的职责的时候,可以非正式的在类图的下方 增加一栏,将该类的职责逐条描述出来。类的职责的 描述并不是必须的,因此也可以将其作为文档的形似 存在,也就是说类的职责其实只是一段或多段文本描 述。一个类可以有多种职责,设计得好的类一般至少 有一种职责。
类图的概念
在类图中,具体来讲
它一共包含了以下几 种模型元素,分别是: 类、接口、依赖关系、 泛化关系、关联关系 以及实现关系。
类图可以创建约束、 注释和包等。
类图的概念
2. 类图在项目开发中的作用
类图的作用是对系统的静态视图进行建模。当对系统的静态视图 进行建模时,通常是以以下三种方式来使用类图。 1. 为系统的词汇建模。 2. 模型化简单的协作。 3. 模型化逻辑数据库模式。
类图的组成
3. 类之间的关系
依赖关系:表示的是两个或多个模型元素之间语义上的连接关 系。它只将模型元素本身连接起来而不需要用一组实例来表达 它的意思。 它表示了这样一种情形,提供者的某些变化会要求或指示依赖 关系中客户的变化。也就是说依赖关系将二个类联系起来,其 中一个类会影响另一个类的行为和实现。
修改用户信息界面类(ModifyUserForm):主要描述修改用户信息的操作界面。 聊天界面类(ChatForm): 主要描述用户进行聊天的操作界面。 客户端工作类(Client):主要处理客户端与服务器的通信,它属于控制类。 窗口基类(Form):所有操作界面的基类。
创建类图案例分析
确定了客户端的类后,就要从中找到它们之间的关系,执 行分析这些类之后,可以发现它们之间存在着如下关系: 关联关系 所有的操作界面类与 Client 类之间就是一种普通的关联关 系;Client 类要使用 Message 类进行网络通信所以二者也是
创建类图案例分析
聊天系统由客户端和服务器端二个部分组成,提供了包括注册、客户登录、 添加好友、删除好友、私聊、群聊、好友上下线提示和用户管理的功能,这 些功能是由三层组成,即界面类、控制类和相应的实体类信息类。根据这些 功能中的名词可以基本的识别出客户端按系统要求可以抽象出如下十个类: 消息实体类(Message):用于描述在客户端和服务器端间所传递的消息对 象。
用户实体类(User):用于描述用户的信息。
登录界面类(LoginForm):主要用户描述操作登录的操作界面。 注册界面类(RegisterForm):主要用于描述用户注册的操作界面。 客户端主窗口类(ClientMainForm):主要描述客户端的主界面。
新增好友界面类(AddFriendForm):主要描述新增好友的操作界面。
创建对象图
2. 创建对象图
在Rational Rose 2003中不直接支持对象图的创建,但是我们可以利用协作 图来创建。在协作图中添加对象的步骤如下: 1. 在协作图的图形编辑工具栏中,选择 按钮,此时光标变为“+”号。 2. 在类图中单击选择任意一个位置,系统在该位置创建一个新的对象。 3. 双击该对象的图标,弹出对象的规范设置窗口。 4. 在对象的规范设置窗口中,可以设置对象的名称、类的名称、持久性和是 否多对象等。 5. 点击“OK”按钮即可。 在协作图中添加对象与对象之间的链的步骤如下: 1. 选择工具栏中的协作图图形编辑工具栏中的图标 ,或者选择菜单栏 “Tools”(工具)中“Create”(新建)下的“Object Link”选项,此时的光标 变为“↑”符号。 2. 单击需要链接的对象。 3. 将链的线段拖动到要与链接的对象中。 4. 双击链的线段,弹出设置链规范的对话框。 5. 在弹出的对话框中,在“General”选项卡中设置链的名称、关联、角色以 及可见性等。 6. 如需要在对象的两端添加消息,可以在“Messages”选项卡中进行设置。
类图的组成
泛化关系是用来描述类的一般和具体之间的关系。具体描 述建立在对类的一般描述的基础之上,并对其进行了扩展。 因此,在具体描述中不仅包含一般描述中所拥有的所有特 性、成员和关系,而且还包含了具体描述补充的信息。
类图的组成
关联关系是一种结构关系,指出了一个事物对象与另一个 事物对象之间的语义上的连接。
有了上面的类图,就可以用本章中介绍的创建对象
图的方法,为每一个类创建一个实例和彼此之间的
链来构成对象图。
关联关系;用户要通过客户端与操作界面交互也是一种关 联的关系。
泛化关系
所有的操作界面类都是一个窗口,因此都是窗口基类的派 生类。
创建类图案例分析
2. 确定属性和操作
• 每个类的操作都有所不同。我们确定的一些类的属性和操 作,为方便表示,我们使用英文标识。
创建对象图案例分析
对象图就是类图在系统运行时某一个时刻的实例,
创建类图案例分析
1. 确定类和关联
用例图实质上是一种系统描述的形式,自然可以根据用例描述来 识别类。针对各个用例,通常可以根据如下的问题辅助识别: 1. 用例描述中出现了那些实体? 2. 用例的完成需要哪些实体合作? 3. 用例执行过程中会产生并存储哪些信息? 4. 用例要求与之关联的每个角色的输入是什么? 5. 用例反馈与之关联的每个角色的输出是什么? 6. 用例需要操作哪些硬设备?
在设计数据库时,通常将数据库模式看作为数据库概念设计的蓝
图,在很多领域中,都需要在关系数据库或面向数据库中存储永 久信息。系统分析者可以使用类图来对这些数据库进行模式建模。
类图的组成
1. 类
类是面向对象系统组织结构的核心。类是对一组具有相 同属性、操作、关系和语义的事物的抽象。 在UML的图形表示中,类的表示法是一个矩形,这个矩 形由三个部分构成,分别是:类的名称(Name)、类的 属性(Attribute)和类的操作(Operation)。
类图的组成
类的约束指定了该类所要满足的一个或多个规则。在 UML中,约束是用一个大括号括起来的文本信息。
类图的组成
类的注释
类图的组成
2. 接口
类接口是在没有给出对象的实现和状态的情况下对对象行为的描述。 通常,在接口中包含一系列操作但是不包含属性,并且它没有对外界 可见的关联。 接口是一种特殊的类,所有接口都是有构造型<<interface>>的类。一 个类可以通过实现接口从而支持接口所指定的行为。 在UML中,接口的表示方式是使用一个带有名称的小圆圈来进行表示 的,并且我们可以通过一条Realize(实现关系)线与实现它的类相连 接
UML系统分析与设计
第四章:类图和对象图
学习内容
类图的概念
类图的组成
创建类图
对象图的概念
创建类图案例分析
创建对象图案例分析
类图的概念
1. 类图的概念
类图(Class diagram)显示了系统的静态结构,而系统的 静态结构构成了系统的概念基础。 类图,就是用于对系统中的各种概念进行建模,并描绘出 它们之间关系的图。 在大多数的 UML 模型中,我们可以将这些概念的类型概 括为以下四种,分别是: 1 类 2 接口 3 数据类型 4 构件
在UML中,类的属性的表示语法为([ ]内的内容是 可选的): [可见性] 属性名称 [:属性类型] [=初始值] [{属性 字符串}]
类图的组成
类的操作指的是类的所能执行的操作,也是类的一个
重要组成部分,描述了在软件系统中所代表对象具备 的动态部分的公共特征抽象。
操作由一个返回类型、一个名称以及参数表来描述。 其中,返回类型、名称和参数一起被称为操作签名 (Signature of the Operation)。操作签名描述了使用 该操作所必需的所有信息。在UML中,类的操作的表 示语法为([ ]内的内容是可选的): [可见性] 操作名称 [(参数表)] [:返回类型] [{属性 字符串}]
关联描述了系统中对象或实例之间的离散连接,它将一个 含有两个或多个有序表的类,在允许复制的情况下连接起 来。一个类关联的任何一个连接点都叫做关联端,与类有 关的许多信息都附在它的端点上。关联端有名称、角色、 可见性以及多重性等特性。
类图的组成
实现关系将一种模型元素(如类)与另一种模型元素(如接口) 连接起来,是说明和其实现之间的关系。 在实现关系中,接口只是行为的说明而不是结构或者实现,而 类中则要包含了其具体的实现内容,可以通过一个或多个类实 现一个接口,但是每个类必须分别实现接口中的操作。虽然实 现关系意味着要有像接口这样的说明元素,它也可以用一个具 体的实现元素来暗示它的说明(而不是它的实现)必须被支持。
创建类图
2. 创建类之间的关系
(1)创建和删除依赖关系。 (2)创建和删除泛化关系。 (3)创建和删除实现关系。 (4)创建和删除关联关系。
对象图的概念
Fra Baidu bibliotek
对象图的概念
对象图中包含对象(Object)和链(Link)。其中对 象是类的特定实例,链是类之间关系的实例,表示对 象之间的特定关系。
创建类图
1. 创建类
1. 在图形编辑工具栏中,选择 按钮,此时光标变为“+”号。 2. 在类图中单击选择任意一个位 置,系统在该位置创建一个新类。 系统产生的默认名称为 “NewClass”。 3. 在类的名称栏中,显示了当前 所有的类的名称,我们可以选择清 单中的现有类,这样便把在模型中 存在的该类添加到类图中。如果创 建新类,将“NewClass”重新命名 成新的名称即可。
类图的组成
类的名称是每个类的图形中所必须拥有的元素,用于同其 它类进行区分。类的名称通常来自于系统的问题域,并且 尽可能地明确表达要描述的事物,不会造成类的语义冲突。
类图的组成
属性是类的一个特性,也是类的一个组成部分,描 述了在软件系统中所代表的对象具备的静态部分的
公共特征抽象,这些特性是这些的对象所共有的。
对象图的概念
1. 对象图的组成
对象图(Object Diagram)是由对象(Object)和链 (Link)组成的。对象图的目的在于描述系统中参与 交互的各个对象在某一时刻是如何运行的。
对象图的概念
2. 对象图在项目开发中的作用
对象图作为系统在某一时刻的快照,是类图中的各个类在某一个 时间点上的实例及其关系的静态写照,可以通过以下几个方面来 说明它的作用: 1. 说明复杂的数据结构。对于复杂的数据结构,有时候很难对其 进行抽象成类表达之间的交互关系。使用对象描绘对象之间的关 系可以帮助我们说明复杂的数据结构某一时刻的快照,从而有助 于对复杂数据结构的抽象。 2. 表示快照中的行为。通过一系列的快照,可以有效表达事物的 行为。