第三篇 面向对象方法学PPT课件

合集下载

面向对象方法概述

面向对象方法概述

张山 (instance)
Class 中国人 张山的 Attributes 李士 (instance) Class 杭州人 中国人李士的 Attributes 杭州人李士的 Attributes
首页
上页
下页
末页
退出
特点: 特点: 杭州人的 中有与中国人的同名, 中有与中国人的同名 若杭州人的 methods中有与中国人的同名,则 时以杭州人为 杭州人为准 不执行中 李士执行该 method 时以杭州人为准,不执行中 国人中定义的同名 国人中定义的同名 method。 。
OOD
OOP OOP
1.3.5 面向对象开发方法的组成
1、OOA法 OOA法
1、OOA法 OOA法 就是要解决“作什么”的问题。 就是要解决“作什么”的问题。OOA 法的基本任务就是要 建立三种模型: 建立三种模型: 对象模型(信息模型) 对象模型(信息模型) 定义构成系统的类和对象,它们的属性与操作。 定义构成系统的类和对象,它们的属性与操作。 状态模型(动态模型) 状态模型(动态模型) 描述任何时刻对象的联系及其联系的改变,即时序。 描述任何时刻对象的联系及其联系的改变,即时序。常 用状态图, 事件追踪图描述。 用状态图, 事件追踪图描述。 处理模型(函数模型) 处理模型(函数模型) 描述系统内部数据的传送处理。 描述系统内部数据的传送处理。 显然,在三大模型中,最重要的是对象模型。 显然,在三大模型中,最重要的是对象模型。
6.1.2 面向对象的基本概念
6.1.2 面向对象的概念
理解面向对象的基本概念对于学习和掌握面向对象的 开发方法是十分重要的。 开发方法是十分重要的。 对象(Object) 类(Class) Class) 继承(Inheritance) Inheritance) 消息(Information) 多态性(Polymorphism) 永久对象(Persistent object) 重载

第1章 面向对象的方法学

第1章 面向对象的方法学
为了在程序中使用cin/cout,必须在程序中包含iostream库
的相关头文件
#include<iostream>
计算机科学与工程学院
西安理工大学
C++流类库简介
iostream类同时从istream(输入流)类和ostream(输出 流)类派生而来,允许双向输入/输出。输入由重载的操作 符>>完成,输出由重载的操作符<<来完成。 cin>>变量名; cout<<变量名或常量;
对象
对象是封装了数据结构及可以施加在这些数据结构上的操作的封装体。 对象是我们认识世界的基本单元,可以是人,也可以是物,还可以是一 件事。 术语“对象”既可以是指一个具体的对象,也可以泛指一般的对象。
实例
实例是一个类所描述的一个具体的对象。
例如,通过“大学生”类定义一个具体的对象学生王明就是大学生类的 一个实例,就是一个对象。 类和对象之间的关系是抽象和具体的关系。
面向对象分析
分析是问题抽象(即做什么)。 结构化方法采用面向过程的方法对问题进行分解 面向对象分析是指在深入、全面理解问题本质需求的基础上,准确地抽象出 系统必须做什么。
面向对象设计
分析是提取和整理用户需求,建立问题精确模型的过程,即做什么。设计是 问题求解 (即怎么做),是对分析阶段所建立的模型进行精雕细凿,并逐渐扩 充的一个过程。
[例9-5] 简单输出实例1。
[例9-6] 简单输出实例2。
计算机科学与工程学院
西安理工大学
基本输入流
流输入可以用流读取运算符——即重载的>>(右移位运算
符)来完成。 注意:
输入运算符>>也支持级联输入。在默认情况下,运算符>>跳过空格,读 入后面与变量类型相应的值。因此给一组变量输入值时,用空格或换行 将输入的数值间隔开,例如:

面向对象程序设计-类和对象_V2

