課件—UML系統(tǒng)建模與分析設(shè)計(jì)(7)-系統(tǒng)體系結(jié)構(gòu)建模匯編_第1頁
課件—UML系統(tǒng)建模與分析設(shè)計(jì)(7)-系統(tǒng)體系結(jié)構(gòu)建模匯編_第2頁
課件—UML系統(tǒng)建模與分析設(shè)計(jì)(7)-系統(tǒng)體系結(jié)構(gòu)建模匯編_第3頁
課件—UML系統(tǒng)建模與分析設(shè)計(jì)(7)-系統(tǒng)體系結(jié)構(gòu)建模匯編_第4頁
課件—UML系統(tǒng)建模與分析設(shè)計(jì)(7)-系統(tǒng)體系結(jié)構(gòu)建模匯編_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、 實(shí)現(xiàn)模型描述了系統(tǒng)實(shí)現(xiàn)時的一些特性,又稱為物理體系結(jié)構(gòu)建模。包括源代碼的靜態(tài)結(jié)構(gòu)和運(yùn)行時刻的實(shí)現(xiàn)結(jié)構(gòu)。實(shí)現(xiàn)模型包括:Component diagram) 顯示代碼本身的邏輯結(jié)構(gòu),它描述系統(tǒng)中存在的軟構(gòu)件以及它們之間的依賴關(guān)系。構(gòu)件圖的元素有構(gòu)件,依賴關(guān)系和界面。(Deployment diagram) 描述了系統(tǒng)中硬件和軟件的物理配置情況和系統(tǒng)體系結(jié)構(gòu)。顯示系統(tǒng)運(yùn)行時刻的結(jié)構(gòu),配置圖中的簡單結(jié)點(diǎn)是指實(shí)際的物理設(shè)備以及在該結(jié)點(diǎn)上運(yùn)行構(gòu)件或?qū)ο?。配置圖還描述結(jié)點(diǎn)之間的連接以及通信類型。n了解軟、硬件系統(tǒng)體系結(jié)構(gòu)模型的建模方法與步驟n掌握UML中構(gòu)件、構(gòu)件接口和構(gòu)件模型圖的描述方法n掌握UML中配

2、置圖的描述方法n掌握配置圖中結(jié)點(diǎn)、構(gòu)件和對象之間的關(guān)系本章目的:構(gòu)件(構(gòu)件(componentcomponent)構(gòu)件定義:系統(tǒng)中遵從一組接口且提供其實(shí)現(xiàn)的物理的、構(gòu)件定義:系統(tǒng)中遵從一組接口且提供其實(shí)現(xiàn)的物理的、可替換的部分。對系統(tǒng)的物理方面建模時,它是一個重要的構(gòu)可替換的部分。對系統(tǒng)的物理方面建模時,它是一個重要的構(gòu)造塊。造塊。若構(gòu)件的定義良好,該構(gòu)件不直接依賴于構(gòu)件的所支持的若構(gòu)件的定義良好,該構(gòu)件不直接依賴于構(gòu)件的所支持的接口,在這種情況下,系統(tǒng)中的一個構(gòu)件可以被支持正確接口接口,在這種情況下,系統(tǒng)中的一個構(gòu)件可以被支持正確接口的其他構(gòu)件所替代。構(gòu)件圖符是一個矩形框。的其他構(gòu)件所替代。

3、構(gòu)件圖符是一個矩形框。 構(gòu)件對外提供的可見操作和屬性稱為構(gòu)件的界面。界面的構(gòu)件對外提供的可見操作和屬性稱為構(gòu)件的界面。界面的圖符是一個小圓圈。用一條連線將構(gòu)件與圓圈連起來。圖符是一個小圓圈。用一條連線將構(gòu)件與圓圈連起來。構(gòu)件可以看作包與類對應(yīng)的物理代碼模塊,邏輯上構(gòu)件可以看作包與類對應(yīng)的物理代碼模塊,邏輯上與包,類對應(yīng),實(shí)際上是一個文件,可以有下列幾種類與包,類對應(yīng),實(shí)際上是一個文件,可以有下列幾種類型的構(gòu)件:型的構(gòu)件: 1) 源代碼構(gòu)件源代碼構(gòu)件; 2) 二進(jìn)制構(gòu)件;二進(jìn)制構(gòu)件; 3) 可執(zhí)行構(gòu)件可執(zhí)行構(gòu)件構(gòu)件圖符是一個矩形框。構(gòu)件圖符是一個矩形框。構(gòu)件對外提供的可見操作和屬性稱為構(gòu)件的界面

4、。構(gòu)件對外提供的可見操作和屬性稱為構(gòu)件的界面。界面的圖符是一個小圓圈。用一條連線將構(gòu)件與圓圈連界面的圖符是一個小圓圈。用一條連線將構(gòu)件與圓圈連起來。起來。構(gòu)件之間的依賴關(guān)系是指結(jié)構(gòu)之間在編譯,連接或構(gòu)件之間的依賴關(guān)系是指結(jié)構(gòu)之間在編譯,連接或執(zhí)行時的依賴關(guān)系。用虛線箭頭表示。執(zhí)行時的依賴關(guān)系。用虛線箭頭表示。 窗口控制窗口控制 (whnd.cpp) 通信控制通信控制 (comhnd.cpp) 主控模塊主控模塊 (main.cpp) 窗口控制窗口控制 (whnd.obj) 通訊控制通訊控制 (comhnd.obj)主控模塊主控模塊(main.obj) 圖形庫圖形庫 (graphic.dll) 客

