编辑: xiong447385 2016-07-05

coupling) 北京火龙果软件工程技术中心 www.uml.org.cn 抽象 ? 忽略掉一个对象或实体的细节而只关注其本质特征 的过程 ? 简化功能与格式 ? 帮助用户与对象交互 北京火龙果软件工程技术中心 www.uml.org.cn 封装 ? 隐藏数据和实现 ? 提供公共方法供用户调用功能 ? 对象的两种视图 ―― 外部视图:对象能做的工作 ―― 内部视图:对象如何完成工作 ―― 电视机:调节音量

5 北京火龙果软件工程技术中心 www.uml.org.cn 继承 ? 通过存在的类型定义新类型的机制 ? 通常在两个类型之间存在 is a 或 kind of 这 样的关系 ? 通过继承可实现代码重用,另外继承也是多态的基 础?如苹果 is a 水果 北京火龙果软件工程技术中心 www.uml.org.cn 多态 ? 一个名称,多种形式 ? 一个类中的方法重载就是一种多态 ? 基于继承的多态 ? 调用方法时根据所给对象的不同选择不同的处理方式 ? 如Football――play():使用脚来完成 ? Basketball――play():使用手来完成 ? 给出一个具体的足球或篮球,用户自动知道该使用谁的方式去 执行play() 北京火龙果软件工程技术中心 www.uml.org.cn 关联 ? 对象之间交互时的一种引用方式 ? 当一个对象通过对另一个对象的引用去使用另一个 对象的服务或操作时,两个对象之间便产生了关联 ? 如person使用computer,person与computer之间就 存在了关联关系 北京火龙果软件工程技术中心 www.uml.org.cn 聚合 ? 关联关系的一种,一个对象成为另外一个对象的组成部分 ? 是一种关系较强的关联 ? 在两个对象之间存在 has a 这样的关系,一个对象作为另 一个对象的属性存在,在外部对象被生产时,可由客户端指定 与其关联的内部对象 ? 如汽车与轮胎,轮胎作为汽车的一个组成部分,它和汽车可以 分别生产以后装配起来使用,但汽车可以换新轮胎,轮胎也可 以卸下来给其它汽车使用

6 北京火龙果软件工程技术中心 www.uml.org.cn 组合 ? 当一个对象包含另一个对象时,外部对象负责管理 内部对象的生命周期的情况 ? 关联关系中最为强烈的一种 ? 内部对象的创建由外部对象自己控制 ? 外部对象不存在时,内部对象也不能存在 ? 如电视机与CRT 北京火龙果软件工程技术中心 www.uml.org.cn 内聚与耦合 ? 内聚:度量一个类独立完成某项工作的能力 ? 耦合:度量系统内或系统之间依赖关系的复杂度 ? 设计原则:增加内聚,减少耦合 北京火龙果软件工程技术中心 www.uml.org.cn 练习 ? 给出下列对象,完成对对象的抽象功能描述 Car,Person,Employee,Bank account ? 给出下列对象,通过继承的方式找出对象之间存在 的公共功能 Electrical Appliances Audio Hi-fi, Radio, Walkman Refrigeration Appliances Fridge, Freezer 北京火龙果软件工程技术中心 www.uml.org.cn 练习 Telephone Fixed, Cordless, Cellular ? 描述以下方法在不同设备上的实现 ――所有的电器设备都有 turn on 和 turn off 方法 ――所有的音频设备都有 adjustVolum 方法 ――所有的冰箱设备都有 adjustTemperature 方法 ――所有的电话设备都有 dial 与 hangup 方法

7 北京火龙果软件工程技术中心 www.uml.org.cn 开发过程概述 ? 传统开发过程 ――瀑布模型 ? 统一软件开发过程(USDP) 北京火龙果软件工程技术中心 www.uml.org.cn 传统开发过程 ? 瀑布模型 Requirements Analysis Design Implementation Test Time 北京火龙果软件工程技术中心 www.uml.org.cn OOAD的开发过程 ? 大项目分解为一些子项目 ? 使用UML工具 ? 统一软件开发过程是一个迭代、递增的开发过程 北京火龙果软件工程技术中心 www.uml.org.cn 迭代、递增的项目生命周期 ? 项目是迭代、递增的 ? 迭代指生命周期中的一个步骤 ? 迭代导致 递增 或者是整个项目的增长 ? 大项目分解为子项目

下载(注:源文件不在本站服务器,都将跳转到源网站下载)
备用下载
发帖评论
相关话题
发布一个新话题