下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、軟件系統(tǒng)的架構(gòu)設(shè)計(jì)方案架構(gòu)的定義定義架構(gòu)的最短形式是:“架構(gòu)是一種結(jié)構(gòu)”,這是一種正確的理解,但世界還沒太平。若做一個(gè)比喻,架構(gòu)就像一個(gè)操作系統(tǒng),不同的角度有不同的理解,不同的關(guān)切者有各自的著重點(diǎn),多視點(diǎn)的不同理解都是架構(gòu)需要的,也只有通過多視點(diǎn)來考察才能演化出一個(gè)有效的架構(gòu)。從靜態(tài)的角度,架構(gòu)要回答一個(gè)系統(tǒng)在技術(shù)上如何組織;從變化的角度,架構(gòu)要回答如何支持系統(tǒng)不斷產(chǎn)生的新功能、新變化以及適時(shí)的重構(gòu);從服務(wù)質(zhì)量的角度,架構(gòu)要平衡各種和用戶體驗(yàn)有關(guān)的指標(biāo);從運(yùn)維的角度,架構(gòu)要回答如何充分利用計(jì)算機(jī)或網(wǎng)絡(luò)資源及其擴(kuò)展策略;從經(jīng)濟(jì)的角度,架構(gòu)要回答如何在可行的基礎(chǔ)上降低實(shí)現(xiàn)成本等等軟件系統(tǒng)架構(gòu)(So
2、ftwareArchitecture)是關(guān)于軟件系統(tǒng)的結(jié)構(gòu)、行為、屬性、組成要素及其之間交互關(guān)系的高級抽象。任何軟件開發(fā)項(xiàng)目,都會(huì)經(jīng)歷需求獲取、系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、編碼研發(fā)、系統(tǒng)運(yùn)維等常規(guī)階段,軟件系統(tǒng)架構(gòu)設(shè)計(jì)就位于系統(tǒng)分析和系統(tǒng)設(shè)計(jì)之間。做好軟件系統(tǒng)架構(gòu),可以為軟件系統(tǒng)提供穩(wěn)定可靠的體系結(jié)構(gòu)支撐平臺,還可以支持最大粒度的軟件復(fù)用,降低開發(fā)運(yùn)維成本。如何做好軟件系統(tǒng)的架構(gòu)設(shè)計(jì)呢?軟件系統(tǒng)架構(gòu)設(shè)計(jì)方法步驟基于體系架構(gòu)的軟件設(shè)計(jì)模型把軟件過程劃分為體系架構(gòu)需求、設(shè)計(jì)、文檔化、復(fù)審、實(shí)現(xiàn)和演化6個(gè)子過程,現(xiàn)逐一簡要概述如下。體系架構(gòu)需求:即將用戶對軟件系統(tǒng)功能、性能、界面、設(shè)計(jì)約束等方面的期望(即需
3、求”)進(jìn)行獲取、分析、加工,并將每一個(gè)需求項(xiàng)目抽象定義為構(gòu)件(類的集合)。體系架構(gòu)設(shè)計(jì):即采用迭代的方法首先選擇一個(gè)合適的軟件體系架構(gòu)風(fēng)格(如C/S、B/S、N層、管道過濾器風(fēng)格、C2風(fēng)格等)作為架構(gòu)模型,然后將需求階段標(biāo)識的構(gòu)件映射到模型中,分析構(gòu)件間的相互作用關(guān)系,最后形成量身訂做的軟件體系架構(gòu)。體系架構(gòu)文檔化:即生成用戶和研發(fā)人員能夠閱讀的體系架構(gòu)規(guī)格說明書和體系架構(gòu)設(shè)計(jì)說明書。體系架構(gòu)復(fù)審:即及早發(fā)現(xiàn)體系架構(gòu)設(shè)計(jì)中存在的缺陷和錯(cuò)誤,及時(shí)予以標(biāo)記和排除。體系架構(gòu)實(shí)現(xiàn):即設(shè)計(jì)人員開發(fā)出系統(tǒng)構(gòu)件,按照體系架構(gòu)設(shè)計(jì)規(guī)格說明書進(jìn)行構(gòu)件的關(guān)聯(lián)、合成、組裝和測試。體系架構(gòu)演化:如果用戶需求發(fā)生了變化
4、,則需相應(yīng)地修改完善優(yōu)化、調(diào)整軟件體系結(jié)構(gòu),以適應(yīng)新的變化了的軟件需求。以上6個(gè)子過程是軟件系統(tǒng)架構(gòu)設(shè)計(jì)的通用方法步驟。但由于軟件需求、現(xiàn)實(shí)情況的變化是難以預(yù)測的,這6個(gè)子過程往往是螺旋式向前推進(jìn)。軟件系統(tǒng)架構(gòu)設(shè)計(jì)常用模式目前軟件領(lǐng)域廣泛使用的軟件系統(tǒng)架構(gòu)模式,主要有層次化架構(gòu)設(shè)計(jì)、企業(yè)集成架構(gòu)設(shè)計(jì)、嵌入式架構(gòu)設(shè)計(jì)和面向服務(wù)的架構(gòu)設(shè)計(jì)模式。層次化架構(gòu)設(shè)計(jì)模式:分層設(shè)計(jì)是一種最為常見的架構(gòu)設(shè)計(jì)方案,能有效地使系統(tǒng)結(jié)構(gòu)清晰、設(shè)計(jì)簡化。MVC模式是當(dāng)今最為流行的多層設(shè)計(jì)模式。該模式把一個(gè)應(yīng)用的輸入、處理、輸出流程進(jìn)行分離并抽象為控制器(Controller)、模型(Model)、視圖(View)三個(gè)
5、模塊,實(shí)現(xiàn)了業(yè)務(wù)邏輯層、數(shù)據(jù)庫訪問層和用戶界面層之間在彼此分離的同時(shí)仍保持松散的耦合關(guān)系,增加了靈活性和可擴(kuò)展性。我們常見的C/S架構(gòu)、B/S架構(gòu)、N層架構(gòu)都是層次化架構(gòu)設(shè)計(jì)的表現(xiàn)形式。企業(yè)集成架構(gòu)設(shè)計(jì)模式:該模式不僅為企業(yè)在異構(gòu)分布式環(huán)境下(操作系統(tǒng)、網(wǎng)絡(luò)、數(shù)據(jù)庫)的業(yè)務(wù)應(yīng)用提供了一致的信息訪問和交互手段,而且為各類業(yè)務(wù)應(yīng)用提供了有效的通信、信息集成、應(yīng)用集成、維護(hù)開發(fā)、運(yùn)行管理等服務(wù)。目前最著名的企業(yè)集成架構(gòu)設(shè)計(jì)包括:CORBA、COM+、J2EE、WebService等。嵌入式架構(gòu)設(shè)計(jì)模式:該模式具備良好的可配置性、可管理性、可擴(kuò)展性、時(shí)效性等性能指標(biāo)。目前業(yè)界主流的嵌入式操作系統(tǒng)都是特
6、定領(lǐng)域?qū)S玫?,其中包括:WinCE、Linux、ECOS、EPOC、LynxOS、VxWorks等。面向服務(wù)的架構(gòu)設(shè)計(jì)模式:該模式將業(yè)務(wù)應(yīng)用按照一定的粒度和原則劃分成為統(tǒng)一標(biāo)準(zhǔn)和統(tǒng)一格式的服務(wù),使企業(yè)可以按照模塊化的方式添加新服務(wù)或更新現(xiàn)有服務(wù),有助于打破信息孤島,促進(jìn)企業(yè)系統(tǒng)集成、資源共享。該模式包括服務(wù)注冊表模式和企業(yè)服務(wù)總線模式兩類。軟件系統(tǒng)架構(gòu)設(shè)計(jì)實(shí)踐軟件系統(tǒng)架構(gòu)設(shè)計(jì)是一項(xiàng)非常復(fù)雜的工作任務(wù)。如何才能做好軟件系統(tǒng)架構(gòu)設(shè)計(jì)呢?需要做好以下幾項(xiàng)工作:樹立軟件系統(tǒng)架構(gòu)的意識。設(shè)計(jì)人員不能局限在算法和數(shù)據(jù)結(jié)構(gòu)上,而是要樹立和不斷強(qiáng)化軟件系統(tǒng)整體架構(gòu)的意識,學(xué)會(huì)運(yùn)用多層架構(gòu)的視角和觀念去分析設(shè)計(jì)
7、軟件。在多層架構(gòu)的實(shí)踐上,通過MVC模式實(shí)現(xiàn)軟件多層結(jié)構(gòu),層和層之間要做到職責(zé)清晰、互相獨(dú)立、耦合關(guān)系松散;在模塊設(shè)計(jì)原則上,要盡量體現(xiàn)“高內(nèi)聚、低耦合”的思想。高度重視軟件設(shè)計(jì)模式。軟件設(shè)計(jì)模式是設(shè)計(jì)人員在長期開發(fā)實(shí)踐中總結(jié)出來的,其他設(shè)計(jì)人員可借助這些模式加快軟件設(shè)計(jì)進(jìn)程,降低開發(fā)風(fēng)險(xiǎn)。所以,設(shè)計(jì)人員應(yīng)高度重視設(shè)計(jì)模式思想,切勿滯留在編碼的層面,應(yīng)不斷總結(jié)經(jīng)驗(yàn),積極嘗試運(yùn)用軟件設(shè)計(jì)模式的思想去提出問題、分析問題、解決問題,提高自身開發(fā)軟件的水平。形成自身的軟件架構(gòu)風(fēng)格。軟件系統(tǒng)架構(gòu)設(shè)計(jì)的核心目標(biāo)是實(shí)現(xiàn)體系架構(gòu)級別的軟件復(fù)用。這就需要設(shè)計(jì)人員一方面不斷學(xué)習(xí)鉆研不同應(yīng)用領(lǐng)域中軟件架構(gòu)的慣用模式、思維、風(fēng)格;另一方面要借鑒吸收先進(jìn)理念,積極探索實(shí)踐,最終形成自身獨(dú)特的軟件架構(gòu)風(fēng)格。充分了解用戶需求,做好全局架構(gòu)設(shè)計(jì)。要做好軟件系統(tǒng)的架構(gòu)設(shè)計(jì),不能急于求成,首先,要全面準(zhǔn)確地收集到
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二四年度上海房產(chǎn)買賣合同智能家居系統(tǒng)配套范本3篇
- 2024版鄭州玻璃崗?fù)どa(chǎn)與供應(yīng)鏈管理合同
- 2025年智能電網(wǎng)建設(shè)項(xiàng)目資金投入合同3篇
- 二零二五版豆腐品牌連鎖加盟合同3篇
- 二零二五年度企業(yè)商業(yè)信用貸款還款合同3篇
- 二零二四年醫(yī)療器械生產(chǎn)許可合同
- 2025年綠色建筑項(xiàng)目瓦工力工勞務(wù)分包及節(jié)能減排合同3篇
- 2025年度大型活動(dòng)臨時(shí)演員招募服務(wù)合同4篇
- 年度豆?jié){粉戰(zhàn)略市場規(guī)劃報(bào)告
- 年度電子廚房秤競爭策略分析報(bào)告
- 中華人民共和國保守國家秘密法實(shí)施條例培訓(xùn)課件
- 管道坡口技術(shù)培訓(xùn)
- OQC培訓(xùn)資料教學(xué)課件
- 2024年8月CCAA國家注冊審核員OHSMS職業(yè)健康安全管理體系基礎(chǔ)知識考試題目含解析
- 體育賽事組織與實(shí)施操作手冊
- 2024年浙江省公務(wù)員考試結(jié)構(gòu)化面試真題試題試卷答案解析
- 2023年航空公司招聘:機(jī)場安檢員基礎(chǔ)知識試題(附答案)
- 皮膚儲存新技術(shù)及臨床應(yīng)用
- 《現(xiàn)在完成時(shí)》語法復(fù)習(xí)課件(共44張-)
- 二年級下冊語文《第3單元 口語交際:長大以后做什么》課件
- 2024年遼寧石化職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫必考題
評論
0/150
提交評論