第三章类图3.1类图的概念3.2UML中的类3.3类图中的关系3.4阅读类图3.5如何建立类图3.6Rose2003类图操作3.1类图的概念1、类图类图是描述类、协作(类或对象间的协作)、接口及其关系的图。类图是逻辑视图的重要组成部分,用于对系统的静态结构建模,涉及到具体的实现细节。在系统分析阶段,类图主要用于显示角色和提供系统行为的实体的职责;在系统设计阶段,类图主要用于捕捉组成系统体系结构的类结构;在系统编码阶段,根据类图中的类及它们之间的关系实现系统的功能。3.1类图的概念图3-1电子商务网站的对象模型3.1类图的概念2、类图的作用类图常用来描述业务或软件系统的组成、结构和关系。3、类图的组成元素类接口协作关系注释约束包3.2UML中的类1、类的表示(1)类的定义类是具有相似结构、行为和关系的一组对象的描述符。(2)类的表示ClassNameattribute1attribute2attribute3opname1()opname2()opname3()3.2UML中的类(3)类的命名由字符、数字、下划线组成的惟一的字符串;采用CamelCase格式(大写字母开头,混合大小写,每个单词一大写开始,避免使用特殊符号)类名的两种表示方法简单名Order路径名java::awt::RectangetbusinessRule::Order3.2UML中的类(4)类的属性属性描述了类的静态特征;属性名的第一个字母小写;属性的定义格式[可见性]属性名[:类型][‘[’多重性[次序]‘]’][=初始值][{特性}]说明:可见性包括+、-、#、~例:#visibility:Boolean=falsecolors:Color[3]points:Point[2..*ordered]name:String[0..1]3.2UML中的类(5)类的操作操作名的命名规范习惯采用和属性名相同的命名规则。类的操作的定义格式[可见性]操作名[(参数列表)][:返回类型][{特性}]例:+hide():Boolean#create()-attachXWindow(xwin:XwindowPtr)3.2UML中的类(6)类的职责职责指类承担的责任和义务。在矩形框中最后一栏中写明类的职责。WashingMachineBrandnameModelnameSerialnumberCapacityAddclothes()Adddetergent()Removeclothes()Takedirtyclothesasinputandproducecleanclothesasoutput3.2UML中的类(7)类的约束约束指定了类所要满足的一个或多个规则。在UML中,约束是用花括号括起来的自由文本。WashingMachineBrandnameModelnameSerialnumberCapacityAddclothes()Adddetergent()Removeclothes(){capacity=16or18or20lb}3.2UML中的类2、类的种类(1)抽象类当某些类有一些共性的方法或属性时,可以定义一个抽象类来抽取这些共性,然后将包含这些共性方法和属性的具体类作为该抽象类的继承;抽象类是一种不能直接实例化的类,不能用抽象类创建对象;抽象类可以实现多态;3.2UML中的类(1)抽象类在UML中,抽象类和抽象方法的表示是将其名字用斜体表示。3.2UML中的类(2)接口接口是一种类似于抽象类的机制,是一个没有具体实现的类。接口可以实现多态;在UML中接口有两种表示方法:《Interface》图标表示法Collection构造符号表示法3.2UML中的类(3)关联类当两个类之间具有多对多的关系,并且有些属性不属于关联两端任何一个类;关联类通过一条虚线和对应的关联连接;3.2UML中的类(4)主动类主动类的实例称为主动对象,一个主动对象拥有一个控制线程并且能够发起控制活动;具有独立的控制期。从某种意义上说,它就是一个线程。在UML2.0中,主动类的表示方法为:在类的两边加上垂直线。3.2UML中的类(5)嵌套类将一个类的定义放在另一个类定义的内部,这就是嵌套类。在UML中,可以采用一个锚图标来表示这种关系3.3类图中的关系按照关系的性质分为4种:关联1、包含2、泛化3、依赖4、实现关联association关联是模型元素间的一种语义联系,当类之间在概念上有连接关系时,类之间的连接叫做关联。队员和球队之间的关联,可以用短语“队员为篮球队效力”来刻画,图形表示为:PlayerTeamplaysonClass1Class2associationnamerolename1rolename2multiplicity1multiplicity2关联关联有名称、角色、多重性和导航性等语法。(1)关联名描述关联的作用;通常使用动词或动词短语;关联(2...