軟件工程中的圖(轉(zhuǎn))
軟件工程中的圖我們通常都是對(duì)圖形化的東西情有獨(dú)鐘,我們小時(shí)候的啟蒙教育基本上也都是從圖形化開(kāi)始的,我們?cè)?jīng)看過(guò)的連環(huán)畫(huà)、漫畫(huà)、看圖識(shí)字等等。因?yàn)閳D形能將一個(gè)抽象的東西具體化、形象化,圖形化的表述能將一個(gè)用文字語(yǔ)言無(wú)法表達(dá)清楚或很難表達(dá)的觀點(diǎn)、事物、科學(xué)概念等清晰的呈現(xiàn)出來(lái)。這就是為什么我們相比晦澀難懂文字更喜歡形象生動(dòng)的圖形的原因。
軟件工程導(dǎo)論作為軟件工程中非常重要的一門(mén)課程,通常因?yàn)槠淦目菩浴⒗碚撔浴⒏拍钚远貌坏饺藗兊闹匾暎疫\(yùn)的是在軟件工程導(dǎo)論中有我們非常易于接受、理解的東西——圖,否則我們自己會(huì)把自己害得很慘(軟件工程導(dǎo)論真的很重要哦!)。
軟件工程導(dǎo)論中一般把軟件的開(kāi)發(fā)分為八個(gè)階段:1.問(wèn)題定義 2.可行性研究 3.需求分析 4.總體設(shè)計(jì)(概要設(shè)計(jì)) 5.詳細(xì)設(shè)計(jì) 6.編碼和單元測(cè)試 7.綜合測(cè)試 8.軟件維護(hù)。下面我們就說(shuō)說(shuō)各個(gè)階段中與圖的難解難分。
1. 問(wèn)題定義
問(wèn)題定義階段主要是根據(jù)用戶(hù)的需求來(lái)定義用戶(hù)需要解決的問(wèn)題,用戶(hù)要實(shí)現(xiàn)哪些功能。
2. 可行性研究
可行性研究階段就是看是否有一種使其在最小的代價(jià),盡可能短的時(shí)間內(nèi),利益最大化的情況下解決問(wèn)題的方案。這個(gè)階段的分析主要涉及以下幾個(gè)圖形工具。
2.1 系統(tǒng)流程圖
系統(tǒng)流程圖是描述系統(tǒng)物理模型的一種傳統(tǒng)工具。它是表達(dá)數(shù)據(jù)在系統(tǒng)各部件之間流動(dòng)的情況,而不是對(duì)數(shù)據(jù)加工處理的控制過(guò)程,它是物理數(shù)據(jù)流圖而不是程序流程圖。系統(tǒng)流程圖形象的呈現(xiàn)了軟件的功能,即使不懂軟件的人也可以輕松的看懂,可以說(shuō)它是軟件設(shè)計(jì)師與用戶(hù)之間溝通、交流的有效工具。
2.2 數(shù)據(jù)流圖
數(shù)據(jù)流圖是從數(shù)據(jù)傳遞和加工角度,以圖形方式來(lái)表達(dá)系統(tǒng)的邏輯功能、數(shù)據(jù)在系統(tǒng)內(nèi)部的邏輯流向和邏輯變換過(guò)程,是結(jié)構(gòu)化系統(tǒng)分析方法的主要表達(dá)工具及用于表示軟件模型的一種圖示方法。如果說(shuō)系統(tǒng)流程圖能讓用戶(hù)更好的明白系統(tǒng)的功能,那么數(shù)據(jù)流圖則讓用戶(hù)更加明白系統(tǒng)的工作原理。
2.3 數(shù)據(jù)字典
數(shù)據(jù)字典就是數(shù)據(jù)的信息的集合,也可以說(shuō)就是對(duì)上面提到的數(shù)據(jù)流圖中的所有元素的定義的集合。數(shù)據(jù)字典的主要作用就是在軟件的分析與設(shè)計(jì)階段方便我們查閱不甚了解的數(shù)據(jù)的描述信息。
3. 需求分析
需求分析階段主要確定系統(tǒng)必須做什么。比如用戶(hù)對(duì)系統(tǒng)的要求,確定目標(biāo)系統(tǒng)所有的功能,確定系統(tǒng)運(yùn)行的硬件和軟件環(huán)境,系統(tǒng)性能要求,出錯(cuò)處理要求,接口需求,驗(yàn)證軟件需求等等。
3.1 E-r圖
E-r圖的主要作用就是把用戶(hù)的數(shù)據(jù)要求用可視化的圖形呈現(xiàn)出來(lái)。
3.2 狀態(tài)轉(zhuǎn)換圖
狀態(tài)轉(zhuǎn)換圖說(shuō)白了就是系統(tǒng)的行為建模,就是通過(guò)描述系統(tǒng)的狀態(tài)以及引起狀態(tài)變化的事件來(lái)表示系統(tǒng)的行為,將系統(tǒng)運(yùn)行時(shí)詳細(xì)的狀態(tài)變化呈現(xiàn)給用戶(hù)。
3.3 層次方框圖
層次方框圖像用戶(hù)呈現(xiàn)的是數(shù)據(jù)的層次結(jié)構(gòu)。
3.4 Warnier圖
Warnier圖的作用和層次方框圖的作用基本相同,只不過(guò)Warnier圖的描述手段更多。
3.5 IPO圖
IPO圖是輸入、處理和輸出圖的簡(jiǎn)稱(chēng),它清楚的描述了輸入數(shù)據(jù)、處理數(shù)據(jù)、輸出數(shù)據(jù)之間的關(guān)系。
4. 總體設(shè)計(jì)
需求分析階段已經(jīng)確定了系統(tǒng)要做什么的問(wèn)題,而總體設(shè)計(jì)就是要弄明白怎么做的問(wèn)題,總體設(shè)計(jì)的目的就是從宏觀上概括的說(shuō)系統(tǒng)應(yīng)該怎樣實(shí)現(xiàn),具體一點(diǎn)就是要明確系統(tǒng)有哪些模塊組成,以及這些模塊之間的關(guān)系是怎樣的。
4.1 層次圖
層次圖是用來(lái)描述軟件的層次結(jié)構(gòu)的。
4.2 HIPO圖
HIPO圖 = 層次圖+輸入+處理+輸出
4.3 結(jié)構(gòu)圖
結(jié)構(gòu)圖和層次圖類(lèi)似,都是描述軟件結(jié)構(gòu)的圖形工具。
5. 詳細(xì)設(shè)計(jì)
詳細(xì)設(shè)計(jì)階段就是在總體設(shè)計(jì)的基礎(chǔ)上要確定怎樣具體的詳細(xì)的實(shí)現(xiàn)系統(tǒng)所要求的功能,要對(duì)系統(tǒng)進(jìn)行精確的描述。
5.1 程序流程圖
程序流程圖是對(duì)程序控制流程的直觀描述。
5.2 盒圖
出于要有種不允許違背結(jié)構(gòu)設(shè)計(jì)精神圖形工具考慮Nassi和shneiderman提出了盒圖又稱(chēng)為N—S圖。
5.3 問(wèn)題分析PAD圖
PAD圖就是用二維樹(shù)形結(jié)構(gòu)圖來(lái)表示程序的控制流。
6. 編碼和單元測(cè)試
編碼和單元測(cè)試階段主要是對(duì)詳細(xì)設(shè)計(jì)階段的詳細(xì)描述給以具體的實(shí)現(xiàn)和模塊的測(cè)試。
7. 綜合測(cè)試
綜合測(cè)試包括對(duì)系統(tǒng)的各個(gè)組件和功能的測(cè)試,要求覆蓋軟件系統(tǒng)的各個(gè)功能點(diǎn),并根據(jù)被測(cè)軟件的需求測(cè)試軟件的性能、易用性等方面的內(nèi)容,達(dá)到對(duì)軟件全方面測(cè)試的目的。
8. 軟件維護(hù)
軟件維護(hù)階段是軟件生命周期中最后的一個(gè)階段,也是最長(zhǎng)的一個(gè)階段,軟件維護(hù)主要任務(wù)是指根據(jù)需求變化或硬件環(huán)境的變化對(duì)應(yīng)用程序進(jìn)行部分或全部的修改,修改時(shí)應(yīng)充分利用源程序。修改后要填寫(xiě)程序改登記表,并在程序變更通知書(shū)上寫(xiě)明新舊程序的不同之處。
參考文獻(xiàn):
1. 文中的部分定義參考于百度百科http://baike.baidu.com/。
2. 文中的一部分圖片來(lái)源于《軟件工程導(dǎo)論》第五版(張海藩 編著),一部分來(lái)源于互聯(lián)網(wǎng)。
|
|
posted on 2013-05-07 17:16 一堣而安 閱讀(275) 評(píng)論(0) 編輯 收藏 所屬分類(lèi): 軟件工程