天天看點

軟體工程中的圖情結

      我們通常都是對圖形化的東西情有獨鐘,我們小時候的啟蒙教育基本上也都是從圖形化開始的,我們曾經看過的連環畫、漫畫、看圖識字等等。因為圖形能将一個抽象的東西具體化、形象化,圖形化的表述能将一個用文字語言無法表達清楚或很難表達的觀點、事物、科學概念等清晰的呈現出來。這就是為什麼我們相比晦澀難懂文字更喜歡形象生動的圖形的原因。 

      軟體工程導論作為軟體工程中非常重要的一門課程,通常因為其偏文科性、理論性、概念性而得不到人們的重視,但幸運的是在軟體工程導論中有我們非常易于接受、了解的東西——圖,否則我們自己會把自己害得很慘。 

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

1.問題定義

      問題定義階段主要是根據使用者的需求來定義使用者需要解決的問題,使用者要實作哪些功能。

2.可行性研究

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

2.1系統流程圖

      系統流程圖是描述系統實體模型的一種傳統工具。它是表達資料在系統各部件之間流動的情況,而不是對資料加工處理的控制過程,它是實體資料流圖而不是程式流程圖。系統流程圖形象的呈現了軟體的功能,即使不懂軟體的人也可以輕松的看懂,可以說它是軟體設計師與使用者之間溝通、交流的有效工具。

軟體工程中的圖情結

2.2資料流圖

      資料流圖是從資料傳遞和加工角度,以圖形方式來表達系統的邏輯功能、資料在系統内部的邏輯流向和邏輯變換過程,是結構化系統分析方法的主要表達工具及用于表示軟體模型的一種圖示方法。如果說系統流程圖能讓使用者更好的明白系統的功能,那麼資料流圖則讓使用者更加明白系統的工作原理。

軟體工程中的圖情結

2.3資料字典

      資料字典就是資料的資訊的集合,也可以說就是對上面提到的資料流圖中的所有元素的定義的集合。資料字典的主要作用就是在軟體的分析與設計階段友善我們查閱不甚了解的資料的描述資訊。

軟體工程中的圖情結

3.需求分析

      需求分析階段主要确定系統必須做什麼。比如使用者對系統的要求,确定目标系統所有的功能,确定系統運作的硬體和軟體環境,系統性能要求,出錯處理要求,接口需求,驗證軟體需求等等。

3.1 E-r圖

      E-r圖的主要作用就是把使用者的資料要求用可視化的圖形呈現出來。

軟體工程中的圖情結

3.2狀态轉換圖

      狀态轉換圖說白了就是系統的行為模組化,就是通過描述系統的狀态以及引起狀态變化的事件來表示系統的行為,将系統運作時詳細的狀态變化呈現給使用者。

軟體工程中的圖情結

3.3層次方框圖

      層次方框圖像使用者呈現的是資料的層次結構。

軟體工程中的圖情結

3.4 Warnier圖

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

軟體工程中的圖情結

3.5 IPO圖

      IPO圖是輸入、處理和輸出圖的簡稱,它清楚的描述了輸入資料、處理資料、輸出資料之間的關系。

軟體工程中的圖情結

4.總體設計

      需求分析階段已經确定了系統要做什麼的問題,而總體設計就是要弄明白怎麼做的問題,總體設計的目的就是從宏觀上概括的說系統應該怎樣實作,具體一點就是要明确系統有哪些子產品組成,以及這些子產品之間的關系是怎樣的。

4.1層次圖

      層次圖是用來描述軟體的層次結構的。

軟體工程中的圖情結

4.2 HIPO圖

      HIPO圖 = 層次圖+輸入+處理+輸出(層次圖+IPO圖)

軟體工程中的圖情結

4.3結構圖

      結構圖和層次圖類似,都是描述軟體結構的圖形工具。

軟體工程中的圖情結

5.詳細設計

      詳細設計階段就是在總體設計的基礎上要确定怎樣具體的詳細的實作系統所要求的功能,要對系統進行精确的描述。

5.1程式流程圖

      程式流程圖是對程式控制流程的直覺描述。

軟體工程中的圖情結

5.2 N-S圖(盒圖)

      出于要有種不允許違背結構設計精神圖形工具考慮Nassi和shneiderman提出了盒圖又稱為N—S圖。

軟體工程中的圖情結

5.3問題分析PAD圖

      PAD圖就是用二維樹形結構圖來表示程式的控制流。

軟體工程中的圖情結

6.編碼和單元測試

      編碼和單元測試階段主要是對詳細設計階段的較長的描述給以具體的實作和子產品的測試。

7.綜合測試

      綜合測試包括對系統的各個元件和功能的測試,要求覆寫軟體系統的各個功能點,并根據被測軟體的需求測試軟體的性能、易用性等方面的内容,達到對軟體全方面測試的目的。

8.軟體維護

      軟體維護階段是軟體生命周期中最後的一個階段,也是最長的一個階段,軟體維護主要任務是指根據需求變化或硬體環境的變化對應用程式進行部分或全部的修改,修改時應充分利用源程式。修改後要填寫程式改登記表,并在程式變更通知書上寫明新舊程式的不同之處。

繼續閱讀