收藏 分享(赏)

UML建模第2章PPT课件.ppt

上传人:Facebook 文档编号:3834973 上传时间:2018-11-20 格式:PPT 页数:280 大小:2.50MB
下载 相关 举报
UML建模第2章PPT课件.ppt_第1页
第1页 / 共280页
UML建模第2章PPT课件.ppt_第2页
第2页 / 共280页
UML建模第2章PPT课件.ppt_第3页
第3页 / 共280页
UML建模第2章PPT课件.ppt_第4页
第4页 / 共280页
UML建模第2章PPT课件.ppt_第5页
第5页 / 共280页
点击查看更多>>
资源描述

1、UML建模语言及工具,第二章 UML可视化建模实践 A Practice of Visual Modeling with UML,-3-,学习线路图,第二章,第三章,第四章,-4-,本章目录,2.1 UML结构 2.2 物件 2.3 关系 2.4 公共机制 2.5 构架,2.6 UML图概述 2.7 用例图 2.8 类图 2.9 对象图和包图 2.10 顺序图和协作图 2.11 状态图和活动图 2.12 组件图和部署图 2.13 IBM Rational ROSE解决方案,构造块,-5-,2.1 UML结构,UML Structure,构造块 building blocks,公共机制 comm

2、on mechanisms,构架 architecture,基本UML建模元素、关系和图,达到特定目标的公共UML方法,系统架构的UML视图,-6-,构造块,构造块 building blocks,物件 things,建模元素本身,把物件联系在一起,关系说明两个或多个物件时如何语义相关的,UML模型的图,它们展现物件的集合,“讲述关于软件系统的故事”,是我们可视化系统将做什么(分析级图)或者系统如何做(设计级图)的方法,UML Structure,公共机制 common mechanisms,构架 architecture,-7-,物件,物件 things,结构物件,行为物件,分组物件,注解物

3、件,构造块 building blocks,关系 relationships,图 diagrams,-8-,关系,关系 relationships,关联 association,依赖 dependency,泛化 generalization,实现 realization,物件 things,构造块 building blocks,图 diagrams,-9-,图,图 diagrams,类图 class diagrams,对象图 object diagrams,构件图 component diagrams,部署图 deployment diagrams,用例图 use case diagrams

4、,顺序图 sequence diagrams,协作图 collaboration diagrams,状态图 statechart diagrams,活动图 activity diagrams,静态模型 (系统结构),动态模型 (系统行为),物件 things,构造块 building blocks,关系 relationships,-10-,UML 9种图,类 图:类以及类之间的相互关系 对象图:对象以及对象之间相互关系 构件图:构件及其相互依赖关系 部署图:构件在各节点上的部署顺序图:强调时间顺序的交互图 协作图:强调对象协作的交互图 状态图:类所经历的各种状态 活动图:对工作流建模 用例图

5、:需求捕获,测试依据,结 构,行为,用例图,静态图,实现图,交互图,行为图,-11-,公共机制,公共机制 common mechanisms,规格说明 specifications,修饰 adornments,公共分类 common divisions,扩展机制 extensibility mechanisms,构造块 building blocks,UML Structure,构架 architecture,-12-,构架,用例视图 Use case View,逻辑视图 Logic view,进程视图 Process view,实现视图 Implementation view,构造块 bui

6、lding blocks,UML Structure,部署视图 Deployment view,构架 architecture,公共机制 common mechanisms,-13-,总结:UML结构,-14-,本章目录,2.1 UML结构 2.2 物件 2.3 关系 2.4 公共机制 2.5 构架,2.6 UML图概述 2.7 用例图 2.8 类图 2.9 对象图和包图 2.10 顺序图和协作图 2.11 状态图和活动图 2.12 组件图和部署图 2.13 IBM Rational ROSE解决方案,-15-,2.2 物件,物件 things,结构物件,行为物件,分组物件,注解物件,UML模

7、型中的名词,如类、接口、协作、用例、活动类、组件、节点,UML模型的动词,如交互、状态机,包,它用于把语义上相关的建模元素分组为内聚的单元,注解,它附加到模型以捕获特殊信息,同黄色便笺很相像,-16-,2.2 物件,2.2.1 类 2.2.2 接口 2.2.3 组件 2.2.4 节点 2.2.5 包 2.2.6 注解,核心的结构物件,分组物件,注解物件,-17-,2.2.1 类,类的定义 表示形式 类的名称 类的类型 类的属性 类的操作,-18-,类的定义,类是具有相同属性、操作和关系的对象集合的总称。通常在UML中类被画成矩形,包括三个部分:名称、属性和操作。 名称:每个类都必须有一个名字,

