YOURDON COMPUTING SERIES
Ed Yourdon, Advisor
BENTON AND WEEKES Program It Right: A Structured Method in BASIC
BLOCK The Politics of Projects
BODDIE Crunch Mode: Building Effective Systems on a Tight Schedule
BRILL Building Controls Into Structured Systems
BRILL Techniques of EDP Project Management: A Book of Readings
CONSTANTINE AND YOURDON Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design
DE MARCO Concise Notes on Software Engineering
DE MARCO Controlling Software Projects: Management Measurement, and Estimates
DE MARCO Structured Analysis and System Specification
DICKINSON Developing Structured Systems: A Methodology Using Structured Techniques
FLAVIN Fundamental Concepts in Information Modeling
HANSEN Up and Running: A Case Study of Successful Systems Development
KELLER Expert Systems Technology: Development and Application
KELLER The Practice of Structured Analysis: Exploding Myths
KING Current Practices in Software Development: A Guide to Successful Systems
KRIEGER, POPPER, RIPPS, AND RADCLIFFE Structured Micro-Processor Programming
MAC DONALD Intuition to Implementation: Communicating About Systems Towards a Language of Structure in Data Processing System Development
MC MENAMIN AND PALMER Essential Systems Analysis
ORR Structured Systems Development
PAGE-JONES The Practical Guide to Structured Systems Design
PETERS Software Design: Methods and Techniques
ROESKE The Data Factory: Data Center Operations and Systems Development
SEMPREVIO Teams in Information Systems Development
THOMSETT People and Project Management
WARD Systems Development Without Pain: A User’s Guide to Modeling Organizational Patterns
WARD AND MELLOR Structured Development for Real-Time Systems, Volumes I, II, and III
WEAVER Using the Structured Techniques: A Case Study
WEINBERG Structured Analysis
WELLS A Structured Approach to Building Programs: BASIC
WELLS A Structured Approach to Building Programs: COBOL
WELLS A Structured Approach to Building Programs: Pascal
YOURDON Classics in Software Engineering
YOURDON Coming of Age in the Land of Computers
YOURDON Design of On-line Computer Systems
YOURDON, LISTER, GANE, AND SARSON Learning to Program in Structured Cobol, Parts 1 and 2
YOURDON Managing Structured Techniques, 31E
YOURDON Managing the System Life Cycle
YOURDON Structured Walkthroughs, 21E
YOURDON Techniques of Program Structure and Design
YOURDON Writing of the Revolution: Selected Readings on Software Engineering
ZAHN C Notes: A Guide to the C Programming
Volume 2: Essential Modeling Techniques
Yourdon Press
Prentice Hall Building
A Pearson Education Company
Library of Congress Cataloging in Publication Data
Ward, Paul T.
Structured development for real-time systems.
Bibliography: v. 2, p.
Includes index
Contents: — v.2. Essential modeling techniques.
1. Real-time data processing. 2. System design.
3. Electronic data processing — Structured techniques.
I. Mellor, Stephen J. II. Title.
QA76.54.W37 1985 005.1’13 85-50815
ISBN 0-13-854795-5 (pbk.: v.2)
20 19 18 17 16 15 14 13
© 1985 by Prentice-Hall, Inc.
A Pearson Education Company
Upper Saddle River, NJ 07458
All rights reserved. No part of this publication may be reproduced, stored in a retrieval system, or transmitted, in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise, without prior permission of the publisher.
Printed in the United States of America
Library of Congress Catalog Number 85-50815
ISBN 0-13-854795-5
This book was set in Times Roman by YOURDON Press, 1501 Broadway, New York, N.Y., using a PDP-11/70 running under the UNIX* operating system.
* Unix is a registered trademark of Bell Laboratories.
Cover design by George Armstrong
To Pamela with Love
– P.T.W.
To both my families
– S.J.M.
We stated our gratefulness to various colleagues for contributions to the genesis of our approach in the Acknowledgments for Volume 1, and we wish to reiterate our gratefulness here.
We would particularly like to thank the technical reviewers of Volume 2 for their hard work and for their helpful insights: Pete Coad, Jr., Charles S. Hendrickson, Peter J. Gross, Steven Weiss, and W.K. Krutz.
A special word of thanks is due to John Shuttleworth of N.V. Philips. John was the author of the original version of the SILLY case study, and generously permitted us to include a version of the case study in this volume.
Finally, we wish to express our gratitude to Gerry Madigan and the Yourdon Press editorial staff.
Introduction to Essential Modeling Heuristics Section
1. Essential Modeling Heuristics
1.2 Problems with functional decomposition
1.3 Environment-based modeling
1.4 Components of the total system
1.5 Subject-matter-centered modeling
1.6 Minimum-complexity representation
2.2 Notation for context definition
2.3 Context definition in a systems engineering environment
2.4 Identification of terminators and flows
2.5 Exclusion of interface technology
2.6 Expanded contexts – material and energy transformations
2.7 Defining context specifics
2.9 Leveled and multiple-context schemas
3.2 Definition of an external event
3.3 Events versus event recognition
3.4 Identification of individual events
3.5 The active event modeling approach
3.6 The passive event modeling approach
3.7 The brainstorming approach to event modeling
4. Deriving the Behavioral Model
4.2 An informal high-level requirements model
4.3 Systems dominated by a specific perspective
4.4 Representing behavior on the transformation schema
4.5 Regions of the transformation schema
4.7 The preliminary transformation model
4.8 Constructing state-transition diagrams from an event list
4.9 Constructing data and control transformations from an event list
4.10 Constructing a data schema from an event list
5. Completing the Essential Model – the Upper Levels
5.2 Partitioning to minimize interfaces
5.3 Identifying hierarchies of control
5.4 Using response-related groupings
5.5 Using terminator-related groupings
6. Completing the Essential Model – the Lower Levels
6.2 New development versus redevelopment
6.3 Extracting essential details from an existing implementation
7. Essential Model Traceability
7.2 Traceability between narrative requirements and the environmental
model
7.3 Traceability in the behavioral model
7.4 Use of tracing tables in the absence of a narrative
7.5 Documenattion of omissions from the model
Appendix A – Cruise Control System
Preliminary Transformation Schema
Appendix B – Bottle-Filling System
Appendix C – Silly (Science and Industry Little Logic Yzer)
Appendix D – Defect Inspection System
Over the last forty-odd years, builders of automated systems have learned, often at great expense, that a rigorous notation alone does not assure a satisfactory product. Without the discipline of structured programming and other facets of programming style, the use of even the most elegant language can degenerate into ill-organized “hacking.”
The rules of structured programming are of a different character from the syntax rules of a programming language. The latter admit no exceptions; the former are more properly guidelines or heuristics than rules, and do admit exceptions. (There are, of course, always zealots ready and willing to turn guidelines into rigid rules. We refer the reader to the interminable literature on the “goto” controversy for examples.)
The subject of this volume bears the same relationship to the modeling notation set out in Volume 1 as structured programming bears to programming language syntax. We have attempted to synthesize the experiences of many developers on many systems into a “style” for modeling requirements. Our experience indicates that the combination of modeling tools and modeling heuristics presented in these two volumes provides an effective approach to real-time systems development. We hope our readers will have the same experience.
In this section – comprising the whole of volume 2 – the modeling tools introduced in section 2 of Volume 1 are applied to the building of an essential model.
Chapter 1, Essential Modeling Heuristics, explains the overall guidelines for essential model building that recur in various ways in the remaining chapters.
Chapters 2 and 3 form a unit concerned with modeling a system’s environment. Chapter 2, Defining System Context, focuses on the representation of system scope. Chapter 3, Modeling External Events, examines the identification of the stimuli to which a system must respond.
Chapters 4, 5 and 6 also form a unit, this time concerned with modeling a system’s behavior once the environment has been established. Chapter 4, Deriving the Behavioral Model, describes the translation of an event list into a schematic model. Chapter 5, Completing the Essential Model – the Upper Levels, introduces guidelines for reorganizing the initial schematic model for presentation. Chapter 6, Completing the Essential Model – the Lower Levels, describes methods for incorporating lower-level details into the model.
Finally, Chapter 7, Essential Model Traceability, describes the keeping of detailed records documenting the derivation of the essential model.
Because of the subject matter of this section, the examples are of necessity more elaborate than those in Section 2 of Volume 1. To avoid incorporating large amounts of background material on the examples in the chapters themselves, we have chosen nearly all the examples from the same four systems. The background descriptions for these systems, together with fully-worked-out essential models, are to be found in Appendices A, B, C, and D.
The reader is urged first to read the background material, then to read the chapters, and finally to examine the essential models in detail.
We are publishing this preliminary edition in three volumes. The first volume serves as an introduction and describes a set of general tools for modeling the complexities of real-time systems. The second volume addresses the techniques of essential modeling (loosely, systems analysis). It shows how the tools are used to construct a model of what needs to be done. The third volume addresses the techniques of implementation modeling (loosely, systems design). These techniques use the tools described in the introductory volume plus some additional tools to construct a model of the chosen solution.
We are eagerly seeking feedback from our professional colleagues on improvements in presentation and content. We intend to incorporate this feedback into a subsequent edition of this book to be published in the near future.
3.14.142.115