5、戶程序客戶程序 (client.exe)構(gòu)件圖實(shí)例構(gòu)件圖實(shí)例關(guān)關(guān)系系 Circle.obj類類 Circle.cpp Main類類 Main.obj Main類類 Main.cpp 圖形庫圖形庫 Graphic.dll Square類類 Square.cpp Square類類 Square.obj Circle類類 Circle.obj 可執(zhí)行程序可執(zhí)行程序 Main.exe開發(fā)期的依賴開發(fā)期的依賴(Development time Dependency) 是指在編譯階段和連接階段,組件之間的依賴關(guān)系。是指在編譯階段和連接階段,組件之間的依賴關(guān)系。調(diào)用依賴調(diào)用依賴(Call Dependenc

6、y) 是指是指一個組件調(diào)用或使用另外一個組件服務(wù)。一個組件調(diào)用或使用另外一個組件服務(wù)。組件的依賴關(guān)系又分為:開發(fā)期的依賴和調(diào)用依賴。組件的依賴關(guān)系又分為:開發(fā)期的依賴和調(diào)用依賴。 業(yè)業(yè) 務(wù)務(wù) (源碼)(源碼) 項(xiàng)目管理項(xiàng)目管理 (源碼)(源碼) 項(xiàng)目管理項(xiàng)目管理 (對象)(對象) 項(xiàng)目管理項(xiàng)目管理 (執(zhí)行碼)(執(zhí)行碼) 系統(tǒng)管理系統(tǒng)管理 (源碼)(源碼)資源資源管理管理 (源碼)(源碼)資源資源管理管理 (對象)(對象)資源資源管理管理 (執(zhí)行碼)(執(zhí)行碼) 系統(tǒng)管理系統(tǒng)管理 (對象)(對象)系統(tǒng)系統(tǒng)管理管理 (執(zhí)行碼)(執(zhí)行碼) 保險單保險單 填寫界面填寫界面保險系統(tǒng)保險系統(tǒng)保險數(shù)據(jù)庫保險數(shù)

7、據(jù)庫保險政策保險政策保險用戶保險用戶客戶客戶PCPCTCP/IP保險服務(wù)器保險服務(wù)器保險系統(tǒng)保險系統(tǒng)配置配置配置配置保險系統(tǒng)的配置圖配置圖各結(jié)點(diǎn)之間進(jìn)行交互的通信路徑稱為連接,連接配置圖各結(jié)點(diǎn)之間進(jìn)行交互的通信路徑稱為連接,連接表示系統(tǒng)中的結(jié)點(diǎn)存在著聯(lián)系,用結(jié)點(diǎn)之間的的連線表示連接,表示系統(tǒng)中的結(jié)點(diǎn)存在著聯(lián)系,用結(jié)點(diǎn)之間的的連線表示連接,在連接的連線上要標(biāo)注通信類型。在連接的連線上要標(biāo)注通信類型。醫(yī)院診療系統(tǒng)的配置圖醫(yī)院診療系統(tǒng)的配置圖醫(yī)院診療系統(tǒng)的配置圖(C/S):ObjectDatabase:Health CareDomainDatabase Unit Server(數(shù)據(jù)庫服務(wù)器)數(shù)據(jù)庫服

8、務(wù)器)a Windows PC(客戶機(jī))客戶機(jī)):ObjectDatabase:Health CareDomainHeart Unit Server(心血管病服務(wù)器心血管病服務(wù)器):ConfigureKnowledge:Configure usersHeart Unit ConfigurationCommunication TCP/IPTCP/IP:Heart Unit UI:Heart UnitClient Facade:Heart UnitServerApplicationUML給出了面向?qū)ο蠼5姆柋硎竞鸵?guī)則,但未給出給出了面向?qū)ο蠼5姆柋硎竞鸵?guī)則,但未給出使用的過程和方法,因此,

9、需要有使用使用的過程和方法,因此,需要有使用UML的過程。的過程。過程描述做什么、怎么做、何時做及為什么做,即描述過程描述做什么、怎么做、何時做及為什么做,即描述一組特定次序的活動。一組特定次序的活動。1 1 UML過程的基礎(chǔ)過程的基礎(chǔ)使用使用UML過程的基本特征是:用例驅(qū)動,以體系結(jié)構(gòu)為中過程的基本特征是:用例驅(qū)動,以體系結(jié)構(gòu)為中心,反復(fù),漸增式。心,反復(fù),漸增式。()、用例驅(qū)動的系統(tǒng)()、用例驅(qū)動的系統(tǒng)用例包含了功能描述,它們將影響后面所有階段及視圖。用例包含了功能描述,它們將影響后面所有階段及視圖。用例對各階段及視圖的影響需求需求用例用例分析分析設(shè)計(jì)設(shè)計(jì)實(shí)現(xiàn)實(shí)現(xiàn)測試測試用例用例視圖視圖構(gòu)