8、用来区分其它的类。 属性:类可以有任意多个属性,也可以没有属性。在类图中属性只要写上名字就可以了,也可以在属性名后跟上类型甚至缺省取值。 操作:操作是类的任意一个实例对象都可以调用的,并可能影响该对象行为的实现。,-19-,类的标准表示形式,-20-, 简化表示, 缩略表示,实体类,界面类,控制类,类的其他两种表示形式,-21-,类的名称,名词或名词短语(动词或动词短语表示控制类) 例如:人,桌子,图形,汇总 尽可能明确、简短,业务领域中事物的名称,避免使用抽象、无意义的名词 例如:帐户,订单 用英文,第1个字母大写 例如:Shape, Person,CheckingAccdount 可分为简

9、单类名,带限定名的类名 例如:CheckingAccdount, Banking:CheckingAccdount,-22-,练习,指出下面命名有问题的类。,-23-,类的类型,按照其作用,类分为实体类,界面类和控制类三种类型。,-24-,实体类,实体类用来表示客观实体,像“图书”、“学生”,“订单”等都属于实体类。 实体类一般对应着在业务领域中的客观事物,或者是具有较稳定信息内容的系统元素。 实体类的名字用名词或名词短语。,-25-,界面类,界面类用来描述系统与外界之间交互的系统要素,也称为边界类。 界面类是对外界与系统之间交互的抽象表示,并不表示交互的具体内容,以及交互界面的具体形式。 界

10、面类的名字用名词或名词短语。,-26-,一个表示界面的界面类,-27-,控制类,控制类表示系统用来进行调度、协调、处理,以及业务处理的系统要素。 控制类的名字用动词或动词短语表示。,-28-,类的属性,属性的含义(attribute) 描述类所表示事物的静态性质。 属性的格式,可见性属性名:类型 多重性次序=初始值特性,-29-,类的属性,属性的含义(attribute) 描述类所表示事物的静态性质。 属性的格式,可见性属性名:类型 多重性次序=初始值特性,第1个英文单词首字母小写,其它单词首字母大写contactNamecredintLimitisPrepaid,-30-,类的属性,属性的含

11、义(attribute) 描述类所表示事物的静态性质。 属性的格式,可见性属性名:类型 多重性次序=初始值特性,该属性对外部实体的显现程度.公有public : + 所有可见 受限protected: # 子类及本身可见私有private : - 本身可见包 package : 包内可见,-31-,类的属性,属性的含义(attribute) 描述类所表示事物的静态性质。 属性的格式,可见性属性名:类型 多重性次序=初始值特性,属性的数据类型:字符串:String日期:Date布尔:Boolean整型:int其他,-32-,类的属性,属性的含义(attribute) 描述类所表示事物的静态性质。

12、 属性的格式,可见性属性名:类型 多重性次序=初始值特性,表示属性取值的多寡,以及有序性:例如: name:String01表示属性”name”可能无值,也可能仅有一个值.points:Point2* ordered表示有两个或多个值,有序,-33-,类的属性,属性的含义(attribute) 描述类所表示事物的静态性质。 属性的格式,可见性属性名:类型 多重性次序=初始值特性,表示属性初始所取的值:例如: #visibility:Boolean=false表示属性”visibility”初始取”false”,-34-,类的属性,属性的含义(attribute) 描述类所表示事物的静态性质。

13、属性的格式,可见性属性名:类型 多重性次序=初始值特性,表示属性约束说明:例如: #visibility:Boolean=false读写表示属性”visibility”可读,写,-35-,练习,教学进程,指出下面属性名的含义。,+studentName:String=“黎明” #studentBirthDay:Date=1999-10-21 -price:float=12.01R/W,-36-,类的操作,操作的含义 操作(operation): 描述类所表示事物的动态性质。 操作的格式,可见性操作名(参数列表):返回类型,-37-,类的操作,操作的含义 操作(operation): 描述类所表

