軟件系統(tǒng)設(shè)計(jì)總體思路_第1頁
軟件系統(tǒng)設(shè)計(jì)總體思路_第2頁
軟件系統(tǒng)設(shè)計(jì)總體思路_第3頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、.軟件 / 系統(tǒng)設(shè)計(jì)的總體思路一、概念軟件設(shè)計(jì)的本質(zhì)就是針對(duì)軟件的需求,建立模型, 通過將模型映射為軟件, 來解決實(shí)際問題。因此軟件設(shè)計(jì)需要解決的核心問題是建立合適的模型,使得能夠開發(fā)出滿足用戶需求的軟件產(chǎn)品,并具有以下特性:? 靈活性( Flexibility)? 有效性( Efficiency)? 可靠性( Reliability)? 可理解性( Understandability)? 維護(hù)性( Maintainability)? 重用性( Reuse-ability)? 適應(yīng)性( Adaptability)? 可移植性( Portability)? 可追蹤性( Traceability)

2、? 互操作性( Interoperability)因此,軟件設(shè)計(jì)并沒有一套放之四海而皆準(zhǔn)的方法和模板,需要我們的設(shè)計(jì)開發(fā)人員在軟件的設(shè)計(jì)開發(fā)過程中針對(duì)軟件項(xiàng)目的特點(diǎn)進(jìn)行溝通和協(xié)調(diào),整理出對(duì)軟件項(xiàng)目團(tuán)隊(duì)的行之有效的方式, 進(jìn)行軟件的設(shè)計(jì)。并保障軟件設(shè)計(jì)文檔的一致性,完整性和可理解性。精選.我們經(jīng)常聽到這樣的話:? “設(shè)計(jì)文檔沒有用,是用來糊弄客戶和管理層的文檔”;? “用來寫設(shè)計(jì)文檔的時(shí)間,我的開發(fā)早就做完了”;? “項(xiàng)目緊張,沒有時(shí)間做設(shè)計(jì)”;這些言論,并不是正確的觀念, 根據(jù)軟件項(xiàng)目的實(shí)際情況,軟件開發(fā)設(shè)計(jì)團(tuán)隊(duì)可以約定設(shè)計(jì)文檔的詳細(xì)程度。 項(xiàng)目團(tuán)隊(duì)需要保障設(shè)計(jì)文檔的完整性和一致性,在項(xiàng)目進(jìn)度

3、緊張的情況下, 軟件設(shè)計(jì)文檔可以更初略一些;在項(xiàng)目時(shí)間充裕的情況下,相關(guān)文檔可以更為詳盡。 但是在項(xiàng)目開發(fā)過程中, 需要軟件設(shè)計(jì)開發(fā)團(tuán)隊(duì)對(duì)于設(shè)計(jì)文檔有共同的理解。二、設(shè)計(jì)文檔分類與使用通常來說,作為軟件項(xiàng)目,我們需要有這幾類文檔? 需求說明文檔? 功能設(shè)計(jì)文檔? 系統(tǒng)架構(gòu)說明書? 模塊概要設(shè)計(jì)文檔? 模塊詳細(xì)設(shè)計(jì)文檔就像我之前說到的,在某個(gè)軟件團(tuán)隊(duì),對(duì)于以上的文檔的要求是可以完全不同的,在簡(jiǎn)單項(xiàng)目中,可能所有類型的文檔放在一個(gè)文檔中進(jìn)行說明;在復(fù)雜項(xiàng)目中,每一類文檔可能都要寫幾個(gè)文檔;而在最極端的情況下, 可能每一類文檔都能裝精選.訂成幾冊(cè)。因此,在我們軟件設(shè)計(jì)和開發(fā)人員心目中需要明確的是:文

