1. 程式人生 > >軟工之文件圖形(二)

軟工之文件圖形(二)

【背景】

    文件在程式設計中的重要性不言而喻,而各個階段的文件又是我們進行分析設計有力的工具。之後我們要學習的機房重構等都會用到這些圖形。現在我對這些圖形的理解還不夠深刻,下面畫了幾個階段中重要的圖,就是熟悉一下這些圖怎麼畫的,相信隨著以後深入的學習會更好的應用這些圖形。

【各階段比較重要的圖】

  (一)可行性分析

     這個階段主要是從巨集觀上從全域性上分析即將開發的軟體的業務流程,資料流程等的合理性;從經濟,技術等方面分析該軟體的可行性。

     1. 系統流程圖

         系統流程圖(System Flowchart)是描繪系統物理模型的傳統工具。它的基本思想是用圖形符號以黑盒子形式描繪系統裡面的每個部件(程式、檔案、資料庫、表格、人工過程等),表達資訊在各個部件之間流動的情況。
                  

    2. 資料流圖  

       資料流程圖(Data Flow Diagram,DFD/Data Flow Chart),是描述系統資料流程的工具,它將資料獨立抽象出來,通過圖形方式描述資訊的來龍去脈和實際流程。

       

    3. 資料字典

      資料字典是指對資料的資料項、資料結構、資料流、資料儲存、處理邏輯、外部實體等進行定義和描述,其目的是對資料流程圖中的各個元素做出詳細的說明。
      資料字典(Data dictionary)是一種使用者可以訪問的記錄資料庫和應用程式元資料的目錄。主動資料字典是指在對資料庫或應用程式結構進行修改時,其內容可以由DBMS自動更新的資料字典。被動資料字典是指修改時必須手工更新其內容的資料字典。(來自百度百科)
          以“使用者編號”為例            資料項名稱:使用者編號            別名:UserID            型別長度:Char(8)            描述:系統註冊使用者的唯一標識碼

   4.專案開發計劃——甘特圖 (Gantt chart)

      甘特圖內在思想簡單,即以圖示的方式通過活動列表和時間刻度形象地表示出任何特定專案的活動順序與持續時間。基本是一條線條圖,橫軸表示時間,縱軸表示活動(專案),線條表示在整個期間上計劃和實際的活動完成情況。它直觀地表明任務計劃在什麼時候進行,及實際進展與計劃要求的對比。管理者由此可便利地弄清一項任務(專案)還剩下哪些工作要做,並可評估工作進度。
        

(二)需求分析

       需求分析階段主要是分析員利用各種圖形和使用者進行有效溝通,確定系統的功能,效能等。

    1.ER圖

      E-R圖也稱實體-聯絡圖(Entity Relationship Diagram),提供了表示實體型別、屬性和聯絡的方法,用來描述現實世界的概念模型。

    2. 狀態轉換圖

         通過描繪系統的狀態及引起系統狀態轉換的事件,來表示系統的行為。此外狀態轉換圖還指明瞭作為特定事件的結果系統將做哪些動作(例如,處理資料)。因此狀態轉換圖提供了行為建模機制。               

    3.層次方框圖

           

    4. Warnier 圖

       Warnier圖是表示資料層次結構的一種圖形工具,它用樹形結構來描繪資料結構。它還能指出某一類資料或某一資料元素重複出現的次數,並能指明某一特定資料在某一類資料中是否是有條件的出現。        Warnier方法和Jackson方法有很大的形似之處,它們的主要區別是:Warnier方法僅考慮輸入資料結構,而Jackson方法不僅考慮輸入資料結構,而且還考慮輸出資料結構。

 (三)總體設計

     1. 結構圖

         結構圖:指以模組的呼叫關係為線索,用自上而下的連線表示呼叫關係並註明引數傳遞的方向和內容,從巨集觀上反映軟體層次結構的圖形。自考信管裡做過這個題,應該很熟悉了。

     2. Petri網

         Petri網是對離散並行系統的數學表示。Petri網是20世紀60年代由卡爾·A·佩特里發明的,適合於描述非同步的、併發的計算機系統模型。 Petri網既有嚴格的數學表述方式,也有直觀的圖形表達方式,既有豐富的系統描述手段和系統行為分析技術,又為電腦科學提供堅實的概念基礎。         由於Petri網能夠表達併發的事件,被認為是自動化理論的一種。研究領域趨向認為Petri網是所有流程定義語言之母。         主要是描述併發,動態的事件,記憶深刻的就是在看軟工視訊的時候那個火車發車先後問題。

 (四)詳細設計

    1.程式流程圖

2.盒圖             

      盒圖指一種符合結構化程式設計原則的圖形描述工具,也叫做N-S圖。它有五種基本結構。       

    3.PAD圖 (Problem Analysis Diagram 問題分析圖)

      它用二維樹形結構的圖表示程式的控制流,遵循機械的走樹(Tree Walk)規則就能方便地編寫出程式,用這種圖轉換為程式程式碼比較容易。         

    4. 判定表

        判定表是分析和表達多邏輯條件下執行不同操作的情況的工具。下面是我畫的一個較簡單的判定表:        

 5. IPO圖(INPUT PROCESS OUTPUT)

       IPO圖的主體是演算法說明部分,該部分可採用結構化語言、判定表、判定樹,也可用N-S圖、問題分析圖和過程設計語言等工具進行描述,要準確而簡明的描述模組執行的細節。        開發人員不僅可以利用IPO圖進行模組設計,而且還可以利用它評價總體設計。使用者和管理人員可利用IPO圖編寫、修改和維護程式。因而,IPO圖是系統設計階段的一種重要文件資料。        一般使用者的IPO圖:         操作員的IPO圖:                          管理員的IPO圖:                     

【總結】

    看軟工視訊的時候看到這麼多圖有點頭大,現在梳理一下,主要是熟悉一下圖該怎麼畫。我對各階段圖的劃分是看了一本書,書名叫《軟體工程導論》。但是我劃分的好像和別人的有些不一樣的地方,可能各階段的圖本來就有重複的吧,下一階段就是對上幾階段的圖進行完善(只是猜想)。       以上都是我這個菜鳥的個人觀點,如有不合適的地方,還請各位同仁不吝賜教。