当前位置: 简表范文网 > 专题范文 > 公文范文 >

对结构化方法和面向对象方法的对比和讨论

| 来源:网友投稿

摘要:本文阐述结构化方法和面向对象方法的基本概念与特点和这两种软件开发方法具体的分析设计过程,讨论了各自在不同软件开发中的应用及局限性,提出了在选用面向对象方法开发大型软件系统的同时可结合结构化方法。

关键词:软件工程;结构化方法;面向对象方法

一 引言

结构化方法是强调开发方法的结构合理性以及所开发软件的结构合理性的软件开发方法。结构是指系统内各个组成要素之间的相互联系、相互作用的框架。结构化开发方法提出了一组提高软件结构合理性的准则,如分解与抽象、模块独立性、信息隐蔽等。针对软件生存周期各个不同的阶段,它有结构化分析(SA)、结构化设计(SD)和结构化程序设计(SP)等方法。面向对象方法是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称OO方法,是建立在“对象”概念基础上的方法学。对象是由数据和容许的操作组成的封装体,与客观实体有直接对应关系,一个对象类定义了具有相似性质的一组对象。而每继承性是对具有层次关系的类的属性和操作进行共享的一种方式。所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。

二 结构化方法

结构化方法包括基本的结构化方法、复杂的结构化方法IDEF体系、Jackson方法。结构化方法的特点:①把一个复杂过程用多个单个小过程来实现;②用数据流图,可以完成整个分解过程;③结果的唯一性,同一个问题,不同的人分解出来的结果基本是一样的。也即,用结构化方法,基本上是有标准答案的;④较适合初学者学习,一个连续的处理过程。

什么是软件体系结构?一个程序和计算机系统软件体系结构是指系统的一个或多个结构。结构中包括软件的构件,构件的外部可见属性以及它们之间的相互关系。体系结构并非可运行软件,它是一种表达,使软件工程师能够:①分析设计在满足规定需求方面的有效性;②在设计变更相对容易的阶段,考虑体系结构可能的选择方案;③降低与软件构造相关的风险。软件体系结构之所以重要的三个关键原因:①软件体系结构的表示有助于对计算机系统开发感兴趣的各方(共利益者)开展交流;②体系结构突出了早期设计决策,这些决策对随后的所有软件工程工作有深远的影响,同时对系统作为一个可运行实体的最后成功有重要作用;③体系结构“构建了一个相对小的,易于理解的模型,该模型描述了系统如何构成以及其构件如何一起工作”。系统的体系结构是一个关于系统形式和结构的综合框架,包括系统构件和构件的整合。软件体系结构必须对系统结构以及数据和程序构件间的相互协作方式进行建模。

三 面向对象方法

面向对象方法包括基本的面向对象方法、RUP。

⑴面向对象的概念

属性——说明一个类的数据集合;类——封装数据和过程的抽象,这些是说明某些真实世界中的实体的内容和行为所必需的。换种方式说,类是一组相似对象的概括说明(如:模板、模式、蓝图);对象——某个特定类的实例。对象继承类的属性和操作;操作——也称作方法和服务,表现类的某个行为;子类——超类的特化,子类可以从超类继承属性和操作;超类——也称作基类,是一组相关类的泛化。

⑵面向对象的特点

①基于映射:把现实世界的工作过程或系统,用代码系统中的相对应的元素模拟出来,就完成了软件的设计和开发;②事物→对象;事物的特征→对象的属性;事物的行为→对象的方法;事物之间的信息交换与协同→类方法调用;③由于现实事物的复杂性,为了要更好地完成上面的模拟/映射,需要从多个角度描述系统或过程;④静态关系:多态、继承、聚合、状态转换;⑤动态关系:用例、活动、序列、协作。⑥结果的唯一性,同一个问题,有经验的人和没有经验的人,进行面向对象设计时,结果可能会判别很大;⑦适用范围:设计复杂系统、设计高质量系统、设计与现实世界对应程度比较大的系统。

