体系结构第2章

上传人:wt****50 文档编号:50178676 上传时间:2018-08-07 格式:PPT 页数:27 大小:217KB
返回 下载 相关 举报
体系结构第2章_第1页
第1页 / 共27页
体系结构第2章_第2页
第2页 / 共27页
体系结构第2章_第3页
第3页 / 共27页
体系结构第2章_第4页
第4页 / 共27页
体系结构第2章_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《体系结构第2章》由会员分享,可在线阅读,更多相关《体系结构第2章(27页珍藏版)》请在金锄头文库上搜索。

1、第二章 类图在本章中,将学习下列内容: 类的可视化表示。 属性。 操作。 职责和约束。 类的发现。2.1 类的可视化表示正如前一章中所指出的,在UML中一个放形表示一个类的图标。按照UML的约定,类名的首字母大写,放在矩形的偏上部。如果类名是由两个单词组成,那么将这两个单词合并,第一个单词首字母大写。如果WashingMachine(洗衣机)类是HousehouldAppliances(家用电器)包的部分,那么这个类的名字为: HouseholdAppliances:WashingMachine。包名在左,类名在右,中间用双冒号隔开。这种类型的类名叫路 径名(pathname)。如下图所示。2

2、.2 属性属性是类的一个特性。它描述了类的对象(也就是类的实例)所具有的一系列特性值。一个类可以具有零个到多个属性。按照UML的约定,单字属性名小写。如果属性名包含了多个字,这些字要合并,并且除了第一个字外其余字首字母要大写。属性名列表放在类名之下,并且和类名之间用分隔线隔开,如下图所示。类的属性在该类的每个对象中都有具体值。下图是一个例子。注意,对象名首字母小写,后面跟一个冒号,冒号后面是该对象所属的类名,并且整个名字要带下划线。名字myWasher:WashingMachine是一个命名实例。也可以有诸如:WashingMachine这样的匿名实例。UML还允许指明属性的附加信息。在类的图

3、标里,你可以指定每个属性值的类型。可能的类型包括字 符串(string)、浮点数(floating-point)、整数(integer)和布尔(bool)型(以及其他的枚举类型)。要指明类型,则在属性值后面加上类型名,中间用冒号隔开。还可以为属性指定一个缺省值。下图说明了属性的各种表示方式。枚举类型(enumerated type)是由一系列被命名的值所定义的一种数据类型。例如Boolean类型就是个枚举类型,因为它只有两种可能的值“true”和“faIse”。可以自己定义所需使用的枚举类型,例如状态类型 ,它由“固体”、“液体”和“气体“状态值组成。2.3 操作操作(operatin)是类能

4、够做的事情,或者别的类能对这个类做的事情。和属性名的表示类似,单字操作名小写。如果操作名包含了多个字,这些字要合并,并且除了第一个字外其余字首字母要大写。操作名列表放在属性名列表之下,两者之间用分隔线隔开,如下图所示。就像给属性指定附加信息一样,你也可以为操作指定附加信息。在操作名后面的括号中可以说明操作所需要的参数和参数的类型。有一种操作叫函数 (function),它在完成操作后要返回一个返回值。可以指明函数的返回值及返回值的类型。上述全部的操作 信息被称为操作的型构(signature)。下图说明了如何表达型构。2.4 属性、操作和可视化表达当同时表示多个类的时候,通常没必要总是显示这些

5、类的所有属性和操作,这样做会使图形表示比较混乱。相反,可以只给出类名,而将属性或者 操作区(或者两者全部)空着。有时,只显示类的一部分属性和操作很有用。为了说明你只表示出部分操作和属性,可以在列表 的后面加上3个小点“”。这个符号叫省略符(ellipsis),这种省略了一个或多个属性或者操作的表示法叫做类的省略表示法。下图说明了类的省略表示法。如果属性或名操作列表太长,可以用构造型来组织属性或操作列表,以方便理解。构造型是UML提供的扩展机制,它允许你创建新的模型元素以解决具 体问题。第1章中已经提到过,构造型用双尖角括号括住的名字来表示。对属性列表,可以使用一个构造型作为部分属性的标题,如下

6、图所示。2.5 职责和约束类图标中还可以指明另种类的信息。在操作列表框下面的区域,你可以用来说明类的职责。职 责(responsibility)描述了类做什么也就是类的属性和操作能完成什么任务。例如,一台洗衣机的职责是将脏衣服作为输入,输出洗干净的衣服。在图标中,职责在操作区域下面的区域中说明。更形式化的方式是使用约束(constraint),它是一个用花括号括起来的自由格式的文本。括号中的文本指定了该类所要满足的一个或者多个规则。例如,假 设你想指定WashingMachine类的洗衣机容量只能是16、18或者20磅(也就是说对WashingMachine类的capacity属性施加约束),