14、示事物的动态性质。 操作的格式,可见性操作名(参数列表):返回类型,第1个英文单词首字母小写,其它单词首字母大写close()creditRecording(),-38-,类的操作,操作的含义 操作(operation): 描述类所表示事物的动态性质。 操作的格式,可见性操作名(参数列表):返回类型,该操作对外部实体的显现程度.可见public : + 受限protected: #私有private : -包 package : ,-39-,类的操作,操作的含义 操作(operation): 描述类所表示事物的动态性质。 操作的格式,可见性操作名(参数列表):返回类型,该操作的形式参数,可以为

15、空.例如: #create()+hide()-attachXWindow(xwin: Xwindow),-40-,类的操作,操作的含义 操作(operation): 描述类所表示事物的动态性质。 操作的格式,可见性操作名(参数列表):返回类型,该操作的返回值的类型.例如: +display():Boolean,-41-,练习,指出下面操作名的含义。,+setName(name:String) +getName():String +creatBook(),-42-,2.2.2 接口,接口是未给出实现的对象行为的描述,一个或多个类可以实现接口,每个类实现接口的操作。,-43-,2.2.3 组件,组

16、件代表了一个接口定义良好的软件模块。 一个组件可能是源代码、可执行程序或动态库。 例如:一个DLL,一个JavaBeans,-44-,2.2.4 节点,节点代表系统运行时的物理单元,主要用于系统物理方面的建模。节点可以分为处理器和设备两种。 处理器:任何具有处理功能的机器,如服务器,工作站。处理器用边框为黑色的立方体表示。 设备:没有处理功能的机器,如打印机,扫描仪。设备用边框为白色的立方体表示。,-45-,-46-,2.2.5 包,包是一个用来将模型单元分组的通用机制。 包可以含有类、接口、组件、用例等物件或其它的包。,-47-,包的作用,任何大系统都必须划分为较小的单元,以便人们在某一时刻

17、可以和有限的信息工作,使团队的工作不相互影响。,-48-,2.2.6 注释,注释用于解释设计的思路,便于理解。 一个好的模型应该有详尽的注释。,Represents an incorporated entity,Company,注释,-49-,本章目录,2.1 UML结构 2.2 物件 2.3 关系 2.4 公共机制 2.5 构架,2.6 UML图概述 2.7 用例图 2.8 类图 2.9 对象图和包图 2.10 顺序图和协作图 2.11 状态图和活动图 2.12 组件图和部署图 2.13 IBM Rational ROSE解决方案,-50-,2.3 关系,关系 relationships,关

18、联 association,依赖 dependency,泛化 generalization,实现 realization,描述对象之间的一组链接,物件的改变引起依赖物件的语义改变,一个元素是另一个元素的特化,而且它可以取代更一般的元素,类元之间的关系,一个类元说明一份契约,另一个类元保证实现该契约,-51-,2.3 关系,2.3.1 关联 2.3.2 依赖 2.3.3 泛化 2.3.4 实现 2.3.5 关系小结,-52-,2.3.1 关联,关联的定义 关联的表示形式 连接 聚合 组合,-53-,关联,关联关系描述表示两个类之间存在某种语义上的联系。 关联到类的连接点称为关联端点,很多信息被附

19、在关联端点上,它拥有角色名、重数(多少个类的实例可以关联于另一个类的实例)等。,-54-,关联的例子,-55-,关联的表示形式,Job,employee,employer,1*,*,Company,Person,角色名,重数,关联名称,-56-,关联之间的几种表现形式,-57-,连接,最弱的关联,只是表示两个类对象之间有导航关系,-58-,双向连接的代码表达形式,-59-,单向连接的代码表达形式,-60-,聚合,具有has a语义,对象A是对象B的一个组成部分,-61-,聚合的代码表达形式,-62-,组合,强语义的聚合,整体对象消失,部分对象也消失,-63-,组合的代码表达形式,-64-,思考

20、题,连接、聚合和组合关系在1对多的情况下,其代码怎样表达?,-65-,聚合vs组合(UML观点),例:公司和雇员,例:订单和订单项,-66-,2.3.2 依赖,依赖:如果一个模型元素的变化会影响另一个模型元素,那么二者之间存在依赖关系。,依赖类型,-67-,-68-,2.3.3 泛化,泛化是一般化和具体化之间的一种关系。 继承就是一种泛化关系,更一般化的描述称为双亲,双亲的双亲称为祖先,更具体化的描述称为孩子。,Tree,Oak,Elm,Birch,孩子,双亲,Person,Student,Graduate,祖先,-69-,2.3.4 实现,多数情况下,实现关系被用来规定接口和实现接口的类或组

