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
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
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
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