軟件系統(tǒng)的架構(gòu)設(shè)計(jì)方案_第1頁(yè)
軟件系統(tǒng)的架構(gòu)設(shè)計(jì)方案_第2頁(yè)
軟件系統(tǒng)的架構(gòu)設(shè)計(jì)方案_第3頁(yè)
軟件系統(tǒng)的架構(gòu)設(shè)計(jì)方案_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

軟件系統(tǒng)的架構(gòu)設(shè)計(jì)方案架構(gòu)的定義定義架構(gòu)的最短形式是:“架構(gòu)是一種構(gòu)造〞,這是一種對(duì)的的理解,但世界還沒(méi)太平。假設(shè)做一種比方,架構(gòu)就像一種操作系統(tǒng),不同的角度有不同的理解,不同的關(guān)切者有各自的著重點(diǎn),多視點(diǎn)的不同理解都是架構(gòu)需要的,也只有通過(guò)多視點(diǎn)來(lái)考察才干演化出一種有效的架構(gòu)。從靜態(tài)的角度,架構(gòu)要回復(fù)一種系統(tǒng)在技術(shù)上如何組織;從變化的角度,架構(gòu)要回復(fù)如何支持系統(tǒng)不停產(chǎn)生的新功效、新變化以及適時(shí)的重構(gòu);從效勞質(zhì)量的角度,架構(gòu)要平衡多個(gè)和顧客體驗(yàn)有關(guān)的指標(biāo);從運(yùn)維的角度,架構(gòu)要回復(fù)如何充足運(yùn)用計(jì)算機(jī)或網(wǎng)絡(luò)資源及其擴(kuò)展方略;從經(jīng)濟(jì)的角度,架構(gòu)要回復(fù)如何在可行的根底上減少完本錢錢等等軟件系統(tǒng)架構(gòu)(Software

Architecture)是有關(guān)軟件系統(tǒng)的構(gòu)造、行為、屬性、構(gòu)成要素及其之間交互關(guān)系的高級(jí)抽象。任何軟件開(kāi)發(fā)工程,都會(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),可覺(jué)得軟件系統(tǒng)提供穩(wěn)定可靠的體系構(gòu)造支撐平臺(tái),還能夠支持最大粒度的軟件復(fù)用,減少開(kāi)發(fā)運(yùn)維本錢。如何做好軟件系統(tǒng)的架構(gòu)設(shè)計(jì)呢?

軟件系統(tǒng)架構(gòu)設(shè)計(jì)辦法環(huán)節(jié)

基于體系架構(gòu)的軟件設(shè)計(jì)模型把軟件過(guò)程劃分為體系架構(gòu)需求、設(shè)計(jì)、文檔化、復(fù)審、完畢和演化6個(gè)子過(guò)程,現(xiàn)逐個(gè)簡(jiǎn)要概述以下。

體系架構(gòu)需求:立刻顧客對(duì)軟件系統(tǒng)功效、性能、界面、設(shè)計(jì)約束等方面的盼望〔即“需求〞〕進(jìn)行獵取、分析、加工,并將每一種需求工程抽象定義為構(gòu)件(類的集合)。體系架構(gòu)設(shè)計(jì):即采納迭代的辦法首先選擇一種適宜的軟件體系架構(gòu)風(fēng)格(如C/S、B/S、N層、管道過(guò)濾器風(fēng)格、C2風(fēng)格等)作為架構(gòu)模型,然后將需求階段標(biāo)記的構(gòu)件映射到模型中,分析構(gòu)件間的互相作用關(guān)系,最后形成量身訂做的軟件體系架構(gòu)。

體系架構(gòu)文檔化:即生成顧客和研發(fā)人員能夠閱讀的體系架構(gòu)規(guī)格闡明書(shū)和體系架構(gòu)設(shè)計(jì)闡明書(shū)。

體系架構(gòu)復(fù)審:即及早察覺(jué)體系架構(gòu)設(shè)計(jì)中存在的缺點(diǎn)和錯(cuò)誤,及時(shí)予以標(biāo)記和排解。

體系架構(gòu)完畢:即設(shè)計(jì)人員開(kāi)發(fā)出系統(tǒng)構(gòu)件,按照體系架構(gòu)設(shè)計(jì)規(guī)格闡明書(shū)進(jìn)行構(gòu)件的關(guān)聯(lián)、合成、組裝和測(cè)試。

體系架構(gòu)演化:如果顧客需求發(fā)生了變化,則需對(duì)應(yīng)地修改完善優(yōu)化、調(diào)節(jié)軟件體系構(gòu)造,以適應(yīng)新的變化了的軟件需求。

以上6個(gè)子過(guò)程是軟件系統(tǒng)架構(gòu)設(shè)計(jì)的通用辦法環(huán)節(jié)。但由于軟件需求、現(xiàn)狀的變化是難以預(yù)測(cè)的,這6個(gè)子過(guò)程往往是螺旋式向前推動(dòng)。

軟件系統(tǒng)架構(gòu)設(shè)計(jì)慣用模式