面向对象程序设计-类和对象_V2
};
2 析构函数(续)
析构函数的说明 1)类只有一个,若未显式定义,编译系统 自动生成默认的析构函数。 2)系统会自动调用析构函数,在 (1)对象生存期结束时(}结束); (2)使用delete释放对象时。
3 重载构造函数
与一般成员函数一样,C++运行重载构造 函数,重载的方法一样。
class A{
2 成员函数的定义(续)
2)类内直接定义;
class student { int age;
public: void SetAge(int a){ age = a;} };
这样定义的成员函数是一种内置函数,亦 可在类外定义内置函数,不过要在函数前 加上“inline”。
2 成员函数的定义(续)
说明: 1)类外定义时,成员函数前应缀上类名。
1 构造函数(续)
构造函数的定义 class complex{ double real; double imag; public: // 下面为构造函数 complex(double r,double i) { real=r; imag=i; } double realcomplex() { return real;} };
};
1 构造函数(续)
带参数的构造函数的使用
#include <iostream.h>
void main() {
complex S1;
//使用两个缺省参数
complex S2(1.1); //使用一个缺省参数
complex S3 (1.1,2.2);
cout<<“real of A is”<<\
1 构造函数(续)
构造函数的使用说明: 1)必须和类同名,否则当作一般成员函数 2)必须无返回类型,void类型也不行 3)如果程序员未定义构造函数,编译器自 动生成一个默认的构造函数 如: complex::complex( ) { } 4)构造函数可以不带参数

NIIT UML中文PPT3

NIIT UML中文PPT3

Ver. 1.0
Slide # of 24

Ver. 1.0
Slide # of 24
使用 UML 的面向对象分析和设计
小问题
以下哪个 RUP 阶段包括分析问题域,开发项目计划和消除最 有可能的风险?
1. 2. 3. 4. 起始阶段 细化阶段 构造阶段 转换
答案:
细化阶段
Ver. 1.0
Slide # of 24
使用 UML 的面向对象分析和设计
Slide # of 24
使用 UML 的面向对象分析和设计
定义交互概览图
交互概览图是交互关系图的概览.交互关系图包括以下几种 类型的关系图:
序列关系图 通信关系图 时序关系图 交互概览图
交互概览图表示交互关系图之间的逻辑交互,以及交互关系 图之间的进程流.
Ver. 1.0
Slide # of 24
Ver. 1.0
Slide # of 24
使用 UML 的面向对象分析和设计
定义复合结构关系图(续 定义复合结构关系图 续)
复合结构关系图中的部件
Car
rear:Wheel(2) a:Axle 2 1
e:Engine
复合结构关系图中的端口和接口
Power Car Engine
Gasoline
Ver. 1.0
Ver. 1.0
Slide # of 24
使用 UML 的面向对象分析和设计
中的作用(续 了解 UML 在 SDLC 中的作用 续)
下表列出可在设计阶段使用的各种 UML 关系图:
关系图 类 序列和通信 包 部署 状态 组件 复合结构关系图 交互概览图 阶段中+的作用 关系图在 SDLC 阶段中 的作用 描绘类,其属性和操作以及各个类之间的关系. 描绘系统各种对象之间的交互序列. 描绘根据其功能组合在一起的各种类. 描绘网络上软件组件的布局. 描绘发生事件时对象的状态. 描述执行系统所需的各种组件. 描绘各种类,对象和接口的内部结构和交互点. 描述不同交互关系图之间的交互.

计算机科学与技术专业课课件_软件工程SE_Chapter9

计算机科学与技术专业课课件_软件工程SE_Chapter9

●实现了数据封装。
●本质上具有并行性。 ●模块独立性好(信息内聚)。
2013-8-31 上海大学计算机学院 10
一些概念
◆类
具有相同数据和相同操作的一组相似对象的集合
◆实例
由某个特定的类所描述的一个具体的对象
◆消息(Message)
要求某个对象执行在定义它的那个类中所定义的某个 操作的规格说明。
◆方法(Method)
传统方法
解空间与问题空间不一致 以算法为核心,数据和过程分离。 软件系统由模块组成,模块间通过调 用来集成系统。 自顶向下按部就班。 总存在用错误的数据调用正确的模块, 或用正确的数据调用错误的模块的危险。
稳定性
较好 较差 功能需求变化仅需要作一些局部性的修改 基于功能分解,需求变化大多针对功能 可派生子类以实现功能扩充或修改 功能变化引起软件结构的整体修改 较好 较差 通过对象实例或派生类 标准函数库不是自含的和独立的 方便修改和扩充,且不影响原有类的使用 模块重用,则相应的数据也必须重用。 较易 可分解成相互独立的小产品 较好
第9章
面向对象方法学引论
◆面向对象方法学概述 ◆面向对象的概念 ◆面向对象建模 ◆对象模型 ◆动态模型 ◆功能模型 ◆3种模型之间的关系
2013-8-31上海大学计算机学院 Nhomakorabea1
面向对象方法学概述
◆ 传统的软件工程方法学
● 中、小规模软件项目都获得了成功 ● 部分地缓解了软件危机
◆面向对象方法学
●发展
2013-8-31 上海大学计算机学院 9
对象
对象是封装了数据结构及可以施加在这些数据结 构上的操作(服务或方法)的封装体。 对象∷=〈ID,MS,DS,MI〉其中,

