tinguo002

           

          軟件工程中的圖(轉(zhuǎn))

          軟件工程中的圖

          我們通常都是對圖形化的東西情有獨(dú)鐘,我們小時(shí)候的啟蒙教育基本上也都是從圖形化開始的,我們曾經(jīng)看過的連環(huán)畫、漫畫、看圖識(shí)字等等。因?yàn)閳D形能將一個(gè)抽象的東西具體化、形象化,圖形化的表述能將一個(gè)用文字語言無法表達(dá)清楚或很難表達(dá)的觀點(diǎn)、事物、科學(xué)概念等清晰的呈現(xiàn)出來。這就是為什么我們相比晦澀難懂文字更喜歡形象生動(dòng)的圖形的原因。

            軟件工程導(dǎo)論作為軟件工程中非常重要的一門課程,通常因?yàn)槠淦目菩?、理論性、概念性而得不到人們的重視,但幸運(yùn)的是在軟件工程導(dǎo)論中有我們非常易于接受、理解的東西——圖,否則我們自己會(huì)把自己害得很慘(軟件工程導(dǎo)論真的很重要哦?。?。

            軟件工程導(dǎo)論中一般把軟件的開發(fā)分為八個(gè)階段:1.問題定義 2.可行性研究 3.需求分析 4.總體設(shè)計(jì)(概要設(shè)計(jì)) 5.詳細(xì)設(shè)計(jì) 6.編碼和單元測試 7.綜合測試 8.軟件維護(hù)。下面我們就說說各個(gè)階段中與圖的難解難分。

            1. 問題定義

            問題定義階段主要是根據(jù)用戶的需求來定義用戶需要解決的問題,用戶要實(shí)現(xiàn)哪些功能。                        

           ?。? 可行性研究

            可行性研究階段就是看是否有一種使其在最小的代價(jià),盡可能短的時(shí)間內(nèi),利益最大化的情況下解決問題的方案。這個(gè)階段的分析主要涉及以下幾個(gè)圖形工具。

            2.1 系統(tǒng)流程圖

            系統(tǒng)流程圖是描述系統(tǒng)物理模型的一種傳統(tǒng)工具。它是表達(dá)數(shù)據(jù)在系統(tǒng)各部件之間流動(dòng)的情況,而不是對數(shù)據(jù)加工處理的控制過程,它是物理數(shù)據(jù)流圖而不是程序流程圖。系統(tǒng)流程圖形象的呈現(xiàn)了軟件的功能,即使不懂軟件的人也可以輕松的看懂,可以說它是軟件設(shè)計(jì)師與用戶之間溝通、交流的有效工具。

            2.2 數(shù)據(jù)流圖

            數(shù)據(jù)流圖是從數(shù)據(jù)傳遞和加工角度,以圖形方式來表達(dá)系統(tǒng)的邏輯功能、數(shù)據(jù)在系統(tǒng)內(nèi)部的邏輯流向和邏輯變換過程,是結(jié)構(gòu)化系統(tǒng)分析方法的主要表達(dá)工具及用于表示軟件模型的一種圖示方法。如果說系統(tǒng)流程圖能讓用戶更好的明白系統(tǒng)的功能,那么數(shù)據(jù)流圖則讓用戶更加明白系統(tǒng)的工作原理。

            2.3 數(shù)據(jù)字典

            數(shù)據(jù)字典就是數(shù)據(jù)的信息的集合,也可以說就是對上面提到的數(shù)據(jù)流圖中的所有元素的定義的集合。數(shù)據(jù)字典的主要作用就是在軟件的分析與設(shè)計(jì)階段方便我們查閱不甚了解的數(shù)據(jù)的描述信息。

           ?。? 需求分析

            需求分析階段主要確定系統(tǒng)必須做什么。比如用戶對系統(tǒng)的要求,確定目標(biāo)系統(tǒng)所有的功能,確定系統(tǒng)運(yùn)行的硬件和軟件環(huán)境,系統(tǒng)性能要求,出錯(cuò)處理要求,接口需求,驗(yàn)證軟件需求等等。

            3.1 E-r圖

            E-r圖的主要作用就是把用戶的數(shù)據(jù)要求用可視化的圖形呈現(xiàn)出來。

            3.2 狀態(tài)轉(zhuǎn)換圖

            狀態(tài)轉(zhuǎn)換圖說白了就是系統(tǒng)的行為建模,就是通過描述系統(tǒng)的狀態(tài)以及引起狀態(tài)變化的事件來表示系統(tǒng)的行為,將系統(tǒng)運(yùn)行時(shí)詳細(xì)的狀態(tài)變化呈現(xiàn)給用戶。

            3.3 層次方框圖

            層次方框圖像用戶呈現(xiàn)的是數(shù)據(jù)的層次結(jié)構(gòu)。

            3.4 Warnier圖

            Warnier圖的作用和層次方框圖的作用基本相同,只不過Warnier圖的描述手段更多。

            3.5 IPO圖

            IPO圖是輸入、處理和輸出圖的簡稱,它清楚的描述了輸入數(shù)據(jù)、處理數(shù)據(jù)、輸出數(shù)據(jù)之間的關(guān)系。

            4. 總體設(shè)計(jì)

            需求分析階段已經(jīng)確定了系統(tǒng)要做什么的問題,而總體設(shè)計(jì)就是要弄明白怎么做的問題,總體設(shè)計(jì)的目的就是從宏觀上概括的說系統(tǒng)應(yīng)該怎樣實(shí)現(xiàn),具體一點(diǎn)就是要明確系統(tǒng)有哪些模塊組成,以及這些模塊之間的關(guān)系是怎樣的。

            4.1 層次圖

            層次圖是用來描述軟件的層次結(jié)構(gòu)的。

            4.2 HIPO圖

            HIPO圖 = 層次圖+輸入+處理+輸出

            4.3 結(jié)構(gòu)圖

            結(jié)構(gòu)圖和層次圖類似,都是描述軟件結(jié)構(gòu)的圖形工具。

           ?。? 詳細(xì)設(shè)計(jì)

            詳細(xì)設(shè)計(jì)階段就是在總體設(shè)計(jì)的基礎(chǔ)上要確定怎樣具體的詳細(xì)的實(shí)現(xiàn)系統(tǒng)所要求的功能,要對系統(tǒng)進(jìn)行精確的描述。

            5.1 程序流程圖

            程序流程圖是對程序控制流程的直觀描述。

            5.2 盒圖

            出于要有種不允許違背結(jié)構(gòu)設(shè)計(jì)精神圖形工具考慮Nassi和shneiderman提出了盒圖又稱為N—S圖。

            5.3 問題分析PAD圖

            PAD圖就是用二維樹形結(jié)構(gòu)圖來表示程序的控制流。

           ?。? 編碼和單元測試

            編碼和單元測試階段主要是對詳細(xì)設(shè)計(jì)階段的詳細(xì)描述給以具體的實(shí)現(xiàn)和模塊的測試。  

            7. 綜合測試

            綜合測試包括對系統(tǒng)的各個(gè)組件和功能的測試,要求覆蓋軟件系統(tǒng)的各個(gè)功能點(diǎn),并根據(jù)被測軟件的需求測試軟件的性能、易用性等方面的內(nèi)容,達(dá)到對軟件全方面測試的目的。

           ?。? 軟件維護(hù)

            軟件維護(hù)階段是軟件生命周期中最后的一個(gè)階段,也是最長的一個(gè)階段,軟件維護(hù)主要任務(wù)是指根據(jù)需求變化或硬件環(huán)境的變化對應(yīng)用程序進(jìn)行部分或全部的修改,修改時(shí)應(yīng)充分利用源程序。修改后要填寫程序改登記表,并在程序變更通知書上寫明新舊程序的不同之處。

            參考文獻(xiàn):

            1. 文中的部分定義參考于百度百科http://baike.baidu.com/。

            2. 文中的一部分圖片來源于《軟件工程導(dǎo)論》第五版(張海藩 編著),一部分來源于互聯(lián)網(wǎng)。

          http://kb.cnblogs.com/page/107286/



          歡迎大家訪問我的個(gè)人網(wǎng)站 萌萌的IT人

          posted on 2013-05-07 17:16 一堣而安 閱讀(278) 評論(0)  編輯  收藏 所屬分類: 軟件工程

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(1)

          隨筆分類

          隨筆檔案

          收藏夾

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 钟祥市| 温泉县| 胶州市| 丰宁| 土默特左旗| 运城市| 抚松县| 乌拉特中旗| 环江| 娄烦县| 福安市| 莫力| 军事| 绥滨县| 长泰县| 休宁县| 福清市| 岳西县| 沁源县| 博罗县| 漳平市| 阿荣旗| 林芝县| 安仁县| 娱乐| 若尔盖县| 兴山县| 准格尔旗| 碌曲县| 砚山县| 东乌珠穆沁旗| 亳州市| 日喀则市| 通河县| 金沙县| 博湖县| 南乐县| 花垣县| 拉孜县| 平山县| 湖州市|