您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關(guān)怎么進行UML面向?qū)ο蠓椒ǚ治雠c設(shè)計的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
UML面向?qū)ο蠓椒ǚ治雠c設(shè)計
1.UML面向?qū)ο蠓治?/strong>
面向?qū)ο蠓治龅哪康氖侵R客觀世界并進行建模.
其實在面向?qū)ο蟮姆治鲞^程中也是對需求的分析和理解.使用面向?qū)ο蠓治龅倪^程一般如下:
獲取問題陳述-->確定類-->準備數(shù)據(jù)字典-->確定關(guān)聯(lián)-->使用繼承來細化類型-->完善對象模型-->建立對象動態(tài)模型-->建系統(tǒng)功能模型
(1)獲取問題陳述就是與用戶一起理解系統(tǒng),搞清楚系統(tǒng)的業(yè)務(wù)邏輯,發(fā)現(xiàn)用戶的需求,在這個時候我們應該以一個用戶的身份去看待這些需求.很多設(shè)計人員在這個時候沒有做足功能,導致***系統(tǒng)的設(shè)計和維護異常困難,并開始抱怨起用戶的變態(tài)要求.在搞清楚系統(tǒng)的需求之后,我們不要馬上開始編碼,如果在這個時候你都已經(jīng)寫下了幾篇代碼了,那么恭喜你,以后夠你受的了.
(2)當?shù)玫搅俗銐蚨嗟膯栴}并對其理解之后,我們就可以把問題中承現(xiàn)出來的物理實體和概念描述整理出來,暫時把這些標志成一個類實體.然后清除冗余類和與系統(tǒng)不相干的類.最終得到我們的模型實體
(3)把第二步分析出來的類建立一個數(shù)據(jù)字典,這個數(shù)據(jù)字典很有可能會在我們的數(shù)據(jù)庫設(shè)計中起到很大的作用.
(4)通過第二步和第三步,我們已經(jīng)得到了系統(tǒng)中的實體信息,現(xiàn)在我們就要讓各個實體信息之間產(chǎn)生聯(lián)系.
比如在一個學生選課系統(tǒng)中.學生被定義為一個實體,課程也被定義為一個實體,通過選課這個行為把兩個實體聯(lián)系起來.這個行為由學生來引發(fā).目標為課程,產(chǎn)生的結(jié)果是學生是否成功的選了一門課程.通過這樣的分析,在以后的設(shè)計過程中我們可以很容易的設(shè)計出學生類的方法.
(5)UML面向?qū)ο蠓治鰰r需要使用繼承來細化類。使用繼承來共享公共屬性,以此來對類進行組織,一般可以使用以下兩種方式來實現(xiàn).
自底向上:通過把現(xiàn)有類的共同性質(zhì)一般化為父類,尋找具有相似的屬性關(guān)系或操作的類來發(fā)現(xiàn)繼承.這些結(jié)果常常是基于客觀世界的現(xiàn)有分類,只有可能,應盡量使用現(xiàn)有概念。自頂向下:把現(xiàn)有的類細化為更具體的子類.
(6)完善對象模型。設(shè)計過程中不可能一次就能正確的設(shè)計出需要的,往往會在這過程中加深對需求的理解.往往需要重復前面的過程.
(7)建立對象動態(tài)模型。跟據(jù)前面幾步的對象模型,接著就是建立對象的動態(tài)模型,準備腳本:動態(tài)分析從尋找事件開始,然后確定各對象的可能事件順序.
確定事件:確定所有外部事件,準備事件跟蹤表:把腳本表示成一個事件跟蹤表,即不同對象之間的事件排序表,對象為表中的列,給每個對象分配一個獨立的列。構(gòu)造狀態(tài)圖:對各對象類建立狀態(tài)圖,反映對象接收和發(fā)送的事件,每個事件跟蹤都對應于狀態(tài)圖中的一條路徑.
(8)建立系統(tǒng)功能模型
功能模型是用來說明值是如何計算的,標明值與值之間的依賴關(guān)系及相關(guān)的功能.數(shù)據(jù)流圖有助于表示功能依賴關(guān)系.一般建功能模型的步驟如下:
先列出輸入,輸出值,輸入,輸出值是系統(tǒng)與外界之間的事件的參數(shù),建立數(shù)據(jù)流圖,數(shù)據(jù)流圖可說明輸出值是怎么從輸入值轉(zhuǎn)換的,數(shù)據(jù)流圖通常按層次組織.
2.UML面向?qū)ο笤O(shè)計
面向?qū)ο笤O(shè)計是把分析價段得到的需求轉(zhuǎn)變成符合成本和質(zhì)量要求的,抽象的系統(tǒng)實現(xiàn)方案的過程.
(1)UML面向?qū)ο蟮臏蕜t
模塊化:對象就是模塊,它把數(shù)據(jù)結(jié)構(gòu)和操作這些數(shù)據(jù)的方法緊密地結(jié)合在一起構(gòu)成模塊。抽象:面向?qū)ο蠓椒ú粌H支持對過程進行抽象,而具支持對數(shù)據(jù)進行抽象.抽象方法的好壞以及抽象的層次都對系統(tǒng)設(shè)計有很大影響,信息隱藏:通過對象的封裝來實現(xiàn),對象暴露接口的多少以及接口的好壞對系統(tǒng)設(shè)計有很大影響,低耦合:低耦合是設(shè)計的一個重要標準,有助于使系統(tǒng)中某一部分的變化對其他部分的影響降到***。高內(nèi)聚:內(nèi)聚度高的模塊很容易理解,很容易被復用,擴展和維護.
(2)UML面向?qū)ο蟮膶嵱靡?guī)則
設(shè)計的結(jié)果應該清晰易懂.一般到具體結(jié)構(gòu)的深度應適當.盡量設(shè)計小而簡單的類.把設(shè)計變動減至最小.(3)系統(tǒng)設(shè)計
系統(tǒng)設(shè)計是問題求解及建立解答的高級策略,必須制定解決問題的基本方法.系統(tǒng)設(shè)計一般是先從高層入手,然后細化.系統(tǒng)設(shè)計要決定整個結(jié)構(gòu)及風格,這種結(jié)構(gòu)為后面設(shè)計階段的策略提供基礎(chǔ).
感謝各位的閱讀!關(guān)于“怎么進行UML面向?qū)ο蠓椒ǚ治雠c設(shè)計”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。