面向过程和面向对象的系统开发方法比较.doc

上传人:11****ws 文档编号:3237496 上传时间:2019-05-26 格式:DOC 页数:13 大小:286.50KB
下载 相关 举报
面向过程和面向对象的系统开发方法比较.doc_第1页
第1页 / 共13页
面向过程和面向对象的系统开发方法比较.doc_第2页
第2页 / 共13页
面向过程和面向对象的系统开发方法比较.doc_第3页
第3页 / 共13页
面向过程和面向对象的系统开发方法比较.doc_第4页
第4页 / 共13页
面向过程和面向对象的系统开发方法比较.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、1面向对象和面向过程的系统开发方法比较作者:吴迪摘要:本文为了讨论这一改变对系统开发现状的影响, 对面向对象的开发方法和面向时象与过程相结合的开发方法进行了比较。在面向对象的开发中最显著的特点是它依赖于商业信息系统结构, 它是完整商业企业的一个实体关系模型。特别是在应用系统开发中要考虑这个商业模型所需的变化。本文分析了传统数据处理和面向对象计算之间的区别, 以及这些区别对系统开发的影响。结合一些面向对象技术的结构化设计方法与纯粹的面向对象的系统设计途径是截然不同的。本文描述了面向对象的方法在系统开发生命周期各阶段的含义, 并指出了这种方法在生命周期早期阶段的优势。尤其是用于系统开发早期阶段的工

2、具用面向对象的方法在这些阶段中可以达到较高的生产率和较好的质量保证。在分析用于系统开发的面向对象的含义之前, 先回顾一下面向对象的计算基础。本文只考虑那些与系统开发相关的概念,而忽略掉程序设计上的技术含义。1、 面向对象的基础和系统设计面向对象的系统使用执行方法的对象来模拟商业行动。尽管对象能2执行与传统的输人处理输出过程相同的操作, 但对象执行一个方法与过程调用仍有一些差别, 其区别在于对结果的判定上在调用一个过程时, 这个过程势必遵循一种模式。比如一个数学函数, 对于一个给定值的独立变量, 与它相关的变量值是不变的然而, 一个对象对请求的响应依赖于请求发出时它的状态。这个状态可用对象的属性

3、值来定义即, 变量, 当一个对象和其它对象相互作用时, 它的属性值可发生变化。下面的例子说明了一个对象的响应是如何依赖于其变量状态的。一个发送消息的系统是以对象为基础的,这些对象可响应下列请求创建、发送和显示消息及对象的建立和删除。一用户发出命令创建并把消息发送给另一用户, 他就可以通过发出一个显示消息的请求看到这条消息如果没有生成或传送消息, 那么显示消息的命令也就显示不出消息了。因此说, 对显示请求的响应依赖于消息对象的状态。使用对象来模拟商业活动就会使系统的定义和组织不同于使用传统的输人处理输出的方法。面向对象的方法依照可变数据来组织对象。相反, 输入处理输出方法依照使用它的过程来组织数

4、据。这些区别从根本上改变了定义和规划计算机应用系统的方法。从面向对象的观点上来说, 是把应用系统看作一组状态变化着的对象, 而不是处理数据的过程。当把一个系统定义为一个对象集合时, 所有相关的对象也同时进行了定义例如, 一个存货单系统包括存货项目,存货地点和存货补充。一个顾客发票系统包括顾客、销售额和3存货项目。在存货单系统定义中, 一个存货项目如果存放在某个地点, 那么它就和存货地点有关。一个存货补充对象和存放在某个地点的项目通过改变存放于该地点的货物相互作用。如果一个对象和多个应用系统相关, 那么这个对象就应包含在所有需要它的系统定义中例如, 卖给某顾客的销售额与一个存货单控制系统相关,

5、而它又与顾客发票系统密切相关, 所以它既包含在存货单控制系统, 也包含在顾客发票系统中。用输人处理输出方法来规划同样的系统时, 包含在存货单和顾客发票系统中的销售额数据就会产生冗余和不协调的问题。而采用面向对象的方法时, 两个系统都调用同一个销售额对象, 就能避免这样的问题。(1)商业领域的信息结构。使用面向对象的方法来进行系统规划时, 就需要所有相关商业实体和活动的信息。用这些信息就可以定义实体和关系, 从而决定对象;特殊应用系统正是依据模拟特定实体和活动的对象来进行定义正如前面所指出的, 同一个对象可以为多个系统确定因此, 对象的定义包括了所有相关系统所需要的行为能力。在年代, 评估实现商

6、业系统所需的信息成为众所周知的战略数据规划。用于模拟商业实体及其活动的一组对象称为商业领域的信息结构。由于没有完全定义对象及其是如何联系的, 所以它不是一个数据库。在本文后面的章节中将介绍, 它的特性, 及它不同于传统系统开发概念的有关方面。面向对象和面向过程系统开发的结合。面向过程的系统开发方法4首先依据过程, 其次依据这些过程所使用的数据来定义系统。相反, 面向对象的方法首先依据数据, 其次才依据操纵数据的过程来定义系统。给出这些根本的区别之后, 是应该把这两种方法看作只能二选其一的, 还是可以把它们组成一个集成方法呢?IBM的商业系统规划方法学将这两个开发方法看成一种方法学的两个组成部分

