結構化分析及設計技術

結構化分析及設計技術（Structured analysis and design technique）簡稱SADT，是系统工程和软件开发过程裡將系統用功能階層來表示的技術。結構化分析及設計技術是結構化分析建模語言，其中使用二種圖：和数据模型。結構化分析及設計技術是在1960年代末期由所發明，後來在1981年正式以發佈。

簡介
結構化分析及設計技術（SADT）是特別設計讓人敘述系統、理解系統的图解表示法D. Marca, C. McGowan, Structured Analysis and Design Technique, McGraw-Hill, 1987, ，其中提供了建構實體和活動的方塊，以及許多的箭頭，表示各方塊之間的關係。方塊和箭頭有相關的语义John Mylopoulos (2004). Conceptual Modelling III. Structured Analysis and Design Technique (SADT). Retrieved 21 September 2008.。結構化分析及設計技術可以逐級細節分析，可用做特定流程的功能分析工具。此方法不止可以用在工業資訊系統上，定義IT開發的使用者需求，也可以用來說明和呈現某一活動的製造流程和程序SADT at Free-logistics.com. Retrieved 21 September 2008.。
歷史
SADT的開發和實際應用測試是在1969年到1973年間，由Douglas T. Ross和SofTech, Inc所進行D. T. Ross: Structured Analysis (SA): A Language for Communicating Ideas. IEEE Transactions on Software Engineering, SE-3(1), pp. 16-34. Abstract。MIT的（APT）計劃有使用此技術。1973年時，美國空軍專案也使用此技術，開始受到大眾的注意。

依照Levitt所述（2000年），SADT是「是一系列結構化方法的一部份，這些結構化方法結合了分析、設計和程式撰寫的技巧，是因應軟體圈在1960年到1980年所面臨的問題所開發的。這段期間最多人使用的商用程式語言是COBOL和Fortran，接著是C和BASIC。這段時間很少有關於良好設計和程式撰寫技巧的指引，也沒有撰寫需求和設計文件的標準技術。系統越來越大，越來越複雜，資訊系統的開發也越來越困難。因此此方法有助於管理大型且複雜的軟體。」Dave Levitt (2000):Introduction to Structured Analysis and Design . Retrieved 21 September 2008.

有許多和SADT類似的結構化方法，約在1960年代開始出現的，例如： 
 结构化编程約在1967年出現，由艾兹赫尔·戴克斯特拉開發。
 1975年的結構化設計，是由和愛德華·尤登提出。
 結構化分析約在1978年出現，由、Yourdon、Gane & Sarson、McMenamin & Palmer等人提出。
 大約是在1990年，提出者是。

1981年時，出現了，這也是以SADT為基礎Gavriel Salvendy (2001). Handbook of Industrial Engineering: Technology and Operations Management.. p.508.。
主題

自上而下的設計
結構化分析及設計技術是用自上而下的方式來進行分解。若以公理設計的視角審視，此分解過程僅侷限於實體實現層面Nam Pyo Suh (2007). Axiomatic Design - Advances and Applications. New York : Oxford University Press Chapter 5, pp. 239-298.。

圖示
結構化分析及設計技術使用兩種圖：和数据模型，其中會使用箭頭作為說明。
結構化分析及設計技術的圖示方式如下：
 主方框中會有流程或是活動的名稱
 方框的左邊會有進入的箭頭，動作的輸入
 方框的上方會有進入的箭頭，動作需要的資料
 方框的下方會有進入的箭頭，動作會使用的工具
 方框的右邊會有輸出的箭頭，動作的輸出

活動箭頭的語意：
 輸入從左邊進入，表示活動需要的資料或消耗品。
 輸出從右邊離開，表示活動產出的資料或產品。
 控制從上方進入，表示影響活動執行的命令和條件（這些命令和條件不會被消耗）。
 機制會識別此活動需要的方法、元件或是工具，會針對活動分配。

資料箭頭的語意：
 輸入是產生資料的活動
 輸出是資料的消費方
 控制會影響資料的內部狀態。

 角色 
依照Mylopoulos所述（2004），在軟體開發過程中，需識別出以下的角色：
 SADT模型的作者或是開發人員
 審核者，審核SADT模型
 SADT模型的讀者或是使用者
 專家，提供作者建議
 分析SADT模型細節的技術委員會或是審核者
 專案文管，管控專案的文件
 專案經理，管控系統分析和設計
 監控員或首席分析師，協助SADT開發人員和使用者
 講師，培訓SADT開發人員和使用者

 使用 
結構化分析及設計技術用在軟體工程和系統工統的概念設計，用來建立應用程式的藍圖，可以用來更深入的結構化分析、需求定義Ross, Douglas T., and Kenneth E. Schoman Jr. "Structured analysis for requirements definition." Software Engineering, IEEE Transactions on 1 (1977): 6-15.和結構化設計。

相關條目

 杰克逊结构化编程
 結構圖
 結構化系統分析及設計方法
 系统分析

參考資料

延伸閱讀
 William S. Davis (1992). Tools and Techniques for Structured Systems Analysis and Design. Addison-Wesley. 
 Marca, D.A., and C.L. McGowan. (1988). SADT: structured analysis and design technique. McGraw-Hill Book Co., Inc.: New York, NY.
 Jerry FitzGerald and Ardra F. FitzGerald (1987). Fundamentals of Systems Analysis: Using Structured Analysis and Design Techniques. Wiley. 
 David A. Marca and Clement L. McGowan (1988). SADT: Structured Analysis and Design Technique. McGraw-Hill. 
 D. Millington (1981). Systems Analysis and Design for Computer Applications. E. Horwood. 
 Robertson & Robertson (1999). Mastering the Requirements Process. Addison Wesley.
 James C. Wetherbe (1984). Systems Analysis and Design: Traditional, Structured, and Advanced Concepts and Techniques. West Pub. Co. 

外部連結

The IDEF0 method
A course about SADT diagrams

Category:系统分析