淺談軟件開發(fā)中的架構設計問題_第1頁
已閱讀1頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  淺談軟件開發(fā)中的架構設計問題</p><p>  [摘 要]文章主要從軟件架構的定義、為何需要為軟件設計架構、架構設計的核心思維、軟件架構設計的幾個步驟這幾個方面進行闡述,以供參考。 </p><p>  [關鍵詞]軟件開發(fā);架構設計;需求分析 </p><p>  中圖分類號:TP311.5 文獻標識碼:A 文章編號:1009-914X(20

2、15)03-0040-01 </p><p>  軟件架構是軟件系統(tǒng)中的地基,是一個軟件系統(tǒng)中的核心元素,它決定了一個系統(tǒng)的主體結構、宏觀特性和具有的基本功能及其特性,它位于軟件開發(fā)過程的前期階段,架構設計的過程,是分析客戶需求、挖掘非功能性需求、并將客戶需求所定義的領域知識轉化為軟件系統(tǒng)模型的過程。本質(zhì)上軟件架構是對軟件需求的一種抽象解決方案,用于指導大型軟件系統(tǒng)各個方面的設計。正如大型建筑物設計成功的關鍵首先

3、在于主體結構。同樣,復雜的軟件設計的成功與否在于軟件系統(tǒng)的宏觀上層結構設計的正確和合理性。但現(xiàn)實中,軟件架構的理論和工具還沒有形成系統(tǒng)、規(guī)范的概念和描述,不同架構師在圖形符號說明上總是采用自己習慣的方式,致使軟件架構設計尚未形成一個有效統(tǒng)一的模式知識庫,未能更好地發(fā)揮架構設計本身的作用。在此,本文就軟件開發(fā)的架構設計的相關內(nèi)容進行探討,以供參考。 </p><p>  1 軟件架構的定義 </p>

4、<p>  軟件架構(Software archiecture)一組有關如下要素的重要決策:軟件系統(tǒng)的組織,構成系統(tǒng)的結構化元素,接口和它們相互協(xié)作的行為的選擇,結構化元素和行為元素組合成力度更大的子系統(tǒng)的方式的選擇,以及指導這一組織 ( 元素及其接口、協(xié)作和組合方式 ) 的架構風格的選擇。 </p><p>  軟件架構是對系統(tǒng)整體結構設計的刻畫,包括全局組織與控制結構、構件間通訊、同步和數(shù)據(jù)訪問的協(xié)

5、議,設計元素的功能分配,物理分布,設計元素集成,伸縮性和性能,設計選擇等。 </p><p>  2 為何需要為軟件設計架構 </p><p>  2.1 不進行架構設計將很難滿足系統(tǒng)的品質(zhì) </p><p>  軟件架構設計中的一個關鍵特性,是系統(tǒng)的品質(zhì)是通過某些手段來實現(xiàn)的。軟件的品質(zhì) ( 如性能,安全性和可維護性等 ) 在缺少統(tǒng)一的架構設計時是無法一一實現(xiàn)的,

6、因為軟件的品質(zhì)并不是單一的體現(xiàn)在軟件元素中,而是滲透在整個軟件體系中的,因此我們應盡早的評估在項目開發(fā)周期中的這些品質(zhì)。軟件架構模型的建立,通常是為確定我們是否已經(jīng)滿足了軟件這些品質(zhì)的要求。 </p><p>  2.2 架構設計很容易讓相關人員達成一致的目標 </p><p>  架構設計提供了一個辯論系統(tǒng)解決方案的媒體,因此架構設計可以使得不同的涉眾達成一致的目標。經(jīng)過有效的傳送,體系

7、架構可以使系統(tǒng)構架師之間、軟件開發(fā)人員之間或者其他新老成員之間的意見以及他們之間的視圖達成一致。 </p><p>  2.3 架構設計能夠支持計劃編制過程 </p><p>  架構設計的過程支持設計和實現(xiàn)活動,因為軟件開發(fā)的過程是直接使用到這些活動中的,例如:細節(jié)劃分、日程安排、工作分配、成本分析、風險管理和技能開發(fā)等。 </p><p>  2.4 架構設計能

8、夠有效地管理軟件復雜性 </p><p>  如今的軟件系統(tǒng)越來越復雜,而這種復雜性需要我們?nèi)ビ行У墓芾?。而架構設計過程考慮的是組件的遞歸分解。這是處理一個大的問題的很好的一個方法,它可以把這個大問題分解成很多的小問題,再逐個的解決。 </p><p>  2.5 架構設計為復用奠定了基礎 </p><p>  架構設計過程可以同時支持使用和建立復用資源。復用資源對