21、件之间的关系,String,isEqual(String) : Boolean Hash() : Integer ,Comparable, Comparable,isEqual(String) : Boolean Hash() : Integer ,实现,特殊的实现标记,-70-,2.3.5 关系小结,语义上,所有的关系(包括关联、泛化、实现)都是各种各样的依赖关系,因为这3种关系具有重要的语义,所以在UML中被分离出来成为独立的关系。,-71-,本章目录,2.1 UML结构 2.2 物件 2.3 关系 2.4 公共机制 2.5 构架,2.6 UML图概述 2.7 用例图 2.8 类图 2.9

22、 对象图和包图 2.10 顺序图和协作图 2.11 状态图和活动图 2.12 组件图和部署图 2.13 IBM Rational ROSE解决方案,-72-,UML结构,UML Structure,构造块 building blocks,公共机制 common mechanisms,构架 architecture,基本UML建模元素、关系和图,达到特定目标的公共UML方法,系统架构的UML视图,-73-,公共机制,公共机制 common mechanisms,规格说明 specifications,修饰 adornments,公共分类 common divisions,扩展机制 extensi

23、bility mechanisms,-74-,2.4 公共机制,2.4.1 规格说明 2.4.2 修饰 2.4.3 公共分类 2.4.4 扩展机制,-75-,2.4.1 规格说明,UML模型至少具有两种维度: 图形维度:允许使用图和图标可视化模型 文本维度:由各种建模元素的规格说明所组成 规格说明 模型元素的特征和语义的文本描述模型的“肉” 形成了承载模型的语义背板(semantic backplane),赋予模型意义,各种图仅仅是该背板的视图或者可视化投影 death by diagram由于图形而死亡,-76-,Rose中类的规格说明,-77-,2.4.2 修饰,修饰:图中建模元素上暴露的

24、信息项以表现某个要点 任何UML图仅是模型的视图,因此,只有在修饰增强了图的整体清晰性和可读性或者突出模型的某些重要特征时,你才应该表示那些修饰,Window,-78-,2.4.3 公共分类,公共分类描述认识世界的特殊方法 类元(Classifier)和实例 类元:一类事物的抽象概念;如bank account 参与者、类、类元角色、组件、数据类型、接口、节点、信号、子系统、用例 实例:一类事物的特定实例;如my bank account 接口(interface)和实现 接口:说明事物行为的契约(做什么) 实现:事物是如何工作的特殊细节(如何做),-79-,2.4.4 扩展机制,约束:允许对

25、模型元素添加新的规则 构造型(stereotypes):基于已有的建模元素引入新的建模元素 The means by which to extend the UML Stereotypes convey key properties to the model reader A number of stereotypes are packaged along with the UML Can define your own stereotypes 标记值:允许为模型元素添加新的特性,是带有相关值的关键字,扩展机制的三个组成,-80-,约束,约束是用文字表达式表示的语义限制。 约束用大括弧内的字符

26、串表达式表示。,-81-,构造型,UML中元素具有通用的语义,用构造型可以对它们进行专有化和扩展,-82-,标记值,标记值是一组字符串,存储着有关元素的一些信息。,-83-,本章目录,2.1 UML结构 2.2 物件 2.3 关系 2.4 公共机制 2.5 构架,2.6 UML图概述 2.7 用例图 2.8 类图 2.9 对象图和包图 2.10 顺序图和协作图 2.11 状态图和活动图 2.12 组件图和部署图 2.13 IBM Rational ROSE解决方案,-84-,UML结构,UML Structure,构造块 building blocks,公共机制 common mechanis

27、ms,构架 architecture,基本UML建模元素、关系和图,达到特定目标的公共UML方法,系统架构的UML视图,-85-,2.5 构架,构架概述 4+1视图 Use Case View(用例视图) Logical View(逻辑视图) Process View(进程视图) Implementation View(实现视图) Deployment View(部署视图),-86-,构架(Architecture),The organizational structure of a system, including its decomposition into parts, their c

28、onnectivity, interaction mechanisms, and the guiding principles that inform the design of a system 构架是一个系统的组织结构,包括系统分解成的各个部分、它们的连接性、交互机制和通知系统设计的向导规则,-87-,4+1视图,-88-,Use Case View,End-user: Functionality 这些视图由用例视图所统一,它描述项目干系人(stakeholder)的需求;所有其他视图都是从用例视图派生而来,该视图把系统的基本需求捕获为用例,并提供构造其他视图的基础,-89-,Logica

