您的位置:首页 > 其它

自顶向下,逐步求精

2017-11-29 09:03 267 查看
自顶而下的设计方法是将复杂的大问题分解为相对简单的小问题,找出每个问题的关键、重点所在,然后用精确的思维定性、定量地去描述问题。其核心本质是”分解”。

逐步求精是将现实问题经过几次抽象(细化)处理,最后到求解域中只是一些简单的算法描述和算法实现问题。即将系统功能按层次进行分解,每一层不断将功能细化,到最后一层都是功能单一、简单易实现的模块。求解过程可以划分为若干个阶段,在不同阶段采用不同的工具来描述问题。在每个阶段有不同的规则和标准,产生出不同阶段的文档资料。



自顶向下设计是一种逐步求精的设计程序的过程和方法。

对要完成的任务进行分解,先对最高层次中的问题进行定义、设计、编程和测试,而将其中未解决的问题作为一个子任务放到下一层次中去解决。这样逐层、逐个地进行定义、设计、编程和测试,直到所有层次上的问题均由实用程序来解决,就能设计出具有层次结构的程序。 按自顶向下的方法设计时,设计师首先对所设计的系统要有一个全面的理解.然后从顶层开始,连续地逐层向下分解,起到系统的所有模块都小到便于掌握为止。

下面以常见的洗衣机为例介绍自顶向下逐步求精的方法

首先用伪代码体现正常洗衣步骤

Choose mod and water volume

Open

Water in switch open

Water enough

water in switch close

Time enough

motor run(direction) //soak 电机转动 left左转 right右转 stop停

Time enough

water out switch open

No water

Start dewater

Time enough

water out switch close

halt (return code) //停机, success 成功 failure 失败

2.逐步求精 写出每个步骤的伪代码

Input mod, water volume

Open power switch

Water in switch open

If (water>=water volume)

Water in switch close

if(time>=soak time)

For(time=0; time>=wash time; time++)

Motor run //left right stop

Water out switch open

if(water==0)

For(time=0; time>=dewater time; time++)

Motor run //left right stop

Water out switch close

Return

以上就是我对自顶而下,逐步求精的理解。 希望有所帮助,感谢阅读~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: