版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 淺談軟件開發(fā)中的架構(gòu)設(shè)計問題</p><p> [摘 要]文章主要從軟件架構(gòu)的定義、為何需要為軟件設(shè)計架構(gòu)、架構(gòu)設(shè)計的核心思維、軟件架構(gòu)設(shè)計的幾個步驟這幾個方面進(jìn)行闡述,以供參考。 </p><p> [關(guān)鍵詞]軟件開發(fā);架構(gòu)設(shè)計;需求分析 </p><p> 中圖分類號:TP311.5 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-914X(20
2、15)03-0040-01 </p><p> 軟件架構(gòu)是軟件系統(tǒng)中的地基,是一個軟件系統(tǒng)中的核心元素,它決定了一個系統(tǒng)的主體結(jié)構(gòu)、宏觀特性和具有的基本功能及其特性,它位于軟件開發(fā)過程的前期階段,架構(gòu)設(shè)計的過程,是分析客戶需求、挖掘非功能性需求、并將客戶需求所定義的領(lǐng)域知識轉(zhuǎn)化為軟件系統(tǒng)模型的過程。本質(zhì)上軟件架構(gòu)是對軟件需求的一種抽象解決方案,用于指導(dǎo)大型軟件系統(tǒng)各個方面的設(shè)計。正如大型建筑物設(shè)計成功的關(guān)鍵首先
3、在于主體結(jié)構(gòu)。同樣,復(fù)雜的軟件設(shè)計的成功與否在于軟件系統(tǒng)的宏觀上層結(jié)構(gòu)設(shè)計的正確和合理性。但現(xiàn)實中,軟件架構(gòu)的理論和工具還沒有形成系統(tǒng)、規(guī)范的概念和描述,不同架構(gòu)師在圖形符號說明上總是采用自己習(xí)慣的方式,致使軟件架構(gòu)設(shè)計尚未形成一個有效統(tǒng)一的模式知識庫,未能更好地發(fā)揮架構(gòu)設(shè)計本身的作用。在此,本文就軟件開發(fā)的架構(gòu)設(shè)計的相關(guān)內(nèi)容進(jìn)行探討,以供參考。 </p><p> 1 軟件架構(gòu)的定義 </p>
4、<p> 軟件架構(gòu)(Software archiecture)一組有關(guān)如下要素的重要決策:軟件系統(tǒng)的組織,構(gòu)成系統(tǒng)的結(jié)構(gòu)化元素,接口和它們相互協(xié)作的行為的選擇,結(jié)構(gòu)化元素和行為元素組合成力度更大的子系統(tǒng)的方式的選擇,以及指導(dǎo)這一組織 ( 元素及其接口、協(xié)作和組合方式 ) 的架構(gòu)風(fēng)格的選擇。 </p><p> 軟件架構(gòu)是對系統(tǒng)整體結(jié)構(gòu)設(shè)計的刻畫,包括全局組織與控制結(jié)構(gòu)、構(gòu)件間通訊、同步和數(shù)據(jù)訪問的協(xié)
5、議,設(shè)計元素的功能分配,物理分布,設(shè)計元素集成,伸縮性和性能,設(shè)計選擇等。 </p><p> 2 為何需要為軟件設(shè)計架構(gòu) </p><p> 2.1 不進(jìn)行架構(gòu)設(shè)計將很難滿足系統(tǒng)的品質(zhì) </p><p> 軟件架構(gòu)設(shè)計中的一個關(guān)鍵特性,是系統(tǒng)的品質(zhì)是通過某些手段來實現(xiàn)的。軟件的品質(zhì) ( 如性能,安全性和可維護性等 ) 在缺少統(tǒng)一的架構(gòu)設(shè)計時是無法一一實現(xiàn)的,
6、因為軟件的品質(zhì)并不是單一的體現(xiàn)在軟件元素中,而是滲透在整個軟件體系中的,因此我們應(yīng)盡早的評估在項目開發(fā)周期中的這些品質(zhì)。軟件架構(gòu)模型的建立,通常是為確定我們是否已經(jīng)滿足了軟件這些品質(zhì)的要求。 </p><p> 2.2 架構(gòu)設(shè)計很容易讓相關(guān)人員達(dá)成一致的目標(biāo) </p><p> 架構(gòu)設(shè)計提供了一個辯論系統(tǒng)解決方案的媒體,因此架構(gòu)設(shè)計可以使得不同的涉眾達(dá)成一致的目標(biāo)。經(jīng)過有效的傳送,體系
7、架構(gòu)可以使系統(tǒng)構(gòu)架師之間、軟件開發(fā)人員之間或者其他新老成員之間的意見以及他們之間的視圖達(dá)成一致。 </p><p> 2.3 架構(gòu)設(shè)計能夠支持計劃編制過程 </p><p> 架構(gòu)設(shè)計的過程支持設(shè)計和實現(xiàn)活動,因為軟件開發(fā)的過程是直接使用到這些活動中的,例如:細(xì)節(jié)劃分、日程安排、工作分配、成本分析、風(fēng)險管理和技能開發(fā)等。 </p><p> 2.4 架構(gòu)設(shè)計能
8、夠有效地管理軟件復(fù)雜性 </p><p> 如今的軟件系統(tǒng)越來越復(fù)雜,而這種復(fù)雜性需要我們?nèi)ビ行У墓芾?。而架?gòu)設(shè)計過程考慮的是組件的遞歸分解。這是處理一個大的問題的很好的一個方法,它可以把這個大問題分解成很多的小問題,再逐個的解決。 </p><p> 2.5 架構(gòu)設(shè)計為復(fù)用奠定了基礎(chǔ) </p><p> 架構(gòu)設(shè)計過程可以同時支持使用和建立復(fù)用資源。復(fù)用資源對
9、于一個組織來說是有益的,因為它可以降低一個系統(tǒng)的成本,并且可以改進(jìn)系統(tǒng)的質(zhì)量。 </p><p> 架構(gòu)設(shè)計為大規(guī)模開發(fā)提供了基礎(chǔ)和規(guī)范及可重用的資產(chǎn)。要進(jìn)行軟件系統(tǒng)的大規(guī)模開發(fā),需要有一定的基礎(chǔ)和遵循一定的規(guī)范,這既是軟件工程本身的要求,也是客戶的要求。架構(gòu)設(shè)計的過程中可以將一些公共部分抽象提取出來,形成公共類和工具類,以達(dá)到重用的目的。 </p><p> 3 架構(gòu)設(shè)計的核心思維
10、</p><p> 3.1 架構(gòu)設(shè)計的源泉來自于需求分析,并且它的設(shè)計重心和特點來自于質(zhì)量需求而非功能性需求 </p><p> 任何軟件系統(tǒng)都是以滿足一定的需求為目的,因此,一個好的軟件架構(gòu)必須以深入全面的需求分析作為基礎(chǔ)。然而,架構(gòu)設(shè)計并沒有統(tǒng)一的模式,任何模式的架構(gòu)也只有針對問題才有意義。作為架構(gòu)設(shè)計來說,在進(jìn)行需求分析的過程中,系統(tǒng)分析員必須對需求分析有足夠的解,才能有針對性地
11、將客戶需求有效的轉(zhuǎn)化為計算機模型(如架構(gòu)模型及視圖),這樣才能設(shè)計并開發(fā)出優(yōu)秀的軟件產(chǎn)品。與此同時,在需求分析的過程中,系統(tǒng)架構(gòu)設(shè)計師還應(yīng)注重挖掘系統(tǒng)的質(zhì)量需求而非功能性需求,例如軟件系統(tǒng)的穩(wěn)定性、安全性、可擴展性、可定制化、可維護性、用戶體驗等。 </p><p> 3.2 軟件架構(gòu)的實現(xiàn)還需依賴于好的項目管理 </p><p> 任何架構(gòu)思想的完成都依靠于好的項目管理,項目管理也必
12、須與架構(gòu)思想相匹配才能夠發(fā)揮真正的作用。一個好的架構(gòu)設(shè)計不只需求關(guān)心成本,也需求關(guān)心時間,這樣才能在商定的時間內(nèi),以不超越軟件開發(fā)中的成本預(yù)算,生產(chǎn)出契合需求的軟件產(chǎn)品。因而,軟件架構(gòu)設(shè)計時應(yīng)認(rèn)真探討現(xiàn)代項目管理的思想和辦法,吃透其中的精華,按照本身的設(shè)計思想,提進(jìn)項目管理的處理方案,以期能使軟件滿足非功效性需求,并且可以降低開發(fā)成本及維護費用。 </p><p> 軟件架構(gòu)設(shè)計是一個系統(tǒng)工程,它需求軟件系統(tǒng)構(gòu)
13、架師有很寬的知識面,從需求剖析、架構(gòu)設(shè)計到類設(shè)計乃至代碼完成到項目管理都需要有透徹的了解,這之間的關(guān)系是你中有我,我中有你,是不成單獨分開的。軟件系統(tǒng)設(shè)計的辦法并不是一個僵化的規(guī)則,關(guān)鍵是在理論中實事求是的探索規(guī)律,從而找出契合實踐達(dá)到要求的設(shè)計。 </p><p> 4 軟件架構(gòu)設(shè)計的幾個步驟 </p><p> ?。?) 需求分析和理解業(yè)務(wù)模型,并選定關(guān)鍵案例。軟件的需求需要區(qū)分用戶
14、視角和開發(fā)人員視角,從用戶的角度看,又可以分為功能性和非功能性需求,我們必須從不同的視角和級別去全面的認(rèn)識需求并分析需求,理解業(yè)務(wù)模型。實踐表明,常常被我們忽視的非功能性需求常會導(dǎo)致整個項目失敗。 </p><p> (2) 從軟件開發(fā)的各個視角來進(jìn)行軟件架構(gòu)的設(shè)計。軟件的架構(gòu)設(shè)計必須考慮到各個方面,根據(jù)前期工作確立的領(lǐng)域模型,關(guān)鍵需求,系統(tǒng)約束等進(jìn)行設(shè)計,我們應(yīng)從系統(tǒng)用戶、開發(fā)人員、系統(tǒng)管理員、部署管理員、數(shù)
15、據(jù)管理員等人員的角度去分析并解決問題。 </p><p> ?。?) 解決技術(shù)面的重點問題和難題。在軟件架構(gòu)設(shè)計的過程中,我們往往會需要攻克一些技術(shù)面的重點問題和難題,這完全是一項極其需要扎實的理論知識和豐富的實踐經(jīng)驗支撐的工作。 </p><p> ?。?)架構(gòu)設(shè)計評審是極其重要的一環(huán),在進(jìn)行架構(gòu)設(shè)計之前我們應(yīng)召開架構(gòu)設(shè)計評審會議進(jìn)行同行評審。 </p><p>
16、 ?。?)針對關(guān)鍵案例在設(shè)計的架構(gòu)上實現(xiàn)功能來驗證架構(gòu)。 </p><p> (6)交付給客戶評審讓客戶理解并接受架構(gòu)設(shè)計方案,在架構(gòu)設(shè)計得到客戶的認(rèn)可后,便可進(jìn)入大規(guī)模的開發(fā)。 </p><p><b> 5 結(jié)語 </b></p><p> 綜上所述,架構(gòu)設(shè)計是軟件開發(fā)過程的重要組成部分,它不是單純的技術(shù),也不具有一種特定的形式,而是
17、源于客戶需求,其實現(xiàn)依賴于好的項目管理等。良好的軟件架構(gòu)能夠服務(wù)于整個開發(fā)過程,有效地降低項目風(fēng)險,確保項目能夠朝著健康的方向發(fā)展。因此,我們必須重視架構(gòu)設(shè)計在軟件開發(fā)中的重要作用。 </p><p><b> 參考文獻(xiàn) </b></p><p> [1] 陳晴陽.正視架構(gòu)設(shè)計的重要作用 [J].軟件世界,2007,(13). </p><p&
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 實時控制系統(tǒng)軟件開發(fā)架構(gòu)設(shè)計研究及其應(yīng)用.pdf
- 基于組件的多層架構(gòu)軟件開發(fā).pdf
- 鋼結(jié)構(gòu)設(shè)計軟件開發(fā).pdf
- 軟件開發(fā)中的倫理問題研究.pdf
- 軟件架構(gòu)設(shè)計
- 淺談軟件開發(fā)項目的管理
- 軟件架構(gòu)設(shè)計文檔
- 軟件開發(fā)設(shè)計外文翻譯--軟件開發(fā)概念和設(shè)計方法
- 淺談軟件開發(fā)項目中的溝通管理
- 軟件開發(fā)設(shè)計文檔
- 淺談網(wǎng)站架構(gòu)設(shè)計
- 實物取證系統(tǒng)機構(gòu)設(shè)計及其軟件開發(fā).pdf
- 基于SOA架構(gòu)的軟件開發(fā)研究與應(yīng)用.pdf
- 軟件開發(fā)崗位舉證模板_軟件開發(fā)
- 基于Internet和Java技術(shù)的機構(gòu)設(shè)計軟件開發(fā).pdf
- 軟件開發(fā)崗位舉證模板_資深軟件開發(fā)
- 軟件開發(fā)崗位舉證模板_助理軟件開發(fā)
- 軟件開發(fā)崗位舉證模板_高級軟件開發(fā)
- admems軟件架構(gòu)設(shè)計方法
- 畢業(yè)設(shè)計(論文)--軟件開發(fā)三層架構(gòu)的理解與論述
評論
0/150
提交評論