第九章 面向对象的系统开发方法

更新时间:2023-07-20 16:06:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第九章 面向对象(OO)的系统开发 方法第一节 面向对象的基本概念及特征一、对象(一)定义:1.定义:对象是对原事务进行抽象的结果。 2.构成对象的基本要素(1)标识 (2)数据 (3)操作 (4)接口2013-8-12 计算机与信息工程学院 1

3. 例:在计算机屏幕上画多边形,每个多边形 是一个用有序顶点的集所定义的对象。 这些顶点的次序决定了它们的连接方式,顶点 集定义了一个多边形对象的状态,包括它的形 状和它在屏幕上的位置,在多边形上的操作包 括:draw(屏幕显示)、 move(移动)、 contains(检查某点是否在多边形内)。

2013-8-12

计算机与信息工程学院

(二)对象的特征1.名称/标识唯一,以区别于其他对象 2.某一时段内,有且仅有一组私有数据,用以表述一个 状态,且状态的改变只能通过自身行为实现。 3.有一组操作,每个操作决定对象的一种行为,操作分 为自动和使动两类。 4.对象内部封装数据、操作,外部以消息通信方式进行 相互联系。

2013-8-12

计算机与信息工程学院

5.模块的独立性:模块内部状态不受外界的干预而变动, 也不干涉其他模块。 6.动态连接性:各个对象之间统一、方便、动态的消息 传递机制。它是面向对象语言的共同特性,其含义是 将一条发送给一个对象的消息与包含该消息的方法的 对象联接起来,它使得增加新的数据类型不需要改变 现有的代码。 7.易维护性。 8.继承性。是利用已有的定义作为基础来建立新的定义, 而不必重复定义它们。 例如,汽车具有“ 型号”、“ 年代”和“ 引擎”等属 性,其子类吉普车、轿车及卡车都继承了这些属性。

2013-8-12

计算机与信息工程学院

(三)发现对象的途经 (1)古典法 候选的对象和类通常来自下列来源: 有形事物:汽车、气象数据、压力传感器。 角色:父亲、教师、医生、女兵。 事件:降落、中断、要求。 交互作用:借款、会议、交叉。 候选的对象还可能来自: 结构:“ 是一个”及“ …的部分”关系。 其它系统:与待研制系统有交往的其它系统。 承担的角色:用户与待研制系统交往时所承担的不同角色,如站 长、站调、统计员等。 地点:待研制系统中重要的具体地点、办公处以及场所,如信号 楼、技术科、调度室。 组织单位:用户所属组织,如生产部、经营部、总务处等。2013-8-12 计算机与信息工程学院 5

(2)领域分析法 古典法是集中于问题的有形事物,而领域分析法则集中于问题 领域中重要的对象、操作以及关系识别。其任务是在某一问题领 域中识别出所有一切应用问题共有的客体和类,例如,销售、会 计、债券交易、编译

程序等都是问题领域。 领域分析法举例 例如,需要研制一个邮政销售(函售)系统,所考虑的函售应 用问题如它们的关健对象一时想不出来,可对整个销售领域进行 领域分析,即从现存的零售、批发系统中发现那些一时想不出来 的对象,或得到启发而定出所需对象。 (3)结构化分析法它是利用结构化分析的成果,如DFD(数据流程图)、实体关系 图、数据字典等,找出和识别对象。 数据流程图中的数据存储、外部实体,有些非系统内部的数据 流(它可来自外部的刺激或系统对外界的响应)等均可以作为候 选对象。如存户来银行存款,即是外部对银行存款系统的的一个 刺激,其数据内容是存户款;给存户的月终结算,是系统对外部 的响应。

2013-8-12

计算机与信息工程学院

二、类:1.定义:类是所有相似对象的状态变量和行为构成的模 板。类是一组具有相同数据结构和相同操作的对象的集合。 类的定义包括一组数据属性和在数据上的一组合法的操作。在一 个类中,每个对象都是类的实例(instance)。同类的对象具有 相同的方法集。 类还具有父类、子类之分。父类高层次的类,表达共性,子类低 层次表达个性。子类通过继承机制获得父类的属性和操作。 例如:电视机、电话、计算机等都是电子产品,它们具有电子产 品的公共特性,当定义电视机类Video,电话类Telephone和计算 机类Computer时候,为避免它们公共特性的重复编码,可将这些 电子产品的公共特性部分定义为电子产品类,将Video, Telephone和Computer定义为它的子类,子类继承了父类的所有 属性和操作,而且子类自己还可扩充定义自己的属性和操作:如 电子产品类具有型号、价格、颜色等属性,computer则继承了这 些属性,并扩充自己的属性:显示类型、内存大小等属性。2013-8-12 计算机与信息工程学院 7

2.类包括的要素:(1)标识 (2)继承描述:继承的名称以及等到的结构 和功能。 (3)数据结构 (4)操作:该类通用功能的具体实现方法。 (5)接口:面向其他类的统一外部通讯协议。

2013-8-12

计算机与信息工程学院

三、消息:消息是对象之间的通信载体(一)定义及其性质1.定义:消息就是用来请求对象执行某个处理或者回答 某些信息的要求,是连接对象的纽带。 2.种类:公有消息、私有消息 3.性质:(1)同一对象可接收不同形式的多个消息 (2)一条消息可以发送给不同的对象 (3)对于传来的消息,可以返回,也可以不返回

