首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自上而下的设计方法

自上而下的设计方法
EN

Stack Overflow用户
提问于 2009-05-13 14:45:31
回答 5查看 8.3K关注 0票数 5

重复设计和编码-自上而下还是自下而上?

我认为我从最近的经验中发现,我设计软件的方式与大多数同行不同。我倾向于在收集足够的需求以获得软件中的组件的高层次概念之后,采用增量自下而上的方法。

因此,在设计一个支持多个具体类的接口时.我将查看每个具体候选对象的共同之处,询问如何完成每个具体的工作(同时考虑对未来的混凝土保持健壮)。然后,我采取了这套共性,并建立了一个接口,我认为这是一个“自下而上”的方法。

在自顶向下的方法中,我相信设计人员会查看接口的客户端,以及客户机如何与接口交互,然后尝试实现具体的类。

所以我可以看到自上而下/自下而上的优点和缺点。我只想知道哪一个更有效率,根据你以前的经验提供一个更好的结果?

注意:我说的不是开发方法(敏捷、瀑布等),而是设计方法。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-05-13 14:54:04

我相信,有了优秀的软件设计师(在我看来,所有软件开发人员也应该在某种程度上是软件设计师),神奇的是能够同时做到自上而下和自下而上。

我被导师“教育”要做的是,从非常简短的自上而下开始,了解所涉及的实体,然后从下到下,找出我想要创造的基本要素,然后备份,看看我怎样才能往下走,知道我对自下而上结果的了解,等等,直到“他们在中间相遇”。

希望这能有所帮助。

票数 19
EN

Stack Overflow用户

发布于 2009-05-13 14:54:28

这取决于问题。

如果你知道是什么问题,让客户看到网上银行结单,以及如何解决,然后使用自下而上的方法。分析每一步,将这些步骤按区域分组,并制定解决方案。基于项目计划。

如果您对这个问题有一个模糊的概念,允许现场代理通过分布式离线/在线wiki进行通信,那么自顶向下的方法会更好地工作。看一看所有的问题,以及可以用什么步骤来解决它们。反复试验。敏捷。

票数 4
EN

Stack Overflow用户

发布于 2009-05-13 14:55:16

没有完美的方法来设计软件。没有任何方法能保证完美的设计。

在为它设计解决方案时,您必须以不同的方式来看待这个问题,当您有了一个设计时,您也应该以不同的方式来看待它。如果你从顶部接近它,你就不会像从底部接近它时那样提出相同的设计。因此,两者都要做,并挑选和选择这两种方法给你带来的优势。

理解问题的最高层次,并通过解决方案来解决问题,找出细节可能最终改变设计的部分(细节,您应该从最低层次接近,然后以您的方式返回)。继续迭代问题的所有组件,直到您有了一个足够好使用的设计。

代码完成第5章确实可以帮助我阐明我在这里所讲的细节。我建议你看看。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/858402

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档