Structured analysis and design technique: Difference between revisions

Content deleted Content added
S322528 (talk | contribs)
m Reverted edits by 2409:40C1:1031:F9B8:8000:0:0:0 (talk) (HG) (3.4.13)
 
(116 intermediate revisions by 77 users not shown)
Line 1:
{{Redirect|SADT|another use|Self accelerating decomposition temperature}}
SADT (Structured Analysis and Design Technique) is a [[Software Engineering]] technique for describing systems as a hierarchy of functions
{{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.
 
== Introduction Overview==
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==
SADT, which is a trademarked and copyrighted by [[Softtech]] Inc in 1976. A SADT model is a collection of diagrams organised in a tree structure. Consists on watch for the software requeriments and the design of systems/software using a group of processes that lets the analist to view the 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.
Also uses a graphic notation, activity models and data models, that communicates the relations between information and functions.
 
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>
SADT activity models were used to define [[IDEF0]].
 
SADT was among a series of similar structured methods, which had emerged since the 1960 such as:
== Philosophy ==
* [[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>
Diagrams are build using the techniques that are below. The objectives for this diagrams is to show the flow of information between the organization and the activities that the organization do. Using SADT, the analist develops a model with a lot of graphic datagrams and activity models.
 
==SADT Stages 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===
This automatic tools bring support for the process of analisys and an organizative method well organized by using them. Thus revisions and points of reference allow to make a validation of the comunication between customer and developer.
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>
 
== Techniques =Diagrams===
SADT uses two types of diagrams: [[activity modelsmodel]]s and [[data modelsmodel]]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"/>
SADT uses two types of diagrams: activity models and data models.
* Inputs enter from the left and represent data or consumables that are needed by the activity.
It uses arrows to build this diagrams.
* Outputs exit to 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"/>
'''The Semantics of Arrows'''
* Inputs are activities that produce the data.
* Outputs consume the data.
* Controls influence the internal state of the data.
 
=== Roles ===
For activities:
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 ==
Inputs are data that are consumed by the activity
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==
Outputs are produced by the activity
* [[IDEF0]]
* [[Jackson structured programming]]
* [[Structure chart]]
* [[Structured systems analysis and design method]]
* [[Systems analysis]]
 
==References==
Controls influence the execution of an activity but are not consumed
{{Reflist}}
 
==Further reading==
For data:
* 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==
Inputs are activities that produce the data
{{Commons category|SADT}}
*[http://www.idef.com/idef0.htm The IDEF0 method]
*[http://www.cs.toronto.edu/~jm/2507S/Notes04/SADT.pdf A course about SADT diagrams]
 
{{Authority control}}
Outputs consume the data
 
[[Category:Systems analysis]]
Controls influence the internal state of the data
 
 
 
 
{{computer-stub}}