4、檔并不是我們進(jìn)行設(shè)計(jì)的目標(biāo),也不是我們?cè)O(shè)計(jì)過程中額外的工作。軟件設(shè)計(jì)文檔是我們?cè)谲浖O(shè)計(jì)開發(fā)過程中形成的,用來在軟件設(shè)計(jì)開發(fā)團(tuán)隊(duì)內(nèi)部以及與各干系人之間進(jìn)行溝通的文檔,這些文檔記錄了軟件項(xiàng)目中的各種知識(shí),方案的思路、以及各種決策意見。三、軟件設(shè)計(jì)開發(fā)過程下面我們就軟件設(shè)計(jì)開發(fā)過程中必須要完成的工作進(jìn)行梳理,而我們需要注意到,這些需要完成的工作, 在不同的開發(fā)流程模型的指導(dǎo)下可能有不同的時(shí)間要求,而我們需要關(guān)注的是在這個(gè)階段內(nèi)需要完成的工作,以及這個(gè)階段內(nèi)我們需要溝通的人員。1. 需求分析需求分析是我們進(jìn)行任何一個(gè)軟件項(xiàng)目設(shè)計(jì)開發(fā)過程中都必須要完成的工作。這個(gè)工作通常與客戶一起完成。在不同的項(xiàng)目中

5、,這個(gè)“客戶”可能來自真正的購(gòu)買產(chǎn)品的用戶, 使用系統(tǒng)的用戶, 也有可能來自團(tuán)隊(duì)的某個(gè)人員,如產(chǎn)品經(jīng)理等。軟件設(shè)計(jì)開發(fā)團(tuán)隊(duì)的參與成員根據(jù)項(xiàng)目的不同規(guī)模,則參與的人員也有所不同。原則上,設(shè)計(jì)開發(fā)人員參與的時(shí)間點(diǎn)越早,對(duì)于需求的理解和把握會(huì)更好。這個(gè)階段,通常需要軟件架構(gòu)師參與其中。從資源優(yōu)化的角度來說, 開發(fā)人員不必參與需求分析,但需要理解需求。需求分析的結(jié)果通常我們需要使用需求說明文檔來描述,目前主流的需求描述方法包括:用戶例圖、用戶故事等方式。這些方式有所不同的側(cè)重,其核心思想就精選.是描述清楚用戶的使用場(chǎng)景。但無論采取何種方式, 進(jìn)行需求的描述, 需求說明需要明確以下幾點(diǎn):? 所需要開發(fā)的

6、軟件系統(tǒng)邊界? 系統(tǒng)所有的相關(guān)及使用人員角色? 系統(tǒng)關(guān)鍵的使用場(chǎng)景? 系統(tǒng)規(guī)模、性能要求以及部署方式等非功能性需求2. 功能設(shè)計(jì)功能設(shè)計(jì)與需求分析差不多同時(shí)在開展,在很多軟件項(xiàng)目中, 對(duì)于功能設(shè)計(jì)不是特別重視。但對(duì)于某些軟件項(xiàng)目而言, 這是一個(gè)相當(dāng)重要的工作。對(duì)于主要是用戶界面的軟件項(xiàng)目來說, 功能設(shè)計(jì)可以看作是畫出原型界面,描述使用場(chǎng)景, 獲得用戶認(rèn)可的過程。 而對(duì)于沒有界面的軟件項(xiàng)目來說,則功能設(shè)計(jì)與需求分析的區(qū)分更為模糊。參與的人員與需求分析的參與人員類似,架構(gòu)師更側(cè)重于參與此類工作,并給與一些實(shí)現(xiàn)層面的判斷和取舍。功能設(shè)計(jì)需要明確的核心是:? 系統(tǒng)的行為3. 系統(tǒng)架構(gòu)設(shè)計(jì)系統(tǒng)架構(gòu)設(shè)計(jì)是

