Structured systems analysis and design method: Difference between revisions

Content deleted Content added
Further reading: added more Citations
Tags: Mobile edit Mobile app edit Android app edit App section source
 
(640 intermediate revisions by more than 100 users not shown)
Line 1:
{{Short description|Waterfall based systems analysis method}}
'''Structured Systems Analysis and Design Methodology''' ('''SSADM''') is a systems approach to the analysis and design of information systems. SSADM was produced for the [[Office of Government Commerce|CCTA]], a [[UK government]] office concerned with the use of technology in government, from 1980 onwards.
{{notability|date=October 2017}}
{{More footnotes|date=May 2010}}
 
'''Structured systems analysis and design method''' ('''SSADM''') is a systems approach to the analysis and design of information systems. SSADM was produced for the [[Central Computer and Telecommunications Agency]], a [[UK government]] office concerned with the use of technology in government, from 1980 onwards.
== Introduction ==
[[System design]] [[Methodology (software engineering)|methods]] are a discipline within the [[Software engineering|software development]] industry which seek to provide a framework for activity and the capture, storage, transformation and dissemination of information so as to enable the economic development of computer systems that are fit for purpose.
 
== Overview ==
SSADM is a [[waterfall model|waterfall method]] by which an IS design can be arrived at; SSADM can be thought to represent a pinnacle of the rigorous document-led approach to system design, and contrasts with more contemporary [[Rapid Application Development]] methods such as [[Dynamic Systems Development Method|DSDM]].
SSADM is a [[Waterfall model|waterfall method]] for the analysis and design of [[information systems]]. SSADM can be thought to represent a pinnacle of the rigorous document-led approach to system design, and contrasts with more contemporary [[Agile software development|agile]] methods such as [[Dynamic Systems Development Method|DSDM]] or [[Scrum (development)|Scrum]].
 
SSADM is one particular implementation and builds on the work of different schools of [[structured analysis]] and development methods, somesuch ofas Peter Checkland's [[soft systems methodology]], Larry Constantine's [[structured design]], Edward Yourdon's [[Edward_Yourdon#Yourdon_structured_method | Yourdon Structured Method]], Michael A. Jackson's [[Jackson Structured Programming]], theand keyTom membersDeMarco's of[[structured whichanalysis]]. included:
 
The names "Structured Systems Analysis and Design Method" and "SSADM" are [[trademark|registered trademarks]] of the [[Office of Government Commerce]] (OGC), which is an office of the United Kingdom's Treasury.<ref>{{cite web
* [[Peter Checkland]], developer of the [[Soft Systems Methodology]], an instance of [[Systems thinking]]
|url = http://www.ogc.gov.uk/intellectual_property_annex_1.asp
* Larry Constantine, developer of Structured Design and inventor of data flow diagrams.
|title = OGC – Annex 1
* Chris Gane & Trish Sarson, authors of ''Structured Systems Analysis: Tools and Techniques''
|publisher = Office of Government Commerce (OGC)
* [[Ed Yourdon]], developer of the Yourdon method in [[Structured programming]]
|accessdate = 2010-12-17}}</ref>
* [[Michael A. Jackson]], developer of [[Jackson Structured Programming]]
 
