Content deleted Content added
→Structured query language: This is not a Structured Analysis Method, removed |
m Disambiguating links to Object-orientation (link changed to Object-oriented programming) using DisamAssist. |
||
(18 intermediate revisions by 17 users not shown) | |||
Line 1:
{{Short description|Software engineering method}}
[[Image:Context diagram and Technical Criteria Derivation.jpg|thumb|320px|Example of a structured analysis approach.<ref>Tricia Gilbert (2006) [http://acast.grc.nasa.gov/wp-content/uploads/icns/2006/06_Session_B1/03-Gilbert.pdf FCS Evaluation criterea for technology assessment] {{Webarchive|url=https://web.archive.org/web/20080918012417/http://acast.grc.nasa.gov/wp-content/uploads/icns/2006/06_Session_B1/03-Gilbert.pdf |date=2008-09-18 }}</ref>]]
In [[software engineering]], '''structured analysis''' (SA) and '''structured design''' (SD) are methods for analyzing business [[requirements]] and developing [[specification]]s for converting practices into [[computer program]]s, hardware configurations, and related manual procedures.
Line 14 ⟶ 15:
== History ==
Structured analysis is part of a series of structured methods that
As a way to help manage large and complex software, the following structured methods emerged since the end of the 1960s
* [[Structured programming]] in circa 1967 with [[Edsger Dijkstra]] - "Go To Statement Considered Harmful"
* [[Niklaus Wirth]] Stepwise design in 1971
Line 23 ⟶ 24:
* [[HIPO]] in 1974 - IBM Hierarchy input-process-output (though this should really be output-input-process)
* [[Structured design]] around 1975 with [[Larry Constantine]], [[Ed Yourdon]] and [[Wayne Stevens (software engineer)|Wayne Stevens]].{{sfn|Stevens|Myers|Constantine|1974}}{{sfn|Yourdon|Constantine|1979}}
* [[Jackson structured programming]] in circa 1975 developed by [[Michael A. Jackson (computer scientist)|Michael A. Jackson]]
* Structured analysis in circa 1978 with [[Tom DeMarco]], [[Edward Yourdon]], Gane & Sarson, McMenamin & Palmer.
* [[
* [[Edward Yourdon#Yourdon Structured Method|Yourdon structured method]] developed by [[Edward Yourdon]].
* Structured analysis and system specification published in 1978 by [[Tom DeMarco]].
* [[Structured systems analysis and design method]] (SSADM) first presented in 1983 developed by the [[UK government|UK]] [[Office of Government Commerce]].
*[[Essential Systems Analysis]], proposed by Stephen M. McMenamin and John F. Palmer<ref>{{Cite book|last1=McMenamin|first1=Stephen M.|url=https://archive.org/details/essentialsystems00mcme|url-access=registration|title=Essential Systems Analysis|last2=Palmer|first2=John F.|date=1984|publisher=Yourdon Press|isbn=978-0-13-287905-7|language=en}}</ref>
* [[IDEF0]] based on SADT, developed by [[Douglas T. Ross]] in 1985.<ref>Gavriel Salvendy (2001). ''Handbook of Industrial Engineering: Technology and Operations Management.''. p.508.</ref>
*
*[[Modern Structured Analysis]], developed by Edward Yourdon, after Essential System Analysis was published, and published in 1989.<ref>{{Cite book|last=Yourdon|first=Edward|url=https://books.google.com/books?id=QetnQgAACAAJ&dq=Modern+Structured+Analysis|title=Modern Structured Analysis|date=1989|publisher=Prentice-Hall|isbn=978-0-13-598632-5|language=en}}</ref>
*
According to Hay (1999) "[[
== Structured analysis topics ==
Line 41 ⟶ 44:
Structured analysis typically creates a hierarchy employing a single abstraction mechanism. The structured analysis method can employ [[IDEF]] (see figure), is process driven, and starts with a purpose and a viewpoint. This method identifies the overall function and iteratively divides functions into smaller functions, preserving inputs, outputs, controls, and mechanisms necessary to optimize processes. Also known as a [[functional decomposition]] approach, it focuses on cohesion within functions and coupling between functions leading to structured data.<ref name="DoDAF V2"/>
The functional decomposition of the structured method describes the process without delineating system behavior and dictates system structure in the form of required functions. The method identifies inputs and outputs as related to the activities. One reason for the popularity of structured analysis is its intuitive ability to communicate high-level processes and concepts, whether in single system or enterprise levels. Discovering how objects might support functions for commercially prevalent [[Object-oriented programming|object-oriented]] development is unclear. In contrast to IDEF, the [[
=== Approach ===
Line 49 ⟶ 52:
De Marco's approach<ref>[[Tom DeMarco]] (1978). ''Structured Analysis and System Specification''. Yourdon Press, New York, 1978.</ref> consists of the following objects (see figure):<ref name="HeSi86"/>
* [[Context diagram]]
* [[
* Process specifications
* [[Data dictionary]]
Line 56 ⟶ 59:
=== Context diagram ===
{{Main|Context diagram}}
[[Image:NDE Context Diagram (vector).svg|thumb|320px|Example of a system context diagram.<ref>[http://projects.osd.noaa.gov/NDE/proj_context_diagram.htm NDE Project Management] {{Webarchive|url=https://web.archive.org/web/20081107193850/http://projects.osd.noaa.gov/NDE/proj_context_diagram.htm |date=2008-11-07 }} (NPOESS) Data Exploitation web site. 2008.</ref>]]
[[System Context Diagram|Context diagrams]] are diagrams that represent the actors outside a system that could interact with that system.<ref name="KoSw03"/> This diagram is the highest level view of a [[system]], similar to [[block diagram]], showing a, possibly [[software system|software]]-based, system as a whole and its inputs and outputs from/to external factors.
Line 62 ⟶ 66:
=== Data dictionary ===
{{Main|Data dictionary}}
[[Image:Entity Relationship Diagram.jpg|thumb|320px|left| [[Entity relationship diagram]], essential for the design of database tables, extracts, and metadata.<ref name="USDT01"/>]]
A [[data dictionary]] or ''database dictionary'' is a file that defines the basic organization of a [[database]].<ref name="USDT01">[http://knowledge.fhwa.dot.gov/tam/aashto.nsf/All+Documents/4825476B2B5C687285256B1F00544258/$FILE/DIGloss.pdf Data Integration Glossary] {{Webarchive|url=https://web.archive.org/web/20120218233448/http://knowledge.fhwa.dot.gov/tam/aashto.nsf/All%20Documents/4825476B2B5C687285256B1F00544258/%24FILE/DIGloss.pdf |date=2012-02-18 }}, U.S. Department of Transportation, August 2001.</ref> A database dictionary contains a list of all files in the database, the number of records in each file, and the names and types of each data field. Most [[database management system]]s keep the data dictionary hidden from users to prevent them from accidentally destroying its contents. Data dictionaries do not contain any actual data from the database, only bookkeeping information for managing it. Without a data dictionary, however, a database management system cannot access data from the database.<ref name="USDT01"/>
Line 68 ⟶ 73:
=== Data flow diagrams ===
{{Main|Data flow diagram}}
[[Image:Data Flow Diagram Example.jpg|thumb|330px|Data flow diagram example.<ref>John Azzolini (2000). [http://ses.gsfc.nasa.gov/ses_data_2000/000712_Azzolini.ppt Introduction to Systems Engineering Practices]. July 2000.</ref>]]
A [[data flow diagram]] (DFD) is a graphical representation of the "flow" of data through an [[information system]]. It differs from the system [[flowchart]] as it shows the flow of data through processes instead of [[computer hardware]]. Data flow diagrams were invented by [[Larry Constantine]], developer of [[structured design]], based on Martin and Estrin's "data flow graph" model of computation.<ref>W. Stevens, G. Myers, L. Constantine, "Structured Design", IBM Systems Journal, 13 (2), 115-139, 1974.</ref>
Line 76 ⟶ 82:
=== Structure chart ===
{{Main|Structure chart}}
[[Image:Configuration System Structure Chart.jpg|thumb|320px|A configuration system structure chart.<ref name="IRT"/>]]
A [[structure chart]] (SC) is a chart that shows the breakdown of the [[configuration system]] to the lowest manageable levels.<ref name="IRT">[https://www.irs.gov/irm/part2/ch17s01.html "Configuration Management"] In: ''IRS Resources Part 2. Information Technology Chapter 27. Configuration Management''. Accessed 14 Nov 2008.</ref> This chart is used in [[structured programming]] to arrange the program modules in a tree structure. Each module is represented by a box which contains the name of the modules. The tree structure visualizes the relationships between the modules.<ref>[[James Martin (author)|James Martin]], Carma L. McClure (1988). ''Structured Techniques: The Basis for Case''. Prentice Hall. p.56.</ref>
Line 114 ⟶ 121:
== Further reading ==
* {{Cite journal| doi = 10.1147/sj.132.0115| title = Structured design| journal = IBM Systems Journal| volume = 13| issue = 2| pages = 115–139| date=June 1974 | last1 = Stevens | first1 = W. P.|
* {{Cite book | isbn = 0-13-854471-9 | title = Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design | last1 = Yourdon | first1 = Edward |
* [[Tom DeMarco]] (1978). ''Structured Analysis and System Specification''. Yourdon. {{ISBN|0-91-707207-3}}
* {{citation|last=Page-Jones|first=M |year=1980|title=The Practical Guide to Structured Systems Design|publisher=Yourdon Press|___location=New York
* Derek J. Hatley, Imtiaz A. Pirbhai (1988). ''Strategies for Real Time System Specification''. John Wiley and Sons Ltd. {{ISBN|0-932633-04-8}}
* [[Stephen J. Mellor]] und Paul T. Ward (1986). ''Structured Development for Real-Time Systems: Implementation Modeling Techniques: 003''. Prentice Hall. {{ISBN|0-13-854803-X}}
Line 129 ⟶ 136:
{{Software engineering}}
{{DEFAULTSORT:Structured Analysis}}
[[Category:Software design]]
|