7、一個(gè)非常依賴于經(jīng)驗(yàn)的設(shè)計(jì)過程。需要根據(jù)軟件項(xiàng)目的特定功能需求和非功能性需求進(jìn)行取舍,最終獲得一個(gè)滿足各方要求的系統(tǒng)架構(gòu)。系統(tǒng)架構(gòu)的不同,將很大程度上決定系統(tǒng)開發(fā)和維護(hù)是否能夠較為容易的適應(yīng)需求變化,以及適應(yīng)業(yè)務(wù)規(guī)模擴(kuò)張。精選.架構(gòu)設(shè)計(jì)工作中,用戶參與程度很低。軟件開發(fā)團(tuán)隊(duì)中的需求人員參與程度很低,但團(tuán)隊(duì)中的所有核心設(shè)計(jì)和開發(fā)人員都應(yīng)該參與其中,并達(dá)成一致意見。架構(gòu)設(shè)計(jì)的主要成果,是將系統(tǒng)的不同視圖予以呈現(xiàn),并使之落實(shí)到開發(fā)中:? 系統(tǒng)開發(fā)視圖及技術(shù)路線選擇? 系統(tǒng)邏輯視圖? 系統(tǒng)部署視圖? 系統(tǒng)模塊視圖? 系統(tǒng)的領(lǐng)域模型在軟件開發(fā)過程中, 系統(tǒng)的架構(gòu)不是一成不變的, 隨著設(shè)計(jì)人員和開發(fā)人員對(duì)于

8、系統(tǒng)的理解不斷深入, 系統(tǒng)的架構(gòu)也會(huì)發(fā)生演化。在軟件項(xiàng)目中, 架構(gòu)設(shè)計(jì)是開發(fā)團(tuán)隊(duì)溝通的統(tǒng)一語言, 設(shè)計(jì)文檔必須要隨著系統(tǒng)的變化進(jìn)行更新,保障開發(fā)團(tuán)隊(duì)對(duì)于系統(tǒng)的理解和溝通的一致性。4. 模塊 / 子系統(tǒng)概要設(shè)計(jì)模塊 / 子系統(tǒng)的概要設(shè)計(jì), 由架構(gòu)師參與, 核心設(shè)計(jì)和開發(fā)人員負(fù)責(zé)的方式進(jìn)行。在概要設(shè)計(jì)工作中, 我們需要在架構(gòu)確定的開發(fā)路線的指導(dǎo)下,完成模塊功能實(shí)現(xiàn)的關(guān)鍵設(shè)計(jì)工作。 在概要設(shè)計(jì)階段, 需要關(guān)注于模塊的核心功能和難點(diǎn)進(jìn)行設(shè)計(jì)。這個(gè)過程中更多推薦的采用UML 來進(jìn)行概要設(shè)計(jì),需要進(jìn)行:? 模塊實(shí)現(xiàn)機(jī)制設(shè)計(jì)? 模塊接口設(shè)計(jì)? 關(guān)鍵類設(shè)計(jì)精選.? 畫出時(shí)序圖? 交互圖等。5. 模塊詳細(xì)設(shè)計(jì)在瀑布式開發(fā)模型中,模塊的詳細(xì)設(shè)計(jì)會(huì)要求比較嚴(yán)格, 將所有類進(jìn)行詳細(xì)設(shè)計(jì)。據(jù)我所知,除了一些對(duì)于系統(tǒng)健壯性要求非常嚴(yán)格的軟件項(xiàng)目,如國(guó)防項(xiàng)目, 金融項(xiàng)目還要求有詳細(xì)設(shè)計(jì)文檔之外。其他的項(xiàng)目大多采用其他方式來處理這樣的工作,如自動(dòng)化測(cè)試等。綜上所述,軟件設(shè)計(jì)文檔作為軟件開發(fā)團(tuán)隊(duì)的溝通、理解、知識(shí)共享的手段,具有非常重要的意義。 而根據(jù)軟件團(tuán)隊(duì)的規(guī)模, 對(duì)于文檔上承載的信息詳細(xì)程度可以有

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論