面向对象方法

面向对象方法
软件工程学教程
面向对象方法
• 面向对象方法 (Object-Oriented,简称OO方法) 是一种把面向对象的思想应用 于软件开发过程,从而指导软件开发活动的系统方法,它建立在对象概念 (对 象、类和继承) 基础之上,是一种运用对象、类、继承、封装、聚合、消息发 送、多态性等概念来构造系统的软件开发方法。
1.2 面向对象软件工程
• 面向对象软件工程 (OOSE,Object-Oriented Software Engineering) 方法是面 向对象方法在软件工程领域的全面应用,它包括:
– 1) 面向对象分析。OOA强调直接针对问题论域中客观存在的各项事物建立OOA模型中的 对象,用对象的属性和服务分别描述事物的静态特征和行为。问题论域有哪些值得考虑的 事物,OOA模型中就有那些对象,而且对象及其服务的命名都强调与客观事物一致。另外, OOA模型也保留了问题论域中事物之间的关系。把具有相同属性和相同服务的对象归结为 一类,且一般/特殊结沟 (又称分类结构) 描述一般类与特殊类之间的关系 (即继承关系) 。
– 3) 对象的属性与服务结合为一个独立的实体,对外屏蔽其内部细节,即封装。 – 4) 把具有相同属性和相同服务的对象归为一类,类是这些对象的抽象描述,每个对象是其类的一个实例。来自1.1 面向对象方法的特点
– 5) 通过在不同程度上运用抽象的原则,可以得到较一般的类和较特殊的类。特殊类继承一 般类的属性与服务,面向对象方法支持对这种继承关系的描述与实现,从而简化系统的构 造过程及其文档。
面向对象方法
• (2) 面向对象方法开发的软件系统其体系结构易于理解、扩充和维护 • 面向对象方法开发的软件系统由对象和类组成,对象的封装性很好地体现了抽
象和信息隐蔽的特征。对象以属性及操作作为接口 (界面) ,使用者只可通过 接口访问对象 (请求其服务) ,对象的具体实现细节对外是不可见的。

《软件工程》课件第11章 面向对象的OMT方法

《软件工程》课件第11章 面向对象的OMT方法
分析的目的是确定一个系统“干什么”的模型,该模 型通过使用对象、关联、动态控制流和功能变换等来描述。 分析过程是一个不断获取需求及不断与用户磋商的过程。
1. 问题陈述 问题陈述为记下或获取对问题的初步描述。
第11章 面向对象的OMT方法
2. 构造对象模型 构造对象模型的步骤如下: (1) 确定对象类。 (2) 编制类、属性及关联描述的数据词典。 (3) 在类之间加入关联。 (4) 给对象和链加属性。 (5) 使用继承构造和简化对象类。 (6) 将类组合成模块,这种组合在紧耦合和相关 功能上进行。 最后得到:对象模型=对象模型图+数据词典。
第11章 面向对象的OMT方法
两个类之间的关联称为二元关联,三个类之间的 关联称为三元关联。关联的表示是在类之间画一连线。 图11.3表示了二元关联,图11.4表示一种三元关联, 说明程序员使用计算机语言来开发项目。
第11章 面向对象的OMT方法 图11.3 二元关联
第11章 面向对象的OMT方法 图11.4 三元关联
第11章 面向对象的OMT方法
操作的表示如图11.2底部区域所示,操作名后可跟 参数表,用括号括起来,每个参数之间用逗号分开,参 数名后可跟类型,用冒号与参数名分开,参数表后面用 冒号来分隔结果类型,结果类型不能省略。
2. 关联和链 关联和链是建立对象及类之间关系的一种手段。 1) 关联和链的含义 链表示对象间的物理与概念的联结,如张三为通 达公司工作。关联表示类之间的一种关系,就是一些可 能的链的集合。 正如对象与类的关系一样,对象是类的实例,类是 对象的抽象。而链是关联的实例,关联是链的抽象。
第11章 面向对象的OMT方法
3. 构造动态模型 构造动态模型的步骤如下: (1) 准备典型交互序列的脚本。 (2) 确定对象间的事件并为各脚本安排事件跟踪。 (3) 准备系统的事件流图。 (4) 开发具有重要动态行为的各个类的状态图。 (5) 检查状态图中共享事件的一致性和完整性。 最后得到:动态模型 = 状态图 + 全局事件流图。

