2022年2022年结构化方法与面向对象方法的比较分析 .pdf
《2022年2022年结构化方法与面向对象方法的比较分析 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年结构化方法与面向对象方法的比较分析 .pdf(4页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、结构化方法与面向对象方法的比较分析吴松娇(凯里学院信息工程学院,09 本(1)班, 2009406012)摘要:剖析了结构化方法和面向对象方法这两种软件开发方法具体的分析设计过程,讨论了各自在不同软件开发中的应用及局限性,提出了在选用面向对象方法开发大型软件系统的同时可结合结构化方法.通过对具体实例的剖析, 揭示 DFD 与UML 之间的对应关系, 从而提出结构化软件分析方法与面向对象软件分析方法存在的对应关系, 在软件需求分析方法上实现了二者的相互转换, 这种对应与转换关系对现有结构化软件的维护及再工程具有指导意义。关键词:软件开发; 结构化方法; 面向对象方法; 问题域20 世纪 60 年
2、代以来 , 软件的发展一直受到开发综合症“软件危机”的影响. 为了提高软件质量 ,软件开发方法不断推陈出新, 其中结构化方法1 ,2 经过 30 多年的研究及应用,最为成熟且影响最大, 直到现在仍有许多系统是用它开发的. 而面向对象方法1 ,3 是在结构化方法、信息建模方法等基础上发展起来的, 近10 年来发展较快,现已呈现出取代结构化方法的趋势 . 本文具体分析两者在软件开发中的差别以及面向对象方法的优越性. 1 结构化方法结构化方法基于功能分解设计系统结构,通过不断把复杂的处理逐层分解来简化问题, 它从内部功能上模拟客观世界. 用结构化开发的软件运行效率较高, 且能够增加软件系统的可靠性
3、. 1. 1 结构化分析它是面向数据流进行需求分析的方法, 在该阶段力求寻找功能及功能之间的说明. 它主要采用的工具是数据流图DFD(Data Flow Diagram) ,利用 DFD 描述边界和数据处理过程的关系. 1. 2 结构化设计结构化设计是将数据流图表示的信息转换成程序结构的设计描述, 在该阶段力求寻找功能的实现方法 , 采用系统结构图表示系统所具有的功能和功能之间的关系. 设计过程分两步完成 , 第一步以需求分析的结果作为出发点, 构造出一个具体的系统设计方案, 决定系统的模块结构 ( 包括决定模块的划分、模块间的数据传递及调用关系) . 第二步详细设计即过程设计, 在总体设计的
4、基础上, 确定每个模块的内部结构和算法, 最终产生每个模块的程序流程图. 因此 , 结构化方法比较适合于像操作系统、实时处理系统等这样的以功能为主的系统. 1. 3 结构化方法的局限(1) 结构化方法在需求分析中对问题域的认识和描述不是以问题域中固有的事物作为基本单位 , 而是打破了各项事物之间的界限, 在全局范围内以数据流为中心进行分析, 所以分析结果不能直接反映问题域. 同时 , 当系统较复杂时, 很难检验分析的正确性. 因此 , 结构化分析方法容易隐蔽一些对问题域的理解偏差,与后续开发阶段的衔接也比较困难; (2) 结构化方法中设计文档很难与分析文档对应, 因为二者的表示体系不一致. 结
5、构化方法的结果2数据流图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 4 页 - - - - - - - - - (DFD) 和结构化设计结果2模块结构图 (MSD) 是两种不同的表示体系, 从分析到设计的“转换” 实际上并不存在可靠的转换规则, 而是带有人为的随意性, 容易因理解上的错误而埋下隐患, 使得设计文档与问题域的本来面貌相差甚远; (3) 结构化方法对需求变化的适应能力比较弱 , 软件系统结构对功能的变化十分敏感, 功能的变化会引起一个加工和它相连的许多数据
6、流的修改 , 同时设计出的软件难以重用, 延缓了开发的过程. 2面向对象方法面向对象方法是从内部结构上模拟客观世界, 其基本思想为 : 对象是对现实世界客观实体的描述 , 均由其属性和相关操作组成, 是系统描述的基本单位. 面向对象方法更强调运用人类在日常的逻辑思维中经常采用的思想方法和原则, 例如抽象、分类、继承、聚合、封装等,这使得软件开发者能更有效地思考问题, 并以其他人也能看得懂的方式把自己的认识表达出来.OOA 和OOD 的软件开发方法层出不穷, 其中有代表性的有Coad 和Yourdon 的五层次分析方法和四组件设计方法、 Booch 的静态和动态的描述方法以及Rumbaugh 的
7、三种模型描述法等, 这些方法都有各自的特点. 但总的来说 , 这些方法还不完善. 目前 OO 方法所采用的统一建模语言UML (Unified Modeling Language) 46 ,它是面向对象开发中一种通用的、图形化的模型语言 , 是近代软件工程环境中对象分析和设计的重要工具. 以下通过 UML 语言来分析OOA 和OOD 过程 . 2. 1 面向对象分析OOA 阶段是通过行为分析法认定对象及它们之间的关系. 具体过程如下 : (1) 使用用例图1 (Use Case Diagram) 从用户角度描述系统功能并指出各功能的操作者. 用例(Use Case) 是指用户使用系统时所执行的
8、一个与行为相关的事务序列, 这个序列是在与系统的会话中完成的. 用例处理电话之间存在三种关系:角色 (Actor) 与用例使用关系之间的连接 , 用例之间的使用(Use) 和扩展 ( Extend) 关系 , 通过角色执行用例, 可以识别出不同的用例. 图1 显示了顾扩展关系客和销售商通过电话联系的用例模型; 使用关系(2) 根据需求建立系统的静态模型来构造系统的结构 . 静态模型包括类图使用关系( Class Diagram ) 、对象图 ( Object Diagram) 和包图 ( Package Diagram) . 类图描述了系统中的类及其相互之间的关图1 顾客和销售商通过电话联系的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年2022年结构化方法与面向对象方法的比较分析 2022 结构 方法 面向 对象 比较 分析
限制150内