10、件視圖構(gòu)件視圖部署視圖部署視圖邏輯視圖邏輯視圖并發(fā)視圖并發(fā)視圖以體系結(jié)構(gòu)為中心以體系結(jié)構(gòu)為中心在在開發(fā)的早期建立基礎(chǔ)的體系結(jié)構(gòu)(原型開發(fā)的早期建立基礎(chǔ)的體系結(jié)構(gòu)(原型)是十分重要)是十分重要的的 ,進(jìn)一步對原型進(jìn)行精化,建立一個易于修改、易理解和,進(jìn)一步對原型進(jìn)行精化,建立一個易于修改、易理解和允許復(fù)用的系統(tǒng)。允許復(fù)用的系統(tǒng)。主要工作是在邏輯上將系統(tǒng)劃分為若干個子系統(tǒng)(主要工作是在邏輯上將系統(tǒng)劃分為若干個子系統(tǒng)(UML包包) 。( UML的建模型過程要經(jīng)過若干次的反復(fù)。的建模型過程要經(jīng)過若干次的反復(fù)。(漸增式開發(fā)是在多次反復(fù)迭代的過程中,每次增加一些功漸增式開發(fā)是在多次反復(fù)迭代的過程中,每次增

11、加一些功能(或用例能(或用例)的)的開發(fā),每次開發(fā),每次迭代都包含了分析、設(shè)計(jì)、實(shí)現(xiàn)和迭代都包含了分析、設(shè)計(jì)、實(shí)現(xiàn)和測試。測試。方法中執(zhí)行主要活動的描述。主要步驟是分析、方法中執(zhí)行主要活動的描述。主要步驟是分析、設(shè)計(jì)、實(shí)現(xiàn)及測試。設(shè)計(jì)、實(shí)現(xiàn)及測試。需求分析需求分析設(shè)計(jì)設(shè)計(jì)實(shí)現(xiàn)實(shí)現(xiàn)測試測試OO方法的步驟方法中執(zhí)行主要活動的描述。主要步驟是分析、方法中執(zhí)行主要活動的描述。主要步驟是分析、設(shè)計(jì)、實(shí)現(xiàn)及測試。設(shè)計(jì)、實(shí)現(xiàn)及測試。需求分析需求分析設(shè)計(jì)設(shè)計(jì)實(shí)現(xiàn)實(shí)現(xiàn)測試測試獲取需求,建立需求模型。獲取需求,建立需求模型。分析的典型活動:分析的典型活動: 1、獲取領(lǐng)域知識;、獲取領(lǐng)域知識;、定義系統(tǒng)功能(用例圖

12、、定義系統(tǒng)功能(用例圖 );); 3、確定合適的類;、確定合適的類; 4、建立類的靜態(tài)模型(類圖、建立類的靜態(tài)模型(類圖 );); 5、描述對象的動態(tài)行為(狀態(tài)圖、描述對象的動態(tài)行為(狀態(tài)圖、協(xié)作圖、時序圖、活動圖協(xié)作圖、時序圖、活動圖 );); 6、驗(yàn)證、驗(yàn)證 (專家對模型作靜態(tài)驗(yàn)證);(專家對模型作靜態(tài)驗(yàn)證); 7、 給出基本的用戶界面原型(整體給出基本的用戶界面原型(整體結(jié)構(gòu)的原型:主窗口的內(nèi)容、窗口之結(jié)構(gòu)的原型:主窗口的內(nèi)容、窗口之間的導(dǎo)航等)。間的導(dǎo)航等)。方法中執(zhí)行主要活動的描述。主要步驟是分析、方法中執(zhí)行主要活動的描述。主要步驟是分析、設(shè)計(jì)、實(shí)現(xiàn)及測試。設(shè)計(jì)、實(shí)現(xiàn)及測試。需求分析

13、需求分析設(shè)計(jì)設(shè)計(jì)實(shí)現(xiàn)實(shí)現(xiàn)測試測試設(shè)計(jì)是分析結(jié)果在技術(shù)上的擴(kuò)充和修設(shè)計(jì)是分析結(jié)果在技術(shù)上的擴(kuò)充和修改,重點(diǎn)是如何實(shí)現(xiàn)該系統(tǒng)。改,重點(diǎn)是如何實(shí)現(xiàn)該系統(tǒng)。設(shè)計(jì)中的典型活動:設(shè)計(jì)中的典型活動:、將分析所得的類劃分為功能包,并從、將分析所得的類劃分為功能包,并從技術(shù)層面(用戶界面、數(shù)據(jù)庫處理、通信技術(shù)層面(用戶界面、數(shù)據(jù)庫處理、通信等等) )增加新包,建立包之間的通信聯(lián)系。增加新包,建立包之間的通信聯(lián)系。、標(biāo)識并發(fā)需求并建模。、標(biāo)識并發(fā)需求并建模。、指出系統(tǒng)輸出的詳細(xì)格式:如用戶、指出系統(tǒng)輸出的詳細(xì)格式:如用戶界界面,報告,向其它系統(tǒng)發(fā)送的事務(wù)等。面,報告,向其它系統(tǒng)發(fā)送的事務(wù)等。、數(shù)據(jù)管理、數(shù)據(jù)管理(

14、 (建立類與表單的對應(yīng)關(guān)系,建立類與表單的對應(yīng)關(guān)系,對數(shù)據(jù)庫的訪問機(jī)制對數(shù)據(jù)庫的訪問機(jī)制) )。、異常處理、異常處理、分配類和構(gòu)件(構(gòu)件圖、配置圖、分配類和構(gòu)件(構(gòu)件圖、配置圖) ) 。還還應(yīng)用偽代碼或者文字給出類的規(guī)約。應(yīng)用偽代碼或者文字給出類的規(guī)約。方法中執(zhí)行主要活動的描述。主要步驟是分析、方法中執(zhí)行主要活動的描述。主要步驟是分析、設(shè)計(jì)、實(shí)現(xiàn)及測試。設(shè)計(jì)、實(shí)現(xiàn)及測試。需求分析需求分析設(shè)計(jì)設(shè)計(jì)實(shí)現(xiàn)實(shí)現(xiàn)測試測試實(shí)現(xiàn)活動實(shí)際上就是編寫程序?qū)崿F(xiàn)活動實(shí)際上就是編寫程序代碼,包括反復(fù)的編譯、連結(jié)、排代碼,包括反復(fù)的編譯、連結(jié)、排錯等。錯等。并應(yīng)遵循傳統(tǒng)的編程準(zhǔn)則。并應(yīng)遵循傳統(tǒng)的編程準(zhǔn)則。方法中執(zhí)行主要

15、活動的描述。主要步驟是分析、方法中執(zhí)行主要活動的描述。主要步驟是分析、設(shè)計(jì)、實(shí)現(xiàn)及測試。設(shè)計(jì)、實(shí)現(xiàn)及測試。需求分析需求分析設(shè)計(jì)設(shè)計(jì)實(shí)現(xiàn)實(shí)現(xiàn)測試測試測試的目的是發(fā)現(xiàn)代碼中的錯誤,測試測試的目的是發(fā)現(xiàn)代碼中的錯誤,測試的關(guān)鍵是確定高效的測試用例。測試的主要的關(guān)鍵是確定高效的測試用例。測試的主要步驟有:步驟有:、面向?qū)ο蟮膯卧獪y試、面向?qū)ο蟮膯卧獪y試測試測試為封裝的類和對象,但不能孤為封裝的類和對象,但不能孤立地測試單個操作,應(yīng)把操作作為類的一部立地測試單個操作,應(yīng)把操作作為類的一部分來測試。分來測試。、面向?qū)ο蟮募蓽y試、面向?qū)ο蟮募蓽y試集成測試的策略有:集成測試的策略有:基于線程的測試基于線程