9、于一個組織來說是有益的,因為它可以降低一個系統(tǒng)的成本,并且可以改進系統(tǒng)的質(zhì)量。 </p><p>  架構設計為大規(guī)模開發(fā)提供了基礎和規(guī)范及可重用的資產(chǎn)。要進行軟件系統(tǒng)的大規(guī)模開發(fā),需要有一定的基礎和遵循一定的規(guī)范,這既是軟件工程本身的要求,也是客戶的要求。架構設計的過程中可以將一些公共部分抽象提取出來,形成公共類和工具類,以達到重用的目的。 </p><p>  3 架構設計的核心思維

10、</p><p>  3.1 架構設計的源泉來自于需求分析,并且它的設計重心和特點來自于質(zhì)量需求而非功能性需求 </p><p>  任何軟件系統(tǒng)都是以滿足一定的需求為目的,因此,一個好的軟件架構必須以深入全面的需求分析作為基礎。然而,架構設計并沒有統(tǒng)一的模式,任何模式的架構也只有針對問題才有意義。作為架構設計來說,在進行需求分析的過程中,系統(tǒng)分析員必須對需求分析有足夠的解,才能有針對性地

11、將客戶需求有效的轉化為計算機模型(如架構模型及視圖),這樣才能設計并開發(fā)出優(yōu)秀的軟件產(chǎn)品。與此同時,在需求分析的過程中,系統(tǒng)架構設計師還應注重挖掘系統(tǒng)的質(zhì)量需求而非功能性需求,例如軟件系統(tǒng)的穩(wěn)定性、安全性、可擴展性、可定制化、可維護性、用戶體驗等。 </p><p>  3.2 軟件架構的實現(xiàn)還需依賴于好的項目管理 </p><p>  任何架構思想的完成都依靠于好的項目管理,項目管理也必

12、須與架構思想相匹配才能夠發(fā)揮真正的作用。一個好的架構設計不只需求關心成本,也需求關心時間,這樣才能在商定的時間內(nèi),以不超越軟件開發(fā)中的成本預算,生產(chǎn)出契合需求的軟件產(chǎn)品。因而,軟件架構設計時應認真探討現(xiàn)代項目管理的思想和辦法,吃透其中的精華,按照本身的設計思想,提進項目管理的處理方案,以期能使軟件滿足非功效性需求,并且可以降低開發(fā)成本及維護費用。 </p><p>  軟件架構設計是一個系統(tǒng)工程,它需求軟件系統(tǒng)構

13、架師有很寬的知識面,從需求剖析、架構設計到類設計乃至代碼完成到項目管理都需要有透徹的了解,這之間的關系是你中有我,我中有你,是不成單獨分開的。軟件系統(tǒng)設計的辦法并不是一個僵化的規(guī)則,關鍵是在理論中實事求是的探索規(guī)律,從而找出契合實踐達到要求的設計。 </p><p>  4 軟件架構設計的幾個步驟 </p><p>  (1) 需求分析和理解業(yè)務模型,并選定關鍵案例。軟件的需求需要區(qū)分用戶

14、視角和開發(fā)人員視角,從用戶的角度看,又可以分為功能性和非功能性需求,我們必須從不同的視角和級別去全面的認識需求并分析需求,理解業(yè)務模型。實踐表明,常常被我們忽視的非功能性需求常會導致整個項目失敗。 </p><p> ?。?) 從軟件開發(fā)的各個視角來進行軟件架構的設計。軟件的架構設計必須考慮到各個方面,根據(jù)前期工作確立的領域模型,關鍵需求,系統(tǒng)約束等進行設計,我們應從系統(tǒng)用戶、開發(fā)人員、系統(tǒng)管理員、部署管理員、數(shù)

15、據(jù)管理員等人員的角度去分析并解決問題。 </p><p> ?。?) 解決技術面的重點問題和難題。在軟件架構設計的過程中,我們往往會需要攻克一些技術面的重點問題和難題,這完全是一項極其需要扎實的理論知識和豐富的實踐經(jīng)驗支撐的工作。 </p><p> ?。?)架構設計評審是極其重要的一環(huán),在進行架構設計之前我們應召開架構設計評審會議進行同行評審。 </p><p>

16、  (5)針對關鍵案例在設計的架構上實現(xiàn)功能來驗證架構。 </p><p> ?。?)交付給客戶評審讓客戶理解并接受架構設計方案,在架構設計得到客戶的認可后,便可進入大規(guī)模的開發(fā)。 </p><p><b>  5 結語 </b></p><p>  綜上所述,架構設計是軟件開發(fā)過程的重要組成部分,它不是單純的技術,也不具有一種特定的形式,而是

17、源于客戶需求,其實現(xiàn)依賴于好的項目管理等。良好的軟件架構能夠服務于整個開發(fā)過程,有效地降低項目風險,確保項目能夠朝著健康的方向發(fā)展。因此,我們必須重視架構設計在軟件開發(fā)中的重要作用。 </p><p><b>  參考文獻 </b></p><p>  [1] 陳晴陽.正視架構設計的重要作用 [J].軟件世界,2007,(13). </p><p&

溫馨提示

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

評論

0/150

提交評論