博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自上而下,自下而上
阅读量:4127 次
发布时间:2019-05-25

本文共 867 字,大约阅读时间需要 2 分钟。

很多书籍在描述解决一个特定的问题的时候经常会提到自上而下和自下而上的解决方式。自上而下指的是先勾勒出解决问题的大纲,然后根据这个大纲在把问题细分,逐步解决问题。自下而上则在解决问题的时候没有初始的大纲,先解决局部问题,然后在组合各个局部的解决方案,从而解决最终的问题。它们很好地总结了解决问题的方式,但是自上而下和自下而上从来都是跟具体情况相关的。什么时候该自上而下,什么时候该自下而上是很值得考量的。那么具体应该怎么来做呢?

自上而下适合已经有了全局概念的情况。如在软件设计中,如果实现对这个行业已经有了深入的了解,而且对所要做的产品已经有了一个清晰的概念,那么自上而下的方法会非常有效,这时候采用瀑布开发方法论是非常合适的。
自下而上是在全局还没有清晰的了解或根据不知道全局或者以后的发展的形势的情况。而现实中这样的问题很典型,也非常多。所以很多时候我们都会不自觉地采用自下而上的方法来解决问题。但是这个方法的缺陷是,风险很大。解决这种缺陷的方式就是将问题的解决在时间域上划分为多个阶段,在每个子阶段对结果进行检验。在软件设计中,典型的方法论就又统一软件过程,XP等。软件开发中的问题绝大多数属于这种情况,所以软件开发很适合采用了分阶段的自下而上的解决问题的方式。
还有一种方式那就是自上而下和自下而上的结合,在不了解全局的情况,首先采用自下而上的方法来解决问题,当对问题有了更深入地了解之后,就采用自上而下的方法来进行。这种方法,显而易见比上面两种方式在一般的情况下都更有优势。它的缺陷是,我们很难知道什么程度才是自下而上和自上而下的分界点点。不过还是有办法解决的,那就是通过一定的代价来换取。以软件开发为例,原型开发方法就是如此,先以原型为代价,得到一个比较清晰的全局,然后采用自上而下的办法进行架构设计,然后使用自下而上的方法来进行功能的开发。

所以我认为好的软件开发方法论就是在开发的过程中不断地运用自上而下和自下而上的方法解决问题。就目前而言,我觉得原型开发方法和迭代开发方法的结合是适合绝大多数的应用场景的开发方法论。

转载地址:http://tohpi.baihongyu.com/

你可能感兴趣的文章
我的职业规划
查看>>
校园网图书馆资源使用问题
查看>>
ASP.NET 1.0 升级至 ASP.NET 2.0问题总结
查看>>
sql2005使用sa登录错误的解决
查看>>
SQL Server2005下载地址
查看>>
在安装项目中把MSDE也打包进去
查看>>
利用sniffer获取遗忘的sa登陆密码
查看>>
用C#生成Excel文件的方法和Excel.dll组件生成的方法
查看>>
Windows XP style Explorer Bar使用问题说明
查看>>
一位招聘者给应聘大学生的忠告
查看>>
网站三层架构学习之一 分层式结构
查看>>
网站三层架构学习之二 整体架构
查看>>
C# C/S消息传递:获取本机IP地址
查看>>
C#获取IP地址接口编程
查看>>
问题多多的xml
查看>>
森泰达基地实习
查看>>
Visual Studio 2005 Web Application Projects安装使用
查看>>
SQL Server 中导入*.db数据库文件
查看>>
JavaScript调试技巧
查看>>
NUnit的入门学习
查看>>