16、的測試(Thread-based testing)(Thread-based testing)基于使用的測試基于使用的測試(Use-based testing)(Use-based testing) 3、面向?qū)ο蟮拇_認(rèn)測試面向?qū)ο蟮拇_認(rèn)測試類似傳統(tǒng)的確認(rèn)測試和系統(tǒng)測試,根據(jù)類似傳統(tǒng)的確認(rèn)測試和系統(tǒng)測試,根據(jù)動態(tài)模型和描述系統(tǒng)行為的腳本來設(shè)計(jì)測試動態(tài)模型和描述系統(tǒng)行為的腳本來設(shè)計(jì)測試用例,可用黑盒法。用例,可用黑盒法。體系結(jié)構(gòu)建模(體系結(jié)構(gòu)建模(architecture modeling)首先要建立首先要建立基本的模型,并將該模型映射到軟硬件單元上。本節(jié)討論基本的模型,并將該模型映射到軟硬件單元

17、上。本節(jié)討論用用UML為系統(tǒng)體系結(jié)構(gòu)建模。為系統(tǒng)體系結(jié)構(gòu)建模。體系結(jié)構(gòu)概括了整體系統(tǒng)結(jié)構(gòu)、功能部件分解、部件體系結(jié)構(gòu)概括了整體系統(tǒng)結(jié)構(gòu)、功能部件分解、部件的本質(zhì)和特性、部件的界面、部件之間的通訊協(xié)議和整體的本質(zhì)和特性、部件的界面、部件之間的通訊協(xié)議和整體性布局策略及法則。性布局策略及法則。面向?qū)ο蟮捏w系結(jié)構(gòu)與傳統(tǒng)的體系結(jié)構(gòu)不同,它強(qiáng)調(diào)面向?qū)ο蟮捏w系結(jié)構(gòu)與傳統(tǒng)的體系結(jié)構(gòu)不同,它強(qiáng)調(diào)的是分布式對象的分配、部件及其界面、持久對象和面向的是分布式對象的分配、部件及其界面、持久對象和面向?qū)ο笸ㄓ嵎椒āο笸ㄓ嵎椒?。在設(shè)計(jì)階段要解決在設(shè)計(jì)階段要解決“如何做如何做”的問題,首先要解決高的問題,首先要解決高層

18、問題的決策,再逐步細(xì)化。系統(tǒng)設(shè)計(jì)是解決如何做的第層問題的決策,再逐步細(xì)化。系統(tǒng)設(shè)計(jì)是解決如何做的第一步,系統(tǒng)設(shè)計(jì)階段的主要任務(wù)有:一步,系統(tǒng)設(shè)計(jì)階段的主要任務(wù)有:、將系統(tǒng)分解為子系統(tǒng);、將系統(tǒng)分解為子系統(tǒng);、識別問題中固有的并發(fā)性;、識別問題中固有的并發(fā)性;、把子系統(tǒng)分配給處理器和子任務(wù);、把子系統(tǒng)分配給處理器和子任務(wù);、選擇數(shù)據(jù)存儲管理的方法;、選擇數(shù)據(jù)存儲管理的方法;、處理訪問全局資源;、處理訪問全局資源;、選擇軟件中的控制實(shí)現(xiàn);、選擇軟件中的控制實(shí)現(xiàn);、處理邊界條件;、處理邊界條件;、設(shè)置權(quán)衡的優(yōu)先權(quán)。、設(shè)置權(quán)衡的優(yōu)先權(quán)。顯然,系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)與程序設(shè)計(jì)之間沒有絕對的界限。顯然,系統(tǒng)體系

19、結(jié)構(gòu)設(shè)計(jì)與程序設(shè)計(jì)之間沒有絕對的界限。1、用包圖或構(gòu)件圖描述的靜態(tài)結(jié)構(gòu)、用包圖或構(gòu)件圖描述的靜態(tài)結(jié)構(gòu)2、基于配置圖的軟件體系結(jié)構(gòu)、基于配置圖的軟件體系結(jié)構(gòu)3、基于模式的軟件體系結(jié)構(gòu)、基于模式的軟件體系結(jié)構(gòu)從一般意義上說,體系結(jié)構(gòu)包括兩個層面,即硬件體從一般意義上說,體系結(jié)構(gòu)包括兩個層面,即硬件體系結(jié)構(gòu)和軟件體系結(jié)構(gòu)。系結(jié)構(gòu)和軟件體系結(jié)構(gòu)。硬件體系結(jié)構(gòu)指系統(tǒng)的硬件組織模式;而軟件體系結(jié)硬件體系結(jié)構(gòu)指系統(tǒng)的硬件組織模式;而軟件體系結(jié)構(gòu)則描述軟件的組織模式。這里我們主要關(guān)注軟件體系結(jié)構(gòu)則描述軟件的組織模式。這里我們主要關(guān)注軟件體系結(jié)構(gòu)的問題。構(gòu)的問題。子系統(tǒng)的分解可以有分層和分塊子系統(tǒng)的分解可以有分

