Structured analysis: Difference between revisions

Content deleted Content added
Add main articles
m Disambiguating links to Object-orientation (link changed to Object-oriented programming) using DisamAssist.
 
(2 intermediate revisions by 2 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 25 ⟶ 26:
* [[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.
* [[Structured Analysis and Design Technique|Structured analysis and design technique]] (SADT) developed by [[Douglas T. Ross]]
* [[Edward Yourdon#Yourdon Structured Method|Yourdon structured method]] developed by [[Edward Yourdon]].
* Structured analysis and system specification published in 1978 by [[Tom DeMarco]].
Line 35 ⟶ 36:
*[[Information technology engineering]] in circa 1990 with Finkelstein and popularised by [[James Martin (author)|James Martin]].
 
According to Hay (1999) "[[Information engineering (field)|information engineering]] was a logical extension of the structured techniques that were developed during the 1970s. Structured programming led to structured design, which in turn led to structured systems analysis. These techniques were characterized by their use of [[diagram]]s: structure charts for structured design, and data flow diagrams for structured analysis, both to aid in communication between users and developers, and to improve the analyst's and the designer's discipline. During the 1980s, tools began to appear which both automated the drawing of the diagrams, and kept track of the things drawn in a [[data dictionary]]".<ref>David C. Hay (1999) [http://www.ihs.gov/Misc/links_gateway/download.cfm?doc_id=138&app_dir_id=4&doc_file=ieoo.pdf Achieving buzzword compliance in Object orientation] {{Webarchive|url=https://web.archive.org/web/20081020060208/http://www.ihs.gov/misc/links_gateway/download.cfm?doc_id=138&app_dir_id=4&doc_file=ieoo.pdf |date=2008-10-20 }} Essential Strategies, Inc.</ref> After the example of [[computer-aided design]] and [[computer-aided manufacturing]] (CAD/CAM), the use of these tools was named [[computer-aided software engineering]] (CASE).
 
== Structured analysis topics ==
Line 43 ⟶ 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 [[Unified Modeling Language|UML]] is interface driven with multiple abstraction mechanisms useful in describing [[service-orientation|service-oriented]] architectures (SOAs).<ref name="DoDAF V2"/>
 
=== Approach ===
Line 51 ⟶ 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]]
* [[Dataflow diagram|Data flow diagram]]
* Process specifications
* [[Data dictionary]]