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

Structured Development for Real-Time Systems

by Paul T. Ward &
Stephen J. Mellor

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

* Unix is a registered trademark of Bell Laboratories.

Cover design by George Armstrong

Dedications

To Pamela with Love

– P.T.W.

To both my families

– S.J.M.

Acknowledgments

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.

Contents

Preface

Introduction to Essential Modeling Heuristics Section

Note on Preliminary Edition

1. Essential Modeling Heuristics

1.1 Introduction

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

1.7 Summary

2. Defining System Context

2.1 Introduction

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.8 Packaging context flows

2.9 Leveled and multiple-context schemas

2.10 Summary

3. Modeling External Events

3.1 Introduction

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

3.8 Summary

4. Deriving the Behavioral Model

4.1 Introduction

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.6 Classifying events

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

4.11 Summary

5. Completing the Essential Model – the Upper Levels

5.1 Introduction

5.2 Partitioning to minimize interfaces

5.3 Identifying hierarchies of control

5.4 Using response-related groupings

5.5 Using terminator-related groupings

5.6 Nameability of groupings

5.7 Summary

6. Completing the Essential Model – the Lower Levels

6.1 Introduction

6.2 New development versus redevelopment

6.3 Extracting essential details from an existing implementation

6.4 Summary

7. Essential Model Traceability

7.1 Introduction

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

7.6 Summary

Appendix A – Cruise Control System

Problem Statement

Context Schema

Event List

Preliminary Transformation Schema

Leveled Set of Schemas

Data Dictionary

Transformation Specifications

Appendix B – Bottle-Filling System

Problem Statement

Context Schema

Event List

Leveled Set of Schemas

Data Dictionary

Transformation Specifications

Appendix C – Silly (Science and Industry Little Logic Yzer)

Problem Statement

Context Schema

Event List

Leveled Set of Schemas

Data Dictionary

Transformation Specifications

Appendix D – Defect Inspection System

Problem Statement

Context Schema

Event List

Entity Relationship Diagram

Leveled Set of Diagrams

Data Dictionary

Transformation Specifications

Index

Preface

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.

Introduction to Essential Modeling Heuristics Section

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.

Note on Preliminary Edition

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.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.14.142.115