简要叙述“自顶向下设计”

首先我们通过两个直观的小故事来比较自顶向下以及自底向上,从而给大家一个初步的印象:

  某日小明上数学课,他的老师给了很多个不同的直角三角板让小明用尺子去量三角板的三个边,并将长度记录下来。两个小时过去,小明完成任务,把数据拿给老师。老师给他说,还有一个任务就是观察三条边之间的数量关系。又是两个小时,聪明的小明连蹦带跳走进了办公室,说:“老师,我找到了,三条边之中有两条,它们的平方和约等于另外一条的平方。”老师拍拍小明的头,“你今天学会了一个定理,勾股定理。它就是说直角三角形有两边平方和等于第三边的平方和”。
  另一个故事,某日老师告诉小明“今天要教你一个定理,勾股定理。”小明说,“什么是勾股定理呢?”“勾股定理是说,直角三角形中有两条边的平方和等于第三边的平方。”然后老师给了一大堆直角三角板给小明,让他去验证。两个小时后,小明告诉老师定理是正确的.两个故事刚好是语法分析里面对应的两个方法:第一个故事说的是自底向上的分析方法,第二个故事说的是自顶而下的分析方法。在三维建模软件里也存在这个问题:自底向上就是先建零件图,然后去组装装配图!
  自顶向下就是先建装配图,再在装配图中建零件图!或者先建立一个总装配体的零件图,然后切割成各个零件图!两种分析方法的根本区别是:自底向上的分析,是从具体到抽象;自顶向下的分析,是从抽象到具体。
  相信大家看完之后心里已经有大致的了解了。
  那么接下来我们来看看百度百科关于其的定义:
  自顶向下(top-down)的分析算法通过在最左推导中描述出各个步骤来分析记号串输入。
  再比较一下维基百科的定义:
  A top-down approach (also known as stepwise design and in some cases used as a synonym of decomposition) is essentially the breaking down of a system to gain insight into its compositional sub-systems in a reverse engineering fashion. In a top-down approach an overview of the system is formulated, specifying, but not detailing, any first-level subsystems. Each subsystem is then refined in yet greater detail, sometimes in many additional subsystem levels, until the entire specification is reduced to base elements. A top-down model is often specified with the assistance of "black boxes", which makes it easier to manipulate. However, black boxes may fail to clarify elementary mechanisms or be detailed enough to realistically validate the model. Top down approach starts with the big picture. It breaks down from there into smaller segments.
  也就是说,自顶向下的方法就是通过对系统的逐级划分、细化,最后得到最基本的可执行的单元的一种方法。
  递归向下是其中的一种思想,我们可以借助以下这张图来感受一下:![这里写图片描述](https://img-blog.csdn.net/20171130120716707?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUGFzc2lvbnpx/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
  以及还有非递归方法的一张图也可以看一下:
  ![这里写图片描述](https://img-blog.csdn.net/20171130120749575?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvUGFzc2lvbnpx/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
  这种思想在诸多领域都是非常重要的,希望大家都能拥有这种思想。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值