篇面向对象的概念与模型.PPT
文本预览下载声明
第三篇 面向对象方法学 (Object - Oriented Methodology) 第六章 面向对象的概念与模型 第七章 面向对象的分析 第八章 面向对象的设计 第九章 面向对象的实现 第6章 面向对象的概念与模型 重点: 面向对象方法学概述 面向对象方法学的主要优点 面向对象的概念 面向对象建模 难点: 面向对象方法学 对象模型 动态模型 功能模型 6.1 面向对象方法学概述 一、传统方法学的缺点 1、瀑布模型的缺点:僵化 瀑布模型要求:生命周期各阶段间遵守严格的顺序。 实际情况是:软件开发往往在反复实践中完成。 瀑布模型要求:预先定义并“冻结”软件需求。 实际情况是:某些系统的需求的一个逐渐明确的过程,且预先定义的需求到软件完成时可能已经过时。 本质上是功能分解,以实现功能的过程为中心,而用户的需求变化主要是针对功能的。这就使基于过程的设计不易被理解;且功能变化往往引起结构变化较大,稳定性不好。 系统有明确的边界定义,且系统结构依赖于系统边界的定义,这样的系统不易扩充和修改。 数据与操作分开处理,可能造成软构件对具体应用环境的依赖,可重用性(reusability)较差。 OOM:以object 为核心,强调对现实概念的模拟而不强调算法。“面向对象方法学的基本原则,是按照人们习惯的思维方式建立问题域的模型,开发出尽可能直观、自然地表现求解方法的软件系统”。 Class:由特殊到一般的归纳(induction) Inheritance:由一般到特殊的演绎(deduction) 稳定性好:软件功能需求的变化不牵动全局,只需局部修改; Class 独立性强:只要修改不涉及class的对外接口,则内部修改完全不影响外部调用; Inheritance和多态性(polymorphism)使其很容易被修改和扩充; 容易理解; 5、较易开发大型软件产品 较容易地把大型软件分解为独立的模块(对象) 降低了开发难度和管理难度。 2、对象的定义 对象指的是一个独立的、异步的、并发的实体,它能“知道一些事情”(存储数据)、“做一些工作”(封装服务),并“与其它对象协同”(通过交换消息),从而完成(模块化)系统的所有功能。 2、Instance:某个class描述的具体对象; 3、Message: = object_ID. method_ID (parameter(s)); 4、Method: object能做的操作,亦称为service 、responsibility, 在 class 中须定义相应的代码; 5、Attribute :object 的固有数据; 特点: ① 若杭州人的 methods中有与中国人的同名,则李士执行该 method 时以杭州人为准,不执行中国人中定义的同名 method。 ⑵ Operator overloading : 同一运算符 (operator)作用于不同类型的操作数 (operand) 上面。 6.4. Object Modeling Technique (OMT) 建立三种模型: ① 描述系统数据结构的对象模型(object model). ② 描述系统控制结构的动态模型(dynamic model). ③ 描述系统功能的功能模型(function model). 6.5 Object Model(对象模型) 三个模型中最关键的一个模型,它的作用是描述系统的静态结构,包括构成系统的类和对象,它们的属性和操作,及它们之间的关系。 图形符号有: 业务数据流程图 三种模型之间的关系 课后分析 通过对比传统方法学和面向对象方法学的优缺点,引入面向对象方法学的基本概念和特点,并且向同学们重点介绍了面向对象建模原理,为后续课程奠定良好的基础。 闲 置 拨 号 通 话 断 线 拨号音 do:响拨号音 超 时 do:响蜂鸣音 存储的信息 do:播放信息 接通中 do:试接通 振 铃 do:振 铃 忙 音 do:响忙音 拿起听筒 数字 数字 有效号码 已接通 受话人回话 受话人挂断电话 挂断电话 超 时 挂断电话 超时 无效号码 信息播完 占 线 例:电话的 状态图 事件追踪图 事件追踪图侧重于说明发生于系统执行过程中的一个特定“场景”。 场景也叫做脚本,是完成系统某个功能的一个事件序列。 场景通常起始于一个系统外部的输入事件,结束于一个系统外部的输出事件,它可以包括发生在这个期间的系统所有的内部事件。 打 打 电 电 话 话 者 者 拿 拿 起 起 电 电 话 话 受 受 话 话 器 器 电 电 话 话 忙
显示全部