四 结构化方法、面向对象方法的由来与发展

最初,只有完全一项计算任务的程度,并无所谓编程方法,更无软件工程方法。随着软件复杂度的提高,出现了复杂问题分解为简单问题的一种思路:函数、模块。在20世纪70年代初,软件危机问题出现之后, 随着软件工程思想的确立,从模块化思想逐渐发展出了一个软件开发规范体系:结构化方法。包括结构化的模型图:程序流程图、功能分解图等;结构化的开发建议:高内聚、低耦合;结构化的过程指引:基于瀑布模型的软件生命周期以及相关的工具、语言,这也成为了第一个软件工程方法。结构化方法继续发展,出现了其它新的结构化方法的分支。PAD方法:强调程序结构的分解;Jackson方法:强调数据结构与软件结构的一致;信息建模分析方法:数据流图、实体关系图。新的设计理念:数据驱动;IDEF体系:从信息建模分析方法发展出来;模型图;工具;设计规范。而另外一个重要的软件工程方法——面向对象方法,则是沿着另外一条路发展的。60年代为程序仿真而开发的Simula语言,为了更好的模拟现实世界以进行仿真,引入了类概念和继承机。70年代末,另一个专用的面向对象语言Smalltalk开始进行设计,并在80年提出一个完善版本。但这时只在实验室和科研活动中使用。随着软件复杂程度的进一步提高,低耦合、高内聚的要求进一步提高,促进了面向对象开发思想的发展,低耦合、高内聚是获得较好软件质量的要求,但数据耦合是结构化方法无法解决的问题,要么有大量的全局变量;要么是每个函数都有大量的参数,因此,把数据和代码集成封闭在一起,成了一个合理的要求,由此,出现了面向对象的思想。

结构化方法是强调开发方法的结构合理性以及所开发软件的结构合理性的软件开发方法。结构化分析方法给出一组帮助系统分析人员产生功能规约的原理与技术。它一般利用图形表达用户需求,使用的手段主要有数据流图、数据字典、结构化语言、判定表以及判定树等。结构化语言就是将自然语言加上程序设计语言的控制结构就成了结构化语言,专门用来描述加工逻辑。所以,它既有自然语言灵活性强、表达丰富的特点,又有结构化程序的清晰易读和逻辑严密的特点。 结构化语言的显著特征是代码和数据的分离。这种语言能够把执行某个特殊任务的指令和数据从程序的其余部分分离出去、隐藏起来。获得隔离的一个方法是调用使用局部变量的子程序。通过使用局部变量,我们能够写出对程序其它部分没有副作用的子程序。这使得编写共享代码段的程序变得十分简单。如果开发了一些分离很好的函数,在引用时我们仅需要知道函数做什么,不必知道它如何做。切记:过度使用全局变量会由于意外的副作用而在程序中引入错误。结构化语言比非结构化语言更易于程序设计,用结构化语言编写的程序的清晰性使得它们更易于维护。这已是人们普遍接受的观点了。比如作为结构化语言的C语言主要结构成分是函数C的独立子程序。在C语言中,函数是一种构件(程序块),是完成程序功能的基本构件。函数允许一个程序的诸任务被分别定义和编码,使程序模块化。可以确信,一个好的函数不仅能正确工作且不会对程序的其它部分产生副作用。PASCAL是世界上第一个结构化语言,曾被认为是计算机专业理想的教学语言,在数据结构等课程中一般用PASCAL语言举例。Access数据库是一种关系型数据库,所有的关系型数据库都是基于结构化查询语言SQL的。Visual FoxPro不但仍然支持标准的Xbase结构化程序设计,而且在语言上还有进行了扩展,提供了面向对象程序设计的强大功能和更大灵活性。

