UML有三種使用方式:用作草圖繪制,用于藍圖繪制,用于程序編制。
傾向于將UML用于草圖繪制,繪制草圖的實質是選擇,重點是進行交流,常用的介質是白板。
草圖是故意不完備的,要突出重要的信息。草圖是探究性的,藍圖是定義性的。草圖用于正向工程(設計階段),藍圖用于逆向工程(根據已有的代碼導出)。詳細文檔應該根據代碼生成。
UML最重要的是類圖和順序圖。
瀑布風格和迭代風格
瀑布風格是基于活動來分解項目的,迭代風格根據功能子集來分解項目。
迭代的一種常用技術是時間框定法,迫使各次迭代的時間長度固定。通過定時擱置功能,使人們能夠在擱置日期和擱置功能之間進行明智的選擇。
敏捷過程是強適應性的過程。敏捷方法強調項目成功最重要的因素是人的素質以及人之間的良好協同,敏捷方法傾向使用時間框定的短小迭代。每一次迭代結束時要進行一次迭代回顧。
RUP本質上是一個迭代過程,分為四個階段:初始,細化,構造,移交。
需求分析最重要的是與用戶及客戶的交流。
類圖
類圖表述系統中各個對象的類型以及其間存在的各種靜態關系。
對不重要的事(如日期或布爾值,一般說,值類型)使用屬性,對較為重要的類使用關聯。
非常反感那些除了一組域及其get/set方法沒有行為的類。如果你在利用get方法重復調用數據,這預示著某一行為應該移往具有數據的對象。
依賴應該單向,依賴越少越好,特別謹慎循環依賴,尤其反對包間的循環依賴。對類使用依賴最常見的情形是闡明瞬間關系,比如,把一個對象作為參數傳遞到另一個對象時。
不要試圖使用對你可用的所有圖示法,保持圖示簡單,集中考慮關鍵方面。繪制類圖時總以使用某種形式的行為技術為宜。
順序圖
盡量省去回送。
單一職責,提倡分布式控制(把處理分散到多個對象里去)。
減少過程式編程,如if/else,改用多態解決類似問題。
把順序圖看作各個對象如何交互的形象化表示而不是一種對控制基理的建模方法。順序圖擅長示明對象間的協作,不擅長于示明行為的精確定義。
CRC卡
CRC的一個重要部分是認識職責。任意一個類都可以用少量職責對其概括。對具有三項以上職責的卡片提出質問,是否應該把類分解,或把職責合并成一個更高層次
的概述。
http://www.tkk7.com/ronghao 榮浩原創,轉載請注明出處:)
posted on 2007-08-27 22:27
ronghao 閱讀(2522)
評論(5) 編輯 收藏 所屬分類:
OOA/OOD