面向对象方法学导论

面向对象方法学导论
4
6.1 面向对象方法学概述
• 与传统方法相反,面向对象方法是一种以数据或信息为主线,把数据和处理 相结合的方法。
• 面向对象方法把对象作为由数据及可以施加在这些数据上的操作所构成的统 一体。
• 对象与传统的数据有本质区别,它不是被动地等待外界对它施加操作,相反, 它是进行处理的主体。
5
6.1 面向对象方法学概述
系统的逻辑模型或实现模型都能用UML模型清晰的表示,可用于 复杂软件系统的建模。
(4) 独立于过程
UML是系统建模语言,独立于开发过程。
(5) 易掌握、易用
由于UML的概念明确,建模表示法简洁明了,图形结构清晰,易 于掌握使用。
31
6.4 对象模型
对象模型表示静态的、结构化的系统的“数据”性质。它是对模拟客观世 界实体的对象以及对象彼此间的关系的映射,描述了系统的静态结构。 用UML表达的对象模型由类图(类和类间关系)构成.
聚合的图形记法
21
6.2 面向对象的概念
• 关联的含义 – 对象实例之间的物理或概念联结被称为链 – 关联是对一组语义与结构相似的链的抽象 – 链是关联的实例
人员 雇用 公司
二元关联的例

(人员) 雇用
关联 v张s. 涛链:类 vs.
对(象通公大司)
链的例子
(a) 二元关联
项目 ◆ 语言

三元关联的例
第6章 面向对象方法学引论
6.1 面向对象方法学概述 6.2 面向对象的概念 6.3 面向对象建模 6.4 对象模型 6.5 动态模型 6.6 功能模型 6.7 3种模型之间的关系
1
6.1 面向对象方法学概述
-- 传统的软件工程方法学应用于大型软件产品的开发 时,似乎很少取得成功。 -- 源于20世纪60年代后期出现的面向对象编程语言 Simula-67(类和对象的概念),逐步形成了面向对象方 法学 。到了20世纪90年代,面向对象方法学已经成 为人们在开发软件时首选的范型。

9面向对象方法学与UML

9面向对象方法学与UML

13
面向对象程序设计语言 (OOPL)阶段
60年代末挪威奥斯陆大学和挪威计算中心共同 研制了SIMULA语言,面向对象方法的基本要 点首次在SIMULA语言中得到了表达和实现 。 80年代,位于美国加州的Xerox研究中心推出 Smalktalk语言和环境,使面向对象程序设计 方法得到比较完善的实现,掀起了面向对象研 究的高潮。到80年代中期,面向对象程序设计 语言达数十种之多,如Smalktalk、C++、 Objective C、Eiffel等。
8
二、出现问题的原因
僵化的瀑布模型 结构化技术的特点

9
原因1、僵化的瀑布模型
瀑布模型特别强调预先定义需求的重要 性,并在着手具体开发之前冻结需求。 实践表明:很难。
某些类型的系统需求是模糊的 项目参与者之间存在通信鸿沟 预先定义的需求可能是过时的
10
原因2、 结构化技术的特点
结构化的本质:功能分解、功能与数据 结构分离。 有如下缺点:
17
面向对象的广泛应用
面向对象方法已经深入到计算机科学技 术的许多领域,除上面所说的程序设计 语言和系统分析外,还应用在数据库、 计算机辅助设计工程、人-机界面设计、 计算机辅助教学(CAI)、多媒体技术、 计算机网络等诸多领域。
18
二、面向对象方法与传统方法 解决问题的不同 静态属性
客观世界实体 客观世界的问题构成 动态行为
14
面向对象分析(OOA)、设计 (OOD)发展
正如结构化程序设计思想很快被运用到 系统分析和系统设计方法中去一样,面 向对象方法很快引起系统分析方法论研 究者的注意。 80年代中期,C++语言十分热门的时候, 面向对象分析(Object Oriented Analysis)的研究开始发展,进而延伸 到面向对象设计(Object Oriented Design)。

