相當重要的能力是熟練地爲軟件對象分配職責。這項技能是必需要執行的一項活動,不管是畫UML圖仍是進行程序設計,而且直接關乎到軟件構件的健壯性、可維護性和可重用性。在實際項 目。中,若是隻能倉促編碼,即便在這種狀況下,分配職責也是必不可少。這門課程中,將持續學習分配職責的原則。
什麼是分析與設計?
分析強調的是對問題和需求的調查研究,而不是解決方案。
「分析」一詞含義普遍,最好加以限制,如需求分析或面向對象的分析。
設計強調的是知足需求的概念上的解決方案(在軟件方面和硬件方面)而不是其具體實現。
最終設計能夠實現,而實現(如代碼)則表達了真實和完整的設計。
也能夠歸納爲:作正確的事(分析)和正確地作事(設計)。
在面向對象分析過程當中,強調的是在問題領域內發現和描述對象(或概念)。
例如航班信息中包含了飛機,航班和飛行員等概念。
而在一個電影售票系統中,概念就有電影院,電影,場次甚至電影院座位等概念。
在面向對象設計過程當中,強調的是定義軟件對象以及它們如何協做以實現需求。
示例流程(也是學習流程):
定義用例——定義領域模型——分配對象職責並繪製交互圖——定義設計類圖