7、。面向过程的方法主要用来定义组织, 而面向对象的方法则用来定义数据需求。因此系统体系结构就被定义成了二维的。在系统设计级上, 这两种方法的结合比较困难, 因为这会使分析过程变得更为复杂, 而且它的满意程度也不如单纯用面向过程或面向对象的方法好。为说明这一点, 本文将对用结合的方法和单纯面向对象的方法进行比较。在这两种方法的讨论中都采用了电子邮件系统作为开发实例。单纯的面向过程的系统开发方法已经有了许多介绍, 因此就不再讨论这种方法了。2、 用结合方法进行系统开发本文讨论的面向过程和面向对象相结合的方法是年和提出的方法的扩充。这种方法分七步进行, 下面的几段将详细介绍。本文讨论的面向过程和面向对

8、象相结合的方法是年和提出的方法的扩充。这种方法分七步进行, 下面的几段将详细介绍。5图了电子邮件系统简图将面向过程的描述形式化。第一步是将电子邮件系统的面向过程描述形式化, 这一步由图简要给出。图中标有的圆圈代表所有系统过程, 两个方框代表外部实体, 用于存储数据这个系统包括下列过程用户对消息的发送、读人和响应还包括显示和更新系统用户表的程序。(2)生成数据流图。在第二步, 用上面的图来开发一个更为详细的系统数据流图, 如图所示。图中标有的圆被分成了五个过程和三个数据存储部分, 其中消息队列的数据存储没在图上画出来。如果正在开发的是一个更为复杂的系统, 可能有必要将过程再进一步分解。但对这个例

9、子来说, 这个数据流图已经足够了。6(3)分析数据流图第三步是抽象的分析, 在这个阶段, 进行从系统的面向过程的、结构化的描述到面向对象描述的转变。分析数据流图是为了定义系统实体。每个实体被定义为一组过程和它们所访问的数据存储。这里的定义并不是实体关系数据模型所用的实体定义。大概记和使用“ 实体, 这个术语是因为这一步正在定义候选对象在以后的步骤里, 这些实体都分组归人了单独的对象类。在单纯的面向对象的方法中, 先定义实体类型, 这是在实体一关系分析中定义的, 然后由此引伸出对象类。先定义中心实体, 然后沿着从中心实体放射出的数据流线定义附属的实体在电子邮件系统中, 中心实体是用户界面, 因为

10、系统是在终端上为用户发送和接收消息服务的在图的数据流图中, 虚线矩形包7含的“ 取命令” 和“ 当前用户”数据存储象征用户界面实体。另外两个实体是从数据流图得来的,包含了三个过程的“ 用户目录”和包含了“ 访问队列”过程与“ 用户队列索引”数据存储的消息中心。一般而言, 数据流图的抽象分析一直持续到把所有过程和数据存储同实体联系起来为止。止。(4)构造系统实体图。在第四步, 要构造一个系统的实体图见图。这张图包括通过抽象分析定义的实体一用户界面, 用户目录和消息中心, 还有一个最高级的实体一电子邮件系统, 及图所示的两个外部数据存储一用户队列和消息队列。在实体图中, 实体间的连线代表控制从一个

11、实体流向另一个。如果没有箭头, 表示相互作用的确切内容还没有决定。最高级的实体标为, 它代表整个系统, 是用户控制的实体。(5)定义对象。在面向过程和面向对象相结合的方法中, 第五步是定义对象, 是通过改变实体图来完成的,要对设计的简单性和对8象抽象进行平衡, 并搞清楚控制层次。例如, 将用户目录与消息中心实体结合为一个对象简化了整体设计, 但这个结合而成的对象不是一个紧凑的抽象观念。由于这个原因, 在图所示的对象图中还没有把它们结合起来。另一方面, 电子邮件系统和用户界面实体在对象图中已结合成用户界面对象了一旦用户启动系统, 用户对象就作用系统的控制中心。(6)定义变量和操作。第六步是为系统

12、中的每个对象定义变量和操作即, 程序模块。因为实体是由分组过程和数据存储定义的, 所以变量和操作就通过巩固和推敲这些分组来定义。图包括了一张可能的对象及与之相关的变量和操作列表。图的 更改目录”过程在图被分成了两个操作“ 增加用户”和“ 删除用户” 。除了那些和消息中心对象联系的变量和操作之外, 变量一般是对图中数据调用的直接解释。这里将“ 用户索引”直接从图中取出来, 另外保留了四个变量即正文、发送者、接收者、接收时间来描述消息队列中的一个条目, 这个队列是消息中心对象必须管理的。9对象变量操作(7)转换翻译。第七步是把对象同它的变量和操作即方法转换成面向对象的程序设计语言, 这种语言应能提

13、供对象类、变量和方法的10定义。这一步是开发过程的结束, 也标志着编码过程的开始。如果使用一种真正的面向对象的程序设计语言的话, 编码是很容易的。面向对象的系统设计纯粹的面向对象系统设计方法也分为几步进行, 在下面几段进行阐述。定义企业意图。纯粹的面向对象的方法是从依据商业企业的操作来定义其意图开始的。本文用作例子的电子邮件系统可定义为一个使人们能发送和接收消息的系统。对于一个更加复杂的商业企业而言, 需要用一个功能模型来定义它的意图。开发这样的模型是单独的一个课题, 本文将在后面讨论。(2)表示企业信息的特性。实现商业企业目标所需的信息必须用实体类型及其之间的关系来表示系统特性。在电子邮件系统中, 其目标声明清楚地指出了它所需的信息是关于用户和消息的。对于一个更为复杂的企业, 用于导出实体的信息必须由专家来决定。在电子邮件系统中, 用户和消息实体之间有两个关系是很重要的, 即发送关系, 定义了消息的发送者接收关系, 定义了每个用户的消息队列。在图的实体关系图中描述了这些实体类型和关系。连接线末尾的几条分支线指明实体之间的关系可能是一对多和多对多的。(3)定义对象。单纯面向对象方法的第三步是依据系统实体的变量

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。