随着计算机及其用户越来越复杂,程序员的任务也越来越繁重,所以,与其相关的编写代码的时间也就越来越长了。接下来发生了有趣的事情,程序达到一定大小以后,为其编写代码所需的时间比预期的要长的多。事实是当程序达到一定大小时,人脑就不能跟踪所有的复杂性了。复杂性完全是产生事故的原因,战胜复杂性的方法就是编写一些小的“无错”程序,并把它们连在一起,形成一个大的“无错”程序,这就是面向对象编程的起源。

面向对象的程序设计OOP是Delphi延生的基础。OOP立意于创建软件重用代码,具备更好地模拟现实世界环境的能力,这使它被公认为是自上而下编程的优胜者。它通过给程序中加入扩展语句,把函数“封装”进Windows编辑所必需的“对象”中。面向对象的编程语言使得复杂的工作条理清析、编写容易。说它是一场革命,不是对象本身而言,而是对它们处理工作的能力而言。对象并不与传统程序设计和编程方法兼容。只是部分面向对象反而会使情形更糟。除非整个开发环境都是面向对象的,否则对象产生的好处还没有带来的麻烦多。而Delphi是完全面向对象的,这就是使得Delphi成为一种触手可及的促进软件重要的开发工具,从而具有强大的吸引力。

面向对象的程序设计方法与编程技术不同于标准的结构化程序设计。程序设计人员在进行面向对象的程序设计时,不再是单纯地从代码的第一行一直编到最后一行,而是考虑如何创建、利用对象来简化程序设计,提高代码的可重用性。对象可是应用程序的一个自包含组件,一方面具有私有的功能,供自己使用;另一方面又提供公用的功能,供其他用户使用。随着面向对象技术成为研究的热点出现了几十种支持软件开发的面向对象方法。其中,Booch, Coad/Yourdon, OMT, 和Jacobson的方法在面向对象软件开发界得到了广泛的认可。特别值得一提的是统一的建模语言UML,该方法结合了Booch, OMT, 和Jacobson方法的优点,统一了符号体系,并从其它的方法和工程实践中吸收了许多经过实际检验的概念和技术。

结束语

面向对象仍将是主流,但结构化方法并不会,相反在某些领域还会有进一步应用。面向对象方法在八十年代已经得到了很大的发展,并且已在计算机科学、信息科学、系统科学和产业界得到了有效的应用,显示出其强大的生命力。可以展望在九十年代内,面向对象方法将会大更深、更广、更高的方向上取得进展。

参考文献

[1]软件工程:实践者的研究方法(原书第6版)/(美)普雷斯曼(Pressman,R.S)著;郑人杰等译,—北京:机械工业出版社,2007.1

[2]《Delphi 3.0/4.0实用编程技术》方可燕等编著,北京:中国水利水电出版社

推荐访问:方法 面向对象 结构化 讨论

热门文章

我奇思妙想作文400字四年级【精选推荐】

最近发表了一篇名为《2022我的奇思妙想作文400字四年级【3篇】》的范文,觉得应该跟大家分享,希望对网友有用。(composition)是经过人的思想考虑和语言组织,通过文字来表达一个主题意义的记叙方法。下面小编为大家整理了2022我的作文400字四【3篇】的相关内容,以供参考,希望给大

2022年百年奋斗谋复兴勇毅前行兴伟业学习心得体会

本页是最新发布的《百年奋斗谋复兴勇毅前行兴伟业学习心得体会2022》的详细范文参考文章,感觉很有用处,重新编辑了一下发到。回望过往奋斗路,眺望前方奋进路。作为新青年的必须把党的历史学习好,总结好,把党的成功经验传承好,发扬好。下面小编在这里为大家精心整理了几篇奋斗谋复兴勇毅前行兴

2022年度医院新冠肺炎应急预案及处置流程三篇

《2022医院新冠肺炎应急预案及处置流程精选三篇》是一篇好的范文,觉得应该跟大家分享,重新编辑了一下发到。预案指面对突发事件如自然灾害、重特大事故、环境公害及人为破坏的应急管理、指挥、救援计划等。下面小编为大家整理了2022医院新冠肺炎应急预案及流程精选三篇的相关内容,以供参考,希望给大家

