第二章 理解和使用面向对象的方法

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

理解和使用面向对象的方法第二章回顾•什么是建模•UML是一种建模工具、•UML用于许多应用领域•UML用于SDLC的所有阶段•“4+1视图”体系结构模型•UML的组成2目标3•理解类图和对象图的概念•掌握在分析期间识别类•掌握表示类之间的关系类和对象•类-类是一组对象的描述,这组对象具有共同的属性、行为(操作)、关系和语义•对象-不严格地说,对象代表一个实体,该实体可以是物理实体、概念实体或软件实体4类图5AccountHolder-name:String-age:integer+status:Boolean+getName():String+setName(sName:String)类名类属性类方法约束•可以用约束(constraint)来添加足够的信息,使类的描述更加明确。•约束用括号括起来的字符串表示6Professorname:Stringage:Integer{age40}注释•通过注释的方式可以对类附加更多的信息7Professorname:Stringid:Integer个人在软件系统中的编号如何识别类?•问题陈述中的名词•对问题领域的了解•用例•物理实体•设备•事件•扮演的角色•操作程序•地点•组织单元8•有形的东西•事件•扮演的角色•交互•位置•组织单元•需求陈述•用例•应用程序专家•系统的研究•类似的系统•以前的系统关联•关联是类之间的联系•关联的名称应该反映关系的用途,并且是一个动词;该名称可以忽略,尤其是使用角色名的时候。•应该尽量避免使用“具有”和“包含”这样的名称,因为它们不包含说明类之间具有什么关系的信息。•角色名相对于类必须是唯一的。角色名应该是一个名词,它表示被关联的对象相对于关联对象的角色。角色名放在关联线一端的旁边。9客户帐户持有被拥有单向关联•如果类与类之间的联系是单向的,则称为导航关联。•导航关联用实线箭头连接两个类,只有在箭头方向上才有这种关联关系。10人汽车拥有关联的约束•两个类之间的一个关联需要一个规则约束,可以通过在关联线附近加注一个约束来说明这个规则。11{顺序}出纳员顾客服务银行的出纳要为顾客服务,但是服务的顺序要按照顾客排队的顺序进行关联类12与后者有约和类一样,关联也可以拥有自己的属性和操作,此时这个关联实际上就是一个关联类(associationclass)多重性•多重性(multiplicity)定义有多少对象参与了某个关系。13球员球队111参加多重性存在多种可能14限定关联1599TheatreSeat1TheatreSeat1行{1,2,…9}列{1,2,..11}99递归关联16当一个类与它自己发生关联的时候,我们称其为“递归关联”(reflexiveassociation)继承和泛化17泛化•在面向对象的术语中,上述关系被称为继承(inheritance)。•UML中称它为泛化(generalization),定义是:将类抽象为更一般的类的过程。被泛化的类称为子类,得到的类称为超类。18展开类分层结构19依赖(dependency)•描述的是两个模型元素之间的语义上的连接关系。其中一个模型元素是独立的,而另外一个依赖于独立的这个模型元素,当独立的模型元素发生变化时将会影响依赖于该模型元素的模型元素。20类B《使用》类A聚集(aggregation)•聚集(aggregation)表示整体与各部分之间的关系211计算机主机显示器键盘鼠标一个空心菱形连接到聚集体(整体)一侧的关联路径端组成22组成是一种整体和部分所属更强的聚集关系,每个部分只能属于一个整体,没有整体,部分也没有存在的价值114桌子桌腿桌面一个实心菱形连接到关联路径端(在整体一侧)接口和实现23•接口是用于指定类或组件的服务的操作的集合。•接口的表示法和类大致相同,都是用一个矩形来表示,并在矩形框中接口的名称上方放置构造型《interface》进行说明。《interface》ShapeDraw()Move()Scale()Rotate()实现(realization)•类和接口之间的关系称为实现(realization)。实现关系用一个带空心三角形箭头的虚线来表示,箭头的方向指向接口。24《interface》ShapeDraw()Move()Scale()Rotate()TubePyramid接口省略表示法25TubeShape对象图26类图表示类及类间的关系,而对象图表示这些类在某一时刻的实例及实例间的关系ProfessorNamename:StringAgeage:IntegerProfessor类图Mr.Bill:ProfessorNamename=BillAgeage=39Professor类对象图•图2–1是售票系统的类图,它只是售票系统领域模型的一部分。图中表示了几个重要的类,如Customer、Reservation、Ticket和Performance。顾客可多次订票,但每一次订票只能由一个顾客来执行。有两种订票方式:个人票或套票;前者只是一张票,后者包括多张票。每一张票不是个人票就是套票中的一张,但是不能又是个人票又是套票中的一张。每场演出都有多张票可供预定,每张票对应一个唯一的座位号。每次演出用剧目名、日期和时间来标识。2728总结2-1•类图标是一个包括三个部分的矩形•对象以名称带下划线的矩形表示•约束允许在现有UML模型中加入新的语义或更改现有的语义•关系以线条的形式来模型化,不同类型的线条用于表示不同类型的关系•多重性定义有多少对象参与了某个关系29总结2-2•聚集表示整体与各部分之间的关系•组成是一种强类型聚集关系,表明了部分和整体之间很强的所属关系和一致的生命周期•依赖关系表示模型元素之间的语义关系•发生在同一个类的对象之间的关联称为“递归关联”•使用泛化原则共享属性和操作的机制称为“继承”•接口是用于指定类或组件的服务的操作的集合。30

1 / 30
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功