版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第6章面向?qū)ο筌浖w系結(jié)構(gòu)第一頁,共32頁。
從一般意義上說,體系結(jié)構(gòu)包括兩個層面:
硬件體系結(jié)構(gòu)(HardwareArchitecture
)軟件體系結(jié)構(gòu)(SoftwareArchitecture
)6.1面向?qū)ο篌w系結(jié)構(gòu)
硬件體系結(jié)構(gòu)指系統(tǒng)的硬件組織模式;而軟件體系結(jié)構(gòu)則描述軟件的組織模式。這里我們主要關(guān)注軟件體系結(jié)構(gòu)的問題。體系結(jié)構(gòu)反映了系統(tǒng)的總體結(jié)構(gòu),是從全局上描述系統(tǒng)。一、什么是體系結(jié)構(gòu)第二頁,共32頁。
體系結(jié)構(gòu)建模(architecturemodeling)首先要建立系統(tǒng)的基本模型,并將該模型映射到軟硬件單元上。主要討論以UML為基礎(chǔ)的體系結(jié)構(gòu)建模。6.1面向?qū)ο篌w系結(jié)構(gòu)
面向?qū)ο蟮捏w系結(jié)構(gòu)與傳統(tǒng)的體系結(jié)構(gòu)不同,它強調(diào)的是分布式對象的分配、部件及其界面、面向?qū)ο蟮耐ㄓ嵎椒āH?、什么是面向?qū)ο蟮捏w系結(jié)構(gòu)?二、體系結(jié)構(gòu)建模第三頁,共32頁。
軟件技術(shù)研究的主要方面:軟件理論、編程和軟件設(shè)計方法、軟件工程環(huán)境、軟件體系結(jié)構(gòu)和中間件中,軟件體系結(jié)構(gòu)最重要。四、建立軟件體系結(jié)構(gòu)的重要性軟件開發(fā)首先要解決高層問題的決策,再逐步細化。系統(tǒng)能否適應(yīng)用戶初期需求的模糊性和需求的變化,主要取決于軟件體系結(jié)構(gòu)。軟件體系結(jié)構(gòu)是軟件質(zhì)量的保證。6.1面向?qū)ο篌w系結(jié)構(gòu)第四頁,共32頁。1、用包圖或構(gòu)件圖描述的靜態(tài)結(jié)構(gòu)2、基于配置圖的軟件體系結(jié)構(gòu)
一個合理、健全、內(nèi)在一致的體系結(jié)構(gòu),是建立高水平軟件系統(tǒng)的基礎(chǔ),即軟件系統(tǒng)的體系結(jié)構(gòu),決定了軟件的質(zhì)量。6.2基于UML的體系結(jié)構(gòu)設(shè)計第五頁,共32頁。
6.2.1用包圖描述系統(tǒng)的體系結(jié)構(gòu)一、包是系統(tǒng)的一種分組機制包由關(guān)系密切的一組模型元素構(gòu)成,包還可以由其它包構(gòu)成(嵌套)。圖中描述了體系結(jié)構(gòu)的包圖。
表示領(lǐng)域服務(wù)數(shù)據(jù)庫表示層應(yīng)用邏輯層存儲層圖6.1UML包表達的體系結(jié)構(gòu)單元
包圖是維護和控制系統(tǒng)總體結(jié)構(gòu)的重要建模工具。第六頁,共32頁。
6.1.3描述系統(tǒng)的體系結(jié)構(gòu)二、應(yīng)用包圖要解決的問題表示領(lǐng)域服務(wù)數(shù)據(jù)庫表示層應(yīng)用邏輯層存儲層圖6.1UML包表達的體系結(jié)構(gòu)單元
⑴如何組織包?應(yīng)將概念或語義相近的模型元素(對象類)納入一個包。即包具有高內(nèi)聚性,包中的類具有功能相關(guān)性。⑵如何確定包之間的關(guān)系?包之間的聯(lián)系主要有兩種:依賴和泛化。第七頁,共32頁。二、用配置圖描述系統(tǒng)結(jié)構(gòu)
配置圖是一個架構(gòu),用來詳細說明技術(shù)單元和它們之間的鏈接。又可分為硬件環(huán)境的配置圖和軟件環(huán)境的配置圖。三、設(shè)計樣式UserStation:PersonalComputerdeptServer:opStation:WorkStationcorpServer:MainFrameONEDESKTOPONEDEPARTMENTTHECORPORATIONinterDeptLink:LANdeptCorpLink:TCP/IPopCorpLink:TCP/IP1..*1..*1..*11111三層C/S商業(yè)系統(tǒng)的配置圖第八頁,共32頁。醫(yī)院診療系統(tǒng)的配置圖(C/S):ObjectDatabase:HealthCareDomainDatabaseUnitServer(數(shù)據(jù)庫服務(wù)器)aWindowsPC(客戶機):ObjectDatabase:HealthCareDomainHeartUnitServer(心血管病服務(wù)器):ConfigureKnowledge:ConfigureusersHeartUnitConfiguration《Communication》TCP/IPTCP/IP:HeartUnitUI:HeartUnitClientFacade:HeartUnitServerApplication用配置圖描述系統(tǒng)的體系結(jié)構(gòu)第九頁,共32頁。
并不是所有的系統(tǒng)都需要建立配置圖,一個單機系統(tǒng)只需建立包圖或構(gòu)件圖就行了。配置圖主要用于在網(wǎng)絡(luò)環(huán)境下運行的分布式系統(tǒng)或嵌入式系統(tǒng)的建模。數(shù)據(jù)庫服務(wù)器DB:數(shù)據(jù)庫打印機打印機
應(yīng)用服務(wù)器
系統(tǒng)管理(執(zhí)行碼)
通用應(yīng)用(執(zhí)行碼)
資源管理桌面客戶
資源管理
(執(zhí)行碼)
項目管理桌面客戶
項目管理
(執(zhí)行碼)項目與資源管理系統(tǒng)的配置圖第十頁,共32頁。三、用構(gòu)件圖來描述系統(tǒng)軟件環(huán)境的配置
image.java
構(gòu)件圖又稱為組件圖,組件(Component)是系統(tǒng)的物理可替換的單位,代表系統(tǒng)的一個物理組件及其聯(lián)系,表達的是系統(tǒng)代碼本身的結(jié)構(gòu)。1、簡單組件與擴充組件
Mailer+Mailbox+RoutingList
-MailQueue2、組件的實例
表示運行期間可執(zhí)行的軟件模塊。只有可執(zhí)行的組件才有實例。mymailer:Mailer
:Mailbox
:RoutingList
:MailQueue
第十一頁,共32頁。構(gòu)件圖實例
窗口控制(whnd.cpp)
通信控制
(comhnd.cpp)
主控模塊
(main.cpp)
窗口控制
(whnd.obj)
通訊控制
(comhnd.obj)主控模塊(main.obj)
圖形庫
(graphic.dll)
客戶程序
(client.exe)構(gòu)件關(guān)系第十二頁,共32頁。6.3基于模式的軟件體系結(jié)構(gòu)2、設(shè)計模式(desingpattern)
由一些更基本的成分構(gòu)成,是進行設(shè)計的“磚頭”,可以用于同類的其它設(shè)計,也稱為模型架構(gòu)(modelframework)。它用于細化軟件系統(tǒng)的子系統(tǒng)或組件。1、體系結(jié)構(gòu)模式(architecrulpattern)體系結(jié)構(gòu)模式表示軟件系統(tǒng)的基本結(jié)構(gòu)化組織圖式。體系結(jié)構(gòu)模式可以作為具體軟件體系結(jié)構(gòu)的模板。什么是軟件體系結(jié)構(gòu)的通用模式?第十三頁,共32頁。流程處理系統(tǒng)層狀系統(tǒng)客戶機/服務(wù)器系統(tǒng)三級和多級系統(tǒng)代理常用的通用模式第十四頁,共32頁。體系結(jié)構(gòu)圖的標記法通常采用一組簡單的工程式樣標記來構(gòu)造體系結(jié)構(gòu)圖(architecturediagram),這組標記是以UML的配置圖為基礎(chǔ)的。配置圖由多個結(jié)點(node),連接器(connector)構(gòu)成。ClientNode(客戶機結(jié)點)ServerNode(服務(wù)器結(jié)點)
ComponentA配置圖第十五頁,共32頁。
流程處理系統(tǒng)(proceduralprocessingsystem)以算法、數(shù)據(jù)結(jié)構(gòu)為中心,按照I-P-O過程進行處理。6.3.1流程處理系統(tǒng)UserInteface/Controller(用戶界面/控制器)SystemServices(系統(tǒng)服務(wù))
預(yù)處理器1
解題器2
后處理器3
系統(tǒng)的主要特色是:三個處理部件之間是單向連接的,可能安裝在不同的電腦上。
常用于數(shù)據(jù)與圖象、模擬、數(shù)值解等。圖6.9流程處理系統(tǒng)第十六頁,共32頁。
流程處理系統(tǒng)(proceduralprocessingsystem)以程序算法(algorithm)、數(shù)據(jù)結(jié)構(gòu)(datastructure)為中心,按照I-P-O過程進行處理。6.3.1流程處理系統(tǒng)UserInteface/Controller(用戶界面/控制器)SystemServices(系統(tǒng)服務(wù))
預(yù)處理器1
解題器2
后處理器3圖6.10流程處理系統(tǒng)
三個處理部件之間的連接是單向的,部件的獨立性強。常用于數(shù)據(jù)和圖象處理、電腦模擬、數(shù)值解題等系統(tǒng)。第十七頁,共32頁。優(yōu)點:
系統(tǒng)由各處理部件簡單組合,易于擴充處理,部件易于復(fù)用。適合于在大規(guī)模并行計算機中(massivelyparallelcomputer)運行,解決復(fù)雜的工程技術(shù)問題。限制:
主要以批處理方式執(zhí)行,不適合交互方式。不易管理大量的不同格式的輸入、輸出數(shù)據(jù)。第十八頁,共32頁。
層(layer),是一個部件或結(jié)點中的一組對象或函數(shù),共同協(xié)作提供服務(wù)。如服務(wù)器中里層給外層提供服務(wù)。層狀體系結(jié)構(gòu)適用于應(yīng)用服務(wù)器、數(shù)據(jù)庫系統(tǒng)及操作系統(tǒng)等。6.3.2層狀系統(tǒng)持久服務(wù)核心函數(shù)界面函數(shù)界面函數(shù)核心函數(shù)持久服務(wù)圖6.11層狀系統(tǒng)第十九頁,共32頁。優(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、標準化的層界面可能變得臃腫,使函數(shù)調(diào)用性能下降。6.3.2層狀系統(tǒng)第二十頁,共32頁。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)主機系統(tǒng)主機系統(tǒng)OpenSystemInterconnectionReferenceMode
NOS依靠在各網(wǎng)絡(luò)層次上(OSI七層參考模型)的協(xié)議實現(xiàn)通信。層狀系統(tǒng)舉例第二十一頁,共32頁。
在client/server模式下,客戶機負責用戶輸入和展示,服務(wù)器處理低層的功能。6.3.3客戶機/服務(wù)器系統(tǒng)優(yōu)點:
1、客戶機與服務(wù)器分離,兩者開發(fā)可同時進行。
2、一個服務(wù)器可服務(wù)于多個客戶機。限制:
1、客戶機與服務(wù)器的通信依賴于網(wǎng)絡(luò),可能出現(xiàn)網(wǎng)絡(luò)阻塞的瓶頸(bottleneck)現(xiàn)象。
2、服務(wù)器及界面的改變將引起客戶機的相應(yīng)改變。ClientBClientCClientAClientDServer(服務(wù)器)圖6.13客戶機/服務(wù)器系統(tǒng)第二十二頁,共32頁。C/S結(jié)構(gòu)的數(shù)據(jù)庫客戶(Client)服務(wù)器(Server)服務(wù)請求結(jié)果網(wǎng)絡(luò)圖6.14典型的客戶/服務(wù)器(C/S)結(jié)構(gòu)數(shù)據(jù)庫DBMS應(yīng)用程序第二十三頁,共32頁。如何解決客戶機/服務(wù)器系統(tǒng)的限制?
1、針對網(wǎng)絡(luò)瓶頸問題,盡量減少客戶機作遠程調(diào)用,如把一組運算組合起來,在一個遠程調(diào)用中處理。2、為了解決服務(wù)器的變動引起客戶機的改變,采用“輕型客戶機”(thincilent)。如Web瀏覽器/服務(wù)器模式,簡稱B/S(Browser/Server)模式。
它無需在不同的客戶機上安裝不同的客戶應(yīng)用程序,而只需安裝通用的瀏覽器軟件。
簡化了系統(tǒng)的開發(fā)和維護。系統(tǒng)的開發(fā)者無須再為不同級別的用戶設(shè)計開發(fā)不同的客戶應(yīng)用程序了,只需把所有的功能都實現(xiàn)在Web服務(wù)器上,并就不同的功能為各個組別的用戶設(shè)置權(quán)限就可以了。第二十四頁,共32頁。B/S結(jié)構(gòu)的數(shù)據(jù)庫瀏覽器(Browser)WEB服務(wù)器服務(wù)請求最終結(jié)果網(wǎng)絡(luò)圖6.15基于WEB的瀏覽器/服務(wù)器(B/S)結(jié)構(gòu)數(shù)據(jù)庫服務(wù)器數(shù)據(jù)請求結(jié)果集數(shù)據(jù)訪問引擎第二十五頁,共32頁。二、如何提高服務(wù)器的效率
1、把部分工作轉(zhuǎn)移到客戶機中執(zhí)行,如查證輸入數(shù)據(jù)的正確性,可在客戶端進行。2、將數(shù)據(jù)庫的處理事項組合起來執(zhí)行,可提高數(shù)據(jù)庫的吞吐量(throughput)。第二十六頁,共32頁。
6.3.4三級和多級系統(tǒng)Databasemanagementnode(數(shù)據(jù)庫管理結(jié)點)businesslogicnode(商業(yè)邏輯結(jié)點)Security(安全)Event(事件)Search(搜索)ClientAClientDClientBClientC服務(wù)器客戶機
第一級是數(shù)據(jù)庫管理結(jié)點(databasemanagementnode)。第二級或中間級是“商業(yè)邏輯結(jié)點”(businesslogicnode),是指具體應(yīng)用中實施的程序邏輯和法則。第三級是用戶界面級,強調(diào)高效、方便易用的用戶界面。三級體系結(jié)構(gòu)第一級第二級第三級第二十七頁,共32頁。
多級系統(tǒng)
可由三級系統(tǒng)的概念推廣到多級系統(tǒng)(multi-tiersystem),即由多個C/S對組成。四級體系結(jié)構(gòu)ThinClientsDatabasemanagementnode(數(shù)據(jù)庫管理結(jié)點)businesslogicnode(商業(yè)邏輯結(jié)點)Security(保安)Event(事件)Search(搜索)ClientAClientBThinClientsWebServer(網(wǎng)服務(wù)器)(輕型客戶機)(客戶機)SQLHTTPCORBA/IIOP含商業(yè)邏輯對象第二十八頁,共32頁。多級系統(tǒng)的特點優(yōu)點:1.系統(tǒng)功能分布在多級或服務(wù)器上,系統(tǒng)易于維護和擴充。2.進
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 游艇油耗考核制度
- 反假幣考核制度
- 一會三卡考核制度
- 滴滴新考核制度
- 抱怨考核制度
- 對外投資考核制度
- 招商主體考核制度
- 疫情考核制度
- 傳統(tǒng)招聘考核制度
- 分銷商考核制度
- 專業(yè)律師服務(wù)合同書樣本
- 反詐宣傳講座課件
- GB/T 6003.2-2024試驗篩技術(shù)要求和檢驗第2部分:金屬穿孔板試驗篩
- DB32T 4398-2022《建筑物掏土糾偏技術(shù)標準》
- (精確版)消防工程施工進度表
- 保險公司資產(chǎn)負債表、利潤表、現(xiàn)金流量表和所有者權(quán)益變動表格式
- 電磁流量說明書
- XX少兒棋院加盟協(xié)議
- 五年級數(shù)學應(yīng)用題專題訓(xùn)練50題
- 2021年四川省資陽市中考數(shù)學試卷
- 高處作業(yè)安全培訓(xùn)課件
評論
0/150
提交評論