20、層和分塊分層:將軟件系統(tǒng)組織為層次結(jié)構(gòu),每層是一個子系統(tǒng)。分分層:將軟件系統(tǒng)組織為層次結(jié)構(gòu),每層是一個子系統(tǒng)。分層結(jié)構(gòu)又分為封閉式和開放式。層結(jié)構(gòu)又分為封閉式和開放式。分塊:垂直分塊是將系統(tǒng)分解為若干個相對獨(dú)立的、弱耦合分塊:垂直分塊是將系統(tǒng)分解為若干個相對獨(dú)立的、弱耦合的子系統(tǒng)。每個子系統(tǒng)相當(dāng)于一個塊,每塊實(shí)現(xiàn)一類服務(wù)。的子系統(tǒng)。每個子系統(tǒng)相當(dāng)于一個塊,每塊實(shí)現(xiàn)一類服務(wù)。常常使用分層和分塊的混合結(jié)構(gòu),如圖所示:常常使用分層和分塊的混合結(jié)構(gòu),如圖所示:應(yīng)用程序包應(yīng)用程序包人人機(jī)機(jī)對話控制對話控制窗口圖形窗口圖形仿真程序包仿真程序包屏幕圖形屏幕圖形點(diǎn)陣圖形點(diǎn)陣圖形操作系統(tǒng)操作系統(tǒng)計(jì)算機(jī)硬件計(jì)算機(jī)

21、硬件,包由關(guān)系密切的一組模型元,包由關(guān)系密切的一組模型元素構(gòu)成,包還可以由其它包構(gòu)成(嵌套)。下圖描述了體系結(jié)素構(gòu)成,包還可以由其它包構(gòu)成(嵌套)。下圖描述了體系結(jié)構(gòu)的包圖。構(gòu)的包圖。表示表示領(lǐng)領(lǐng) 域域服服 務(wù)務(wù)數(shù)據(jù)庫數(shù)據(jù)庫表示層表示層應(yīng)用邏輯層應(yīng)用邏輯層存儲層存儲層UML包表達(dá)的體系結(jié)構(gòu)單元包圖是維護(hù)和控制系統(tǒng)總體結(jié)包圖是維護(hù)和控制系統(tǒng)總體結(jié)構(gòu)的重要建模工具。構(gòu)的重要建模工具。、應(yīng)用包圖要解決的問題、應(yīng)用包圖要解決的問題應(yīng)將概念或語義相近的模型元素應(yīng)將概念或語義相近的模型元素(對對象類象類)納入一個包。即包具有高內(nèi)聚性,納入一個包。即包具有高內(nèi)聚性,包中的類具有功能相關(guān)性。包中的類具有功能相

22、關(guān)性。包之間的聯(lián)系有兩種:依賴和泛化。包之間的聯(lián)系有兩種:依賴和泛化。包之間的依賴關(guān)系,最常用的是輸入依賴關(guān)系包之間的依賴關(guān)系,最常用的是輸入依賴關(guān)系Import 、 Access ,兩者之間區(qū)別是后者不把目標(biāo)包內(nèi)容加到源包的兩者之間區(qū)別是后者不把目標(biāo)包內(nèi)容加到源包的名字空間。名字空間。信息管理系統(tǒng)的包圖用戶接口用戶接口業(yè)務(wù)業(yè)務(wù)通信通信數(shù)據(jù)庫數(shù)據(jù)庫文件處理文件處理報表處理報表處理例行程序例行程序本包含業(yè)務(wù)相本包含業(yè)務(wù)相關(guān)核心對象類關(guān)核心對象類+訂貨規(guī)則訂貨規(guī)則-GUI:窗口窗口策略策略+訂貨單訂貨單+追蹤表追蹤表-訂貨訂貨 客戶機(jī)客戶機(jī)+數(shù)據(jù)庫數(shù)據(jù)庫+登錄服務(wù)登錄服務(wù)服務(wù)器服務(wù)器GUI+窗口窗

23、口+表格表格#事件處理事件處理 importimport包的輸入依賴關(guān)系二、用配置圖描述系統(tǒng)結(jié)構(gòu)二、用配置圖描述系統(tǒng)結(jié)構(gòu)配置圖是一個構(gòu)架,用來詳細(xì)說明技術(shù)單元和它們之間的配置圖是一個構(gòu)架,用來詳細(xì)說明技術(shù)單元和它們之間的鏈接。又可分為硬件環(huán)境的配置圖和軟件環(huán)境的配置圖。鏈接。又可分為硬件環(huán)境的配置圖和軟件環(huán)境的配置圖。UserStation:PersonalComputerdeptServer:FileserveropStation:WorkStationcorpServer:MainFrameONE DESKTOPONE DEPARTMENTTHE CORPORATIONinterDeptL

24、ink:LANdeptCorpLink:TCP/IPopCorpLink:TCP/IP1.*1.*1.*11111三層C/S商業(yè)系統(tǒng)的配置圖并不是所有的系統(tǒng)都需要建立配置圖,一個單機(jī)系統(tǒng)只并不是所有的系統(tǒng)都需要建立配置圖,一個單機(jī)系統(tǒng)只需建立包圖或構(gòu)件圖就行了。配置圖主要用于在網(wǎng)絡(luò)環(huán)境下需建立包圖或構(gòu)件圖就行了。配置圖主要用于在網(wǎng)絡(luò)環(huán)境下運(yùn)行的分布式系統(tǒng)或嵌入式系統(tǒng)的建模。運(yùn)行的分布式系統(tǒng)或嵌入式系統(tǒng)的建模。數(shù)據(jù)庫服務(wù)器數(shù)據(jù)庫服務(wù)器DB:數(shù)據(jù)庫數(shù)據(jù)庫打印機(jī)打印機(jī)打印機(jī)打印機(jī) 應(yīng)用應(yīng)用服務(wù)器服務(wù)器 系統(tǒng)管理系統(tǒng)管理 (執(zhí)行碼)(執(zhí)行碼) 通用應(yīng)用通用應(yīng)用 (執(zhí)行碼)(執(zhí)行碼) 資源管理資源管理桌

