結構化分析



分析師使用各種工具來理解和描述資訊系統。其中一種方法是使用結構化分析。

什麼是結構化分析?

結構化分析是一種開發方法,它允許分析師以邏輯的方式理解系統及其活動。

它是一種系統的方法,它使用圖形工具來分析和完善現有系統的目標,並開發一個新的系統規範,該規範易於使用者理解。

它具有以下屬性:

  • 它是圖形化的,指定了應用程式的表示。

  • 它將流程分解,以便清晰地顯示系統流程。

  • 它是邏輯的而不是物理的,即系統的元素不依賴於供應商或硬體。

  • 它是一種從高階概述到低階細節的工作方法。

結構化分析工具

在結構化分析期間,各種工具和技術用於系統開發。它們是:

  • 資料流圖
  • 資料字典
  • 決策樹
  • 決策表
  • 結構化英語
  • 虛擬碼
Structured Tools

資料流圖(DFD)或氣泡圖

這是由Larry Constantine開發的一種技術,用於以圖形形式表達系統的需求。

  • 它顯示了資料在系統各個功能之間的流動,並指定了當前系統是如何實現的。

  • 它是設計階段的初始階段,它將功能需求細化到最低的細節級別。

  • 它的圖形特性使其成為使用者和分析師或分析師和系統設計人員之間良好的溝通工具。

  • 它概述了系統處理哪些資料、執行哪些轉換、儲存哪些資料、產生哪些結果以及它們在哪裡流動。

DFD的基本元素

DFD易於理解,並且在所需的設計不明確且使用者希望使用符號語言進行通訊時非常有效。但是,它需要大量的迭代才能獲得最準確和完整的解決方案。

下表顯示了在設計DFD時使用的符號及其含義:

符號名稱 符號 含義
正方形 Square 資料來源或目的地
箭頭 Arrow 資料流
圓形 Circle 轉換資料流的流程
開口矩形 Rectangle 資料儲存

DFD的型別

DFD有兩種型別:物理DFD和邏輯DFD。下表列出了區分物理DFD和邏輯DFD的要點。

物理DFD 邏輯DFD
它依賴於實現。它顯示了哪些功能被執行。 它獨立於實現。它只關注流程之間的資料流。
它提供了硬體、軟體、檔案和人員的低階細節。 它解釋了系統的事件和每個事件所需的資料。
它描述了當前系統是如何執行的以及系統將如何被實現。 它顯示了業務是如何運作的;而不是系統如何被實現。

上下文圖

上下文圖透過一個DFD幫助理解整個系統,該DFD概述了系統。它首先以很少的細節提及主要流程,然後採用自頂向下的方法提供更多流程的細節。

下面顯示了伙食管理的上下文圖。

Context Diagram

資料字典

資料字典是系統中資料元素的結構化儲存庫。它儲存所有DFD資料元素的描述,即資料流、資料儲存、資料儲存中儲存的資料以及流程的細節和定義。

資料字典改善了分析師和使用者之間的溝通。它在構建資料庫中發揮著重要作用。大多數DBMS都將資料字典作為標準功能。例如,參考下表:

序號 資料名稱 描述 字元數
1 ISBN ISBN號碼 10
2 TITLE 標題 60
3 SUB 圖書主題 80
4 ANAME 作者姓名 15

決策樹

決策樹是一種透過描述決策並避免溝通問題來定義複雜關係的方法。決策樹是一個圖表,它顯示了水平樹框架內的替代行動和條件。因此,它描述了首先考慮哪些條件、其次考慮哪些條件,等等。

決策樹描述了每個條件及其允許的操作之間的關係。方形節點表示操作,圓形節點表示條件。它迫使分析師考慮決策的順序並確定必須做出的實際決策。

Decision Tree

決策樹的主要侷限性在於,它的格式中缺乏資訊來描述可以採取哪些其他條件組合進行測試。它是條件和操作之間關係的單一表示。

例如,參考下面的決策樹:

Decision Example

決策表

決策表是一種以一種易於理解的精確方式描述複雜邏輯關係的方法。

  • 它在以下情況下很有用:結果操作取決於一個或多個獨立條件的發生。

  • 它是一個矩陣,包含行或列來定義問題和操作。

決策表的組成部分

  • 條件樁 - 它位於左上象限,列出了所有要檢查的條件。

  • 動作樁 - 它位於左下象限,概述了為滿足這些條件而執行的所有操作。

  • 條件項 - 它位於右上象限,提供了對條件樁象限中提出的問題的答案。

  • 動作項 - 它位於右下象限,指示由條件項象限中條件的答案產生的適當操作。

決策表中的條目由決策規則給出,決策規則定義了條件組合和行動方案之間的關係。在規則部分,

  • Y表示條件的存在。
  • N表示條件不滿足。
  • 操作前的空白 - 表示應忽略它。
  • 操作前的X(或勾號)表示應執行它。

例如,參考下表:

條件 規則1 規則2 規則3 規則4
預付款已支付 Y N N N
購買金額=10,000盧比 - Y Y N
老客戶 - Y N -
操作
給予5%折扣 X X - -
不給予折扣 - - X X

結構化英語

結構化英語源自結構化程式語言,它對流程提供了更易於理解和更精確的描述。它基於過程邏輯,使用旨在執行操作的構造和祈使句。

  • 當必須考慮程式中的序列和迴圈以及問題需要帶有決策的操作序列時,它最適合使用。

  • 它沒有嚴格的語法規則。它用順序決策結構和迭代來表達所有邏輯。

例如,檢視以下操作序列:

if customer pays advance 
   then 
      Give 5% Discount 
   else 
      if purchase amount >=10,000 
         then 
            if  the customer is a regular customer 
               then Give 5% Discount 
            else  No Discount
         end if 
      else No Discount  
   end if 
end if 

虛擬碼

虛擬碼不符合任何程式語言,並用簡單的英語表達邏輯。

  • 它可以在物理設計期間和之後指定物理程式設計邏輯,而無需實際編碼。

  • 它與結構化程式設計一起使用。

  • 它取代了程式的流程圖。

選擇合適的工具的指南

使用以下指南選擇最適合您需求的工具:

  • 在高階或低階分析中使用DFD,以提供良好的系統文件。

  • 使用資料字典來簡化結構,以滿足系統的需求。

  • 如果存在許多迴圈且操作複雜,則使用結構化英語。

  • 如果要檢查大量條件並且邏輯複雜,則使用決策表。

  • 如果條件的順序很重要並且要測試的條件很少,則使用決策樹。

廣告

© . All rights reserved.