为什么结构化方法在分析和设计中存在鸿沟而面向对象能否有效解决?

来源:学生作业学帮网 编辑:学帮网 时间:2024/03/05 07:56:15

为什么结构化方法在分析和设计中存在鸿沟而面向对象能否有效解决?

万鸡哥真想抽死你,咱别丢人丢到外边来行不行!
在结构化方法中,在分析和设计模块和模块之间的关系时,被紧紧局限于信息流,这限制了对模块之间众多关系的表达,也无法体现模块和模块之间其他的众多关系,包含各种各样的结构、行为、依赖、包含(在结构化设计中这种关系隐含在分层中)、继承、关联关系等等.它仅仅解决了模块在封装和信息隐藏方面的问题,出现了需求和设计之间的鸿沟.
再看面向对象设计方法,充分挖掘了“关系”的表达方式,可以尽可能的将事物之间复杂的关系予以体现,而这些关系是实现设计的关键.可以这样比喻目前为什么面向对象方法如此流行,记得小时候经常在各种杂志上看到许多这样的图画“一个钢球,从高处落下,击中某个翘起的装置,装置受到钢球的冲击,另一端抬起后,原来被截断的水流开始流通,并引发另一个设备开始工作……,最终在另一端的某个蜡烛被点燃”.这就是在工业时代,众多人被机械设计的灵巧和创意所深深吸引的其中一份图画.姑且不论这样的装置是否有实用价值,但它肯定带给构思者无限的快乐和想象力,以至于当时经常可以看到各种各样这样的图画.而面向对象的方法正是因使用对象的概念让设计更接近于上面的各种设备,而让机械设计时代的疯狂和无尽的创造力进入了软件工程师的视野.由于能够充分表达事物之间各种各样的关系(更接近于结构和行为方面),面对对象设计方法在今天创造了一个奇迹,各式各样巧妙的设计实现、设计模式的流行,几乎在永无止境的激发着爱好设计的人们的想象力和创造力,实现了分析和设计同需求的有效结合,跨越了这个鸿沟.
回到结构设计化方法上来,虽然很多人都说结构化设计和面向对象设计没有本质上的区别,那是因为某些关系依然可以通过转换映射到信息流上,但这毕竟绕了一个大弯,而且由于缺乏足够的表达各种关系的能力,极大的限制了软件设计者的想象力和创造力.结构化设计方法使用自顶向下的手段,通过Process的逐层分解来理解和构建系统,然后把Process分配给模块,这里的“分配”这几乎让每一个初次接触结构化设计方法的人大惑不解,似乎模块是Process分解的结果,甚至在如果已知了某些模块时又直接将模块映射成一个黑盒的Process,Process和模块究竟是什么关系?沿着这个思路,很容易陷进“鸡生蛋,蛋生鸡”的困境.而事实是,模块和Process的诞生,两者之间根本没有任何关联,都是独自根据经验所产生的.为什么会产生这样的问题?究其原因,结构化设计方法和我们自出生以来认识事物的方式有着很大的不同.因为打我们一出生,眼里落入的就是各式各样的实体,而我们区分它们主要依靠就是事物各式各样的特征,包括事物不同的结构和特定的行为,而结构化设计方法试图通过信息流及其转换来认识系统,这天生造成了某种障碍.相比之下,面向对象方法则和我们所熟悉的认识世界的方式相吻合,更加的自然.

为什么结构化方法在分析和设计中存在鸿沟而面向对象能否有效解决? 什么是结构化设计方法? 人与人之间存在鸿沟么? (47) 在结构化方法中,软件功能分解属于下列软件开发中的阶段是______.A.B.需求分析 C.总体(47) 在结构化方法中,软件功能分解属于下列软件开发中的阶段是______.A.B.需求分析C.总体设计D.编程调 结构化设计方法的特点? 什么是地理信息结构化设计方法? 系统设计过程中需求分析数据的概念逻辑和物理结构分析的设计 哪个大神有.求发 在水溶液中,为什么有些物质以离子的方式存在,而有些以分子的方式存在.如氯化钠在水中以钠离子和氯离子存在,而水则以水分子存在 在线性结构、树结构和图结构中,前驱和后继结点之间分别存在着 、填空 在混凝土配合比设计中,为什么要用设计强度而不用配置强度 在卤化物中,各种元素最高氧化态都已氟化物存在而不以碘化物存在 为什么 在科学探究中,我们经常采用什么等方法来获取事实和证据;而设计生物实验时,通常要有什么? 抗震设计中为什么要限制各类结构体系的最大高度和高宽比? 抗震设计中为什么要有限制各类结构体系的最大高度和宽度比 英语翻译毕业论文.摘要如下:本文针对铁路的售票情况,按照管理信息系统的结构化设计思想,经过对其的需求分析和可行性分析、整体设计、详细审计,以及编码实现和调试等步骤分析设计了 鸿沟在哪?啥含义? 英语疑问句句法分析方法和例子我是问疑问句中哪个是主语哪个是谓语的句子结构分析方法 结构化模块结构图的设计方法是