SlideShare a Scribd company logo
Art Of Software Modeling Benjamin A Lieberman
download
https://ebookbell.com/product/art-of-software-modeling-benjamin-
a-lieberman-979016
Explore and download more ebooks at ebookbell.com
Here are some recommended products that we believe you will be
interested in. You can click the link to download.
Uml In Practice The Art Of Modeling Software Systems Demonstrated
Through Worked Examples And Solutions Pascal Roques
https://ebookbell.com/product/uml-in-practice-the-art-of-modeling-
software-systems-demonstrated-through-worked-examples-and-solutions-
pascal-roques-4109308
The Art Of Software Innovation Eight Practice Areas To Inspire Your
Business 1st Edition Wim Codenie
https://ebookbell.com/product/the-art-of-software-innovation-eight-
practice-areas-to-inspire-your-business-1st-edition-wim-
codenie-2452216
The Art Of Software Testing 3rd Edition Glenford J Myers Corey Sandler
https://ebookbell.com/product/the-art-of-software-testing-3rd-edition-
glenford-j-myers-corey-sandler-4449250
The Art Of Software Thermal Management For Embedded Systems 1st
Edition Mark Benson Auth
https://ebookbell.com/product/the-art-of-software-thermal-management-
for-embedded-systems-1st-edition-mark-benson-auth-4634992
The Art Of Software Security Assessment Identifying And Preventing
Software Vulnerabilities Mark Dowd
https://ebookbell.com/product/the-art-of-software-security-assessment-
identifying-and-preventing-software-vulnerabilities-mark-dowd-5182974
The Art Of Software Architecture Stephen T Albin Albin Stephen T
https://ebookbell.com/product/the-art-of-software-architecture-
stephen-t-albin-albin-stephen-t-35448714
The Art Of Software Security Testing 1st Edition Chris Wysopal
https://ebookbell.com/product/the-art-of-software-security-
testing-1st-edition-chris-wysopal-5220864
Principles Of Software Architecture Modernization Delivering
Engineering Excellence With The Art Of Fixing Microservices Diego
Pacheco
https://ebookbell.com/product/principles-of-software-architecture-
modernization-delivering-engineering-excellence-with-the-art-of-
fixing-microservices-diego-pacheco-54937026
The Art Of Lean Software Development Curt Hibbs Steve Jewett
https://ebookbell.com/product/the-art-of-lean-software-development-
curt-hibbs-steve-jewett-2102300
Art Of Software Modeling Benjamin A Lieberman
Art Of Software Modeling Benjamin A Lieberman
AU4462.indb 1 11/19/06 4:14:56 PM
AUERBACH PUBLICATIONS
www.auerbach-publications.com
To Order Call: 1-800-272-7737 • Fax: 1-800-374-3401
E-mail: orders@crcpress.com
The Complete Project Management
Office Handbook
Gerard M. Hill
0-8493-2173-5
Complex IT Project Management: 16
Steps to Success
Peter Schulte
0-8493-1932-3
Creating Components: Object Oriented,
Concurrent, and Distributed Computing
in Java
Charles W. Kann
0-8493-1499-2
The Hands-On Project Office:
Guaranteeing ROI and On-Time Delivery
Richard M. Kesner
0-8493-1991-9
Interpreting the CMMI®: A Process
Improvement Approach
Margaret Kulpa and Kent Johnson
0-8493-1654-5
ISO 9001:2000 for Software and Systems
Providers: An Engineering Approach
Robert Bamford and William John Deibler II
0-8493-2063-1
The Laws of Software Process: A New
Model for the Production and
Management of Software
Phillip G. Armour
0-8493-1489-5
Real Process Improvement Using the
CMMI®
Michael West
0-8493-2109-3
Six Sigma Software Development
Christine Tayntor
0-8493-1193-4
Software Architecture Design Patterns
in Java
Partha Kuchana
0-8493-2142-5
Software Configuration Management
Jessica Keyes 0-8493-1976-5
Software Engineering for Image
Processing
Phillip A. Laplante 0-8493-1376-7
Software Engineering Handbook
Jessica Keyes 0-8493-1479-8
Software Engineering Measurement
John C. Munson 0-8493-1503-4
Software Metrics: A Guide to Planning,
Analysis, and Application
C.R. Pandian
0-8493-1661-8
Software Testing: A Craftsman’s
Approach, Second Edition
Paul C. Jorgensen
0-8493-0809-7
Software Testing and
Continuous Quality Improvement,
Second Edition
William E. Lewis
0-8493-2524-2
IS Management Handbook,
8th Edition
Carol V. Brown and Heikki Topi, Editors
0-8493-1595-9
Lightweight Enterprise Architectures
Fenix Theuerkorn
0-8493-2114-X
Outsourcing Software Development
Offshore: Making It Work
Tandy Gold
0-8493-1943-9
Maximizing ROI on Software
Development
Vijay Sikka
0-8493-2312-6
Implementing the IT Balanced Scorecard
Jessica Keyes
0-8493-2621-4
Other Auerbach Publications in
Software Development, Software Engineering,
and Project Management
AU4462.indb 2 11/19/06 4:14:58 PM
Boca Raton New York
Auerbach Publications is an imprint of the
Taylor & Francis Group, an informa business
Benjamin A. Lieberman
AU4462.indb 3 11/19/06 4:14:58 PM
Auerbach Publications
Taylor & Francis Group
6000 Broken Sound Parkway NW, Suite 300
Boca Raton, FL 33487‑2742
© 2007 by Taylor & Francis Group, LLC
Auerbach is an imprint of Taylor & Francis Group, an Informa business
No claim to original U.S. Government works
Printed in the United States of America on acid‑free paper
10 9 8 7 6 5 4 3 2 1
International Standard Book Number‑10: 1‑4200‑4462‑1 (Hardcover)
International Standard Book Number‑13: 978‑1‑4200‑4462‑1 (Hardcover)
This book contains information obtained from authentic and highly regarded sources. Reprinted
material is quoted with permission, and sources are indicated. A wide variety of references are
listed. Reasonable efforts have been made to publish reliable data and information, but the author
and the publisher cannot assume responsibility for the validity of all materials or for the conse‑
quences of their use.
No part of this book may be reprinted, reproduced, transmitted, or utilized in any form by any
electronic, mechanical, or other means, now known or hereafter invented, including photocopying,
microfilming, and recording, or in any information storage or retrieval system, without written
permission from the publishers.
For permission to photocopy or use material electronically from this work, please access www.
copyright.com (http://www.copyright.com/) or contact the Copyright Clearance Center, Inc. (CCC)
222 Rosewood Drive, Danvers, MA 01923, 978‑750‑8400. CCC is a not‑for‑profit organization that
provides licenses and registration for a variety of users. For organizations that have been granted a
photocopy license by the CCC, a separate system of payment has been arranged.
Trademark Notice: Product or corporate names may be trademarks or registered trademarks, and
are used only for identification and explanation without intent to infringe.
Library of Congress Cataloging‑in‑Publication Data
Lieberman, Benjamin A.
The art of software modeling / Benjamin A. Lieberman.
p. cm.
Includes bibliographical references and index.
ISBN 1‑4200‑4462‑1 (alk. paper)
1. Software architecture. 2. System design. I. Title.
QA76.76.D47L536 2006
005.1’2‑‑dc22 2006050075
Visit the Taylor & Francis Web site at
http://www.taylorandfrancis.com
and the Auerbach Web site at
http://www.auerbach‑publications.com
AU4462.indb 4 11/19/06 4:14:59 PM
Dedication
This book is dedicated in loving memory to my father.
AU4462.indb 5 11/19/06 4:14:59 PM
AU4462.indb 6 11/19/06 4:14:59 PM
vii
Contents
Preface............................................................................................................xv
About the Author.........................................................................................xvii
Notices..........................................................................................................xix
Acknowledgments.........................................................................................xxi
I Analytical Frameworks
1 The Art of the Model...............................................................................3
Cognitive Resonance....................................................................................5
Perception and Representation of Models.....................................................7
Learning and Reasoning...............................................................................9
Beauty and the Beholder.............................................................................10
Summary....................................................................................................12
Tips and Traps............................................................................................13
Questions and Exercises..............................................................................13
Exercise #1: Problems with Communication.
..............................................14
References...................................................................................................14
Notes..........................................................................................................15
2 A Systematic Approach..........................................................................17
Formal Systems Analysis.............................................................................19
Functional Decomposition.........................................................................20
Scientific Method.......................................................................................24
Process Approach........................................................................................25
Summary....................................................................................................28
Tips and Traps............................................................................................29
Questions and Exercises..............................................................................30
Exercise #1 System Analysis........................................................................30
References...................................................................................................31
Notes..........................................................................................................31
AU4462.indb 7 11/19/06 4:14:59 PM
viii n Contents
3 Observing Behavior...............................................................................33
Observing Individuals............................................................................... 34
Working in Groups.....................................................................................37
Organizational Culture.
..............................................................................38
Investigating Legacy Computer Systems.................................................... 40
Environmental Considerations.
...................................................................43
Summary................................................................................................... 44
Tips and Traps............................................................................................45
Questions and Exercises............................................................................. 46
Exercise #1: Business Process Mapping...................................................... 46
Exercise #2: Organizational Mapping.........................................................47
Exercise #3: Team Construction.................................................................47
References...................................................................................................47
Notes..........................................................................................................48
4 Analytical Thinking..............................................................................49
Analysis Patterns.........................................................................................50
Pattern Structure....................................................................................50
Analytical Frameworks...............................................................................54
Adaptation and Application........................................................................56
Summary....................................................................................................57
Tips and Traps............................................................................................58
Questions and Exercises..............................................................................59
Exercise #1: Finding Abstract Themes.........................................................59
Exercise #2: Creating an Analytical Framework.........................................59
References.................................................................................................. 60
Notes..........................................................................................................61
II Model Construction
5 Research and Investigation...................................................................65
Recording Information.............................................................................. 66
Interviews...................................................................................................67
Group Facilitation......................................................................................70
Independent Investigation..........................................................................73
Experimentation.........................................................................................74
Organization of Research Information.......................................................75
Summary....................................................................................................76
Tips and Traps............................................................................................78
Questions and Exercises..............................................................................78
Exercise #1: Interviewing............................................................................79
References...................................................................................................79
Notes..........................................................................................................79
AU4462.indb 8 11/19/06 4:14:59 PM
Contents n ix
6 Model Forms.........................................................................................81
Purpose and Form......................................................................................82
Model Construction...................................................................................85
Selecting Model Content............................................................................86
Translating into the Model Form...........................................................86
Static Structure..................................................................................88
Dynamic Behavior.
............................................................................88
Interdependency............................................................................... 90
Translating Jargon................................................................................. 90
Tool Support..........................................................................................91
Summary....................................................................................................91
Tips and Traps............................................................................................92
Questions and Exercises..............................................................................92
Exercise #1: Domain Modeling...................................................................93
References...................................................................................................93
Notes..........................................................................................................94
7 Data Validation.....................................................................................95
Team Review..............................................................................................95
Simulation..................................................................................................98
Direct Application......................................................................................99
Test-Based Verification.............................................................................100
Summary..................................................................................................100
Tips and Traps..........................................................................................101
Questions and Exercises............................................................................102
Exercise #1: Critical Review......................................................................102
References.................................................................................................102
8 Business Workflow Analysis................................................................105
Business Environment..............................................................................106
Business Model.........................................................................................107
Business Workflows..................................................................................109
Business Workers and Actors.................................................................... 115
Business Entities (Domain Data Model).
.................................................. 115
Summary..................................................................................................116
Tips and Traps..........................................................................................118
Questions and Exercises............................................................................119
Exercise #1: Identification of Business Actors and Workers..................120
Exercise #2: Business Workflow Modeling...........................................120
Exercise #3: Domain Modeling............................................................120
References.................................................................................................121
Notes........................................................................................................121
AU4462.indb 9 11/19/06 4:15:00 PM
n Contents
9 Requirements Archaeology.................................................................123
Preparation and Discovery........................................................................124
Investigation.............................................................................................126
Independent Study...............................................................................126
Interviewing.........................................................................................127
Deciphering and Translation....................................................................128
Audit Trail:......................................................................................129
Public Display.
..........................................................................................130
Summary..................................................................................................131
Tips and Traps..........................................................................................132
Questions and Exercises............................................................................133
Exercise #1: Translation of Structured Requirements...........................133
References.................................................................................................134
Notes........................................................................................................134
10 Modeling Software Architecture.........................................................135
Functional View (Requirements)..............................................................137
Static Structure View................................................................................138
Component View (Implementation View)................................................142
Dynamic View..........................................................................................144
Deployment View.....................................................................................145
Alternate Views.........................................................................................146
Summary..................................................................................................148
Tips and Traps..........................................................................................149
Questions and Exercises............................................................................149
Exercise #1: Framework Description....................................................150
Exercise #2: Risk Analysis....................................................................150
References.................................................................................................151
Notes........................................................................................................151
III Presentation
11 Perception and Thinking.
....................................................................155
Gestalt Theory..........................................................................................156
Diagrammatic Reasoning.........................................................................160
Summary..................................................................................................164
Tips and Traps..........................................................................................165
Questions and Exercises............................................................................165
Exercise #1: Iconic Representations......................................................166
References.................................................................................................166
Notes........................................................................................................167
AU4462.indb 10 11/19/06 4:15:00 PM
Contents n xi
12 Composition........................................................................................169
Line and Contour.....................................................................................170
Visual Balance..........................................................................................176
Information Balance.................................................................................180
Emphasis..................................................................................................181
Shade and Color.......................................................................................181
Shade/Color Emphasis..............................................................................184
Summary..................................................................................................185
Tips and Traps..........................................................................................186
Questions and Exercises............................................................................186
Exercise #1: Diagram Construction.
.....................................................187
References.................................................................................................187
Notes........................................................................................................188
13 Presentation.
........................................................................................189
Presentation Flow.....................................................................................189
Presentation Techniques...........................................................................193
Summary..................................................................................................195
Tips and Traps..........................................................................................195
Questions and Exercises............................................................................196
Exercise #1: Observing Presentation Techniques..................................197
References.................................................................................................197
Note.
.........................................................................................................197
IV Appendices
A Example Business Workflow: Execute Trade.
......................................201
Brief Description......................................................................................201
Purpose................................................................................................201
Definitions and Acronyms.
...................................................................202
Dependent Workflows.....................................................................202
Included Workflows.
........................................................................202
Extending Workflows......................................................................202
Business Actors.
....................................................................................203
Business Workers.
................................................................................ 204
Workflow................................................................................................. 204
Basic Workflow: Execute Trade Ticket................................................ 204
Alternative Workflows..........................................................................207
Scenario: Overnight Trade Instruction Letter (Mutual Funds)........207
Scenario: Generate and Execute Terminating CTO.
....................... 208
Scenario: Trade Settlement............................................................. 208
Scenario: Post/Unpost Trade Ticket............................................... 209
Scenario: Execute Electronic Trade................................................. 209
AU4462.indb 11 11/19/06 4:15:00 PM
xii n Contents
Exceptional Workflows.............................................................................210
Exception: Investor Oversold Shares or Other Trade Correction.
.........210
Exception: A Trade Ticket Does Not Post Correctly............................211
Exception: Trade Not Conducted before Market Closure....................211
Exception: Supervisor Denial of Trade.................................................213
Improvement Possibilities.........................................................................213
Special Requirements................................................................................213
Extension Points.......................................................................................213
Post-Conditions........................................................................................213
Activity Diagram......................................................................................214
Issues........................................................................................................215
Notes........................................................................................................215
Questions and Answers.
............................................................................215
B Structured Requirement to Use Case..................................................217
Brief Description......................................................................................217
System Requirements—Customer Care System...................................217
Service Provisioning.
........................................................................217
Customer Service.............................................................................218
Translating into Use Cases.
.......................................................................218
C Answer Key and Discussion................................................................223
Chapter 1.
.................................................................................................223
Answers................................................................................................223
Exercise Discussion..............................................................................224
Chapter 2.
.................................................................................................224
Answers................................................................................................224
Exercise Discussion..............................................................................225
Chapter 3.
.................................................................................................225
Answers................................................................................................225
Exercise Discussion..............................................................................227
Chapter 4.
................................................................................................ 228
Answers............................................................................................... 228
Exercise Discussion............................................................................. 228
Chapter 5.
.................................................................................................229
Answers................................................................................................229
Exercise Discussion............................................................................. 230
Chapter 6.
................................................................................................ 230
Answers............................................................................................... 230
Exercise Discussion..............................................................................231
Chapter 7.
.................................................................................................231
Answers................................................................................................231
Exercise Discussion..............................................................................232
AU4462.indb 12 11/19/06 4:15:01 PM
Contents n xiii
Chapter 8.
.................................................................................................233
Answers................................................................................................233
Exercise Discussion............................................................................. 234
Chapter 9.
................................................................................................ 234
Answers............................................................................................... 234
Exercise Discussion..............................................................................236
Chapter 10................................................................................................236
Answers................................................................................................236
Exercise Discussion..............................................................................237
Chapter 11................................................................................................238
Answers................................................................................................238
Exercise Discussion..............................................................................239
Chapter 12................................................................................................239
Answers................................................................................................239
Exercise Discussion..............................................................................240
Chapter 13................................................................................................240
Answers................................................................................................240
Exercise Discussion..............................................................................241
Note.
.........................................................................................................241
D UML 2.0 Overview.
............................................................................ 243
Visual Software Modeling—UML (version 2.0).......................................243
Package Diagram................................................................................ 244
Use Case Diagram.
...............................................................................245
Structure Diagram.............................................................................. 246
Object Diagram...................................................................................248
Composite Diagram.............................................................................249
Component Diagram...........................................................................250
Deployment Diagram..........................................................................251
Activity Diagrams................................................................................252
State Diagrams.....................................................................................253
Communication Diagrams.
..................................................................254
Sequence Diagram...............................................................................255
Timing Diagram..................................................................................256
Interaction Overview...........................................................................256
Variations (UML Profile)..........................................................................257
Business Process Model........................................................................258
System Analysis Model.
........................................................................258
Database Entity Diagrams...................................................................259
Note.
.........................................................................................................259
Index............................................................................................................261
AU4462.indb 13 11/19/06 4:15:01 PM
AU4462.indb 14 11/19/06 4:15:01 PM
xv
Preface
In writing this book, I was heavily influenced by the writing and teaching of Ger-
ald Weinberg (“Jerry” to his friends). As Norm Kerth remarked to me as we drove
to the airport after the week-long Problem Solving and Leadership class, “Jerry’s
writing is more like a coal mine than a diamond mine—in a diamond mine you
have to hunt and search for something of value; in a coal mine every shovel-full
has value.” To this end, I have tried to include in this book everything of value and
nothing of waste. I have tried to present The Art of Software Modeling as an interest-
ing and challenging work, worthy of a reader’s time and consideration. Only you,
the reader, can judge whether I have accomplished my goal.
Learning is a very difficult task. Change is never easy, and as learning requires
change, the very act of reading this book represents a significant challenge. This
book is about modeling—taking complex problems and forming an abstract
framework in order to understand them. To aid you, I have decided to separate
the material in this book into three parts. The first part deals with theoretical con-
siderations of modeling—the “why.” The second part deals with investigation and
model creation—the “what” and “how.” The final part deals with presentation of
model information to others, so they may more readily learn the important details
of the problem you have modeled. So, if you wish to design better diagrams, then
start reading from Part III and move to Parts II and I. If you are interested in tech-
niques for investigation and organization of complex information, then I suggest
you start with Part II before moving to Part I and then Part III. Finally, you can
simply read the book as I wrote it—from page 1 to the end.
Along the way, I have made a few assumptions about the type of person likely
to read my words. I had in mind individuals who are responsible for the task of
system analysis and design. Although they may go by many titles, these people are
often responsible for setting the “vision” of the system and guiding its construction.
Moreover, they typically are called upon to share that vision with several groups,
including technical and non-technical stakeholders.
I believe that every model must satisfy the triumvirate goals of being correct,
concise, and complete, which also has been my goal in writing this book. Addition-
ally, by appealing to both the creator and consumer of model information, I hope
AU4462.indb 15 11/19/06 4:15:01 PM
xvi n Preface
to encourage the effective use of modeling techniques to improve the development
process and the end product of a functional, useful, and maintainable system.
For me, The Art of Software Modeling is an ongoing process of learning and
refinement. By definition, no model is ever complete; the more users of a model,
the better it becomes. I also believe that the goal of modeling is to learn and teach,
typically in that order. The modeler creates a model to learn the subject and then
uses that model to teach others. I hope that you will learn from this book as much
as I have in writing it.
Ben Lieberman
Denver, CO
AU4462.indb 16 11/19/06 4:15:01 PM
xvii
About the Author
Benjamin A. Lieberman, Ph.D., serves as the Principal Architect for BioLogic
Software Consulting. Dr. Lieberman provides consulting and training services on
a wide variety of software development topics, including requirements analysis,
software analysis and design, configuration management, and development pro-
cess improvement. He brings over ten years of software architecture and informa-
tion technology experience in various fields, including telecommunications, airline
travel, Web e-commerce, financial services, and the life sciences. His consulting
services are based on the best practices of software development, with specialization
in object-oriented architectures and distributed computing, with a particular focus
on Java-based systems and distributed Web site development (J2EE), XML/XSLT,
Perl, and C++-based client-server systems. Dr. Lieberman has provided application
architectural services to such companies as EchoStar, Jones Cyber Solutions, Blue-
print Technologies, On-Command, Cricket Telecommunications (Leap Wireless),
Cendant, Level(3), Galileo International, Duke University, and the University of
Colorado. Dr. Lieberman is also an accomplished professional writer with a book
and numerous software-related articles to his credit. Dr. Lieberman holds a doc-
torate degree in biophysics and genetics from the University of Colorado, Health
Sciences Center, Denver, Colorado.
AU4462.indb 17 11/19/06 4:15:01 PM
xviii
Notices
Portions of this work appear in the IBM-RationalEdge online journal, which is
available from: http://www-128.ibm.com/developerworks/rational/rationaledge/.
AU4462.indb 18 11/19/06 4:15:01 PM
xix
Acknowledgments
I would like to acknowledge the influences that encouraged me to write this book.
To my wife, for her encouragement, understanding, and tolerance.
To my sons, for inspiring me to see the world through their eyes.
To my parents, well, for being the best folks a kid could ask for.
To my brother and sister, for always being there when I needed them.
I also would like to acknowledge the collected work of Gerald Weinberg in having
a significant influence on my development as a software architect and a better person.
AU4462.indb 19 11/19/06 4:15:01 PM
AU4462.indb 20 11/19/06 4:15:02 PM
I
Analytical
Frameworks
AU4462.indb 1 11/19/06 4:15:02 PM
AU4462.indb 2 11/19/06 4:15:02 PM
Chapter 1
The Art of the Model
Models are now and always have been an integral part of the human experience.
We create models of the world with information provided from our five main sen-
sory inputs: visual, auditory, tactile, olfactory, and taste. These models inform us
of changes in our immediate perception and also permit understanding of these
changes in comparison to past events. As infants we develop sophisticated models
of motion, shape, distance, time, and cause/effect in an effort to relate to the new
and confusing world around us. Starting from a nearly clean slate we must build
an internal understanding for every new experience. Thus, the idea of creating an
abstraction of the world in an effort to understand complex ideas is inherent to
human behavior. Taking conscious control of this behavior to capture, understand,
and express complex information is the essence of the Art of Modeling.
As infants we also have a limited ability to express ourselves. We are limited
to crying when startled or unhappy, and cooing when comforted. Although these
simple forms of communication are sufficient to indicate the desire for food or to
have one’s diaper changed, they do not allow us to associate specific objects with
other similar objects, such as the different colorful balls with which we wish to play.
The development of language allows a greater level of self-expression; the ability
to identify objects by name allows for the direct association of different kinds of
objects. Eventually, this allows us to create abstract models to reason about com-
plex concepts. George Orwell in his famous novel 1984 was very aware of the con-
nection between language and the ability to reason about complex abstract ideas.
In his novel, the development of “Newspeak” was an attempt by the government to
limit creative thinking by altering and eliminating the words for undesirable con-
cepts—such as civil rights and personal freedoms. As Orwell writes, “The purpose
of Newspeak was not only to provide a medium of expression for the world-view
and mental habits proper to the devotees of Ingsoc,1
but to make all other forms of
AU4462.indb 3 11/19/06 4:15:02 PM
n The Art of Software Modeling
thought impossible” ([2], p. 246). Although the idea that language can be used to
control thought has been discredited, it is clear that language is critical to commu-
nication and represents the underpinning of all forms of modeling.
Human cognition is a complex combination of innate instinct and learned
behavior, so a great deal of time is required to build up a robust worldview that
can be used to relate new information to old [3]. Initially, these internal mental
models2
represent our ability to identify and associate concrete objects, but eventu-
ally they provide for more complex reasoning. For example, a person who attends a
class on accounting principles may attempt to understand that subject in relation to
previously learned behavior, such as balancing a checking account. In fact, abstract
and impressionist painters often make use of this innate tendency by presenting a
picture that can be interpreted differently by each viewer (Figure 1-1).
Our internal abstract models of the world are also critical to the communica-
tion of complex concepts with other people [4, 5]. For example, it would be impos-
sible for a person from a hunter-gather culture who has never had contact with the
modern world to understand the principles of refrigeration simply by describing the
mechanics; it is completely foreign to their experience. To succeed, first you would
need to have a shared communication medium (language, pictures, gestures, etc.).
Once you can share ideas, you would then need to translate your understanding
into ones that can be related to their internal models of the world: examples of food
Figure 1-1 Impressionist Painting
(Claude Monet, Une Alle du Jardin de Monet, Giverny)
AU4462.indb 4 11/19/06 4:15:02 PM
The Art of the Model n 
storage, the effect of cold temperatures on spoilage, and so on. In other words, you
would need to align your model explaining a phenomenon to a shared experience
with the intended audience [6].
A close alignment of one person’s worldviews with another leads to a higher like-
lihood of understanding. This is one of the reasons that people form tight in-groups
based on shared experiences [7], because of the comfort afforded by the reduced
need to “understand” one another when communicating. The idea of “clicking” with
another person is based on a shared understanding of a number of experiences, lead-
ing to a reduced effort to share information and a sense of familiarity.
For people involved in the creation of models for system analysis, these concepts
are important when the model is intended for use by people other than just the
modeler. By definition, when I create a model it will reflect my understanding of
a subject. In order for my model to be useful to others, I need to ensure that I am
capturing the right abstraction level and using a model form that meets the expec-
tations and needs of the audience. For example, if I am modeling an automotive
engine for mechanics versus engineers I should focus on engine elements for repair
and replacement as opposed to the details of power generation.
To express these ideas, psychologists use the term cognitive resonance to rep-
resent the situation of matched internal worldviews between the modeler and the
audience, and cognitive dissonance to describe a situation in which the presentation
is disconnected from the audience’s experience or expectation.
Cognitive Resonance
When a guitar string is struck, the string vibrates at a particular frequency and
wavelength based on the string length, tension, and composition. If one looks
closely, it is possible to see the string vibrating between the two endpoints of the
fret pin and the bridge on the sound board. This vibration is transmitted through
the air to our ears as a series of compression waves, which we perceive as sound.
When these waves impact on another object that shares similar characteristics, a
harmonic resonance will be imparted to the object. For example, if a second string
is placed near the first and tuned the same way, the first string’s vibrations will
evoke vibration in the second.
In a similar manner, a model created for the purpose of communicating a particu-
lar subject should “strike a chord” with the audience. If this resonance is absent, the
audience will have difficulty in understanding the content of the model (mis-sense),
or worse yet, drawing incorrect conclusions presented by the model (non-sense). So, to
create an effective model a modeler’s primary responsibility is not only to accurately
capture the subject information but also to present that information in a form that
will be readily and correctly understood by the intended audience.
This is no simple task. We have all experienced teachers that have a good grasp
of the subject but are unable to teach that information to students. By contrast,
great teachers know how to package information in a way that captures the interest
AU4462.indb 5 11/19/06 4:15:02 PM
n The Art of Software Modeling
and excitement of the students. They bring the subject to life so that it connects
with the students. In other words, the content of the lesson resonates with the stu-
dents who have better lesson retention.
There are a variety of ways to construct models of information. Many of these
models use symbology or some form of visual icons to represent complex and repeat-
ing concepts. This is done to group or “chunk” concepts so that they may be easily
remembered and manipulated [8]. Some obvious examples are mathematical sym-
bology or chemical notation (Figure 1-2). The topics of mathematics and chemistry
are sufficiently complicated that complex constructs are necessary for explanation
and prediction. Because of this complexity, these constructs would defeat most
human understanding if they were presented in their entirety. Another example
would be a map that was so detailed that to read it you would need to overlay it on
the landscape it describes. Such a map would not be very practical for the purpose of
navigation, where portability is critical. In both of these cases, a model that abstracts
the key information and relationships is necessary. These kinds of models typically
use some form of symbology “short-hand” to abbreviate basic concepts; this is very
like the use of professional jargon to succinctly describe a complex idea.
If a model uses symbology or icons it is critical that the intended audience
understands the meaning of these symbols. In Figure 1-2, the symbology is not
clearly defined; thus, a viewer would have to be familiar with the representation of
carbon atoms with a “C” (medium gray circle), oxygen with an “O” (dark gray cir-
cle), hydrogen with an “H” (light gray circle), and chemical bonds as lines or close
proximity between letters (or adjacent circles). Similarly, a software Unified Model-
ing Language (UML) class diagram will not serve to further the understanding of
someone who does not understand the notation and semantics of such a diagram
(Figure 1-3; an overview of the UML is provided in Appendix D).
The recognition of symbols is often tightly coupled to the level of abstraction
represented by the symbol. An icon that is of a familiar shape, such as the icons typ-
ically found in software systems to represent folders, files, controls, and so on, will
be more readily understood than one that is an random collection of shapes and
colors. Furthermore, society and culture will have a significant effect on the choice
of symbology since some symbols will not be interpreted in a similar manner, and
may in fact be interpreted as offensive by some members of the audience. This last
point takes on increased significance when a development team is not collocated, as
O
C
CH
C
C
OH
OH
OH
OH
H
HC
C
HO H
H
H H
Figure 1-2 Two Chemical Representations for the Sugar Glucose
AU4462.indb 6 11/19/06 4:15:03 PM
The Art of the Model n 
is the case with many outsourced projects. Later chapters will address these issues,
and show how they affect the creation and presentation of system models.
Certainly, the search for symbology that is universally understood is not a new
one. Plato’s “Ideal Forms” represent an early attempt to identify the eidos (ειδος) or
essential qualities for different objects and concepts [9, 10]. The details of this philo-
sophical discourse are not relevant here, but some of the mechanisms for determin-
ing the eidos, or “likeness,” of a particular object or concept will be useful as I present
techniques for the creation of models in general, and software models in particular.
The idea of an object’s essential qualities and the kinds of relations that may be
shared between different model elements will be further explored in Part II.
Perception and Representation of Models
A model can be defined as the abstraction of a complex system for the purpose
of reasoning, simulating, analyzing, or communicating specific details of a sub-
ject. In this way, a model operates much like a magnifying glass lens; it focuses
attention on items of direct concern while obscuring or omitting everything else
(Figure 1-4).
For example, consider a scale drawing of a city. In this model, the street level
details are obscured to permit a larger view of the overall city structure. This is an
example of the concept of abstraction and how it is used to create a model. This
brings me to the topic of model complexity, which can be summarized by the
Golden Rule of Modeling:
Pipe
OutFlow InFlow
Valve
PressureGauge ActuatorMotor
Gate
Sluice
Generator
flow control
connects to
Figure 1-3 Example Unified Modeling Language (UML) Class Diagram
AU4462.indb 7 11/19/06 4:15:04 PM
n The Art of Software Modeling
Golden Rule of Modeling—A model shall be as complex as necessary;
no more or less
Models may be considered “good” if they are suitable for their purpose. For
example, a model of a jet plane with a scale of 1:1 (where one unit of measure on
the model is equal to the same unit in real life, such as 1 inch:1 inch) may be exactly
right for simulating the result of a crash, but is not very well suited to hang from the
ceiling of my son’s bedroom. So, for any system of sufficient size, the rule of thumb
is that for anything too complex to entirely encompass in one’s mind, it is necessary
to sacrifice some accuracy in favor of understanding. Furthermore, as the human
mind has a finite capacity to capture and retain information [8], reasoning about a
complex topic requires breaking it down into smaller subproblems that can solved
and rebuilt back into the whole.
There are many ways to create models (which will be further explored in Part
II), but the selection of the best technique is a function of experience, research,
education, and intuition. Experience is best thought of as encountering a situa-
tion similar to one in the past where, perhaps by accident, a workable solution
was found. Education is where someone else has solved the problem and is willing
to teach this mechanism directly or via some other communication mechanism.
Research involves experimentation with a variety of approaches to determine the
most appropriate one. Intuition is involved when trying to create a new model form
for a previously unknown problem, and making guesses on what might work best
for a given audience.
A model expands one area
expense of others
of
experience
at the
Figure 1-4 The Effect of Modeling on Focus of Attention
AU4462.indb 8 11/19/06 4:15:04 PM
The Art of the Model n 
When building a model, it is often best to understand the intended audience
before attempting to envision and create the model. Because there are many ways
to represent a system, and a model is often intended for the purpose of communica-
tion, then the model should take into account an understanding of the intended
audience, or there is a high likelihood of miscommunication. Because of this like-
lihood of confusion, when communicating ideas via a model, it is often useful to
consider how information flows between people (Figure 1-5). Numerous theories
have been developed to explain the process by which information is transferred
from one person to another; each of these models has in common the need for a
“communication channel” through which the information flows. Often this is ver-
bal, as seen in a lecture hall or a meeting room. Frequently, visual communication
is also used to convey information, as is the case with paintings and advertisements.
However, regardless of the medium of exchange, there are two key aspects to com-
munication: the generation of a message, and the interpretation of that message.
As mentioned earlier, individuals perceive and organize information through
the use of mental models. However, no two people share the exact same experi-
ences, so no two mental models are exactly alike. This can lead to errors of interpre-
tation based on differences in perceptions. For example, consider Figure 1-6. What
is in the center box?
Depending on which context is chosen (vertical or horizontal), the answer may
be the letter B or the number 13. In fact, the contents of the box are simply a
straight line next to a line with two adjacent curves. It is the mental models we have
constructed that influence our interpretation of the symbology. To someone who
cannot read or write (or uses different symbology for those operations), these figures
are meaningless, and this example would represent a very poor model indeed. The
take-home point of this figure is that model icons and symbology may be inter-
preted differently by different audiences, and should be considered when creating
a model display.
Learning and Reasoning
Models serve as more than just a communication device; models are also central
to perception, memory, learning, and reasoning. For example, the construction of
mental representations in short-term memory is critical for our ability to process
sensory information [3]. Reasoning is facilitated by the creation of possible ­solutions
Who Says What To Whom
In Which
Channel
With What
Effect?
Input Meaning Significance Effect
Lasswell (1948)
Satir (1988)
Figure 1-5 Two Models for Communication Flows between People [11, 12]
AU4462.indb 9 11/19/06 4:15:05 PM
10 n The Art of Software Modeling
in the “working memory” to allow us to investigate different relationships between
objects and events [14]. The use of mental “prototypes” to compare against per-
ceived objects permits us to categorize the surrounding environment [15].
Cognitive Psychology is the branch of psychology that is devoted to the study
of these aspects of human thinking. Cognition is the collected term that refers to
our ability to focus attention4
on a specific event, perceive that event via our senses,
process the significance, and relate that information to previously collected infor-
mation. Models, of all forms, are our way to deal with massive amounts of informa-
tion with limited processing capability. We reduce the complexity of the perception
problem by focusing attention to certain select inputs over others, and by “activat-
ing” on key features that are part of the subject of interest. For example, in the
classic children’s problem of finding specific shapes in a picture (e.g., Highlights for
Children, published by Highlights for Children, Inc.) the desired simple object is
hidden in a large, complex image. The child is shown the outline of the form and
asked to identify its location in the image. The task is aided greatly by providing
a template that the child holds in short-term memory while scanning around the
image. The mental image is compared to perceived features in the picture until a
match is found. Interestingly enough, the desired object is always in the perception
field (or in other words, available to the child’s processing systems), but not recog-
nized until matched to the template object. Once the object is located, it becomes
quite apparent as attention is “locked” on; after initial discovery, the object is then
easily relocated in future searches. In the creation of models, this is critical in the
creation of large, complex diagrams. The ability for a viewer to locate some key ele-
ment of the diagram will be greatly aided by some form of distinguishing feature,
such as color or shading, to call it out against the background of other diagram
elements. This point will be further explored in Part III.
Beauty and the Beholder
The subject of beauty has intrigued people for millennia. Philosophers have argued
frequently (and at length) for centuries on the qualities of beauty without forming
any solid conclusions as to the source of our sense of beauty and “rightness” [10].
Figure 1-6 How Perception Is Affected by Context [13]3
AU4462.indb 10 11/19/06 4:15:05 PM
The Art of the Model n 11
In more recent times, researchers in psychology, although not having any greater
success in defining beauty, have formed theories that describe this aspect of human
perception. Gestalt theory, from early research efforts in Cognitive Psychology,
presents a set of principles for the organization of visual perception that have been
shown to hold for most people [3, 16–18]. These principles are organized into gen-
eral rules:
Factor of Proximity
Factor of Similarity
Factor of Uniform Destiny (Common Fate)
Factor of Objective Set
Factor of Direction
Factor of Closure
Factor of Past Experience
We will explore some of these rules in latter chapters, most particularly in Part
III during the discussion on presentation of visual models. The Gestalt factors
are based on studies that have shown that people search for the simplest possible
organization of visual elements, which the early Gestaltist M. Wertheimer called
the “Law of Prägnanz.” Gestaltists held that the closer a particular organization
scheme came to the “simplest” possible combination, the more likely this organiza-
tion would be recognized by most people. Consider Figure 1-8; what groupings do
you see? The majority of people would answer “four groups of two” instead of “one
Figure 1-7 Hidden Pictures: Locate the Figures (Upper Right) in the Main Picture5
AU4462.indb 11 11/19/06 4:15:05 PM
12 n The Art of Software Modeling
group of eight.” This is an example of the Gestalt principle of proximity, in which
objects that are in close proximity are associated into a single group. This factor
plays a part in diagram creation where elements may be grouped closely together to
suggest some form of association.
In addition to the Gestalt principles, our sense of beauty is heavily influenced
by familiarity, symmetry, and contrast between figure and ground. Humans seek
structure and order in our environment, such that we will see patterns even in ran-
dom arrangements, such as animals or other creatures in the arrangement of stars
in the night sky. Objects that are placed symmetrically tend to be more appealing,
and are perceived as being well balanced and in harmony with one another.
Many of the theories of Cognitive Psychology will be useful as we explore mod-
eling in general, and system modeling in specific. We will return frequently to
the Gestalt principles as we explore the creation, organization, and presentation of
models. Theories on memory, attention, learning, reasoning, and problem solving
will also be explored in the context of modeling. As should be apparent from this
introduction, people are highly experienced in creating models as a natural part of
perceiving the world; however, the creation of models for the specific purpose of
reasoning about a complex subject, and the presentation of that reasoning to others,
is a far more challenging task requiring practice and effort. In the chapters to fol-
low, I will attempt to combine studies in psychology, art, and systems analysis into
a single theme that illustrates the fine art of modeling.
Summary
1. All humans create models, starting from infancy when we need to understand
the complex and confusing world into which we have been born. Over time,
these “mental models” aid us in the understanding of language, and allow for
the basis of human reasoning and understanding of complex concepts.
2. “Cognitive resonance” describes the ability to create a model that will closely
align to the expectations of the audience. If a presentation does not resonate
with the audience, it is not as likely to result in understanding and learning. A
likely result of “cognitive dissonance” is mis-sense, or difficulty in understand-
ing the content, and non-sense, in which the content is incorrectly interpreted.
3. Models often use symbology, icons (visual), or sound patterns (auditory) to
represent complex subjects in a more compact form. This is done as an aid to
human understanding, which has limited capacity to process information.
However, if the symbology is not familiar to the audience, its use will defeat
the purpose of the model. Recognition of symbols is directly related to the
level of abstraction represented by the symbol or icon.
Figure 1-8 Gestalt Factor of Proximity
AU4462.indb 12 11/19/06 4:15:06 PM
The Art of the Model n 13
4. Models are similar to a magnifying glass in that a part of a subject is placed as
the focus while the remainder of the topic is obscured or omitted. Thus, the
key feature of a model is to reduce the complexity of a subject, via abstraction,
down to a level that can be manipulated. Creation of models is a function of
experience, research, education, and intuition, with the best modelers under-
standing how communication occurs between people.
5. Models also serve the purpose of facilitating learning and reasoning. Cogni-
tive Psychology represents studies into the use of “internal models” for the
purpose of perception, memory, reasoning, and learning.
6. The Gestalt school holds that there are a collection of rules about human
visual organization. These rules include the idea that objects placed close to
one another will be perceived as a group, as well as objects that are similar in
form. The Law of Prägnanz is used to describe the level of “goodness” that a
particular organization of elements will take.
Tips and Traps
Discovery of the expectations of an audience for a specific model is often a trial
and error experience. When considering a model form, it is often best to create
a prototype model from a small subset of the overall problem for presentation to
the expected audience. This technique ensures that the model form that has been
selected will meet the audience’s need, preventing a great deal of rework if the
model form is not appropriate.
Learning is often improved by limited duration exposure that is repeated several
times. A one-hour session repeated several times is much better for long-term reten-
tion than a single three-hour session (e.g., interrupted study vs. “cramming”). In my
experience, this principle seems to hold for model creation as well. Avoid attempt-
ing to create the entire model in one sitting; it is far better to include numerous
spaces between information gathering and capture sessions.
Questions and Exercises
Question #1:
What is the purpose of human attention? Why does attention “wander”?
Question #2:
“Beauty is in the eye of the beholder.” What does this statement mean? Is a
sense of beauty innate in humans?
Question #3:
It was stated that models are for perception, reasoning, and communication.
What other models uses can you imagine?
n
n
n
AU4462.indb 13 11/19/06 4:15:06 PM
14 n The Art of Software Modeling
Exercise #1: Problems with Communication
In the far distant future you have been tasked with the job of the first contact with
an alien species called the Snoog. This species uses scent as the primary mode of
communication and has no understanding of verbal speech. Fortunately for you, a
previous research team has determined that the range of scent for the Snoog is very
similar to humans, and you have access to a machine that can replicate any desired
sequence or type of odorant. Consider how you would go about introducing your-
self and explaining the purpose of sound in human communications.
References
[1] Kellman, P., Kinematic Foundations of Infant Visual Perception, in Visual Perception
and Cognition in Infancy, C. Granrud, Editor. 1993, Lawrence Erlbaum Associates:
Hillsdale, NJ. pp. 121–173.
[2] Orwell, G., 1984. 1950, New York: Signet.
[3] Eysenck, M., Principles of Cognitive Psychology. 2nd ed. Principles of Psychology, ed.
M. Eysenck, S. Green, and N. Hays. 2001, Sussex, UK: Psychology Press.
[4] Mandel, T., The Elements of User Interface Design. 1997, New York: Wiley Computer
Publishing.
[5] Morgan, J. and P. Welton, See What I Mean? 2nd ed. 1992, London: Edward
Arnold.
[6] Schramm, W., The Process and Effects of Mass Communications. 1954, Illinois: Univer-
sity of Illinois Press.
[7] Brunvand, J.H., Folklore : a study and research guide. 1976, New York: St. Martin’s
Press.
[8] Miller, G., The Magical Number Seven Plus or Minus Two: Some Limits on Our Capac-
ity for Processing Information. Psychological Review, 1956. 63: pp. 81–97.
[9] Plato, The Dialogue of Plato: Plato’s Parmenides. Vol. 4. 1997, New Haven, CT: Yale
University Press.
[10] Satir, V., The New People Making. 1988, Palo Alto, CA: Science and Behavior Books.
[11] Lasswell, H., The Structure and Function of Communications in Society, in The Com-
munication of Ideas, Bryson, Editor. 1948, London: Harper and Brothers.
[12] Meyhew, D., Principles and Guidelines to Software Interface Design. 1992, Englewood
Cliffs, NJ: Prentice Hall.
[13] Kellog, R., Cognitive Psychology. 1995, Thousand Oaks, CA: Sage Publishing.
[14] Rosch, E., Principles of Categorization, in Foundations of Cognitive Psychology, D.
Levitin, Editor. 2002, Cambridge, MA: The MIT Press.
[15] Koffka, K., Principles of Gestalt Psychology. 1935, New York: Harcourt, Brace and
Company.
[16] Wertheimer, M., Laws of Organization in Perceptual Forms, in A Source Book of Gestalt
Psychology, W. Ellis, Editor. 1969, London, UK: Routledge  Keegan Paul. pp.
71–88.
[17] Rock, J. and S. Palmer, The Legacy of Gestalt Psychology. Scientific American, 1990.
December: pp. 48–61.
AU4462.indb 14 11/19/06 4:15:06 PM
The Art of the Model n 15
Notes
1. The socialist state of Orwell’s world.
2. A mental model is defined as each person’s internal perception of an idea or event—it
is how we relate new information to our existing store of experience.
3. As an interesting aside, Michael Chonoles, one of my reviewers, noted that his son
saw the McDonald’s™ golden arches as the center symbol.
4. Here, attention is used in the psychological sense to represent the focus of the mental
reasoning machinery on processing some form of sensory input (such as visual).
5. Reprinted with permission from Highlights for Children, Inc.
AU4462.indb 15 11/19/06 4:15:07 PM
AU4462.indb 16 11/19/06 4:15:07 PM
17
Chapter 2
A Systematic Approach
One major reason that models are created is to understand complex systems. This is
particularly true in the software development field. By its very nature, a computer
software system is created from a myriad of interacting parts that all combine to
produce visible behavior. To understand and construct such systems it is necessary
to deconstruct a large unmanageable problem domain into smaller domains that
can be more readily addressed. This process of deconstruction is known as Systems
Analysis, and was developed as a formal process in the early days of computer sci-
ence during the 1950s [1–3]. This chapter presents a collection of approaches to the
study of complex systems, including Formal Systems Analysis, Functional Decom-
position,1
Scientific Method, and Process Based.
There are three primary techniques to the analysis of complex systems: Top-
Down, Bottom-Up, and Middle-Out. Top-Down analysis starts with a high-level
description of the entire domain, similar to a road map, before moving down to
the details. Bottom-Up analysis moves in the opposite direction by starting with
the concrete details of the system and moving to a more abstract or functional
descriptions. In contrast to each of these approaches, Middle-Out is often useful
for dealing with existing systems that are poorly understood. Here the trick is to
pick a start point somewhere within a small section of the system (e.g., a section of
software code) and drill down to the implementation details while simultaneously
discovering the functional system behavior.
For example, suppose you are presented with a poorly documented legacy soft-
ware system. You have access to the user interface so the investigation could begin
with the user functionality by inspection of the interface behavior—perhaps with
an expert user as a guide; a top-down approach. Perhaps you wish to better under-
stand the physical database data model before moving into the business logic that
manipulates that data; a bottom-up approach. Finally, you could start with one
section of the code base and determine the screens that it supports as well as the
AU4462.indb 17 11/19/06 4:15:07 PM
18 n The Art of Software Modeling
data that is manipulated; a middle-out investigation. See Table 2-1 for a listing of
the positive and negative aspects for each of these approaches.
Before moving into a description of analytical techniques, I would like to take a
moment to acknowledge the diversity of modeling forms. I recognize that there are
many different diagram types for describing business enterprise systems—includ-
ing Function Flow Block Diagram (FFBD), Integrated Definition models (IDEF0
to IDEF14), the Systems Modeling Language (SysML), DoDAF, and Zachman
Frameworks. A detailed description of each of these model forms would require
far more space than my publisher has allotted, so I will take the easy way out and
instead direct interested readers to research these topics as a “homework” project.
For the remainder of this book, I will focus on UML 2.0 (and its extensions) to
illustrate various points; the principles in the following chapters apply to model
creation regardless of modeling system. Appendix D presents an overview of UML
2.0 and several of the defined language extensions (referred to as UML Profiles).
Table 2-1 Overview of Analysis Approaches
Positive Aspects Negative Aspects
Top-Down Approach
Rapid construction of a high-level
overview—immediate benefit for
executive stakeholders
Time-consuming for construction of a
useful model
Overall perspective, including
synergy of system elements
Less obvious indications of modeling
progress
Highlights data usage and control
logic
More support and contact required
with senior personnel
Bottom-Up Approach
Localized effort, quick to find specific
user needs
Neglects cross-boundary influences
Remains bounded within small area
of the system
Significant rework with small system
changes
Immediate benefit for implementers Narrow, vertical viewpoint
Middle-Out Approach
Well suited for existing systems Need to investigate specific details
and general principles simultaneously
Provides selection of a readily
accessible starting point
Lack of immediate benefit for either
sponsors or implementers
AU4462.indb 18 11/19/06 4:15:07 PM
A Systematic Approach n 19
Formal Systems Analysis
During analysis it is important to consider the following characteristics of systems:
Purpose
Intended use of the system
Objectives
Goals for system operation
Synergy
System total is greater than the sum of its component parts
Trade-Offs
Intentional or unintentional compromises to the system
A system is developed with a particular purpose based on the needs of the
stakeholders who have requested or make use of the system. The system’s objectives
represent the desired behavior of the system to meet its purpose. A system exists
such that all of the parts act synergistically so that the entire system operates toward
the same goals. Every system has trade-offs that represent the limitations imposed
by the physical context in which a system operates. For example, a radio represents
a complex system comprised of multiple interacting components. The purpose of
the radio system is to receive electromagnetic signals and translate them into sound
waves. This purpose is supported by the functions of an antenna, internal circuitry,
and speakers. Together, these components provide services that none can provide
alone; moreover, in creating a radio system, the designer would not use these com-
ponents to create a dishwasher (although a radio subsystem could always be embed-
ded into the dishwasher system!).
Using the techniques of top-down/bottom-up/middle-out, one avenue for
description of a complex system is to use formal system notation based on the
concepts of Boundary, Interface, Component, Entity, and Dependency, as shown
in Figure 2-1 [1, 4].
This technique works well with the three directed approaches noted earlier,
because the modeler can begin by looking at the system boundary (Top-Down) or
by working outward from the system components (Bottom-Up). As illustrated in
Figure 2-1, icons are used to represent the various system elements such as the Inter-
face (externally exposed services), the Controller (system logic), and the Entities
(manipulated system elements) as the system details are captured and elaborated.
These systems elements are grouped by Components to show cohesive behavior and
connected by Dependency relationships to show communication between compo-
nents and subsystems [1, 4]. Note, however, that a systems analysis approach is not
identical to the software object-oriented (OO) design strategy, although they share
features of logical encapsulation. Systems analysis can be thought of as reasoning
about the structure of the problem, whereas OO is more geared toward the design
of a solution.
n
n
n
n
AU4462.indb 19 11/19/06 4:15:07 PM
20 n The Art of Software Modeling
When using a system analysis approach, the system is broken into a variety of
interacting components. Although this approach will simplify the overall system, it
can lead to a problem in which the level of abstraction for each component doesn’t
match. What this means is that one component could be many times more com-
plex than another, but they will appear to be similar in the model view shown in
Figure 2-1. Care must be exercised to keep each level of the model linked to each
succeeding level; a subsystem can have many components, which are in turn com-
posed of components, and so on.
A simple example of this approach would be the analysis of a standard door
lock. The interface would be the key-hole, the controller is represented by the tum-
blers, and the entity is the dead-bolt. Taken together, the component is the full lock-
ing mechanism, which has a structural dependency on the door and door-frame.
I have used this approach very successfully for the analysis of business problem
domains intended for software automation. In particular, I found that casting the
system requirements (assuming a new software system is under construction) into a
system model with interfaces, controlling components, and entities maps well into
a layered architecture implementation with presentation layer, business layer, and
data access layer respectively corresponding.
Recommendation: The System Analysis approach is appropriate for new or existing
systems that have well-defined external interfaces, and are open to direct inspection
of the internal elements.
Functional Decomposition
Functional decomposition attempts to recursively segment a problem into the small-
est possible subproblems, each of which is simpler to solve than the full problem
itself. Many system analysts are of the opinion that functional decomposition is
the technique by which system analysis is performed, rather than a standalone
approach. Thus, this approach can be used in conjunction with a System Analysis
approach, or by itself when there is no need to define formal interfaces, ­components,
SubSystem 2
SubSystem 1
Component A
Component B
Component C
Controller
Entity
Interface
System Boundary
Dependency
Figure 2-1 Formal System Analysis
(see Appendix D for more detail on this UML profile)
AU4462.indb 20 11/19/06 4:15:08 PM
A Systematic Approach n 21
and entities. By this approach a complex, intractable problem can be deconstructed
down to the most basic relevant pieces.
This approach has been a tried-and-true staple for the development of software
solutions for as long as there have been computers and computer programmers. This
approach was originally very well suited for software development because many
of the small components (such as a sorting algorithm or a data structure) were
reusable, thus saving very valuable computer storage space and processing capa-
bilities. In more recent years, the ideas of Object Oriented Programming (OOP)
have supplanted those of functional decomposition with a more system-oriented
approach, as was shown in the component-based view in Figure 2-1. This avoids
one of the major problems with functional decomposition, namely, the prolifera-
tion of multiple tightly coupled dependencies leading to fragile and difficult to
maintain systems. However, a functional decomposition approach is still of value in
many instances, such as in the actual implementation of an object, where the data
and algorithms remain intimately coupled.
Another area of study where functional decomposition is used with great suc-
cess is in the sciences. For example, the study of Biology would be nearly impossible
without the ability to reduce the complexity of a living organism into less complex
structures. A living cell is composed of multiple interacting subsystems including
the structural components (cell membrane, cytoskeleton, organelles, etc.), dynamic
components (protein manufacture, metabolism, nuclear replication, etc.), and
interactive components (hormone production, cell surface proteins, etc.). Although
each of these cellular components can be decomposed and studied independently
using the proper molecular, biochemical, and genetic techniques, the findings must
still be confirmed by observation of unaltered cellular behavior (see Chapter 7 for
model verification techniques).
Table 2-2 Overview of Aspects for System Analysis
Positive Aspects Negative Aspects
Views a system as a whole composed of
interacting parts (honors synergistic
interactions of components)
Potentially time-consuming analysis
for systems with a large number of
small components
Captures the purpose and goals of the
system
Assumes a well-organized system
that can be organized into
interacting components
Focuses on the interactions between
system elements, providing for a
breadth-first overview (one subsystem
at a time can be defined)
Highly coupled systems
(intertwined) are not easily broken
down into components
Scalable to systems-of-systems
(enterprise systems)
Requires direct inspection of the
internal system elements
AU4462.indb 21 11/19/06 4:15:08 PM
22 n The Art of Software Modeling
Thus, functional decomposition should be used with care since it neglects the
synergistic information that is only present in the nondeconstructed whole (as seen
in the System Analysis approach). However, this technique is very useful when
approaching a complex system for the first time because it permits the division into
more readily approached subsystems (each with a defined function), after which a
more standard system analysis can be performed.
This technique is best used when rapid change to the system is not expected.
This is because the structure that is created by the functional decomposition is
highly interdependent, with the higher elements requiring interaction with many
lower elements in the hierarchy. These dependencies will result in a proliferation
of changes from highly reused low-level elements that affect multiple higher-level
components, often in an unforeseen manner. This results in a highly coupled, fragile
system that is prone to a large number of potential failures. Thus, this approach is
not recommended for the construction of large, rapidly changing systems.
In contrast, one area in software development in which this approach is indi-
cated is in the analysis of system user interaction flows. Because many business pro-
cesses are readily reduced to a series of repetitive activities, these workflows may be
rapidly discovered and captured using a functional decomposition approach. This
information has traditionally been captured as hierarchically structured require-
ments (e.g., “the system shall perform … ”) when applied to the development of
software control systems. The introduction of use case analysis, which is a more
“story”-based approach [4–7] in which these scenarios are described directly as
Basic, Alternate, and Exceptional, provides for a more comprehensible collection of
information that retains the context of the original workflows. However, each use
case can be broken down into simpler scenarios and subscenarios that take advan-
tage of a functional decomposition approach.
I have often used a functional decomposition approach when working with
a systems integration problem (Figure 2-2). In one case, I was faced with seven
interacting subsystems that needed to be coordinated to perform provisioning for
Table 2-3 Overview of Aspects for Functional Decomposition
Positive Aspects Negative Aspects
Reduces the problem complexity into
a hierarchy of atomic tasks
(functions)
Can force segmentation of process
and information (i.e., method and
data)
Highlights areas of highest complexity
(deepest decomposition graph)
Ignores the “whole” in favor of the
parts (neglects information on system
synergy)
Indicates areas of overlap and similar
processing
Often leads to overly segmented
systems with high levels of coupling
AU4462.indb 22 11/19/06 4:15:08 PM
A Systematic Approach n 23
Cellular
Switch
Rental
Equipment
Inventory
Flow-through
Provisioning
Number
Inventory
Subscriber
Account
Subscriber
Data
Customer
Care
Center
Over-The-Air
Programming
Messaging
Services
Switch
Provisioning
Services
Voice
Mail
Services
Rating
Engine
Billing
System
Provisioning
Management
System
Number
Inventory
System
Cell
phone
Figure
2-2
Interaction
of
multiple
sub-systems
for
a
cellular
telephony
product
AU4462.indb 23 11/19/06 4:15:09 PM
24 n The Art of Software Modeling
a cellular telephony product. To understand these interactions, I first detailed the
technical interfaces of each subsystem and the provided functionality. Then, I cap-
tured the business workflow as a series of individual steps cast as use case scenarios.
Finally, I applied a systems analysis approach to order each subsystem interaction as
part of the overall business flows. Here I used both functional decomposition and
system analysis to gain a full understanding of the problem domain.
Recommendation: The Functional Decomposition approach is best applied to stable
problems that are open to recursive subdivision into smaller interacting elements.
Scientific Method
Often a system will be inaccessible, such as with a proprietary software system or
a highly complex biochemical process. In order to deduce the operation of such
systems, a more indirect approach is required. The Scientific Method is one such
approach that depends on the observation of a system in action (processing inputs
and producing outputs), proposal of a hypothesis or theory regarding one or more
internal operations, and a test of those assumptions by altering the environment of
the system or system components and then observing overall changes to the system
behavior. The indirectness of this technique often requires disturbing the system
many times to deduce the internal workings. Basically, in practice, the conduct of
science is similar to taking a large hammer to different parts of a well-tuned engine
and observing the effect on engine performance.
The testing of software is often conducted in just this manner. A software qual-
ity assurance tester will take a completed closed system and provide specific inputs.
The outputs of the system processing are then compared against the hypotheti-
cal behavior (e.g., based on the system requirements) to confirm or deny that the
system performs as expected. However, as was noted in Table 2-4, the complete
verification of all possible predictable behavior (especially error handling behavior)
will be very time-consuming if performed manually.
Another area in software development in which this approach is frequently
applied is in the implementation phase where the actual system code is under devel-
opment. Designers will often experiment with multiple technologies to find the
one that best meets the architectural and functional needs of the system under
construction. Here the observation is that such a system component exists, the
hypothesis is that the component is appropriate for the needs, and the test is to
integrate the component into a small part of the system to verify that it will work
as expected.
Recommendation: The Scientific Method is best used when the system under study
is not open for direct study (i.e., requires indirect methods of discovery), and can be
readily influenced by providing multiple inputs with observable output behavior.
AU4462.indb 24 11/19/06 4:15:09 PM
A Systematic Approach n 25
Process Approach
Finally, a system may be studied based on its ability to respond to changing environ-
mental stimuli. This approach can be considered similar to the Scientific Method,
but differs in the ability to perturb the system. Here the focus of the study is on the
effect of the environment on a system, rather than explaining the internal opera-
tions of the system itself.
Systems can be categorized as one of four process types:
Static system performs as designed with no feedback from the environment
Dynamic system attempts to maintain state but cannot ensure against uncon-
trolled environmental changes
Homeostatic system uses feedback to maintain a preprogrammed state
Cybernetic system adapts goals to changing environment
We can develop an organizational grouping for these forms by using three cri-
teria [1]:
Environmental Impact
Effect of environmental conditions on the functioning of the system. If a
system is independent of environment, the system is closed; if the output is
influenced by changes in the environment, the system is open.
Internal Control
Internal capacity for a system to ensure continual attainment of system
objectives
Adaptability of Goals
Reflects on whether goals of the system are fixed or can be changed depend-
ing on the environmental condition or state of system learning.
n
n
n
Table 2-4 Overview of Aspects for the Scientific Method
Positive Aspects Negative Aspects
Provides ability to study closed
systems, for example, those
unavailable for direct study of
interacting components
Very time-consuming to verify all
possible system behaviors by indirect
experiment
Rigorous, repeatable verification of
hypothesis
Requires multiple identical instances
of a system that can be disrupted or
modified
Provides for predictability of system
behavior under different conditions
Requires a control or baseline to
compare against the experimental
result
AU4462.indb 25 11/19/06 4:15:09 PM
26 n The Art of Software Modeling
A Static System is one that is not in any way responsive to external stimulus,
and maintains a fixed set of system goals. For example, a wristwatch need not
accept external input to maintain a consistent internal state of time keeping to one
second/second. However, changes to external environment (humidity, temperature,
etc.) will alter the system response.
A Dynamic System is one that has no means to internally ensure that the fixed
system goals are met under unexpected environmental conditions. For example, a
car moving down the road on cruise control at a set speed will have the throttle
opened or closed as the speed increases or decreases as a result of terrain. However,
because a dynamic system is unaware of an unexpected environment, a pilot flying
at a constant apparent air speed of 200 miles/hour with a headwind of 20 mph will
have a true air speed of 180 mph, so the system goals of the plane arriving on time
are not likely to be met.
A Homeostatic System is designed to sample the external conditions in order
to maintain the system state. For example, the temperature control system for a
building (via the thermostat) uses the sensor inputs of external versus internal tem-
perature to adjust the cooling/heat plant output for the resulting air mixture to
Goals
Environment
Feedback
adaptive
fixed
n
o
n
e
i
n
t
e
r
n
a
l
closed open
Static
Homeostatic
Dynamic
Cybernetic
Figure 2-3 The classification of system behavior to external stimuli
(extracted and redrawn from Athey, et al. [1])
Environment
Process
Input Output
Figure 2-4 Dynamic system
AU4462.indb 26 11/19/06 4:15:10 PM
A Systematic Approach n 27
meet the preset standard thermostat temperature. All mammals have a similar bio-
chemical process for ensuring a stable body temperature.
A Cybernetic System is designed to adjust the internal goal conditions (system
objectives) based on external impacts. For example, given the thermostat example,
a cybernetic system might detect that the reason for the temperature change is an
open or broken window, which would tell the system that turning on the cool-
ing/heat plant would be wasteful until the window is closed. The system goal is
now changed to ensuring that the window is closed, which may be implemented
by signaling an alarm. Cybernetic systems and feedback loops are often involved in
human interactions and behavior [8].
Systems can be modeled as one of the four prototype reactive systems (simple,
dynamic, homeostatic, or cybernetic). This identification may be useful in the selec-
tion of one of the other analytical techniques, described previously, to delve more
deeply into the internal processing requirements for the system. As an example, the
System
Correction
Measure
Performance
Input Output
Environment
Fixed Standard
Process
Figure 2-5 Homeostatic system
System
Correction
Measure
Performance
Input Output
Environment
Control
Adaptive
Standards
Process
Figure 2-6 Cybernetic System
AU4462.indb 27 11/19/06 4:15:11 PM
28 n The Art of Software Modeling
Scientific Method may be used to determine how a thermostat operates by perturb-
ing the inputs, or altering or removing parts of the system to observe the changes
in behavior. If the internal elements of the heating/cooling system are available for
direct inspection, the System Analysis/Decomposition approach may be useful to
further segment the system into better understood components.
For the development of a mission critical software control system, such as a
hardware embedded flight control system, it is essential to understand how the
physical system is expected to respond to environmental stimulus. By classification
of the system into one of the four system behavior groupings, the essential behav-
ioral aspects of the system can be identified and captured.
Recommendation: The Process Approach is useful in the identification of expected
system behavior, particularly complex reactive behavior. It is best used in conjunc-
tion with one or more of the other approaches described earlier.
Summary
1. Models are created to describe complex systems as an aid to understanding
and reasoning. There are many ways to study a system including formal System
Analysis, Functional Decomposition, Scientific Method, and System Processes.
2. Analysis of a system can be approached Top-Down, Bottom-Up, or Middle-
Out. Top-Down approaches use a high-level description of the system under
study to create a road map that directs a more detailed investigation. Bot-
tom-Up starts with the concrete system elements and builds toward a full sys-
tem understanding. Middle-Out begins at some convenient point in a small
section of the system and works toward a full understanding and detailed
description of that section.
Table 2-5 Overview of the Process Approach
Positive Aspects Negative Aspects
Identifies and categorizes expected system
behavior by inputs and outputs
Only valid on full working
systems
Provides support for other analytical
techniques
Requires knowledge of all
possible inputs
A system-of-systems can be decomposed
into the parts that are simple, dynamic,
homeostatic, or cybernetic for further study
Useful only for systems with
observable behavior
Prioritization of effort—modeling first
simple, static system elements before the
more complex dynamic, homeostatic, and
cybernetic
Only defines the type of
behavior; not the processing
involved
AU4462.indb 28 11/19/06 4:15:11 PM
A Systematic Approach n 29
3. Systems exist for an explicit purpose that is supported by a series of system
goals or objectives. In addition, systems display synergy, where the complete
system is greater than each individual part. Finally, systems must have trade-
offs to account for compromises forced on system design because of environ-
mental or other constraints.
4. Formal System Analysis often begins with a top-down approach to the study
of a system. This form of analysis focuses on the interfaces, controllers, enti-
ties, components, and dependencies of a particular system. It is best utilized
on existing systems open to direct inspection with well-defined inputs and
outputs.
5. Functional Decomposition attempts to segment a problem into successively
smaller and less complex elements. This approach focuses on the hierarchi-
cal aspects of a system that is composed of small reusable elements and the
dependencies between these elements. This approach is best used with stable
problems that are open to recursive subdivision into smaller interacting ele-
ments, and is often used as part of the System Analysis approach.
6. The Scientific Method focuses on three primary operations, Observation,
Hypothesis, and Test. Observation of the unaffected system behavior is
extended by hypothesis of a mechanism that is predictive of behavior under
different stimuli. The theory is then tested by experimentation. To interpret
the results, an unaffected control is frequently required for comparison. This
approach is best used on systems that are closed to direct inspection but
where the inputs are open to alteration and the system behavior/outputs are
observable.
7. Study of a system via the Process Approach seeks to determine the behavior
of a system under different environmental stresses. A static system is closed
to outside influences and has a predictable internal structure. A dynamic sys-
tem does not react to changing environmental conditions, but attempts to
maintain preprogrammed state. A homeostatic system seeks to maintain equi-
librium between inputs and a predetermined set of system goals by alteration
of the environmental conditions. A cybernetic system acts to alter goal states
under the influence of changing environmental conditions. A process-based
analytical approach is often best in support of another form of study, such as
formal System Analysis.
Tips and Traps
System analysis is a difficult skill to master. The most difficult aspect appears to
be in selecting the correct level of abstraction for system components at each stage
of the analysis. In selecting the correct level it is necessary to determine where the
endpoints lie; for example, if studying a temperature control mechanism the high-
est level of abstraction is a heating/cooling system with a sensor, decision maker
(thermostat), and an effector (heating/cooling plant). The lowest level would be the
AU4462.indb 29 11/19/06 4:15:11 PM
Exploring the Variety of Random
Documents with Different Content
[107]
fewer registered letters. But Margaret hadn’t stopped in
a car, he thought—she had walked from somewhere.
No, he was positive she hadn’t been boarding with any
of the folks around, or he’d have heard of it.
Well, that was something definite! Maybe she was
hiding in one of those empty houses the clerk had
spoken of, to escape from the police.
Max turned his car off the main highway into a little dirt
road, almost impassable with its slush and snow. He
stopped in front of the first empty house which the clerk
had described. It was dark and forlorn.
“There would be some sort of light if anybody were
living there,” observed Max.
“You can’t tell,” replied Mary Louise. “If Margaret were
hiding, she’d be careful about lights. Let’s get out and
look.”
“But why should she hide? Didn’t you tell me the
employment manager promised not to send her to jail?”
“Yes, but you don’t know what crimes she’s committed
since. If she were behaving herself, wouldn’t she have
written to her grandparents? Either she’s dead or she’s
doing something wrong.”
They waded through slush over their shoe-tops but
could see no signs of any life. Mary Louise decided to
try another house.
“It’s a wild theory, Mary Lou, but you’re the doctor,”
agreed Max. “So long as my bus’ll run, I’m game.”
[108]
[109]
“You are a sport, Max! I don’t know what I’d do without
you.”
“Men are helpful sometimes, aren’t they?”
“I guess they’re absolutely necessary,” replied Mary
Louise modestly. “I never seem to be able to get along
without them.”
“That’s the proper attitude for a girl,” he answered
gayly.
Farther along the road they stopped in front of another
empty house. It was situated at the top of a steep
incline and almost completely surrounded by trees.
“Can you climb that hill, Max?” she asked.
“I can try—if you think there’s any use,” he replied.
It was a difficult task, for the driveway was so covered
with slush that it was hard to tell which was road and
which was field. But Max made it in low gear, and they
came to a stop in front of a barn, under a big tree.
The house was shabby and unpainted; its windows were
covered with boards, and its heavy doors without glass.
Mary Louise shuddered: it reminded her of Dark Cedars.
Max turned off the motor and jumped out of the car.
“Nobody home, I guess,” he announced.
From her seat in the car Mary Louise stared at the
house, peering into the strip of glass above the boards
on the windows. She thought she saw a flicker of light,
as if a candle were burning. Yes, she was sure of it—
[110]
and—a face appeared at the window! Two frightened
eyes looked right into hers. A second later another face
appeared, more plainly than the first, for this person
evidently had hold of the candle. The first face had
vanished, and Mary Louise saw only that of an
exceedingly ugly woman—someone who looked
somehow familiar.
That very instant the tiny light went out, and at the
same moment Mary Louise sank unconscious in her
seat. A stone, hurled from the tree above her, had hit
her right on the head!
[111]
CHAPTER VIII
Knocked Out
Max, who was standing on the ground near by, heard
the heavy thud of the stone as it hit the floor of the car.
Turning about sharply, he saw Mary Louise slumped in
her seat, unconscious from the blow. He flung open the
door and jumped in beside her.
“Mary Lou! Mary Lou! Are you alive?” he cried
desperately.
The girl did not answer.
“Help! Help!” he shrieked, at the top of his lungs.
A mocking laugh sounded from the tree above. Max
looked up, but in the darkness he could see no one.
How he wished he had his flashlight! But it was behind
in the rumble seat, and he daren’t waste a minute; he
must get Mary Lou to a doctor with all possible speed.
Starting his engine immediately—for there was no reply
to his call for help—he circled around the tree and crept
cautiously down the slippery hill, praying as he had
never prayed before. Oh, suppose Mary Louise were
dead!
With as much speed as he dared put on, he drove back
to the Center Square hotel. As he came to a stop he felt
a little movement beside him, and Mary Louise raised
her head and opened her eyes.
“Where are we, Max?” she asked. “What happened?”
“Oh, my darling!” he cried, flinging his arm around her
shoulders. “You are alive!”
The girl managed a feeble laugh.
“Of course I am. My head hurts dreadfully, though.
What happened?”
“You were hit by a stone—see it there, on the floor?—
from that tree we were parked under. It knocked you
out.... Now, can you manage to walk up to the hotel, or
shall I carry you?”
“I can walk,” she replied, taking his arm.
In the light of the hotel doorway Max saw the blood
running down her neck. He wiped it with his
handkerchief.
“Can we have a doctor immediately?” he asked the
hotel clerk the moment they were inside the door.
“Yes, there’s one in the dining room now, eating his
dinner. I’ll call him. An accident?”
[112]
[113]
Max explained the strange happening at the empty
house, but the clerk said he did not know anything
about the place. He had not heard of any gangsters in
these parts.
The doctor came immediately and dressed Mary Louise’s
head. The cut was not serious, he assured her; it was
not in a vital place. When it was washed and bandaged
she was able to eat her dinner with enjoyment.
“Maybe that first person I saw was Margaret Detweiler,”
she said. “I wish I could stay here all night and go
investigate tomorrow. But Mother wouldn’t approve of
it.”
“I should say not!” thundered Max. “I’m taking you back
to Mrs. Hilliard tonight, and I think you had better go
home to Riverside tomorrow.”
“Indeed I won’t, Max. And that reminds me, I have to
be at the hotel tonight at eleven o’clock. I want to spy
on an elopement.”
“Elopement! What next?”
“Well, one of the guests, a Miss Stoddard, who happens
to be a niece of the founder of Stoddard House, thinks
another guest is eloping tonight. She thinks this couple
are responsible for all the robberies at the hotel. You
know it was a man who entered my room and stole my
watch, so I hoped maybe I could identify this fellow as
the burglar. If I could, the mystery would be solved.”
“And you could go home?”
[114]
“Yes, unless I could find out something more about
Margaret Detweiler. But I wouldn’t stay here just on
purpose for that. I’d go home and see what I could do
from there, with Dad’s help.”
“What time is it now, I wonder?” asked Max. “We must
get back without fail!”
“I don’t know,” replied Mary Louise regretfully. “I
haven’t any watch.”
“I’m going to buy you one for Christmas, if I get a check
from Dad,” announced Max. “Of course, it will be late,
but I’ll give you your other present first, so you wouldn’t
mind that, would you, Mary Lou?”
“You’ll do nothing of the sort!” protested the girl. “I
couldn’t accept it. If you get a check from your father
it’s to buy something for yourself. I’ll get an Ingersoll
tomorrow when I’m in town.... Now, what time is it?”
“It’s half-past eight. If you feel able, I think we better
go along, because I don’t dare drive too fast on these
slippery roads at night.”
“I’m all right—I only have a headache now. So let’s get
going.”
Max paid the bill, and they were off.
“Now, what will your plans be for tomorrow?” he
inquired, as they rode along.
“I’d like to come out here and visit that empty house
with a policeman,” she replied. “If it’s possible, I will.
But of course I have to see what turns up at the hotel.
[115]
That is my real job: I’m being paid for it, and my father
and Mrs. Hilliard are counting on me to do my best.”
“I wouldn’t care if you never saw Center Square again,”
muttered Max resentfully. “Still, it would be great to
catch the guy who threw that rock at you.”
“And find out whether the girl really was Margaret
Detweiler. Yes, and I’d like to see that ugly woman
again. I’ve seen her face before somewhere, but I can’t
place her. You don’t forget a face like that.”
“There’s something crooked about their hiding in that
house,” remarked Max.
“Yes, of course.... Well, to continue with my plans: I’ll
see what develops tonight. If there really is an
elopement, I’ll try to identify that man. If he isn’t
anything like my burglar, I’ll believe that Miss Stoddard
is guilty herself and that she just made the whole story
up to throw suspicion away from herself.”
Max regarded her admiringly.
“You are a pretty clever girl, Mary Lou,” he said. “I do
think you’ll make a swell detective.”
“Thanks, Max. But I’m afraid there’s nothing clever
about that. It’s just using common sense.”
“Well, the good detectives say that’s the most important
thing: not to let anything escape their notice and to use
common sense all the time.”
They talked of other things for a while, of school and
dances and basketball. Finally they reached Stoddard
House, a little after ten o’clock.
[116]
“Oh, I do hope we’re in time!” exclaimed Mary Louise.
They found the hotel almost deserted. Mrs. Hilliard was
sitting in a chair, knitting. Nobody else was around.
“Did you have a good time, dear?” she asked, after Max
had been introduced to her.
“An exciting time,” replied the young man. “Mary Lou
was hit on the head with a stone and knocked out. But
detectives have to expect that sort of thing, I suppose.”
“Sh!” warned the girl. “Nobody except Mrs. Hilliard is
supposed to know I’m acting as detective.”
“I didn’t k-n-o-w that!” apologized Max, in the tone of
Joe Penner.
Mrs. Hilliard looked troubled. “Tell me what happened,”
she urged.
Briefly Mary Louise related the story, and the good
woman was relieved to hear that the blow was not
serious. She was thankful, too, that the job at Stoddard
House had not been responsible for it.
“Are the Weinbergers still here?” was Mary Louise’s next
question.
“Mrs. Weinberger is. But her daughter went out early
this afternoon, and I don’t think she came back. Her
mother was in a great stew at supper time. You would
think from the way she carries on that her daughter was
a girl in her teens instead of a woman of twenty-eight
or so.”
A look of disappointment crossed Mary Louise’s face.
[117]
[118]
“I must see Miss Stoddard,” she announced. “Max, you
wait here with Mrs. Hilliard till I come back, because I
may need you. I shan’t be gone long.”
She ran off and took the elevator to the third floor and
knocked at Miss Stoddard’s door.
“Who is it?” was the query.
“Mary Louise Gay. May I come in, Miss Stoddard?”
The woman turned the key in the lock and opened the
door. She was dressed in a kimono and slippers.
“You’re too late, Miss Gay,” she said. “Miss Weinberger
has already eloped. I’m sure of it. I saw her get into a
taxi this afternoon, and one of the maids came out and
brought her her suitcase. She probably had hidden it
somewhere from her mother. She’s probably married by
now—and run off with all the money and jewelry from
Stoddard House!”
“Oh!” gasped Mary Louise in dismay. “Why wasn’t I
here! Did you see the man, Miss Stoddard?”
“No—unless he was the taxi driver. But I didn’t even get
a good look at him.”
“Probably she was to join him somewhere. He wouldn’t
risk coming near the house in broad daylight if he was
the burglar who entered my room.”
“No, that’s true.”
“If Hortense Weinberger really is married,” said Mary
Louise, “don’t you suppose her mother will hear about it
tomorrow? And if I keep in touch with her mother, I
[119]
ought to see the man when he comes back from the
honeymoon.”
“Mrs. Weinberger was planning to leave Stoddard House
tomorrow,” returned Miss Stoddard.
“Yes, I know. But this may alter her plans. And besides,
she will surely give her forwarding address to Mrs.
Hilliard. She has no reason to hide; she doesn’t have
any idea that her daughter or her husband is suspected
of stealing.”
“I hope you’re right, Miss Gay.... Now, tell me what
happened to your head.”
“I was riding in an open car, and a stone fell out of a
tree and hit me,” she answered simply.
The older woman pulled down the corners of her mouth
and looked doubtful.
“Of course, she’s thinking I’m just a wild young girl,”
Mary Louise concluded. But it really didn’t matter in the
least to her what Miss Stoddard chose to believe about
her. “Well, I must get to bed, Miss Stoddard,” she said
aloud. “So good-night.”
“Good-night,” returned the other, carefully locking the
door after Mary Louise went out.
A moment later the girl joined Mrs. Hilliard and Max on
the first floor.
“Miss Stoddard thinks Miss Weinberger eloped this
afternoon,” she announced.
Mrs. Hilliard laughed incredulously.
[120]
“Old maids love to imagine romances,” she said. “Well,
we’ll see.... Now, don’t you think you had better go to
bed?” she asked Mary Louise in a motherly way.
“Yes, I do,” agreed the girl, “Max, if you’re still here, I’d
be glad to have you come to lunch with me tomorrow.
We’re allowed to have men to meals, aren’t we, Mrs.
Hilliard?”
“Certainly, dear.”
“Nix on that!” protested the young man immediately.
“Can you imagine me—one lone fellow—in that dining
room full of dames? Looking me over and snickering at
the way I wear my hair or tie my shoes? Nothing doing!
I’ll call for you at one, Mary Lou, and we’ll go out
somewhere to lunch.”
“O.K.,” agreed the girl, smiling. “See you then!”
[121]
CHAPTER IX
Lunch at the Bellevue
Mary Louise slept late the following morning. The
dining-room doors had been closed for an hour when
Mrs. Hilliard finally came into her room.
“What time is it, Mrs. Hilliard?” she inquired, opening
her eyes and staring at the bright sunlight pouring
through the windows.
“It’s almost eleven o’clock. I thought you had better
sleep this morning, Mary Louise, on account of your
head. How do you feel?”
“Oh, I’m all right, Mrs. Hilliard, thank you. But this is no
time for anybody with a job to get up! I’ll get fired.”
The woman laughed.
“My dear, you are doing all that anybody could do, I
believe. I am afraid the situation is hopeless. Mrs.
Weinberger moved out this morning.”
“Did she hear from her daughter?”
“Yes, she had a telegram. She is married and has gone
to New York for a honeymoon over Christmas.”
[122]
“How did her mother take it?”
“Very badly. She seemed all cut up about it. The man
has a job as a taxi driver, and though Mrs. Weinberger
has never met him, she is sure he is a rough,
uneducated fellow.”
“Miss Stoddard thinks he is our thief,” announced Mary
Louise. “She believes he has been working with Miss
Weinberger’s help.” Mrs. Hilliard’s eyes opened wide in
astonishment.
“That might be possible,” she said.
“Yes. You remember it was a man who entered my
room Friday night. And with Miss Weinberger to watch
out for him, he could have sneaked into ’most any of
the rooms. That’s the theory I wanted to work on today.
Where did Mrs. Weinberger go?”
“To the Bellevue—temporarily. She said that she’d find
something cheaper later on and send me her forwarding
address. But she will stay at the big hotel for a few
days, till her daughter comes back.”
“Then I’m going to go see her there. Isn’t there
something she left that I could take over to her, to use
for an excuse?”
“A special-delivery letter arrived a few minutes ago. I
was going to send it over this afternoon by one of the
maids.”
“Let me take it! And I’ll have Max take me there to
lunch so I can say I was coming to the hotel anyway.
Where is it?”
[123]
“Broad and Walnut—right across the street from the Ritz
Carlton. Your friend will probably know.... Now, you get
dressed, Mary Louise, and come over to my apartment
for a cup of coffee. You must have something before
you leave.”
“Thanks very much, Mrs. Hilliard. If it isn’t too much
trouble.”
She was ready before one o’clock, her bandage entirely
covered by her hat, and was waiting downstairs in the
lobby for Max when he arrived.
“You’re looking fine today, Mary Lou!” he exclaimed
admiringly. “How’s the head?”
“Oh, it’s all right. Max, could we go to the Bellevue for
lunch? And will you please let me pay the bill—out of
my salary? Because it’s on account of the job that I
want to go there.”
“Sure we can go,” he replied. “But nix on the bill. Unless
you eat everything on the bill of fare.”
“I know, but it’s a big hotel, and it may be dreadfully
expensive.”
“We’ll see,” he agreed.
Max left his car in an open-air garage near the hotel,
and the two young people entered together. Mary
Louise thought it was a lovely place, and she pressed
Max’s arm jubilantly. What fun it was to have a
companion! She wouldn’t have enjoyed lunching there
alone at all, but having Max made it seem like a party.
[124]
The hotel was quite crowded, probably with numerous
vacation guests and Christmas shoppers, and the young
couple made their way slowly to the dining room. In the
passageway they suddenly came upon Pauline Brooks
with another girl—the same blond girl she had been
with on Walnut Street the preceding Saturday noon.
“Pauline!” exclaimed Mary Louise. “How are you?”
Pauline turned around, and seeing Mary Louise’s
handsome companion her smile included him. Mary
Louise introduced Max, and Pauline in turn introduced
the cute little blond as Miss Jackson. The girl
immediately began to roll her eyes at Max.
“I was so disappointed that you moved away from
Stoddard House,” said Mary Louise.
“I didn’t like the atmosphere,” replied Pauline. “Too
much stealing. I was afraid I wouldn’t have anything left
if I stayed.”
“But you didn’t lose anything, did you?” asked Mary
Louise.
“No, but I wasn’t taking any chances. Besides, it’s a lot
more comfortable here.”
“Here? I thought you were at the Ritz?”
Pauline laughed.
“I was. But my aunt went out to the country, so I
moved over here. Like it better.”
“I see.”
[125]
Suddenly a thought came to Mary Louise: That woman
whom she had seen in the empty house—her face
looked like Pauline’s aunt! That was the person she had
reminded her of!
“Is your aunt’s place at Center Square?” she inquired.
Mary Louise thought she saw Pauline start at the
question, but she answered it carelessly enough. “It’s
not in any town,” she said. “Just in the country.... Well,
I’ll be seein’ you.” She started away.
“Wait a minute,” begged Mary Louise. “Did you girls
ever meet a girl named Margaret Detweiler, from
Riverside? I am trying to find her for her grandmother.”
“Margaret Detweiler—yes——” began Miss Jackson.
But Pauline interrupted her. “You’re thinking of Margaret
Lyla, Blondie,” she corrected. “We don’t know any
Margaret Detweiler.”
“That’s right,” agreed the other girl, in obvious
confusion.
Mary Louise sighed: she had probably been mistaken.
And it was all so mixed up, anyhow. Her memory of the
night before, of those two faces at the window, was
already growing vague.
She and Max went on into the dining room.
“Some high-steppers,” remarked Max. “Not your type,
Mary Lou.”
“I don’t care for the little blonde,” agreed Mary Louise.
“But I did sort of like Pauline Brooks. She was my first
[126]
friend here in Philadelphia, and she seemed awfully
sociable.”
“I don’t like her,” said Max emphatically.
Of course, Mary Louise was flattered, and she smiled
contentedly.
“Well, you needn’t worry—she’ll never be one of my
best friends,” she said.
The waiter led them to a table with a pretty bouquet on
the shining white linen cover, and Mary Louise felt
almost as if she were at a party. An orchestra was
playing, and there were many people dancing.
Everything here spoke of gayety and life: no wonder
Pauline Brooks referred the Bellevue to Stoddard House.
But she must be very rich to be able to stay here.
“A big city is grand, isn’t it?” she remarked to Max, her
eyes sparkling with excitement.
“Sometimes,” he admitted. “But it can be an awfully
lonely place too, Mary Lou. It all depends on who is with
you.” And his eyes told her who the person was whom
he preferred.
“Yes, I guess you’re right, Max. I was lonely—and it was
wonderful of you to come. I wish you could stay the
whole time here with me.”
“I’m supposed to go back tonight, or tomorrow morning
early at the latest. But I could break that on one
condition.”
“What’s that?” demanded Mary Louise.
[127]
He lowered his voice to almost a whisper.
“Mary Lou, you know how much I care for you. You
know I’ve adored you since the first minute I met you.
There’s never been anybody else. Let’s get married—​
now—​
today—and keep it secret till I graduate in June.
Then——”
The waiter approached diplomatically. Mary Louise
picked up the menu in confusion. She had never
dreamed Max would suggest such a thing. Why, she had
no idea of getting married for years and years!
“I’ll take this special luncheon,” she said, noticing that
its cost was moderate.
“I will too,” added Max, anxious to get rid of the waiter.
“What do you say, Mary Lou? Will you?” His voice was
so eager that the girl was deeply touched.
“Oh no, Max. I couldn’t. I don’t love you—or anybody—
that way yet. And I couldn’t deceive my parents or let
you deceive yours.”
“We might just tell our fathers and mothers,” he
suggested.
“No, no, I couldn’t. Let’s don’t even talk about it. I’m
here in Philadelphia on a detective job, and I mean to
give it my very best. I’ll be sorry to have you go home,
but maybe it will be better. I’ll work harder if I haven’t
anybody to play around with. Now—what would you say
to a dance while we wait for our first course?”
The couple glided off to the music, and more than one
person in that big dining room noticed the graceful,
[128]
[129]
handsome pair and envied them their happiness. When
they came back to their seats their soup was ready for
them.
“Here come your friends,” remarked Max, as Pauline
Brooks and her blond companion entered the dining
room. “And take a look at the fellows they have with
them!”
“I don’t like their looks,” announced Mary Louise
emphatically.
“Neither do I, needless to say. Just goes to show you
what kind of girls they are.... Mary Lou, I want you to
drop that Brooks woman. She might get you into harm.
Promise me!”
“No need to promise,” laughed Mary Louise. “I’ll
probably never see her again now that she’s moved
away from Stoddard House.”
Mary Louise ate her luncheon with keen enjoyment.
There was nothing like going without breakfast, she
said, to give you an appetite for lunch.
“Do you think there’s any chance of your getting home
for Christmas?” asked Max wistfully.
“No, I don’t believe so,” she replied. “I try not to think
about it. It will be my first Christmas away from home,
the first time I ever didn’t hang up my stocking. But,
Max, if I could solve this mystery for Mrs. Hillard, it
would be worth ten Christmas stockings to me. I just
can’t tell you what it means.”
“Yes, I realize that. But it doesn’t seem right. The fun at
home—visiting each other’s houses after dinner, and the
[130]
Christmas dance at the Country Club! Gosh, Mary Lou, I
just can’t bear it!”
“Why, Max, I’ll be the homesick one—not you,” she
reminded him.
Her eyes traveled around the room while they were
waiting for their dessert, and she caught sight of Mrs.
Weinberger, eating a lonely lunch in a corner by a
window, looking as if she didn’t care whether she lived
or died. Mary Louise felt dreadfully sorry for her; she
was glad to have an excuse to go to speak to her after
lunch.
She took Max over and introduced him. Mrs. Weinberger
acknowledged the introduction, but she did not smile.
She looked as if she might never smile again.
“Yet how much gloomier she would be if she knew we
suspected her daughter and her husband of those
crimes!” thought Mary Louise.
“I have a special-delivery letter for you, Mrs.
Weinberger,” she said. “I was coming here for lunch, so
Mrs. Hilliard asked me to bring it over to you.”
“Thank you,” replied the woman, taking the letter and
splitting the envelope immediately. “You heard that my
daughter is married, Miss Gay?”
“Yes, Mrs. Hilliard told me.” Mary Louise longed to ask
when the honeymooners would be back, but she
hesitated because Mrs. Weinberger looked so gloomy.
The woman drew a snapshot from the envelope.
[131]
“Why, here is their picture!” she exclaimed. “And—he’s
positively handsome!”
Eagerly she handed the photograph to Mary Louise,
anxious for the girl’s good opinion of the new son-in-
law.
What an opportunity for the young detective! Mary
Louise’s fingers actually trembled as she took hold of
the picture.
But all her hopes were dashed to pieces at the first
glance. The man was as different from Mary Louise’s
burglar as anyone could possibly be. Six feet tall and
broad-shouldered, he was smiling down tenderly at his
new wife, who was at least a foot shorter.
“He’s charming, Mrs. Weinberger,” she tried to say
steadily. “May I offer my congratulations?”
The older woman straightened up—and actually smiled!
“He is a civil engineer,” she read proudly. “But he
couldn’t get a job, so he’s driving a taxi! Well, that’s an
honest living, isn’t it?”
“I should say so!” exclaimed Max. “You’re lucky you
don’t have to support him—as so many mothers and
fathers-in-law have to nowadays.”
Mary Louise was pleased for Mrs. Weinberger’s sake but
disappointed for her own. Miss Stoddard was all wrong:
the solution was incorrect. And she was just as much at
sea as ever!
“There’s your friend Pauline Brooks,” remarked Mrs.
Weinberger. “And—look who’s with her!”
[132]
“That’s a friend of hers—a Miss Jackson,” explained
Mary Louise, as the two girls, with their boy-friends, got
up to dance.
“Miss Jackson nothing! That’s Mary Green—the chorus
girl who was staying at Stoddard House when my watch
was stolen. I’d like to have a talk with that young
woman. But I suppose it wouldn’t do any good.”
Mary Louise’s eyes narrowed until they were only slits;
she was thinking deeply. Mary Green—alias Miss
Jackson! The next step was to find out whether Pauline
Brooks too had a different name at this hotel!
Maybe at last she was on the right track.
[133]
CHAPTER X
In the Dead of Night
“How about a movie?” suggested Max, as the young
couple left the hotel dining room.
“Oh no, Max,” replied Mary Louise. “No, thanks. I have
to work now. I’m going to stay right here.”
“In the hotel? Doing what?”
“Some investigating.”
“You think that young man is guilty? He looked honest
to me.”
“No, I don’t believe he’s guilty. I—I’ll explain later, Max,
if anything comes of my investigations.... Now, run
along and do something without me.”
“Can I see you tonight?”
“I could probably go to an early show with you after
dinner. I’m not sure, so don’t stay in Philadelphia just on
account of that. I mean, if you want to start back
home.”
[134]
“I’m going to start home at daylight tomorrow,
morning,” replied the young man. “So I’ll surely be
around tonight. At Stoddard House soon after seven.”
“All right, I’ll see you then. And thanks for a lovely
lunch, Max. It’s been wonderful.”
The young man departed, and Mary Louise hunted a
desk in one of the smaller rooms of the Bellevue—set
aside for writing. She placed a sheet of paper in front of
her and took up a pen, as if she were writing a letter.
But what she really wanted to do was to think.
“I was wrong twice,” she reasoned. “First in suspecting
Miss Stoddard, then in believing Miss Weinberger guilty.
I’ll go more carefully this time.
“If my very first guess was right—that the transient
guests were stealing the valuables from Stoddard House
—I must begin all over again. Mrs. Hilliard said there
were two girls staying at the hotel for a day or so when
the silverware and the vase were stolen.... Are these
girls in league with Mary Green and Pauline Brooks? Are
they all members of a secret band of thieves? That’s the
first question I have to answer.”
She frowned and opened her notebook. Why hadn’t she
gotten the names of those girls from Mrs. Hilliard’s old
register?
The second crime—the stealing of the watches—she
could pin on Mary Green, alias “Blondie Jackson.”
Now for the last three robberies. They had all taken
place while Pauline Brooks was at Stoddard House!
[135]
Mary Louise considered them separately. Pauline could
have stolen Miss Granger’s money and her picture, but it
was a man who entered Mary Louise’s bedroom on
Friday night and who took her watch and her money.
Was one of those young men whom Pauline was dining
with today an accomplice? If so, how did he escape
from the hotel? Out of Pauline’s window?
Finally, she thought over the circumstances of Mrs.
Macgregor’s robbery, and she almost laughed out loud
at her own stupidity. Pauline had left her own room as
soon as the maid came in to clean it; she had slipped
into Mrs. Macgregor’s room and stolen the bag
containing the valuables and had left the hotel
immediately, before Mrs. Macgregor came out of her
bath. Why hadn’t she thought of that explanation
before?
The solution seemed logical and plausible, yet how,
Mary Louise asked herself, could she prove her
accusations? None of these girls had been caught in the
act; probably none of them still possessed the stolen
articles, and the money had not been marked in any
way or the serial numbers taken.
This fact was dreadfully discouraging. If Mary Louise
could not prove the girls’ guilt, she could do nothing
about it. She couldn’t even assure Mrs. Hilliard that
there would be no more robberies at Stoddard House,
because she could not know how many members of this
gang there were, and the manager could not suspect
every transient guest who came to the hotel.
No, she concluded, there was nothing to do but try to
catch them in a new crime. If they really made it their
business to rob hotels, they would probably carry out
[136]
some plan here at the Bellevue tonight. Mary Louise’s
only course was to watch them.
With this determination in mind, she went to the clerk’s
desk in the lobby.
“Could I see the manager?” she inquired.
The man looked at her quizzingly, wondering whether
Mary Louise was a patron of the hotel or a society girl
who wanted to collect money for something.
“Are you a guest at the hotel, miss?” he asked. “Or have
you an appointment?”
“No to both questions,” she replied. “But I am a private
detective, and I want to consult him about something.”
“O.K.,” agreed the clerk. “What name, please?”
“Mary Louise Gay.”
The clerk reached for the telephone, and in another
minute he told Mary Louise where to find the manager’s
office. She followed his directions and walked in bravely,
hoping that the man would not think she was dreadfully
young.
“I am staying at a small hotel for women called
Stoddard House,” she began, “to investigate a series of
robberies which they have had there. The Philadelphia
police have my name, and if you wish to identify me,
please call Mr. LeStrange.”
“I will take your word for it, Miss Gay,” replied the man,
smiling.
[137]
“These robberies have always occurred when there was
a transient guest at the hotel,” she explained. “The last
series, while I was at the place, led me to suspect a
certain girl; the series before that led other people to
suspect another girl. I find these two girls are living
here now at the Bellevue—they seem to go from one
hotel to another, for they were at the Ritz only last
Saturday. They evidently use different names. I should
like to meet your hotel detective, explain the case to
him, and get permission to watch these two young
women.”
The manager did not appear as surprised as Mary
Louise expected him to be. But she could not know how
common hotel robberies were at the present time.
“I will send for our detective,” he said. “You have my
permission to go ahead—under his orders, of course.”
“Oh, thank you!” cried Mary Louise, delighted that so far
it had been easy.
The manager sent for the detective, a nice-looking man
of about thirty. He introduced him as Mr. Hayden, and
repeated Mary Louise’s story.
“What would your plan be, Miss Gay?” asked the
detective. He treated her respectfully, as if she were
indeed a real member of the profession, and Mary
Louise felt proud and happy.
“First of all, I want to find these girls’ names on the
hotel register and see what names they are using. Then
I want, if possible, to engage a room near theirs and
listen for them all night. And third, I want you, or one of
your assistants, Mr. Hayden, to be right there in
readiness, in case they do anything tonight.”
[138]
[139]
“You haven’t evidence enough to convict them of the
robberies at Stoddard House?” asked Mr. Hayden.
“Oh no. I may be entirely mistaken. It is only a clue I
am going on. But I believe it is worth following up.”
“What do you say, Hayden?” inquired the manager.
“I’m glad to help,” replied the younger man. “I’ll be on
duty tonight, anyhow, and I’d enjoy the investigation.
Nothing is lost, even if nothing does happen.”
“Then let’s go have a look at the register,” suggested
Mary Louise.
“Better send for it,” said the detective. “Arouse no
suspicions.”
The book was brought to them, and Mary Louise looked
carefully for the names of Pauline Brooks and Mary
Green. But she did not find them. She did, however, find
the name of Mary Jackson, and with it a name of
Catherine Smith, both of whom had arrived that day
and engaged a room together on the sixth floor.
“Those must be the girls,” she concluded. “Room 607.
What’s the nearest room you can give me?”
The manager looked in his records.
“609 is moving out tonight. Would that be time enough
—or do you want it now?”
“No, that’s plenty of time. And another thing, can you
tell me where Mrs. Weinberger’s room is? I met her at
Stoddard House, and she would be a sort of chaperon
for me.”
[140]
“Her room is on the tenth floor,” was the reply: “1026.”
“Thanks. Then put me down for 609, and I’ll phone Mrs.
Weinberger this afternoon. I’ll come back early this
evening, and I’ll ask Mrs. Weinberger to meet me in one
of the reception rooms. Then, could you come there
too, Mr. Hayden?”
The man nodded, smiling. How correct this girl was
about everything!
“Then I believe it’s all arranged,” said Mary Louise,
rising. “I’ll go back to Stoddard House. And if you have
a chance, Mr. Hayden, will you keep your eye on these
girls we’re suspecting?”
“But I don’t know them,” he reminded her.
“I’d forgotten that! Well, let me describe them. Maybe if
you visit the sixth floor, you will see them go in and
out.”
She went on to tell him that Pauline Brooks—or
Catherine Smith, as she called herself here—was a
striking brunette, and that her companion, Mary Green
—or Mary Jackson—was noticeably blond; that both
girls were short and slender and wore fur coats and
expensive jewelry; that both were as little like the
typical sneak thieves as could possibly be imagined.
As Mary Louise walked along the street she decided not
to tell Mrs. Hilliard any of the details of her plans or who
the girls were that she was watching. If nothing came of
her theory, she would feel foolish at having failed the
third time. Besides, it wasn’t fair to the girls to spread
suspicion about them until she had proved them guilty.
[141]
She stopped at a jewelry store and purchased a small,
cheap watch, which she put into her handbag. Then she
went back to the hotel.
Immediately upon her arrival at Stoddard House she
called Mrs. Weinberger on the telephone; then, assured
of her coöperation, she went to Mrs. Hilliard’s office.
“I have decided to spend the night at the Bellevue,” she
said. “Mrs. Weinberger is going to be my chaperon.”
The manager looked doubtful. “But I promised your
father I’d keep you right here with me,” she objected.
“I know, but this is important. I think I’m on the track of
a discovery. And Mrs. Weinberger has promised to look
after me.”
“Does she know that you suspect her daughter, Mary
Louise?”
“No, because I don’t suspect her any longer. Or her new
husband either. My clues point in another direction. This
time I’m not going to say anything about them till I find
out how they work out.”
“I suppose it will be all right, then,” agreed Mrs. Hilliard
reluctantly.... “What are your immediate plans, dear?”
“I’m going to sleep now till six o’clock, because it’s
possible I may be awake most of the night. I’ll have my
dinner here with you then, or with the Walder girls, and
after that I’m going to a show with Max. About nine-
thirty I’ll get to the Bellevue—Mrs. Weinberger is going
to wait up for me and go to my room with me.”
Welcome to our website – the perfect destination for book lovers and
knowledge seekers. We believe that every book holds a new world,
offering opportunities for learning, discovery, and personal growth.
That’s why we are dedicated to bringing you a diverse collection of
books, ranging from classic literature and specialized publications to
self-development guides and children's books.
More than just a book-buying platform, we strive to be a bridge
connecting you with timeless cultural and intellectual values. With an
elegant, user-friendly interface and a smart search system, you can
quickly find the books that best suit your interests. Additionally,
our special promotions and home delivery services help you save time
and fully enjoy the joy of reading.
Join us on a journey of knowledge exploration, passion nurturing, and
personal growth every day!
ebookbell.com

More Related Content

PDF
Strategic Software Engineering An Interdisciplinary Approach 1st Edition Fadi...
PDF
Strategic Software Engineering An Interdisciplinary Approach 1st Edition Fadi...
PDF
Software architecture for developers
PDF
Strategic Software Engineering An Interdisciplinary Approach 1st Edition Fadi...
PDF
Ten Advices for Architects
PDF
10 Hinweise für Architekten
PDF
Software Engineering an Introduction
PDF
Towards a new paradigm to resolve the software crisis
Strategic Software Engineering An Interdisciplinary Approach 1st Edition Fadi...
Strategic Software Engineering An Interdisciplinary Approach 1st Edition Fadi...
Software architecture for developers
Strategic Software Engineering An Interdisciplinary Approach 1st Edition Fadi...
Ten Advices for Architects
10 Hinweise für Architekten
Software Engineering an Introduction
Towards a new paradigm to resolve the software crisis

Similar to Art Of Software Modeling Benjamin A Lieberman (20)

PPT
Improving software economics
PPTX
The-Evolution-of-Software-From-Mainframes-to-the-Cloud .pptx
PPT
Chapter 1 Introduction to software Engineering.ppt
PPT
Chapter 1 Introduction to software engineering.ppt
PDF
Largescale Software Architecture A Practical Guide Using Uml 1st Edition Garland
PPTX
unit 1.pptx regasts sthatbabs shshsbsvsbsh
PPTX
Software Engineering - UNIT1- Part1.pptx
PPT
An Introduction To Software Engineering
PPT
Rekayasa Perangkat Lunak Pertemuan 1 RPL
DOCX
76 May 2007Vol. 50, No. 5 COMMUNICATIONS OF THE ACM COMMUNIC.docx
PDF
Bey Soft Arch C S W S
PDF
AI in software development Key opportunities challenges.pdf
PPTX
Breathing Data, Competing on Code
PDF
Making software
PPTX
Workshop on software product development the backdrop
PPT
Unit 1 introduction tosoftengg_mba tech ii year
PPT
Unit 1 importance ofsoftengg_b.tech iii year
PDF
Creating An Incremental Architecture For Your System
PPT
Chapter 01
PDF
Software Architecture and Design Introduction
Improving software economics
The-Evolution-of-Software-From-Mainframes-to-the-Cloud .pptx
Chapter 1 Introduction to software Engineering.ppt
Chapter 1 Introduction to software engineering.ppt
Largescale Software Architecture A Practical Guide Using Uml 1st Edition Garland
unit 1.pptx regasts sthatbabs shshsbsvsbsh
Software Engineering - UNIT1- Part1.pptx
An Introduction To Software Engineering
Rekayasa Perangkat Lunak Pertemuan 1 RPL
76 May 2007Vol. 50, No. 5 COMMUNICATIONS OF THE ACM COMMUNIC.docx
Bey Soft Arch C S W S
AI in software development Key opportunities challenges.pdf
Breathing Data, Competing on Code
Making software
Workshop on software product development the backdrop
Unit 1 introduction tosoftengg_mba tech ii year
Unit 1 importance ofsoftengg_b.tech iii year
Creating An Incremental Architecture For Your System
Chapter 01
Software Architecture and Design Introduction
Ad

Recently uploaded (20)

PPTX
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
PDF
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
PDF
Empowerment Technology for Senior High School Guide
PDF
Practical Manual AGRO-233 Principles and Practices of Natural Farming
DOC
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
PDF
SOIL: Factor, Horizon, Process, Classification, Degradation, Conservation
PPTX
Radiologic_Anatomy_of_the_Brachial_plexus [final].pptx
PPTX
Introduction to Building Materials
PDF
ChatGPT for Dummies - Pam Baker Ccesa007.pdf
PPTX
Chinmaya Tiranga Azadi Quiz (Class 7-8 )
PPTX
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
PDF
LNK 2025 (2).pdf MWEHEHEHEHEHEHEHEHEHEHE
PDF
Weekly quiz Compilation Jan -July 25.pdf
PDF
1_English_Language_Set_2.pdf probationary
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PDF
What if we spent less time fighting change, and more time building what’s rig...
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PDF
medical_surgical_nursing_10th_edition_ignatavicius_TEST_BANK_pdf.pdf
PDF
A systematic review of self-coping strategies used by university students to ...
PDF
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
Introduction-to-Literarature-and-Literary-Studies-week-Prelim-coverage.pptx
OBE - B.A.(HON'S) IN INTERIOR ARCHITECTURE -Ar.MOHIUDDIN.pdf
Empowerment Technology for Senior High School Guide
Practical Manual AGRO-233 Principles and Practices of Natural Farming
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
SOIL: Factor, Horizon, Process, Classification, Degradation, Conservation
Radiologic_Anatomy_of_the_Brachial_plexus [final].pptx
Introduction to Building Materials
ChatGPT for Dummies - Pam Baker Ccesa007.pdf
Chinmaya Tiranga Azadi Quiz (Class 7-8 )
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
LNK 2025 (2).pdf MWEHEHEHEHEHEHEHEHEHEHE
Weekly quiz Compilation Jan -July 25.pdf
1_English_Language_Set_2.pdf probationary
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
What if we spent less time fighting change, and more time building what’s rig...
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
medical_surgical_nursing_10th_edition_ignatavicius_TEST_BANK_pdf.pdf
A systematic review of self-coping strategies used by university students to ...
A GUIDE TO GENETICS FOR UNDERGRADUATE MEDICAL STUDENTS
Ad

Art Of Software Modeling Benjamin A Lieberman

  • 1. Art Of Software Modeling Benjamin A Lieberman download https://ebookbell.com/product/art-of-software-modeling-benjamin- a-lieberman-979016 Explore and download more ebooks at ebookbell.com
  • 2. Here are some recommended products that we believe you will be interested in. You can click the link to download. Uml In Practice The Art Of Modeling Software Systems Demonstrated Through Worked Examples And Solutions Pascal Roques https://ebookbell.com/product/uml-in-practice-the-art-of-modeling- software-systems-demonstrated-through-worked-examples-and-solutions- pascal-roques-4109308 The Art Of Software Innovation Eight Practice Areas To Inspire Your Business 1st Edition Wim Codenie https://ebookbell.com/product/the-art-of-software-innovation-eight- practice-areas-to-inspire-your-business-1st-edition-wim- codenie-2452216 The Art Of Software Testing 3rd Edition Glenford J Myers Corey Sandler https://ebookbell.com/product/the-art-of-software-testing-3rd-edition- glenford-j-myers-corey-sandler-4449250 The Art Of Software Thermal Management For Embedded Systems 1st Edition Mark Benson Auth https://ebookbell.com/product/the-art-of-software-thermal-management- for-embedded-systems-1st-edition-mark-benson-auth-4634992
  • 3. The Art Of Software Security Assessment Identifying And Preventing Software Vulnerabilities Mark Dowd https://ebookbell.com/product/the-art-of-software-security-assessment- identifying-and-preventing-software-vulnerabilities-mark-dowd-5182974 The Art Of Software Architecture Stephen T Albin Albin Stephen T https://ebookbell.com/product/the-art-of-software-architecture- stephen-t-albin-albin-stephen-t-35448714 The Art Of Software Security Testing 1st Edition Chris Wysopal https://ebookbell.com/product/the-art-of-software-security- testing-1st-edition-chris-wysopal-5220864 Principles Of Software Architecture Modernization Delivering Engineering Excellence With The Art Of Fixing Microservices Diego Pacheco https://ebookbell.com/product/principles-of-software-architecture- modernization-delivering-engineering-excellence-with-the-art-of- fixing-microservices-diego-pacheco-54937026 The Art Of Lean Software Development Curt Hibbs Steve Jewett https://ebookbell.com/product/the-art-of-lean-software-development- curt-hibbs-steve-jewett-2102300
  • 7. AUERBACH PUBLICATIONS www.auerbach-publications.com To Order Call: 1-800-272-7737 • Fax: 1-800-374-3401 E-mail: orders@crcpress.com The Complete Project Management Office Handbook Gerard M. Hill 0-8493-2173-5 Complex IT Project Management: 16 Steps to Success Peter Schulte 0-8493-1932-3 Creating Components: Object Oriented, Concurrent, and Distributed Computing in Java Charles W. Kann 0-8493-1499-2 The Hands-On Project Office: Guaranteeing ROI and On-Time Delivery Richard M. Kesner 0-8493-1991-9 Interpreting the CMMI®: A Process Improvement Approach Margaret Kulpa and Kent Johnson 0-8493-1654-5 ISO 9001:2000 for Software and Systems Providers: An Engineering Approach Robert Bamford and William John Deibler II 0-8493-2063-1 The Laws of Software Process: A New Model for the Production and Management of Software Phillip G. Armour 0-8493-1489-5 Real Process Improvement Using the CMMI® Michael West 0-8493-2109-3 Six Sigma Software Development Christine Tayntor 0-8493-1193-4 Software Architecture Design Patterns in Java Partha Kuchana 0-8493-2142-5 Software Configuration Management Jessica Keyes 0-8493-1976-5 Software Engineering for Image Processing Phillip A. Laplante 0-8493-1376-7 Software Engineering Handbook Jessica Keyes 0-8493-1479-8 Software Engineering Measurement John C. Munson 0-8493-1503-4 Software Metrics: A Guide to Planning, Analysis, and Application C.R. Pandian 0-8493-1661-8 Software Testing: A Craftsman’s Approach, Second Edition Paul C. Jorgensen 0-8493-0809-7 Software Testing and Continuous Quality Improvement, Second Edition William E. Lewis 0-8493-2524-2 IS Management Handbook, 8th Edition Carol V. Brown and Heikki Topi, Editors 0-8493-1595-9 Lightweight Enterprise Architectures Fenix Theuerkorn 0-8493-2114-X Outsourcing Software Development Offshore: Making It Work Tandy Gold 0-8493-1943-9 Maximizing ROI on Software Development Vijay Sikka 0-8493-2312-6 Implementing the IT Balanced Scorecard Jessica Keyes 0-8493-2621-4 Other Auerbach Publications in Software Development, Software Engineering, and Project Management AU4462.indb 2 11/19/06 4:14:58 PM
  • 8. Boca Raton New York Auerbach Publications is an imprint of the Taylor & Francis Group, an informa business Benjamin A. Lieberman AU4462.indb 3 11/19/06 4:14:58 PM
  • 9. Auerbach Publications Taylor & Francis Group 6000 Broken Sound Parkway NW, Suite 300 Boca Raton, FL 33487‑2742 © 2007 by Taylor & Francis Group, LLC Auerbach is an imprint of Taylor & Francis Group, an Informa business No claim to original U.S. Government works Printed in the United States of America on acid‑free paper 10 9 8 7 6 5 4 3 2 1 International Standard Book Number‑10: 1‑4200‑4462‑1 (Hardcover) International Standard Book Number‑13: 978‑1‑4200‑4462‑1 (Hardcover) This book contains information obtained from authentic and highly regarded sources. Reprinted material is quoted with permission, and sources are indicated. A wide variety of references are listed. Reasonable efforts have been made to publish reliable data and information, but the author and the publisher cannot assume responsibility for the validity of all materials or for the conse‑ quences of their use. No part of this book may be reprinted, reproduced, transmitted, or utilized in any form by any electronic, mechanical, or other means, now known or hereafter invented, including photocopying, microfilming, and recording, or in any information storage or retrieval system, without written permission from the publishers. For permission to photocopy or use material electronically from this work, please access www. copyright.com (http://www.copyright.com/) or contact the Copyright Clearance Center, Inc. (CCC) 222 Rosewood Drive, Danvers, MA 01923, 978‑750‑8400. CCC is a not‑for‑profit organization that provides licenses and registration for a variety of users. For organizations that have been granted a photocopy license by the CCC, a separate system of payment has been arranged. Trademark Notice: Product or corporate names may be trademarks or registered trademarks, and are used only for identification and explanation without intent to infringe. Library of Congress Cataloging‑in‑Publication Data Lieberman, Benjamin A. The art of software modeling / Benjamin A. Lieberman. p. cm. Includes bibliographical references and index. ISBN 1‑4200‑4462‑1 (alk. paper) 1. Software architecture. 2. System design. I. Title. QA76.76.D47L536 2006 005.1’2‑‑dc22 2006050075 Visit the Taylor & Francis Web site at http://www.taylorandfrancis.com and the Auerbach Web site at http://www.auerbach‑publications.com AU4462.indb 4 11/19/06 4:14:59 PM
  • 10. Dedication This book is dedicated in loving memory to my father. AU4462.indb 5 11/19/06 4:14:59 PM
  • 12. vii Contents Preface............................................................................................................xv About the Author.........................................................................................xvii Notices..........................................................................................................xix Acknowledgments.........................................................................................xxi I Analytical Frameworks 1 The Art of the Model...............................................................................3 Cognitive Resonance....................................................................................5 Perception and Representation of Models.....................................................7 Learning and Reasoning...............................................................................9 Beauty and the Beholder.............................................................................10 Summary....................................................................................................12 Tips and Traps............................................................................................13 Questions and Exercises..............................................................................13 Exercise #1: Problems with Communication. ..............................................14 References...................................................................................................14 Notes..........................................................................................................15 2 A Systematic Approach..........................................................................17 Formal Systems Analysis.............................................................................19 Functional Decomposition.........................................................................20 Scientific Method.......................................................................................24 Process Approach........................................................................................25 Summary....................................................................................................28 Tips and Traps............................................................................................29 Questions and Exercises..............................................................................30 Exercise #1 System Analysis........................................................................30 References...................................................................................................31 Notes..........................................................................................................31 AU4462.indb 7 11/19/06 4:14:59 PM
  • 13. viii n Contents 3 Observing Behavior...............................................................................33 Observing Individuals............................................................................... 34 Working in Groups.....................................................................................37 Organizational Culture. ..............................................................................38 Investigating Legacy Computer Systems.................................................... 40 Environmental Considerations. ...................................................................43 Summary................................................................................................... 44 Tips and Traps............................................................................................45 Questions and Exercises............................................................................. 46 Exercise #1: Business Process Mapping...................................................... 46 Exercise #2: Organizational Mapping.........................................................47 Exercise #3: Team Construction.................................................................47 References...................................................................................................47 Notes..........................................................................................................48 4 Analytical Thinking..............................................................................49 Analysis Patterns.........................................................................................50 Pattern Structure....................................................................................50 Analytical Frameworks...............................................................................54 Adaptation and Application........................................................................56 Summary....................................................................................................57 Tips and Traps............................................................................................58 Questions and Exercises..............................................................................59 Exercise #1: Finding Abstract Themes.........................................................59 Exercise #2: Creating an Analytical Framework.........................................59 References.................................................................................................. 60 Notes..........................................................................................................61 II Model Construction 5 Research and Investigation...................................................................65 Recording Information.............................................................................. 66 Interviews...................................................................................................67 Group Facilitation......................................................................................70 Independent Investigation..........................................................................73 Experimentation.........................................................................................74 Organization of Research Information.......................................................75 Summary....................................................................................................76 Tips and Traps............................................................................................78 Questions and Exercises..............................................................................78 Exercise #1: Interviewing............................................................................79 References...................................................................................................79 Notes..........................................................................................................79 AU4462.indb 8 11/19/06 4:14:59 PM
  • 14. Contents n ix 6 Model Forms.........................................................................................81 Purpose and Form......................................................................................82 Model Construction...................................................................................85 Selecting Model Content............................................................................86 Translating into the Model Form...........................................................86 Static Structure..................................................................................88 Dynamic Behavior. ............................................................................88 Interdependency............................................................................... 90 Translating Jargon................................................................................. 90 Tool Support..........................................................................................91 Summary....................................................................................................91 Tips and Traps............................................................................................92 Questions and Exercises..............................................................................92 Exercise #1: Domain Modeling...................................................................93 References...................................................................................................93 Notes..........................................................................................................94 7 Data Validation.....................................................................................95 Team Review..............................................................................................95 Simulation..................................................................................................98 Direct Application......................................................................................99 Test-Based Verification.............................................................................100 Summary..................................................................................................100 Tips and Traps..........................................................................................101 Questions and Exercises............................................................................102 Exercise #1: Critical Review......................................................................102 References.................................................................................................102 8 Business Workflow Analysis................................................................105 Business Environment..............................................................................106 Business Model.........................................................................................107 Business Workflows..................................................................................109 Business Workers and Actors.................................................................... 115 Business Entities (Domain Data Model). .................................................. 115 Summary..................................................................................................116 Tips and Traps..........................................................................................118 Questions and Exercises............................................................................119 Exercise #1: Identification of Business Actors and Workers..................120 Exercise #2: Business Workflow Modeling...........................................120 Exercise #3: Domain Modeling............................................................120 References.................................................................................................121 Notes........................................................................................................121 AU4462.indb 9 11/19/06 4:15:00 PM
  • 15. n Contents 9 Requirements Archaeology.................................................................123 Preparation and Discovery........................................................................124 Investigation.............................................................................................126 Independent Study...............................................................................126 Interviewing.........................................................................................127 Deciphering and Translation....................................................................128 Audit Trail:......................................................................................129 Public Display. ..........................................................................................130 Summary..................................................................................................131 Tips and Traps..........................................................................................132 Questions and Exercises............................................................................133 Exercise #1: Translation of Structured Requirements...........................133 References.................................................................................................134 Notes........................................................................................................134 10 Modeling Software Architecture.........................................................135 Functional View (Requirements)..............................................................137 Static Structure View................................................................................138 Component View (Implementation View)................................................142 Dynamic View..........................................................................................144 Deployment View.....................................................................................145 Alternate Views.........................................................................................146 Summary..................................................................................................148 Tips and Traps..........................................................................................149 Questions and Exercises............................................................................149 Exercise #1: Framework Description....................................................150 Exercise #2: Risk Analysis....................................................................150 References.................................................................................................151 Notes........................................................................................................151 III Presentation 11 Perception and Thinking. ....................................................................155 Gestalt Theory..........................................................................................156 Diagrammatic Reasoning.........................................................................160 Summary..................................................................................................164 Tips and Traps..........................................................................................165 Questions and Exercises............................................................................165 Exercise #1: Iconic Representations......................................................166 References.................................................................................................166 Notes........................................................................................................167 AU4462.indb 10 11/19/06 4:15:00 PM
  • 16. Contents n xi 12 Composition........................................................................................169 Line and Contour.....................................................................................170 Visual Balance..........................................................................................176 Information Balance.................................................................................180 Emphasis..................................................................................................181 Shade and Color.......................................................................................181 Shade/Color Emphasis..............................................................................184 Summary..................................................................................................185 Tips and Traps..........................................................................................186 Questions and Exercises............................................................................186 Exercise #1: Diagram Construction. .....................................................187 References.................................................................................................187 Notes........................................................................................................188 13 Presentation. ........................................................................................189 Presentation Flow.....................................................................................189 Presentation Techniques...........................................................................193 Summary..................................................................................................195 Tips and Traps..........................................................................................195 Questions and Exercises............................................................................196 Exercise #1: Observing Presentation Techniques..................................197 References.................................................................................................197 Note. .........................................................................................................197 IV Appendices A Example Business Workflow: Execute Trade. ......................................201 Brief Description......................................................................................201 Purpose................................................................................................201 Definitions and Acronyms. ...................................................................202 Dependent Workflows.....................................................................202 Included Workflows. ........................................................................202 Extending Workflows......................................................................202 Business Actors. ....................................................................................203 Business Workers. ................................................................................ 204 Workflow................................................................................................. 204 Basic Workflow: Execute Trade Ticket................................................ 204 Alternative Workflows..........................................................................207 Scenario: Overnight Trade Instruction Letter (Mutual Funds)........207 Scenario: Generate and Execute Terminating CTO. ....................... 208 Scenario: Trade Settlement............................................................. 208 Scenario: Post/Unpost Trade Ticket............................................... 209 Scenario: Execute Electronic Trade................................................. 209 AU4462.indb 11 11/19/06 4:15:00 PM
  • 17. xii n Contents Exceptional Workflows.............................................................................210 Exception: Investor Oversold Shares or Other Trade Correction. .........210 Exception: A Trade Ticket Does Not Post Correctly............................211 Exception: Trade Not Conducted before Market Closure....................211 Exception: Supervisor Denial of Trade.................................................213 Improvement Possibilities.........................................................................213 Special Requirements................................................................................213 Extension Points.......................................................................................213 Post-Conditions........................................................................................213 Activity Diagram......................................................................................214 Issues........................................................................................................215 Notes........................................................................................................215 Questions and Answers. ............................................................................215 B Structured Requirement to Use Case..................................................217 Brief Description......................................................................................217 System Requirements—Customer Care System...................................217 Service Provisioning. ........................................................................217 Customer Service.............................................................................218 Translating into Use Cases. .......................................................................218 C Answer Key and Discussion................................................................223 Chapter 1. .................................................................................................223 Answers................................................................................................223 Exercise Discussion..............................................................................224 Chapter 2. .................................................................................................224 Answers................................................................................................224 Exercise Discussion..............................................................................225 Chapter 3. .................................................................................................225 Answers................................................................................................225 Exercise Discussion..............................................................................227 Chapter 4. ................................................................................................ 228 Answers............................................................................................... 228 Exercise Discussion............................................................................. 228 Chapter 5. .................................................................................................229 Answers................................................................................................229 Exercise Discussion............................................................................. 230 Chapter 6. ................................................................................................ 230 Answers............................................................................................... 230 Exercise Discussion..............................................................................231 Chapter 7. .................................................................................................231 Answers................................................................................................231 Exercise Discussion..............................................................................232 AU4462.indb 12 11/19/06 4:15:01 PM
  • 18. Contents n xiii Chapter 8. .................................................................................................233 Answers................................................................................................233 Exercise Discussion............................................................................. 234 Chapter 9. ................................................................................................ 234 Answers............................................................................................... 234 Exercise Discussion..............................................................................236 Chapter 10................................................................................................236 Answers................................................................................................236 Exercise Discussion..............................................................................237 Chapter 11................................................................................................238 Answers................................................................................................238 Exercise Discussion..............................................................................239 Chapter 12................................................................................................239 Answers................................................................................................239 Exercise Discussion..............................................................................240 Chapter 13................................................................................................240 Answers................................................................................................240 Exercise Discussion..............................................................................241 Note. .........................................................................................................241 D UML 2.0 Overview. ............................................................................ 243 Visual Software Modeling—UML (version 2.0).......................................243 Package Diagram................................................................................ 244 Use Case Diagram. ...............................................................................245 Structure Diagram.............................................................................. 246 Object Diagram...................................................................................248 Composite Diagram.............................................................................249 Component Diagram...........................................................................250 Deployment Diagram..........................................................................251 Activity Diagrams................................................................................252 State Diagrams.....................................................................................253 Communication Diagrams. ..................................................................254 Sequence Diagram...............................................................................255 Timing Diagram..................................................................................256 Interaction Overview...........................................................................256 Variations (UML Profile)..........................................................................257 Business Process Model........................................................................258 System Analysis Model. ........................................................................258 Database Entity Diagrams...................................................................259 Note. .........................................................................................................259 Index............................................................................................................261 AU4462.indb 13 11/19/06 4:15:01 PM
  • 20. xv Preface In writing this book, I was heavily influenced by the writing and teaching of Ger- ald Weinberg (“Jerry” to his friends). As Norm Kerth remarked to me as we drove to the airport after the week-long Problem Solving and Leadership class, “Jerry’s writing is more like a coal mine than a diamond mine—in a diamond mine you have to hunt and search for something of value; in a coal mine every shovel-full has value.” To this end, I have tried to include in this book everything of value and nothing of waste. I have tried to present The Art of Software Modeling as an interest- ing and challenging work, worthy of a reader’s time and consideration. Only you, the reader, can judge whether I have accomplished my goal. Learning is a very difficult task. Change is never easy, and as learning requires change, the very act of reading this book represents a significant challenge. This book is about modeling—taking complex problems and forming an abstract framework in order to understand them. To aid you, I have decided to separate the material in this book into three parts. The first part deals with theoretical con- siderations of modeling—the “why.” The second part deals with investigation and model creation—the “what” and “how.” The final part deals with presentation of model information to others, so they may more readily learn the important details of the problem you have modeled. So, if you wish to design better diagrams, then start reading from Part III and move to Parts II and I. If you are interested in tech- niques for investigation and organization of complex information, then I suggest you start with Part II before moving to Part I and then Part III. Finally, you can simply read the book as I wrote it—from page 1 to the end. Along the way, I have made a few assumptions about the type of person likely to read my words. I had in mind individuals who are responsible for the task of system analysis and design. Although they may go by many titles, these people are often responsible for setting the “vision” of the system and guiding its construction. Moreover, they typically are called upon to share that vision with several groups, including technical and non-technical stakeholders. I believe that every model must satisfy the triumvirate goals of being correct, concise, and complete, which also has been my goal in writing this book. Addition- ally, by appealing to both the creator and consumer of model information, I hope AU4462.indb 15 11/19/06 4:15:01 PM
  • 21. xvi n Preface to encourage the effective use of modeling techniques to improve the development process and the end product of a functional, useful, and maintainable system. For me, The Art of Software Modeling is an ongoing process of learning and refinement. By definition, no model is ever complete; the more users of a model, the better it becomes. I also believe that the goal of modeling is to learn and teach, typically in that order. The modeler creates a model to learn the subject and then uses that model to teach others. I hope that you will learn from this book as much as I have in writing it. Ben Lieberman Denver, CO AU4462.indb 16 11/19/06 4:15:01 PM
  • 22. xvii About the Author Benjamin A. Lieberman, Ph.D., serves as the Principal Architect for BioLogic Software Consulting. Dr. Lieberman provides consulting and training services on a wide variety of software development topics, including requirements analysis, software analysis and design, configuration management, and development pro- cess improvement. He brings over ten years of software architecture and informa- tion technology experience in various fields, including telecommunications, airline travel, Web e-commerce, financial services, and the life sciences. His consulting services are based on the best practices of software development, with specialization in object-oriented architectures and distributed computing, with a particular focus on Java-based systems and distributed Web site development (J2EE), XML/XSLT, Perl, and C++-based client-server systems. Dr. Lieberman has provided application architectural services to such companies as EchoStar, Jones Cyber Solutions, Blue- print Technologies, On-Command, Cricket Telecommunications (Leap Wireless), Cendant, Level(3), Galileo International, Duke University, and the University of Colorado. Dr. Lieberman is also an accomplished professional writer with a book and numerous software-related articles to his credit. Dr. Lieberman holds a doc- torate degree in biophysics and genetics from the University of Colorado, Health Sciences Center, Denver, Colorado. AU4462.indb 17 11/19/06 4:15:01 PM
  • 23. xviii Notices Portions of this work appear in the IBM-RationalEdge online journal, which is available from: http://www-128.ibm.com/developerworks/rational/rationaledge/. AU4462.indb 18 11/19/06 4:15:01 PM
  • 24. xix Acknowledgments I would like to acknowledge the influences that encouraged me to write this book. To my wife, for her encouragement, understanding, and tolerance. To my sons, for inspiring me to see the world through their eyes. To my parents, well, for being the best folks a kid could ask for. To my brother and sister, for always being there when I needed them. I also would like to acknowledge the collected work of Gerald Weinberg in having a significant influence on my development as a software architect and a better person. AU4462.indb 19 11/19/06 4:15:01 PM
  • 28. Chapter 1 The Art of the Model Models are now and always have been an integral part of the human experience. We create models of the world with information provided from our five main sen- sory inputs: visual, auditory, tactile, olfactory, and taste. These models inform us of changes in our immediate perception and also permit understanding of these changes in comparison to past events. As infants we develop sophisticated models of motion, shape, distance, time, and cause/effect in an effort to relate to the new and confusing world around us. Starting from a nearly clean slate we must build an internal understanding for every new experience. Thus, the idea of creating an abstraction of the world in an effort to understand complex ideas is inherent to human behavior. Taking conscious control of this behavior to capture, understand, and express complex information is the essence of the Art of Modeling. As infants we also have a limited ability to express ourselves. We are limited to crying when startled or unhappy, and cooing when comforted. Although these simple forms of communication are sufficient to indicate the desire for food or to have one’s diaper changed, they do not allow us to associate specific objects with other similar objects, such as the different colorful balls with which we wish to play. The development of language allows a greater level of self-expression; the ability to identify objects by name allows for the direct association of different kinds of objects. Eventually, this allows us to create abstract models to reason about com- plex concepts. George Orwell in his famous novel 1984 was very aware of the con- nection between language and the ability to reason about complex abstract ideas. In his novel, the development of “Newspeak” was an attempt by the government to limit creative thinking by altering and eliminating the words for undesirable con- cepts—such as civil rights and personal freedoms. As Orwell writes, “The purpose of Newspeak was not only to provide a medium of expression for the world-view and mental habits proper to the devotees of Ingsoc,1 but to make all other forms of AU4462.indb 3 11/19/06 4:15:02 PM
  • 29. n The Art of Software Modeling thought impossible” ([2], p. 246). Although the idea that language can be used to control thought has been discredited, it is clear that language is critical to commu- nication and represents the underpinning of all forms of modeling. Human cognition is a complex combination of innate instinct and learned behavior, so a great deal of time is required to build up a robust worldview that can be used to relate new information to old [3]. Initially, these internal mental models2 represent our ability to identify and associate concrete objects, but eventu- ally they provide for more complex reasoning. For example, a person who attends a class on accounting principles may attempt to understand that subject in relation to previously learned behavior, such as balancing a checking account. In fact, abstract and impressionist painters often make use of this innate tendency by presenting a picture that can be interpreted differently by each viewer (Figure 1-1). Our internal abstract models of the world are also critical to the communica- tion of complex concepts with other people [4, 5]. For example, it would be impos- sible for a person from a hunter-gather culture who has never had contact with the modern world to understand the principles of refrigeration simply by describing the mechanics; it is completely foreign to their experience. To succeed, first you would need to have a shared communication medium (language, pictures, gestures, etc.). Once you can share ideas, you would then need to translate your understanding into ones that can be related to their internal models of the world: examples of food Figure 1-1 Impressionist Painting (Claude Monet, Une Alle du Jardin de Monet, Giverny) AU4462.indb 4 11/19/06 4:15:02 PM
  • 30. The Art of the Model n storage, the effect of cold temperatures on spoilage, and so on. In other words, you would need to align your model explaining a phenomenon to a shared experience with the intended audience [6]. A close alignment of one person’s worldviews with another leads to a higher like- lihood of understanding. This is one of the reasons that people form tight in-groups based on shared experiences [7], because of the comfort afforded by the reduced need to “understand” one another when communicating. The idea of “clicking” with another person is based on a shared understanding of a number of experiences, lead- ing to a reduced effort to share information and a sense of familiarity. For people involved in the creation of models for system analysis, these concepts are important when the model is intended for use by people other than just the modeler. By definition, when I create a model it will reflect my understanding of a subject. In order for my model to be useful to others, I need to ensure that I am capturing the right abstraction level and using a model form that meets the expec- tations and needs of the audience. For example, if I am modeling an automotive engine for mechanics versus engineers I should focus on engine elements for repair and replacement as opposed to the details of power generation. To express these ideas, psychologists use the term cognitive resonance to rep- resent the situation of matched internal worldviews between the modeler and the audience, and cognitive dissonance to describe a situation in which the presentation is disconnected from the audience’s experience or expectation. Cognitive Resonance When a guitar string is struck, the string vibrates at a particular frequency and wavelength based on the string length, tension, and composition. If one looks closely, it is possible to see the string vibrating between the two endpoints of the fret pin and the bridge on the sound board. This vibration is transmitted through the air to our ears as a series of compression waves, which we perceive as sound. When these waves impact on another object that shares similar characteristics, a harmonic resonance will be imparted to the object. For example, if a second string is placed near the first and tuned the same way, the first string’s vibrations will evoke vibration in the second. In a similar manner, a model created for the purpose of communicating a particu- lar subject should “strike a chord” with the audience. If this resonance is absent, the audience will have difficulty in understanding the content of the model (mis-sense), or worse yet, drawing incorrect conclusions presented by the model (non-sense). So, to create an effective model a modeler’s primary responsibility is not only to accurately capture the subject information but also to present that information in a form that will be readily and correctly understood by the intended audience. This is no simple task. We have all experienced teachers that have a good grasp of the subject but are unable to teach that information to students. By contrast, great teachers know how to package information in a way that captures the interest AU4462.indb 5 11/19/06 4:15:02 PM
  • 31. n The Art of Software Modeling and excitement of the students. They bring the subject to life so that it connects with the students. In other words, the content of the lesson resonates with the stu- dents who have better lesson retention. There are a variety of ways to construct models of information. Many of these models use symbology or some form of visual icons to represent complex and repeat- ing concepts. This is done to group or “chunk” concepts so that they may be easily remembered and manipulated [8]. Some obvious examples are mathematical sym- bology or chemical notation (Figure 1-2). The topics of mathematics and chemistry are sufficiently complicated that complex constructs are necessary for explanation and prediction. Because of this complexity, these constructs would defeat most human understanding if they were presented in their entirety. Another example would be a map that was so detailed that to read it you would need to overlay it on the landscape it describes. Such a map would not be very practical for the purpose of navigation, where portability is critical. In both of these cases, a model that abstracts the key information and relationships is necessary. These kinds of models typically use some form of symbology “short-hand” to abbreviate basic concepts; this is very like the use of professional jargon to succinctly describe a complex idea. If a model uses symbology or icons it is critical that the intended audience understands the meaning of these symbols. In Figure 1-2, the symbology is not clearly defined; thus, a viewer would have to be familiar with the representation of carbon atoms with a “C” (medium gray circle), oxygen with an “O” (dark gray cir- cle), hydrogen with an “H” (light gray circle), and chemical bonds as lines or close proximity between letters (or adjacent circles). Similarly, a software Unified Model- ing Language (UML) class diagram will not serve to further the understanding of someone who does not understand the notation and semantics of such a diagram (Figure 1-3; an overview of the UML is provided in Appendix D). The recognition of symbols is often tightly coupled to the level of abstraction represented by the symbol. An icon that is of a familiar shape, such as the icons typ- ically found in software systems to represent folders, files, controls, and so on, will be more readily understood than one that is an random collection of shapes and colors. Furthermore, society and culture will have a significant effect on the choice of symbology since some symbols will not be interpreted in a similar manner, and may in fact be interpreted as offensive by some members of the audience. This last point takes on increased significance when a development team is not collocated, as O C CH C C OH OH OH OH H HC C HO H H H H Figure 1-2 Two Chemical Representations for the Sugar Glucose AU4462.indb 6 11/19/06 4:15:03 PM
  • 32. The Art of the Model n is the case with many outsourced projects. Later chapters will address these issues, and show how they affect the creation and presentation of system models. Certainly, the search for symbology that is universally understood is not a new one. Plato’s “Ideal Forms” represent an early attempt to identify the eidos (ειδος) or essential qualities for different objects and concepts [9, 10]. The details of this philo- sophical discourse are not relevant here, but some of the mechanisms for determin- ing the eidos, or “likeness,” of a particular object or concept will be useful as I present techniques for the creation of models in general, and software models in particular. The idea of an object’s essential qualities and the kinds of relations that may be shared between different model elements will be further explored in Part II. Perception and Representation of Models A model can be defined as the abstraction of a complex system for the purpose of reasoning, simulating, analyzing, or communicating specific details of a sub- ject. In this way, a model operates much like a magnifying glass lens; it focuses attention on items of direct concern while obscuring or omitting everything else (Figure 1-4). For example, consider a scale drawing of a city. In this model, the street level details are obscured to permit a larger view of the overall city structure. This is an example of the concept of abstraction and how it is used to create a model. This brings me to the topic of model complexity, which can be summarized by the Golden Rule of Modeling: Pipe OutFlow InFlow Valve PressureGauge ActuatorMotor Gate Sluice Generator flow control connects to Figure 1-3 Example Unified Modeling Language (UML) Class Diagram AU4462.indb 7 11/19/06 4:15:04 PM
  • 33. n The Art of Software Modeling Golden Rule of Modeling—A model shall be as complex as necessary; no more or less Models may be considered “good” if they are suitable for their purpose. For example, a model of a jet plane with a scale of 1:1 (where one unit of measure on the model is equal to the same unit in real life, such as 1 inch:1 inch) may be exactly right for simulating the result of a crash, but is not very well suited to hang from the ceiling of my son’s bedroom. So, for any system of sufficient size, the rule of thumb is that for anything too complex to entirely encompass in one’s mind, it is necessary to sacrifice some accuracy in favor of understanding. Furthermore, as the human mind has a finite capacity to capture and retain information [8], reasoning about a complex topic requires breaking it down into smaller subproblems that can solved and rebuilt back into the whole. There are many ways to create models (which will be further explored in Part II), but the selection of the best technique is a function of experience, research, education, and intuition. Experience is best thought of as encountering a situa- tion similar to one in the past where, perhaps by accident, a workable solution was found. Education is where someone else has solved the problem and is willing to teach this mechanism directly or via some other communication mechanism. Research involves experimentation with a variety of approaches to determine the most appropriate one. Intuition is involved when trying to create a new model form for a previously unknown problem, and making guesses on what might work best for a given audience. A model expands one area expense of others of experience at the Figure 1-4 The Effect of Modeling on Focus of Attention AU4462.indb 8 11/19/06 4:15:04 PM
  • 34. The Art of the Model n When building a model, it is often best to understand the intended audience before attempting to envision and create the model. Because there are many ways to represent a system, and a model is often intended for the purpose of communica- tion, then the model should take into account an understanding of the intended audience, or there is a high likelihood of miscommunication. Because of this like- lihood of confusion, when communicating ideas via a model, it is often useful to consider how information flows between people (Figure 1-5). Numerous theories have been developed to explain the process by which information is transferred from one person to another; each of these models has in common the need for a “communication channel” through which the information flows. Often this is ver- bal, as seen in a lecture hall or a meeting room. Frequently, visual communication is also used to convey information, as is the case with paintings and advertisements. However, regardless of the medium of exchange, there are two key aspects to com- munication: the generation of a message, and the interpretation of that message. As mentioned earlier, individuals perceive and organize information through the use of mental models. However, no two people share the exact same experi- ences, so no two mental models are exactly alike. This can lead to errors of interpre- tation based on differences in perceptions. For example, consider Figure 1-6. What is in the center box? Depending on which context is chosen (vertical or horizontal), the answer may be the letter B or the number 13. In fact, the contents of the box are simply a straight line next to a line with two adjacent curves. It is the mental models we have constructed that influence our interpretation of the symbology. To someone who cannot read or write (or uses different symbology for those operations), these figures are meaningless, and this example would represent a very poor model indeed. The take-home point of this figure is that model icons and symbology may be inter- preted differently by different audiences, and should be considered when creating a model display. Learning and Reasoning Models serve as more than just a communication device; models are also central to perception, memory, learning, and reasoning. For example, the construction of mental representations in short-term memory is critical for our ability to process sensory information [3]. Reasoning is facilitated by the creation of possible ­solutions Who Says What To Whom In Which Channel With What Effect? Input Meaning Significance Effect Lasswell (1948) Satir (1988) Figure 1-5 Two Models for Communication Flows between People [11, 12] AU4462.indb 9 11/19/06 4:15:05 PM
  • 35. 10 n The Art of Software Modeling in the “working memory” to allow us to investigate different relationships between objects and events [14]. The use of mental “prototypes” to compare against per- ceived objects permits us to categorize the surrounding environment [15]. Cognitive Psychology is the branch of psychology that is devoted to the study of these aspects of human thinking. Cognition is the collected term that refers to our ability to focus attention4 on a specific event, perceive that event via our senses, process the significance, and relate that information to previously collected infor- mation. Models, of all forms, are our way to deal with massive amounts of informa- tion with limited processing capability. We reduce the complexity of the perception problem by focusing attention to certain select inputs over others, and by “activat- ing” on key features that are part of the subject of interest. For example, in the classic children’s problem of finding specific shapes in a picture (e.g., Highlights for Children, published by Highlights for Children, Inc.) the desired simple object is hidden in a large, complex image. The child is shown the outline of the form and asked to identify its location in the image. The task is aided greatly by providing a template that the child holds in short-term memory while scanning around the image. The mental image is compared to perceived features in the picture until a match is found. Interestingly enough, the desired object is always in the perception field (or in other words, available to the child’s processing systems), but not recog- nized until matched to the template object. Once the object is located, it becomes quite apparent as attention is “locked” on; after initial discovery, the object is then easily relocated in future searches. In the creation of models, this is critical in the creation of large, complex diagrams. The ability for a viewer to locate some key ele- ment of the diagram will be greatly aided by some form of distinguishing feature, such as color or shading, to call it out against the background of other diagram elements. This point will be further explored in Part III. Beauty and the Beholder The subject of beauty has intrigued people for millennia. Philosophers have argued frequently (and at length) for centuries on the qualities of beauty without forming any solid conclusions as to the source of our sense of beauty and “rightness” [10]. Figure 1-6 How Perception Is Affected by Context [13]3 AU4462.indb 10 11/19/06 4:15:05 PM
  • 36. The Art of the Model n 11 In more recent times, researchers in psychology, although not having any greater success in defining beauty, have formed theories that describe this aspect of human perception. Gestalt theory, from early research efforts in Cognitive Psychology, presents a set of principles for the organization of visual perception that have been shown to hold for most people [3, 16–18]. These principles are organized into gen- eral rules: Factor of Proximity Factor of Similarity Factor of Uniform Destiny (Common Fate) Factor of Objective Set Factor of Direction Factor of Closure Factor of Past Experience We will explore some of these rules in latter chapters, most particularly in Part III during the discussion on presentation of visual models. The Gestalt factors are based on studies that have shown that people search for the simplest possible organization of visual elements, which the early Gestaltist M. Wertheimer called the “Law of Prägnanz.” Gestaltists held that the closer a particular organization scheme came to the “simplest” possible combination, the more likely this organiza- tion would be recognized by most people. Consider Figure 1-8; what groupings do you see? The majority of people would answer “four groups of two” instead of “one Figure 1-7 Hidden Pictures: Locate the Figures (Upper Right) in the Main Picture5 AU4462.indb 11 11/19/06 4:15:05 PM
  • 37. 12 n The Art of Software Modeling group of eight.” This is an example of the Gestalt principle of proximity, in which objects that are in close proximity are associated into a single group. This factor plays a part in diagram creation where elements may be grouped closely together to suggest some form of association. In addition to the Gestalt principles, our sense of beauty is heavily influenced by familiarity, symmetry, and contrast between figure and ground. Humans seek structure and order in our environment, such that we will see patterns even in ran- dom arrangements, such as animals or other creatures in the arrangement of stars in the night sky. Objects that are placed symmetrically tend to be more appealing, and are perceived as being well balanced and in harmony with one another. Many of the theories of Cognitive Psychology will be useful as we explore mod- eling in general, and system modeling in specific. We will return frequently to the Gestalt principles as we explore the creation, organization, and presentation of models. Theories on memory, attention, learning, reasoning, and problem solving will also be explored in the context of modeling. As should be apparent from this introduction, people are highly experienced in creating models as a natural part of perceiving the world; however, the creation of models for the specific purpose of reasoning about a complex subject, and the presentation of that reasoning to others, is a far more challenging task requiring practice and effort. In the chapters to fol- low, I will attempt to combine studies in psychology, art, and systems analysis into a single theme that illustrates the fine art of modeling. Summary 1. All humans create models, starting from infancy when we need to understand the complex and confusing world into which we have been born. Over time, these “mental models” aid us in the understanding of language, and allow for the basis of human reasoning and understanding of complex concepts. 2. “Cognitive resonance” describes the ability to create a model that will closely align to the expectations of the audience. If a presentation does not resonate with the audience, it is not as likely to result in understanding and learning. A likely result of “cognitive dissonance” is mis-sense, or difficulty in understand- ing the content, and non-sense, in which the content is incorrectly interpreted. 3. Models often use symbology, icons (visual), or sound patterns (auditory) to represent complex subjects in a more compact form. This is done as an aid to human understanding, which has limited capacity to process information. However, if the symbology is not familiar to the audience, its use will defeat the purpose of the model. Recognition of symbols is directly related to the level of abstraction represented by the symbol or icon. Figure 1-8 Gestalt Factor of Proximity AU4462.indb 12 11/19/06 4:15:06 PM
  • 38. The Art of the Model n 13 4. Models are similar to a magnifying glass in that a part of a subject is placed as the focus while the remainder of the topic is obscured or omitted. Thus, the key feature of a model is to reduce the complexity of a subject, via abstraction, down to a level that can be manipulated. Creation of models is a function of experience, research, education, and intuition, with the best modelers under- standing how communication occurs between people. 5. Models also serve the purpose of facilitating learning and reasoning. Cogni- tive Psychology represents studies into the use of “internal models” for the purpose of perception, memory, reasoning, and learning. 6. The Gestalt school holds that there are a collection of rules about human visual organization. These rules include the idea that objects placed close to one another will be perceived as a group, as well as objects that are similar in form. The Law of Prägnanz is used to describe the level of “goodness” that a particular organization of elements will take. Tips and Traps Discovery of the expectations of an audience for a specific model is often a trial and error experience. When considering a model form, it is often best to create a prototype model from a small subset of the overall problem for presentation to the expected audience. This technique ensures that the model form that has been selected will meet the audience’s need, preventing a great deal of rework if the model form is not appropriate. Learning is often improved by limited duration exposure that is repeated several times. A one-hour session repeated several times is much better for long-term reten- tion than a single three-hour session (e.g., interrupted study vs. “cramming”). In my experience, this principle seems to hold for model creation as well. Avoid attempt- ing to create the entire model in one sitting; it is far better to include numerous spaces between information gathering and capture sessions. Questions and Exercises Question #1: What is the purpose of human attention? Why does attention “wander”? Question #2: “Beauty is in the eye of the beholder.” What does this statement mean? Is a sense of beauty innate in humans? Question #3: It was stated that models are for perception, reasoning, and communication. What other models uses can you imagine? n n n AU4462.indb 13 11/19/06 4:15:06 PM
  • 39. 14 n The Art of Software Modeling Exercise #1: Problems with Communication In the far distant future you have been tasked with the job of the first contact with an alien species called the Snoog. This species uses scent as the primary mode of communication and has no understanding of verbal speech. Fortunately for you, a previous research team has determined that the range of scent for the Snoog is very similar to humans, and you have access to a machine that can replicate any desired sequence or type of odorant. Consider how you would go about introducing your- self and explaining the purpose of sound in human communications. References [1] Kellman, P., Kinematic Foundations of Infant Visual Perception, in Visual Perception and Cognition in Infancy, C. Granrud, Editor. 1993, Lawrence Erlbaum Associates: Hillsdale, NJ. pp. 121–173. [2] Orwell, G., 1984. 1950, New York: Signet. [3] Eysenck, M., Principles of Cognitive Psychology. 2nd ed. Principles of Psychology, ed. M. Eysenck, S. Green, and N. Hays. 2001, Sussex, UK: Psychology Press. [4] Mandel, T., The Elements of User Interface Design. 1997, New York: Wiley Computer Publishing. [5] Morgan, J. and P. Welton, See What I Mean? 2nd ed. 1992, London: Edward Arnold. [6] Schramm, W., The Process and Effects of Mass Communications. 1954, Illinois: Univer- sity of Illinois Press. [7] Brunvand, J.H., Folklore : a study and research guide. 1976, New York: St. Martin’s Press. [8] Miller, G., The Magical Number Seven Plus or Minus Two: Some Limits on Our Capac- ity for Processing Information. Psychological Review, 1956. 63: pp. 81–97. [9] Plato, The Dialogue of Plato: Plato’s Parmenides. Vol. 4. 1997, New Haven, CT: Yale University Press. [10] Satir, V., The New People Making. 1988, Palo Alto, CA: Science and Behavior Books. [11] Lasswell, H., The Structure and Function of Communications in Society, in The Com- munication of Ideas, Bryson, Editor. 1948, London: Harper and Brothers. [12] Meyhew, D., Principles and Guidelines to Software Interface Design. 1992, Englewood Cliffs, NJ: Prentice Hall. [13] Kellog, R., Cognitive Psychology. 1995, Thousand Oaks, CA: Sage Publishing. [14] Rosch, E., Principles of Categorization, in Foundations of Cognitive Psychology, D. Levitin, Editor. 2002, Cambridge, MA: The MIT Press. [15] Koffka, K., Principles of Gestalt Psychology. 1935, New York: Harcourt, Brace and Company. [16] Wertheimer, M., Laws of Organization in Perceptual Forms, in A Source Book of Gestalt Psychology, W. Ellis, Editor. 1969, London, UK: Routledge Keegan Paul. pp. 71–88. [17] Rock, J. and S. Palmer, The Legacy of Gestalt Psychology. Scientific American, 1990. December: pp. 48–61. AU4462.indb 14 11/19/06 4:15:06 PM
  • 40. The Art of the Model n 15 Notes 1. The socialist state of Orwell’s world. 2. A mental model is defined as each person’s internal perception of an idea or event—it is how we relate new information to our existing store of experience. 3. As an interesting aside, Michael Chonoles, one of my reviewers, noted that his son saw the McDonald’s™ golden arches as the center symbol. 4. Here, attention is used in the psychological sense to represent the focus of the mental reasoning machinery on processing some form of sensory input (such as visual). 5. Reprinted with permission from Highlights for Children, Inc. AU4462.indb 15 11/19/06 4:15:07 PM
  • 42. 17 Chapter 2 A Systematic Approach One major reason that models are created is to understand complex systems. This is particularly true in the software development field. By its very nature, a computer software system is created from a myriad of interacting parts that all combine to produce visible behavior. To understand and construct such systems it is necessary to deconstruct a large unmanageable problem domain into smaller domains that can be more readily addressed. This process of deconstruction is known as Systems Analysis, and was developed as a formal process in the early days of computer sci- ence during the 1950s [1–3]. This chapter presents a collection of approaches to the study of complex systems, including Formal Systems Analysis, Functional Decom- position,1 Scientific Method, and Process Based. There are three primary techniques to the analysis of complex systems: Top- Down, Bottom-Up, and Middle-Out. Top-Down analysis starts with a high-level description of the entire domain, similar to a road map, before moving down to the details. Bottom-Up analysis moves in the opposite direction by starting with the concrete details of the system and moving to a more abstract or functional descriptions. In contrast to each of these approaches, Middle-Out is often useful for dealing with existing systems that are poorly understood. Here the trick is to pick a start point somewhere within a small section of the system (e.g., a section of software code) and drill down to the implementation details while simultaneously discovering the functional system behavior. For example, suppose you are presented with a poorly documented legacy soft- ware system. You have access to the user interface so the investigation could begin with the user functionality by inspection of the interface behavior—perhaps with an expert user as a guide; a top-down approach. Perhaps you wish to better under- stand the physical database data model before moving into the business logic that manipulates that data; a bottom-up approach. Finally, you could start with one section of the code base and determine the screens that it supports as well as the AU4462.indb 17 11/19/06 4:15:07 PM
  • 43. 18 n The Art of Software Modeling data that is manipulated; a middle-out investigation. See Table 2-1 for a listing of the positive and negative aspects for each of these approaches. Before moving into a description of analytical techniques, I would like to take a moment to acknowledge the diversity of modeling forms. I recognize that there are many different diagram types for describing business enterprise systems—includ- ing Function Flow Block Diagram (FFBD), Integrated Definition models (IDEF0 to IDEF14), the Systems Modeling Language (SysML), DoDAF, and Zachman Frameworks. A detailed description of each of these model forms would require far more space than my publisher has allotted, so I will take the easy way out and instead direct interested readers to research these topics as a “homework” project. For the remainder of this book, I will focus on UML 2.0 (and its extensions) to illustrate various points; the principles in the following chapters apply to model creation regardless of modeling system. Appendix D presents an overview of UML 2.0 and several of the defined language extensions (referred to as UML Profiles). Table 2-1 Overview of Analysis Approaches Positive Aspects Negative Aspects Top-Down Approach Rapid construction of a high-level overview—immediate benefit for executive stakeholders Time-consuming for construction of a useful model Overall perspective, including synergy of system elements Less obvious indications of modeling progress Highlights data usage and control logic More support and contact required with senior personnel Bottom-Up Approach Localized effort, quick to find specific user needs Neglects cross-boundary influences Remains bounded within small area of the system Significant rework with small system changes Immediate benefit for implementers Narrow, vertical viewpoint Middle-Out Approach Well suited for existing systems Need to investigate specific details and general principles simultaneously Provides selection of a readily accessible starting point Lack of immediate benefit for either sponsors or implementers AU4462.indb 18 11/19/06 4:15:07 PM
  • 44. A Systematic Approach n 19 Formal Systems Analysis During analysis it is important to consider the following characteristics of systems: Purpose Intended use of the system Objectives Goals for system operation Synergy System total is greater than the sum of its component parts Trade-Offs Intentional or unintentional compromises to the system A system is developed with a particular purpose based on the needs of the stakeholders who have requested or make use of the system. The system’s objectives represent the desired behavior of the system to meet its purpose. A system exists such that all of the parts act synergistically so that the entire system operates toward the same goals. Every system has trade-offs that represent the limitations imposed by the physical context in which a system operates. For example, a radio represents a complex system comprised of multiple interacting components. The purpose of the radio system is to receive electromagnetic signals and translate them into sound waves. This purpose is supported by the functions of an antenna, internal circuitry, and speakers. Together, these components provide services that none can provide alone; moreover, in creating a radio system, the designer would not use these com- ponents to create a dishwasher (although a radio subsystem could always be embed- ded into the dishwasher system!). Using the techniques of top-down/bottom-up/middle-out, one avenue for description of a complex system is to use formal system notation based on the concepts of Boundary, Interface, Component, Entity, and Dependency, as shown in Figure 2-1 [1, 4]. This technique works well with the three directed approaches noted earlier, because the modeler can begin by looking at the system boundary (Top-Down) or by working outward from the system components (Bottom-Up). As illustrated in Figure 2-1, icons are used to represent the various system elements such as the Inter- face (externally exposed services), the Controller (system logic), and the Entities (manipulated system elements) as the system details are captured and elaborated. These systems elements are grouped by Components to show cohesive behavior and connected by Dependency relationships to show communication between compo- nents and subsystems [1, 4]. Note, however, that a systems analysis approach is not identical to the software object-oriented (OO) design strategy, although they share features of logical encapsulation. Systems analysis can be thought of as reasoning about the structure of the problem, whereas OO is more geared toward the design of a solution. n n n n AU4462.indb 19 11/19/06 4:15:07 PM
  • 45. 20 n The Art of Software Modeling When using a system analysis approach, the system is broken into a variety of interacting components. Although this approach will simplify the overall system, it can lead to a problem in which the level of abstraction for each component doesn’t match. What this means is that one component could be many times more com- plex than another, but they will appear to be similar in the model view shown in Figure 2-1. Care must be exercised to keep each level of the model linked to each succeeding level; a subsystem can have many components, which are in turn com- posed of components, and so on. A simple example of this approach would be the analysis of a standard door lock. The interface would be the key-hole, the controller is represented by the tum- blers, and the entity is the dead-bolt. Taken together, the component is the full lock- ing mechanism, which has a structural dependency on the door and door-frame. I have used this approach very successfully for the analysis of business problem domains intended for software automation. In particular, I found that casting the system requirements (assuming a new software system is under construction) into a system model with interfaces, controlling components, and entities maps well into a layered architecture implementation with presentation layer, business layer, and data access layer respectively corresponding. Recommendation: The System Analysis approach is appropriate for new or existing systems that have well-defined external interfaces, and are open to direct inspection of the internal elements. Functional Decomposition Functional decomposition attempts to recursively segment a problem into the small- est possible subproblems, each of which is simpler to solve than the full problem itself. Many system analysts are of the opinion that functional decomposition is the technique by which system analysis is performed, rather than a standalone approach. Thus, this approach can be used in conjunction with a System Analysis approach, or by itself when there is no need to define formal interfaces, ­components, SubSystem 2 SubSystem 1 Component A Component B Component C Controller Entity Interface System Boundary Dependency Figure 2-1 Formal System Analysis (see Appendix D for more detail on this UML profile) AU4462.indb 20 11/19/06 4:15:08 PM
  • 46. A Systematic Approach n 21 and entities. By this approach a complex, intractable problem can be deconstructed down to the most basic relevant pieces. This approach has been a tried-and-true staple for the development of software solutions for as long as there have been computers and computer programmers. This approach was originally very well suited for software development because many of the small components (such as a sorting algorithm or a data structure) were reusable, thus saving very valuable computer storage space and processing capa- bilities. In more recent years, the ideas of Object Oriented Programming (OOP) have supplanted those of functional decomposition with a more system-oriented approach, as was shown in the component-based view in Figure 2-1. This avoids one of the major problems with functional decomposition, namely, the prolifera- tion of multiple tightly coupled dependencies leading to fragile and difficult to maintain systems. However, a functional decomposition approach is still of value in many instances, such as in the actual implementation of an object, where the data and algorithms remain intimately coupled. Another area of study where functional decomposition is used with great suc- cess is in the sciences. For example, the study of Biology would be nearly impossible without the ability to reduce the complexity of a living organism into less complex structures. A living cell is composed of multiple interacting subsystems including the structural components (cell membrane, cytoskeleton, organelles, etc.), dynamic components (protein manufacture, metabolism, nuclear replication, etc.), and interactive components (hormone production, cell surface proteins, etc.). Although each of these cellular components can be decomposed and studied independently using the proper molecular, biochemical, and genetic techniques, the findings must still be confirmed by observation of unaltered cellular behavior (see Chapter 7 for model verification techniques). Table 2-2 Overview of Aspects for System Analysis Positive Aspects Negative Aspects Views a system as a whole composed of interacting parts (honors synergistic interactions of components) Potentially time-consuming analysis for systems with a large number of small components Captures the purpose and goals of the system Assumes a well-organized system that can be organized into interacting components Focuses on the interactions between system elements, providing for a breadth-first overview (one subsystem at a time can be defined) Highly coupled systems (intertwined) are not easily broken down into components Scalable to systems-of-systems (enterprise systems) Requires direct inspection of the internal system elements AU4462.indb 21 11/19/06 4:15:08 PM
  • 47. 22 n The Art of Software Modeling Thus, functional decomposition should be used with care since it neglects the synergistic information that is only present in the nondeconstructed whole (as seen in the System Analysis approach). However, this technique is very useful when approaching a complex system for the first time because it permits the division into more readily approached subsystems (each with a defined function), after which a more standard system analysis can be performed. This technique is best used when rapid change to the system is not expected. This is because the structure that is created by the functional decomposition is highly interdependent, with the higher elements requiring interaction with many lower elements in the hierarchy. These dependencies will result in a proliferation of changes from highly reused low-level elements that affect multiple higher-level components, often in an unforeseen manner. This results in a highly coupled, fragile system that is prone to a large number of potential failures. Thus, this approach is not recommended for the construction of large, rapidly changing systems. In contrast, one area in software development in which this approach is indi- cated is in the analysis of system user interaction flows. Because many business pro- cesses are readily reduced to a series of repetitive activities, these workflows may be rapidly discovered and captured using a functional decomposition approach. This information has traditionally been captured as hierarchically structured require- ments (e.g., “the system shall perform … ”) when applied to the development of software control systems. The introduction of use case analysis, which is a more “story”-based approach [4–7] in which these scenarios are described directly as Basic, Alternate, and Exceptional, provides for a more comprehensible collection of information that retains the context of the original workflows. However, each use case can be broken down into simpler scenarios and subscenarios that take advan- tage of a functional decomposition approach. I have often used a functional decomposition approach when working with a systems integration problem (Figure 2-2). In one case, I was faced with seven interacting subsystems that needed to be coordinated to perform provisioning for Table 2-3 Overview of Aspects for Functional Decomposition Positive Aspects Negative Aspects Reduces the problem complexity into a hierarchy of atomic tasks (functions) Can force segmentation of process and information (i.e., method and data) Highlights areas of highest complexity (deepest decomposition graph) Ignores the “whole” in favor of the parts (neglects information on system synergy) Indicates areas of overlap and similar processing Often leads to overly segmented systems with high levels of coupling AU4462.indb 22 11/19/06 4:15:08 PM
  • 48. A Systematic Approach n 23 Cellular Switch Rental Equipment Inventory Flow-through Provisioning Number Inventory Subscriber Account Subscriber Data Customer Care Center Over-The-Air Programming Messaging Services Switch Provisioning Services Voice Mail Services Rating Engine Billing System Provisioning Management System Number Inventory System Cell phone Figure 2-2 Interaction of multiple sub-systems for a cellular telephony product AU4462.indb 23 11/19/06 4:15:09 PM
  • 49. 24 n The Art of Software Modeling a cellular telephony product. To understand these interactions, I first detailed the technical interfaces of each subsystem and the provided functionality. Then, I cap- tured the business workflow as a series of individual steps cast as use case scenarios. Finally, I applied a systems analysis approach to order each subsystem interaction as part of the overall business flows. Here I used both functional decomposition and system analysis to gain a full understanding of the problem domain. Recommendation: The Functional Decomposition approach is best applied to stable problems that are open to recursive subdivision into smaller interacting elements. Scientific Method Often a system will be inaccessible, such as with a proprietary software system or a highly complex biochemical process. In order to deduce the operation of such systems, a more indirect approach is required. The Scientific Method is one such approach that depends on the observation of a system in action (processing inputs and producing outputs), proposal of a hypothesis or theory regarding one or more internal operations, and a test of those assumptions by altering the environment of the system or system components and then observing overall changes to the system behavior. The indirectness of this technique often requires disturbing the system many times to deduce the internal workings. Basically, in practice, the conduct of science is similar to taking a large hammer to different parts of a well-tuned engine and observing the effect on engine performance. The testing of software is often conducted in just this manner. A software qual- ity assurance tester will take a completed closed system and provide specific inputs. The outputs of the system processing are then compared against the hypotheti- cal behavior (e.g., based on the system requirements) to confirm or deny that the system performs as expected. However, as was noted in Table 2-4, the complete verification of all possible predictable behavior (especially error handling behavior) will be very time-consuming if performed manually. Another area in software development in which this approach is frequently applied is in the implementation phase where the actual system code is under devel- opment. Designers will often experiment with multiple technologies to find the one that best meets the architectural and functional needs of the system under construction. Here the observation is that such a system component exists, the hypothesis is that the component is appropriate for the needs, and the test is to integrate the component into a small part of the system to verify that it will work as expected. Recommendation: The Scientific Method is best used when the system under study is not open for direct study (i.e., requires indirect methods of discovery), and can be readily influenced by providing multiple inputs with observable output behavior. AU4462.indb 24 11/19/06 4:15:09 PM
  • 50. A Systematic Approach n 25 Process Approach Finally, a system may be studied based on its ability to respond to changing environ- mental stimuli. This approach can be considered similar to the Scientific Method, but differs in the ability to perturb the system. Here the focus of the study is on the effect of the environment on a system, rather than explaining the internal opera- tions of the system itself. Systems can be categorized as one of four process types: Static system performs as designed with no feedback from the environment Dynamic system attempts to maintain state but cannot ensure against uncon- trolled environmental changes Homeostatic system uses feedback to maintain a preprogrammed state Cybernetic system adapts goals to changing environment We can develop an organizational grouping for these forms by using three cri- teria [1]: Environmental Impact Effect of environmental conditions on the functioning of the system. If a system is independent of environment, the system is closed; if the output is influenced by changes in the environment, the system is open. Internal Control Internal capacity for a system to ensure continual attainment of system objectives Adaptability of Goals Reflects on whether goals of the system are fixed or can be changed depend- ing on the environmental condition or state of system learning. n n n Table 2-4 Overview of Aspects for the Scientific Method Positive Aspects Negative Aspects Provides ability to study closed systems, for example, those unavailable for direct study of interacting components Very time-consuming to verify all possible system behaviors by indirect experiment Rigorous, repeatable verification of hypothesis Requires multiple identical instances of a system that can be disrupted or modified Provides for predictability of system behavior under different conditions Requires a control or baseline to compare against the experimental result AU4462.indb 25 11/19/06 4:15:09 PM
  • 51. 26 n The Art of Software Modeling A Static System is one that is not in any way responsive to external stimulus, and maintains a fixed set of system goals. For example, a wristwatch need not accept external input to maintain a consistent internal state of time keeping to one second/second. However, changes to external environment (humidity, temperature, etc.) will alter the system response. A Dynamic System is one that has no means to internally ensure that the fixed system goals are met under unexpected environmental conditions. For example, a car moving down the road on cruise control at a set speed will have the throttle opened or closed as the speed increases or decreases as a result of terrain. However, because a dynamic system is unaware of an unexpected environment, a pilot flying at a constant apparent air speed of 200 miles/hour with a headwind of 20 mph will have a true air speed of 180 mph, so the system goals of the plane arriving on time are not likely to be met. A Homeostatic System is designed to sample the external conditions in order to maintain the system state. For example, the temperature control system for a building (via the thermostat) uses the sensor inputs of external versus internal tem- perature to adjust the cooling/heat plant output for the resulting air mixture to Goals Environment Feedback adaptive fixed n o n e i n t e r n a l closed open Static Homeostatic Dynamic Cybernetic Figure 2-3 The classification of system behavior to external stimuli (extracted and redrawn from Athey, et al. [1]) Environment Process Input Output Figure 2-4 Dynamic system AU4462.indb 26 11/19/06 4:15:10 PM
  • 52. A Systematic Approach n 27 meet the preset standard thermostat temperature. All mammals have a similar bio- chemical process for ensuring a stable body temperature. A Cybernetic System is designed to adjust the internal goal conditions (system objectives) based on external impacts. For example, given the thermostat example, a cybernetic system might detect that the reason for the temperature change is an open or broken window, which would tell the system that turning on the cool- ing/heat plant would be wasteful until the window is closed. The system goal is now changed to ensuring that the window is closed, which may be implemented by signaling an alarm. Cybernetic systems and feedback loops are often involved in human interactions and behavior [8]. Systems can be modeled as one of the four prototype reactive systems (simple, dynamic, homeostatic, or cybernetic). This identification may be useful in the selec- tion of one of the other analytical techniques, described previously, to delve more deeply into the internal processing requirements for the system. As an example, the System Correction Measure Performance Input Output Environment Fixed Standard Process Figure 2-5 Homeostatic system System Correction Measure Performance Input Output Environment Control Adaptive Standards Process Figure 2-6 Cybernetic System AU4462.indb 27 11/19/06 4:15:11 PM
  • 53. 28 n The Art of Software Modeling Scientific Method may be used to determine how a thermostat operates by perturb- ing the inputs, or altering or removing parts of the system to observe the changes in behavior. If the internal elements of the heating/cooling system are available for direct inspection, the System Analysis/Decomposition approach may be useful to further segment the system into better understood components. For the development of a mission critical software control system, such as a hardware embedded flight control system, it is essential to understand how the physical system is expected to respond to environmental stimulus. By classification of the system into one of the four system behavior groupings, the essential behav- ioral aspects of the system can be identified and captured. Recommendation: The Process Approach is useful in the identification of expected system behavior, particularly complex reactive behavior. It is best used in conjunc- tion with one or more of the other approaches described earlier. Summary 1. Models are created to describe complex systems as an aid to understanding and reasoning. There are many ways to study a system including formal System Analysis, Functional Decomposition, Scientific Method, and System Processes. 2. Analysis of a system can be approached Top-Down, Bottom-Up, or Middle- Out. Top-Down approaches use a high-level description of the system under study to create a road map that directs a more detailed investigation. Bot- tom-Up starts with the concrete system elements and builds toward a full sys- tem understanding. Middle-Out begins at some convenient point in a small section of the system and works toward a full understanding and detailed description of that section. Table 2-5 Overview of the Process Approach Positive Aspects Negative Aspects Identifies and categorizes expected system behavior by inputs and outputs Only valid on full working systems Provides support for other analytical techniques Requires knowledge of all possible inputs A system-of-systems can be decomposed into the parts that are simple, dynamic, homeostatic, or cybernetic for further study Useful only for systems with observable behavior Prioritization of effort—modeling first simple, static system elements before the more complex dynamic, homeostatic, and cybernetic Only defines the type of behavior; not the processing involved AU4462.indb 28 11/19/06 4:15:11 PM
  • 54. A Systematic Approach n 29 3. Systems exist for an explicit purpose that is supported by a series of system goals or objectives. In addition, systems display synergy, where the complete system is greater than each individual part. Finally, systems must have trade- offs to account for compromises forced on system design because of environ- mental or other constraints. 4. Formal System Analysis often begins with a top-down approach to the study of a system. This form of analysis focuses on the interfaces, controllers, enti- ties, components, and dependencies of a particular system. It is best utilized on existing systems open to direct inspection with well-defined inputs and outputs. 5. Functional Decomposition attempts to segment a problem into successively smaller and less complex elements. This approach focuses on the hierarchi- cal aspects of a system that is composed of small reusable elements and the dependencies between these elements. This approach is best used with stable problems that are open to recursive subdivision into smaller interacting ele- ments, and is often used as part of the System Analysis approach. 6. The Scientific Method focuses on three primary operations, Observation, Hypothesis, and Test. Observation of the unaffected system behavior is extended by hypothesis of a mechanism that is predictive of behavior under different stimuli. The theory is then tested by experimentation. To interpret the results, an unaffected control is frequently required for comparison. This approach is best used on systems that are closed to direct inspection but where the inputs are open to alteration and the system behavior/outputs are observable. 7. Study of a system via the Process Approach seeks to determine the behavior of a system under different environmental stresses. A static system is closed to outside influences and has a predictable internal structure. A dynamic sys- tem does not react to changing environmental conditions, but attempts to maintain preprogrammed state. A homeostatic system seeks to maintain equi- librium between inputs and a predetermined set of system goals by alteration of the environmental conditions. A cybernetic system acts to alter goal states under the influence of changing environmental conditions. A process-based analytical approach is often best in support of another form of study, such as formal System Analysis. Tips and Traps System analysis is a difficult skill to master. The most difficult aspect appears to be in selecting the correct level of abstraction for system components at each stage of the analysis. In selecting the correct level it is necessary to determine where the endpoints lie; for example, if studying a temperature control mechanism the high- est level of abstraction is a heating/cooling system with a sensor, decision maker (thermostat), and an effector (heating/cooling plant). The lowest level would be the AU4462.indb 29 11/19/06 4:15:11 PM
  • 55. Exploring the Variety of Random Documents with Different Content
  • 56. [107] fewer registered letters. But Margaret hadn’t stopped in a car, he thought—she had walked from somewhere. No, he was positive she hadn’t been boarding with any of the folks around, or he’d have heard of it. Well, that was something definite! Maybe she was hiding in one of those empty houses the clerk had spoken of, to escape from the police. Max turned his car off the main highway into a little dirt road, almost impassable with its slush and snow. He stopped in front of the first empty house which the clerk had described. It was dark and forlorn. “There would be some sort of light if anybody were living there,” observed Max. “You can’t tell,” replied Mary Louise. “If Margaret were hiding, she’d be careful about lights. Let’s get out and look.” “But why should she hide? Didn’t you tell me the employment manager promised not to send her to jail?” “Yes, but you don’t know what crimes she’s committed since. If she were behaving herself, wouldn’t she have written to her grandparents? Either she’s dead or she’s doing something wrong.” They waded through slush over their shoe-tops but could see no signs of any life. Mary Louise decided to try another house. “It’s a wild theory, Mary Lou, but you’re the doctor,” agreed Max. “So long as my bus’ll run, I’m game.”
  • 57. [108] [109] “You are a sport, Max! I don’t know what I’d do without you.” “Men are helpful sometimes, aren’t they?” “I guess they’re absolutely necessary,” replied Mary Louise modestly. “I never seem to be able to get along without them.” “That’s the proper attitude for a girl,” he answered gayly. Farther along the road they stopped in front of another empty house. It was situated at the top of a steep incline and almost completely surrounded by trees. “Can you climb that hill, Max?” she asked. “I can try—if you think there’s any use,” he replied. It was a difficult task, for the driveway was so covered with slush that it was hard to tell which was road and which was field. But Max made it in low gear, and they came to a stop in front of a barn, under a big tree. The house was shabby and unpainted; its windows were covered with boards, and its heavy doors without glass. Mary Louise shuddered: it reminded her of Dark Cedars. Max turned off the motor and jumped out of the car. “Nobody home, I guess,” he announced. From her seat in the car Mary Louise stared at the house, peering into the strip of glass above the boards on the windows. She thought she saw a flicker of light, as if a candle were burning. Yes, she was sure of it—
  • 58. [110] and—a face appeared at the window! Two frightened eyes looked right into hers. A second later another face appeared, more plainly than the first, for this person evidently had hold of the candle. The first face had vanished, and Mary Louise saw only that of an exceedingly ugly woman—someone who looked somehow familiar. That very instant the tiny light went out, and at the same moment Mary Louise sank unconscious in her seat. A stone, hurled from the tree above her, had hit her right on the head!
  • 59. [111] CHAPTER VIII Knocked Out Max, who was standing on the ground near by, heard the heavy thud of the stone as it hit the floor of the car. Turning about sharply, he saw Mary Louise slumped in her seat, unconscious from the blow. He flung open the door and jumped in beside her. “Mary Lou! Mary Lou! Are you alive?” he cried desperately. The girl did not answer. “Help! Help!” he shrieked, at the top of his lungs. A mocking laugh sounded from the tree above. Max looked up, but in the darkness he could see no one. How he wished he had his flashlight! But it was behind in the rumble seat, and he daren’t waste a minute; he must get Mary Lou to a doctor with all possible speed. Starting his engine immediately—for there was no reply to his call for help—he circled around the tree and crept cautiously down the slippery hill, praying as he had never prayed before. Oh, suppose Mary Louise were dead!
  • 60. With as much speed as he dared put on, he drove back to the Center Square hotel. As he came to a stop he felt a little movement beside him, and Mary Louise raised her head and opened her eyes. “Where are we, Max?” she asked. “What happened?” “Oh, my darling!” he cried, flinging his arm around her shoulders. “You are alive!” The girl managed a feeble laugh. “Of course I am. My head hurts dreadfully, though. What happened?” “You were hit by a stone—see it there, on the floor?— from that tree we were parked under. It knocked you out.... Now, can you manage to walk up to the hotel, or shall I carry you?” “I can walk,” she replied, taking his arm. In the light of the hotel doorway Max saw the blood running down her neck. He wiped it with his handkerchief. “Can we have a doctor immediately?” he asked the hotel clerk the moment they were inside the door. “Yes, there’s one in the dining room now, eating his dinner. I’ll call him. An accident?”
  • 61. [112] [113] Max explained the strange happening at the empty house, but the clerk said he did not know anything about the place. He had not heard of any gangsters in these parts. The doctor came immediately and dressed Mary Louise’s head. The cut was not serious, he assured her; it was not in a vital place. When it was washed and bandaged she was able to eat her dinner with enjoyment. “Maybe that first person I saw was Margaret Detweiler,” she said. “I wish I could stay here all night and go investigate tomorrow. But Mother wouldn’t approve of it.” “I should say not!” thundered Max. “I’m taking you back to Mrs. Hilliard tonight, and I think you had better go home to Riverside tomorrow.” “Indeed I won’t, Max. And that reminds me, I have to be at the hotel tonight at eleven o’clock. I want to spy on an elopement.” “Elopement! What next?” “Well, one of the guests, a Miss Stoddard, who happens to be a niece of the founder of Stoddard House, thinks another guest is eloping tonight. She thinks this couple are responsible for all the robberies at the hotel. You know it was a man who entered my room and stole my watch, so I hoped maybe I could identify this fellow as the burglar. If I could, the mystery would be solved.” “And you could go home?”
  • 62. [114] “Yes, unless I could find out something more about Margaret Detweiler. But I wouldn’t stay here just on purpose for that. I’d go home and see what I could do from there, with Dad’s help.” “What time is it now, I wonder?” asked Max. “We must get back without fail!” “I don’t know,” replied Mary Louise regretfully. “I haven’t any watch.” “I’m going to buy you one for Christmas, if I get a check from Dad,” announced Max. “Of course, it will be late, but I’ll give you your other present first, so you wouldn’t mind that, would you, Mary Lou?” “You’ll do nothing of the sort!” protested the girl. “I couldn’t accept it. If you get a check from your father it’s to buy something for yourself. I’ll get an Ingersoll tomorrow when I’m in town.... Now, what time is it?” “It’s half-past eight. If you feel able, I think we better go along, because I don’t dare drive too fast on these slippery roads at night.” “I’m all right—I only have a headache now. So let’s get going.” Max paid the bill, and they were off. “Now, what will your plans be for tomorrow?” he inquired, as they rode along. “I’d like to come out here and visit that empty house with a policeman,” she replied. “If it’s possible, I will. But of course I have to see what turns up at the hotel.
  • 63. [115] That is my real job: I’m being paid for it, and my father and Mrs. Hilliard are counting on me to do my best.” “I wouldn’t care if you never saw Center Square again,” muttered Max resentfully. “Still, it would be great to catch the guy who threw that rock at you.” “And find out whether the girl really was Margaret Detweiler. Yes, and I’d like to see that ugly woman again. I’ve seen her face before somewhere, but I can’t place her. You don’t forget a face like that.” “There’s something crooked about their hiding in that house,” remarked Max. “Yes, of course.... Well, to continue with my plans: I’ll see what develops tonight. If there really is an elopement, I’ll try to identify that man. If he isn’t anything like my burglar, I’ll believe that Miss Stoddard is guilty herself and that she just made the whole story up to throw suspicion away from herself.” Max regarded her admiringly. “You are a pretty clever girl, Mary Lou,” he said. “I do think you’ll make a swell detective.” “Thanks, Max. But I’m afraid there’s nothing clever about that. It’s just using common sense.” “Well, the good detectives say that’s the most important thing: not to let anything escape their notice and to use common sense all the time.” They talked of other things for a while, of school and dances and basketball. Finally they reached Stoddard House, a little after ten o’clock.
  • 64. [116] “Oh, I do hope we’re in time!” exclaimed Mary Louise. They found the hotel almost deserted. Mrs. Hilliard was sitting in a chair, knitting. Nobody else was around. “Did you have a good time, dear?” she asked, after Max had been introduced to her. “An exciting time,” replied the young man. “Mary Lou was hit on the head with a stone and knocked out. But detectives have to expect that sort of thing, I suppose.” “Sh!” warned the girl. “Nobody except Mrs. Hilliard is supposed to know I’m acting as detective.” “I didn’t k-n-o-w that!” apologized Max, in the tone of Joe Penner. Mrs. Hilliard looked troubled. “Tell me what happened,” she urged. Briefly Mary Louise related the story, and the good woman was relieved to hear that the blow was not serious. She was thankful, too, that the job at Stoddard House had not been responsible for it. “Are the Weinbergers still here?” was Mary Louise’s next question. “Mrs. Weinberger is. But her daughter went out early this afternoon, and I don’t think she came back. Her mother was in a great stew at supper time. You would think from the way she carries on that her daughter was a girl in her teens instead of a woman of twenty-eight or so.” A look of disappointment crossed Mary Louise’s face.
  • 65. [117] [118] “I must see Miss Stoddard,” she announced. “Max, you wait here with Mrs. Hilliard till I come back, because I may need you. I shan’t be gone long.” She ran off and took the elevator to the third floor and knocked at Miss Stoddard’s door. “Who is it?” was the query. “Mary Louise Gay. May I come in, Miss Stoddard?” The woman turned the key in the lock and opened the door. She was dressed in a kimono and slippers. “You’re too late, Miss Gay,” she said. “Miss Weinberger has already eloped. I’m sure of it. I saw her get into a taxi this afternoon, and one of the maids came out and brought her her suitcase. She probably had hidden it somewhere from her mother. She’s probably married by now—and run off with all the money and jewelry from Stoddard House!” “Oh!” gasped Mary Louise in dismay. “Why wasn’t I here! Did you see the man, Miss Stoddard?” “No—unless he was the taxi driver. But I didn’t even get a good look at him.” “Probably she was to join him somewhere. He wouldn’t risk coming near the house in broad daylight if he was the burglar who entered my room.” “No, that’s true.” “If Hortense Weinberger really is married,” said Mary Louise, “don’t you suppose her mother will hear about it tomorrow? And if I keep in touch with her mother, I
  • 66. [119] ought to see the man when he comes back from the honeymoon.” “Mrs. Weinberger was planning to leave Stoddard House tomorrow,” returned Miss Stoddard. “Yes, I know. But this may alter her plans. And besides, she will surely give her forwarding address to Mrs. Hilliard. She has no reason to hide; she doesn’t have any idea that her daughter or her husband is suspected of stealing.” “I hope you’re right, Miss Gay.... Now, tell me what happened to your head.” “I was riding in an open car, and a stone fell out of a tree and hit me,” she answered simply. The older woman pulled down the corners of her mouth and looked doubtful. “Of course, she’s thinking I’m just a wild young girl,” Mary Louise concluded. But it really didn’t matter in the least to her what Miss Stoddard chose to believe about her. “Well, I must get to bed, Miss Stoddard,” she said aloud. “So good-night.” “Good-night,” returned the other, carefully locking the door after Mary Louise went out. A moment later the girl joined Mrs. Hilliard and Max on the first floor. “Miss Stoddard thinks Miss Weinberger eloped this afternoon,” she announced. Mrs. Hilliard laughed incredulously.
  • 67. [120] “Old maids love to imagine romances,” she said. “Well, we’ll see.... Now, don’t you think you had better go to bed?” she asked Mary Louise in a motherly way. “Yes, I do,” agreed the girl, “Max, if you’re still here, I’d be glad to have you come to lunch with me tomorrow. We’re allowed to have men to meals, aren’t we, Mrs. Hilliard?” “Certainly, dear.” “Nix on that!” protested the young man immediately. “Can you imagine me—one lone fellow—in that dining room full of dames? Looking me over and snickering at the way I wear my hair or tie my shoes? Nothing doing! I’ll call for you at one, Mary Lou, and we’ll go out somewhere to lunch.” “O.K.,” agreed the girl, smiling. “See you then!”
  • 68. [121] CHAPTER IX Lunch at the Bellevue Mary Louise slept late the following morning. The dining-room doors had been closed for an hour when Mrs. Hilliard finally came into her room. “What time is it, Mrs. Hilliard?” she inquired, opening her eyes and staring at the bright sunlight pouring through the windows. “It’s almost eleven o’clock. I thought you had better sleep this morning, Mary Louise, on account of your head. How do you feel?” “Oh, I’m all right, Mrs. Hilliard, thank you. But this is no time for anybody with a job to get up! I’ll get fired.” The woman laughed. “My dear, you are doing all that anybody could do, I believe. I am afraid the situation is hopeless. Mrs. Weinberger moved out this morning.” “Did she hear from her daughter?” “Yes, she had a telegram. She is married and has gone to New York for a honeymoon over Christmas.”
  • 69. [122] “How did her mother take it?” “Very badly. She seemed all cut up about it. The man has a job as a taxi driver, and though Mrs. Weinberger has never met him, she is sure he is a rough, uneducated fellow.” “Miss Stoddard thinks he is our thief,” announced Mary Louise. “She believes he has been working with Miss Weinberger’s help.” Mrs. Hilliard’s eyes opened wide in astonishment. “That might be possible,” she said. “Yes. You remember it was a man who entered my room Friday night. And with Miss Weinberger to watch out for him, he could have sneaked into ’most any of the rooms. That’s the theory I wanted to work on today. Where did Mrs. Weinberger go?” “To the Bellevue—temporarily. She said that she’d find something cheaper later on and send me her forwarding address. But she will stay at the big hotel for a few days, till her daughter comes back.” “Then I’m going to go see her there. Isn’t there something she left that I could take over to her, to use for an excuse?” “A special-delivery letter arrived a few minutes ago. I was going to send it over this afternoon by one of the maids.” “Let me take it! And I’ll have Max take me there to lunch so I can say I was coming to the hotel anyway. Where is it?”
  • 70. [123] “Broad and Walnut—right across the street from the Ritz Carlton. Your friend will probably know.... Now, you get dressed, Mary Louise, and come over to my apartment for a cup of coffee. You must have something before you leave.” “Thanks very much, Mrs. Hilliard. If it isn’t too much trouble.” She was ready before one o’clock, her bandage entirely covered by her hat, and was waiting downstairs in the lobby for Max when he arrived. “You’re looking fine today, Mary Lou!” he exclaimed admiringly. “How’s the head?” “Oh, it’s all right. Max, could we go to the Bellevue for lunch? And will you please let me pay the bill—out of my salary? Because it’s on account of the job that I want to go there.” “Sure we can go,” he replied. “But nix on the bill. Unless you eat everything on the bill of fare.” “I know, but it’s a big hotel, and it may be dreadfully expensive.” “We’ll see,” he agreed. Max left his car in an open-air garage near the hotel, and the two young people entered together. Mary Louise thought it was a lovely place, and she pressed Max’s arm jubilantly. What fun it was to have a companion! She wouldn’t have enjoyed lunching there alone at all, but having Max made it seem like a party.
  • 71. [124] The hotel was quite crowded, probably with numerous vacation guests and Christmas shoppers, and the young couple made their way slowly to the dining room. In the passageway they suddenly came upon Pauline Brooks with another girl—the same blond girl she had been with on Walnut Street the preceding Saturday noon. “Pauline!” exclaimed Mary Louise. “How are you?” Pauline turned around, and seeing Mary Louise’s handsome companion her smile included him. Mary Louise introduced Max, and Pauline in turn introduced the cute little blond as Miss Jackson. The girl immediately began to roll her eyes at Max. “I was so disappointed that you moved away from Stoddard House,” said Mary Louise. “I didn’t like the atmosphere,” replied Pauline. “Too much stealing. I was afraid I wouldn’t have anything left if I stayed.” “But you didn’t lose anything, did you?” asked Mary Louise. “No, but I wasn’t taking any chances. Besides, it’s a lot more comfortable here.” “Here? I thought you were at the Ritz?” Pauline laughed. “I was. But my aunt went out to the country, so I moved over here. Like it better.” “I see.”
  • 72. [125] Suddenly a thought came to Mary Louise: That woman whom she had seen in the empty house—her face looked like Pauline’s aunt! That was the person she had reminded her of! “Is your aunt’s place at Center Square?” she inquired. Mary Louise thought she saw Pauline start at the question, but she answered it carelessly enough. “It’s not in any town,” she said. “Just in the country.... Well, I’ll be seein’ you.” She started away. “Wait a minute,” begged Mary Louise. “Did you girls ever meet a girl named Margaret Detweiler, from Riverside? I am trying to find her for her grandmother.” “Margaret Detweiler—yes——” began Miss Jackson. But Pauline interrupted her. “You’re thinking of Margaret Lyla, Blondie,” she corrected. “We don’t know any Margaret Detweiler.” “That’s right,” agreed the other girl, in obvious confusion. Mary Louise sighed: she had probably been mistaken. And it was all so mixed up, anyhow. Her memory of the night before, of those two faces at the window, was already growing vague. She and Max went on into the dining room. “Some high-steppers,” remarked Max. “Not your type, Mary Lou.” “I don’t care for the little blonde,” agreed Mary Louise. “But I did sort of like Pauline Brooks. She was my first
  • 73. [126] friend here in Philadelphia, and she seemed awfully sociable.” “I don’t like her,” said Max emphatically. Of course, Mary Louise was flattered, and she smiled contentedly. “Well, you needn’t worry—she’ll never be one of my best friends,” she said. The waiter led them to a table with a pretty bouquet on the shining white linen cover, and Mary Louise felt almost as if she were at a party. An orchestra was playing, and there were many people dancing. Everything here spoke of gayety and life: no wonder Pauline Brooks referred the Bellevue to Stoddard House. But she must be very rich to be able to stay here. “A big city is grand, isn’t it?” she remarked to Max, her eyes sparkling with excitement. “Sometimes,” he admitted. “But it can be an awfully lonely place too, Mary Lou. It all depends on who is with you.” And his eyes told her who the person was whom he preferred. “Yes, I guess you’re right, Max. I was lonely—and it was wonderful of you to come. I wish you could stay the whole time here with me.” “I’m supposed to go back tonight, or tomorrow morning early at the latest. But I could break that on one condition.” “What’s that?” demanded Mary Louise.
  • 74. [127] He lowered his voice to almost a whisper. “Mary Lou, you know how much I care for you. You know I’ve adored you since the first minute I met you. There’s never been anybody else. Let’s get married—​ now—​ today—and keep it secret till I graduate in June. Then——” The waiter approached diplomatically. Mary Louise picked up the menu in confusion. She had never dreamed Max would suggest such a thing. Why, she had no idea of getting married for years and years! “I’ll take this special luncheon,” she said, noticing that its cost was moderate. “I will too,” added Max, anxious to get rid of the waiter. “What do you say, Mary Lou? Will you?” His voice was so eager that the girl was deeply touched. “Oh no, Max. I couldn’t. I don’t love you—or anybody— that way yet. And I couldn’t deceive my parents or let you deceive yours.” “We might just tell our fathers and mothers,” he suggested. “No, no, I couldn’t. Let’s don’t even talk about it. I’m here in Philadelphia on a detective job, and I mean to give it my very best. I’ll be sorry to have you go home, but maybe it will be better. I’ll work harder if I haven’t anybody to play around with. Now—what would you say to a dance while we wait for our first course?” The couple glided off to the music, and more than one person in that big dining room noticed the graceful,
  • 75. [128] [129] handsome pair and envied them their happiness. When they came back to their seats their soup was ready for them. “Here come your friends,” remarked Max, as Pauline Brooks and her blond companion entered the dining room. “And take a look at the fellows they have with them!” “I don’t like their looks,” announced Mary Louise emphatically. “Neither do I, needless to say. Just goes to show you what kind of girls they are.... Mary Lou, I want you to drop that Brooks woman. She might get you into harm. Promise me!” “No need to promise,” laughed Mary Louise. “I’ll probably never see her again now that she’s moved away from Stoddard House.” Mary Louise ate her luncheon with keen enjoyment. There was nothing like going without breakfast, she said, to give you an appetite for lunch. “Do you think there’s any chance of your getting home for Christmas?” asked Max wistfully. “No, I don’t believe so,” she replied. “I try not to think about it. It will be my first Christmas away from home, the first time I ever didn’t hang up my stocking. But, Max, if I could solve this mystery for Mrs. Hillard, it would be worth ten Christmas stockings to me. I just can’t tell you what it means.” “Yes, I realize that. But it doesn’t seem right. The fun at home—visiting each other’s houses after dinner, and the
  • 76. [130] Christmas dance at the Country Club! Gosh, Mary Lou, I just can’t bear it!” “Why, Max, I’ll be the homesick one—not you,” she reminded him. Her eyes traveled around the room while they were waiting for their dessert, and she caught sight of Mrs. Weinberger, eating a lonely lunch in a corner by a window, looking as if she didn’t care whether she lived or died. Mary Louise felt dreadfully sorry for her; she was glad to have an excuse to go to speak to her after lunch. She took Max over and introduced him. Mrs. Weinberger acknowledged the introduction, but she did not smile. She looked as if she might never smile again. “Yet how much gloomier she would be if she knew we suspected her daughter and her husband of those crimes!” thought Mary Louise. “I have a special-delivery letter for you, Mrs. Weinberger,” she said. “I was coming here for lunch, so Mrs. Hilliard asked me to bring it over to you.” “Thank you,” replied the woman, taking the letter and splitting the envelope immediately. “You heard that my daughter is married, Miss Gay?” “Yes, Mrs. Hilliard told me.” Mary Louise longed to ask when the honeymooners would be back, but she hesitated because Mrs. Weinberger looked so gloomy. The woman drew a snapshot from the envelope.
  • 77. [131] “Why, here is their picture!” she exclaimed. “And—he’s positively handsome!” Eagerly she handed the photograph to Mary Louise, anxious for the girl’s good opinion of the new son-in- law. What an opportunity for the young detective! Mary Louise’s fingers actually trembled as she took hold of the picture. But all her hopes were dashed to pieces at the first glance. The man was as different from Mary Louise’s burglar as anyone could possibly be. Six feet tall and broad-shouldered, he was smiling down tenderly at his new wife, who was at least a foot shorter. “He’s charming, Mrs. Weinberger,” she tried to say steadily. “May I offer my congratulations?” The older woman straightened up—and actually smiled! “He is a civil engineer,” she read proudly. “But he couldn’t get a job, so he’s driving a taxi! Well, that’s an honest living, isn’t it?” “I should say so!” exclaimed Max. “You’re lucky you don’t have to support him—as so many mothers and fathers-in-law have to nowadays.” Mary Louise was pleased for Mrs. Weinberger’s sake but disappointed for her own. Miss Stoddard was all wrong: the solution was incorrect. And she was just as much at sea as ever! “There’s your friend Pauline Brooks,” remarked Mrs. Weinberger. “And—look who’s with her!”
  • 78. [132] “That’s a friend of hers—a Miss Jackson,” explained Mary Louise, as the two girls, with their boy-friends, got up to dance. “Miss Jackson nothing! That’s Mary Green—the chorus girl who was staying at Stoddard House when my watch was stolen. I’d like to have a talk with that young woman. But I suppose it wouldn’t do any good.” Mary Louise’s eyes narrowed until they were only slits; she was thinking deeply. Mary Green—alias Miss Jackson! The next step was to find out whether Pauline Brooks too had a different name at this hotel! Maybe at last she was on the right track.
  • 79. [133] CHAPTER X In the Dead of Night “How about a movie?” suggested Max, as the young couple left the hotel dining room. “Oh no, Max,” replied Mary Louise. “No, thanks. I have to work now. I’m going to stay right here.” “In the hotel? Doing what?” “Some investigating.” “You think that young man is guilty? He looked honest to me.” “No, I don’t believe he’s guilty. I—I’ll explain later, Max, if anything comes of my investigations.... Now, run along and do something without me.” “Can I see you tonight?” “I could probably go to an early show with you after dinner. I’m not sure, so don’t stay in Philadelphia just on account of that. I mean, if you want to start back home.”
  • 80. [134] “I’m going to start home at daylight tomorrow, morning,” replied the young man. “So I’ll surely be around tonight. At Stoddard House soon after seven.” “All right, I’ll see you then. And thanks for a lovely lunch, Max. It’s been wonderful.” The young man departed, and Mary Louise hunted a desk in one of the smaller rooms of the Bellevue—set aside for writing. She placed a sheet of paper in front of her and took up a pen, as if she were writing a letter. But what she really wanted to do was to think. “I was wrong twice,” she reasoned. “First in suspecting Miss Stoddard, then in believing Miss Weinberger guilty. I’ll go more carefully this time. “If my very first guess was right—that the transient guests were stealing the valuables from Stoddard House —I must begin all over again. Mrs. Hilliard said there were two girls staying at the hotel for a day or so when the silverware and the vase were stolen.... Are these girls in league with Mary Green and Pauline Brooks? Are they all members of a secret band of thieves? That’s the first question I have to answer.” She frowned and opened her notebook. Why hadn’t she gotten the names of those girls from Mrs. Hilliard’s old register? The second crime—the stealing of the watches—she could pin on Mary Green, alias “Blondie Jackson.” Now for the last three robberies. They had all taken place while Pauline Brooks was at Stoddard House!
  • 81. [135] Mary Louise considered them separately. Pauline could have stolen Miss Granger’s money and her picture, but it was a man who entered Mary Louise’s bedroom on Friday night and who took her watch and her money. Was one of those young men whom Pauline was dining with today an accomplice? If so, how did he escape from the hotel? Out of Pauline’s window? Finally, she thought over the circumstances of Mrs. Macgregor’s robbery, and she almost laughed out loud at her own stupidity. Pauline had left her own room as soon as the maid came in to clean it; she had slipped into Mrs. Macgregor’s room and stolen the bag containing the valuables and had left the hotel immediately, before Mrs. Macgregor came out of her bath. Why hadn’t she thought of that explanation before? The solution seemed logical and plausible, yet how, Mary Louise asked herself, could she prove her accusations? None of these girls had been caught in the act; probably none of them still possessed the stolen articles, and the money had not been marked in any way or the serial numbers taken. This fact was dreadfully discouraging. If Mary Louise could not prove the girls’ guilt, she could do nothing about it. She couldn’t even assure Mrs. Hilliard that there would be no more robberies at Stoddard House, because she could not know how many members of this gang there were, and the manager could not suspect every transient guest who came to the hotel. No, she concluded, there was nothing to do but try to catch them in a new crime. If they really made it their business to rob hotels, they would probably carry out
  • 82. [136] some plan here at the Bellevue tonight. Mary Louise’s only course was to watch them. With this determination in mind, she went to the clerk’s desk in the lobby. “Could I see the manager?” she inquired. The man looked at her quizzingly, wondering whether Mary Louise was a patron of the hotel or a society girl who wanted to collect money for something. “Are you a guest at the hotel, miss?” he asked. “Or have you an appointment?” “No to both questions,” she replied. “But I am a private detective, and I want to consult him about something.” “O.K.,” agreed the clerk. “What name, please?” “Mary Louise Gay.” The clerk reached for the telephone, and in another minute he told Mary Louise where to find the manager’s office. She followed his directions and walked in bravely, hoping that the man would not think she was dreadfully young. “I am staying at a small hotel for women called Stoddard House,” she began, “to investigate a series of robberies which they have had there. The Philadelphia police have my name, and if you wish to identify me, please call Mr. LeStrange.” “I will take your word for it, Miss Gay,” replied the man, smiling.
  • 83. [137] “These robberies have always occurred when there was a transient guest at the hotel,” she explained. “The last series, while I was at the place, led me to suspect a certain girl; the series before that led other people to suspect another girl. I find these two girls are living here now at the Bellevue—they seem to go from one hotel to another, for they were at the Ritz only last Saturday. They evidently use different names. I should like to meet your hotel detective, explain the case to him, and get permission to watch these two young women.” The manager did not appear as surprised as Mary Louise expected him to be. But she could not know how common hotel robberies were at the present time. “I will send for our detective,” he said. “You have my permission to go ahead—under his orders, of course.” “Oh, thank you!” cried Mary Louise, delighted that so far it had been easy. The manager sent for the detective, a nice-looking man of about thirty. He introduced him as Mr. Hayden, and repeated Mary Louise’s story. “What would your plan be, Miss Gay?” asked the detective. He treated her respectfully, as if she were indeed a real member of the profession, and Mary Louise felt proud and happy. “First of all, I want to find these girls’ names on the hotel register and see what names they are using. Then I want, if possible, to engage a room near theirs and listen for them all night. And third, I want you, or one of your assistants, Mr. Hayden, to be right there in readiness, in case they do anything tonight.”
  • 84. [138] [139] “You haven’t evidence enough to convict them of the robberies at Stoddard House?” asked Mr. Hayden. “Oh no. I may be entirely mistaken. It is only a clue I am going on. But I believe it is worth following up.” “What do you say, Hayden?” inquired the manager. “I’m glad to help,” replied the younger man. “I’ll be on duty tonight, anyhow, and I’d enjoy the investigation. Nothing is lost, even if nothing does happen.” “Then let’s go have a look at the register,” suggested Mary Louise. “Better send for it,” said the detective. “Arouse no suspicions.” The book was brought to them, and Mary Louise looked carefully for the names of Pauline Brooks and Mary Green. But she did not find them. She did, however, find the name of Mary Jackson, and with it a name of Catherine Smith, both of whom had arrived that day and engaged a room together on the sixth floor. “Those must be the girls,” she concluded. “Room 607. What’s the nearest room you can give me?” The manager looked in his records. “609 is moving out tonight. Would that be time enough —or do you want it now?” “No, that’s plenty of time. And another thing, can you tell me where Mrs. Weinberger’s room is? I met her at Stoddard House, and she would be a sort of chaperon for me.”
  • 85. [140] “Her room is on the tenth floor,” was the reply: “1026.” “Thanks. Then put me down for 609, and I’ll phone Mrs. Weinberger this afternoon. I’ll come back early this evening, and I’ll ask Mrs. Weinberger to meet me in one of the reception rooms. Then, could you come there too, Mr. Hayden?” The man nodded, smiling. How correct this girl was about everything! “Then I believe it’s all arranged,” said Mary Louise, rising. “I’ll go back to Stoddard House. And if you have a chance, Mr. Hayden, will you keep your eye on these girls we’re suspecting?” “But I don’t know them,” he reminded her. “I’d forgotten that! Well, let me describe them. Maybe if you visit the sixth floor, you will see them go in and out.” She went on to tell him that Pauline Brooks—or Catherine Smith, as she called herself here—was a striking brunette, and that her companion, Mary Green —or Mary Jackson—was noticeably blond; that both girls were short and slender and wore fur coats and expensive jewelry; that both were as little like the typical sneak thieves as could possibly be imagined. As Mary Louise walked along the street she decided not to tell Mrs. Hilliard any of the details of her plans or who the girls were that she was watching. If nothing came of her theory, she would feel foolish at having failed the third time. Besides, it wasn’t fair to the girls to spread suspicion about them until she had proved them guilty.
  • 86. [141] She stopped at a jewelry store and purchased a small, cheap watch, which she put into her handbag. Then she went back to the hotel. Immediately upon her arrival at Stoddard House she called Mrs. Weinberger on the telephone; then, assured of her coöperation, she went to Mrs. Hilliard’s office. “I have decided to spend the night at the Bellevue,” she said. “Mrs. Weinberger is going to be my chaperon.” The manager looked doubtful. “But I promised your father I’d keep you right here with me,” she objected. “I know, but this is important. I think I’m on the track of a discovery. And Mrs. Weinberger has promised to look after me.” “Does she know that you suspect her daughter, Mary Louise?” “No, because I don’t suspect her any longer. Or her new husband either. My clues point in another direction. This time I’m not going to say anything about them till I find out how they work out.” “I suppose it will be all right, then,” agreed Mrs. Hilliard reluctantly.... “What are your immediate plans, dear?” “I’m going to sleep now till six o’clock, because it’s possible I may be awake most of the night. I’ll have my dinner here with you then, or with the Walder girls, and after that I’m going to a show with Max. About nine- thirty I’ll get to the Bellevue—Mrs. Weinberger is going to wait up for me and go to my room with me.”
  • 87. Welcome to our website – the perfect destination for book lovers and knowledge seekers. We believe that every book holds a new world, offering opportunities for learning, discovery, and personal growth. That’s why we are dedicated to bringing you a diverse collection of books, ranging from classic literature and specialized publications to self-development guides and children's books. More than just a book-buying platform, we strive to be a bridge connecting you with timeless cultural and intellectual values. With an elegant, user-friendly interface and a smart search system, you can quickly find the books that best suit your interests. Additionally, our special promotions and home delivery services help you save time and fully enjoy the joy of reading. Join us on a journey of knowledge exploration, passion nurturing, and personal growth every day! ebookbell.com