2013-8-12

计算机与信息工程学院

(二)消息的组成通常,一个消息由下述三部分组成: 1.接收消息的对象; 2.消息选择符

(也称为消息名); 3.零个或多个变元。

2013-8-12

计算机与信息工程学院

(三)消息的传递机制当一个消息发送给某个对象时,包含要求接收对象去执行某些活 动的信息。接收到消息的对象经过解释,然后予以响应。这种通 信机制叫做消息传递。

2013-8-12

计算机与信息工程学院

四、继承1.定义:指一个类因承袭而具有另一个类的能力和特征 的机制或关系。广义地说,继承是指能够直接获得已有的性质和特性,而不必重 复定义它们。在面向对象的软件技术中,继承是子类自动地共享 基类(或父类)中定义的数据和方法的机制。一个类直接继承其 父类的全部描述(数据和操作)。

2.有继承关系的类之间具有的特性:(1)类间具有共享特征 (2)类间具有细微的差别或新增的部分 (3)类间具有层次结构

2013-8-12

计算机与信息工程学院

3.作用 (1)减少代码冗余继承具有传递性,继承性使得相似的对象可以共享程 序代码和数据结构,从而大大减少了程序中的冗余信 息。使得对软件的修改变得比过去容易得多了。

(2)通过协调性减少相互之间的接口和界面。继承性使得用户在开发新的应用系统时不必完全从零 开始,可以继承原有的相似系统的功能或者从类库中 选取需要的类,再派生出新的类以实现所需要的功能, 所以,继承的机制主要是支持程序的重用和保持接口 的一致性。

2013-8-12

计算机与信息工程学院

颜色,中心位置 笔粗细,笔类型 移动,选择 旋转,显示

0维

1维 方位 放大

2维 方位,填充方式 放大,填充

线 终点

弧 半径 开始角 弧角 显示

样条曲线 控制点 显示

多边形 边数 顶点

圆 直径 显示

显示

显示

图10 ― 7 几何图形的继承关系2013-8-12 计算机与信息工程学院 14

五、封装性将一个实体的属性和操作集成为一个对象整体。 将属于某类的一个具体的对象封装起来,将其数据和 操作作为一个整体。

六、面向对象的含义面向对象=数据抽象+数据抽象类型+继承机制

2013-8-12

计算机与信息工程学院

第二节 面向对象的系统开发方法的原理一、面向对象开发方法的内容与过程面向对象开发一般经历三个阶段:面向对象系统分析(OOA),面向对象 系统设计(OOD)和面向对象系统实现(编程)。这与传统的生命周期法相 似,但各阶段所解决的问题和采用的描述方法却有极大区别。

2013-8-12

计算机与信息工程学院

二、面向对象开发方法各阶段的思路1. 分析阶段 这一阶段主要采用面向对象技术进行需求分析。面向 对象分析运用以下主要原则: (1) 构造和分解相结合的原则。 (2

) 抽象和具体结合的原则。 (3) 封装的原则。 (4) 继承的原则。

2013-8-12

计算机与信息工程学院

面向对象方法构造问题空间时使用了人们认识问题的 常用方法,即: (1) 区分对象及其属性 (2) 区分整体对象及其组成部分 (3) 不同对象类的形成及区分 2.设计阶段这一阶段主要利用面向对象技术进行概念设计。

3.实现(编码)阶段这一阶段主要是将OOD中得到的模型利用程序设计实现。具体操 作包括:选择程序设计语言编程、调试、试运行等等。

2013-8-12

计算机与信息工程学院

三、面向对象分析的基本模型1.信息模型:是面向对象分析的基础。它的基本思想是 描述三个内容:对象、对象属性和对象之间的关系。 信息模型有两种描述形式:一种是文本说明形式,另 一种是图形表示形式。 2.状态模型:对象和关系的生命周期即用状态模型描述 对象和关系的状态、状态转换的触发事件和对象行为。(1)状态:对象或关系在其生命周期中的某个特定阶段或所处的 某种情形。 (2)事件:对象状态转换的控制信息。 (3)行为:当对象达到某种状态时所发生的一系列处理操作。

2013-8-12

计算机与信息工程学院

3.处理模型:为状态模型中的每个状态建立的一个数 据流图。

四、面向对象系统分析的过程1.问题域陈述 2.识别对象/类 3.确定对象的属性 4.确定对象的服务 5.确定对象/类的关系

2013-8-12

计算机与信息工程学院

补充:面向对象分析方法(OOA方法)面向对象分析大体上按照下列顺序进行:建立功能模型、建立对 象模型、建立动态模型、定义服务。 1.建立功能模型 功能模型从功能角度描述对象属性值的变化和相关的函数操作, 表明了系统中数据之间的依赖关系以及有关的数据处理功能,它 由一组数据流图组成。其中的处理功能可以用IPO图、伪码等多 种方式进一步描述。 建立功能模型首先要画出顶层数据流图,然后对顶层图进行分 解,详细描述系统加工、数据变换等,最后描述图中各个处理的 功能。

2013-8-12

计算机与信息工程学院

本文来源:https://www.bwwdw.com/article/fx31.html

Top