自頂向下的設計方法是一種程式開發技術,其中問題被分解為更容易處理的子問題,這些子問題的解決方案組合起來構成整體問題的解決方案。
首先要理解問題,列出必須處理的資訊。這些資訊可能是問題中的資料。明確採用什麼樣的解決方案。如果是報表,明確要採用的格式。列出你對問題或資訊的假設。思考如何手動地解決這個問題,開發乙個全面的演算法或通用的方案。用自然語言或偽**在主模組中重述問題。用模組名把問題分解成功能區塊。如果主模組太長,說明這一層中的細節太多了。此時可以引用一些控制結構。如果必要,可以進行邏輯重組,把細節推延到下一層模組。
如果目前你不知道如何解決未成文的模組,不必擔心。假裝你有個非常聰明的朋友知道答案,把這個問題推遲到以後再解決即可。在主模組中所要做的,只是給下一層中每個解決任務的模組乙個名字,要採用含義明確的識別符號。
編寫方案中的層數並不確定。每一層中的模組可以載入多個下層模組。雖然上層模組引用的是未成文的下層模組,但上層模組必須完整。不斷細化每個模組,直到模組中的每條語句都是具體的步驟為止。
為變化做好打算。不要害怕從頭來過。一些嘗試和細化操作是必要的。要維持透明性,簡單直接地表達你的想法。
自頂向下設計最初把問題分解成一套子問題,然後再把子問題分解成子問題。這一過程將一直持續到每個子問題足夠基礎,不再需要進一步分解為止。我們創造了一種分層結構來表示問題和子問題之間的關係,這種結構也稱為樹形結構。在樹形結構中,每一層中的模組都可以呼叫下層模組的服務。這些模組是演算法的基本構件。
樹形結構中包括細化的後繼層。0層是最頂層,這一層是問題的功能說明,其下是細化的後繼層。
需要擴充套件的步驟是抽象步驟,不需要擴充套件的步驟是具體步驟。如果乙個任務困難繁重,可以把它的細節推到較低的層次中。這一過程也可以應用到棘手的子任務上。整個問題最終被分解成能夠解決的單元。
自頂向下,逐步求精
簡單來說,自頂而下,逐步求精 這是一種分解複雜任務的方法。學會分解任務,超級大分為大的 中的 小的 超小的,直到能用很直接的方法解決。是程式設計裡面很經典的方法。驗證哥德 猜想 任何乙個大於等於4的偶數均可以表示為兩個素數之和 第一步 設一上限數m,驗證從4到m的所有偶數是否能被 分解為兩個素數之和...
自頂向下,逐步求精
由於軟體導論課程的安排,我們已經學到了演算法結構的問題,所以今天我給大家介紹一下top down design。高亮宗旨!重點敲黑板 畢業聚餐點菜 很明顯 點菜就是你的big project,我們要將其分解成各個小任務從而求得實現。1.了解班級人數 2.了解少數名族同學的口味禁忌 3.了解各位同學的...
自頂向下,逐步求精
自頂向下,逐步求精是結構化程式設計常用的方法。其中 自頂向下是將複雜 大的問題劃分為小問題,找出問題的關鍵 重點所在,然後用精確的思維定性 定量地去描述問題。逐步求精是將現實世界的問題經抽象轉化為邏輯空間或求解空間的問題。複雜問題經抽象化處理變為相對比較簡單的問題。經若干步抽象 精化 處理,最後到求...