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