7、你可以在WashingMachine类图标的旁边写个约束,如下图所示。UML提供了另一种方式(也是非常形式化的一种表达方式)表示施加约束,以便模型元素的语义定义更加明确。它实际上是也一个完整的语言,被称为对 象约束语言(ObjectConstraint Language,0CL)。0CL是UML的一个高级的但是很有用的工具,有自己的规则、术语和操作符。2.6 附加注释除了上面介绍过的属性、操作、职责和约束之外,还可以以对类附加注释的形式给类添加更多的信息 。下图中的注释说明了serialNumber(序列号)属性引用了政府标准,根据这个注释就可以参考相关标准以查 阅如何生成WashingMac

8、hng类对象的serialNumber属性值。2.7 类应该做什么和如何识别它们类代表的是领域知识中的词汇和术语。同客户交谈,分析他们的领域知识,设计用来解决领域中的问题的计算机系统,同时也就是在学习这些领域词汇, 并用UML中的类建立这些领域词汇的类模型。在与客户的交谈中,要注意客户用来描述业务实体的名词术语。这些名词可作为领域模型中的类。还要注意你听到的动词,因为这些动词可能会构成这些类中的操作。当得到一组类的核心列表后,应当向客户询问在业务过程中每个类的作用。他们的回答将告诉你这些类的职责。假设你是一个系统分析员,要建立篮球比赛模型,现在你正在会见一名教练员来了解比赛规则情况。谈话的过程

9、可能如下:分析员:“教练,请大致介绍一下篮球比赛。”教练员:“比赛的目标是要把篮球投入蓝框并且要尽量比对手得更多的分。每个篮球队由5名队员组成:两名后卫、两名前锋和一名中锋。每个队要将球 推进到篮框附近,目的是将篮球投中篮框。”分析员:“如何将球推进?”教练员:“通过运球和传球。但是某一方篮球队必须在规定的进攻时间内投篮。”分析员:“规定的进攻时间?”教练员:“是的,在某一方获得控球权后,必须在规定的进攻时间内投篮。美国职业篮球比赛是24秒,国际篮球比赛是30秒,美国大学篮球比赛是35秒。”分析员:“如何计算篮球比赛得分?”教练员:“三分线之内每投中一坎篮柜得两分,三分线之外投中一次得三分。一

10、次罚球得分。顺便说一下,罚球是对方犯规后判罚的投球。如果某一个队员犯规,则比赛暂停,由被侵犯的队员在罚球线处 罚球。”分析员:“再详细说明一下每个篮球队员在比赛中的情况好吗?”教练员:“后卫队员通常主要是运球和传球。他们般都比前锋队员矮,前锋队员通常又比中锋矮。所有的队员必须都要能运球、传球、投球、抢篮板球,大部分抢篮板球和中距离投篮都由前锋队员完成, 而中锋通常离篮框最近,一般出他来篮下进攻。”分析员:“场地大小如何?另外,每场比赛时间是多少?”教练员:“国际比赛场地为28米长、15米宽。蓝框离地面3.05米高。在美国职业篮球比赛中,一场比赛为48分钟,分为4节,每节12分钟。在美国大学和国

11、际比赛中,一场比赛40分钟,分为上下两个20分钟的半场。有专门的比赛时钟记录比赛还剩下多少时间。我们现在停止说明这些对话,来看看谈话的内容。下面是你在对话中发现的名词:篮球(Ball)、篮框(Basket)、篮球队(Team)、队员(Player)、后卫队员(Guard)、前锋队员(Forward)、中锋(Center)、投球(Shot)、进攻时间时钟(Shot Clock)、三分线(threepoint line)、罚球(free throw)、犯规(Foul)、罚球线(free-throw line)、球场(Court)、比赛时钟(GameClock)。还有些动词:投篮(shoot)、推进

12、(advance)、运球(dribble)、传球(Pass)、犯规(Foul)、抢篮板球(rebound)。你还可得到上述名词的一些附加信息例如每个位置的队员的相对高度、篮球场大小、进攻时间以及比赛时间。最后,根据常识可以为这些类建立一些属性和操作。例如,通常球类都有体积(vo1ume)和直径(diameter)等属性。使用这些信息,你可以建立一个如下图所示的图。它说明了领域中的类,并提供了些属性、操作和约束。这个图也可以表示职责。2.8 小结UML的类图标是由一个矩形表示的。类名字、属性、操作和职责都在区域中有各自的方框。可以使用构造型来组织属性和操作名列表。可以使用类的省略表示法,只表示出类的一部分属性和操作。这样可以使类图比较清晰。可以在类图标中指定属性的类型和初始值,还可以指明操作执行时所需要的参数和参数的类型。对一个操作来讲,这些附加信息被称作型构。为了减少描述类时的二义性,可以对类施加约束。 UML还允许对模型元素附加注释来说明有关模型元素更多的附加信息。类表达的是领域知识中的词汇。与客户或者领域中的专家交谈可以发现些类模型中的名词和可能成为操作的动词。你可以使用一个类图来促进和客户的 进步交流,以揭示出更多的领域知识。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号