分類匯總 UML精粹學(xué)習(xí)筆記
本節(jié)和大家一起學(xué)習(xí)一下UML精粹,這里只介紹UML精粹中的一小部分,主要包括瀑布風(fēng)格和迭代風(fēng)格,類圖和順序圖等內(nèi)容,相信通過(guò)本節(jié)的介紹你對(duì)UML建模語(yǔ)言有更進(jìn)一步的了解。
UML精粹學(xué)習(xí)筆記
UML有三種使用方式:用作草圖繪制,用于藍(lán)圖繪制,用于程序編制。
傾向于將UML用于草圖繪制,繪制草圖的實(shí)質(zhì)是選擇,重點(diǎn)是進(jìn)行交流,常用的介質(zhì)是白板。
草圖是故意不完備的,要突出重要的信息。草圖是探究性的,藍(lán)圖是定義性的。草圖用于正向工程(設(shè)計(jì)階段),藍(lán)圖用于逆向工程(根據(jù)已有的代碼導(dǎo)出)。詳細(xì)文檔應(yīng)該根據(jù)代碼生成。
UML最重要的是類圖和順序圖。
瀑布風(fēng)格和迭代風(fēng)格
UML精粹瀑布風(fēng)格是基于活動(dòng)來(lái)分解項(xiàng)目的,迭代風(fēng)格根據(jù)功能子集來(lái)分解項(xiàng)目。
迭代的一種常用技術(shù)是時(shí)間框定法,迫使各次迭代的時(shí)間長(zhǎng)度固定。通過(guò)定時(shí)擱置功能,使人們能夠在擱置日期和擱置功能之間進(jìn)行明智的選擇。
敏捷過(guò)程是強(qiáng)適應(yīng)性的過(guò)程。敏捷方法強(qiáng)調(diào)項(xiàng)目成功最重要的因素是人的素質(zhì)以及人之間的良好協(xié)同,敏捷方法傾向使用時(shí)間框定的短小迭代。每一次迭代結(jié)束時(shí)要進(jìn)行一次迭代回顧。
RUP本質(zhì)上是一個(gè)迭代過(guò)程,分為四個(gè)階段:初始,細(xì)化,構(gòu)造,移交。
需求分析最重要的是與用戶及客戶的交流。
類圖
UML精粹中類圖表述系統(tǒng)中各個(gè)對(duì)象的類型以及其間存在的各種靜態(tài)關(guān)系。
對(duì)不重要的事(如日期或布爾值,一般說(shuō),值類型)使用屬性,對(duì)較為重要的類使用關(guān)聯(lián)。
非常反感那些除了一組域及其get/set方法沒(méi)有行為的類。如果你在利用get方法重復(fù)調(diào)用數(shù)據(jù),這預(yù)示著某一行為應(yīng)該移往具有數(shù)據(jù)的對(duì)象。
依賴應(yīng)該單向,依賴越少越好,特別謹(jǐn)慎循環(huán)依賴,尤其反對(duì)包間的循環(huán)依賴。對(duì)類使用依賴最常見(jiàn)的情形是闡明瞬間關(guān)系,比如,把一個(gè)對(duì)象作為參數(shù)傳遞到另一個(gè)對(duì)象時(shí)。
不要試圖使用對(duì)你可用的所有圖示法,保持圖示簡(jiǎn)單,集中考慮關(guān)鍵方面。繪制類圖時(shí)總以使用某種形式的行為技術(shù)為宜。
順序圖
盡量省去回送。
單一職責(zé),提倡分布式控制(把處理分散到多個(gè)對(duì)象里去)。
減少過(guò)程式編程,如if/else,改用多態(tài)解決類似問(wèn)題。
把順序圖看作各個(gè)對(duì)象如何交互的形象化表示而不是一種對(duì)控制基理的建模方法。順序圖擅長(zhǎng)示明對(duì)象間的協(xié)作,不擅長(zhǎng)于示明行為的精確定義。
CRC卡
UML精粹中CRC的一個(gè)重要部分是認(rèn)識(shí)職責(zé)。任意一個(gè)類都可以用少量職責(zé)對(duì)其概括。對(duì)具有三項(xiàng)以上職責(zé)的卡片提出質(zhì)問(wèn),是否應(yīng)該把類分解,或把職責(zé)合并成一個(gè)更高層次
的概述。
【編輯推薦】