《软件工程》教学课件CH7-1面向对象的概念

《软件工程》教学课件CH7-1面向对象的概念

面向对象分析与设计的建模


软件开发需要把问题解决模型化。 模型化是理解一个复杂系统的工具; 模型是系统早期抽象的重要结构; 常用的面向对象分析与设计模型 Rumbaugh 等人的 OMT 模型 Coad 和 Yourdon 的模型 Booch 开发模型 UML 统一建模语言
面向对象的特点

抽象性:对象的数据抽象和行为抽象; 封装性:信息隐蔽; 共享性: 同一类中所有实例共享数据结构和行为特征; 同一应用中所有实例通过继承共享数据结构和 行为特征; 不同应用中所有实例通过复用共享数据结构和 行为特征
对象

对象是系统中用来描述客观事物的一个实体,是 构成系统的一个基本单位,由一组属性和一组对 属性进行操作的服务组成。 属性一般只能通过执行对象的操作来改变。
2)
a.
b.
c.
3)
a. b.
活动定义了工作人员所执行的工作。有 3 类 步骤: 思考步骤 执行步骤 评审步骤 制品是过程生产、修改或使用的一种信息。 RUP 的制品分为 5 个信息集。 管理集:计划制品、操作制品 需求集:构想文档、项目相关人员需求、 用例模型和业务模型
c.
d.
e.
4)
设计集:设计模型、软件体系结构描述、 测试模型 实现集:源代码和可执行程序、相关数据 结构和数据文档 实施集:安装资料、用户文档、培训材料 工作流用来描述生成结果的活动序列,用以 描述工作人员之间的交互。在 RUP 中共有 9 个核心过程工作流,包括 6 个核心工程工作 流和 3 个核心支持工作流。

用例和参与者的事例 银行储户通过自动取款机(自动柜员机)提款, 转账或检查账户余额。用一组用例表达如下:
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
9
的方法学,任何方 法学都有其局限性,所以软件开发人员大可不 必拘泥于某种特定的方法学。
10
第6章 面向对象方法学导论
面向对象程序设计实例 现向对象方法学概述 面向对象方法学的主要优点 面向对象的概念
11
一个简单的图形程序的需求
在显示器荧光屏上圆心坐标为(100,100)的 位置画一个半径为40的圆,在圆心坐标为 (200,300)的位置画一个半径为20的圆, 在圆心坐标为(400,150)的位置画一条弧, 弧的起始角度为30°,结束角度为120°,半径 为50.
14
用面向对象的方式怎样解决问题?
本问题中涉及两类实体(对象):圆和弧
圆类的两个实例、弧类的一个实例(所谓实例
即具体的对象)

