专题二:面向对象分析与设计(uml)

上传人:j7****6 文档编号:58296753 上传时间:2018-10-28 格式:PPT 页数:64 大小:1.09MB
返回 下载 相关 举报
专题二:面向对象分析与设计(uml)_第1页
第1页 / 共64页
专题二:面向对象分析与设计(uml)_第2页
第2页 / 共64页
专题二:面向对象分析与设计(uml)_第3页
第3页 / 共64页
专题二:面向对象分析与设计(uml)_第4页
第4页 / 共64页
专题二:面向对象分析与设计(uml)_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《专题二:面向对象分析与设计(uml)》由会员分享,可在线阅读,更多相关《专题二:面向对象分析与设计(uml)(64页珍藏版)》请在金锄头文库上搜索。

1、面向对象分析与设计 O-O Analysis and Design,机电学院 杨静萍 2013-2014(1),内容提要,面向对象的概念 (Concepts of Object-Oriented) 面向对象技术框架 (Architecture of Object-Oriented) 面向对象分析技术 ( Object-Oriented Analysis Technology ),面向对象概念,哲学的观点:客观世界与主观世界 计算机软件:模拟现实世界 面向对象的基本概念 面向对象(Object Oriented) 对象和类( Object & Class ) 消息(Messages) 类的特性(

2、Features of Class) 接口(Interface) 包(Package),哲学的观点:客观世界与主观世界,事物实体: 内部状态 属性 运行规律 行为 事物归类 相互联系 相互作用,对象Object 属性域 行为方法 类Class 关系Relation 消息Method,计算机软件:模拟现实世界,面向对象(Object Oriented),面向对象是一种用于产生模型的技术,这些模型使用某个领域的术语,以自然的方式来反映该领域; 面向对象有5个基本概念:对象、类、消息、继承和多态。,面向对象=对象+类+消息+继承+多态,对象和类( Object & Class ),对象(Object

3、):现实世界中实体的逻辑模型。每个对象有一个名称,多种属性和多个操作。 类(Class):对象共性 特征的抽象。 每个对象也有 一个名称,多种 属性和多个操作。类是对象 的抽象化,对象是类的实例化。,Class Car,消息(Messages),消息是指对象间相互联系和相互作用的方式。一个消息主要由5部分组成:发送消息的对象、接收消息的对象、消息传递办法、消息内容(参数)、反馈。,类的特性(Features of Class),(1)抽象(Abstraction) (2)封装(Encapsulation ) (3)继承(Inherit , Extends) (4)多态、覆盖(Polymorph

4、ism /Override) (5)重载(Overload ) (6)关联(Association) (7)聚集(Aggregation),(1)抽象(Abstraction),类的定义中明确指出类是一组具有内部状态和运动规律对象的抽象,抽象是一种从一般的观点看待事物的方法,它要求我们集中于事物的本质特征(内部状态和运动规律),而非具体细节或具体实现。面向对象鼓励我们用抽象的观点来看待现实世界,也就是说,现实世界是一组抽象的对象类组成的。,(2)封装(Encapsulation ),对象间的相互联系和相互作用过程主要通过消息机制得以实现。对象之间并不需要过多的了解对方内部的具体状态或运动规律。

5、面向对象的类是封装良好的模块,类定义将其说明(用户可见的外部接口)与实现(用户不可见的内部实现)显式地分开,其内部实现按其具体定义的作用域提供保护。类是封装的最基本单位。封装防止了程序相互依赖性而带来的变动影响。在类中定义的接收对方消息的方法称为类的接口。,(3)继承(Inherit , Extends),继承是类不同抽象级别之间的关系。类的定义主要有2种办法归纳和演绎;由一些特殊类归纳出来的一般类称为这些特殊类的父类,特殊类称为一般类的子类,同样父类可演绎出子类; 父类是子类更高级别的抽象。子类可以继承父类的所有内部状态和运动规律。在计算机软件开发中采用继承性,提供了类的规范的等级结构;通过