errrrrrrrrrrrrrrrrrrrrrrrrrrrr
== History ==
The principal stages of the development of Structured System Analysing And Design Method were:<ref>{{cite web |url = http://www.dcs.bbk.ac.uk/~steve/1/sld005.htm|archive-url=https://web.archive.org/web/20130219234253/http://www.dcs.bbk.ac.uk/~steve/1/sld001.htm|archive-date=2013-02-19 |url-status=dead|title = History of SSADM |work = SSADM – an Introduction |date = 20 January 1999 |author = Mike Goodland |author2 = Karel Riha |accessdate = 2010-12-17}}</ref>
* 1980: Central Computer and Telecommunications Agency (CCTA) evaluate analysis and design methods.
* 1981: Consultants working for Learmonth & Burchett Management Systems, led by John Hall, chosen to develop SSADM v1.
* 1982: John Hall and Keith Robinson left to found Model Systems Ltd, LBMS later developed LSDM, their proprietary version.
* 1983: SSADM made mandatory for all new information system developments
* 1984: Version 2 of SSADM released
* 1986: Version 3 of SSADM released, adopted by NCC
* 1988: SSADM Certificate of Proficiency launched, SSADM promoted as 'open' standard
* 1989: Moves towards [[Euromethod]], launch of CASE products certification scheme
* 1990: Version 4 launched
* 1993: SSADM V4 Standard and Tools Conformance Scheme
* 1995: SSADM V4+ announced, V4.2 launched
* 2000: CCTA renamed SSADM as "Business System Development". The method was repackaged into 15 modules and another 6 modules were added.<ref>{{cite web|url=http://www.modelsys.com/msssadm.htm |title=Model Systems and SSADM |year=2002 |publisher=Model Systems Ltd |accessdate=2009-04-02 |url-status=unfit |archiveurl=https://web.archive.org/web/20090402163313/http://www.modelsys.com/msssadm.htm |archivedate=April 2, 2009 }}</ref><ref>{{cite book |title= SSADM foundation |publisher= [[The Stationery Office]] |series= Business Systems Development with SSADM |year= 2000 |page= v |isbn= 0-11-330870-1 }}</ref>
 
== SSADM techniques ==
The three most important techniques that are used in SSADM are as follows:
; Logical Data Modelling
: The process of identifying, modelling and documenting the data requirements of the system being designed. The result is a data model containing entities (things about which a business needs to record information), attributes (facts about the entities) and relationships (associations between the entities).
; Data Flow Modelling
: The process of identifying, modelling and documenting how data moves around an information system. Data Flow Modeling examines processes (activities that transform data from one form to another), data stores (the holding areas for data), external entities (what sends data into a system or receives data from a system), and data flows (routes by which data can flow).
; Entity Event Modelling
: A two-stranded process: Entity Behavior Modelling, identifying, modelling and documenting the events that affect each entity and the sequence (or life history) in which these events occur, and Event Modelling, designing for each event the process to coordinate entity life histories.
 
== Stages ==
The SSADM method involves the application of a sequence of analysis, documentation and design tasks concerned with: the following.
 
=== Stage 0 – Feasibility study ===
* Analysis of the current system
:Also known as: feasibility stage. Analyze the current situation at a high level. A DFD ([[Data Flow Diagram]]) is used to describe how the current system works and to visualize known problems.
:The following steps are part of this stage:
:* Develop a [[Business Activity Model]]. A model of the business activity is built. Business events and business rules would also be investigated as an input to the specification of the new automated system.
:* Investigate and define requirements. The objective of this step is to identify the problems associated with the current environment that are to be resolved by the new system. It also aims to identify the additional services to be provided by the new system and users of the new system.
:* Investigate current processing. It investigates the information flow associated with the services currently provided, and describes them in the form of Data Flow Model. At this point, the Data Flow Model represents the current services with all their deficiencies. No attempt is made to incorporate required improvement, or new facilities.
:* Investigate current data. This step is to identify and describe the structure of the system data, independently of the way the data are currently held and organized. It produces a model of data that supports the current services.
:* Derive logical view of current services. The objective of this step is to develop a logical view of the current system that can be used to understand problems with the current system.
 
In order to determine whether or not a given project is feasible, there must be some form of investigation into the goals and implications of the project. For very small scale projects this may not be necessary at all as the scope of the project is easily understood. In larger projects, the feasibility may be done but in an informal sense, either because there is no time for a formal study or because the project is a "must-have" and will have to be done one way or the other. A data flow Diagram is used to describe how the current system works and to visualize the known problems.
* Outline business specification
:Also known as: requirements analysis stage. This stage consists of 2 parts. The first part is researching the existing environment. In this part, system requirements are identified and the current business environment is modelled. Modelling conists of creating a DFD and LDS ([[Logical Data Structure]]) for processes and data structures that are part of the system. In the second part, BSO ([[Business Systems Options]]), 6 business options are presented. One of the options is selected and built.
:The following steps are part of this stage:
:* Define BSOs. This step is concerned with identifying a number of possible system solutions that meet the defined requirements from which the users can select.
:* Select BSO. This step is concerned with the presentation of the BSOs to users and the selection of the preferred option. The selected option defines the boundary of the system to be developed in the subsequent stages.
 
When a feasibility study is carried out, there are four main areas of consideration:
* Detailed business specification
:Also known as: requirements specification stage. To assist the management to make a sound choice, a number of business system options, each describing the scope and functionalities provided by a particular development/implementation approach, are prepared and presented to them. These options may be supported by technical documentation such as [[Work Practice Model]], LDM ([[Logical Data Model]]) and DFD. They also require financial and risk assessments to be prepared, and need to be supported by outline implementation descriptions.
:The following steps are part of this stage:
:* Define required system processing. This step is to amend the requirements to reflect the selected Business System Option, to describe the required system in terms of system data flows and to define the user roles within the new system.
:* Develop required data model. This step is undertaken in parallel with the above step. The LDM of the current environment is extended to support all the processing in the selected business system option.
:* Derive system functions. During the parallel definition of data and processing, additional events are identified, which cause existing functions to be updated, and new functions to be defined. Service level requirements for each function are also identified in this step.
:* Develop user job specifications. A [[Work Practice Model]] is developed to document the understanding of the user jobs in concern.
:* Enhance required data model. Its objective is to improve the quality of the required system LDM by the application of relational data analysis (also known as normalization).
:* Develop specification prototypes. It is used to describe selected parts of the required system in an animated form, for demonstration to the users. The purpose is to demonstrate that the requirements have been properly understood and to establish additional requirements concerning the style of the user interface.
:* Develop processing specification. This step is principally concerned with defining the detailed update and enquiry processing for the required system.
:* Confirm system objectives. During stage 1 and 3, the requirements will have been recorded, as they are identified, in the user requirements. This step represents the final review of the requirements before the completion of the Definition of Requirements Stage.
 
Technical – is the project technically possible?<br />
* Logical data design
Financial – can the business afford to carry out the project?<br />
:Also known as: logical system specification stage. In this stage, technically feasible options are chosen. The development/implementation environments are specified based on this choice.
Organizational – will the new system be compatible with existing practices?<br />
:The following steps are part of this stage:
Ethical – is the impact of the new system socially acceptable?
:* Define TSOs. Its purpose is to identify and define the possible approaches to the physical implementation to meet the function definitions. It also validates the service level requirements for the proposed system in the light of the technical environment.
:* Select TSO. This step is concerned with the presentation of the TSOs to users and the selection of the preferred option.
 
To answer these questions, the feasibility study is effectively a condensed version of a comprehensive systems analysis and design. The requirements and usages are analyzed to some extent, some business options are drawn up and even some details of the technical implementation.
* Logical process design
The product of this stage is a formal feasibility study document. SSADM specifies the sections that the study should contain including any preliminary models that have been constructed and also details of rejected options and the reasons for their rejection.
:Also known as: logical system specification stage. In this stage, logical designs and processes are updated. Additionally, the dialogs are specified as well.
:The following steps are part of this stage:
:* Define user dialogue. This step defines the structure of each dialogue required to support the on-line functions and identifies the navigation requirements, both within the dialogue and between dialogues.
:* Define update processes. This is to complete the specification of the database updating required for each event and to define the error handling for each event.
:* Define enquiry processes. This is to complete the specification of the database enquiry processing and to define the error handling for each enquiry.
 
=== Stage 1 – Investigation of the current environment ===
* Physical design
:The objective of this stage is to specify the physical data and process design, using the language and features of the chosen physical environment and incorporating installation standards.
:The following activities are part of this stage:
:* Prepare for physical design.
::* learn the rules of the implementation environment;
::* review the precise requirements for logical to physical mapping; and
::* plan the approach.
:* Complete the specification of functions.
:* Incrementally and repeatedly develop the data and process designs.
 
The developers of SSADM understood that in almost all cases there is some form of current system even if it is entirely composed of people and paper. Through a combination of interviewing employees, circulating questionnaires, observations and existing documentation, the analyst comes to full understanding of the system as it is at the start of the project. This serves many purposes (Like examples?).
== Techniques ==
The 3 most important techniques that are used in SSADM are:
* Logical Data Modeling. This is the process of identifying, modeling and documenting the data requirements of the system being designed. The data are separated into entities (things about which a business needs to record information) and relationships (the associations between the entities).
* Data Flow Modeling. This is the process of identifying, modeling and documenting how data moves around an information system. Data Flow Modeling examines processes (activities that transform data from one form to another), data stores (the holding areas for data), external entities (what sends data into a system or receives data from a system), and data flows (routes by which data can flow).
* Entity Behavior Modeling. This is the process of identifying, modeling and documenting the events that affect each entity and the sequence in which these events occur.
 
=== Stage 2 – Business system options ===
== History ==
 
The design of SSADM has changed a number of times since its first release, informed by user experience and by other and newer methodologies. In particular SSADM has developed to apprehend a greater need for iteration, even to the point of the use of the methodology within or as an adjunct to RAD projects. Despite the changes, SSADM in particular, and the waterfall approach in general is criticised for adding to the time and cost of software projects without improving the outcome or output of the projects.
Having investigated the current system, the analyst must decide on the overall design of the new system. To do this, he or she, using the outputs of the previous stage, develops a set of business system options. These are different ways in which the new system could be produced varying from doing nothing to throwing out the old system entirely and building an entirely new one. The analyst may hold a brainstorming session so that as many and various ideas as possible are generated.
 
The ideas are then collected to options which are presented to the user. The options consider the following:
 
*the degree of automation
*the boundary between the system and the users
*the distribution of the system, for example, is it centralized to one office or spread out across several?
*cost/benefit
*impact of the new system
 
Where necessary, the option will be documented with a logical data structure and a level 1 data-flow diagram.
 
The users and analyst together choose a single business option. This may be one of the ones already defined or may be a synthesis of different aspects of the existing options. The output of this stage is the single selected business option together with all the outputs of the feasibility stage.
 
=== Stage 3 – Requirements specification ===
 
This is probably the most complex stage in SSADM. Using the requirements developed in stage 1 and working within the framework of the selected business option, the analyst must develop a full logical specification of what the new system must do. The specification must be free from error, ambiguity and inconsistency. By logical, we mean that the specification does not say how the system will be implemented but rather describes what the system will do.
 
To produce the logical specification, the analyst builds the required logical models for both the [[Data flow diagram|data-flow diagrams]] (DFDs) and the [[Logical data model|Logical Data Model]] (LDM), consisting of the Logical Data Structure (referred to in other methods as [[Entity-relationship model|entity relationship diagrams]]) and full descriptions of the data and its relationships. These are used to produce function definitions of every function which the users will require of the system, Entity Life-Histories (ELHs) which describe all events through the life of an entity, and Effect Correspondence Diagrams (ECDs) which describe how each event interacts with all relevant entities. These are continually matched against the requirements and where necessary, the requirements are added to and completed.
 
The product of this stage is a complete requirements specification document which is made up of:
 
*the updated data catalogue
*the updated requirements catalogue
*the processing specification which in turn is made up of
:*user role/function matrix
:*function definitions
:*required logical data model
:*entity life-histories
:*effect correspondence diagrams
 
=== Stage 4 – Technical system options ===
 
This stage is the first towards a physical implementation of the new system application. Like the Business System Options, in this stage a large number of options for the implementation of the new system are generated. This is narrowed down to two or three to present to the user from which the final option is chosen or synthesized.
 
However, the considerations are quite different being:
 
*the hardware architectures
*the software to use
*the cost of the implementation
*the staffing required
*the physical limitations such as a space occupied by the system
*the distribution including any networks which that may require
*the overall format of the human computer interface
 
All of these aspects must also conform to any constraints imposed by the business such as available money and standardization of hardware and software.
 
The output of this stage is a chosen technical system option.
 
=== Stage 5 – Logical design ===
 
Though the previous level specifies details of the implementation, the outputs of this stage are implementation-independent and concentrate on the requirements for the human computer interface. The logical design specifies the main methods of interaction in terms of menu structures and command structures.
 
One area of activity is the definition of the user dialogues. These are the main interfaces with which the users will interact with the system. Other activities are concerned with analyzing both the effects of events in updating the system and the need to make inquiries about the data on the system. Both of these use the events, function descriptions and effect correspondence diagrams produced in stage 3 to determine precisely how to update and read data in a consistent and secure way.
 
The product of this stage is the logical design which is made up of:
 
*Data catalogue
*Required logical data structure
*Logical process model – includes dialogues and model for the update and inquiry processes
*Stress & Bending moment.
 
=== Stage 6 – Physical design===
 
This is the final stage where all the logical specifications of the system are converted to descriptions of the system in terms of real hardware and software. This is a very technical stage and a simple ''overview'' is presented here.
 
The logical data structure is converted into a physical architecture in terms of database structures. The exact structure of the functions and how they are implemented is specified. The physical data structure is optimized where necessary to meet size and performance requirements.
 
The product is a complete Physical Design which could tell software engineers how to build the system in specific details of hardware and software and to the appropriate standards.
SSADM was for a number of years a recommended practice in the development of UK government information systems, along with the [[PRINCE2]] project management method. More recently the [[Unified Modeling Language]] approach has been recommended by CCTA's successor, the [[Office of Government Commerce]].
 
==References==
== External links ==
{{reflist}}
* [http://www.webopedia.com/TERM/S/SSADM.html ''What is SSADM?'' at ''webopedia.com'']
==Further reading==
* [http://www.ogcio.gov.hk/eng/prodev/es3.htm ''SSADM Version 4.2 Structural Standards'' at the ''Office of the Government Chief Information Officer (OGCIO) of the Government of the Hong Kong Special Administrative Region'']
{{refbegin |30em}}
* [http://www.smartdraw.com/examples/software-ssadm/ SSADM Diagram Examples]
* {{cite book
* [http://www.comp.glam.ac.uk/pages/staff/tdhutchings/chapter4.html ''Introduction to Methodologies and SSADM'']
| last = Robinson
| first = Keith
| last2 = Berrisford
| first2 = Graham
| title = Object-oriented SSADM
| publisher = Prentice Hall International (UK)
| ___location = Hemel Hempstead
| date = 1994
| isbn = 0-13-309444-8
| url = https://books.google.com/books/about/Object_oriented_SSADM.html?id=8vIkAQAAIAAJ
| archive-url = https://web.archive.org/web/20230601000000/https://books.google.com/books/about/Object_oriented_SSADM.html?id=8vIkAQAAIAAJ
| archive-date = 2023-06-01
| url-status = live
}}
*{{cite book |last=Duncan |first=Joyce |last2=Rackley |first2=Lesley |last3=Walker |first3=Alexandria |title=SSADM in Practice: A Version 4 Text |publisher=Macmillan |year=1995 |isbn=9780333620670}}
*{{cite book |last=Downs |first=Ed |last2=Clare |first2=Peter |last3=Coe |first3=Ian |title=Structured Systems Analysis and Design Method: Application and Context |publisher=Prentice Hall |year=1992 |isbn=9780138536985}}
* {{cite book |last=Weaver |first=Philip L. |last2=Lambrou |first2=Nick |last3=Walkley |first3=Matthew |title=Practical SSADM Version 4+: A Complete Tutorial Guide |publisher=Pitman Publishing |year=2002 |edition=3rd|isbn=9780273655756}}
{{refend}}
{{Refimprove|date=November 2008}}
 
==External links==
[[Category:Software development]]
{{subject bar|auto=y|d=y|Technology}}
* [http://www.webopedia.com/TERM/S/SSADM.html What is SSADM?] at webopedia.com
* [https://web.archive.org/web/20051202113000/http://www.comp.glam.ac.uk/pages/staff/tdhutchings/chapter4.html Introduction to Methodologies and SSADM]
* [http://www.cilco.co.uk/briefing-studies/acme-fashion-supplies-feasibility-study/index.html Case study using pragmatic SSADM]
* [https://web.archive.org/web/20070203213944/http://www.yourdon.com/strucanalysis/wiki/index.php?title=Introduction Structured Analysis Wiki]
 
[[Category:Information systems]]
[[nl:Structured Systems Analysis and Design Methodology]]
[[Category:Software design]]
[[pt:SSADM]]
[[Category:Systems analysis]]