圆 圆心坐标 半径 可见性 显示() 隐藏
圆心半径 半径 起始角度 结束角度 可见性 显示 隐藏
15
6.2 设计类等级
这个简单的图形程序需要使用圆类和弧类这两
类对象,也就是说,我们把该程序中的对象划
第三篇 面向对象方法学
所谓方法学是指组织软件生产过程的一 系列方法、技术和规范。 是软件开发者长年失败和成功经验的理 论性总结。
1
第一部分
整体概述
THE FIRST PART OF THE OVERALL OVERVIEW, PLEASE SUMMARIZE THE CONTENT
2
面向对象方法学的基本思想
分成两类。
圆 圆心坐标 半径 可见性 显示() 隐藏
弧 圆心半径 半径 起始角度 结束角度 可见性 显示 隐藏
16
17
设计类等级
除了把对象分类之外,还应该进一 步按照子类(派生类)与父类(基 类)的关系,把若干个相关的对象 类组成一个层次结构的系统(类等 级)。
在这种层次结构中,下层的派生类 自动具有和上层基类相同的特定 (包括数据和操作),这种现象称 为继承。
12
用传统的结构化方法怎样设计上述图形程序?
两个函数画圆和弧(需要传递参数)
主函数中声明5个变量(存放半径等数据)
利用输入语句给变量赋值调用函数完成
自顶向下的功能分解
人类习惯解决问题方式 :“顾客-服务员“的工 作模式
数据和处理过程(代码)作为独立的部分, 反映了计算机的观点
不符合和人类习惯的思维 方式
5
结构化方法学与面向对象方法学
在设计上,结构化方法学产生自顶向下、结构 清楚的系统结构。每个模块有可能保持较强的 独立性,但它往往与数据库结构相独立,功能 模块与数据库逻辑模式间没有映射关系,程序 与数据结构很难封装在一起。假如数据结构复 杂,模块独立性很难保证。
面向对象方法抽象的系统结构往往并不比结构 化方法产生的系统结构简单,但它能映射到数 据库结构中,很轻易实现程序与数据结构的封 装。
面向对象方法学的出发点和基本原则, 是尽可能模拟人类习惯的思维方式,使 开发软件的方法与过程尽可能接近人类 认识世界解决问题的方法与过程。
3
结构化方法学与面向对象方法学
分析是问题抽象 ,设计是问题求解 ,实现是 问题的解 。任何方法学对客观世界的抽象和求 解过程都是如此。
在问题抽象阶段,结构化方法面向过程,按照 数据变换的过程寻找问题的结点,对问题进行 分解。因此,与面向对象方法强调的对象模型 不同,描述数据变换的功能模型是结构化方法 的重点。假如问题世界的功能比数据更复杂或 者更重要,那么结构化方法仍然应是首选的方 法学。
6
结构化方法学与面向对象方法学
在软件工程基本原则中有一条“形式化原则”, 即对问题世界的抽象结论应该以形式化语言 表 述出来。
结构化方法可以用数据流图、系统结构图、数 据辞典、状态转移图、实体关系图来进行系统 逻辑模型的描述;
而面向对象方法可以使用对象模型图、数据辞 典、动态模型图、功能模型图。其中对象模型 图近似系统结构图与实体关系图的结合,动态 模型图类似状态迁移图,功能模型图类似数据 流图。
7
敏捷开发方法
简单的说,敏捷开发是一种以人为核心、 迭代、循序渐进的开发方法。
敏捷软件开发宣言: 个体和交互 胜过 过程和工具 可以工作的软件 胜过 面面俱到的文档 客户合作 胜过 合同谈判 响应变化 胜过 遵循计划
8
对于软件开发方法学的正确理解
方法学是思路不是定律 (1)方法学的目的是:使后人分享前人的成 功,避开前人的失败,把注重力集中在尚未开 拓领域的创造性劳动上。所以方法学与开发人 员的创造性是绝不冲突的。它既不能像法律那 样靠权威来界定是非边界,也不能像定律那样 通过证实和推理给出普遍结论。假如一定要做 比喻的话,它好比人的世界观。
– 按照这种观点,可以认为整个世界就是一个最复杂的 对象。因此,面向对象的软件系统是由对象组成的, 软件中的任何元素都是对象,复杂的软件对象由比较 简单的对象组合而成。
– 由此可见,面向对象方法用对象分解取代了传统方法 的功能分解。
18
6.1.3 定义属性和服务
所谓定义属性就是确定每个属性 的数据类型和数据结构,同时还
定义服务的主要任务就是设计完 成每项服务功能的算法。
19
6.2 面向对象方法学概述
面向对象方法学的要点: (1) 认为客观世界是由各种对象组成的,任何
事物都是对象,复杂的对象可以由比较简单的 对象以某种方式组合而成。
13
用面向对象的方式怎样解决问题?
用对象分解取代功能分解,也就是把程序分解 成一系列对象,每个对象都既有自己的数据 (描述该对象所代表的实体的属性),又有处 理这些数据的函数(通常称为服务或方法,它 们实现该对象应有的行为)。
不同对象之间通过发送消息向对方提出服务要 求,接受消息的对象主动完成指定功能提供所 要求的服务。程序中所有对象分工协作,共同 完成整个程序的功能。事实上,对象是组成面 向对象程序的基本模块。
4
结构化方法学与面向对象方法学
假如数据结构复杂且变换并不多,那么 如以过程主导分析和设计,一旦有系统 变更就会给下游开发带来极大混乱。
由于对过程的理解不同,面向过程的功 能细分所分割出的功能模块有时会因人 而异。而面向对象的对象细分,从同一 问题领域的对象出发,不同人得出相同 结论的比率较高。
相关文档
最新文档