下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、面向?qū)ο笙到y(tǒng)設(shè)計(jì)當(dāng)你閱讀到這里時(shí),我假設(shè)你已經(jīng)理解了面向?qū)ο蟮幕靖拍?,初步掌握了的UML語言。第3章 、 架構(gòu)設(shè)計(jì)3.1 架構(gòu)設(shè)計(jì)原則系統(tǒng)設(shè)計(jì)的第一步就是確定軟件的架構(gòu),它決定了各子系統(tǒng)如何組織以及如何協(xié)調(diào)工作。架構(gòu)設(shè)計(jì)的好壞影響到軟件的好壞,系統(tǒng)越大越是這樣。進(jìn)行架構(gòu)設(shè)計(jì)時(shí),有兩個(gè)重要的原則可以遵循:一、分層。將系統(tǒng)分層是簡化系統(tǒng)的好方法,而且已經(jīng)得到了很好的證實(shí),如OSI 七層模型網(wǎng)絡(luò)協(xié)議,數(shù)據(jù)庫管理系統(tǒng)的外模式、模式、內(nèi)模式等。分層的思路是將系統(tǒng)按功能職責(zé)進(jìn)行劃分,將同一類職責(zé)的功能抽象為一層。在信息系統(tǒng)中軟件架構(gòu)通常采用典型的三層結(jié)構(gòu):1、表示層用戶界面。2、業(yè)務(wù)層業(yè)務(wù)處理流程。3、
2、數(shù)據(jù)層持久化存儲。與傳統(tǒng)的兩層結(jié)構(gòu)相比,它最大的特征是將業(yè)務(wù)層獨(dú)立了出來,從而提高了業(yè)務(wù)層的可復(fù)用性。在兩層結(jié)構(gòu)中,用戶界面和業(yè)務(wù)處理流程放在一起,因此無法直接復(fù)用業(yè)務(wù)處理的相關(guān)功能,也無法將業(yè)務(wù)處理功能進(jìn)行靈活的部署。在三層結(jié)構(gòu)中,表示層只處理用戶界面相關(guān)的功能,業(yè)務(wù)層專心處理業(yè)務(wù)流程,可以對業(yè)務(wù)層進(jìn)行靈活的部署,開發(fā)時(shí)也便于業(yè)務(wù)處理的開發(fā)和用戶界面的開發(fā)同時(shí)進(jìn)行。當(dāng)然也可以分為更多的層,關(guān)鍵是盡量提高層內(nèi)各功能的內(nèi)聚,降低各層之間的耦合。二、各層之間通訊。OSI 中要求高層只能調(diào)用它的下一層提供的接口,我們設(shè)計(jì)接口時(shí)也盡量遵守這樣的約束,例如典型的三層結(jié)構(gòu)的訪問關(guān)系為:數(shù)據(jù)層在業(yè)務(wù)層中是可
3、見的,業(yè)務(wù)層在表示層中是可見的,反之則不可見。為什么在業(yè)務(wù)層中不能直接訪問表示層呢?因?yàn)闃I(yè)務(wù)層要相對獨(dú)立,它不能依賴于任何表示層,以至于一個(gè)業(yè)務(wù)層可以對應(yīng)多個(gè)表示層。業(yè)務(wù)層可以間接與表示層通訊,這種通訊方式根據(jù)實(shí)際需要來確定。3.2 信息系統(tǒng)的架構(gòu)設(shè)計(jì)下面我們將根據(jù)架構(gòu)設(shè)計(jì)原則和信息系統(tǒng)原理來建立一個(gè)信息系統(tǒng)的架構(gòu)設(shè)計(jì)模型。將信息系統(tǒng)中比較關(guān)心的對象分層,可分為三層:用戶界面層、業(yè)務(wù)層、數(shù)據(jù)訪問層,再把各層中的一些公共部分提出來:權(quán)限管理、異常處理,這樣得到包圖如下:3.2.1 用戶界面包用戶界面層的職責(zé)是:1、與用戶的交互,接收用戶的各種輸入以及輸出各種提示信息或處理結(jié)果。2、對于輸入的數(shù)據(jù)
4、進(jìn)行數(shù)據(jù)校驗(yàn),過濾非法數(shù)據(jù)。3、向業(yè)務(wù)處理對象發(fā)送處理請求。包含類:業(yè)務(wù)處理層的職責(zé)是:1、實(shí)現(xiàn)各種業(yè)務(wù)處理邏輯或處理算法。2、驗(yàn)證請求者的權(quán)限。3、向數(shù)據(jù)訪問對象發(fā)送數(shù)據(jù)持久化操作的請求。4、向用戶界面層返回處理結(jié)果。包含類:這里使用了代理(Proxy)模式,用戶界面對象只能通過業(yè)務(wù)代理對象來向業(yè)務(wù)對象發(fā)送請求。業(yè)務(wù)代理對象首先判斷請求者的權(quán)限,然后轉(zhuǎn)發(fā)合法請求者的請求。3.2.3 數(shù)據(jù)訪問包數(shù)據(jù)訪問層的職責(zé)是:1、實(shí)現(xiàn)數(shù)據(jù)的持久化操作(本書假設(shè)數(shù)據(jù)的存儲由關(guān)系數(shù)據(jù)庫來完成)。2、實(shí)現(xiàn)事務(wù)處理。對于每一個(gè)業(yè)務(wù)處理中需要持久化操作的對象都可以對應(yīng)為一個(gè)數(shù)據(jù)庫訪問對象,在很多業(yè)務(wù)處理中需要請求多
5、個(gè)數(shù)據(jù)庫訪問對象來進(jìn)行數(shù)據(jù)的讀寫操作,而這些操作又必須在同一個(gè)事務(wù)中,這時(shí)需要用同一個(gè)數(shù)據(jù)庫連接對象來進(jìn)行統(tǒng)一的事務(wù)處理。這里的數(shù)據(jù)庫連接類的創(chuàng)建用到了單件(Singleton)模式,保證一個(gè)類僅有一個(gè)實(shí)例,一個(gè)客戶在同一時(shí)刻只能用一個(gè)數(shù)據(jù)庫連接對象。3.2.4 權(quán)限管理包權(quán)限管理的主要職責(zé)是:1、驗(yàn)證請求者的請求權(quán)限。2、提供請求者的權(quán)限列表。包含類業(yè)務(wù)處理對象通過權(quán)限管理對象來驗(yàn)證權(quán)限。3.2.5 異常處理包異常處理的職責(zé):1、匯報(bào)運(yùn)行時(shí)的詳細(xì)異常信息。2、記錄異常處理日志。包含類:因?yàn)楫惓L幚眍愋捅容^多,如:系統(tǒng)異常、數(shù)據(jù)庫異常、業(yè)務(wù)邏輯異常等,針對不同類型的異常處理方式也容易變,如:顯
6、示錯(cuò)誤,記錄文本日志,記錄數(shù)據(jù)庫日志等,所以這里使用了橋接(Bridge)模式來實(shí)現(xiàn),使各部分的變化比較獨(dú)立。3.2.6 架構(gòu)的類圖將包圖展開,得到類圖,它是架構(gòu)的靜態(tài)結(jié)構(gòu)圖,表達(dá)了各個(gè)類之間的靜態(tài)聯(lián)系:3.2.7 架構(gòu)的動態(tài)圖它是對象的動態(tài)結(jié)構(gòu)圖,表達(dá)了類對象之間的動態(tài)協(xié)助關(guān)系。流程:1、用戶界面對象在接收了用戶的輸入請求后,向業(yè)務(wù)代理對象發(fā)送處理請求。2、業(yè)務(wù)代理對象接收到請求后,向權(quán)限管理對象發(fā)送驗(yàn)證權(quán)限請求。3、權(quán)限管理對象驗(yàn)證權(quán)限后將驗(yàn)證結(jié)果返回給業(yè)務(wù)代理對象。4、業(yè)務(wù)代理對象根據(jù)驗(yàn)證結(jié)果進(jìn)行以下處理:對于不符合權(quán)限的請求則返回提示信息;對于符合權(quán)限的請求,則將請求轉(zhuǎn)發(fā)給業(yè)務(wù)對象。5、業(yè)務(wù)對象進(jìn)行業(yè)務(wù)處理。對于業(yè)務(wù)處理中的數(shù)據(jù)持久化操作,通過訪問數(shù)據(jù)庫訪問對象進(jìn)行操作
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度美容院員工社會保險(xiǎn)繳納合同樣本4篇
- 課題申報(bào)參考:面向2035年高等教育布局結(jié)構(gòu)研究
- 民政局2025年離婚協(xié)議書起草與備案流程指導(dǎo)4篇
- 2025年度門頭房屋租賃合同含租賃用途及經(jīng)營方向限制4篇
- 河南省周口中英文學(xué)校高三上學(xué)期期中考試語文試題(含答案)
- 2025年度個(gè)人二手房交易反擔(dān)保合同規(guī)范2篇
- 2025年度個(gè)人汽車貨運(yùn)風(fēng)險(xiǎn)分擔(dān)合同范本
- 2025年度門禁監(jiān)控設(shè)備生產(chǎn)與銷售合同8篇
- 2025年度水電工程合同履約監(jiān)管承包協(xié)議4篇
- 2025年度木結(jié)構(gòu)建筑綠色施工與環(huán)保驗(yàn)收合同4篇
- 2025年中國文玩電商行業(yè)發(fā)展現(xiàn)狀調(diào)查、競爭格局分析及未來前景預(yù)測報(bào)告
- 2024文旅古街元旦沉浸式體驗(yàn)國風(fēng)游園會(古巷十二時(shí)辰主題)活動方案活動-46正式版
- 英語-2025廣西柳州高三二模試卷和答案
- 電工中級工練習(xí)題庫(含參考答案)
- 學(xué)校幫扶工作計(jì)劃
- 期末綜合試卷(試題)2024-2025學(xué)年人教版數(shù)學(xué)五年級上冊(含答案)
- UL2034標(biāo)準(zhǔn)中文版-2017一氧化碳報(bào)警器UL中文版標(biāo)準(zhǔn)
- 感恩的心培訓(xùn)資料
- 《精密板料矯平機(jī) 第3部分:精度》
- (完整版)水利部考試歷年真題-水利基礎(chǔ)知識試題集
- 浙江省杭州市2024-2025學(xué)年高三上學(xué)期一模英語試題(含解析無聽力原文及音頻)
評論
0/150
提交評論