类图和对象图课件.ppt
《类图和对象图课件.ppt》由会员分享,可在线阅读,更多相关《类图和对象图课件.ppt(69页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、类图和对象图类图和对象图第1页,此课件共69页哦建立建立Use CaseUse Case图步骤:图步骤:(1 1)找出系统外部的活动者和外部系统,确定系)找出系统外部的活动者和外部系统,确定系统的边界和范围。统的边界和范围。(2 2)确定每一个活动者所期望的系统行为。)确定每一个活动者所期望的系统行为。(3 3)把这些系统行为命名为)把这些系统行为命名为Use CaseUse Case。(4 4)把一些公共的系统行为分解为一批新的)把一些公共的系统行为分解为一批新的Use Use CaseCase,供其他的,供其他的Use CaseUse Case引用。把一些变更的引用。把一些变更的行为分解为
2、扩展行为分解为扩展Use CaseUse Case。Home建立建立Use Case模型模型第2页,此课件共69页哦(5 5)编制每一个)编制每一个Use CaseUse Case的剧本,其中须详细描述基本业务流(的剧本,其中须详细描述基本业务流(Basic Basic FlowFlow)、替代业务流()、替代业务流(Alternative FlowAlternative Flow)和例外(异常)情况的)和例外(异常)情况的事件流,以及制约业务流向的必要的前置条件和后置条件。事件流,以及制约业务流向的必要的前置条件和后置条件。(6 6)绘制)绘制Use CaseUse Case图。图。(7 7
3、)必要时可以把表达例外(异常)情况的事件流的)必要时可以把表达例外(异常)情况的事件流的Use CaseUse Case画画成一个单独的子成一个单独的子Use CaseUse Case图。图。(8 8)精化)精化Use CaseUse Case图。解决图。解决Use Case Use Case 间的重复与冲突问题,简化间的重复与冲突问题,简化Use Use CaseCase中的对话序列。中的对话序列。Use CaseUse Case图可以有不同的层次,高层系统的图可以有不同的层次,高层系统的Use CaseUse Case可以分解为若干个下属子系统中的子可以分解为若干个下属子系统中的子Use
4、CaseUse Case。第3页,此课件共69页哦第第5章章 类图和对象图类图和对象图第4页,此课件共69页哦55.1 类的定义类的定义类名属性操作第5页,此课件共69页哦65.1.1 类的属性类的属性可见性可见性属性名属性名:类型类型多重性多重性次序次序=初值初值特性特性+public#protected-privateRoseUML可见性可见性+size:Area=(100,100)#visibility:Boolean=falsecolors:Color3points:Point2.*orderedname:String0.1第6页,此课件共69页哦75.1.2 类的操作类的操作可见性可
5、见性操作名操作名(参数列表参数列表):返回值类型返回值类型特性特性+public#protected-privateRoseUML可见性可见性+display():Location+hide()#create()-attachXWindow(xwing:XwindowPtr)第7页,此课件共69页哦85.2 类之间的关系类之间的关系常见的类之间的关系包括常见的类之间的关系包括:关联、聚集、组合、泛化、依关联、聚集、组合、泛化、依赖等赖等.第8页,此课件共69页哦95.2.1 关联关联关联关联(association)是模型元素间的一种语义联系是模型元素间的一种语义联系,它是对具它是对具有共同的
6、结构特性、行为特性、关系和语义的链有共同的结构特性、行为特性、关系和语义的链(Link)的描述的描述./类类A的源码的源码public class A public B theB;public A()/类类B的源码的源码public class B public B()/类类A的源码的源码public class A public B theB;public A()/类类B的源码的源码public class B public A theA;public B()第9页,此课件共69页哦105.2.1 关联关联1.关联名关联名用来描述关联的作用用来描述关联的作用.第10页,此课件共69页哦115
7、.2.1 关联关联2.关联的角色关联的角色关联的两端可以以某种角色参与关联关联的两端可以以某种角色参与关联,如果不标注角色则如果不标注角色则隐含用类名作为角色名隐含用类名作为角色名.角色的多重性角色的多重性,表示可以有多少个对象参与该关联表示可以有多少个对象参与该关联.第11页,此课件共69页哦125.2.1 关联关联3.关联类关联类/Company.javapublic class Company private String companyName;public Person employee;/Person.javapublic class Person private int pers
8、onName;public Company employer;/Contract.javapublic class Contract private Double salary;第12页,此课件共69页哦135.2.1 关联关联4.关联的约束关联的约束第13页,此课件共69页哦145.2.1 关联关联5.限定关联限定关联限定符,关联的属性第14页,此课件共69页哦155.2.1 关联关联6.关联的种类关联的种类(1)自反关联自反关联public class EnginePart public EnginePart theEnginePart;(2)二元关联二元关联(3)N元关联元关联第15页,
9、此课件共69页哦165.2.2 聚集与组合聚集与组合聚集聚集(aggregation)是一种特殊的关联是一种特殊的关联,表示类之间的整体表示类之间的整体与部分关系与部分关系.public class Circle public int radius;Style style;public class Style Color color;boolean isFilled;第16页,此课件共69页哦175.2.2 聚集与组合聚集与组合组合组合(composition)是一种特殊的聚集是一种特殊的聚集,强调整体和部分具强调整体和部分具有相同的生命期有相同的生命期.public class Circle
10、 public int radius;Point center;public class Point int x,y;第17页,此课件共69页哦185.2.3 泛化关系泛化关系泛化关系指一般元素和特殊元素之间的分类关系泛化关系指一般元素和特殊元素之间的分类关系.在在OOPL中称为继承中称为继承.第18页,此课件共69页哦195.2.3 泛化关系泛化关系操作操作类的包类的包继承继承抽象类抽象类package MyPackage;abstract class MyAbstractClass.package MyPackage;class MyDerivedClass extends MyAbstr
11、actClass int att;.void myFunction(ReferencedClass r).MyDerivedClassatt:intmyFunction()MyPackageMyAbstractClass属性属性第19页,此课件共69页哦205.2.4 依赖关系依赖关系依赖关系也称使用关系依赖关系也称使用关系.l调用调用,一个类调用另一个类的方法一个类调用另一个类的方法l参数参数,一个类的方法使用另一个类作为形式参数一个类的方法使用另一个类作为形式参数l发送发送,消息的发送者与接收者之间的关系消息的发送者与接收者之间的关系l实例化实例化,一个类的方法创建了另一个的实例一个类的方
12、法创建了另一个的实例第20页,此课件共69页哦215.2.4 依赖关系依赖关系class MyDependentClass .void myFunction1(MyReferencedClass r).MyReferencedClass myFunction2().void myFunction3()MyReferencedClass m MyDependentClassatt:intmyFunction()MyReferencedClass依赖依赖(引用一个类引用一个类)参数参数or 返回类型返回类型or 局部变量局部变量第21页,此课件共69页哦225.3 派生属性和派生关联派生属性和派生
13、关联派生属性(关联)指可以由其他属性()关联计算得到的属性,名字前加”/”.第22页,此课件共69页哦235.4 抽象类和接口抽象类和接口抽象类抽象类接口接口第23页,此课件共69页哦245.4 抽象类和接口抽象类和接口interface MyAbstractClass.class MyClass implements MyInterface .UML 符号符号-接口的实现描述接口的实现描述第24页,此课件共69页哦255.5 构造型构造型构造型构造型(stereotype)是是UML的的3种扩展机制之一种扩展机制之一.构造型是建模人员在已有的构造块上派生出新的构造块构造型是建模人员在已有的构
14、造块上派生出新的构造块,这些新的构造块与特定问题相关这些新的构造块与特定问题相关.构造型可以应用于所有类型的模型元素构造型可以应用于所有类型的模型元素.系统预定义的构造型系统预定义的构造型用户自义的构造型用户自义的构造型第25页,此课件共69页哦265.6 边界类、控制类和实体类边界类、控制类和实体类UML中三种主要的类构造型中三种主要的类构造型l边界类边界类,boundary classl控制类控制类,control classl实体类实体类,entity class引入多种类构造型帮助分析和设计人员确定系统中的类引入多种类构造型帮助分析和设计人员确定系统中的类.第26页,此课件共69页哦2
15、75.6.1 边界类边界类边界类位于系统与外界的交界处边界类位于系统与外界的交界处,包括包括:l用户界面类用户界面类,如如:窗口、对话框、报表类等窗口、对话框、报表类等l通讯协议类通讯协议类,如如:TCP/IP:TCP/IP的类的类l直接与外部设备交互的类直接与外部设备交互的类l直接与外部系统交互的类直接与外部系统交互的类边界类的边界类的UML表示方法表示方法:第27页,此课件共69页哦285.6.1 边界类边界类通过用例图可以确定需要的边界类通过用例图可以确定需要的边界类,每个每个Actor/User case对至少需要一个边界类对至少需要一个边界类.但并不是每个但并不是每个Actor/Us
16、e case都需要生成惟一边界都需要生成惟一边界类类,多个多个actor启动同一启动同一use case可以使用同一可以使用同一边界类边界类.第28页,此课件共69页哦295.6.2 实体类实体类实体类保存要放进持久存储体实体类保存要放进持久存储体(数据库数据库/文件等文件等)的信息的信息.实体类通过事件流和交互图发现实体类通过事件流和交互图发现,采用目标领域术语命名采用目标领域术语命名.通常实体类对应数据库中的表通常实体类对应数据库中的表,其属性对应表的字段其属性对应表的字段,但实体但实体类与数据库中的表不一定是一一对应关系类与数据库中的表不一定是一一对应关系.第29页,此课件共69页哦30
17、5.6.3 控制类控制类控制类是负责管理或控制其他类工作的类控制类是负责管理或控制其他类工作的类.每个用例通常有一个控制类每个用例通常有一个控制类,控制用例中的事件顺序控制用例中的事件顺序,控制控制类也可以在多个用例间共用类也可以在多个用例间共用.控制较少接收消息控制较少接收消息,发出较多发出较多消息消息.第30页,此课件共69页哦315.7 类图类图类加上它们之间的关系就构成类图类加上它们之间的关系就构成类图,其中包含接口、包、其中包含接口、包、关系等元素关系等元素,同时也可以包含对象、链等实例同时也可以包含对象、链等实例.类图描述类和类之间的静态关系类图描述类和类之间的静态关系.第31页,
18、此课件共69页哦325.7.1 类图的抽象层次类图的抽象层次概念层类图概念层类图,描述应用领域的概念描述应用领域的概念.说明层类图说明层类图,描述软件的接口部分描述软件的接口部分,不是不是实现部分实现部分.实现层类图考虑实现问题实现层类图考虑实现问题,提提供类的细节供类的细节.第32页,此课件共69页哦335.7.2 构造类图构造类图根据用例描述中的名词确定候选类根据用例描述中的名词确定候选类.使用使用CRC分析法寻找类分析法寻找类,CRC指指:类类(class)、职责、职责(responsibility)、协作、协作(collaboration).根据边界类、控制类和实体类的划分来帮助发现类
19、根据边界类、控制类和实体类的划分来帮助发现类.参考设计模式来确定类参考设计模式来确定类.根据软件开发过程的指导寻找类根据软件开发过程的指导寻找类,如如:UP,XP等等.寻找类的方法寻找类的方法构造类图时注意构造类图时注意l不要试图使用所有的符号不要试图使用所有的符号.l不要过早陷入细节不要过早陷入细节,根据阶段、层次逐步细化根据阶段、层次逐步细化.l构造完成要将模型与目标问题对照验证其是否合理构造完成要将模型与目标问题对照验证其是否合理.第33页,此课件共69页哦345.7.2 构造类图构造类图1.研究分析问题领域研究分析问题领域,确定系统需求确定系统需求.2.确定类确定类,明确类的含义和职责
20、明确类的含义和职责,确定属性和操作确定属性和操作.3.确定类之间的关系确定类之间的关系.4.调整和细化类及类之间的关系调整和细化类及类之间的关系.5.绘制类图并增加相应的说明绘制类图并增加相应的说明.建立类图的步骤建立类图的步骤第34页,此课件共69页哦355.8 领域分析领域分析l建立类图的过程就是对领域及其解决方案的分析与建立类图的过程就是对领域及其解决方案的分析与设计过程设计过程.l领域分析包括领域分析包括:通过对某一领域中的已有应用系统、理论、技术、开发历通过对某一领域中的已有应用系统、理论、技术、开发历史等的研究史等的研究,来标识、收集、组织、分析和表示领域模型及来标识、收集、组织、
21、分析和表示领域模型及软件体系结构的过程软件体系结构的过程;根据这一过程得到的结果根据这一过程得到的结果.第35页,此课件共69页哦36类的属性类的属性可见性可见性属性名属性名:类型类型多重性多重性次序次序=初值初值特性特性+size:Area=(100,100)#visibility:Boolean=falsecolors:Color3points:Point2.*orderedname:String0.1类的操作类的操作可见性可见性操作名操作名(参数列表参数列表):返回值类型返回值类型特性特性-attachXWindow(xwing:XwindowPtr)上节课重点上节课重点第36页,此课件
22、共69页哦上节课重点上节课重点类之间的关系包括类之间的关系包括:关联、聚集、组合、泛化、依赖等。关联、聚集、组合、泛化、依赖等。UML中三种主要的类构造型中三种主要的类构造型l边界类边界类,boundary classl控制类控制类,control classl实体类实体类,entity class第37页,此课件共69页哦上节课重点上节课重点1.研究分析问题领域研究分析问题领域,确定系统需求确定系统需求.2.确定类确定类,明确类的含义和职责明确类的含义和职责,确定属性和操作确定属性和操作.3.确定类之间的关系确定类之间的关系.4.调整和细化类及类之间的关系调整和细化类及类之间的关系.5.绘制
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 对象 课件
限制150内