我需要为我编写的程序编写实验报告。我需要提供一个“自上而下的设计讨论”。那是什么意思?“自上而下的设计讨论”
0
A
回答
2
自上而下的视图将从整个程序开始,着眼于每个主要组件。对于每个主要组件,请描述其组件等等,直到您处于最底层,并列出像列表这样的小事。
例如,一辆车:
1) Engine
a) Cylinders
i) Valves
ii) Piston
b) Crankshaft
2) Transmission
a) Gears
等等。
1
将程序作为一个整体并将其分解为它的主要组件,并依次描述它们。然后对其中的每一个,进一步分解它们。继续下去,直到您处于组件小而平凡的水平。
1
从您的程序的高级描述开始。它的目标是什么?需要什么类型的输入?它产生了什么类型的输出?想想你的程序就像一个黑匣子。
顶部-下降的第二步是开始讨论关于它如何工作的更多细节。现在将您的系统视为白盒。你使用了什么样的设计模式?它对输入有什么作用?它如何使用输入来产生输出?
逐渐包含更多细节,直到您认为有人能够完全根据您的讨论重现您的设计。
1
我怀疑你的设计的自顶向下的描述将首先描述用户界面(用户将与你的程序进行交互的所有地方以及这种交互将如何进行 - 用例)。
然后,您可以深入了解您的设计的更基本方面,例如将驱动用户界面的架构组件,以及可能它们如何在一个图表中组合在一起。您可以使用dia来制作图表;这是免费的。
1
您可以从头到尾遍历每个元素,从具有main()函数的源文件开始。我最近的程序开始于解析命令行,使用命令行中的数据初始化声明的变量,将数据文件加载到内存中,解析数据文件的每一行,将输出显示到控制台,释放内存,并以返回状态结束值。解释沿途进行的每个函数调用,以及为什么将一些函数分组到一个模块中,而不是另一个中。
相关问题
- 1. 自上而下或自下而上的设计?
- 2. 如何设计Facebook页面上的讨论标签?
- 3. 使用iOS设备作为特斯拉计(磁力计讨论)
- 4. 设计讨论:使用Youtube播放器的Modal React组件
- 5. 收集和讨论Cocoa Touch设计模式的网站?
- 6. 讨论智能软件设计的博客是什么?
- 7. Android讨论板
- 8. 讨论 “stringByReplacingOccurrencesOfString:withString:”
- 9. 执行讨论
- 10. 如何捕捉白板上的讨论
- 11. 数据库设计upvote/downvote在讨论区?
- 12. MVVM/ViewModel /用户控件/ DataContext /命令 - 设计问题/讨论
- 13. VSTS自定义“讨论”部分
- 14. MVC架构:讨论
- 15. 讨论关于select()
- 16. ASP.NET MVC讨论板
- 17. 删除,显然计算器不是理论讨论
- 18. 新讨论不在讨论区中显示 - Sharepoint
- 19. SharePoint讨论版查看以显示一个讨论主题
- 20. 在我的网站上获得讨论论坛/查询支持
- 21. ASP.NET:Web服务设计方法。自上而下和自下而上。有什么不同?
- 22. 有关使用MySQL的讨论板的数据库设计的困境
- 23. 使用gluUnProject +设计讨论的世界转换的Java OpenGL屏幕
- 24. 自上而下和自下而上解析技术的区别?
- 25. 评论引擎喜欢讨论
- 26. php讨论区没有发表评论
- 27. 软件体系结构:工作设计模式讨论的单位
- 28. 修改Odoo讨论(邮件)
- 29. 与Facebook集成讨论
- 30. PHP MySQL创建讨论板
你会更具体吗? – Ashish 2010-02-25 05:00:29
我需要按照以下指南进行举报: http://www.engr.sjsu.edu/mrobins/cmpe130doc.html 我不明白“自上而下讨论设计”的部分。 – neuromancer 2010-02-25 05:04:54
不要问我们,问问你的教授! – 2010-02-25 05:06:25