标准建模语言UML与Java实现:静态图:类图、对象图和包图

举报
资源描述
静态图:类图、对象图和包图静态图:类图、对象图和包图第一部分第一部分 静态图:类图、对象图和包图静态图:类图、对象图和包图u类和对象的基本概念;类和对象的基本概念;u三个层次的观点;三个层次的观点;u类图和对象图的基本要素;类图和对象图的基本要素;u小小 结。结。I 类和对象的基本概念类和对象的基本概念u引引 言;言;u对象和类;对象和类;u类和对象的实例;类和对象的实例;u类和对象的表示;类和对象的表示;u三个层次的观点。三个层次的观点。u 引引 言言u类类图图技技术术是是OO方方法法的的核核心心技技术术,应应用用非非常常广广 泛泛,其其中中类类、对对象象以以及及它它们们之之间间的的关关系系是是最最基基 本本的的建建模模元元素素。类类模模型型和和对对象象模模型型揭揭示示了了系系统统的的结构。结构。u分分类类可可以以有有效效地地使使复复杂杂问问题题简简化化。建建立立类类模模型型的的过过程程,是是把把现现实实世世界界中中与与问问题题有有关关的的各各种种对对象象及及其相互关系进行抽象和分类的过程。其相互关系进行抽象和分类的过程。u 对象和类对象和类u对对象象是是指指某某个个事事物物,大大多多对对应应于于真真实实世世界界中中的的某某个个客客观观实实体体;但但有有些些对对象象在在真真实实世世界界中中没没有有直直接接的的对对应应物物,是人们对某个事物的一种抽象描述。是人们对某个事物的一种抽象描述。u对象的基本特征可以归纳为对象的属性和行为两类。对象的基本特征可以归纳为对象的属性和行为两类。u类类是是指指对对一一组组具具有有相相同同特特征征的的对对象象的的抽抽象象描描述述;任任何何对象都是某个类的实例。对象都是某个类的实例。u我们采用类的概念来研究系统的构成,划分问题域中我们采用类的概念来研究系统的构成,划分问题域中涉及到的各种对象。类之间的继承关系是涉及到的各种对象。类之间的继承关系是OO方法中方法中的一个重要概念。的一个重要概念。u类与对象的关系:类与对象的关系:u元素与原子元素与原子u汽车与蓝鸟汽车汽车与蓝鸟汽车u 类和对象的实例类和对象的实例u在在一一个个信信息息系系统统中中:客户(Customer)、合同(Agreement)、发票(Invoice)、债务(Debt)、资产(Asset)、报价单(Quotation)u在在一一个个技技术术系系统统中中:感应器(Sensor)、显示器(Display)、输 入 输 出 卡(I/O Card)、按 键(Button)u在在 软软 件件 系系 统统 中中:文 件(File)、执 行 程 序(Executable program)、设备(Device)、图标(Icon)、窗口(Window)、滚动条(Scrollbar).u在在人人类类社社会会中中:社社团团、俱俱乐乐部部、大大学学、公公司司、商商店、企业店、企业.例例:客户类的表示客户类的表示客户姓名单位电话Email客户姓名单位电话Email客户付款(金额)客户付款(金额)客户产品单价数量发票客户姓名客户单位产品单价数量发票合计()合计()*Class InvoiceCustomer customer;.例例:客户类的表示客户类的表示u 类和对象的表示类和对象的表示 类图和对象图类图和对象图u类类图图描描述述系系统统中中的的类类及及其其相相互互之之间间的的各各种种关关系系,反反映映了了系系统统中中包包含含的的各各种种对对象象的的类类型型以以及及对对象象间间的的各各种种静静态态关关系系,主主要要是是:关关联联和和子子类类型型。类类图图也也可可描描述类的述类的属性和行为属性和行为以及对模型中各种成分的约束。以及对模型中各种成分的约束。u对对象象图图是是类类图图的的实实例例,描描述述系系统统中中各各种种对对象象(类类的的实例实例)以以及对象之间的各种静态关系。及对象之间的各种静态关系。u类类图图(和和对对象象图图)中中各各个个区区间间的的文文法法:独独立立于于实实现现时时所所使使用用的的程程序序设设计计语语言言,也也可可以以选选用用某某种种语语言言的的文文法规则,如法规则,如C+,Java,。u类类中中的的一一个个操操作作可可以以有有多多种种不不同同的的实实现现,每每一一个个实实现称作一个方法。现称作一个方法。u 类和对象的表示类和对象的表示(续续)类图和对象图类图和对象图类类 名名(Class Name)类类 名名属属 性性 (Attributes)类类 名名属属 性性(Attributes)操作操作(Operations)类的表示类的表示对象名对象名(Object Name)对象名对象名属性属性值值(AValues)对象名对象名属性属性值值 (AValues)方法方法(Methods)对象的表示对象的表示II 类类图图和和对象对象图的基本要素图的基本要素u关关 联;联;u属属 性;性;u操操 作;作;u泛泛 化;化;u授授 权;权;u约束规则约束规则;u聚集和组成聚集和组成;u限定关联限定关联II.1 关关 联联u一个典型的类图;一个典型的类图;u基本概念;基本概念;u角色及其命名;角色及其命名;u角色的多元性;角色的多元性;u三个层次中的关联;三个层次中的关联;u导航特性。导航特性。u 一个典型的类图一个典型的类图多重性:限制性的多重性:限制性的1*0.1雇员雇员销售代表销售代表多重性:选择多重性:选择关联关联订单订单客户客户nameaddress泛化泛化类类团体客户团体客户个人客户个人客户多重性:多值多重性:多值产品产品1 项项*角色名称角色名称1订单项订单项关联关联*个人客户信用卡号数量:Integer价格:Money确认:Boolean定货单收到日期预付款栏目发货()结束()客户姓名地址信用等级():String集团客户联系人姓名信用等级信用限额余额()月帐单(Integer)信用等级()=低定单栏目雇员产品*1*110.1采购员if 定货单.客户.信用等级=低then 定货单.预付款 必须是 真 栏目u 关联的表示关联的表示u关联表示需要交流的对象之间的关系关联表示需要交流的对象之间的关系u用用一一条条无无向向线线段段表表示示,是是一一种种双双向向关关系系。例例如如客客户户和和订订单单的的关关联联:从从客客户户看看,订订单单是是他他提提交交的的;从从订订单单看看,它它有一个客户。有一个客户。u用一条有向线段表示,是一种单向关系用一条有向线段表示,是一种单向关系u关关联联的的命命名名:可可以以用用动动词词词词组组或或名名词词命命名名。但但只只要这个关联的含义明确,则可省略这个名字。要这个关联的含义明确,则可省略这个名字。u可以将关联视为一条通讯线路可以将关联视为一条通讯线路u 角色及其命名角色及其命名u关关联联的的两两端端与与类类之之间间(或或与与类类的的实实例例之之间间)的的接接口口表表示示该该类类(或该类的实体或该类的实体)在这个关联中的行为,称之为角色。在这个关联中的行为,称之为角色。u每每个个关关联联有有两两个个角角色色。例例如如,对对于于客客户户和和订订单单之之间间的的关关联是联是:客户和订单。:客户和订单。u可可将将引引出出角角色色的的类类称称作作源源,将将引引入入角角色色的的类类称称作作目目标标。例如,从订单到客户的角色的源是订单,目标是客户。例如,从订单到客户的角色的源是订单,目标是客户。u为了明确对象在关联中的角色,可以为角色命名。例如为了明确对象在关联中的角色,可以为角色命名。例如从订单到订单项方向上的角色可以命名为项从订单到订单项方向上的角色可以命名为项。u如果在关联上没有标出角色名,则隐含地用该角色的目如果在关联上没有标出角色名,则隐含地用该角色的目标类的名称作为它的名称。例如,从订单到客户的角色标类的名称作为它的名称。例如,从订单到客户的角色应叫做客户。应叫做客户。u 角色的多角色的多元元性性u角角色色可可以以具具有有多多元元性性(一一个个角角色色可可以以有有多多个个对对象象来来扮扮演演)。例例如如,每每一一个个客客户户对对象象可可以以有有零零个个或或多多个个订单对象。订单对象。u多多元元性性的的表表示示。1 表表示示 1.1;*代代表表零零到到无无穷穷;0.1是是选选择择符符,表表示示没没有有或或仅仅有有1个个;一一个个数数;一一个个范范围;数字和范围不连续的组合。围;数字和范围不连续的组合。*B A表示表示 A 和零个、一个或多个和零个、一个或多个 B 关联。关联。0.1 B A表示表示 A 和零个或一个和零个或一个 B 关联关联1.*A A表示表示 A 和一个或多个和一个或多个 B 关联关联1 B A表示表示 A 和一个和一个 B 关联关联l一对一l一对多l多对多三个层面中,关联性意味着什么?l概念层:在应用域中两类对象之间存在的某种关系l说明层:表示一种职责(Responsibility),一方向另一方请求或发送某种消息或服务,但并不涉及实现这种服务的具体方法(methods)例,定单的一个职责是记住和报告它的所有者是谁l实现层:意味着(用指针来)建立某种关联性。u 实现层实现层中的关联(续)中的关联(续)l对双向关联:相关联的两个类中都有指向对方的对双向关联:相关联的两个类中都有指向对方的指针。指针。例如,订单有一个指针集指向订单项,有一个指针指例如,订单有一个指针集指向订单项,有一个指针指向客户。向客户。Class Order private Customer _customer;private Vector _orderLines;.Class Customer private Vector _orders;.u 导航特性导航特性1导航导航订订 单单*收到日期收到日期预付款预付款数量数量价格价格发货()发货()结束()结束()客客 户户姓名姓名地址地址信用等级()信用等级():String产产 品品1*1 项项*订单项订单项数量:数量:Integer价格:价格:Money确认:确认:Booleanu 导航特性导航特性(续续)u箭箭头头表表示示导导航航特特性性。如如果果只只在在一一个个方方向向上上有有导导航航表表示示,称称作作单单向向关关联联。如如果果在在两两个个方方向向上上都都有有导导航航表表示示,称称作作双双向向关关联联。如如果果不不带带箭箭头头,表表示示未未知或尚未确定。知或尚未确定。u单单向向关关联联时时,说说明明模模型型中中的的订订单单指指出出它它是是由由哪哪个个客客户户发发出出的的;实实现现模模型型中中的的订订单单包包含含一一个个指指向向客客户的指针。户的指针。II.2 属属 性性u在三个层面中的属性;在三个层面中的属性;u属性属性的的语法;语法;u补充说明。补充说明。u 在三个层面中的属性在三个层面中的属性u在在概概念念层层,描描述述类类具具有有的的一一些些属属性性(客客户户对对象象的的名字属性表示客户有名字名字属性表示客户有名字)。u在在说说明明层层,规规定定类类对对象象属属性性的的值值并并给给出出设设定定这这些些值值的的方方法法(表表示示客客户户对对象象的的名名字字并并有有一一些些设设置置名字的方法名字的方法)。u在在实实现现层层,设设置置一一个个物物理理存存储储区区来来保保存存属属性性的的值值(也可称做一个实例变量或一个数据成员也可称做一个实例变量或一个数据成员)。u 属性属性的的语法语法 UML规定其语法为:规定其语法为:可见性可见性 名称名称:类型类型=缺省值缺省值 约束特性约束特性 u可可见见性性:表表示示该该属属性性对对类类外外的的元元素素是是否否可可见见。常用的有公有、受保护和私有三种。常用的有公有、受保护和私有三种。u名称:属性的名称,名称:属性的名称,是一个字符串。是一个字符串。u类类型型:定定义义属属性性的的种种类类(基基本本数数据据类类型型或或用用户户自定义的类型自定义的类型)。u缺省值:属性的初始值。缺省值:属性的初始值。u约束特性:描述对属性的约束。约束特性:描述对属性的约束。u 补充说明补充说明u客户属性的名称可以定义为一个单独的
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关资源
正为您匹配相似的精品文档
相关搜索

当前位置:首页 > 中学教育 > 初中教育


电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号