2022趣味运动会活动方案策划合集(全文)

本页是最新发布的《2022趣味运动会活动方案策划精选》的详细范文参考文章,感觉写的不错,希望对您有帮助,重新整理了一下发到这里[http: www fwwang cn]。无论的大小,首先要把方案写出来,为严密的论证和决策提供依据。而根据需求对小学年级进行举办,为了确保小学活动的有序有

员工个人工作总结反思范本大全(完整)

《员工个人工作总结反思范文大全【精选】》是一篇好的范文,感觉很有用处,重新编辑了一下发到。光阴如梭,的转瞬又将成为历史,20_年上半即将过去,20_年下半年即将来临。新的开始意味着新的起点新的机遇新的挑战,下面是小编分享的关于员工个人工作总结反思范文大全,希望能给大家带来帮助。员工个人

那一刻我长大了作文400字五年级(精选文档)

本页是最新发布的《那一刻我长大了作文400字五年级【五篇】》的详细范文参考文章,觉得应该跟大家分享,重新编辑了一下发到。成长的每一个过程如同星空中一颗闪亮的星星,有时让人产生无限遐想,有时让人领悟许多感悟下面是小编为大家收集整理的关于那我了400字五年级【五篇】,一起来看看吧!那

2024年关于党委书记抓基层党建工作述职报告范本材料

一是着力加强党的*治建设。坚持把党的*治建设摆在首位,做好“三个表率”,深化模范机*建设,让坚决拥护“两个确立”、坚决做到“两个维护”成为党员干部鲜明*治品格和机**治生态重要底色。二是严明党的*治纪

五四青年节感悟体会范本

最近发表了一篇名为《2022五四青年节感悟体会范文》的范文,感觉很有用处,希望对网友有用。用五月的花海迎接青年节,这个昭示着青年人朝气蓬勃的节日里,你知道要怎么写青年节感悟体会吗?以下是小编为您整理的2022五四青年节感悟体会范文五篇,衷心希望能为您提供帮助!2022五四青年节感悟体会1当

2022年度员工劳动合同正式模板【完整版】

本页是最新发布的《2022员工劳动合同正式模板【通用】》的详细范文参考文章,觉得有用就收藏了,这里给大家转摘到。依法成立的,受法律保护,仅对当事人具有法律约束力,但是法律另有规定的除外。今天的小编给大家分享了2022员工正式模板,如果想看更多的请点击劳动合同查看。2022员工

2022年度享受读书快乐作文800字议论文优秀(完整)

本页是最新发布的《享受读书的快乐作文800字议论文优秀》的详细范文参考文章,觉得应该跟大家分享,重新编辑了一下发到。书,是无声的老师;书,是我们最真诚的玩伴;书,教会了我们做人的道理;书,让我们从无知的幼童,变成了如今的莘莘学子。下面是小编为大家收集整理的关于的800字议论文优秀

2022坚决制止餐饮浪费行为主题班会作文合集

本页是最新发布的《2022坚决制止餐饮浪费行为主题班会作文》的详细范文参考文章,觉得应该跟大家分享,为了方便大家的阅读。做的义务宣传员,向家人、朋友宣传爱惜粮食,人人有责。下面小编为大家整理了2022坚决制止餐饮行为主题班会作文的相关内容,以供参考,希望给大家带来帮助!坚决制止餐饮

2022年清明节祭奠英烈活动总结三篇

本页是最新发布的《2022清明节祭奠英烈活动总结精选三篇》的详细范文参考文章,好的范文应该跟大家分享,为了方便大家的阅读。总结的意义,就是情感的赋予,意义的事物在情感里的关系程度,就是意义的本身。下面小编为大家整理了2022祭奠英烈活动总结精选三篇的相关内容,以供参考,希望给大家带来帮助!