6、类的继承关系,使公共的特性能够共享,提高了软件的重用性。,(4)多态、覆盖(Polymorphism /Override),多态(覆盖):多态性是指同名的方法可在不同的类中具有不同的运动规律。在父类演绎为子类时,类的运动规律也同样可以演绎,演绎使子类的同名运动规律 或运动形式更具体,甚至子类可以有不同于父类的运动规律或运动形式。不同的子类可以演绎出不同的运动规律。,(5)重载(Overload ),重载指类的同名方法在给其传递不同的参数是可以有不同的运动规律。在对象间相互作用时,即使接收消息对象采用相同的接收办法,但消息内容的详细程度不同, 接收消息对象内部的运动规律也可能不同。,(6)关联(

7、Association),对象之间以某种方式发生联系,例如: The man turns on the TV; The man is married to the woman; The man is a friend of the other man; The man drive the car; ,(7)聚集(Aggregation),对象之间的组成关系,例如: 计算机对象由主机、键盘、鼠标、显示器等对象组成; 汽车对象由车身、轮胎、动力系统、电气装置、内饰等对象组成; ,接口(Interface),接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些

8、方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为,即,实现接口的类应具有接口所定义的功能。,Not a- but has a function of,包(Package),哲学认为现实世界中不同对象间的相互联系和相互作用构成了各种不同的系统,不同系统间的相互联系和相互作用构成了更庞大的系统,进而构成了整个世界。在面向对象概念中把这些系统称为包。,面向对象技术框架,UML,OOP(Java),ORDBMS(DERBY),面向对象分析技术(OOA),面向对象分析技术概述 基于UML的面向对象分析,面向对象分析技术概述,OOA的目的:是对客观世界并进行建模 OOA的实质:是对需求的分

9、析和理解. OOA的过程: 获取问题陈述 确定类 准备数据字典 确定关联 使用继承来细化类型 完善对象模型 建立对象动态模型 建系统功能模型OOA的工具:UML,基于UML的面向对象分析,UML简介 UML建模范围 UML世界的构成 UML分析设计过程,UML简介,UML概述 UML的诞生 UML的发展历程,UML概述,统一建模语言( Unified Modeling Language,UML)是用来对软件系统进行可视化建模的一种语言。是为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。 UML可以贯穿软件开发周期中的每一个阶段。被OMG(Object Management

10、Group)采纳作为业界的标准。UML最适于数据建模,业务建模,对象建模,组件建模。,UML的诞生,Grady Booch James Rubaugh Ivar Jacobson Rational OMG(1997) IBM(2003),UML的发展历程,UML建模范围,UML是一种统一的、标准化的建模语言 UML是一种应用面很广泛的建模语言,UML世界的构成,1.结构元素(类,接口,协作,用例,对象,构件,节点等) 2.行为元素(交互,状态机) 3.分组元素(包) 4.注解元素,1.关联 2.依赖 3.泛化 4.实现,1.静态模型(类图,构件图,部署图) 2.动态模型(对象图,用例图,顺序图

11、,协作图,状态图,活动图),构造块,构造块是对模型中最具有代表性的成分的抽象 建模元素:UML中的名词,它是模型基本物理元素。 行为元素:UML中的动词,它是模型中的动态部分,是一种跨越时间、空间的行为。 分组元素:UML中的容器,用来组织模型,使模型更加的结构化。 注释元素:UML中的解释部分,和代码中的注释语句一样,是用来描述模型的。,建模元素,类(class)和对象(object) 用例(use case) 协作(collaboration) 构件(component) 节点(node),类(class)和对象(object),类是对一组具有相同属性、相同操作、相同关系和相同语义的对象的

