1、劃分成子系統
2、劃分成模塊
3、劃分成子程序
4、子程序內部的設計結構化設計的組成:
1、系統組織。系統被設計成幾個黑盒子,明確定義的子程序和模塊、接口的實現細節對其他子程序來說都是隱含的
2、開發設計的策略
3、評估設計準則
4、關於問題的明確說明,是解決問題的指導原則
5、表達設計的圖形和語言工具,包括PDL和結構圖
面向對象的關鍵思想:
1、抽象
2、封裝
3、模塊化
4、層次結構和繼承性
5、對象與類面向對象的設計步驟:
1、識別對象及其屬性,它往往是數據
2、確定對每個對象可以做些什麼
3、確定每一個對象可以對其他對象做些什麼
4、確定每個對象對其他對象來說是可見的部分,哪一部分是開放的,哪一部分是專用的
5、確定每個對象的公共接口一個面向對象系統通常有至少四類對象:
1、問題域要素
2、用戶接口要素
3、任務管理要素,指計算機本身的對象,包括實時任務管理程序、硬件接口、通訊協議等
4、數據管理要素,包括保持一致的數據。包括數據庫以及其相聯繫的所有存儲、維護和檢索等功能
面向對象設計與結構化設計的主要區別是:面向對象設計在較高抽象層次上要比結構化設計有效。
面向對象設計主要是設計模塊數據和對數據操作的集合,非常適用於從最頂層分解系統。當你識別出對象的接口並開始編碼時,往往會轉換爲結構化設計。受歡迎設計的特點:
1、智力上的可管理性
2、低複雜性
3、維護的方便性
4、最小的聯繫性(高內聚,低耦合)
5、可擴充性
6、可重複使用性
7、高扇入:對於一個給定的子程序來說,應該有儘可能多的子程序調用它。
8、低或中等程度輸出:對於一個確定的子程序來說,它所調用的子程序應該儘可能的少。
9、可移植性
10、簡練性
11、成層設計
12、標準化技術