現(xiàn)在軟件領(lǐng)域廣泛使用的軟件系統(tǒng)架構(gòu)模式,重要有層次化架構(gòu)設(shè)計(jì)、公司集成架構(gòu)設(shè)計(jì)、嵌入式架構(gòu)設(shè)計(jì)和面對(duì)效勞的架構(gòu)設(shè)計(jì)模式。

層次化架構(gòu)設(shè)計(jì)模式:分層設(shè)計(jì)是一種最為常見(jiàn)的架構(gòu)設(shè)計(jì)方案,能有效地使系統(tǒng)構(gòu)造清晰、設(shè)計(jì)簡(jiǎn)化。MVC模式是當(dāng)今最為流行的多層設(shè)計(jì)模式。該模式把一種應(yīng)用的輸入、解決、輸出流程進(jìn)行別離并抽象為操作器(Controller)、模型(Model)、視圖(View)三個(gè)模塊,完畢了業(yè)務(wù)邏輯層、數(shù)據(jù)庫(kù)訪問(wèn)層和顧客界面層之間在彼此別離的同時(shí)仍保持松散的耦合關(guān)系,增加了敏捷性和可擴(kuò)展性。我們常見(jiàn)的C/S架構(gòu)、B/S架構(gòu)、N層架構(gòu)都是層次化架構(gòu)設(shè)計(jì)的體現(xiàn)形式。

公司集成架構(gòu)設(shè)計(jì)模式:該模式不僅為公司在異構(gòu)分布式環(huán)境下〔操作系統(tǒng)、網(wǎng)絡(luò)、數(shù)據(jù)庫(kù)〕的業(yè)務(wù)應(yīng)用提供了一致的信息訪問(wèn)和交互手段,并且為各類業(yè)務(wù)應(yīng)用提供了有效的通信、信息集成、應(yīng)用集成、維護(hù)開(kāi)發(fā)、運(yùn)行治理等效勞?,F(xiàn)在最出名的公司集成架構(gòu)設(shè)計(jì)包含:CORBA、COM+、J2EE、WebService等。

嵌入式架構(gòu)設(shè)計(jì)模式:該模式含有良好的可配備性、可治理性、可擴(kuò)展性、時(shí)效性等性能指標(biāo)?,F(xiàn)在業(yè)界主流的嵌入式操作系統(tǒng)都是特定領(lǐng)域?qū)S玫模渲邪篧inCE、Linux、ECOS、EPOC、LynxOS、VxWorks等。

面對(duì)效勞的架構(gòu)設(shè)計(jì)模式:該模式將業(yè)務(wù)應(yīng)用按照必定的粒度和原則劃分成為統(tǒng)一原則和統(tǒng)一格式的效勞,使公司能夠按照模塊化的辦法添加新效勞或更新現(xiàn)有效勞,有助于打破信息孤島,增進(jìn)公司系統(tǒng)集成、資源共享。該模式包含效勞注冊(cè)表模式和公司效勞總線模式兩類。

軟件系統(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)工作:

樹(shù)立軟件系統(tǒng)架構(gòu)的意識(shí)。設(shè)計(jì)人員不能局限在算法和數(shù)據(jù)構(gòu)造上,而是要樹(shù)立和不停強(qiáng)化軟件系統(tǒng)整體架構(gòu)的意識(shí),學(xué)會(huì)運(yùn)用多層架構(gòu)的視角和觀念去分析設(shè)計(jì)軟件。在多層架構(gòu)的實(shí)踐上,通過(guò)MVC模式完畢軟件多層構(gòu)造,層和層之間要做到職責(zé)清晰、互相獨(dú)立、耦合關(guān)系松散;在模塊設(shè)計(jì)原則上,要盡量體現(xiàn)“高內(nèi)聚、低耦合〞的思想。

高度重視軟件設(shè)計(jì)模式。軟件設(shè)計(jì)模式是設(shè)計(jì)人員在長(zhǎng)久開(kāi)發(fā)實(shí)踐中總結(jié)出來(lái)的,其它設(shè)計(jì)人員可借助這些模式加緊軟件設(shè)計(jì)進(jìn)程,減少開(kāi)發(fā)風(fēng)險(xiǎn)。因此,設(shè)計(jì)人員應(yīng)高度重視設(shè)計(jì)模式思想,切勿滯留在編碼的層面,應(yīng)不??偨Y(jié)經(jīng)驗(yàn),主動(dòng)嘗試運(yùn)用軟件設(shè)計(jì)模式的思想去提出問(wèn)題、分析問(wèn)題、解決問(wèn)題,提高本身開(kāi)發(fā)軟件的水平。

形成本身的軟件架構(gòu)風(fēng)格。軟件系統(tǒng)架構(gòu)設(shè)計(jì)的核心目的是完畢體系架構(gòu)級(jí)別的軟件復(fù)用。這就需要設(shè)計(jì)人員首先不停學(xué)習(xí)鉆研不同應(yīng)用領(lǐng)域中軟件架構(gòu)的慣用模式、思維、風(fēng)格;另首先要借鑒汲取先進(jìn)理念,主動(dòng)探究實(shí)踐,最后形成本身獨(dú)特的軟件架構(gòu)風(fēng)格。

溫馨提示

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

評(píng)論

0/150

提交評(píng)論