第5章类图和对象图解析
- 格式:ppt
- 大小:1.31 MB
- 文档页数:116
目录1.类图和对象图的概念2.类图的组成3.使用Rose创建类图4.对象图5.使用Rose创建类图案例分析类图和对象图详解对于类图和对象图来说我们需要了解的是类图和对象图的概念,类图的组成,使用Rose创建类图和对象图。
当然最重要的是如何使用Rose创建类图案例分析。
具体的创建通过选课管理系统的简单用例说明创建类图和对象图的方法和具体的过程。
下面是我对类图和对象图学习过程的一个整理,一些资料是直接拿过来直接用的。
希望能对你的学习有一点点的帮助吧。
类图和对象图的概念1. 类的含义类图(Class diagram)显示了系统的静态结构,而系统的静态结构构成了系统的概念基础。
类图,就是用于对系统中的各种概念进行建模,并描绘出它们之间关系的图。
在大多数的 UML 模型中,我们可以将这些概念的类型概括为以下四种,分别是:(1) 类(2) 接口(3) 数据类型(4) 构件在类图中,具体来讲它一共包含了以下几种模型元素,分别是:类、接口、依赖关系、泛化关系、关联关系以及实现关系。
类图可以创建约束、注释和包等。
2. 对象图的含义对象图中包含对象(Object)和链(Link)。
其中对象是类的特定实例,链是类之间关系的实例,表示对象之间的特定关系。
3. 类图在项目开发中的作用类图的作用是对系统的静态视图进行建模。
当对系统的静态视图进行建模时,通常是以以下三种方式来使用类图。
(1)为系统的词汇建模。
(2)模型化简单的协作。
(3)模型化逻辑数据库模式。
在设计数据库时,通常将数据库模式看作为数据库概念设计的蓝图,在很多领域中,都需要在关系数据库或面向数据库中存储永久信息。
系统分析者可以使用类图来对这些数据库进行模式建模。
4. 对象图在项目开发中的作用对象图作为系统在某一时刻的快照,是类图中的各个类在某一个时间点上的实例及其关系的静态写照,可以通过以下几个方面来说明它的作用:(1)说明复杂的数据结构。
对于复杂的数据结构,有时候很难对其进行抽象成类表达之间的交互关系。
第5章类图和对象图5.1 类的定义在UML中,有两个图非常重要,一个是第3章中介绍的用例图,另一个是本章将要介绍的类图。
Rumbaugh对类的定义是:类是具有相似结构、行为和关系的一组对象的描述符。
在UML中,类表示划分成3个格子的长方形,如图5.1所示。
图5.1 UML中表示类的符号在图5.1所示的类中,类名是Shape,共有4个属性,分别为origin、size、fillColor 和count,其中属性count有一下划线,表示该属性是静态属性。
Shape类有Shape()、move()、resize()和display()方法。
其中方法Shape()的版型为<<constructor>>,表示该方法是构造方法,而Shape类是一个版型为Graphics的类。
对于版型的定义在5.5节中还会介绍。
在定义类的时候,类的命名应尽量应用领域中的术语,应明确、无歧义,以利于开发人员与用户之间的相互理解和交流。
一般而言,类的名字是名词。
在UML中,类的命名分simple name和path name两种形式,其中simple name形式的类名就是简单的类的名字。
而path name 形式的类名还包括了包名。
例如,下面是path name形式的类名:Banking::CheckingAccount其中Banking是包名,CheckingAccount是包Banking中的一个类。
5.1.1.类的属性属性在类图标的属性分隔框中用文字串说明,最新的UML规范说明1.5版本中定义属性的格式为:[可见性]属性名[:类型]['['多重性 [次序] ']'][=初始值][{特性}]根据详细程度的不同,每条属性可以包括属性的可见性、属性名称、类型、多重性、初始值和特性。
其中特性是用户对该属性性质的一个约束说明。
例如{只读}这样的特性说明该属性的值不能被修改。
将现实生活中对应的两个事物抽象出来,这里主要涉及两个事物一个是人,一个是计算机,对于类而言,我们的类图可以反映出它们最基本的结构,在这里需要注意的是,任意一个事物本身或者具体到类本身,它会具有众多的属性和相关的操作,但是我们在类图和今后的实现当中,最主要考虑的是与系统相关的操作
类图的构建
因为我们是可以将类图转换成代码的所以一定要注意好命名的格式
[]里面的是可选项就是可以写也可以不写
讲一下如何设置类图的返回值
根据java中面向对象的理解,返回值一般是我们在定义方法的时候用到的,所以我们一般是在方法中定义一个参数然后设置它的返回值
如何对uml进行java环境的配置
三个选项都选择,别问为什么,问就是不知道
使用边界类切换到图形显示
边界类一般位于系统与外界的交界处
存放类似数据库永久性的东西的类叫做实体类图形显示方式和表格显示方式的切换
完美的一个例子
类定义的是一组相同的对象的描述在UML中如何定义类的类型
边界类,实体类,控制类
进行类图的切换
对象图的概述
对象指的是类的一个实例化
我们需要在对象名下面添加一条横线,用来说明它是对象名而不是类名
对象图是在类图里面绘制的
接口:1、接口使用interface修饰;2、接口不能被实例化;3、一个类只能继承一个类,但是可以实现多个接口;4、接口中方法均为抽象方法;5、接口中不能包含实例域或静态方法(静态方法必须实现,接口中方法是抽象方法,不能实现)
接口和抽象类有什么区别:
https:///danteshenqu/article/details/93981157。
第5章类图和对象图在UML中,有两种图非常重要,一种是前面我们讲过的用例图,一种就是我们今天开始要学习的类图。
实际上我们平时的看到的大多数UML图都是类图,就像Martin Flower 在《UML精粹》中说的那样,如果一个人在一条黑暗的胡同中向你走来,并且对你说:“嘿,要不要看一个UML图?”那么,那个图可能就是一个类图。
类图是使用最广泛的一种模型,用来表述系统中各个对象的类型以及他们之间存在的各种静态关系。
要有效的理解和掌握类图,必须首先熟悉类的概念,因此我们首先还是要从面向对象思想出发,再次探究类的内涵。
5、1类的定义5.1.1面向对象的思想例:假设住在上海的张三要给住在蚌埠的朋友李四送一束鲜花,由于他们之间距离太远,不可能亲自买一个送过去。
为了解决这个问题,张三登陆到一个电子商务网站购买一束鲜花,并通过该网站将花送给李四。
而这个电子商务网站实际上就是通过我们蚌埠的某个鲜花店呢来完成这个任务。
因此在整个传递过程中,各个实体之间有如下的关联关系:显然,现实生活中的情况要复杂的多。
电子商务网站可以接受很多人的订单,也可以与不同地方的鲜花店合作,以送给更多不同地方的人。
因此把图5-1进行抽象得到图5-2。
图5-2很好的诠释了类和对象的概念,显然张三是一个对象,可以归到“订货人”这个类中;而蚌埠的某个鲜花店显然也是一个对象,它可以归到“商户”这个类中。
因此可以说,每个对象都扮演了一个角色,并为其它成员提供特定的服务或执行特定的行为。
在我们的例子中,订货人想把完成的事(给李四送鲜花)委托给电子商务网站,而电子商务网站又委托给具体的商户(蚌埠某鲜花店),具体的商户最终通过送货人完成这个行为。
在实际过程中,张三首先在电子商务网站填写信息,然后电子商务平台向商户发送信息,商户安排送货人完成该动作。
也就是说:在面向对象世界中,行为的启动是通过将“消息”传递给对此行为负责的对象来完成的;同时还将伴随着执行要求附上相关的信息(参数);而收到该消息的对象则会执行相应的“方法”来实现需求这就是在面向对象中,用类和对象表示现实世界,用消息和方法来模拟现实世界的核心思想。