29、l View,Analysts/Designers: Structure 系统功能和词汇;描述问题域的词汇,构造类和对象的集合。重点是展示对象和类是如何组成系统、实现所需系统行为的,-90-,Process View,System integrators: Performance, Scalability, Throughput 系统性能、可伸缩性和吞吐量;将系统中的可执行线程和进程作为活动类来建模。其实,它是逻辑视图面向进程的变体,包含与逻辑视图相同的制品,-91-,Implementation View,Programmers: Software Management 系统组装和配置管理;

30、对组成基于系统的物理代码的文件和组件进行建模。它同样展示出组件之间的依赖,展示一组组件的配置管理以定义系统的版本,-92-,Deployment View,System engineering: System Topology, Delivery, Installation, Communication 系统的拓扑结构、分布、移交和安装;建模把组件物理地部署到一组物理的、可计算节点上,如计算机和外设上。它允许建模横跨分布式系统节点上的组件分布,-93-,总结:UML结构,下面将要学习的知识点,-94-,本章目录,2.1 UML结构 2.2 物件 2.3 关系 2.4 公共机制 2.5 构架,2

31、.6 UML图概述 2.7 用例图 2.8 类图 2.9 对象图和包图 2.10 顺序图和协作图 2.11 状态图和活动图 2.12 组件图和部署图 2.13 IBM Rational ROSE解决方案,-95-,2.6 UML图概述,UML1.4版本下图分类 UML2.0版本下图分类,-96-,UML图(UML1.X),图 diagrams,类图 class diagrams,对象图 object diagrams,构件图 component diagrams,部署图 deployment diagrams,用例图 use case diagrams,顺序图 sequence diagram

32、s,协作图 collaboration diagrams,状态图 statechart diagrams,活动图 activity diagrams,静态模型 (系统结构),动态模型 (系统行为),-97-,UML 9种图,类 图:类以及类之间的相互关系 对象图:对象以及对象之间相互关系 构件图:构件及其相互依赖关系 部署图:构件在各节点上的部署顺序图:强调时间顺序的交互图 协作图:强调对象协作的交互图 状态图:类所经历的各种状态 活动图:对工作流建模 用例图:需求捕获,测试依据,结 构,行为,用例图,静态图,实现图,交互图,行为图,-98-,UML图(UML2.0),图 diagrams,类

33、图 class diagrams,对象图 object diagrams,构件图 component diagrams,部署图 deployment diagrams,用例图 use case diagrams,交互图 interaction diagrams,状态图state machine diagrams,活动图 activity diagrams,结构图,行为图,复合结构图composite structure diagrams,顺序图 sequence diagrams,通信图 communication diagrams,交互概图 interaction overview diag

34、rams,时序图 timing diagrams,包图 package diagrams,-99-,本章目录,2.1 UML结构 2.2 物件 2.3 关系 2.4 公共机制 2.5 构架,2.6 UML图概述 2.7 用例图 2.8 类图 2.9 对象图和包图 2.10 顺序图和协作图 2.11 状态图和活动图 2.12 组件图和部署图 2.13 IBM Rational ROSE解决方案,-100-,2.7 用例图,三个概念 用例图元语 Post系统用例图 图书馆借阅管理用例图,-101-,概念1-用例图,用例图:用来显示在系统(或其它实体)内的用例与系统参与者之间的关系 A use ca

35、se diagram shows the relationship among use cases within a system or other semantic entity and their actors,主要使用场合:需求获取、定义、分析,-102-,概念2-用例,用例:是为了达到某一用户目标而组合在一起的一组场景 A use case, then, is a set of scenarios tied together by a common user goal.,-103-,Use-Case Flow of Events,Has one normal, basic flow S

36、everal alternative flows Regular variants Odd cases Exceptional flows for handling error situations,-104-,概念3-场景,场景:是用来描述用户和系统之间交互的顺序的步骤 A scenario is a sequence of steps describing an interaction between a user and a system,A scenario is an instance of a use case.,-105-,用例图元语,参与者,用例,系统边界,关联,扩展,包含,泛