25、面桌面客戶客戶 資源管理資源管理 (執(zhí)行碼(執(zhí)行碼) 項(xiàng)目管理項(xiàng)目管理桌面桌面客戶客戶 項(xiàng)目管理項(xiàng)目管理 (執(zhí)行碼)(執(zhí)行碼)項(xiàng)目與資源管理系統(tǒng)的配置圖三、用構(gòu)件圖來描述系統(tǒng)軟件環(huán)境的配置三、用構(gòu)件圖來描述系統(tǒng)軟件環(huán)境的配置 image.java構(gòu)件圖又稱為組件圖,組件(構(gòu)件圖又稱為組件圖,組件(Component)是系統(tǒng)的物理是系統(tǒng)的物理可替換的單位,代表系統(tǒng)的一個物理組件及其聯(lián)系,表達(dá)的是可替換的單位,代表系統(tǒng)的一個物理組件及其聯(lián)系,表達(dá)的是系統(tǒng)代碼本身的結(jié)構(gòu)。系統(tǒng)代碼本身的結(jié)構(gòu)。 Mailer +Mailbox +RoutingList MailQueue 2、組件的實(shí)例組件的實(shí)例表示運(yùn)

26、行期間可執(zhí)行的軟件模塊。只有可執(zhí)行的組件才表示運(yùn)行期間可執(zhí)行的軟件模塊。只有可執(zhí)行的組件才有實(shí)例。有實(shí)例。 mymailer: Mailer :Mailbox :RoutingList :MailQueue 、組件與類的異同、組件與類的異同相同:性質(zhì)的表示相同:性質(zhì)的表示法相同(如可見性),都有實(shí)例。法相同(如可見性),都有實(shí)例。不同:不同:組件表示物理的事物,類代表事物的邏輯抽象。組件表示物理的事物,類代表事物的邏輯抽象。組件可用于配置圖的節(jié)點(diǎn),而類不行。組件可用于配置圖的節(jié)點(diǎn),而類不行。、組件與包的異同、組件與包的異同相同:相同:都是分組的機(jī)制。都是分組的機(jī)制。不同:不同:一個組件表示一個

27、物理的代碼模塊,包可包含成組的一個組件表示一個物理的代碼模塊,包可包含成組的模型元素或物理的組件。模型元素或物理的組件。一個類可以出現(xiàn)在多個組件中,卻只能在一個包中定義。一個類可以出現(xiàn)在多個組件中,卻只能在一個包中定義。、組件之間的聯(lián)系、組件之間的聯(lián)系主要是依賴關(guān)系,是指一個組件的模型元素使用另外一個主要是依賴關(guān)系,是指一個組件的模型元素使用另外一個系統(tǒng)的模型元素。組件還可以通過接口實(shí)現(xiàn)依賴關(guān)系。系統(tǒng)的模型元素。組件還可以通過接口實(shí)現(xiàn)依賴關(guān)系。硬件體系結(jié)構(gòu)指系統(tǒng)的系統(tǒng)組織模式;而軟件體系結(jié)硬件體系結(jié)構(gòu)指系統(tǒng)的系統(tǒng)組織模式;而軟件體系結(jié)構(gòu)則描述軟件的組織模式。構(gòu)則描述軟件的組織模式。軟件體系結(jié)構(gòu)

28、的通用樣式又稱為軟件體系結(jié)構(gòu)的通用軟件體系結(jié)構(gòu)的通用樣式又稱為軟件體系結(jié)構(gòu)的通用模式。模式。什么是軟件體系結(jié)構(gòu)的通用模式?什么是軟件體系結(jié)構(gòu)的通用模式?設(shè)計(jì)模式設(shè)計(jì)模式(desing pattern),由一些更基本的成分構(gòu)成,由一些更基本的成分構(gòu)成,是進(jìn)行設(shè)計(jì)的是進(jìn)行設(shè)計(jì)的“磚頭磚頭”,可以用于同類的其它設(shè)計(jì),也稱為,可以用于同類的其它設(shè)計(jì),也稱為模型架構(gòu)模型架構(gòu)(model framework)。硬件體系結(jié)構(gòu)指系統(tǒng)的硬件組織模式;而軟件體系結(jié)構(gòu)則硬件體系結(jié)構(gòu)指系統(tǒng)的硬件組織模式;而軟件體系結(jié)構(gòu)則描述軟件的組織模式。這里我們主要關(guān)注軟件體系結(jié)構(gòu)的問題。描述軟件的組織模式。這里我們主要關(guān)注軟件體

29、系結(jié)構(gòu)的問題。什么是軟件體系結(jié)構(gòu)的通用模式?什么是軟件體系結(jié)構(gòu)的通用模式? pattern通常采用一組簡單的工程式樣標(biāo)記來構(gòu)造體系結(jié)構(gòu)圖通常采用一組簡單的工程式樣標(biāo)記來構(gòu)造體系結(jié)構(gòu)圖(architecture diagram),這組標(biāo)記是以這組標(biāo)記是以UML的的配置圖為配置圖為基礎(chǔ)的?;A(chǔ)的。 配置圖由多個結(jié)點(diǎn)(配置圖由多個結(jié)點(diǎn)(node),連接器(連接器(connector)構(gòu)成。構(gòu)成。Client Node(客戶機(jī)結(jié)點(diǎn)客戶機(jī)結(jié)點(diǎn))Server Node(服務(wù)器服務(wù)器結(jié)點(diǎn)結(jié)點(diǎn)) ComponentA流程處理系統(tǒng)(流程處理系統(tǒng)(procedural processing system)以算法、

30、以算法、數(shù)據(jù)結(jié)構(gòu)為中心,按照數(shù)據(jù)結(jié)構(gòu)為中心,按照-過程進(jìn)行處理。過程進(jìn)行處理。流程處理系統(tǒng)流程處理系統(tǒng)User Inteface/Controller(用戶界面控制器)用戶界面控制器)System Services(系統(tǒng)服務(wù))系統(tǒng)服務(wù)) 預(yù)處理器預(yù)處理器1 解題器解題器2 后處理器后處理器3 系統(tǒng)的主要特色是:系統(tǒng)的主要特色是:三三個個處理部件之間是單處理部件之間是單向連接的,可能安裝在向連接的,可能安裝在不同的電腦上。不同的電腦上。優(yōu)點(diǎn):優(yōu)點(diǎn):系統(tǒng)由各處理部件簡單組合,易于擴(kuò)充。處理部件系統(tǒng)由各處理部件簡單組合,易于擴(kuò)充。處理部件易于復(fù)用。該結(jié)構(gòu)適合于大規(guī)模并行計(jì)算,解決復(fù)雜的工程技易于復(fù)用

31、。該結(jié)構(gòu)適合于大規(guī)模并行計(jì)算,解決復(fù)雜的工程技術(shù)問題。術(shù)問題。限制:限制:主要以批處理方式執(zhí)行,不適合交互方式。不易管主要以批處理方式執(zhí)行,不適合交互方式。不易管理大量的不同格式的輸入、輸出數(shù)據(jù)。理大量的不同格式的輸入、輸出數(shù)據(jù)。 常用于數(shù)據(jù)與圖象、常用于數(shù)據(jù)與圖象、模擬、數(shù)值解等。模擬、數(shù)值解等。層層(layer),是一個部件或結(jié)點(diǎn)中的一組對象或函數(shù),共同是一個部件或結(jié)點(diǎn)中的一組對象或函數(shù),共同協(xié)作提供服務(wù)。如服務(wù)器中里層給外層提供服務(wù)。協(xié)作提供服務(wù)。如服務(wù)器中里層給外層提供服務(wù)。層狀體系結(jié)層狀體系結(jié)構(gòu)適用于應(yīng)用服務(wù)器、數(shù)據(jù)庫系統(tǒng)及操作系統(tǒng)等。構(gòu)適用于應(yīng)用服務(wù)器、數(shù)據(jù)庫系統(tǒng)及操作系統(tǒng)等。持久

32、服務(wù)持久服務(wù)核心函數(shù)核心函數(shù)界面函數(shù)界面函數(shù)界面函數(shù)界面函數(shù)核心函數(shù)核心函數(shù)持久服務(wù)持久服務(wù)1、按照功能層次劃分,可降低系統(tǒng)復(fù)雜度,使系統(tǒng)設(shè)、按照功能層次劃分,可降低系統(tǒng)復(fù)雜度,使系統(tǒng)設(shè) 計(jì)更加清晰。計(jì)更加清晰。2、內(nèi)層與外界隔離,可有效控制內(nèi)層的函數(shù)和服務(wù)。、內(nèi)層與外界隔離,可有效控制內(nèi)層的函數(shù)和服務(wù)。 、新的運(yùn)算及常用運(yùn)算(查詢)可在界面層中引入,、新的運(yùn)算及常用運(yùn)算(查詢)可在界面層中引入, 由內(nèi)層服務(wù)支持,可提高系統(tǒng)性能。由內(nèi)層服務(wù)支持,可提高系統(tǒng)性能。 、獨(dú)立的層,可以作為構(gòu)件或結(jié)點(diǎn)使用。、獨(dú)立的層,可以作為構(gòu)件或結(jié)點(diǎn)使用。:1、層數(shù)過多,系統(tǒng)性能下降。、層數(shù)過多,系統(tǒng)性能下降。 2

33、、標(biāo)準(zhǔn)化的層界面可能變得臃腫,使函數(shù)調(diào)用性能下、標(biāo)準(zhǔn)化的層界面可能變得臃腫,使函數(shù)調(diào)用性能下 降。降。層狀系統(tǒng)應(yīng)用層協(xié)議應(yīng)用層協(xié)議表示層協(xié)議表示層協(xié)議會晤層協(xié)議會晤層協(xié)議傳輸層協(xié)議傳輸層協(xié)議 物物 理理 介介 質(zhì)質(zhì)應(yīng)用層應(yīng)用層表示層表示層會晤層會晤層傳輸層傳輸層網(wǎng)絡(luò)層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層數(shù)據(jù)鏈路層物理層物理層應(yīng)用層應(yīng)用層表示層表示層會晤層會晤層傳輸層傳輸層網(wǎng)絡(luò)層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層數(shù)據(jù)鏈路層物理層物理層網(wǎng)絡(luò)層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層數(shù)據(jù)鏈路層物理層物理層網(wǎng)絡(luò)層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層數(shù)據(jù)鏈路層物理層物理層中繼系統(tǒng)中繼系統(tǒng) 中繼系統(tǒng)中繼系統(tǒng)主機(jī)系統(tǒng)主機(jī)系統(tǒng)主機(jī)系統(tǒng)主機(jī)系統(tǒng)Open System Interconnect

34、ion Reference Mode NOS依靠在各網(wǎng)絡(luò)層次上(依靠在各網(wǎng)絡(luò)層次上(OSI七層參考模型)的協(xié)七層參考模型)的協(xié)議實(shí)現(xiàn)通信。議實(shí)現(xiàn)通信。在在client/server模式下,客戶機(jī)負(fù)責(zé)用戶輸入和展示,服模式下,客戶機(jī)負(fù)責(zé)用戶輸入和展示,服務(wù)器處理低層的功能。務(wù)器處理低層的功能。客戶機(jī)客戶機(jī)/服務(wù)器系統(tǒng)服務(wù)器系統(tǒng)Client BClient CClient AClient DServer (服務(wù)器服務(wù)器)優(yōu)點(diǎn):優(yōu)點(diǎn):1、客戶機(jī)與服務(wù)器分離,、客戶機(jī)與服務(wù)器分離,兩者開發(fā)可同時進(jìn)行。兩者開發(fā)可同時進(jìn)行。2、一個服務(wù)器可服務(wù)于、一個服務(wù)器可服務(wù)于多個客戶機(jī)。多個客戶機(jī)。限制:限制:1、

35、客戶機(jī)與服務(wù)器的通信依賴于網(wǎng)絡(luò),可能出現(xiàn)網(wǎng)絡(luò)阻塞、客戶機(jī)與服務(wù)器的通信依賴于網(wǎng)絡(luò),可能出現(xiàn)網(wǎng)絡(luò)阻塞的瓶頸的瓶頸(bottleneck)現(xiàn)象?,F(xiàn)象。2、服務(wù)器及界面的改變將引起客戶機(jī)的相應(yīng)改變。、服務(wù)器及界面的改變將引起客戶機(jī)的相應(yīng)改變??蛻魴C(jī)/服務(wù)器系統(tǒng)、針對網(wǎng)絡(luò)瓶頸問題,盡量減少客戶機(jī)作遠(yuǎn)程調(diào)用,如、針對網(wǎng)絡(luò)瓶頸問題,盡量減少客戶機(jī)作遠(yuǎn)程調(diào)用,如把一組運(yùn)算組合起來,在一個遠(yuǎn)程調(diào)用中處理。把一組運(yùn)算組合起來,在一個遠(yuǎn)程調(diào)用中處理。、為了解決服務(wù)器的變動引起客戶機(jī)的改變,采用、為了解決服務(wù)器的變動引起客戶機(jī)的改變,采用“輕輕型客戶機(jī)型客戶機(jī)”(thin cilent)。如。如WebWeb瀏覽器瀏

36、覽器/ /服務(wù)器模式,簡稱服務(wù)器模式,簡稱B/S (Browser/ServerB/S (Browser/Server)模式模式。 它無需在不同的客戶機(jī)上安裝不同的客戶應(yīng)用程序,而只它無需在不同的客戶機(jī)上安裝不同的客戶應(yīng)用程序,而只需安裝通用的瀏覽器軟件。這樣不但可以節(jié)省客戶機(jī)的硬盤空需安裝通用的瀏覽器軟件。這樣不但可以節(jié)省客戶機(jī)的硬盤空間與內(nèi)存,而且使安裝過程更加簡便、網(wǎng)絡(luò)結(jié)構(gòu)更加靈活。間與內(nèi)存,而且使安裝過程更加簡便、網(wǎng)絡(luò)結(jié)構(gòu)更加靈活。簡化了系統(tǒng)的開發(fā)和維護(hù)。系統(tǒng)的開發(fā)者無須再為不同級簡化了系統(tǒng)的開發(fā)和維護(hù)。系統(tǒng)的開發(fā)者無須再為不同級別的用戶設(shè)計(jì)開發(fā)不同的客戶應(yīng)用程序了,只需把所有的功能別

37、的用戶設(shè)計(jì)開發(fā)不同的客戶應(yīng)用程序了,只需把所有的功能都實(shí)現(xiàn)在都實(shí)現(xiàn)在WebWeb服務(wù)器上,并就不同的功能為各個組別的用戶設(shè)服務(wù)器上,并就不同的功能為各個組別的用戶設(shè)置權(quán)限就可以了。置權(quán)限就可以了。 客戶(Client)服務(wù)器(Server)服務(wù)請求結(jié)果網(wǎng)絡(luò)典型的客戶/服務(wù)器(C/S)結(jié)構(gòu)數(shù)據(jù)庫DBMS應(yīng)用程序 從圖中可以看出,從圖中可以看出,C/SC/S結(jié)構(gòu)是一種發(fā)請求、得結(jié)果的模結(jié)構(gòu)是一種發(fā)請求、得結(jié)果的模式:客戶機(jī)向服務(wù)器發(fā)出請求(數(shù)據(jù)請求、網(wǎng)頁請求、文件式:客戶機(jī)向服務(wù)器發(fā)出請求(數(shù)據(jù)請求、網(wǎng)頁請求、文件傳輸請求等等),服務(wù)器響應(yīng)這些請求,進(jìn)行相應(yīng)的操作,傳輸請求等等),服務(wù)器響應(yīng)這些請求,進(jìn)行相應(yīng)的操作,將得到的結(jié)果回傳給客戶機(jī),客戶機(jī)再將格式化后的結(jié)果呈將得到的結(jié)果回傳給客戶機(jī),客戶機(jī)再將格式化后的結(jié)果呈現(xiàn)在最終用戶的眼前。很明顯地,客戶機(jī)、服務(wù)器都必須遵現(xiàn)在最終用戶的眼前。很明顯地,客戶機(jī)、服務(wù)器都必須遵循相同的通信協(xié)議。在這里,客戶機(jī)和服務(wù)器都是純軟件的循相同的通信協(xié)議。在這里,客戶機(jī)和服務(wù)器都

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論