2010-02-25 66 views
0

我需要为我编写的程序编写实验报告。我需要提供一个“自上而下的设计讨论”。那是什么意思?“自上而下的设计讨论”

+0

你会更具体吗? – Ashish 2010-02-25 05:00:29

+0

我需要按照以下指南进行举报: http://www.engr.sjsu.edu/mrobins/cmpe130doc.html 我不明白“自上而下讨论设计”的部分。 – neuromancer 2010-02-25 05:04:54

+0

不要问我们,问问你的教授! – 2010-02-25 05:06:25

回答

2

自上而下的视图将从整个程序开始,着眼于每个主要组件。对于每个主要组件,请描述其组件等等,直到您处于最底层,并列出像列表这样的小事。

例如,一辆车:

1) Engine 
    a) Cylinders 
     i) Valves 
     ii) Piston 
    b) Crankshaft 
2) Transmission 
    a) Gears 

等等。

1

将程序作为一个整体并将其分解为它的主要组件,并依次描述它们。然后对其中的每一个,进一步分解它们。继续下去,直到您处于组件小而平凡的水平。

1

从您的程序的高级描述开始。它的目标是什么?需要什么类型的输入?它产生了什么类型的输出?想想你的程序就像一个黑匣子。

顶部-下降的第二步是开始讨论关于它如何工作的更多细节。现在将您的系统视为白盒。你使用了什么样的设计模式?它对输入有什么作用?它如何使用输入来产生输出?

逐渐包含更多细节,直到您认为有人能够完全根据您的讨论重现您的设计。

1

我怀疑你的设计的自顶向下的描述将首先描述用户界面(用户将与你的程序进行交互的所有地方以及这种交互将如何进行 - 用例)。

然后,您可以深入了解您的设计的更基本方面,例如将驱动用户界面的架构组件,以及可能它们如何在一个图表中组合在一起。您可以使用dia来制作图表;这是免费的。

1

您可以从头到尾遍历每个元素,从具有main()函数的源文件开始。我最近的程序开始于解析命令行,使用命令行中的数据初始化声明的变量,将数据文件加载到内存中,解析数据文件的每一行,将输出显示到控制台,释放内存,并以返回状态结束值。解释沿途进行的每个函数调用,以及为什么将一些函数分组到一个模块中,而不是另一个中。