37、化,注释体,注释连接,-106-,示例:POST系统,销售点终端(Point-Of-Sale Terminal,POST)系统 是一个计算机自动化系统 用来记录商品销售信息 处理客户的支付信息 客户可以使用现金、信用卡、支票等多种支付手段 主要用于零售的百货商店 包括计算机和条形码扫描仪等硬件设备和系统运行软件 ,-107-,示例:POST用例图,-108-,用例阐述,-109-,借阅管理用例图,-110-,练习,下面说法错误的是:A 泛化表示一般和特殊的关系B 用例之间存在泛化关系C 参与者之间存在泛化关系D 参与者和用例之间存在泛化关系,-111-,练习,下面说法错误的是:A 参与者是与所

38、建立系统交互的人或物B 参与者可以是人,也可以是其他系统C 参与者是系统的一部分,是用例图的重要组成部分D 参与者之间存在泛化关系,-112-,本章目录,2.1 UML结构 2.2 物件 2.3 关系 2.4 公共机制 2.5 构架,2.6 UML图概述 2.7 用例图 2.8 类图 2.9 对象图和包图 2.10 顺序图和协作图 2.11 状态图和活动图 2.12 组件图和部署图 2.13 IBM Rational ROSE解决方案,-113-,2.8 类图,2.8.1 类图概述 2.8.2 类图的阅读方法 2.8.3 类图的抽象层次 2.8.4 类图的构建步骤,-114-,2.8.1 类图

39、概述,类图概念 类图元语 类图示例-POST系统,-115-,类图,类图:是软件的蓝图,详细描述了系统内各个对象的类型,以及这些类之间的静态关系 A class diagram is a software blueprint -Details the types of objects within a system-Describes the static relationships between classes,主要使用场合:系统分析、设计、代码生成,-116-,类图元语-1,-117-,类图元语-2,-118-,示例:POST系统类图,-119-,2.8.2 类图的阅读方法,阅读方法概述

40、 一个电子商务类图的阅读过程 找出类 找出关系 理解多重性 理解方法,-120-,如何阅读类图,类: 先看清有哪些类 关系: 然后看类之间的关系 多重性,属性和方法: 结合多重性来理解类图的结构特点以及各属性、方法的含义,-121-,一个电子商务类图,收件人,消费者 (买家),卖家,-122-,阅读过程1-找出类,Order、OrderItem、Customer、Consignee、DeliverOrder、Peddlery、Product,-123-,阅读过程2-找出关系,从图中关系最复杂(也就是线最密集)的类开始阅读,如Order类 OerderItem和Order之间是组合关系,根据箭头

41、方向可知Order包含了OrderItem Order类和Customer、Consignee、DeliverOrder是关联关系。也就是说,一个订单和客户、收货人、送货单是相关的。,-124-,阅读过程3-理解多重性,多重性:用来说明关联的两个类之间的数量关系,-125-,阅读过程4-理解方法,Order类有两个方法dispatch()和close (),从名字中可以猜出它们分别实现“分发订单生成送货单”和“完成订单”。 DeliveOrder 类中有一个close ()方法,同理,它表示“完成送货”。 而在OrderItem中有一个stateChange ()方法和deliverState

42、,不难猜出它就是用于改变其“是否交给收货人”标志位的。,-126-,先调用Order的dispatch ()方法,它将根据其包含的OrderItem中产品信息,来按供应商户分拆成若干个DeliverOrder。商户登录系统后就可以获取其DeliverOrder,并在执行完成后再调用close ()方法。此时,就将调用OrderItem的stateChange()方法来改变其状态。同时再调用Order的close()方法,判断该Order的所有的OrderItem是否都已经送到了,如果是就将其真正close()掉。,-127-,-128-,2.8.3 类图的抽象层次,概念层 逻辑层 实现层,-1

43、29-,类图的抽象层次,在系统的不同开发阶段,类图可以具有不同的抽象程度。随着开发的深入,类图应该越来越详细、具体。 可以分为:概念层,逻辑层,实现层。,概念层,逻辑层,实现层,-130-,概念层类图,在概念层,类图一般以抽象的方式描述从业务领域中抽取的业务对象之间的关系。特点是: 抽象反映业务对象之间的关系; 不展开类中的内容; 对类用缩略表示或简化表示。,-131-,-132-,逻辑层类图,在逻辑层,需要展开类图中类的内容,但对类的内容不需要过于详细,仅列出属性名和操作名就可以。特点是: 逻辑层是对概念层的深化; 展开类中的内容,但可以不包括细节; 对类用一般表示形式。,-133-,-13

