资源预览内容
第1页 / 共27页
第2页 / 共27页
第3页 / 共27页
第4页 / 共27页
第5页 / 共27页
第6页 / 共27页
第7页 / 共27页
第8页 / 共27页
第9页 / 共27页
第10页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第2章面向对象技术与UML2.1面向对象技术概述2.2面向对象的分析-2.3面向对象的设计2.4基于UML的面向对彖分析、设讨2.1而向对象技术概述-2.1.1面向对象的基本概念 2.1.2面向对象的开发语言 2.1.3面向对象的设计与开发工具2.1.1面向对象的基本概念 Coad 和丫 ourdon:面向对象=对象+类+继承+通信2.1.1面向对象的基本概念面向对象技术的基本观点: 客观世界由对彖组成,任何客观实体都是对象,复杂对象可以由简单对象组成。 具有相同数据和操作的对象可归纳成类, 对象是类的一个实例。 类町以派生出子类,子类除了继承父类的 全部特性外还可以有B己的特性。 对象之间的联系通过消息传递来维系。-面向对象的核心元素: 对象封装消息 类继承多态性结构与连接1. 对象-客观世界里的任何实体都可以被称为对彖。对彖口J以是具体的、有形的物,也口J以是无形的 事物或概念。-对象是问题域或实现域中某些事物的一个抽象。对象是一个封装数抓属性和操作行为的实体。系统中的对象右:软件牛命周期的各个阶段可能有 不同的表示形式。一个对象的实例图解2. 封装封装是面向对象方法的一个重耍原则。封装有两个含义: 结合性 信息隐蔽性3. 消息消息是向对象发出的服务请求。一个消息包含消息名、接受对象的标志、 服务标志、输入信息、回答信息等。消息传递机制。4. 类类是一组具有相同数据结构和相同操作的 对象的集合。类是对象的抽象。客观世界实际存在的都是对象,而不是类O类和对象的关系。5. 继承继承性是面向对象程序设计语言不同丁其 他语言的最主要特点。继承是指子类可以口动拥有父类的全部属 性与操作的机制。父类(超类)子类(派生类)继承性又分为单重继承和多重继承两类。继承的描述C为继小部分D为附加部分单重继承和多重继承的描述6. 多态性定义:同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果。 多态性分为两种: 编译时的多态性。 运行时的多态性。6.多态性多态性的实现方式: 通过接口实现多态性 通过继承实现多态性 通过抽象类实现的多态性7. 结构与连接 一般/特殊结构 整体/部分结构 实例连接 消息连接2.1.2面向对象的开发语言-1.面向对象的建模语言 2面向对象的程序设计语言1. 面向对象的建模语言 Booch 1993 (Grady Booch) OOSE (Jim Rumbaugh) OMT-2 (IvarJacobson)-UMLZ 10UML的发展过程myKltWCifr;:IJMIJ.IWT.IIW.II2. 面向对象的程序设计语言四个基本的分支: 基于Smalltalk的语言 基于C的语言 基丁LISP的语言 基于PASCAL的语言2.1.3面向对象的设计与开发工具 1.面向对象的开发工具 2面向对象的设计工具2.2面向对象分析(OOA) 2.2.1面向对象分析的层次 2.2.2面向对象分析的基本过程 2.2.3面向对彖分析的基木原则 2.2.4类图 2.2.5发现对象和定义类 2.2.6对象之间的通信2.2.1面向对象分析的层次对象模型通常由五个层次组成: 类与对象层 属性层 服务层 结构层 主题层对象模型的五个层次I Sf?.2.2.2而向对象分析的基本过程 发现对象,从对象中抽象出类的定义。 识别对象的内部特征。 识别对象的外部关系。 划分主题,建立主题图。 定义用例,建立交互图。 建立详细说明。 原型开发。面向对象分析过程模型义 I w Coy洋niw叨U&开廉2.2.3面向对象分析的基本原则 抽象原则 分类原则 聚合原则 关联原则 消息通信原则2.2.4类图类图的主要构成成分: 类 属性 方法 一般/特殊结构 整体/部分结构 实例连接 消息连接2.2.4类图类图分为三个层次: 对象层 特征层(3)关系层类图的三个层次关系层2.2.5发现对象和定义类-1.发现对象 2.抽象出对象类1. 发现对象发现对象的根本出发点: 问题域和系统责任正确运用抽彖原则。2. 抽象出对象类 儿种常见问题: 类的属性或服务不适合该类的全部对象。 出现属性和服务相似的类。 出现对同一事物的重复描述。2.2.6对象之间的通信 1. 一般/特殊结构 2.整体/部分结构 3.实例连接 4.消息连接1一般/特殊结构 一般/特殊结构均形成层次或网络2.整体/部分结构3. 实例连接实例连接用丁表达对象之间的静态联系4. 消息连接定义:两个对象之间存在的由丁通信需耍 而形成的关系。表示方法:使用箭头从发送消息的对象指 向接收消息的对象。2.3面向对象设计(OOD) 2.3.1面向对象设计的模型 2.3.2面向对象的高层设计 2.3.3面向对象的类设计2.3.1面向对象设计的模型f机互分 人交部S分务理分 仕管部册Sg亠-1铁亠= FJI林 I 上IF肚 “IIPKF 可X nl2.3.2面向对象的高层设计-1.高层设计的结构模型 2.高层设计的准则 3 问题域子系统的设计 4.人机交互子系统的设计 5.任务管理子系统的设计 6.数据管理子系统的设计1. 高层设计的结构模型窗口其彳也系线丄、文件 RDBMS人机界曲问题论城一不统交q界血2. 高层设计的准则 弱耦合。 强内聚。 减少通信开销。 良好的可扩充性。3问题域子系统的设计 复用已有的设计。 把与问题论域相关的类关联,建立类的层 次结构。 创建一般化类。 改进系统性能。 加入较低层的构件。4.人机交互子系统的设计 用户分类。 描述人及其任务的脚木。 设计命令层。 设计与用户的详细交互。 继续进行原型设计。 设计人机交互类。5. 任务管理子系统的设计 为任务命名,并简要说明这个任务。 定义各个任务如何协调工作,指出它是事 件驱动还是时钟驱动。 定义各个任务之间如何通信,任务将从哪 里取值,任务执行得到的结果将送往何方。6. 数据管理子系统的设计常用的数据管理方法有三种: 文件管理 关系数据库管理系统 面向对象数据库管理系统2.3.3面向对象的类设计 1.类设计的日标 2.类的设计准则1. 类设计的目标(D把类设计成可复用的“插接相容性”部件。 把类设计成健壮的部件。 把类设计成可集成的部件。2. 类的设计准则类公共接口的单独成员应该是类的操作符。类A的实例不应该直接发送消息给类B的成员。 操作符是公共的,当FH乂当类实例的用户可用。 属丁类的每个操作符耍么访问、耍么修改类的 某个数据。类必须尽可能少地依赖其他类。两个类之间的互相作用应该是显式的。继承结构的父类应该是H标概念的抽彖模空。
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号