12、抽象 UML中类是用一个矩形表示的,它包含三个区域,最上面是类名、中间是类的属性、最下面是类的方法 对象则是类的一个实例,用例(use case),用例是著名的大师Ivar Jacobson首先提出的,现已经成为了面向对象软件开发中一个需求分析的最常用工具 用例实例是在系统中执行的一系列动作,这些动作将生成特定执行者可见的价值结果。一个 用例定义一组用例实例。,协作(collaboration),协作定义了一个交互,它是由一组共同工作以提供某协作行为的角色和其他元素构成的一个群体。 对于某个用例的实现就可以表示为一个协作,构件(component),在实际的软件系统中,有许多要比“类”更大的实

13、体,例如一个COM组件、一个DLL文件、一个JavaBeans、一个执行文件等等。为了更好地对在UML模型中对它们进行表示,就引入了构件(也译为组件) 构件是系统设计的一个模块化部分,它隐藏了内部的实现,对外提供了一组外部接口。在系统中满足相同接口的组件可以自由地替换,节点(node),为了能够有效地对部署的结构进行建模,UML引入了节点这一概念,它可以用来描述实际的PC机、打印机、服务器等软件运行的基础硬件 节点是运行时存在的物理元素,它表示了一种可计算的资源,通常至少有存储空间和处理能力,行为元素,交互(interaction):是在特定语境中,共同完成某个任务的一组对象之间交换的信息集合

14、 交互的表示法很简单,就是一条有向直线,并在上面标有操作名 状态机(state machine):是一个对象或交互在生命周期内响应事件所经历的状态序列 在UML模型中将状态画为一个圆 角矩形,并在矩形内写出状态名 称及其子状态,分组元素,对于一个中大型的软件系统而言,通常会包含大量的类,因此也就会存在大量的结构事物、行为事物,为了能够更加有效地对其进行整合,生成或简或繁、或宏观或微观的模型,就需要对其进行分组。在UML中,提供了“包(Package)”来完成这一目标。,注释元素,结构事物是模型的主要构造块,行为事物则是补充了模型中的动态部分,分组事物而是用来更好地组织模型,似乎已经很完整了。而

15、注释事物则是用来锦上添花的,它是用来在UML模型上添加适当的解释部分,UML模型关系的种类,关联关系,关联(Association)表示两个类之间存在某种语义上的联系。关联关系提供了通信的路径,它是所有关系中最通用、语义最弱的。 在UML中,使用一条实线来表示关联关系。两种特殊的关联关系:例: 聚合(Aggregation)表示类之间的关系是整体与部分的关系 组合:如果发现“部分”类的存在,是完全依赖于“整体”类的,那么就应该使用“组合”关系来描述,聚合与组合例,组合是聚合的变种,加入了一些重要的语义。也就是说,在一个组合关系中一个对象一次就只是一个组合的一部分,“整体”负责“部分”的创建和破

16、坏,当“整体”被破坏时,“部分”也随之消失,抽象(泛化、实现与依赖)关系,泛化关系描述了一般事物与该事物中的特殊种类之间的关系,也就是父类与子类之间的关系。,抽象(泛化、实现与依赖)关系,实现关系是用来规定接口和实现接口的类或组件之间的关系。接口是操作的集合,这些操作用于规定类或组件的服务。,抽象(泛化、实现与依赖)关系,有两个元素X、Y,如果修改元素X的定义可能会引起对另一个元素Y的定义的修改,则称元素Y依赖(Dependency)于元素X。,UML规则,命名:也就是为事物、关系和图起名字。和任何语言一样,名字都是一个标识符 范围:与类的作用域相似. 可见性:,UML视图和图,UML图形分类,UML分析设计过程,UML分析设计过程,用例建模 用例(Use case)、用例的一般化(分类和继承) 参与者(Actor)、参与者的一般化(交叠角色) 包含关系(Include) 扩展关系(Extend) 用例描述(Use case description) 过程建模 顺序图(Sequence Diagram) 将用例映射为类,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

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