UML类图和对象图.ppt
《UML类图和对象图.ppt》由会员分享,可在线阅读,更多相关《UML类图和对象图.ppt(81页珍藏版)》请在三一办公上搜索。
1、第六章 类图与对象图,6.1 类图与对象图的基本概念6.2 类图的组成 6.3 类图的创建概述6.4 类图的创建示例6.5 对象图,山东科技大学(泰山科技学院)信息工程系 范明芳,概要静态视图,构成面向对象模型的基本元素有类、对象和类与类之间的关系等。类图和对象图合称为结构模型视图或者静态视图,用于描述系统的结构或静态特征。类图用来描述系统中的类以及类与类之间的静态关系等;对象用来描述特定时刻实际存在的若干对象以及它们之间的关系。一个系统的模型中可以包含多个对象图,每个对象图描述了系统在某个特定时刻的状态。,山东科技大学(泰山科技学院)信息工程系 范明芳,概要类图作用,类图是逻辑视图的重要组成
2、部分,用于对系统的静态结构建模,涉及到具体的实现细节。在系统分析阶段,类图主要用于显示角色和提供系统行为的实体的职责;在系统设计阶段,类图主要用于捕捉组成系统体系结构的类结构;在系统编码阶段,根据类图中的类及它们之间的关系实现系统的功能。,山东科技大学(泰山科技学院)信息工程系 范明芳,概要类图的地位,山东科技大学(泰山科技学院)信息工程系 范明芳,6.1 类图与对象图的基本概念,类图和对象图统称为结构模型视图或者静态视图。其中类图抽象角度描述系统的静态结构或特征。系统的静态结构构成系统的概念基础:真实世界的概念;抽象的概念;实现方面的概念;计算机领域的概念。,6.1.1 类图和对象图的定义,
3、山东科技大学(泰山科技学院)信息工程系 范明芳,6.1 类图与对象图的基本概念,UML 模型中这些类型包括:类接口数据类型组件,概念:Classifer(分类器/类元)对有实例且有属性的结构特征和操作形式的行为特征的建模元素的统称。可以包括参与者、信号、节点、用例等。,山东科技大学(泰山科技学院)信息工程系 范明芳,6.1 类图与对象图的基本概念,1、类类包含了系统内部的信息结构也包含系统内部的行为和与外部事物交互。通常完整类图包含下列元素:类接口依赖关系泛化关系关联关系实现关系,山东科技大学(泰山科技学院)信息工程系 范明芳,6.1 类图与对象图的基本概念,山东科技大学(泰山科技学院)信息工
4、程系 范明芳,6.1 类图与对象图的基本概念,2、对象图对象图描述了系统在某一个时刻特点的静态结构,是类的实例和快照,即类图中的各个类在某一个时间点上的实例及其静态关系的静态写照。对象图包含:对象:类的实例 链:类关系的实例 二者区别与联系?,山东科技大学(泰山科技学院)信息工程系 范明芳,6.1 类图与对象图的基本概念,山东科技大学(泰山科技学院)信息工程系 范明芳,6.1 类图与对象图的基本概念,6.1.2 类图和对象图的作用,对系统的静态视图进行建模通常利用以下三种方式建模:为系统的词汇建模:确定系统最基本的元素模型化简单协议:确定类/对象的关联模型化逻辑数据库模式:数据库设计蓝图,山东
5、科技大学(泰山科技学院)信息工程系 范明芳,6.2 类图的组成,6.2.1 类,类是构成类图的基础,也是面向对象系统组织结构的核心。类是对资源的定义,它所包含的信息主要用来描述某种类型实体的特征以及对该类型实体的使用方法。对象是具体的实体,它遵守类制定的规则。从软件的角度看,程序通常包含的是类的集合以及类所定义的行为,而实际创建信息和管理信息的是遵守类的规则的对象。,类定义了一组具有状态和行为的对象,这些对象具有相同的属性、操作、关系和语义。属性和关联用来描述状态。属性通常用没有身份的数据值表示,如数字和字符串。关联则用有身份的对象之间的关系来表示。行为由操作来描述,方法是操作的实现。,山东科
6、技大学(泰山科技学院)信息工程系 范明芳,6.2 类图的组成,类的图示结构,类名称,属性列表,操作列表,山东科技大学(泰山科技学院)信息工程系 范明芳,6.2 类图的组成,1、类的名称:类的名称是每个类中所必有的构成元素;UML约定类名称首字符必须是大写;斜体字类名称表示为一个抽象类;可以定义类名称时,说明从属的包。,山东科技大学(泰山科技学院)信息工程系 范明芳,6.2 类图的组成,2、属性(Attribute)可见性:类中属性的可见性主要包括公有(public)、私有(Private)和受保护(Protected)以及(Implementation)。属性名:按照UML的约定,单字属性名小
7、写。如果属性名包含多个单词,这些单词要合并,且除了第一个单词外其余单词的首字母要大写。(3)属性字符串:属性字符串用来指定关于属性的附加信息,例如某个属性应该是永久的。任何希望添加在属性定义字符串值但又没有合适地方可以加入的规则,都可以放在属性字符串里。(4)初始值:(5)属性类型:属性也可以作为一个类属属性来定义,这就意味着此属性被该类的所有对象共享。在类图中,类属性带有一条下划线。,山东科技大学(泰山科技学院)信息工程系 范明芳,6.2 类图的组成,class Invoice public:double amount;Date daate=new Date();char customer;
8、Invoice()number_of_invoices+;private:static int number_of_invoices;;int Invoice:number_of_invoices=0;,山东科技大学(泰山科技学院)信息工程系 范明芳,6.2 类图的组成,完整的语法表示可见性属性名多重性:类型初值特殊串,山东科技大学(泰山科技学院)信息工程系 范明芳,6.2 类图的组成,山东科技大学(泰山科技学院)信息工程系 范明芳,6.2 类图的组成,3、类的操作:类的操作是对类的对象所能做的事务的抽象,相当于一个服务的实现。,完整的语法表示:可见性 操作名(参数表):返回类型 特殊串,山东
9、科技大学(泰山科技学院)信息工程系 范明芳,6.2 类图的组成,4、职责:在操作部分下面的区域,可以用来说明类的职责。职责是类对该类所有对象具有相同属性和操作共同组成的功能和服务的抽象。类的职责是是自由形式的文本描述的非形式化的内容,写一个短语,一个句子等。在UML中,把职责列在类图底部的分隔栏中。5、约束。说明类的职责是消除二义性的一种非形式化的方法,形式化的方法是使用约束。约束指定了该类所要满足的一个或多个规则。在UML中,约束是用一个花括号括起来的自由文本。6、类的注释信息,山东科技大学(泰山科技学院)信息工程系 范明芳,6.2 类图的组成,Eg1:每个人都有自己的姓名(name)与年龄
10、(age),均可以改变姓名(changeName())、增加年龄(increaseAge())要求将其建模。Eg2:class Trade String product;/产品 int quantity;/数目 double total_price;/总价格/运算:计算价格 void calculatePrice()/提取单价unit_price,然后计算总价格/total_price=unit_price*quantity/数量大时另加折扣,山东科技大学(泰山科技学院)信息工程系 范明芳,6.2 类图的组成,抽象类的原则:不能创建具体实例的类。在C+中,即为带有纯虚函数的类,称之为抽象类。抽
11、象类只能作为基类来使用,其纯虚函数的实现由派生类给出。抽象类是不能定义对象的;为了强调一个类是抽象类,可将该类的构造函数说明为保护的范围控制权限。,山东科技大学(泰山科技学院)信息工程系 范明芳,6.2 类图的组成,纯虚函数的格式:class virtual()=0;,山东科技大学(泰山科技学院)信息工程系 范明芳,6.2 类图的组成,class point public:point(int i=0,int j=0)x0=i;y0=j;virtual void set()=0;virtual void draw()=0;protected:int x0,y0;,山东科技大学(泰山科技学院)信息
12、工程系 范明芳,6.2 类图的组成,二、关联,即:两个或多个类之间的关系。,多重性通过数值说明(m.n)。,关联的种类:,注:(1)关联会有一个名称和一个数值说明。(2)没有任何方向指示的关联总是一个双向关联。,山东科技大学(泰山科技学院)信息工程系 范明芳,6.2 类图的组成,关联命名原则:,其名称可用名词,但一般使用动词;当建立一个类图模型时,该类图应该能够反映出那个将被建立的系统,即:符合该系统的问题域。,山东科技大学(泰山科技学院)信息工程系 范明芳,6.2 类图的组成,Eg3:一辆汽车可以有一个或多个所有者,并且一个人可以拥有0辆或多辆汽车,则:,山东科技大学(泰山科技学院)信息工程
13、系 范明芳,6.2 类图的组成,注:若无指定具体的多重性,则默认为1。,山东科技大学(泰山科技学院)信息工程系 范明芳,6.2 类图的组成,Eg4:(1)一个保险公司拥有多份保险合同,这些合同与一个或多个客户关联;(2)一个客户拥有多份保险合同(0对多),这些合同与一个保险公司关联;(3)一份保险合同位于一个保险公司和一个或多个客户之间。保险合同同时与一个客户(或多个客户)和一个保险公司相关联;(4)保险合同在一份(0或1)保险契约(一份书面形式的保险合同)里表达;(5)保险契约与保险合同关联。请描述其类图。,山东科技大学(泰山科技学院)信息工程系 范明芳,6.2 类图的组成,6.2.2 接口
14、,在没有给出对象实现和状态的条件下对对象行为的描述,接口包含操作但不包含属性,且它没有对外界可见的关联。,接口是特殊类接口的依赖关系接口也可以进行一般化和特殊化的处理,山东科技大学(泰山科技学院)信息工程系 范明芳,6.2 类图的组成,6.2.3 类之间的关系,1、依赖关系(Dependency)依赖表示两个或多个模型元素之间语义上的连接关系。它表示了这样一种情形,对于一个元素的某些改变可能会影响或提供消息给其他元素,即其他元素以某种形式依赖于其他类元。某个对象的功能依赖于另外的某个对象,而被依赖的对象只是作为一种工具在使用,而并不持有对它的引用。,山东科技大学(泰山科技学院)信息工程系 范明
15、芳,6.2 类图的组成,6.2.3 类之间的关系,根据这个定义,关联、实现和泛化都是依赖关系,但是它们有更特别的语义。在UML中,依赖用一个从元素指向提供者的虚箭头表示,用一个构造型的关键字来区分它的种类。UML定义了5种基本依赖类型:绑定(Binding)依赖实现(Realization)依赖使用(Usage)依赖抽象(Abstraction)依赖授权(Permission)依赖,山东科技大学(泰山科技学院)信息工程系 范明芳,6.2 类图的组成,绑定依赖:绑定依赖是较高级的依赖类型,用于绑定数据值给模板的参数,以创建新的模型元素。实现依赖:说明和对这个说明具体实现之间的映射关系。使用依赖:
16、使用依赖都是非常直接的,通常表示客户使用提供者提供的服务以实现它的行为。(使用、调用、参数、发送、实例)抽象依赖:抽象依赖用来表示客户与提供者之间的关系,依赖于在不同抽象层次上的事物。(跟踪、精化、派生)授权依赖:授权依赖表示一个事物访问另一个事物的能力。提供者通过规定客户的权限,可以控制和限制对其内容访问的方法。(访问、导入、友元),山东科技大学(泰山科技学院)信息工程系 范明芳,6.2 类图的组成,2、泛化关系(Generalization)泛化关系是一种存在于一般元素和特殊元素之间的分类关系,它只使用在类型上,而不是实例上。在类中,一般元素被称为超类或父类,而特殊元素被称为子类。在UML
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- UML 对象

链接地址:https://www.31ppt.com/p-6522305.html