在寫文檔的過程中遇到了很多圖,這些圖有的在自考的時候接觸過:比如:E-R圖,資料流圖,程式流程圖。也有的是軟工視訊中講過的,在寫文檔的過程中,有多地方都要求畫圖,隻好又傳回去看看。
下面是軟體工程中我整理的一些圖的,如有遺漏,歡迎補充。

它從資料傳遞和加工角度,以圖形方式來表達系統的邏輯功能、資料在系統内部的邏輯流向和邏輯變換過程,是結構化分析方法的主要表達工具及用于表示軟體模型的一種圖示方法。
資料流圖中的圖例:
範例:
另外,在大型的系統中,為了能夠更細節的表現資料在系統中流動情況,還将資料流圖進行分層,此時,用分層的資料流圖來表現資料。
當程式中,如果資料流圖的加工需要依賴于多個邏輯條件的取值,此時,使用判定表來描述更加合适。
描述方法:
示例:
雖然判定表可以清楚的表現出多個邏輯條件,但是,不能表示不确定的加工處理,也不能表示重複循環的加工方式。
判定樹也是用來表達加工邏輯的一種工具,它是判定表的變種,但是有時候比判定表更加直覺。
例如:
注意:在畫判定樹的時候,要盡量把樹葉畫在右端,這樣看起來更舒服。
從直覺上看,判定樹比判定表要好,但是從邏輯上看,判定表又比較好。
狀态遷移圖是描述系統的運作狀态如何相應外部的信号進行推移的一種圖形表示.
圓圈"○"表示可得到的系統狀态。
箭頭“→”表示從一種狀态到另一種狀态的遷移。
狀态遷移圖優點:1,狀态之間的關系能夠直覺的捕捉到;2,由于狀态遷移圖的單純性,能夠機械的分析許多情況,可很容易的建立分析工具。
它有兩種結點:
位置:符号為"○",它用來表示系統的狀态
轉移:符号為"?",它用來表示系統中的事件.
示例:
程式流程是對程式控制流程的描述,它運用工序圖示符号對生産現場的整個制造程式做詳細的記錄。
程式流程圖的畫法:
示例,下面是我以前畫的一個登陸的流程圖:
2,N-S圖
流程圖由一些特定意義的圖形、流程線及簡要的文字說明構成,它能清晰明确地表示程式的運作過程。在使用過程中,人們發現流程線不一定是必需的,為此,人們設計了一種新的流程圖,它把整個程式寫在一個大框圖内,這個大框圖由若幹個小的基本框圖構成,這種流程圖簡稱N-S圖,從中可以看出,盒圖是對流程圖簡化。
用盒圖表示5種控制結構:
盒圖示例:
一種主要用于描述軟體詳細設計的圖形表示工具。與方框圖一樣,PAD圖也隻能描述結構化程式允許使用的幾種基本結果。
pad圖5中基本控制結構的圖示:
判定表用于表示程式的靜态邏輯
在判定表中的條件部分給出所有的兩分支判斷的清單,動作部分給出相應的處理
要求将程式流程圖中的多分支判斷都改成兩分支判斷
建立判定表的過程:
1,列出一個具體過程(或子產品)有關的所有處理;
2,列出過程執行期間的所有條件(或所有判斷)
3,将特定條件取值組合與特定的處理相比對
4,将右部每一縱列規定為一個處理規則,即對于某一條件取值組合将有什麼動作.
判定表示例:
IPO圖是對每個子產品進行詳細設計的工具,是用來說明每個子產品的輸入、輸出資料和資料加工的。
例如:
說到IPO圖,還得順便說一下HIPO圖,從名字看,HIPO圖比IPO圖多一個H,從圖上看,HIPO圖比IPO圖多的就是一個H圖,有興趣的可以查一查。
在本篇部落格裡面,所描述圖中,隻有E-R圖是用來設計資料庫的。
E-R圖也稱實體-聯系圖(Entity Relationship Diagram),提供了表示實體類型、屬性和聯系的方法,用來描述現實世界的概念模型。
第一次看到魚骨圖還不是在學計算機的時候看到的,是在學習英語的時候。如圖:
在暑假剛開始接觸SB英語的時候,師姐講學習英語的内容的時候,用的就是魚骨圖。
魚骨圖是一種發現問題“根本原因”的方法,它也可以稱之為“Ishikawa”或者“因果圖”。其特點是簡捷實用,深入直覺。它看上去有些象魚骨,問題或缺陷(即後果)标在"魚頭"外。在魚骨上長出魚刺,上面按出現機會多寡列出産生生産問題的可能原因。魚骨圖有助于說明各個原因之間如何互相影響。它也能表現出各個可能的原因是如何随時間而依次出現的。這有助于着手解決問題。
如果在測試時必須考慮輸入條件的各種組合,可使用一種适合于描述對于多種條件的組合,相應産生多個動作的形式來設計測試用例,這就需要利用因果圖。
因果圖的畫法:
因果圖示例:
與前面那些描述程式内部構造的圖相比,記叙對象的變更曆史的演變圖,貌似比較簡單,一眼就能看明白是怎麼回事。
例如: