




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第七章
系統(tǒng)體系結(jié)構(gòu)建模實現(xiàn)模型描述了系統(tǒng)實現(xiàn)時的一些特性,又稱為物理體系結(jié)構(gòu)建模。包括源代碼的靜態(tài)結(jié)構(gòu)和運行時刻的實現(xiàn)結(jié)構(gòu)。實現(xiàn)模型包括:構(gòu)件圖(Componentdiagram)
顯示代碼本身的邏輯結(jié)構(gòu),它描述系統(tǒng)中存在的軟構(gòu)件以及它們之間的依賴關(guān)系。構(gòu)件圖的元素有構(gòu)件,依賴關(guān)系和界面。配置圖(Deploymentdiagram)描述了系統(tǒng)中硬件和軟件的物理配置情況和系統(tǒng)體系結(jié)構(gòu)。顯示系統(tǒng)運行時刻的結(jié)構(gòu),配置圖中的簡單結(jié)點是指實際的物理設(shè)備以及在該結(jié)點上運行構(gòu)件或?qū)ο?。配置圖還描述結(jié)點之間的連接以及通信類型。2022/11/151UML系統(tǒng)建模與分析設(shè)計第七章系統(tǒng)體系結(jié)構(gòu)建模實現(xiàn)模型描述了系統(tǒng)實現(xiàn)時的一些特性了解軟、硬件系統(tǒng)體系結(jié)構(gòu)模型的建模方法與步驟掌握UML中構(gòu)件、構(gòu)件接口和構(gòu)件模型圖的描述方法掌握UML中配置圖的描述方法掌握配置圖中結(jié)點、構(gòu)件和對象之間的關(guān)系本章目的:第七章
系統(tǒng)體系結(jié)構(gòu)建模2022/11/152UML系統(tǒng)建模與分析設(shè)計了解軟、硬件系統(tǒng)體系結(jié)構(gòu)模型的建模方法與步驟本章目的:第七章
構(gòu)件(component)
構(gòu)件定義:系統(tǒng)中遵從一組接口且提供其實現(xiàn)的物理的、可替換的部分。對系統(tǒng)的物理方面建模時,它是一個重要的構(gòu)造塊。若構(gòu)件的定義良好,該構(gòu)件不直接依賴于構(gòu)件的所支持的接口,在這種情況下,系統(tǒng)中的一個構(gòu)件可以被支持正確接口的其他構(gòu)件所替代。構(gòu)件圖符是一個矩形框。 構(gòu)件對外提供的可見操作和屬性稱為構(gòu)件的界面。界面的圖符是一個小圓圈。用一條連線將構(gòu)件與圓圈連起來。7.1構(gòu)件圖
圖形庫
(graphic.dll)2022/11/153UML系統(tǒng)建模與分析設(shè)計構(gòu)件(component)
構(gòu)件定義:系統(tǒng)中遵從一組2022/11/154UML系統(tǒng)建模與分析設(shè)計2022/11/124UML系統(tǒng)建模與分析設(shè)計
構(gòu)件可以看作包與類對應(yīng)的物理代碼模塊,邏輯上與包,類對應(yīng),實際上是一個文件,可以有下列幾種類型的構(gòu)件:
1)
源代碼構(gòu)件;
2)
二進(jìn)制構(gòu)件;
3)
可執(zhí)行構(gòu)件 構(gòu)件圖符是一個矩形框。 構(gòu)件對外提供的可見操作和屬性稱為構(gòu)件的界面。界面的圖符是一個小圓圈。用一條連線將構(gòu)件與圓圈連起來。 構(gòu)件之間的依賴關(guān)系是指結(jié)構(gòu)之間在編譯,連接或執(zhí)行時的依賴關(guān)系。用虛線箭頭表示。 2022/11/155UML系統(tǒng)建模與分析設(shè)計 構(gòu)件可以看作包與類對應(yīng)的物理代碼模塊,邏輯上與包,類對應(yīng),窗口控制(whnd.cpp)通信控制
(comhnd.cpp)主控模塊
(main.cpp)窗口控制
(whnd.obj)通訊控制
(comhnd.obj)主控模塊(main.obj)圖形庫
(graphic.dll)客戶程序
(client.exe)構(gòu)件圖實例構(gòu)件關(guān)系2022/11/156UML系統(tǒng)建模與分析設(shè)計窗口控制通信控制主控模塊窗口控制
Circle.obj類
Circle.cpp
Main類
Main.obj
Main類
Main.cpp圖形庫
Graphic.dll
Square類
Square.cpp
Square類
Square.obj
Circle類
Circle.obj可執(zhí)行程序
Main.exe2022/11/157UML系統(tǒng)建模與分析設(shè)計Circle.obj類Main類開發(fā)期的依賴(Development–timeDependency)
是指在編譯階段和連接階段,組件之間的依賴關(guān)系。調(diào)用依賴(CallDependency)
是指一個組件調(diào)用或使用另外一個組件服務(wù)。組件的依賴關(guān)系又分為:開發(fā)期的依賴和調(diào)用依賴。
業(yè)務(wù)
(源碼)
項目管理
(源碼)
項目管理
(對象)
項目管理
(執(zhí)行碼)
系統(tǒng)管理
(源碼)資源管理
(源碼)資源管理
(對象)資源管理
(執(zhí)行碼)
系統(tǒng)管理
(對象)系統(tǒng)管理
(執(zhí)行碼)2022/11/158UML系統(tǒng)建模與分析設(shè)計開發(fā)期的依賴(Development–timeDepe7.2配置圖配置圖用來描述系統(tǒng)硬件的物理拓?fù)浣Y(jié)構(gòu)以及在此結(jié)構(gòu)上執(zhí)行的軟件,即系統(tǒng)運行時刻的結(jié)構(gòu)。配置圖可以顯示計算機(jī)結(jié)點的拓?fù)浣Y(jié)構(gòu)和通信路徑,結(jié)點上執(zhí)行的軟構(gòu)件,軟構(gòu)件包含的邏輯單元等,特別對于分布式系統(tǒng),配置圖可以清楚的描述系統(tǒng)中硬件設(shè)備的配置,通信以及在各硬件設(shè)備上各種軟構(gòu)件和對象的配置。因此,配置圖是描述任何基于計算機(jī)的應(yīng)用系統(tǒng)的物理配置或邏輯配置的有力工具,配置圖的元素有結(jié)點和連接。配置圖中的結(jié)點代表某種計算機(jī)構(gòu)件,通常是某種硬件。同時結(jié)點還包括在其上運行的軟構(gòu)件,軟構(gòu)件代表可執(zhí)行的物理代碼模塊。如一個可執(zhí)行程序。結(jié)點的圖符是一個立方體。 2022/11/159UML系統(tǒng)建模與分析設(shè)計7.2配置圖配置圖用來描述系統(tǒng)硬件的物理拓?fù)浣Y(jié)構(gòu)以及保險單填寫界面保險系統(tǒng)保險數(shù)據(jù)庫保險政策保險用戶客戶PC《TCP/IP>保險服務(wù)器保險系統(tǒng)配置配置保險系統(tǒng)的配置圖配置圖各結(jié)點之間進(jìn)行交互的通信路徑稱為連接,連接表示系統(tǒng)中的結(jié)點存在著聯(lián)系,用結(jié)點之間的的連線表示連接,在連接的連線上要標(biāo)注通信類型。2022/11/1510UML系統(tǒng)建模與分析設(shè)計保險單保險系統(tǒng)保險數(shù)據(jù)庫保險政策保險用戶客戶PC《TCP/醫(yī)院診療系統(tǒng)的配置圖醫(yī)院診療系統(tǒng)的配置圖(C/S):ObjectDatabase:HealthCareDomainDatabaseUnitServer(數(shù)據(jù)庫服務(wù)器)aWindowsPC(客戶機(jī)):ObjectDatabase:HealthCareDomainHeartUnitServer(心血管病服務(wù)器):ConfigureKnowledge:ConfigureusersHeartUnitConfiguration《Communication》TCP/IPTCP/IP:HeartUnitUI:HeartUnitClientFacade:HeartUnitServerApplication2022/11/1511UML系統(tǒng)建模與分析設(shè)計醫(yī)院診療系統(tǒng)的配置圖醫(yī)院診療系統(tǒng)的配置圖(C/S):Obje7.3
使用UML的過程
UML給出了面向?qū)ο蠼5姆柋硎竞鸵?guī)則,但未給出使用的過程和方法,因此,需要有使用UML的過程。過程描述做什么、怎么做、何時做及為什么做,即描述一組特定次序的活動。1UML過程的基礎(chǔ)使用UML過程的基本特征是:用例驅(qū)動,以體系結(jié)構(gòu)為中心,反復(fù),漸增式。(1)、用例驅(qū)動的系統(tǒng)用例包含了功能描述,它們將影響后面所有階段及視圖。2022/11/1512UML系統(tǒng)建模與分析設(shè)計7.3使用UML的過程UML給出了面向?qū)ο蠼5姆?/p>
用例對各階段及視圖的影響需求用例分析設(shè)計實現(xiàn)測試用例視圖構(gòu)件視圖部署視圖邏輯視圖并發(fā)視圖2022/11/1513UML系統(tǒng)建模與分析設(shè)計用例對各階段及視圖的影響需求用例分析設(shè)計實現(xiàn)測試用例視圖構(gòu)(2)、以體系結(jié)構(gòu)為中心在開發(fā)的早期建立基礎(chǔ)的體系結(jié)構(gòu)(原型)是十分重要的,進(jìn)一步對原型進(jìn)行精化,建立一個易于修改、易理解和允許復(fù)用的系統(tǒng)。主要工作是在邏輯上將系統(tǒng)劃分為若干個子系統(tǒng)(UML包)。(3)、反復(fù)
UML的建模型過程要經(jīng)過若干次的反復(fù)。(4)、漸增式漸增式開發(fā)是在多次反復(fù)迭代的過程中,每次增加一些功能(或用例)的開發(fā),每次迭代都包含了分析、設(shè)計、實現(xiàn)和測試。2022/11/1514UML系統(tǒng)建模與分析設(shè)計(2)、以體系結(jié)構(gòu)為中心在開發(fā)的早期建立基礎(chǔ)的體系結(jié)構(gòu)7.4面向?qū)ο蟮拈_發(fā)方法的一般過程
OO方法中執(zhí)行主要活動的描述。主要步驟是分析、設(shè)計、實現(xiàn)及測試。需求分析設(shè)計實現(xiàn)測試OO方法的步驟2022/11/1515UML系統(tǒng)建模與分析設(shè)計7.4面向?qū)ο蟮拈_發(fā)方法的一般過程OO方法中執(zhí)行主要
OO方法中執(zhí)行主要活動的描述。主要步驟是分析、設(shè)計、實現(xiàn)及測試。需求分析設(shè)計實現(xiàn)測試獲取需求,建立需求模型。分析的典型活動:
1、獲取領(lǐng)域知識;2、定義系統(tǒng)功能(用例圖);
3、確定合適的類;
4、建立類的靜態(tài)模型(類圖);
5、描述對象的動態(tài)行為(狀態(tài)圖、協(xié)作圖、時序圖、活動圖);
6、驗證(專家對模型作靜態(tài)驗證);
7、給出基本的用戶界面原型(整體結(jié)構(gòu)的原型:主窗口的內(nèi)容、窗口之間的導(dǎo)航等)。2022/11/1516UML系統(tǒng)建模與分析設(shè)計OO方法中執(zhí)行主要活動的描述。主要步驟是分析、設(shè)計、實現(xiàn)
OO方法中執(zhí)行主要活動的描述。主要步驟是分析、設(shè)計、實現(xiàn)及測試。需求分析設(shè)計實現(xiàn)測試
設(shè)計是分析結(jié)果在技術(shù)上的擴(kuò)充和修改,重點是如何實現(xiàn)該系統(tǒng)。設(shè)計中的典型活動:1、將分析所得的類劃分為功能包,并從技術(shù)層面(用戶界面、數(shù)據(jù)庫處理、通信等)增加新包,建立包之間的通信聯(lián)系。2、標(biāo)識并發(fā)需求并建模。3、指出系統(tǒng)輸出的詳細(xì)格式:如用戶界面,報告,向其它系統(tǒng)發(fā)送的事務(wù)等。4、數(shù)據(jù)管理(建立類與表單的對應(yīng)關(guān)系,對數(shù)據(jù)庫的訪問機(jī)制)。5、異常處理6、分配類和構(gòu)件(構(gòu)件圖、配置圖)。還應(yīng)用偽代碼或者文字給出類的規(guī)約。2022/11/1517UML系統(tǒng)建模與分析設(shè)計OO方法中執(zhí)行主要活動的描述。主要步驟是分析、設(shè)計、實現(xiàn)
OO方法中執(zhí)行主要活動的描述。主要步驟是分析、設(shè)計、實現(xiàn)及測試。需求分析設(shè)計實現(xiàn)測試實現(xiàn)活動實際上就是編寫程序代碼,包括反復(fù)的編譯、連結(jié)、排錯等。并應(yīng)遵循傳統(tǒng)的編程準(zhǔn)則。
2022/11/1518UML系統(tǒng)建模與分析設(shè)計OO方法中執(zhí)行主要活動的描述。主要步驟是分析、設(shè)計、實現(xiàn)
OO方法中執(zhí)行主要活動的描述。主要步驟是分析、設(shè)計、實現(xiàn)及測試。需求分析設(shè)計實現(xiàn)測試測試的目的是發(fā)現(xiàn)代碼中的錯誤,測試的關(guān)鍵是確定高效的測試用例。測試的主要步驟有:1、面向?qū)ο蟮膯卧獪y試測試單元為封裝的類和對象,但不能孤立地測試單個操作,應(yīng)把操作作為類的一部分來測試。2、面向?qū)ο蟮募蓽y試集成測試的策略有:①基于線程的測試(Thread-basedtesting)②基于使用的測試(Use-basedtesting)
3、面向?qū)ο蟮拇_認(rèn)測試類似傳統(tǒng)的確認(rèn)測試和系統(tǒng)測試,根據(jù)動態(tài)模型和描述系統(tǒng)行為的腳本來設(shè)計測試用例,可用黑盒法。2022/11/1519UML系統(tǒng)建模與分析設(shè)計OO方法中執(zhí)行主要活動的描述。主要步驟是分析、設(shè)計、實現(xiàn)體系結(jié)構(gòu)建模(architecturemodeling)首先要建立基本的模型,并將該模型映射到軟硬件單元上。本節(jié)討論用UML為系統(tǒng)體系結(jié)構(gòu)建模。體系結(jié)構(gòu)概括了整體系統(tǒng)結(jié)構(gòu)、功能部件分解、部件的本質(zhì)和特性、部件的界面、部件之間的通訊協(xié)議和整體性布局策略及法則。面向?qū)ο蟮捏w系結(jié)構(gòu)與傳統(tǒng)的體系結(jié)構(gòu)不同,它強(qiáng)調(diào)的是分布式對象的分配、部件及其界面、持久對象和面向?qū)ο笸ㄓ嵎椒ā?.5面向?qū)ο蟮捏w系結(jié)構(gòu)2022/11/1520UML系統(tǒng)建模與分析設(shè)計體系結(jié)構(gòu)建模(architecturemodeling
在設(shè)計階段要解決“如何做”的問題,首先要解決高層問題的決策,再逐步細(xì)化。系統(tǒng)設(shè)計是解決如何做的第一步,系統(tǒng)設(shè)計階段的主要任務(wù)有:1、將系統(tǒng)分解為子系統(tǒng);2、識別問題中固有的并發(fā)性;3、把子系統(tǒng)分配給處理器和子任務(wù);4、選擇數(shù)據(jù)存儲管理的方法;5、處理訪問全局資源;6、選擇軟件中的控制實現(xiàn);7、處理邊界條件;8、設(shè)置權(quán)衡的優(yōu)先權(quán)。顯然,系統(tǒng)體系結(jié)構(gòu)設(shè)計與程序設(shè)計之間沒有絕對的界限。1系統(tǒng)設(shè)計的任務(wù)2022/11/1521UML系統(tǒng)建模與分析設(shè)計在設(shè)計階段要解決“如何做”的問題,首先要解決高層問題的決1、用包圖或構(gòu)件圖描述的靜態(tài)結(jié)構(gòu)2、基于配置圖的軟件體系結(jié)構(gòu)3、基于模式的軟件體系結(jié)構(gòu)從一般意義上說,體系結(jié)構(gòu)包括兩個層面,即硬件體系結(jié)構(gòu)和軟件體系結(jié)構(gòu)。硬件體系結(jié)構(gòu)指系統(tǒng)的硬件組織模式;而軟件體系結(jié)構(gòu)則描述軟件的組織模式。這里我們主要關(guān)注軟件體系結(jié)構(gòu)的問題。2UML體系結(jié)構(gòu)設(shè)計2022/11/1522UML系統(tǒng)建模與分析設(shè)計1、用包圖或構(gòu)件圖描述的靜態(tài)結(jié)構(gòu)從一般意義上說,體系結(jié)構(gòu)子系統(tǒng)的分解可以有分層和分塊分層:將軟件系統(tǒng)組織為層次結(jié)構(gòu),每層是一個子系統(tǒng)。分層結(jié)構(gòu)又分為封閉式和開放式。分塊:垂直分塊是將系統(tǒng)分解為若干個相對獨立的、弱耦合的子系統(tǒng)。每個子系統(tǒng)相當(dāng)于一個塊,每塊實現(xiàn)一類服務(wù)。常常使用分層和分塊的混合結(jié)構(gòu),如圖所示:將系統(tǒng)分解為子系統(tǒng)應(yīng)用程序包人機(jī)對話控制窗口圖形仿真程序包屏幕圖形點陣圖形操作系統(tǒng)計算機(jī)硬件2022/11/1523UML系統(tǒng)建模與分析設(shè)計子系統(tǒng)的分解可以有分層和分塊將系統(tǒng)分解為子系統(tǒng)應(yīng)用程序包描述系統(tǒng)的體系結(jié)構(gòu)一、用包圖進(jìn)行系統(tǒng)建模
1、包是系統(tǒng)的一種分組機(jī)制,包由關(guān)系密切的一組模型元素構(gòu)成,包還可以由其它包構(gòu)成(嵌套)。下圖描述了體系結(jié)構(gòu)的包圖。表示領(lǐng)域服務(wù)數(shù)據(jù)庫表示層應(yīng)用邏輯層存儲層UML包表達(dá)的體系結(jié)構(gòu)單元包圖是維護(hù)和控制系統(tǒng)總體結(jié)構(gòu)的重要建模工具。
2、應(yīng)用包圖要解決的問題⑴如何組織包?應(yīng)將概念或語義相近的模型元素(對象類)納入一個包。即包具有高內(nèi)聚性,包中的類具有功能相關(guān)性。⑵如何確定包之間的關(guān)系?包之間的聯(lián)系有兩種:依賴和泛化。2022/11/1524UML系統(tǒng)建模與分析設(shè)計描述系統(tǒng)的體系結(jié)構(gòu)一、用包圖進(jìn)行系統(tǒng)建模1、包是系統(tǒng)的一種包之間的依賴關(guān)系,最常用的是輸入依賴關(guān)系《Import》、《Access》,兩者之間區(qū)別是后者不把目標(biāo)包內(nèi)容加到源包的名字空間。信息管理系統(tǒng)的包圖用戶接口業(yè)務(wù)通信數(shù)據(jù)庫文件處理報表處理例行程序本包含業(yè)務(wù)相關(guān)核心對象類+訂貨規(guī)則-GUI::窗口策略+訂貨單+追蹤表-訂貨客戶機(jī)+數(shù)據(jù)庫+登錄服務(wù)服務(wù)器GUI+窗口+表格
#事件處理《import》《import》包的輸入依賴關(guān)系2022/11/1525UML系統(tǒng)建模與分析設(shè)計包之間的依賴關(guān)系,最常用的是輸入依賴關(guān)系《Import二、用配置圖描述系統(tǒng)結(jié)構(gòu)配置圖是一個構(gòu)架,用來詳細(xì)說明技術(shù)單元和它們之間的鏈接。又可分為硬件環(huán)境的配置圖和軟件環(huán)境的配置圖。三、設(shè)計樣式UserStation:PersonalComputerdeptServer:FileserveropStation:WorkStationcorpServer:MainFrameONEDESKTOPONEDEPARTMENTTHECORPORATIONinterDeptLink:LANdeptCorpLink:TCP/IPopCorpLink:TCP/IP1..*1..*1..*11111三層C/S商業(yè)系統(tǒng)的配置圖2022/11/1526UML系統(tǒng)建模與分析設(shè)計二、用配置圖描述系統(tǒng)結(jié)構(gòu)配置圖是一個構(gòu)架,用來詳細(xì)說明技
并不是所有的系統(tǒng)都需要建立配置圖,一個單機(jī)系統(tǒng)只需建立包圖或構(gòu)件圖就行了。配置圖主要用于在網(wǎng)絡(luò)環(huán)境下運行的分布式系統(tǒng)或嵌入式系統(tǒng)的建模。數(shù)據(jù)庫服務(wù)器DB:數(shù)據(jù)庫打印機(jī)打印機(jī)應(yīng)用服務(wù)器
系統(tǒng)管理(執(zhí)行碼)
通用應(yīng)用(執(zhí)行碼)資源管理桌面客戶
資源管理
(執(zhí)行碼)項目管理桌面客戶
項目管理
(執(zhí)行碼)項目與資源管理系統(tǒng)的配置圖2022/11/1527UML系統(tǒng)建模與分析設(shè)計并不是所有的系統(tǒng)都需要建立配置圖,一個單機(jī)系統(tǒng)只需建立三、用構(gòu)件圖來描述系統(tǒng)軟件環(huán)境的配置
image.java構(gòu)件圖又稱為組件圖,組件(Component)是系統(tǒng)的物理可替換的單位,代表系統(tǒng)的一個物理組件及其聯(lián)系,表達(dá)的是系統(tǒng)代碼本身的結(jié)構(gòu)。1、簡單組件與擴(kuò)充組件
Mailer+Mailbox+RoutingList
-MailQueue2、組件的實例
表示運行期間可執(zhí)行的軟件模塊。只有可執(zhí)行的組件才有實例。
mymailer:Mailer
:Mailbox
:RoutingList
:MailQueue
2022/11/1528UML系統(tǒng)建模與分析設(shè)計三、用構(gòu)件圖來描述系統(tǒng)軟件環(huán)境的配置image.java3、組件與類的異同相同:性質(zhì)的表示法相同(如可見性),都有實例。
不同:組件表示物理的事物,類代表事物的邏輯抽象。組件可用于配置圖的節(jié)點,而類不行。4、組件與包的異同
相同:都是分組的機(jī)制。不同:一個組件表示一個物理的代碼模塊,包可包含成組的模型元素或物理的組件。一個類可以出現(xiàn)在多個組件中,卻只能在一個包中定義。5、組件之間的聯(lián)系主要是依賴關(guān)系,是指一個組件的模型元素使用另外一個系統(tǒng)的模型元素。組件還可以通過接口實現(xiàn)依賴關(guān)系。2022/11/1529UML系統(tǒng)建模與分析設(shè)計3、組件與類的異同2022/11/1229UML系統(tǒng)建模與分硬件體系結(jié)構(gòu)指系統(tǒng)的系統(tǒng)組織模式;而軟件體系結(jié)構(gòu)則描述軟件的組織模式。軟件體系結(jié)構(gòu)的通用樣式又稱為軟件體系結(jié)構(gòu)的通用模式。什么是軟件體系結(jié)構(gòu)的通用模式?7.6面向?qū)ο篌w系結(jié)構(gòu)的通用樣式設(shè)計模式(desingpattern),由一些更基本的成分構(gòu)成,是進(jìn)行設(shè)計的“磚頭”,可以用于同類的其它設(shè)計,也稱為模型架構(gòu)(modelframework)。2022/11/1530UML系統(tǒng)建模與分析設(shè)計硬件體系結(jié)構(gòu)指系統(tǒng)的系統(tǒng)組織模式;而軟件體系結(jié)構(gòu)則描述軟硬件體系結(jié)構(gòu)指系統(tǒng)的硬件組織模式;而軟件體系結(jié)構(gòu)則描述軟件的組織模式。這里我們主要關(guān)注軟件體系結(jié)構(gòu)的問題。什么是軟件體系結(jié)構(gòu)的通用模式?1.基于模式的軟件體系結(jié)構(gòu)2、設(shè)計模式(designpattern)
由一些更基本的成分構(gòu)成,是進(jìn)行設(shè)計的“磚頭”,可以用于同類的其它設(shè)計,也稱為模型架構(gòu)(modelframework)。它用于細(xì)化軟件系統(tǒng)的子系統(tǒng)或組件。1、體系結(jié)構(gòu)模式(architecturalpattern)體系結(jié)構(gòu)模式表示軟件系統(tǒng)的基本結(jié)構(gòu)化組織圖式。體系結(jié)構(gòu)模式可以作為具體軟件體系結(jié)構(gòu)的模板。2022/11/1531UML系統(tǒng)建模與分析設(shè)計硬件體系結(jié)構(gòu)指系統(tǒng)的硬件組織模式;而軟件體系結(jié)構(gòu)則描述軟體系結(jié)構(gòu)圖的標(biāo)記法通常采用一組簡單的工程式樣標(biāo)記來構(gòu)造體系結(jié)構(gòu)圖(architecturediagram),這組標(biāo)記是以UML的配置圖為基礎(chǔ)的。配置圖由多個結(jié)點(node),連接器(connector)構(gòu)成。ClientNode(客戶機(jī)結(jié)點)ServerNode(服務(wù)器結(jié)點)
ComponentA2022/11/1532UML系統(tǒng)建模與分析設(shè)計體系結(jié)構(gòu)圖的標(biāo)記法通常采用一組簡單的工程式樣標(biāo)記來構(gòu)造體流程處理系統(tǒng)層狀系統(tǒng)客戶機(jī)/服務(wù)器系統(tǒng)三級和多級系統(tǒng)代理通用模式2022/11/1533UML系統(tǒng)建模與分析設(shè)計流程處理系統(tǒng)通用模式2022/11/1233UML系統(tǒng)建模與流程處理系統(tǒng)(proceduralprocessingsystem)以算法、數(shù)據(jù)結(jié)構(gòu)為中心,按照I-P-O過程進(jìn)行處理。流程處理系統(tǒng)UserInteface/Controller(用戶界面/控制器)SystemServices(系統(tǒng)服務(wù))預(yù)處理器1解題器2后處理器3系統(tǒng)的主要特色是:三個處理部件之間是單向連接的,可能安裝在不同的電腦上。
優(yōu)點:系統(tǒng)由各處理部件簡單組合,易于擴(kuò)充。處理部件易于復(fù)用。該結(jié)構(gòu)適合于大規(guī)模并行計算,解決復(fù)雜的工程技術(shù)問題。
限制:主要以批處理方式執(zhí)行,不適合交互方式。不易管理大量的不同格式的輸入、輸出數(shù)據(jù)。
常用于數(shù)據(jù)與圖象、模擬、數(shù)值解等。2022/11/1534UML系統(tǒng)建模與分析設(shè)計流程處理系統(tǒng)(proceduralprocessin層(layer),是一個部件或結(jié)點中的一組對象或函數(shù),共同協(xié)作提供服務(wù)。如服務(wù)器中里層給外層提供服務(wù)。層狀體系結(jié)構(gòu)適用于應(yīng)用服務(wù)器、數(shù)據(jù)庫系統(tǒng)及操作系統(tǒng)等。層狀系統(tǒng)持久服務(wù)核心函數(shù)界面函數(shù)界面函數(shù)核心函數(shù)持久服務(wù)優(yōu)點:1、按照功能層次劃分,可降低系統(tǒng)復(fù)雜度,使系統(tǒng)設(shè)計更加清晰。
2、內(nèi)層與外界隔離,可有效控制內(nèi)層的函數(shù)和服務(wù)。3、新的運算及常用運算(查詢)可在界面層中引入,由內(nèi)層服務(wù)支持,可提高系統(tǒng)性能。4、獨立的層,可以作為構(gòu)件或結(jié)點使用。限制:1、層數(shù)過多,系統(tǒng)性能下降。
2、標(biāo)準(zhǔn)化的層界面可能變得臃腫,使函數(shù)調(diào)用性能下降。層狀系統(tǒng)2022/11/1535UML系統(tǒng)建模與分析設(shè)計層(layer),是一個部件或結(jié)點中的一組對象或函數(shù),共ISO/OSI開放系統(tǒng)互連參考模型應(yīng)用層協(xié)議表示層協(xié)議會晤層協(xié)議傳輸層協(xié)議
物理介質(zhì)應(yīng)用層表示層會晤層傳輸層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層應(yīng)用層表示層會晤層傳輸層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層中繼系統(tǒng)中繼系統(tǒng)主機(jī)系統(tǒng)主機(jī)系統(tǒng)OpenSystem
InterconnectionReferenceMode
NOS依靠在各網(wǎng)絡(luò)層次上(OSI七層參考模型)的協(xié)議實現(xiàn)通信。2022/11/1536UML系統(tǒng)建模與分析設(shè)計ISO/OSI開放系統(tǒng)互連參考模型應(yīng)用層協(xié)議物理在client/server模式下,客戶機(jī)負(fù)責(zé)用戶輸入和展示,服務(wù)器處理低層的功能??蛻魴C(jī)/服務(wù)器系統(tǒng)ClientBClientCClientAClientDServer(服務(wù)器)優(yōu)點:
1、客戶機(jī)與服務(wù)器分離,兩者開發(fā)可同時進(jìn)行。
2、一個服務(wù)器可服務(wù)于多個客戶機(jī)。限制:
1、客戶機(jī)與服務(wù)器的通信依賴于網(wǎng)絡(luò),可能出現(xiàn)網(wǎng)絡(luò)阻塞的瓶頸(bottleneck)現(xiàn)象。
2、服務(wù)器及界面的改變將引起客戶機(jī)的相應(yīng)改變??蛻魴C(jī)/服務(wù)器系統(tǒng)2022/11/1537UML系統(tǒng)建模與分析設(shè)計在client/server模式下,客戶機(jī)負(fù)責(zé)用戶輸入和一、如何解決客戶機(jī)/服務(wù)器系統(tǒng)的限制?1、針對網(wǎng)絡(luò)瓶頸問題,盡量減少客戶機(jī)作遠(yuǎn)程調(diào)用,如把一組運算組合起來,在一個遠(yuǎn)程調(diào)用中處理。2、為了解決服務(wù)器的變動引起客戶機(jī)的改變,采用“輕型客戶機(jī)”(thincilent)。如Web瀏覽器/服務(wù)器模式,簡稱B/S(Browser/Server)模式。
它無需在不同的客戶機(jī)上安裝不同的客戶應(yīng)用程序,而只需安裝通用的瀏覽器軟件。這樣不但可以節(jié)省客戶機(jī)的硬盤空間與內(nèi)存,而且使安裝過程更加簡便、網(wǎng)絡(luò)結(jié)構(gòu)更加靈活。
簡化了系統(tǒng)的開發(fā)和維護(hù)。系統(tǒng)的開發(fā)者無須再為不同級別的用戶設(shè)計開發(fā)不同的客戶應(yīng)用程序了,只需把所有的功能都實現(xiàn)在Web服務(wù)器上,并就不同的功能為各個組別的用戶設(shè)置權(quán)限就可以了。2022/11/1538UML系統(tǒng)建模與分析設(shè)計一、如何解決客戶機(jī)/服務(wù)器系統(tǒng)的限制?1、針對網(wǎng)絡(luò)瓶頸問C/S結(jié)構(gòu)的數(shù)據(jù)庫客戶(Client)服務(wù)器(Server)服務(wù)請求結(jié)果網(wǎng)絡(luò)典型的客戶/服務(wù)器(C/S)結(jié)構(gòu)數(shù)據(jù)庫DBMS應(yīng)用程序2022/11/1539UML系統(tǒng)建模與分析設(shè)計C/S結(jié)構(gòu)的數(shù)據(jù)庫客戶(Client)服務(wù)器(Server)C/S結(jié)構(gòu)的工作模式
從圖中可以看出,C/S結(jié)構(gòu)是一種發(fā)請求、得結(jié)果的模式:客戶機(jī)向服務(wù)器發(fā)出請求(數(shù)據(jù)請求、網(wǎng)頁請求、文件傳輸請求等等),服務(wù)器響應(yīng)這些請求,進(jìn)行相應(yīng)的操作,將得到的結(jié)果回傳給客戶機(jī),客戶機(jī)再將格式化后的結(jié)果呈現(xiàn)在最終用戶的眼前。很明顯地,客戶機(jī)、服務(wù)器都必須遵循相同的通信協(xié)議。在這里,客戶機(jī)和服務(wù)器都是純軟件的概念,多數(shù)情況下它們都是操作系統(tǒng)的應(yīng)用進(jìn)程??蛻魴C(jī)可以是用戶自己編寫的應(yīng)用程序或者就是WEB瀏覽器;服務(wù)器可以是數(shù)據(jù)庫服務(wù)器、WEB服務(wù)器或者其它的服務(wù)進(jìn)程。2022/11/1540UML系統(tǒng)建模與分析設(shè)計C/S結(jié)構(gòu)的工作模式從圖中可以看出,C/S結(jié)構(gòu)是一種發(fā)ClientServerInvokeaservermethodretum
C/S結(jié)構(gòu)的設(shè)計要點:服務(wù)器不公開其內(nèi)在的數(shù)據(jù)結(jié)構(gòu)和運算,所有服務(wù)器的參數(shù),都只能通過運算來實現(xiàn)。2022/11/1541UML系統(tǒng)建模與分析設(shè)計ClientServerInvokeaservermeB/S結(jié)構(gòu)的數(shù)據(jù)庫瀏覽器(Browser)WEB服務(wù)器服務(wù)請求最終結(jié)果網(wǎng)絡(luò)基于WEB的瀏覽器/服務(wù)器(B/S)結(jié)構(gòu)數(shù)據(jù)庫服務(wù)器數(shù)據(jù)請求結(jié)果集數(shù)據(jù)訪問引擎2022/11/1542UML系統(tǒng)建模與分析設(shè)計B/S結(jié)構(gòu)的數(shù)據(jù)庫瀏覽器(Browser)WEB服務(wù)器服務(wù)請二、如何提高服務(wù)器的效率1、把部分工作轉(zhuǎn)移到客戶機(jī)中執(zhí)行,如查證輸入數(shù)據(jù)的正確性,可在客戶端進(jìn)行。2、將數(shù)據(jù)庫的處理事項組合起來執(zhí)行,可提高數(shù)據(jù)庫的吞吐量(throughput)。2022/11/1543UML系統(tǒng)建模與分析設(shè)計二、如何提高服務(wù)器的效率2022/11/1243UML系統(tǒng)建三級和多級系統(tǒng)Databasemanagementnode(數(shù)據(jù)庫管理結(jié)點)businesslogicnode(商業(yè)邏輯結(jié)點)Security(保安)Event(事件)Search(搜索)ClientAClientDClientBClientC服務(wù)器客戶機(jī)第一級是數(shù)據(jù)庫管理結(jié)點(databasemanagementnode)。第二級或中間級是“商業(yè)邏輯結(jié)點”(businesslogicnode),是指具體應(yīng)用中實施的程序邏輯和法則。第三級是用戶界面級,強(qiáng)調(diào)高效、方便易用的用戶界面。三級體系結(jié)構(gòu)第一級第二級第三級2022/11/1544UML系統(tǒng)建模與分析設(shè)計三級和多級系統(tǒng)Databasemanagementnod多級系統(tǒng)可由三級系統(tǒng)的概念推廣到多級系統(tǒng)(multi-tiersystem),即由多個C/S對組成。圖5.17四級體系結(jié)構(gòu)ThinClientsDatabasemanagementnode(數(shù)據(jù)庫管理結(jié)點)businesslogicnode(商業(yè)邏輯結(jié)點)Security(保安)Event(事件)Search(搜索)ClientAClientBThinClientsWebServer(網(wǎng)服務(wù)器)(輕型客戶機(jī))(客戶機(jī))SQLHTTPCORBA/IIOP含商業(yè)邏輯對象2022/11/1545UML系統(tǒng)建模與分析設(shè)計多級系統(tǒng)可由三級系統(tǒng)的概念推廣到多級系統(tǒng)(multiCORBA(CommonObjectRequestBrokerArchitecture)公共對象請求代理體系結(jié)構(gòu)2022/11/1546UML系統(tǒng)建模與分析設(shè)計CORBA(CommonObjectRequest第七章
系統(tǒng)體系結(jié)構(gòu)建模實現(xiàn)模型描述了系統(tǒng)實現(xiàn)時的一些特性,又稱為物理體系結(jié)構(gòu)建模。包括源代碼的靜態(tài)結(jié)構(gòu)和運行時刻的實現(xiàn)結(jié)構(gòu)。實現(xiàn)模型包括:構(gòu)件圖(Componentdiagram)
顯示代碼本身的邏輯結(jié)構(gòu),它描述系統(tǒng)中存在的軟構(gòu)件以及它們之間的依賴關(guān)系。構(gòu)件圖的元素有構(gòu)件,依賴關(guān)系和界面。配置圖(Deploymentdiagram)描述了系統(tǒng)中硬件和軟件的物理配置情況和系統(tǒng)體系結(jié)構(gòu)。顯示系統(tǒng)運行時刻的結(jié)構(gòu),配置圖中的簡單結(jié)點是指實際的物理設(shè)備以及在該結(jié)點上運行構(gòu)件或?qū)ο?。配置圖還描述結(jié)點之間的連接以及通信類型。2022/11/1547UML系統(tǒng)建模與分析設(shè)計第七章系統(tǒng)體系結(jié)構(gòu)建模實現(xiàn)模型描述了系統(tǒng)實現(xiàn)時的一些特性了解軟、硬件系統(tǒng)體系結(jié)構(gòu)模型的建模方法與步驟掌握UML中構(gòu)件、構(gòu)件接口和構(gòu)件模型圖的描述方法掌握UML中配置圖的描述方法掌握配置圖中結(jié)點、構(gòu)件和對象之間的關(guān)系本章目的:第七章
系統(tǒng)體系結(jié)構(gòu)建模2022/11/1548UML系統(tǒng)建模與分析設(shè)計了解軟、硬件系統(tǒng)體系結(jié)構(gòu)模型的建模方法與步驟本章目的:第七章
構(gòu)件(component)
構(gòu)件定義:系統(tǒng)中遵從一組接口且提供其實現(xiàn)的物理的、可替換的部分。對系統(tǒng)的物理方面建模時,它是一個重要的構(gòu)造塊。若構(gòu)件的定義良好,該構(gòu)件不直接依賴于構(gòu)件的所支持的接口,在這種情況下,系統(tǒng)中的一個構(gòu)件可以被支持正確接口的其他構(gòu)件所替代。構(gòu)件圖符是一個矩形框。 構(gòu)件對外提供的可見操作和屬性稱為構(gòu)件的界面。界面的圖符是一個小圓圈。用一條連線將構(gòu)件與圓圈連起來。7.1構(gòu)件圖
圖形庫
(graphic.dll)2022/11/1549UML系統(tǒng)建模與分析設(shè)計構(gòu)件(component)
構(gòu)件定義:系統(tǒng)中遵從一組2022/11/1550UML系統(tǒng)建模與分析設(shè)計2022/11/124UML系統(tǒng)建模與分析設(shè)計
構(gòu)件可以看作包與類對應(yīng)的物理代碼模塊,邏輯上與包,類對應(yīng),實際上是一個文件,可以有下列幾種類型的構(gòu)件:
1)
源代碼構(gòu)件;
2)
二進(jìn)制構(gòu)件;
3)
可執(zhí)行構(gòu)件 構(gòu)件圖符是一個矩形框。 構(gòu)件對外提供的可見操作和屬性稱為構(gòu)件的界面。界面的圖符是一個小圓圈。用一條連線將構(gòu)件與圓圈連起來。 構(gòu)件之間的依賴關(guān)系是指結(jié)構(gòu)之間在編譯,連接或執(zhí)行時的依賴關(guān)系。用虛線箭頭表示。 2022/11/1551UML系統(tǒng)建模與分析設(shè)計 構(gòu)件可以看作包與類對應(yīng)的物理代碼模塊,邏輯上與包,類對應(yīng),窗口控制(whnd.cpp)通信控制
(comhnd.cpp)主控模塊
(main.cpp)窗口控制
(whnd.obj)通訊控制
(comhnd.obj)主控模塊(main.obj)圖形庫
(graphic.dll)客戶程序
(client.exe)構(gòu)件圖實例構(gòu)件關(guān)系2022/11/1552UML系統(tǒng)建模與分析設(shè)計窗口控制通信控制主控模塊窗口控制
Circle.obj類
Circle.cpp
Main類
Main.obj
Main類
Main.cpp圖形庫
Graphic.dll
Square類
Square.cpp
Square類
Square.obj
Circle類
Circle.obj可執(zhí)行程序
Main.exe2022/11/1553UML系統(tǒng)建模與分析設(shè)計Circle.obj類Main類開發(fā)期的依賴(Development–timeDependency)
是指在編譯階段和連接階段,組件之間的依賴關(guān)系。調(diào)用依賴(CallDependency)
是指一個組件調(diào)用或使用另外一個組件服務(wù)。組件的依賴關(guān)系又分為:開發(fā)期的依賴和調(diào)用依賴。
業(yè)務(wù)
(源碼)
項目管理
(源碼)
項目管理
(對象)
項目管理
(執(zhí)行碼)
系統(tǒng)管理
(源碼)資源管理
(源碼)資源管理
(對象)資源管理
(執(zhí)行碼)
系統(tǒng)管理
(對象)系統(tǒng)管理
(執(zhí)行碼)2022/11/1554UML系統(tǒng)建模與分析設(shè)計開發(fā)期的依賴(Development–timeDepe7.2配置圖配置圖用來描述系統(tǒng)硬件的物理拓?fù)浣Y(jié)構(gòu)以及在此結(jié)構(gòu)上執(zhí)行的軟件,即系統(tǒng)運行時刻的結(jié)構(gòu)。配置圖可以顯示計算機(jī)結(jié)點的拓?fù)浣Y(jié)構(gòu)和通信路徑,結(jié)點上執(zhí)行的軟構(gòu)件,軟構(gòu)件包含的邏輯單元等,特別對于分布式系統(tǒng),配置圖可以清楚的描述系統(tǒng)中硬件設(shè)備的配置,通信以及在各硬件設(shè)備上各種軟構(gòu)件和對象的配置。因此,配置圖是描述任何基于計算機(jī)的應(yīng)用系統(tǒng)的物理配置或邏輯配置的有力工具,配置圖的元素有結(jié)點和連接。配置圖中的結(jié)點代表某種計算機(jī)構(gòu)件,通常是某種硬件。同時結(jié)點還包括在其上運行的軟構(gòu)件,軟構(gòu)件代表可執(zhí)行的物理代碼模塊。如一個可執(zhí)行程序。結(jié)點的圖符是一個立方體。 2022/11/1555UML系統(tǒng)建模與分析設(shè)計7.2配置圖配置圖用來描述系統(tǒng)硬件的物理拓?fù)浣Y(jié)構(gòu)以及保險單填寫界面保險系統(tǒng)保險數(shù)據(jù)庫保險政策保險用戶客戶PC《TCP/IP>保險服務(wù)器保險系統(tǒng)配置配置保險系統(tǒng)的配置圖配置圖各結(jié)點之間進(jìn)行交互的通信路徑稱為連接,連接表示系統(tǒng)中的結(jié)點存在著聯(lián)系,用結(jié)點之間的的連線表示連接,在連接的連線上要標(biāo)注通信類型。2022/11/1556UML系統(tǒng)建模與分析設(shè)計保險單保險系統(tǒng)保險數(shù)據(jù)庫保險政策保險用戶客戶PC《TCP/醫(yī)院診療系統(tǒng)的配置圖醫(yī)院診療系統(tǒng)的配置圖(C/S):ObjectDatabase:HealthCareDomainDatabaseUnitServer(數(shù)據(jù)庫服務(wù)器)aWindowsPC(客戶機(jī)):ObjectDatabase:HealthCareDomainHeartUnitServer(心血管病服務(wù)器):ConfigureKnowledge:ConfigureusersHeartUnitConfiguration《Communication》TCP/IPTCP/IP:HeartUnitUI:HeartUnitClientFacade:HeartUnitServerApplication2022/11/1557UML系統(tǒng)建模與分析設(shè)計醫(yī)院診療系統(tǒng)的配置圖醫(yī)院診療系統(tǒng)的配置圖(C/S):Obje7.3
使用UML的過程
UML給出了面向?qū)ο蠼5姆柋硎竞鸵?guī)則,但未給出使用的過程和方法,因此,需要有使用UML的過程。過程描述做什么、怎么做、何時做及為什么做,即描述一組特定次序的活動。1UML過程的基礎(chǔ)使用UML過程的基本特征是:用例驅(qū)動,以體系結(jié)構(gòu)為中心,反復(fù),漸增式。(1)、用例驅(qū)動的系統(tǒng)用例包含了功能描述,它們將影響后面所有階段及視圖。2022/11/1558UML系統(tǒng)建模與分析設(shè)計7.3使用UML的過程UML給出了面向?qū)ο蠼5姆?/p>
用例對各階段及視圖的影響需求用例分析設(shè)計實現(xiàn)測試用例視圖構(gòu)件視圖部署視圖邏輯視圖并發(fā)視圖2022/11/1559UML系統(tǒng)建模與分析設(shè)計用例對各階段及視圖的影響需求用例分析設(shè)計實現(xiàn)測試用例視圖構(gòu)(2)、以體系結(jié)構(gòu)為中心在開發(fā)的早期建立基礎(chǔ)的體系結(jié)構(gòu)(原型)是十分重要的,進(jìn)一步對原型進(jìn)行精化,建立一個易于修改、易理解和允許復(fù)用的系統(tǒng)。主要工作是在邏輯上將系統(tǒng)劃分為若干個子系統(tǒng)(UML包)。(3)、反復(fù)
UML的建模型過程要經(jīng)過若干次的反復(fù)。(4)、漸增式漸增式開發(fā)是在多次反復(fù)迭代的過程中,每次增加一些功能(或用例)的開發(fā),每次迭代都包含了分析、設(shè)計、實現(xiàn)和測試。2022/11/1560UML系統(tǒng)建模與分析設(shè)計(2)、以體系結(jié)構(gòu)為中心在開發(fā)的早期建立基礎(chǔ)的體系結(jié)構(gòu)7.4面向?qū)ο蟮拈_發(fā)方法的一般過程
OO方法中執(zhí)行主要活動的描述。主要步驟是分析、設(shè)計、實現(xiàn)及測試。需求分析設(shè)計實現(xiàn)測試OO方法的步驟2022/11/1561UML系統(tǒng)建模與分析設(shè)計7.4面向?qū)ο蟮拈_發(fā)方法的一般過程OO方法中執(zhí)行主要
OO方法中執(zhí)行主要活動的描述。主要步驟是分析、設(shè)計、實現(xiàn)及測試。需求分析設(shè)計實現(xiàn)測試獲取需求,建立需求模型。分析的典型活動:
1、獲取領(lǐng)域知識;2、定義系統(tǒng)功能(用例圖);
3、確定合適的類;
4、建立類的靜態(tài)模型(類圖);
5、描述對象的動態(tài)行為(狀態(tài)圖、協(xié)作圖、時序圖、活動圖);
6、驗證(專家對模型作靜態(tài)驗證);
7、給出基本的用戶界面原型(整體結(jié)構(gòu)的原型:主窗口的內(nèi)容、窗口之間的導(dǎo)航等)。2022/11/1562UML系統(tǒng)建模與分析設(shè)計OO方法中執(zhí)行主要活動的描述。主要步驟是分析、設(shè)計、實現(xiàn)
OO方法中執(zhí)行主要活動的描述。主要步驟是分析、設(shè)計、實現(xiàn)及測試。需求分析設(shè)計實現(xiàn)測試
設(shè)計是分析結(jié)果在技術(shù)上的擴(kuò)充和修改,重點是如何實現(xiàn)該系統(tǒng)。設(shè)計中的典型活動:1、將分析所得的類劃分為功能包,并從技術(shù)層面(用戶界面、數(shù)據(jù)庫處理、通信等)增加新包,建立包之間的通信聯(lián)系。2、標(biāo)識并發(fā)需求并建模。3、指出系統(tǒng)輸出的詳細(xì)格式:如用戶界面,報告,向其它系統(tǒng)發(fā)送的事務(wù)等。4、數(shù)據(jù)管理(建立類與表單的對應(yīng)關(guān)系,對數(shù)據(jù)庫的訪問機(jī)制)。5、異常處理6、分配類和構(gòu)件(構(gòu)件圖、配置圖)。還應(yīng)用偽代碼或者文字給出類的規(guī)約。2022/11/1563UML系統(tǒng)建模與分析設(shè)計OO方法中執(zhí)行主要活動的描述。主要步驟是分析、設(shè)計、實現(xiàn)
OO方法中執(zhí)行主要活動的描述。主要步驟是分析、設(shè)計、實現(xiàn)及測試。需求分析設(shè)計實現(xiàn)測試實現(xiàn)活動實際上就是編寫程序代碼,包括反復(fù)的編譯、連結(jié)、排錯等。并應(yīng)遵循傳統(tǒng)的編程準(zhǔn)則。
2022/11/1564UML系統(tǒng)建模與分析設(shè)計OO方法中執(zhí)行主要活動的描述。主要步驟是分析、設(shè)計、實現(xiàn)
OO方法中執(zhí)行主要活動的描述。主要步驟是分析、設(shè)計、實現(xiàn)及測試。需求分析設(shè)計實現(xiàn)測試測試的目的是發(fā)現(xiàn)代碼中的錯誤,測試的關(guān)鍵是確定高效的測試用例。測試的主要步驟有:1、面向?qū)ο蟮膯卧獪y試測試單元為封裝的類和對象,但不能孤立地測試單個操作,應(yīng)把操作作為類的一部分來測試。2、面向?qū)ο蟮募蓽y試集成測試的策略有:①基于線程的測試(Thread-basedtesting)②基于使用的測試(Use-basedtesting)
3、面向?qū)ο蟮拇_認(rèn)測試類似傳統(tǒng)的確認(rèn)測試和系統(tǒng)測試,根據(jù)動態(tài)模型和描述系統(tǒng)行為的腳本來設(shè)計測試用例,可用黑盒法。2022/11/1565UML系統(tǒng)建模與分析設(shè)計OO方法中執(zhí)行主要活動的描述。主要步驟是分析、設(shè)計、實現(xiàn)體系結(jié)構(gòu)建模(architecturemodeling)首先要建立基本的模型,并將該模型映射到軟硬件單元上。本節(jié)討論用UML為系統(tǒng)體系結(jié)構(gòu)建模。體系結(jié)構(gòu)概括了整體系統(tǒng)結(jié)構(gòu)、功能部件分解、部件的本質(zhì)和特性、部件的界面、部件之間的通訊協(xié)議和整體性布局策略及法則。面向?qū)ο蟮捏w系結(jié)構(gòu)與傳統(tǒng)的體系結(jié)構(gòu)不同,它強(qiáng)調(diào)的是分布式對象的分配、部件及其界面、持久對象和面向?qū)ο笸ㄓ嵎椒ā?.5面向?qū)ο蟮捏w系結(jié)構(gòu)2022/11/1566UML系統(tǒng)建模與分析設(shè)計體系結(jié)構(gòu)建模(architecturemodeling
在設(shè)計階段要解決“如何做”的問題,首先要解決高層問題的決策,再逐步細(xì)化。系統(tǒng)設(shè)計是解決如何做的第一步,系統(tǒng)設(shè)計階段的主要任務(wù)有:1、將系統(tǒng)分解為子系統(tǒng);2、識別問題中固有的并發(fā)性;3、把子系統(tǒng)分配給處理器和子任務(wù);4、選擇數(shù)據(jù)存儲管理的方法;5、處理訪問全局資源;6、選擇軟件中的控制實現(xiàn);7、處理邊界條件;8、設(shè)置權(quán)衡的優(yōu)先權(quán)。顯然,系統(tǒng)體系結(jié)構(gòu)設(shè)計與程序設(shè)計之間沒有絕對的界限。1系統(tǒng)設(shè)計的任務(wù)2022/11/1567UML系統(tǒng)建模與分析設(shè)計在設(shè)計階段要解決“如何做”的問題,首先要解決高層問題的決1、用包圖或構(gòu)件圖描述的靜態(tài)結(jié)構(gòu)2、基于配置圖的軟件體系結(jié)構(gòu)3、基于模式的軟件體系結(jié)構(gòu)從一般意義上說,體系結(jié)構(gòu)包括兩個層面,即硬件體系結(jié)構(gòu)和軟件體系結(jié)構(gòu)。硬件體系結(jié)構(gòu)指系統(tǒng)的硬件組織模式;而軟件體系結(jié)構(gòu)則描述軟件的組織模式。這里我們主要關(guān)注軟件體系結(jié)構(gòu)的問題。2UML體系結(jié)構(gòu)設(shè)計2022/11/1568UML系統(tǒng)建模與分析設(shè)計1、用包圖或構(gòu)件圖描述的靜態(tài)結(jié)構(gòu)從一般意義上說,體系結(jié)構(gòu)子系統(tǒng)的分解可以有分層和分塊分層:將軟件系統(tǒng)組織為層次結(jié)構(gòu),每層是一個子系統(tǒng)。分層結(jié)構(gòu)又分為封閉式和開放式。分塊:垂直分塊是將系統(tǒng)分解為若干個相對獨立的、弱耦合的子系統(tǒng)。每個子系統(tǒng)相當(dāng)于一個塊,每塊實現(xiàn)一類服務(wù)。常常使用分層和分塊的混合結(jié)構(gòu),如圖所示:將系統(tǒng)分解為子系統(tǒng)應(yīng)用程序包人機(jī)對話控制窗口圖形仿真程序包屏幕圖形點陣圖形操作系統(tǒng)計算機(jī)硬件2022/11/1569UML系統(tǒng)建模與分析設(shè)計子系統(tǒng)的分解可以有分層和分塊將系統(tǒng)分解為子系統(tǒng)應(yīng)用程序包描述系統(tǒng)的體系結(jié)構(gòu)一、用包圖進(jìn)行系統(tǒng)建模
1、包是系統(tǒng)的一種分組機(jī)制,包由關(guān)系密切的一組模型元素構(gòu)成,包還可以由其它包構(gòu)成(嵌套)。下圖描述了體系結(jié)構(gòu)的包圖。表示領(lǐng)域服務(wù)數(shù)據(jù)庫表示層應(yīng)用邏輯層存儲層UML包表達(dá)的體系結(jié)構(gòu)單元包圖是維護(hù)和控制系統(tǒng)總體結(jié)構(gòu)的重要建模工具。
2、應(yīng)用包圖要解決的問題⑴如何組織包?應(yīng)將概念或語義相近的模型元素(對象類)納入一個包。即包具有高內(nèi)聚性,包中的類具有功能相關(guān)性。⑵如何確定包之間的關(guān)系?包之間的聯(lián)系有兩種:依賴和泛化。2022/11/1570UML系統(tǒng)建模與分析設(shè)計描述系統(tǒng)的體系結(jié)構(gòu)一、用包圖進(jìn)行系統(tǒng)建模1、包是系統(tǒng)的一種包之間的依賴關(guān)系,最常用的是輸入依賴關(guān)系《Import》、《Access》,兩者之間區(qū)別是后者不把目標(biāo)包內(nèi)容加到源包的名字空間。信息管理系統(tǒng)的包圖用戶接口業(yè)務(wù)通信數(shù)據(jù)庫文件處理報表處理例行程序本包含業(yè)務(wù)相關(guān)核心對象類+訂貨規(guī)則-GUI::窗口策略+訂貨單+追蹤表-訂貨客戶機(jī)+數(shù)據(jù)庫+登錄服務(wù)服務(wù)器GUI+窗口+表格
#事件處理《import》《import》包的輸入依賴關(guān)系2022/11/1571UML系統(tǒng)建模與分析設(shè)計包之間的依賴關(guān)系,最常用的是輸入依賴關(guān)系《Import二、用配置圖描述系統(tǒng)結(jié)構(gòu)配置圖是一個構(gòu)架,用來詳細(xì)說明技術(shù)單元和它們之間的鏈接。又可分為硬件環(huán)境的配置圖和軟件環(huán)境的配置圖。三、設(shè)計樣式UserStation:PersonalComputerdeptServer:FileserveropStation:WorkStationcorpServer:MainFrameONEDESKTOPONEDEPARTMENTTHECORPORATIONinterDeptLink:LANdeptCorpLink:TCP/IPopCorpLink:TCP/IP1..*1..*1..*11111三層C/S商業(yè)系統(tǒng)的配置圖2022/11/1572UML系統(tǒng)建模與分析設(shè)計二、用配置圖描述系統(tǒng)結(jié)構(gòu)配置圖是一個構(gòu)架,用來詳細(xì)說明技
并不是所有的系統(tǒng)都需要建立配置圖,一個單機(jī)系統(tǒng)只需建立包圖或構(gòu)件圖就行了。配置圖主要用于在網(wǎng)絡(luò)環(huán)境下運行的分布式系統(tǒng)或嵌入式系統(tǒng)的建模。數(shù)據(jù)庫服務(wù)器DB:數(shù)據(jù)庫打印機(jī)打印機(jī)應(yīng)用服務(wù)器
系統(tǒng)管理(執(zhí)行碼)
通用應(yīng)用(執(zhí)行碼)資源管理桌面客戶
資源管理
(執(zhí)行碼)項目管理桌面客戶
項目管理
(執(zhí)行碼)項目與資源管理系統(tǒng)的配置圖2022/11/1573UML系統(tǒng)建模與分析設(shè)計并不是所有的系統(tǒng)都需要建立配置圖,一個單機(jī)系統(tǒng)只需建立三、用構(gòu)件圖來描述系統(tǒng)軟件環(huán)境的配置
image.java構(gòu)件圖又稱為組件圖,組件(Component)是系統(tǒng)的物理可替換的單位,代表系統(tǒng)的一個物理組件及其聯(lián)系,表達(dá)的是系統(tǒng)代碼本身的結(jié)構(gòu)。1、簡單組件與擴(kuò)充組件
Mailer+Mailbox+RoutingList
-MailQueue2、組件的實例
表示運行期間可執(zhí)行的軟件模塊。只有可執(zhí)行的組件才有實例。
mymailer:Mailer
:Mailbox
:RoutingList
:MailQueue
2022/11/1574UML系統(tǒng)建模與分析設(shè)計三、用構(gòu)件圖來描述系統(tǒng)軟件環(huán)境的配置image.java3、組件與類的異同相同:性質(zhì)的表示法相同(如可見性),都有實例。
不同:組件表示物理的事物,類代表事物的邏輯抽象。組件可用于配置圖的節(jié)點,而類不行。4、組件與包的異同
相同:都是分組的機(jī)制。不同:一個組件表示一個物理的代碼模塊,包可包含成組的模型元素或物理的組件。一個類可以出現(xiàn)在多個組件中,卻只能在一個包中定義。5、組件之間的聯(lián)系主要是依賴關(guān)系,是指一個組件的模型元素使用另外一個系統(tǒng)的模型元素。組件還可以通過接口實現(xiàn)依賴關(guān)系。2022/11/1575UML系統(tǒng)建模與分析設(shè)計3、組件與類的異同2022/11/1229UML系統(tǒng)建模與分硬件體系結(jié)構(gòu)指系統(tǒng)的系統(tǒng)組織模式;而軟件體系結(jié)構(gòu)則描述軟件的組織模式。軟件體系結(jié)構(gòu)的通用樣式又稱為軟件體系結(jié)構(gòu)的通用模式。什么是軟件體系結(jié)構(gòu)的通用模式?7.6面向?qū)ο篌w系結(jié)構(gòu)的通用樣式設(shè)計模式(desingpattern),由一些更基本的成分構(gòu)成,是進(jìn)行設(shè)計的“磚頭”,可以用于同類的其它設(shè)計,也稱為模型架構(gòu)(modelframework)。2022/11/1576UML系統(tǒng)建模與分析設(shè)計硬件體系結(jié)構(gòu)指系統(tǒng)的系統(tǒng)組織模式;而軟件體系結(jié)構(gòu)則描述軟硬件體系結(jié)構(gòu)指系統(tǒng)的硬件組織模式;而軟件體系結(jié)構(gòu)則描述軟件的組織模式。這里我們主要關(guān)注軟件體系結(jié)構(gòu)的問題。什么是軟件體系結(jié)構(gòu)的通用模式?1.基于模式的軟件體系結(jié)構(gòu)2、設(shè)計模式(designpattern)
由一些更基本的成分構(gòu)成,是進(jìn)行設(shè)計的“磚頭”,可以用于同類的其它設(shè)計,也稱為模型架構(gòu)(modelframework)。它用于細(xì)化軟件系統(tǒng)的子系統(tǒng)或組件。1、體系結(jié)構(gòu)模式(architecturalpattern)體系結(jié)構(gòu)模式表示軟件系統(tǒng)的基本結(jié)構(gòu)化組織圖式。體系結(jié)構(gòu)模式可以作為具體軟件體系結(jié)構(gòu)的模板。2022/11/1577UML系統(tǒng)建模與分析設(shè)計硬件體系結(jié)構(gòu)指系統(tǒng)的硬件組織模式;而軟件體系結(jié)構(gòu)則描述軟體系結(jié)構(gòu)圖的標(biāo)記法通常采用一組簡單的工程式樣標(biāo)記來構(gòu)造體系結(jié)構(gòu)圖(architecturediagram),這組標(biāo)記是以UML的配置圖為基礎(chǔ)的。配置圖由多個結(jié)點(node),連接器(connector)構(gòu)成。ClientNode(客戶機(jī)結(jié)點)ServerNode(服務(wù)器結(jié)點)
ComponentA2022/11/1578UML系統(tǒng)建模與分析設(shè)計體系結(jié)構(gòu)圖的標(biāo)記法通常采用一組簡單的工程式樣標(biāo)記來構(gòu)造體流程處理系統(tǒng)層狀系統(tǒng)客戶機(jī)/服務(wù)器系統(tǒng)三級和多級系統(tǒng)代理通用模式2022/11/1579UML系統(tǒng)建模與分析設(shè)計流程處理系統(tǒng)通用模式2022/11/1233UML系統(tǒng)建模與流程處理系統(tǒng)(proceduralprocessingsystem)以算法、數(shù)據(jù)結(jié)構(gòu)為中心,按照I-P-O過程進(jìn)行處理。流程處理系統(tǒng)UserInteface/Controller(用戶界面/控制器)SystemServices(系統(tǒng)服務(wù))預(yù)處理器1解題器2后處理器3系統(tǒng)的主要特色是:三個處理部件之間是單向連接的,可能安裝在不同的電腦上。
優(yōu)點:系統(tǒng)由各處理部件簡單組合,易于擴(kuò)充。處理部件易于復(fù)用。該結(jié)構(gòu)適合于大規(guī)模并行計算,解決復(fù)雜的工程技術(shù)問題。
限制:主要以批處理方式執(zhí)行,不適合交互方式。不易管理大量的不同格式的輸入、輸出數(shù)據(jù)。
常用于數(shù)據(jù)與圖象、模擬、數(shù)值解等。2022/11/1580UML系統(tǒng)建模與分析設(shè)計流程處理系統(tǒng)(proceduralprocessin層(layer),是一個部件或結(jié)點中的一組對象或函數(shù),共同協(xié)作提供服務(wù)。如服務(wù)器中里層給外層提供服務(wù)。層狀體系結(jié)構(gòu)適用于應(yīng)用服務(wù)器、數(shù)據(jù)庫系統(tǒng)及操作系統(tǒng)等。層狀系統(tǒng)持久服務(wù)核心函數(shù)界面函數(shù)界面函數(shù)核心函數(shù)持久服務(wù)優(yōu)點:1、按照功能層次劃分,可降低系統(tǒng)復(fù)雜度,使系統(tǒng)設(shè)計更加清晰。
2、內(nèi)層與外界隔離,可有效控制內(nèi)層的函數(shù)和服務(wù)。3、新的運算及常用運算(查詢)可在界面層中引入,由內(nèi)層服務(wù)支持,可提高系統(tǒng)性能。4、獨立的層,可以作為構(gòu)件或結(jié)點使用。限制:1、層數(shù)過多,系統(tǒng)性能下降。
2、標(biāo)準(zhǔn)化的層界面可能變得臃腫,使函數(shù)調(diào)用性能下降。層狀系統(tǒng)2022/11/1581UML系統(tǒng)建模與分析設(shè)計層(layer),是一個部件或結(jié)點中的一組對象或函數(shù),共ISO/OSI開放系統(tǒng)互連參考模型應(yīng)用層協(xié)議表示層協(xié)議會晤層協(xié)議傳輸層協(xié)議
物理介質(zhì)應(yīng)用層表示層會晤層傳輸層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層應(yīng)用層表示層會晤層傳輸層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層網(wǎng)絡(luò)層數(shù)據(jù)鏈路層物理層中繼系統(tǒng)中繼系統(tǒng)主機(jī)系統(tǒng)主機(jī)系統(tǒng)OpenSystem
InterconnectionReferenceMode
NOS依靠在各網(wǎng)絡(luò)層次上(OSI七層參考模型)的協(xié)議實現(xiàn)通信。2022/11/1582UML系統(tǒng)建模與分析設(shè)計ISO/OSI開放系統(tǒng)互連參考模型應(yīng)用層協(xié)議物理在client/server模式下,客戶機(jī)
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度解除股權(quán)質(zhì)押擔(dān)保合同
- 2025年度金融衍生品投資協(xié)議合同
- 二零二五年度房屋租賃押金退還及租金減免合同
- 二零二五年度按揭房屋借款合同貸款用途規(guī)范合同
- 二零二五年度股東權(quán)益保障與公司社會責(zé)任履行協(xié)議
- 二零二五年度勞動合同解除協(xié)議范本及員工關(guān)系處理
- 2025年度木工精細(xì)加工及定制家具制作協(xié)議書
- 二零二五年度健身器材銷售門店租賃協(xié)議
- 二零二五年度物流園區(qū)運營傭金支付及供應(yīng)鏈管理合同
- 中班安全教育:不碰玻璃瓷器
- 日常采購維修合同范本
- 企業(yè)員工職務(wù)犯罪預(yù)防
- (2025春新教材)部編版七年級語文下冊全冊教案
- 5《水污染》教學(xué)設(shè)計-2023-2024學(xué)年科學(xué)六年級下冊冀人版
- 2024 河北公務(wù)員考試(筆試、省直、A類、C類)4套真題及答案
- 統(tǒng)編版歷史 選擇性必修二第12課 《水陸交通的變遷》課件(共27張)
- 幼兒園開學(xué)教職工安全教育培訓(xùn)
- 小學(xué)生雙擁活動國防教育
- 《得勝的基督新婦》課件
- 煙囪拆除工程施工方案設(shè)計及安全措施
- 2024年執(zhí)業(yè)藥師繼續(xù)教育專業(yè)答案
評論
0/150
提交評論