Structured analysis and design technique: Difference between revisions

Content deleted Content added
m Reverted edits by 2409:40C1:1031:F9B8:8000:0:0:0 (talk) (HG) (3.4.13)
 
(76 intermediate revisions by 51 users not shown)
Line 1:
{{Redirect|SADT|another use|Self accelerating decomposition temperature}}
''' {{Cleanup|date=November 2007}}
{{Use dmy dates|date=December 2020}}
[[File:SADT.svg|thumb|240px|right|SADT basis element.]]
'''Structured analysis and design technique''' ('''SADT''') is a [[systems engineering]] and [[software engineering methodology]] for describing [[system]]s as a hierarchy of functions. SADT is a [[structured analysis]] modelling language, which uses two types of diagrams: [[activity model]]s and [[data model]]s. It was developed in the late 1960s by [[Douglas T. Ross]], and was formalized and published as [[IDEF0]] in 1981.
 
==Overview==
:''For the chemical reaction SADT, see [[Self Accelerating Decomposition Temperature]]''
Structured analysis and design technique (SADT) is a [[diagram]]matic notation designed specifically to help people describe and understand [[system]]s.<ref name="sadt">D. Marca, C. McGowan, Structured Analysis and Design Technique, McGraw-Hill, 1987, {{ISBN|0-07-040235-3}}</ref> It offers building blocks to represent entities and activities, and a variety of arrows to relate boxes. These boxes and arrows have an associated informal [[semantics]].<ref name ="JM04">[[John Mylopoulos]] (2004). [http://www.cs.toronto.edu/~jm/2507S/Notes04/SADT.pdf Conceptual Modelling III. Structured Analysis and Design Technique (SADT)]. Retrieved 21 September 2008.</ref> SADT can be used as a functional analysis tool of a given process, using successive levels of details. The SADT method not only allows one to define user needs for IT developments, which is often used in the industrial Information Systems, but also to explain and present an activity's manufacturing processes and procedures.<ref name="FL">[http://www.free-logistics.com/index.php/Download-document/22-SADT_eng.html SADT] at Free-logistics.com. Retrieved 21 September 2008.</ref>
 
==History==
'''Structured Analysis and Design Technique''' — '''SADT''' is a [[Software Engineering]] technique for describing systems as a hierarchy of functions.
SADT was developed and field-tested during the period of 1969 to 1973 by [[Douglas T. Ross]] and [[SofTech, Inc.]]<ref name="sadt"/><ref name="ross1977">D. T. Ross: Structured Analysis (SA): A Language for Communicating Ideas. IEEE Transactions on Software Engineering, SE-3(1), pp. 16-34. [https://ieeexplore.ieee.org/document/1702399 Abstract]</ref> The methodology was used in the MIT [[APT (programming language)|Automatic Programming Tool]] (APT) project. It received extensive use starting in 1973 by the US Air Force [[Integrated Computer Aided Manufacturing]] program.
 
According to Levitt (2000) SADT is "part of a series of structured methods, that represent a collection of analysis, design, and programming techniques that were developed in response to the problems facing the software world from the 1960s to the 1980s. In this timeframe most commercial programming was done in [[COBOL]] and [[Fortran]], then [[C (programming language)|C]] and [[BASIC]]. There was little guidance on "good" design and programming techniques, and there were no standard techniques for documenting requirements and designs. Systems were getting larger and more complex, and the information system development became harder and harder to do so. As a way to help manage large and complex software.<ref name="DL00">Dave Levitt (2000):[http://faculty.inverhills.edu/dlevitt/CS%202000%20(FP)/Introduction%20to%20Structured%20Analysis%20and%20Design.pdf Introduction to Structured Analysis and Design] {{Webarchive|url=https://web.archive.org/web/20060907132222/http://faculty.inverhills.edu/dlevitt/CS%202000%20%28FP%29/Introduction%20to%20Structured%20Analysis%20and%20Design.pdf |date=7 September 2006 }}. Retrieved 21 September 2008.</ref>
== Techniques ==
SADT uses two types of diagrams: [[activity model]]s and [[data model]]s.
It uses arrows to build these diagrams.
 
SADT was among a series of similar structured methods, which had emerged since the 1960 such as:
===The Semantics of Arrows===
* [[Structured programming]] in circa 1967 with [[Edsger W. Dijkstra]].
* [[Structured design]] around 1975 with [[Larry Constantine]] and [[Ed Yourdon]]
* [[Structured analysis]] in circa 1978 with [[Tom DeMarco]], Yourdon, Gane & Sarson, McMenamin & Palmer.
* [[Information technology engineering]] in circa 1990 with [[James Martin (author)|James Martin]].
 
In 1981 the [[IDEF0]] formalism was published, based on SADT.<ref>Gavriel Salvendy (2001). ''Handbook of Industrial Engineering: Technology and Operations Management.''. p.508.</ref>
For activities:
 
==SADT topics==
[[File:6 Decomposition Structure.svg|thumb|240px|right|Top down decomposition structure.]] [[File:Sadt.png|thumb|240px|right|An SADT example.]]
 
===Top-down approach===
The structured analysis and design technique uses a decomposition with the [[Top-down and bottom-up design|top-down approach]]. This decomposition is conducted only in the physical ___domain from an axiomatic design viewpoint.<ref>Nam Pyo Suh (2007). [http://www.axiomaticdesign.com/technology/ADSChapter5.html ''Axiomatic Design - Advances and Applications'']. New York : Oxford University Press Chapter 5, pp. 239-298.</ref>
 
===Diagrams===
SADT uses two types of diagrams: [[activity model]]s and [[data model]]s. It uses arrows to build these diagrams.
The SADT's representation is the following:
* A main box where the name of the process or the action is specified
* On the left-hand side of this box, incoming arrows: inputs of the action.
* On the upper part, the incoming arrows: data necessary for the action.
* On the bottom of the box, incoming arrows: means used for the action.
* On the right-hand side of the box, outgoing arrows: outputs of the action.
 
The semantics of arrows for activities:<ref name ="JM04"/>
* Inputs enter from the left and represent data or consumables that are needed by the activity.
* Outputs exit fromto the right and represent data or products that are produced by the activity.
* Controls enter from the top and represent commands or conditions which influence the execution of an activity but are not consumed.
* Mechanisms identify the means, components or tools used to accomplish the activity. Represents allocation of activities.
 
The semantics of arrows for data:<ref name ="JM04"/>
For data:
* Inputs are activities that produce the data.
* Outputs consume the data.
* Controls influence the internal state of the data.
 
=== Roles ===
SADT is a method based in systems theory. Also see [[IDEF0]].
According to Mylopoulos (2004) in the software development process multiple roles can or should be distinguished:<ref name ="JM04"/>
* Author or developer of the SADT models
* Commenters, who review the author's work
* Readers or users of the SADT models
* Experts, who can advise the authors
* Technical committee or reviewers of the SADT models in detail
* Project librarian, who govern the project documentation
* Project manager, who governs the system analysis and design.
* Monitor or chief analyst to assists SADT developers and users
* Instructor to train SADT developers and users
 
== Usage ==
SADT is available as a commercial CASE tool under the name [[IDEF0]].
SADT is used as diagrammatic notation in conceptual design of software engineering and systems engineering to sketch applications,<ref name ="JM04"/> for more detailed structured analysis, for requirements definition,<ref>Ross, Douglas T., and Kenneth E. Schoman Jr. "Structured analysis for requirements definition." Software Engineering, IEEE Transactions on 1 (1977): 6-15.</ref> and structured design.
 
==See also==
* [[IDEF0]]
* [[Jackson structured programming]]
* [[Structure chart]]
* [[Structured systems analysis and design method]]
* [[Category:Systems analysis]]
 
==References==
{{Reflist}}
 
==Further reading==
* William S. Davis (1992). ''Tools and Techniques for Structured Systems Analysis and Design''. Addison-Wesley. {{ISBN|0-201-10274-9}}
* 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. {{ISBN|0-471-88597-5}}
* David A. Marca and Clement L. McGowan (1988). ''SADT: Structured Analysis and Design Technique''. McGraw-Hill. {{ISBN|0-07-040235-3}}
* D. Millington (1981). ''Systems Analysis and Design for Computer Applications''. E. Horwood. {{ISBN|0-85312-249-0}}
* 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. {{ISBN|0-314-77858-6}}
 
==External links==
{{CommonscatCommons category|SADT}}
*[http://www.idef.com/idef0.htmlhtm The IDEF0 method]
*[http://www.cs.toronto.edu/~jm/2507S/Notes04/SADT.pdf A course about SADT diagrams]
 
{{Authority control}}
[[Category:Systems analysis]]
 
[[Category:Systems analysis]]
{{comp-sci-stub}}
 
[[fr:Analyse fonctionnelle descendante]]
[[pt:Structured Analysis and Design Technique]]
[[ru:SADT]]
[[de:Structured Analysis and Design Technique]]