面向对象系统分析与设计与_第1页
面向对象系统分析与设计与_第2页
面向对象系统分析与设计与_第3页
面向对象系统分析与设计与_第4页
面向对象系统分析与设计与_第5页
已阅读5页,还剩41页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、95,ANOBJECT-ORIENTEDSYSTEMS ANALYSIS AND DESIGN METHODOLOGY面向对象系统分析与设计方法,计划 可行性分析 (可选) 需求确定 概念设计 物理设计 建立原形 培训 新旧系统交替 实施 进化 维护 ,它叫 myLamp;,119,面向对象方法的主要概念 1.对象(object),对象:系统中用来描述客观事物的一个实体,它是构成系统的一个基本单位。一个对象由一组属性和对这组属性进行操作的一组服务构成;,属性:用来描述对象静态特征的一个数据项,服务(方法):用来描述对象动态特征的一个操作序列,对象将数据(属性)和功能(服务)封装在一起,120,

2、面向对象方法的主要概念 2.类型(class),类型:具有相同属性和服务的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分,在面向对象的程序设计过程中,实际做的是建立新的数据类型 (class),程序设计系统会欣然接受程序设计者定义的数据类型(class),同时也赐予他们和基本类型一样的对待及一样的类型检查,121,面向对象方法的主要概念 2.类型(class),例如台灯就是一个class(不是指具体的台灯),class Lamp on() this.light = 50; off() this.light = 0; brighten() this.

3、light+; dim() this.light-; int light = 0; /亮度 ,它用来识别 比如判断一个对象是不是台灯? 要生产一批台灯那么生产怎样的东西才叫台灯?,122,面向对象方法的主要概念 2.类型(class),一个类型建立以后,就可以使用这个类建立任意多的对象,Lamp myLamp = new Lamp(); Lamp yourLamp = new Lamp(); ,已经做好一个硬币的模型(class),就可以生产任意多的 硬币(object)! /只要有充足的原料(存储空间),hehe,123,抽象 Abstraction 封装 Encapsulation (In

4、formation Hiding) 继承 Inheritance 信息通讯 Message Communication 关联 Associations 多态性 Polymorphism 通用组织方法Common Methods of Organization 复用 Reuse,124,抽象Abstraction,是大脑的一种能力,允许忽略问题域的无关部分,而集中考虑关键部分的原则.,在做什么 功能和数据的抽象,125,面向对象方法的主要概念,以台灯为例说明面向对象方法的主要概念,Lamp on() off() brighten() dim() int light,抽象,Type Name,In

5、terface,126,封装Encapsulation (Information Hiding),把数据和处理他们的过程绑定在一起的技术,成份,配制方法,2 eggs 4 cups flour 1 cup milk 1 cup sugar etc.,Pre-heat oven to 350; Put milk, eggs, and sugar in 2 quart mixing bowl.,David Parnas 提出 提供对外的接口 隐藏内部实现机制 使的软件更可靠 Gannon, Hamlet, & Mills, 1987,上一个蛋糕!,127,继承Inheritance,表示相似性质的

6、一种机制,从而简化他们的定义,外表 行为 属性 .,人,学生,教工,行政人员,继承,128,消息通信,对象,对象,对象,对象,对象之间的联系机制,129,关联Associations,把信息系统的各个部分相互联系起来,相同点,帐单,广告,广告,scene #1,scene #2,scene #n,相似场景,130,多态性Polymorphism (“many forms”),通过通用接口实现不同过程的能力. 多个对象对同一种请求实现不同的过程.,H O = 水,冰, 水蒸气 吃,2,对比,Door #1,Door #2,Door #3,Door #1 #2 #3,多态性,两个例子,PRINT,

7、PRINT,PRINT,文本对象,图形对象,图象对象,Object #1,购买对象,帐户对象,部门对象,Object #2,Object #3,Add,Add,Add,= 增加一项商品,= 增减户头,= 雇佣一个人,132,对象和他的属性 总体部分 类与成员,分类理论 (通用组织方法),133,通用组织方法,人们习惯于用以下三种方式来看待事物,color price weight engine options.,对象及属性,number of doors number of wheels number of windows number of lights number of bolt typ

8、e 1 number of bolt type 2 etc.,总体部分,组和成员,VANS: light utility utility passenger etc.,134,复用,几种程度的软件复用: 彻底共享的 拷贝的 部分调整 不能重用,软件的重用能力,软件角度: “芯片” 组件 控件 模块,135,复用,Components must be reused three to five times before the costs of creating and supporting them are recovered It costs one and a half to three t

9、imes as much to create and support a single reusable component as to create a component for just one use It costs 25% as much to use a reusable component as it does to create a new one It takes two to three product cycles (about three years) before the benefits of reuse become significant,软件重用的代价和回报

10、 Orenstein, D. “Code reuse: Reality doesnt match promise”, Computerworld, August 24, 1998, page 8.,136,三个经典问题的解决,数据模型 与功能模型 分析到设计的转化 原代码的维护,第三节面向对象方法的优点,VVVVVVVVVVVV,长江三峡,长江北岸,长江南岸,经典的软件开发问题 #1: 多种模型,数据模型,功能模型,系统行为,VVVVVVVVVVVV,长江三峡,长江北岸,长江南岸,经典的软件开发问题 #2: 模型的转化分析到设计,设计 Models,分析 Models,经典的软件开发问题 #3: 维护原代码,Begin “Caller” Program Init x,y,z. Open (files/database) Read. Compute. DO “Callee” with x,y,z Update (files/database) Close (files/database) End

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论