The design-methods comparison project

Early in the system design process, a design method must be chosen. This choice is usually dictated by what methods the designer has previously used, not by an open selection process. We provide descriptions of some available design methods and examples of their use. We develop benchmark problems that are solved by a variety of design methods and which identify characteristics of problems that might make one system design method more or less appropriate. The question we wish to answer is, "For which type of problem is each method best?" If a system is to be built, then that system must ultimately be described as a collection of state machines. However, these state machines are often not created by the systems engineers. The systems engineers use some method to create a high-level abstraction of the desired system. Then they turn this abstraction over to the specialty engineers who actually reduce it to a collection of state machines. We present solutions for a simple design problem by using the following 11 high-level system design methods: state transition diagrams, algorithmic state machine (ASM) notation, model-based system engineering, graphical description language, RDD-100, structured analysis, functional decomposition, object-oriented analysis (OOA) with Shlaer-Mellor notation, OOA and object-oriented design (OOD) with Booch notation, an operational evaluation modeling-directed graph, and IDEF0. Each method was used by an expert user of that method. The solutions presented make it obvious that the choice of a design method greatly effects the resulting system design.

[1]  J.R. Clymer,et al.  Expansionist/context-sensitive methodology: engineering of complex adaptive systems , 1997, IEEE Transactions on Aerospace and Electronic Systems.

[2]  Mary Shaw,et al.  Comparing Architectural Design Styles , 1995, IEEE Softw..

[3]  C. A. Irvine,et al.  Software Engineering: Process, Principles, and Goals , 1975, Computer.

[4]  Edward V. LaBudde GRAPHICAL DESCRIPTION LANGUAGE:™ A SOLUTION FOR THE SYSTEM‐SOFTWARE INTERFACE PROBLEM , 1996 .

[5]  David H. Green,et al.  Modern logic design , 1986 .

[6]  Edsger W. Dijkstra,et al.  Structured programming , 1972, A.P.I.C. Studies in data processing.

[7]  Bjarne Stroustrup,et al.  The C++ programming language (2nd ed.) , 1991 .

[8]  Paul Ward,et al.  Structured Development for Real-Time Systems , 1986 .

[9]  John R. Clymer ROLE OF REDUCTIONISM AND EXPANSIONISM IN SYSTEM DESIGN AND EVALUATION , 1994 .

[10]  James Martin,et al.  Object-oriented analysis and design , 1992 .

[11]  A. Terry Bahill,et al.  Metrics and Case Studies for Evaluating Engineering Designs , 1997 .

[12]  A. Turing On Computable Numbers, with an Application to the Entscheidungsproblem. , 1937 .

[13]  Lynn Conway,et al.  Introduction to VLSI systems , 1978 .

[14]  A. Wayne Wymore,et al.  Model-based systems engineering , 1993 .

[15]  David A. Marca,et al.  IDEFO - SADT Business Process and Enterprise Modelling , 1993 .

[16]  A. Terry Bahill,et al.  Engineering Modeling and Design , 1992 .

[17]  Ed Downs,et al.  Structured systems analysis and design method , 1988 .

[18]  William E. Lorensen,et al.  Object-Oriented Modeling and Design , 1991, TOOLS.

[19]  A. T. Bahill,et al.  Discovering system requirements , 1996 .

[20]  Ivar Jacobson,et al.  The object advantage - business process reengineering with object technology , 1994 .

[21]  John R. Clymer,et al.  Operational Evaluation Modeling , 1990, Simul..

[22]  Stephen J. Mellor,et al.  Object Oriented Systems Analysis: Modeling the World in Data , 1988 .