溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

web開發(fā)中面向?qū)ο笤O(shè)計模型的示例分析

發(fā)布時間:2021-09-13 14:44:44 來源:億速云 閱讀:100 作者:小新 欄目:web開發(fā)

這篇文章給大家分享的是有關(guān)web開發(fā)中面向?qū)ο笤O(shè)計模型的示例分析的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

設(shè)計模型的元素很多都是在分析模型中使用的UML圖。差別在于這些圖被精化和細化為設(shè)計的一部分,并且提供了更多的與實現(xiàn)相關(guān)的特殊細節(jié),突出了架構(gòu)的結(jié)構(gòu)和風(fēng)格、架構(gòu)內(nèi)存在的構(gòu)件以及構(gòu)件和外界之間的接口。

1、面向?qū)ο笤O(shè)計模型
設(shè)計建模任務(wù):
架構(gòu)設(shè)計
包和子系統(tǒng)設(shè)計
類設(shè)計
持久化設(shè)計

(1)構(gòu)件圖
(2)部署圖
(3)狀態(tài)機圖

2、架構(gòu)設(shè)計
(1)4+1架構(gòu)視圖
邏輯視圖,開發(fā)視圖,進程視圖,物理視圖,場景視圖
(2)邏輯視圖設(shè)計
軟件的邏輯結(jié)構(gòu),用于支持功能性需求。
(3)進程視圖設(shè)計
軟件的進程架構(gòu),針對非功能性需求。
構(gòu)成進程的任務(wù)是彼此相互分隔的控制線程,這個軟件被劃分成這樣一組彼此獨立的任務(wù)。(部署圖)
(4)開發(fā)視圖設(shè)計
軟件的開發(fā)架構(gòu),即如何分解成實現(xiàn)單元,是需求分配的基礎(chǔ)也是開發(fā)組織結(jié)構(gòu)的基礎(chǔ)。
如圖7-7水平分割方案,6個包分配給6個開發(fā)組且處于架構(gòu)的不同層次,開發(fā)組可按技術(shù)層次分配人員。
下圖垂直分割方案,按業(yè)務(wù)邏輯在多個開發(fā)組分配任務(wù),每個開發(fā)組必須具備綜合開發(fā)能力。
(5)物理視圖設(shè)計
軟件的物理架構(gòu),針對非功能性需求的可用性、可靠性、可擴展性等。(部署圖)
(6)場景視圖設(shè)計
  場景是用例的實例,將4個視圖有機第聯(lián)系起來。它是發(fā)現(xiàn)架構(gòu)元素的動力,擔(dān)負起驗證和說明的角色。

3、包設(shè)計原則
重用-發(fā)布等價:重用粒度等于發(fā)布粒度;
共同重用:包中所有類一起被重用;
共同封閉:包中的所有類對同類型的變更封閉;
無環(huán)依賴:包之間無環(huán)依賴結(jié)構(gòu);
穩(wěn)定依賴:包應(yīng)該依賴比他更穩(wěn)定的包;
穩(wěn)定抽象:最穩(wěn)定的包即最抽象,不穩(wěn)定包是具體包。

4、類設(shè)計
單一職責(zé)、李氏替換、依賴倒置、接口隔離、開發(fā)-關(guān)閉原則。

5、持久化設(shè)計
(1)實體對象建模;
(2)數(shù)據(jù)庫設(shè)計;
(3)持久化框架。

6、面向?qū)ο笤O(shè)計過程
識別設(shè)計元素
確定架構(gòu)風(fēng)格,設(shè)計整體結(jié)構(gòu)
構(gòu)件級設(shè)計

7、子系統(tǒng)設(shè)計過程
 (1)對子系統(tǒng)職責(zé)進行定義,即接口的定義;
(2)通過職責(zé)分配確定子系統(tǒng)中的元素,由構(gòu)件等元素來實現(xiàn)職責(zé);
(3)對子系統(tǒng)中各元素進行設(shè)計,即類設(shè)計(靜態(tài)結(jié)構(gòu)和動態(tài)結(jié)構(gòu));
(4)確定子系統(tǒng)間的依賴關(guān)系。

8、構(gòu)件級設(shè)計的步驟
更新Use-case Realization
子系統(tǒng)的設(shè)計:對每個接口的每個操作設(shè)計交互圖和VOPC類圖,類似于系統(tǒng)的設(shè)計,即Use case realization
類的設(shè)計:
(1)創(chuàng)建設(shè)計類:將分析類映射成設(shè)計類;
(2)定義操作:實現(xiàn)單一的職責(zé);
(3)定義方法:對操作的內(nèi)部實現(xiàn)進行描述;
(4)定義狀態(tài):描述對象的狀態(tài)對行為的影響,將對象的屬性和操作關(guān)聯(lián)起來;
(5)定義屬性:包括方法中的參數(shù)、對象的狀態(tài)等;
(6)定義依賴:類與類之間的存在關(guān)系,非結(jié)構(gòu)關(guān)系;
(7)定義關(guān)聯(lián):對關(guān)聯(lián)關(guān)系的細化,包括聚合與組合、導(dǎo)向性、多重性、關(guān)聯(lián)類;
(8)形成設(shè)計類的規(guī)格說名書。

9、時序圖
從用例事件流中提取出各類事件并確定事件交互行為的發(fā)送對象和接受對象,用時序圖把事件序列以及事件與對象的關(guān)系表示出來。

10、狀態(tài)機圖
狀態(tài)圖描繪事件與對象狀態(tài)的關(guān)系。當(dāng)對象接受了一個事件以后,引起的狀態(tài)改變稱為“轉(zhuǎn)換”。
  用一張狀態(tài)圖描繪一類對象的行為,它確定了由事件序列引出的狀態(tài)序列。僅考慮具有重要交互行為的那些類。
  事件跟蹤圖中入事件作為狀態(tài)圖中的有向邊(即箭頭線),邊上標(biāo)以事件名。兩個事件之間的間隔就是一個狀態(tài)。
  事件跟蹤圖中的射出的箭頭線,是這條豎線代表的對象達到某個狀態(tài)時所做的行為(往往是引起另一類對象狀態(tài)轉(zhuǎn)換的事件)。

感謝各位的閱讀!關(guān)于“web開發(fā)中面向?qū)ο笤O(shè)計模型的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節(jié)

免責(zé)聲明:本站發(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)容。

AI