下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、浅谈对构造化方法和面向对象方法的比照和讨论论文关键词:软件工程构造化方法面向对象方法论文摘要:本文阐述构造化方法和面向对象方法的根本概念与特点和这两种软件开发方法详细的分析设计过程,讨论了各自在不同软件开发中的应用及局限性,提出了在选用面向对象方法开发大型软件系统的同时可结合构造化方法。一引言构造化方法是强调开发方法的构造合理性以及所开发软件的构造合理性的软件开发方法。构造是指系统内各个组成要素之间的互相联络、互相作用的框架。构造化开发方法提出了一组进步软件构造合理性的准那么,如分解与抽象、模块独立性、信息隐蔽等。针对软件生存周期各个不同的阶段,它有构造化分析(sa)、构造化设计(sd)和构造
2、化程序设计(sp)等方法。面向对象方法是一种把面向对象的思想应用于软件开发过程中,指导开发活动的系统方法,简称方法,是建立在“对象概念根底上的方法学。对象是由数据和容许的操作组成的封装体,与客观实体有直接对应关系,一个对象类定义了具有相似性质的一组对象。而每继承性是对具有层次关系的类的属性和操作进展共享的一种方式。所谓面向对象就是基于对象概念,以对象为中心,以类和继承为构造机制,来认识、理解、刻画客观世界和设计、构建相应的软件系统。二构造化方法构造化方法包括根本的构造化方法、复杂的构造化方法idef体系、jaksn方法。构造化方法的特点:把一个复杂过程用多个单个小过程来实现;用数据流图,可以完
3、成整个分解过程;结果的唯一性,同一个问题,不同的人分解出来的结果根本是一样的。也即,用构造化方法,根本上是有标准答案的;较合适初学者学习,一个连续的处理过程。什么是软件体系构造?一个程序和计算机系统软件体系构造是指系统的一个或多个构造。构造中包括软件的构件,构件的外部可见属性以及它们之间的互相关系。体系构造并非可运行软件,它是一种表达,使软件工程师可以:分析设计在满足规定需求方面的有效性;在设计变更相对容易的阶段,考虑体系构造可能的选择方案;降低与软件构造相关的风险。软件体系构造之所以重要的三个关键原因:软件体系构造的表示有助于对计算机系统开发感兴趣的各方(共利益者)开展交流;体系构造突出了早
4、期设计决策,这些决策对随后的所有软件工程工作有深远的影响,同时对系统作为一个可运行实体的最后成功有重要作用;体系构造“构建了一个相对小的,易于理解的模型,该模型描绘了系统如何构成以及其构件如何一起工作。系统的体系构造是一个关于系统形式和构造的综合框架,包括系统构件和构件的整合。软件体系构造必须对系统构造以及数据和程序构件间的互相协作方式进展建模。三面向对象方法面向对象方法包括根本的面向对象方法、rup。面向对象的概念属性说明一个类的数据集合;类封装数据和过程的抽象,这些是说明某些真实世界中的实体的内容和行为所必需的。换种方式说,类是一组相似对象的概括说明(如:模板、形式、蓝图);对象某个特定类
5、的实例。对象继承类的属性和操作;操作也称作方法和效劳,表现类的某个行为;子类超类的特化,子类可以从超类继承属性和操作;超类也称作基类,是一组相关类的泛化。面向对象的特点基于映射:把现实世界的工作过程或系统,用代码系统中的相对应的元素模拟出来,就完成了软件的设计和开发;事物对象;事物的特征对象的属性;事物的行为对象的方法;事物之间的信息交换与协同类方法调用;由于现实事物的复杂性,为了要更好地完成上面的模拟/映射,需要从多个角度描绘系统或过程;静态关系:多态、继承、聚合、状态转换;动态关系:用例、活动、序列、协作。结果的唯一性,同一个问题,有经历的人和没有经历的人,进展面向对象设计时,结果可能会判
6、别很大;适用范围:设计复杂系统、设计高质量系统、设计与现实世界对应程度比拟大的系统。四构造化方法、面向对象方法的由来与开展最初,只有完全一项计算任务的程度,并无所谓编程方法,更无软件工程方法。随着软件复杂度的进步,出现了复杂问题分解为简单问题的一种思路:函数、模块。在20世纪70年代初,软件危机问题出现之后,随着软件工程思想确实立,从模块化思想逐渐开展出了一个软件开发标准体系:构造化方法。包括构造化的模型图:程序流程图、功能分解图等;构造化的开发建议:高内聚、低耦合;构造化的过程指引:基于瀑布模型的软件生命周期以及相关的工具、语言,这也成为了第一个软件工程方法。构造化方法继续开展,出现了其它新
7、的构造化方法的分支。pad方法:强调程序构造的分解;jaksn方法:强调数据构造与软件构造的一致;信息建模分析方法:数据流图、实体关系图。新的设计理念:数据驱动;idef体系:从信息建模分析方法开展出来;模型图;工具;设计标准。而另外一个重要的软件工程方法面向对象方法,那么是沿着另外一条路开展的。60年代为程序仿真而开发的siula语言,为了更好的模拟现实世界以进展仿真,引入了类概念和继承机。70年代末,另一个专用的面向对象语言salltalk开场进展设计,并在80年提出一个完善版本。但这时只在实验室和科研活动中使用。随着软件复杂程度的进一步进步,低耦合、高内聚的要求进一步进步,促进了面向对象
8、开发思想的开展,低耦合、高内聚是获得较好软件质量的要求,但数据耦合是构造化方法无法解决的问题,要么有大量的全局变量;要么是每个函数都有大量的参数,因此,把数据和代码集成封闭在一起,成了一个合理的要求,由此,出现了面向对象的思想。构造化方法是强调开发方法的构造合理性以及所开发软件的构造合理性的软件开发方法。构造化分析方法给出一组帮助系统分析人员产生功能规约的原理与技术。它一般利用图形表达用户需求,使用的手段主要有数据流图、数据字典、构造化语言、断定表以及断定树等。构造化语言就是将自然语言加上程序设计语言的控制构造就成了构造化语言,专门用来描绘加工逻辑。所以,它既有自然语言灵敏性强、表达丰富的特点
9、,又有构造化程序的明晰易读和逻辑严密的特点。构造化语言的显著特征是代码和数据的别离。这种语言可以把执行某个特殊任务的指令和数据从程序的其余部分别离出去、隐藏起来。获得隔离的一个方法是调用使用部分变量的子程序。通过使用部分变量,我们可以写出对程序其它部分没有副作用的子程序。这使得编写共享代码段的程序变得非常简单。假如开发了一些别离很好的函数,在引用时我们仅需要知道函数做什么,不必知道它如何做。切记:过度使用全局变量会由于意外的副作用而在程序中引入错误。构造化语言比非构造化语言更易于程序设计,用构造化语言编写的程序的明晰性使得它们更易于维护。这已是人们普遍承受的观点了。比方作为构造化语言的语言主要
10、构造成分是函数的独立子程序。在语言中,函数是一种构件(程序块),是完成程序功能的根本构件。函数允许一个程序的诸任务被分别定义和编码,使程序模块化。可以确信,一个好的函数不仅能正确工作且不会对程序的其它部分产生副作用。pasal是世界上第一个构造化语言,曾被认为是计算机专业理想的教学语言,在数据构造等课程中一般用pasal语言举例。aess数据库是一种关系型数据库,所有的关系型数据库都是基于构造化查询语言sql的。visualfxpr不但仍然支持标准的xbase构造化程序设计,而且在语言上还有进展了扩展,提供了面向对象程序设计的强大功能和更大灵敏性。随着计算机及其用户越来越复杂,程序员的任务也越
11、来越繁重,所以,与其相关的编写代码的时间也就越来越长了。接下来发生了有趣的事情,程序到达一定大小以后,为其编写代码所需的时间比预期的要长的多。事实是当程序到达一定大小时,人脑就不能跟踪所有的复杂性了。复杂性完全是产惹事故的原因,战胜复杂性的方法就是编写一些小的“无错程序,并把它们连在一起,形成一个大的“无错程序,这就是面向对象编程的起源。面向对象的程序设计p是delphi延生的基矗p立意于创立软件重用代码,具备更好地模拟现实世界环境的才能,这使它被公认为是自上而下编程的优胜者。它通过给程序中参加扩展语句,把函数“封装进inds编辑所必需的“对象中。面向对象的编程语言使得复杂的工作条理清析、编写
12、容易。说它是一场革命,不是对象本身而言,而是对它们处理工作的才能而言。对象并不与传统程序设计和编程方法兼容。只是部分面向对象反而会使情形更糟。除非整个开发环境都是面向对象的,否那么对象产生的好处还没有带来的费事多。而delphi是完全面向对象的,这就是使得delphi成为一种触手可及的促进软件重要的开发工具,从而具有强大的吸引力。面向对象的程序设计方法与编程技术不同于标准的构造化程序设计。程序设计人员在进展面向对象的程序设计时,不再是单纯地从代码的第一行一直编到最后一行,而是考虑如何创立、利用对象来简化程序设计,进步代码的可重用性。对象可是应用程序的一个自包含组件,一方面具有私有的功能,供自己使用;另一方面又提供公用的功能,供其他用户使用。随着面向对象技术成为研究的热点出现了几十种支持软件开发的面向对象方法。其中,bh,ad/yurdn,t,和jabsn的方法在面向对象软件开发界得到了广泛的认可。特别值得一提的是统一的建模语言ul,该方法结合了bh,t,和jabsn方法的优点,统一了符号体系,并从其它的方法和工程理论中吸收了许多经过实际检验的概念和技术。完毕语面向对象仍将是主流,但构造化方法并不会,相反在某些领域还会有进一步应用。面向对象方法在八十年代已经
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度企业房产抵押借款合同范本修订版3篇
- 2025简单白酒买卖合同模板
- 2024年电子设备贴牌生产协议3篇
- 2024年度智慧城市建设地形图测绘技术合同3篇
- 2024年环保检测公司合作合同范本版
- 吉林2024年吉林东北电力大学招聘6人笔试历年典型考点(频考版试卷)附带答案详解
- 新建厨房设备项目立项申请报告
- 年产xx混凝土拖式泵建设项目可行性研究报告
- 新建淡彩内墙环保漆项目立项申请报告
- 新建无机颜料项目可行性研究报告
- 国标《电化学储能电站生产安全应急预案编制导则》
- 施工升降机安装方案
- 嗅神经视神经
- 围手术期胃肠营养
- 2024年有色金属分选机行业特点分析
- 水土保持法培训课件
- 吸粉活动推广方案
- 系统集成实施方案
- 2023-2024学年江苏省连云港市八年级(上)期末数学试卷-普通用卷
- 中国地图素材课件
- 《助行器的使用》课件
评论
0/150
提交评论