44、4-,实现层类图,在实现层,需要展开类的所有内容,包括属性名,类型,可见性,初始值等。实现层中的类应该能够立即用于编程实现。特点是: 实现层是对逻辑层的深化; 展开类中的内容,包括细节; 对类用一般表示形式。,-135-,-136-,2.8.4 类图的构建步骤,类图的构建步骤 一个关于图书馆图书借阅管理的类图 一个实现旅游宾馆预订的类图,-137-,建立类图的一般步骤:, 研究分析问题领域,确定系统需求; 抽取类,明确类的含义和职责,确定类的属性和操作; 确定类之间的关系。关联,泛化,聚合,组合,依赖; 调整和细化类及其关系,解决重复和冲突; 绘制类图,并增加相应说明。,-138-,每一种图书

45、,包括:书名、作者、ISBN号、出版社、单价。每一册图书对应着一个唯一的图书编号。 有许多注册读者,读者的信息包括读者编号、姓名、出生日期、职业、电话、通信地址、邮政编码、邮箱。 每一个读者拥有一个借书证,借书证包括读者编号、注册日期、读者类型。读者每次可以凭借书证借图书, 图书馆要对读者借书登记借书记录,借书记录中登记读者、所借图书、借出日期、返还日期、管理员等信息。 管理员的信息有:编号、姓名、性别、出生日期、岗位、学历、职称。,示例:绘制图书馆图书借阅管理的类图,-139-,1.提取本问题的类,图书;读者;借书证;借书记录;管理员,-140-,2.确定各个类的属性,-141-,3.确定类

46、之间的关系, 读者与借书证的关系?,关联关系多重性:1对1,-142-, 图书,管理员,借书证与借书记录之间的关系?,-143-,4.画出完整类图,-144-,张博在大学期间为了锻炼职业能力,和几个要好的同学注册了一个提供旅游服务预订业务的公司,该公司负责为在校学生的暑假旅游提供服务 各旅游胜地的宾馆向他们提供在暑假期间可以预订的客房信息,包括客房的大小、设施、价格等。希望旅游的在校学生则通过这个公司提供的房间信息,进行客房预订 学生在预订客房时,需要提供自己的学号、姓名、性别、年龄、身份证号、所在学校等基本信息,并提供希望预订的客房和时间,学生需要交纳一定的预订手续费和预订押金 预订之后,发

47、生特殊情况,学生可以撤除预订或更改预订,示例:提取旅游宾馆预订的类图,无效对象,-145-,1 提取本问题的类,旅游地;宾馆;学生;客房;订单,-146-,2 确定各类的属性,-147-,1 “旅游地”和“宾馆”的关系,3 确定类之间的关系,-148-,2 “客房”分析 客房应该有不同的类型,客房类型,-149-,客房状态,2 “客房”分析 客房应该有不同的状态,-150-,组合关系,2 “客房”分析 宾馆记录包含的客房,-151-,3 客房预订分析 通过 “订单”描述客房的预订信息,“订单”应该有状态,提取“订单状态”,-152-,3 客房预订分析 客房预订涉及到“学生”,“订单”,“宾馆”

48、和“客房”几个类 假设一个订单可以预订到多个客房。,-153-,4 画出完整类图,-154-,本章目录,2.1 UML结构 2.2 物件 2.3 关系 2.4 公共机制 2.5 构架,2.6 UML图概述 2.7 用例图 2.8 类图 2.9 对象图和包图 2.10 顺序图和协作图 2.11 状态图和活动图 2.12 组件图和部署图 2.13 IBM Rational ROSE解决方案,-155-,2.9 对象图和包图,对象图的概念 对象图的表式 包的概念和作用 包的表示 书店图书管理的包图,-156-,对象图的概念,对象图:表示在某一时刻类的对象静态结构和行为 An object diagr

49、am represents a concrete situation at a given time, it express both the static structure (found in class diagrams) and behavior,描述类图在某一时刻,各个类中的对象相互之间的关系,相当于对类图在某时刻的一个快照 。,-157-,对象图的表式,对应着同一幅类图,在不同时间绘制出来的对象图是不一样的,类图:,对象图:,-158-,包的概念和作用,包(Package): 是UML用来组织模型元素的模型元素。 包在UML中被视为文件夹。可以把包比作一个存放模型元素的箱子或容器,在它里面可以存放多个模型元素。 包中存放的模型元素可以是:类、接口、构件、用例、节点、活动、状态、包和图等。,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 中等教育 > 小学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报