Download Design and development of a user interface and user manual for a

Transcript
NAVAL POSTGRADUATE SCHOOL
Monterey, California
sq^
DESIGN AND DEVELOPMENT OF A
USER INTERFACE AND USER MANUAL
FOR A SYSTEM DYNAMICS MODEL
OF SOFTWARE MANAGEMENT
BY
DANIEL
W.
SWINDELL
MARCH 1989
Thesis Advisor:
Tarek Abdel-Hamid
Approved for public release; distribution is unlimited
T24237Q
HOOL
aBTIA 93943-5002
*!TY
CLASSIFICATION OF this PAGE
REPORT DOCUMENTATION PAGE
EPORT SECURITY CLASSIFICATION
lb
RESTRICTIVE
MARKINGS
Unclassified
i
ECURity Classification authority
•ECLASSiFICATION
/
Approved for public release
Distribution is unlimited
DOWNGRADING SCHEDULE
RFORMING ORGANIZATION REPORT NUMBER(S)
IAME OF PERFORMING ORGANIZATION
(Oty. Stare,
60 OFFICE
(If
SYMBOL
7a
Naval Postgraduate School
54
and ZiPCoae)
7d
IAME OF FUNDING SPONSORING
and
and
(City. State,
ZIP Code)
SYMBOL
PROCUREMENT INSTRUMENT IDENTIFICATION NUMBER
9
applicable)
(If
(C/f>. State,
ADDRESS
Monterey, California 93943-5000
80 OFFICE
RGANIZATION
NAME OF MONITORING ORGANIZATION
applicable)
iterey, California 93943-5000
ODRESS
MONITORING ORGANIZATION REPOR T NUMBER(S)
5
aval Postgraduate Schoo
DDRESS
DISTRIBUTION /AVAILABILITY OF REPORT
3
ZIP Code)
10
NUMBER
SOURCE O c FUNDING
PROGRAM
PROJECT
TAS>^
WORK
ELEMENT NO
NO
NO
ACCESSION NO
UNIT
iTLE (Include Security Claudication)
Design and Development of a User Interface and User Manual for a
System^ Dynamics Model of Software Management
ERSONAL AUTHOR(S)
Swindell, Daniel W
TYPE OF REPORT
30
Master's Thesis
TiME
COVERED
FPQM
date O c REPORT
14
(Year.
Month. Day)
15
PAGE COUNT
153
1989 March
TO
UPPLEMENTARY NOTATION
rhe views expressed in this thesis are
:he official policy or position of the
COSATi CODES
FIELD
GROUP
18
SUP-GRO
kBSTRACT (Continue on reverse
it
those of the author and do not reflect
Department of Defense or the US. Govt.
SUBJECT TERMS (Continue on reverse
if
necessary and identify by block number)
User interface, user friendly, batch language,
User manual
p
necessary
and
identity by block
number)
Simulation models typically possess primitive user interfaces.
Users must
substantial amounts of time learning the mo del before they gain
>ficiency in using the model.
A versatile, use r-friendly interface reduces
time and frustration involved in learning a n ew system.
This research
:ort designs a user-friendly interface for the System Dynamics Model of
'tware Management.
The interface is written in a batch programming language,
lpatible with the IBM personal micro-computer,
The interface is a product
the prototype design approach.
A sophisticate d batch language provides the
f-generating menu structures, advanced string handling capabilities, and
or enhancements. The new user interface is now a valuable feature of the
el and clearly shows the benefit of utilizing a prototype design approach
this type of application.
?nd
1
>lSTRIBUTION/ AVAILABILITY OF ABSTRACT
UNCLASSIFIED/UNLIMITED
21
SAME AS RPT
NAME OF RESPONSIBLE INDIVIDUAL
22b TELEPHONE (Include Area Code)
of.
Tarek Abdel-Hamid
ORM
1473, 84
mar
ABSTRACT SECURITY CLASSIFICATION
Unclassified
DTlC USERS
13
(408) 646-2686
APR
edition
All
may be used
until
exhausted
other editions are obsolete
22c
OFFICE
SYMBOL
Code 54AH
SECURITY CLASSIFICATION OF THIS PAGE
US Coxrnmtnt
Mnllni OHlct
!»•—C0C-24J
Approved
for public release; distribution
is
unlimited.
Design and Development of a User Interface and User Manual
for a
System Dynamics Model of Software Management
by
Daniel
W.
Swindell
Major, United States Marine Corps
M.E., Pennsylvania State University, 1988
B.S.,
Salem
Submitted
State College,
1980
in partial fulfillment
of the requirements for the degree of
MASTER OF SCIENCE
IN
INFORMATION SYSTEMS
from the
ABSTRACT
models typically possess primitive user
Simulation
substantial
the
amounts of time learning the model before they gain proficiency
A
model.
versatile,
involved in learning a
and frustration
This research effort designs a user-friendly
IBM
personal
micro-computer.
written
in
a
sophisticated
advanced
is
time
batch programming language, compatible with the
is
user interface
reduces the
in using
The
interface
A
system.
interface
spend
System Dynamics Model of Software Project Management.
for the
approach.
user-friendly
new
interface
structures,
Users must
interfaces.
now
The
interface
batch
is
a
language
string handling capabilities,
a valuable feature of the
of utilizing a prototype design approach for
ui
this
product
provides
of
the
prototype
the
self-generating
and color enhancements.
model and
clearly
shows
type of application.
design
menu
The new
the benefit
TABLE OF CONTENTS
I.
INTRODUCTION
2
C.
PROBLEM STATEMENT
PURPOSE OF RESEARCH
SCOPE OF RESEARCH
D.
THESIS ORGANIZATION
2
A.
B.
n.
1
2
USER INTERFACE DESIGN
3
A.
FUNCTIONALITY
3
B.
HUMAN FACTORS GOALS
3
C.
INTERACTIVE SYSTEM DESIGN GUIDELINES
3
D.
ATTRACTING THE USER'S ATTENTION
4
F.
ORDER OF MENU SELECTIONS
DISPLAY RATE
G.
PHRASING OF MENU ITEMS
E.
m.
1
USER'S
A.
5
6
MANUAL
7
ON-LINE VERSUS HARD-COPY USER
MANUALS
7
1.
Introduction
7
2.
On-line Documentation
7
a.
3.
Advantages
7
Hard-copy Documentation
a.
B.
5
7
Advantages
7
DOCUMENTATION DEVELOPMENT
8
1.
Fundamental Principles
8
2.
Software Development Life Cycle
8
3.
Documentation Forms
9
4.
Documentation Content
9
a.
Organization
9
(1)
Task Organization
9
(2)
Top Down Design
9
IV
1
-,-pY
raj
M0]
b.
IV.
_; I
SCHOOL
A 93943-8002
10
Format
(1)
Script
(2)
Examples
10
(3)
Nonanthropomorphic Style
10
SYSTEM ARCHITECTURE
10
11
A.
SYSTEM OVERVIEW
11
B.
USER INTERFACE
12
C.
D.
DYNAMICA MODEL
DYNEX INTERFACE
E.
PROFESSIONAL
DYNAMO ENVIRONMENT
17
17
19
19
G.
RUNNING SIMULATIONS
VIEWING RESULTS
H.
STORING RESULTS
20
F.
V.
Style
i
DYNAMICA USER'S MANUAL
19
21
A.
INTRODUCTION
21
B.
DYNAMICA MODEL REQUIREMENTS
21
1.
Memory
21
2.
Co-processor
21
3.
Displays
21
4.
Software Requirements
21
C.
BACKGROUND
21
D.
STARTING THE DYNAMICA MODEL
22
E.
MAIN MENU
25
F.
HELP INFORMATION
25
CHANGING THE VALUE OF MODEL VARIABLES
RUNNING A SIMULATION
VIEWING THE RESULTS OF A SIMULATION
27
G.
H.
I.
J.
32
35
35
1.
Options
2.
View Variable
Plots Option
35
3.
View Standard
Plots Option
38
SAVING SIMULATION RESULTS
38
K.
VI.
PROFESSIONAL
DYNAMO ENVIRONMENT
CONCLUSIONS
A.
43
44
ACCOMPLISHMENTS
44
1.
User Interface
44
2.
User's Manual
44
B.
LESSONS LEARNED
44
C.
FUTURE DIRECTION
45
LIST OF REFERENCES
46
APPENDLX BATCH AND TEXT FILE LISTINGS
47
INITIAL DISTRIBUTION LIST
146
VI
INTRODUCTION
I.
A.
PROBLEM STATEMENT
Computer
unprecedented
making
before.
it
proliferation
The
rate.
possible for
The software
as the hardware.
cost of
new
that
the
every
facet
of
our
society
applications to have
occurring
is
computer hardware continues
to run these systems,
The
managers
more capable computers than ever
however, has not enjoyed the same progress
failures of such large software
of
the
an
at
to steadily decrease,
Large software projects have frequently failed to meet
and effectiveness goals.
implies
in
projects
interrelationships of the hundreds of variables
failed
which
development projects
understand
to
cost, schedule,
the
complex
effect a software project.
The
performance of the managers will naturally improve as they learn more about the
process they must manage.
Effective software estimation tools can be utilized to
two ways.
increase managerial effectiveness in
the requisite
First the tools
knowledge of the process and secondly they
provide managers with
are an analysis tool
Program simulation
allow managers to assess the impact of changes to the process.
is
which
an ambitious approach in software estimation to accurately depict the complex
evolution of a software project.
The use of simulations allow
interactions to
be
represented which could not be otherwise accurately modelled.
The System Dynamics Model of Software
project
simulation program.
This
simulation
Project
tool
dynamics concepts where feedback loops play an
management and software
forces interrelate in a
development process of the
the
complex
results.
real world.
As
is
Management
uniquely
integral
a training aid the
interrelationships of software project variables
This model, as powerful as
to attract a broad base of users.
it
is,
a software
based on systems
role.
dynamic fashion
is
In
the
model,
to reflect the software
model teaches managers
by providing quantitative
lacked the necessary user-friendly interface
B.
PURPOSE OF RESEARCH
The purpose of
model which would
interface for the
interface design
this research is to
would
substantially
design and develop an effective user-friendly
attract a
broad base of users to the model.
enhance the value of the model as a learning
aid,
model.
as well as increase the user's productivity with the
C.
The
SCOPE OF RESEARCH
The scope of
the research includes the design and
development of a user's manual
interface and the
development of the user
to support the user interface.
The
research focuses on design considerations that facilitate rapid prototype development
of a simple user environment.
manual development.
Haury, [Ref.
D.
The research encompasses
the current
wisdom on
user
This research builds on earlier work done by Captain C. E.
1].
THESIS ORGANIZATION
Chapter
II
addresses the design issues germane to the development of a user
interface appropriate for this application.
writing an effective user's manual.
the user interface.
Chapter IV
is
Chapter
II
covers popular guidelines for
Chapter in explains the system architecture of
the user's
manual
for the user interface.
USER INTERFACE DESIGN
II.
A.
FUNCTIONALITY
The user
interface can only be effective in meeting user needs if the underlying
system design provides the required functionality.
capabilities,
deficiencies.
an interface will not be able
If the
to
If
distract
the
the
system lacks essential
user
away from those
system has the required capabilities but was poorly designed, again
the interface can at best avoid further degradation of poor system performance.
The
underlying system functionality should, therefore, be understood as the foundation upon
which the interface
B.
be
built.
HUMAN FACTORS GOALS
The
direct
will
particular user
community and
impact on the system design.
the set of tasks to be accomplished have a
The
measured against the design goals and the
ability
of the user community must be
identified tasks.
There will typically be
multiple design goals which can be traded off against each other.
Examples of design
goals are performance speed, error rate, learning time, retention time, and subjective
user satisfaction.
At the
initial
stage of design, the design goals will be formulated
with the user community in mind.
Once
the tasks have been defined, a selective set
of those tasks can be executed by a sample group of users from the user
to assess
how
referred to as a
larger
group of
community
well the design goals are being met. Such a group of tasks are often
benchmark
tasks.
set
If the
of tasks which are reflective of the characteristics of the
design goals can not be met, then the tasks can possibly
be altered or the design goals themselves altered.
Knowledge of what exacdy
the
design goals are and early testing of the tasks by users can greatly increase the
likelihood of a successful design.
C.
INTERACTIVE SYSTEM DESIGN GUIDELINES
The
proliferation of personal computers coupled, with the evolution of
mainframe
terminals to include a display, have created an interactive computing environment.
The
size, color
and display
Shneiderman
listed
rate of the displays
obviously impacts the efficiency of the user.
principles
adhere to during the design of interactive
eight
systems [Ref. 2:p. 61].
Work
The
to
eight principles are:
for consistency
Provide users with alternate short cuts
Provide feedback to the user
Design the closure property
into actions
Simplify error handling
Allow easy
Make
reversal of actions
the users sense they are in control
Minimize short term memory requirements
Consistency
is
attained
when
The terminology and menu
short cut
entering
is
the
similar situations require similar sequences of actions.
An example
layouts should also be similar.
the provision of a
command language where
command mode and
the user has the option of
command.
then entering a
of alternate
indication to the user reflecting the status of his request.
The
Feedback
is
some
closure property here
implies that sequences of actions are readily identifiable as having a beginning, middle,
The user should not be
and an ending.
process.
in a
Users having selected an option should have a convenient recourse
to return to their previous position in the process.
and damaging
to the users confidence in the
Menus should be
Unexpected outcomes
program and
kept uncluttered; the
number which can be remembered
D.
is
Error messages should clearly and concisely describe the error and the
corrective action.
program.
by wondering where he
distracted
are disruptive
his ability to control the
number of
selections limited to a
easily.
ATTRACTING THE USER'S ATTENTION
There are many instances where the user's attention must be gained such as
error conditions and situations
which
differ slightly
from those he expects.
Shneiderman gave guidelines
for
some of
the
common means
of attracting the user's
attention:
Intensity
-
up
Marking
-
underlining, boxes, bullets
Size
-
Fonts
up
level
to four sizes
up
-
two
to
to three fonts
Inverse video
Blinking
Color
Audio
-
up
-
-
two
to four colors
low tones for normal; loud tones
The order of
required
to
make
functionally, and
knew what
a
An
selection.
The experiment showed
randomly constructed menus.
to scan for, their
lists
items to be on a
if
that if users
performance was best on alphabetically arranged
they didn't
menu
a significant effect on the time
experiment by Card examined alphabetically,
high with functionally organized
still
If the
menu can have
the selections in a
functionally arranged
size,
for exceptions
ORDER OF MENU SELECTIONS
E.
and
to four hertz
The study group performed
lists.
know
precisely
lists
best
what they were looking
on
for.
follow a natural order such as chronological order or
then that order should be used
in the
menu.
If the
then the designer must decide what order to use.
items lack a natural order
Frequency of use and
relative
importance are two commonly used orders. [Ref. 3:pp. 190-196]
F.
DISPLAY RATE
The
situations
display rate
is
the rate information
displayed on the screen.
In
some
such as telecommunications, or in intense calculations the display rate
noticeably slows to the user.
output to the display.
capabilities
A
The slowness
in those instances is
second factor affecting the display
of the display.
displayed per screen.
making
is
A
third
factor
would be
The system designer can reduce
the screen contents as concise as possible.
the
due to the
rate
would be
rate of the
the actual
amount of information
the time to display a screen by
PHRASING OF MENU ITEMS
G.
Phrasing of
of the
menu
menu
items
is
not the
same
as the ordering of the items.
items addresses the semantics of the selection names.
The wording of
selections can
improve the readability and proper interpretation of the menu
Shneiderman
suggests
the
following
four
criteria
for
Phrasing
effectively
the
selections.
wording
menu
selections:
familiar and consistent terminology
•
Use
•
Make
•
Be
•
Place the keyword to the
items distinct
concise and consistent
The terminology should be
between menus
is
instructions, colors,
2:pp. 110-1151
familiar to the user and used consistently.
important.
and
text
left
By
standardizing the placement of
Consistency
menu
titles
and
markings, the user can quickly adjust to each menu. [Ref.
USERS MANUAL
III.
ON-LINE VERSUS HARD-COPY USER MANUALS
A.
Introduction
1.
Covington claimed
system
is
documentation [Ref.
most complained about aspect of a computer
that the
He went on
4:p. 165].
of the 1970's has become the documentation
crisis
to assert that the software crisis
of the 1980's. Documentation
indisputably a vital element in a successful software product.
software packages are
now
Virtually
delivered with paper documentation, which
as hard-copy, and a variety of documentation in software form.
line
documentation
separately from the
a.
main program,
as well as actual on-line assistance.
Advantages
The documentation can be
on inexpensive
The user
isn't
compared
is
generally
either placed in
more
accessible than hard-copy.
permanent memory or distributed widely
On-line documentation doesn't take up any appreciable office
disks.
daunted by the size of the documentation because of his limited
view of the documentation.
The
cost and time to update the documentation
is
small
to hard-copy.
Hard-copy Documentation
a.
Advantages
The user doesn't have
access the documentation.
line
to
used here to include software that can be run and viewed
is
On-line documentation
3.
decision
On-line Documentation
2.
space.
referred to
The phrase on-
assessment of the product.
initial
popular
The accompanying
documentation will weigh heavily on both an interested customer's
purchase a product as well as his
is
all
is
which can
comprehension
Hard-copy
proliferate easily.
rates.
is
to leave his
location in the environment to
easier to track and control as
Hard-copy
is
less fatiguing to read
Gould and Grischkowsky
opposed
to on-
and yields greater
conducted an experiment where
thirty-two subjects read material in equivalent twenty-three line pages of hard-copy and
media
on-line
The reading
[Ref. 5].
well as the comprehension accuracy.
memory
limits
significantly higher for the hard-copy as
Hard-copy has enjoyed both color and resolution
Display graphics are making enormous strides
advantages over the on-line medium.
as processing power,
was
rate
and display technology continue to be pushed
ahead; but the quality and variety of display options
still
resides with hard-copy
documentation.
B.
DOCUMENTATION DEVELOPMENT
Fundamental Principles
1.
As
make
any writing, simple adherence to basic writing style guidelines will
in
Sentences, paragraphs, and
the difference in the readability of the material.
chapters should be laid out thoughtfully.
spelling
errors,
grammar, checkers
check his
style evaluators to evaluate his writing style throughout his
document.
correct
These tools can not be
benefit to
the writer can take advantage of
to
checkers to
grammar and
Today
most
relied
his
on
spelling
to catch
Proof reading
writers.
is
and correct
all
major
errors but they are a
an indispensable phase of any writing.
As
with software, documentation should be tested on a sample of intended users.
2.
Software Development Life Cycle
The documentation
the software package.
The documentation
will obviously
have
The impact of poor documentation was touched upon
will continue to require resources to correct errors
updates resulting from modifications to the software.
what type of resources
will be required to
those resources be dedicated?
Adding
phone
documentation
might
effort
effort
otherwise
The not so obvious questions
asks,
after production
"Whether
it's
another department on the
go
for up-front, user-friendly documentation?"
needs
can
to
begin
early
in
the
to substitute
[Ref. 6:p. 37]
development
process.
in fact help to clarify ambiguities in the specification
unnoticed
are
and the quality of the
your people on the hotline to a vendor, can you afford
downstream support
documentation
and incorporate
to the intricacy of this question is the trade off
Anne Hedin poignantly
to you, or
earlier.
meet the delivery deadline and when should
between the level of product support required
documentation.
be complete and delivered with
to
until
later
8
in
the
development
process.
The
The
which
The
documentation should,
like the software
based on,
is
it
under a careful schedule
fall
that includes timely reviews.
Documentation Forms
3.
There are a number of prevalent forms of documentation
software packages that
fall
reference manual, tutorials,
card.
popular
under various names: owner's manual, operating manual,
command summary
cards.
Basically they can be divided
manual and the command
into three categories: the operating manual, the reference
summary
in the
The operating manual
the
is
document
that leads the user into the
system and should be designed to present the user with a view of the system
high level.
At a high
them
time.
may
at that
at
The reference manual has
some time
command
level, the details are
require.
all
the details
formats to refresh the mind of the user.
their
a
hidden from him because he doesn't need
which the experienced user
The command summary card
documentation which often stand on
at
own.
is
a short
summary of
the
Tutorials are another form of
Tutorials painstakingly lead the user
through the sequences of the system.
4.
Documentation Content
a.
Organization
(1)
organization.
Task Organization.
Task organization
user will perform.
is
One
trend in user documentation
the structuring of the
The documentation must be
is
task
manual around the tasks the
written from the viewpoint of the user
as he will face the tasks. [Ref. 6]
Top Down Design.
(2)
Top down design
characterized
is
by
successive levels which begin with a high level view and few details and progress to
the lower levels with greater detail.
Covington
asserts that
good programmers can be
good writers because both programming and writing documentation require top down
design.
The
writer
must keep track of the readers knowledge
implement top down design.
reader began with
document. [Ref. 4]
to
successfully
This means he must remember what knowledge the
and what knowledge he has revealed up
to
that
point
in
the
b.
Style
Script Format.
(1)
The
presented with tasks.
follows.
The
user
When
tasks can be
told that if he
is
the
document
task organized the user
is
is
addressed using a script which the user
wants a
result
he should perform the following
actions and he will see a certain result.
Examples. Examples convey quickly what would take much longer
(2)
and therefore should be used
to explain using prose
freely.
Concepts, however, usually
can not be conveyed by a an example that the user will see on the screen and require
prose.
already
Shneiderman
possesses
is
as
a strong advocate of utilizing the conceptual
the
concepts [Ref. 2:p. 49].
foundation for quickly
He
knowledge
the user
comprehending related computer
writes that an effective strategy
is
to begin with a
known
concept, translate that concept into the general computer arena, and finally over to
how
the concept applies in a particular system.
(3)
Nonanthropomorphic
references to the system as possessing
gain experience they
become
irritated
style.
human
Beginning users
qualities as novel.
by those references.
The
initially
However, as users
writer should instead
focus on the user and the tasks he needs to accomplish. [Ref. 2:p. 370]
10
consider
SYSTEM ARCHITECTURE
IV.
A.
SYSTEM OVERVIEW
This chapter discusses the system architecture of the System Dynamics Model
The system
of Software Project Management.
interface, the
model.
Dynex
The high
interface, the Professional
level
consists of four modules:
Dynamo
the user
environment, and the Dynamica
view of the system architecture
is
depicted in Figure
1.
USER
USER INTERFACE
I
I
I
I
DYNAMICA
DYNEX
MODEL
INTERFACE
Figure
The
user
upon
The user
interface
is
is
upon
starting
components
the
out
user
selections
along
with
the
Dynamo
is
system.
is
Dynamica model
file
name
the underlying simulation language in
The user can
and work directly with the Professional
as
an
which
the
elect to leave the user interface
Dynamo
environment.
be returned to the user interface when he exits the Professional
11
The
completed.
by issuing the appropriate Professional
associated
written [Ref. 7].
The user
to execute the user directed
returned to the user interface after each task
Professional
Dynamica Model
entirely
the other three system
carries
Dynamo command
argument.
System Overview
user encounters the user interface
interface calls
tasks.
1.
PROFESSIONAL
DYNAMO ENVIRONMENT
Dynamo
The user
will
environment.
change the values of the variables
If the user desires to
He
changes.
the user to the
transfers
the user interface
Dynex model
in the current
interface
to
make
model
those
be returned to the user interface after making his desired changes.
will
USER INTERFACE
B.
The user
menu
interface is a
and logical view of the system.
driven shell that presents the user with a simple
A
working environment
shell is a hospitable user
provided by a program to enhance the basic operating system environment.
particular shell
generated by a sophisticated batch
is
which, once executed by the
controls the execution of the other executable
user
at start-up,
was
written using Extended Batch
enhanced
that possess
file
Language (EBL).
EBL
batch
Batch
file
files,
files.
The
file
files
constructs [Ref. 8:p.
enhanced by EBL, were selected as the basis of the
shell
because a
This approach
write than using a high level language.
to
program
handling capabilities, advanced control structures, and
string
was simpler
shell
used to write batch
is
superior screen control over those written in ordinary batch
2].
This
allowed a rapid development of a prototype interface which could be easily modified.
EBL
provided
development
color
cost.
immediate return
The
enhancements
border
shell
includes automatic return to the calling menu, optional
to the calling
The main menu,
menu
and
menu and
without
any
significant
user input range checking.
which distinguish
as seen in Figure 2, offers nine options
the
primary system functions of system help, model variable changes, model simulations,
viewing
results,
storing
results,
and
transferring
to
the
Professional
Dynamo
environment.
menu
Five of the nine main
as depicted in Figure 3.
are carried out directly
Professional
Dynamo
The
options produce sub-menus with multiple options,
four options which are not sub-menus drive tasks which
by the main menu.
option
menus have
Plots option and the
different formats than the other
because the user interface environment must
those tasks.
The View Variable
call Professional
Dynamo
to
sub-menus
accomplish
Three of the sub-menus themselves possess subordinate sub-menus.
third level of
menu
control
is
also depicted in Figure 3.
12
This
MAIN MENU
THE DYNAM1CA MODEL OF SOFTWARE PROJECT MANAGEMENT
Choose an
option:
1
MODEL REQUIREMENTS
2
HELP FACILITIES
3
SET
4
RUN SIMULATIONS
5
VIEW VARIABLE PLOTS
6
VIEW STANDARD PLOTS
7
STORE RESULTS
8
PROFESSIONAL
9
EXIT TO DOS
(ESC
exits
MODEL VARIABLES
DYNAMO INTERFACE
menu):
Figure
2.
Main Menu
13
MAIN MENU
1
1
OPTION
2
OPTION
1
1
1
OPTION
3
1
OPTION
5
1
1
1
1
1
1
1
1
6
VIEW
PROF
OPTION
8
1
1
PROF
HELP
SET
MENU
MODEL
DYNAMO
STANDARD
DYNAMO
VARIABLES
VIEWER
PLOTS
MAIN
MENU
MENU
MENU
MENU
1
1
1
1
1
1
~
OPTION
3
1
1
OPTION
"1
OPTION
2
1
3
1
1
1
PROF
DEFINITIONS
SET
DYNAMO
OF
VARIABLES
MODEL
HELP
MENU
MENU
MENU
VARIABLES
(in
Figure
3.
PD)
Menu
14
Structure
The
main program and four
shell in a larger sense contains five batch files: the
subservient batch
files,
The
Figure 4.
four batch files control the system help, the
changing of model variable values, the plotting of simulation
results,
and the storing
of results.
MAIN BATCH
SUBSERVIENT BATCH FILES
FILE
Menu.Bat
Help. bat
Variabl.bat
Plot .bat
Storstat.bat
Figure 4. Shell Bat-file
The main batch program, menu. bat,
files
terminate.
Menu .bat
runs the bat.com
loads the instructions into
Batch
files
is
memory which
can then distinguish
structure
was used
is
always returned to
file
EBL commands
EBL commands
from normal
variabl.bat, plot.bat,
and
DOS
Bat.com
in a batch file.
system commands
EBL commands. The EBL EXECMAKE
to generate the control structure of
presented in Figure
after the other batch
and displays the main menu.
define the
by the key word "bat" which precedes the
function
Breakdown
menu. bat.
The
file
hierarchy
Figure 5 shows menu.bat calling bat.com, help. bat,
5.
storstat.bat.
The
file,
help.bat, provides an introduction to the
model, a summary of the on-line help, and instructional explanations of the features of
Professional
Dynamo.
The
as text files.
text
help
file
help.bat
as an
Dynamo
Eight Professional
file
argument
help topics are stored separately
executes the list.com program, which uses the desired
to list the desired help.
The
eight help files have the
characteristic ".hp" ending.
The
the
file,
adjustable
variabl.bat,
model
is
called by the
variables.
main batch
file to
manage
the alteration of
Variabl.bat displays the names, abbreviations, and
definitions of those adjustable variables.
Variabl.bat calls the
change the variables.
15
file
dynex.exe
to actually
***BAT.COM
***HELP.BAT
*
*
*
*
***LIST.COM
*
PD.HP
*
*
*
*
DYNEX.HP
EDTR.HP
*
**********SfyfLT\j-Ip
*
TOOLS. HP
*
*TRNS.HP
*
UTILS.HP
*
*VIEW.HP
***VARIABL.BAT
*
*
*
***DYNEX PROJECT.DNX
MENU.BAT**
***SMLT PROJECT *GO=
***VIEW PROJECT.RSL
***PLOT.BAT
*
*
*REP PROJECT PLOT1.DRS
************** REP PROJECT PLOT2.DRS
*
*
*REP PROJECT PLOT3.DRS
*
*REP PROJECT PLOT4.DRS
*
***STORSTAT.BAT
*
***REP PROJECT STATS
*
***PD PROJECT.DYN
*
***INSERT
Figure
5.
File Hierarchy
16
The
plot.bat, is called to
file,
manage
the viewing of standard plots.
Plot. bat
offers an explanation of the standard plot options and a selection of four predefined
plots.
The
storstat.bat,
file,
is
managed
called to
Storstat.bat queries the user for a
name and path
the
of simulation
storing
results.
under before
to store the results
saving the simulation results.
SMLT.exe, view.exe and PD.com
executed directly by menu. bat.
are Professional
SMLT.exe
runs the simulation.
Dynamica model
C.
files
The
environment.
used by the Professional
which
Dynamo
are also
View.exe allows the
the user to
"project" arguments are the
files.
DYNAMICA MODEL
The Dynamica model
environment.
alter the
is
a
The primary model
model
itself.
tasks, shelters the
D.
Dynamo
files
PD.com allows
user to define his views of the simulation variables.
directly access the Professional
Dynamo
The
set
file
of
files
created in the
Professional
Dynamo
The user should
has the ".dyn" ending.
not
user interface, in addition to guiding the user through his
model from inadvertent changes by
the user.
DYNEX INTERFACE
The Dynex.exe program
is
provided by Professional
construction of a user friendly interface.
change the value of model variables.
can be changed are predefined
used by dynex.exe.
to
allow
the
Using Dynex.exe the user can interactively
The seventeen
variables, see Figure 6,
in the file project.dnx; project. dnx is the
The names and
contained in the variable.bat
Dynamo
definitions
file.
17
which
argument
file
of the seventeen variables are
ADJUSTABLE VARIABLES
2.
RJBDSI
DSEPTK
3.
TNERPK.
1.
Real Job Size
in
DSI
Delivered Source Instruction Per Task
Error Rate Per 1000 Delivered Source Instr
.
.
.
4.
HIREDY
5.
ASIMDY
Assimilation Delay
Average Employment
8.
AVEMPT
UNDEST
TOTMD1
9.
TDEV1
10.
DEVPRT
1 1
TPFMQA
6.
7.
Hiring Delay
Task Underestimation Factor
.
Total Mandays
Time to Develope
% of Effort Assumed Needed For Development
.Fraction of Manpower Devoted to Quality
Assurance
12.
INDUST
13.
WCWF1
14.
TRPHNR
Initial
Understaffing Factor
15.
Willingness to Change the Workforce
.% Experienced Employee Effort to Train a
New Employee
AMPPS ....Average Daily Manpower / Staff Expended On
16.
MAXLEN
17.
SAVPER
.
.
.
Project
Max Length Of Project
Save Period For Data
Figure
6.
Adjustable Variables
18
As seen
in Figure 5,
project. dnx
with
as
its
menu. bat
which
calls variable.bat
Dynex.exe
argument.
uses
also
and project.was. The variable values are stored
project.dat,
in turn calls
project. ins,
in project.dat.
dynex.exe
project. smt,
The
values are displayed to the user and then stored again after the user
makes
Whereas the current values only
project.was
to capture the old
are stored in the project.dat
The
user
Professional
is
and new values of the change as a permanent record for the
can
elect
depart
to
user
the
Dynamo Environment by
Professional
Help
files
Dynamo
Environment. The
this
and work
option
in
directly
used
user.
As
model
itself
once inside the
therefore, consult the Professional
in
the
main menu.
the
argument, to place the user in the
its
file "insert" is
required for
PD.com
which provide explanations of the Professional Dynamo features
in the user interface help section.
the
interface
selecting
Menu.bat executes PD.com, with project.dyn as
to execute.
are provided
stated earlier, the user could inadvertently alter
Professional
Dynamo
Dynamo Environment
and
should,
user manual before exercising this option.
RUNNING SIMULATIONS
F.
The
file,
user interface runs the simulation by executing the Professional
SMLT.exe.
and project. smt
G.
his changes.
PROFESSIONAL DYNAMO ENVIRONMENT
E.
as
file,
current
its
argument.
SMLT.exe
Dynamo
requires the three compiled files project. ins, project.dat,
to operate on.
The SMLT.exe
The".rsl" extension
is
file
accepts the
name of
the output file
automatically attached to the argument name.
VIEWING RESULTS
The main menu
Plots, for
offers
viewing simulation
two
selections,
results.
View Variable
The View Variable
the flexibility of selecting the variables he
would
Plots and
View Standard
Plots option provides the user
like displayed.
This option also
provides the capability of displaying the results in tabular or graphical formats.
19
The
user
Professional
interface
Dynamo
file,
displays
the
The user
".rsl".
screen for viewing simulation results.
graphical displays.
If
a
simulation
by
executing
View.exe accepts as an argument a
view.exe.
model name and the extension
of
results
is
the
file
with the
presented the Professional
Dynamo
The user can then choose
he chooses graphical displays, he
is
either the tabular or
limited to six variables per
display.
The View Standard
Plots selection only provides a pre-defined set of points for
display without the flexibility of choosing the variables to be displayed.
file
The
presents the user with a choice of four predefined graphs for display.
executes the Professional
Dynamo
Rep.exe requires two
files as
the ".drs" extension.
The
rep.exe,
file,
arguments: a
file
plot. bat
Plot. bat
which displays the desired graph.
with the
".rsl"
extension and a
file
with
".drs" file is the report specification file; in the plot. bat file
the ".drs" files are plotl.drs, plot2.drs, plot3.drs and plot4.drs.
H.
STORING RESULTS
The user
interface stores simulation results
by calling the Storstat.bat batch
file.
Storstat.bat initially executes rep.exe to display the simulation results according to the
format specified in the "stats"
the file in
in
which
which
file.
Storstat.bat then queries the user for the
to store the simulation results
to store the output
file.
name of
and for the pathname of the directory
Existing files under that name, in the specified
directory, are overwritten.
20
DYNAMICA USER'S MANUAL
V.
A.
INTRODUCTION
The Dynamica Model
is
a software development process
on the concepts of system dynamics.
The model
model which
integrates both the
is
based
management-type
functions, such as planning, controlling and staffing, along with the traditional software
production-type functions, such as design, coding, quality assurance, and testing.
of
application
system
dynamics
concepts
enables
model
the
The
represent
to
the
fundamental feedback processes, where functions interact and affect other functions
the development process.
The model portrays
in
the effect of the feedback relationship
through simulation execution. [Ref. 9:pp. 6-11]
B.
DYNAMICA MODEL REQUIREMENTS
Memory
1
The model
640
K
of
2.
RAM
IBM
requires an
or
IBM
compatible
with a hard disk drive or a 1.2
Meg
XT/AT microcomputer
with
floppy disk drive.
Co-processor
A
math co-processor, although not necessary,
will dramatically reduce the
simulation run-time.
3.
Displays
The model supports monochrome,
MDA, CGA
and
EGA
graphic display
modes.
4.
Software Requirements
The model
C.
requires
MS DOS
or
PC DOS
version 2.xx or
later.
BACKGROUND
The Dynamica model was developed
software development process.
A
with which managers could gain
The combination of
to
accurately represent the complicated
secondary objective was to create a learning tool
understanding of the process they must manage.
integrative design and simulation capability
21
allow users of the
model
to experiment with different variables in the
development process and quickly
see the results of their experimentation.
The Dynamica model was
language.
The model
is
written in Professional
based on four sub-systems:
A
Software Production, Controlling and Planning.
model which
illustrates the interaction
Dynamo,
Human
a simulation design
Resource Management,
high level view of the Dynamica
between the four sub-systems
is
shown
in Figure
7 [Ref. 10:p. 12].
The human resource management sub-system
and transfer of human resources.
depicts hiring, training, assimilation,
The software production sub-system
The planning
design, coding, quality assurance, rework, and testing activities.
system reflects the scheduling
of the project's
activities
system records the progress of the project.
Dynamo
Professional
depicts the
life cycle.
The
sub-
control sub-
[Ref. 10:pp. 11-25]
has a rudimentary
facility,
called
Dynex, for enhancing
models by providing the capability of interactively adjusting the values of the model
variables.
Dynex was used
The
accessible to the user.
to
make seventeen of
user can
now change
dynamica model by providing an easy
displays.
The
shell
was written using
to use
Dynamica model
variables
the value of those variables to suit
The system
the software project being modelled.
the
shell insulates the user
menu
structure
from the
and enhanced screen
a software product called Extended Batch
Language.
D.
STARTING THE DYNAMICA MODEL
The model
the
Dynamica
is
started
files are stored.
main menu options
are
portion of the model.
by selecting option
operating
by issuing the
9.
command "Menu" from
The main menu
numbered so
will then appear, see Figure 8.
that selecting the desired
The user may
exit the
where
the directory
model by
number
The
will activate that
either hitting the "esc"
Option 9 will clear the screen before returning the user
key or
to the
system whereas hitting the "esc" key will not clear the screen before
returning the user to the operating system.
22
HUMAN RESOURCE
MANAGEMENT
Progress
Status
Workforce
Workforce
Available
Needed
SOFTWARE PRODUCTION
Tasks
Complete
|
CONTROLLING
|
schedule
Effort
«r
Figure
7.
Remaining
—
Dynamica High Level View.
23
|
PLANNING
MAIN MENU
THE DYNAMICA MODEL OF SOFTWARE PROJECT MANAGEMENT
1
2
3
4
5
6
7
8
9
Choose an
option:
(ESC
MODEL REQUIREMENTS
HELP FACILITIES
SET MODEL VARIABLES
RUN SIMULATIONS
VIEW VARIABLE PLOTS
VIEW STANDARD PLOTS
STORE RESULTS
PROFESSIONAL DYNAMO INTERFACE
EXIT TO DOS
exits
menu):
Figure
8.
Main Menu
24
E.
MAIN MENU
The menu system
the user.
The system
main menu
is
presents a simple and logical view of the
designed to
each selection
after
model variable changes, model
transferring to the Professional
The
as depicted in Figure 9.
are carried out directly
Dynamo
the
Dynamo
to the
as seen in Figure 8,
user
storing
results,
results,
and
environment.
options produce sub-menus with multiple options,
four options which are not sub-menus drive tasks which
by the main menu.
menus present
option
viewing
simulations,
menu
Five of the nine main
menus because
The main menu,
to
which distinguish the primary system functions of system help,
offers nine options
Professional
main menu and return the user
start at the
completed.
is
Dynamica model
interface
The View Variable
Plots option and the
slightly different formats than the other sub-
environment must
call
Dynamo
Professional
to
accomplish those tasks.
F.
HELP INFORMATION
Selecting the "help" option of the main
Option
10 to be presented.
explanation of the
(1) of the help
Dynamica model.
menu
menu
causes the help
menu, Model Introduction,
Option
(2) of the help
in
Figure
a one page
is
menu, On-line Help,
is
a single screen explaining the potential for on-line help and the limited availability.
Presently there
the
in
is
only one screen installed and
it
is
in the "Set Variables" section
Selecting option (3) of the help menu, Professional
program.
Dynamo
Help, results
an intermediate screen appearing which explains that the following help
for experienced users
Dynamo
help
Professional
is
who
are familiar with Professional
provided to support the user
Dynamo environment by
who
Dynamo.
elects
to
selecting the Professional
main menu.
25
of
is
intended
The Professional
work
directly
Dynamo
in
the
option of the
MAIN MENU
1
1
OPTION
1
1
2
OPTION
1
OPTION
3
1
OPTION
5
6
OPTION
1
1
1
1
1
1
1
1
1
1
8
HELP
SET
PROF
VIEW
MENU
MODEL
DYNAMO
STANDARD
DYNAMO
VARIABLES
VIEWER
PLOTS
MAIN
MENU
MENU
MENU
MENU
1
1
1
1
1
OPTION
1
1
3
OPTION
1
1
1
1
OPTION
2
3
1
1
PROF
DEFINITIONS
SET
DYNAMO
MODEL
HELP
OF
VARIABLES
MENU
MENU
MENU
VARIABLES
(in
Figure
9.
PD)
Menu
26
Structure
PROF
The
Professional
Dynamo
help menu, see Figure 11, offers an overview of the
available help and seven options for help
on Professional Dynamo
features.
HELP FACILITIES
Choose an
option:
1.
MODEL
2.
ON-LINE HELP
3.
PROFESSIONAL
(ESC
exits
file.
An
the help sections
Main Help Menu
help
file
the letter
on Professional Dynamo
commands
active for viewing the help
and returns to the Professional
"Q" or the
letter
"X".
Dynamo
G.
Dynamo
help
file.
menu by
help
at
the
bottom of the
The user
exits that
hitting the "esc" key,
Selecting "?" from within the help editor displays the
available features of the editor for viewing the help
Professional
actually an individual text
is
The menu bar
editor lists the desired file for viewing.
screen describes the
DYNAMO HELP
menu):
Figure 10.
Each of
FACILITIES
menu upon
files.
The user
is
returned to the
exiting a help file viewing session.
CHANGING THE VALUE OF MODEL VARIABLES
The Dynamica model designer has provided
of the model variables, see Figure 12.
the user with access to seventeen
The user can review
the definitions of the
seventeen variables and then change the value of any of those variables by selecting
the "Set
Set
Model Variables" option of
Model Variables menu, Figure
the
main menu.
Selecting this option causes the
13, to be displayed.
Selecting option (1), List Variables, of this
seventeen variables, Figure 14, to be displayed.
menu
The
causes a two page
list
of the
variables were assigned to the
following four categories for ease of access: Actual Job Size, Variables Characteristic
of the Organizational Environment, Policy Variables, and Model Control.
These
categories are used to view the variable definitions and to change the variable values.
27
PROFESSIONAL
DYNAMO HELP
THE FOLLOWING MENU PROVIDES ACCESS TO PD HELP FACILITIES
OVERVIEW OF PD HELP
1.
Choose an
option:
2.
DYNEX HELP
3.
EDITOR HELP
4.
SIMULATION HELP
5.
TOOLS HELP
6.
TRANSLATOR HELP
7.
UTILITIES HELP
8.
VIEW HELP
(ESC
exits
menu):
Figure 11. Professional
28
Dynamo Help Menu
ADJUSTABLE VARIABLES
1.
RJBDSI
2.
DSJPTK
3.
TNERPK.
4.
HIREDY
5.
ASIMDY
Assimilation Delay
Average Employment
8.
AVEMPT
UNDEST
TOTMD1
9.
TDEV1
10.
DEVPRT %
1 1
TPFMQA
12.
INDUST
13.
WCWF1
6.
7.
Real Job Size in DSI
.
.
.
Delivered Source Instruction Per Task
Error Rate Per 1000 Delivered Source Instr
Hiring Delay
Task Underestimation Factor
Mandays
Total
Time
.
of Effort
Fraction of
Assumed Needed For Development
Manpower Devoted
Initial
.
.
Develope
to
to Quality
Understaffing Factor
Willingness to Change the Workforce
15.
TRPHNR
AMPPS
16.
MAXLEN
Max
17.
SAVPER
Save Period For Data
14.
.% Experienced Employee Effort
.
Assurance
Average Daily Manpower
/
to Train a
Staff
Expended
Length Of Project
Figure 12. Adjustable Variables
29
New Employee
On
Project
SET
Choose an
option:
MODEL VARIABLES
VARIABLES
1
LIST
2
DEFINITIONS OF VARIABLES
3
SET VARIABLES
(ESC
exits
menu):
Figure 13.
Model Variable Menu
30
LISTING OF VARIABLES
The following 17 model
variables of
adjustable via the
They
I.
grouped
ACTUAL PROJECT
1.
H.
are
in
are
4 categories for easy access.
SIZE
RJBDSI
VARIABLES
Dynamica
menu.
Real Job Size in DSI
CHARACTERISTIC
THE
OF
ORGANIZATIONAL
ENVIRONMENT
A.
Productivity
B.
Quality
2.
3.
C.
.
.
TNERPK.
.
Delivered Source Instruction Per Task
Error Rate Per 1000 Delivered Source Instr
Staffing Variables
5.
HIREDY
ASIMDY
Hiring Delay
Assimilation Delay
6.
AVEMPT
Average Employment
4.
m.
DSJJTK
POLICY VARIABLES
A.
Estimation
8.
UNDEST
TOTMD1
9.
TDEV1
7.
B.
Task Underestimation Factor
Total
Time
to
Mandays
Develope
Resource Allocation
10.
DEVPRT %
1 1
TPFMQA
of Effort
Fraction of
.
Assumed Needed For Development
Manpower Devoted to Quality
Assurance
C.
12.
INDUST
13.
WCWF1
.
.
Understaffing Factor
Willingness to Change the Workforce
Staffing
14.
TRPHNR
Train a
15.
AMPPS
On
IV.
Initial
...
of Experienced Employee Effort to
New Employee
.
Average Daily Manpower
/
Staff
Expended
Project
MODEL CONTROL
MAXLEN
16.
17.
%
SAVPER
Max Length Of Project
Save Period For Data
Figure 14. Adjustable Variable Selection
31
Menu
Each
variable, except for the Real
what area of the model the variable
indicates
name
Job Size
in
DSI,
is
The
falls.
under a label which
listed
variable abbreviation and full
are then given.
Model
Selecting option (2),
appear, see Figure
15.
Definitions, causes the
Model
menu
Definitions
to
Selecting one of the four variable categories results in the
displaying of the definitions of the variables in that category.
After selecting a
category for viewing, the user must page through the definitions of that category in
order to return to the
Variables
menu from
Model
the
Definitions menu.
Model
The
menu by
Definitions
Selecting option (3), Set Variables, of the Set
Set
Model Variables/ Dynex Menu
to
menu
may
return to the Set
Model Variables menu, causes
The user can
menu
This
16.
is
the
again
select option (5) to
The
he accidentally chose the Set Variables menu.
if
Model
hitting the "esc" key.
be displayed, see Figure
organized by the same four previous categories.
return to the previous
user
user
can select whichever categories he would like to edit by typing the category numbers
separated by
commas
or spaces and then pressing "enter".
Selecting a category allows
Each variable
the user to change the values of any of the variables in that category.
with
in that category is displayed
new
value and
hit
"enter"
to
assign a
new
alternately accept the presently assigned value
variable in that category
is
The user may
currently assigned value.
its
value to the variable.
by simply pressing
category has been edited.
to the Set
Variables
option
new
H.
to
to the
make
further
The user can
when
at that
may
The next
variables of
the previous
is
returned
point again choose the Set
changes or corrections to the model variables.
model variables
are saved so that the next time the
model
is
used
values are displayed.
RUNNING A SIMULATION
Selecting option (4),
model simulation
right
The
the last category has been edited the user
Model Variables menu.
Changes made
the
When
user
"enter".
then automatically displayed for editing.
the next category selected for editing are automatically presented
The
enter a
comer of
to run.
Run
A
Simulations, of the main
running
tally
menu
of the run-time
the screen.
32
is
causes the Dynamica
displayed in the lower
DEFINITIONS OF VARIABLES
Choose an
option:
1
ACTUAL PROJECT
2
ORGANIZATIONAL ENVIRONMENT VARIABLES
3
POLICY VARIABLES
4
MODEL CONTROL VARIABLES
(ESC
exits
SIZE
menu):
Figure 15. Definitions of Variables
33
Menu
MODEL VARIABLES
DYNEX MENU
SET
1.
ACTUAL PROJECT
2.
ORGANIZATIONAL ENVIRONMENT VARIABLES
3.
POLICY VARIABLES
4.
MODEL CONTROL VARIABLES
5.
RETURN TO MAIN MENU
SIZE
Enter the number(s) of your selected choices.
(Separate each choice by a space or a
Figure 16.
Dynex
34
Set
comma.)
Model Variables Menu
The simulation uses
The
the
most recent variable values which are saved
results of the simulation are stored in a file
The user may then view
menu.
and the user
is
in a file.
returned to the main
the simulation results via options (5) or (6) of the
main menu.
VIEWING THE RESULTS OF A SIMULATION
I.
Options
1.
The
results of a simulation
Plots, or option (6),
View Standard
View Variable
2.
Plots, of the
via option (5),
View Variable
main menu.
Plots Option
The View Variable
six
may be viewed
Plots option provides the flexibility of specifying
up
to
of thirty variables for display on the same graph; see Figure 17 on the following
The user may
page.
alternately
After the user selects option (5) of the main
graphical presentation.
asked
if
in the
choose to see a tabular presentation instead of a
the graph should be displayed in
monochrome mode. Following
menu
the user
is
Enhanced Graphics Adaptor(EGA) mode or
mode
either response to the display
question,
Figure 18 appears.
"Viewing
Project: Plot Select_Tabulate Tabulate_All
Figure 18. Viewing Project
"Plot"
is initially
Old Help Esc Quit"
Menu
highlighted but the highlight can be
options by using the keyboard arrows.
moved
to
any of the other
The highlighted option can be executed by
hitting "enter".
An
of the option.
Selecting either option "Esc" or "Quit" returns the user to the main
menu.
A
alternate
view session
is
method of executing an option
active until the user returns to the
option "Old" results in the user being prompted for the
like to display.
If the
sound.
is
The view must have been
to type the capital letter
main menu.
number of
the
Selecting
view he would
created during the present view session.
user has just begun the view session and not created a view yet a "beep" will
Upon
leaving the Viewing menu, by escaping or quitting to the main menu,
the views defined during that session are lost as well as your choice of display
35
mode.
LIST OF
TMPRMR DEVMD
CUMERG CUMMD
TDEV
PDEVRC
CMERES
CUMTKT
FRWFEX SDVPRD
CMTSMD
FTEQWF
TOTWF
MPPTPD
AFMDPJ
OUTPUT VARIABLES
TOTMD TSTMD ASSPRD COMMOH
PMDSHR POTPRD PRCTDT PRDPRD
CMQAMD CMRWET CMRWMD CMTKDV
JBSZMD
PBJSZ
Figure 17. List of Output Variables
36
SCHCDT
menu
Selecting the "Plot" option of the Viewing
thirty
A
being displayed.
variables
blinking
A
variables by using the keyboard arrows.
the cursor to
it
and highlighting
be selected for any one display.
user
may
is
cursor can be
variable
is
The
may
terminated by hitting "enter".
to
any of the
selected for display by
moving
be plotted but not adjusted.
If the
may
beyond the seventeen
additional variables,
that
moved
Six of the thirty variables
hitting "enter".
model variables
adjust, are other
selection process
by
it
results in the abbreviations of
EGA mode
is
the
The
chosen, the
selected variables are plotted in different colors and a color coded legend of the
variables
in
is
displayed
Figure 19 appears
top of the graph.
at the
at
view_no
Next
#:
Figure 19.
Each time
the
user
selects
consecutive view number
view number.
displayed.
the variables are plotted, the
"Plot",
View # Menu
"Select_Tabulate",
The
assigned to that view.
is
Quit"
Esc
Print
"Tabulate_All"
or
is
numbered view
actually part of "Next" and not an option
"Esc" by hitting the "esc" key returns the user to the Viewing menu.
returns the user to the
display selected variables in a tabular format.
The
process however, the user
is
selection process
interval.
The
selected variables
The "Next",
The
itself.
to be
Choosing
Selecting "Quit"
is
the
are
The
user
is
menu
allows the user to
thirty variable abbreviations are
same
not limited to six variables.
completed by hitting the "esc" key.
interval.
next
main menu.
Selecting the "Select_Tabulate" option of the Viewing
displayed for selection.
the
"#" will reflect the assigned
Selecting "Next" causes the next consecutively
"View_no"
menu
bottom of the graph display:
the
"View
Once
as described in the "Plot"
The
selection process
is
then prompted to enter the display
then displayed in accordance with the given
"Esc", and "Quit" options are described above in the Viewing
section.
37
The "Tabulate_All" option of
The user
of the listed model variables.
in the
Viewing
functions by simply selecting the
full
number and
names of
main menu
The user can
appearing, Figure 20.
plot, the plot
"Esc", and "Quit" options are described
Plots Option
Selecting option(6) of the
Menu
its
the variables.
menu
select
The
monitor.
on the screen.
"Y"
Plots
one of the four pre-defined plotting
After selecting the desired
shows the variables by
Figure 21
EGA
is
The user
made.
monitor or "N"
if
number; the
plot
is
also asked
on
he has a monochrome
variables associated with the particular plot will then be plotted together
The
display will be in either
Selecting either "Esc" or
user's declaration.
"View Standard
user to the
View Standard
variables will be displayed so that the user can see the
he has an
if
results in the
option number.
appropriate set will be displayed before the plot
this screen to type
all thirty
section.
View Standard
3.
the values of
again prompted for the display interval
is
The "Next",
before the variables are displayed.
above
Viewing menu displays
the
Plots"
monochrome
"Q" from
or
EGA, depending on
the
this plot screen will return the
menu. The "Next view" option
is
inoperative on the
standard plot screens.
J.
SAVING SIMULATION RESULTS
The
results of a simulation are
of the main menu.
example
The
in Figure 22.
project statistics.
results
As seen
The user
is
saved by selecting option
are first displayed for inspection, as
in Figure 23, the information to
prompted
to provide a filename
save the results under.
Any
by the new
If the user hits "enter"
results file.
(7), Storing Results,
previous
file
shown
be saved
is
in the
overall
and a directory path
to
under the given filename will be replaced
in the default directory.
38
without a pathname, the
file is
stored
PLOTTING RESULTS
THE FOLLOWING MENU ALLOWS THE USER TO VIEW
AND SAVE 4 PREDEFINED PLOTS.
OVERVIEW PLOTTING FUNCTIONS
Choose an
option:
1
PLOT
1
2
PLOT
2
3
PLOT
3
4
PLOT
4
(ESC
exits
menu):
Figure 20. Plot Selection
39
Menu
PLOT
1
GRAPHS THE FOLLOWING VARIABLES:
ESTIMATED SCHEDULE IN DAYS
SCHCDT
PJBSZ
PERCEIVED PROJECT SIZE IN TASKS
JBSZMD
ESTIMATED PROJECT COST
CUMMD
PLOT
2
CMTKDV
CUMTKT
CUMMD
ESTIMATED % DEVELOPMENT COMPLETE
PDEVRC
PLOT
3
TOTWF
FRWFEX
IS
EXPERIENCED
PRODUCTIVITY
COMMOH
PLOT
PMDSHR
GRAPHS THE FOLLOWING VARIABLES:
TOTAL WORKFORCE
FRACTION OF WORKFORCE THAT
SDVPRD
PJBSZ
CUMULATIVE MAN-DAYS EXPENDED
GRAPHS THE FOLLOWING VARIABLES:
CUMULATIVE TASKS DEVELOPED
CUMULATIVE TASKS TESTED
CUMULATIVE MAN-DAYS EXPENDED
PERCEIVED PROJECT SIZE IN TASKS
PJBSZ
JBSZMD
MAN-DAYS
TOTAL WORKFORCE PEOPLE
TOTWF
AFMPDJ
IN
4
COMMUNICATION OVERHEAD
GRAPHS THE FOLLOWING VARIABLES:
ACTUAL FRACTION OF A MAN-DAY ON PROJECT
PERCEIVED TOTAL JOB SIZE IN MAN-DAYS
PERCEIVED JOB SIZE IN TASKS
PERCEIVED SHORTAGE IN MAN-DAYS
Figure 21. Standard Plot Variables
40
PROJECT STATISTICS:
COMPLETION TIME
4.00
TOTAL MAN-DAYS
3.35
TOTAL DEVT MD
DAYS
MAN-DAYS
MAN-DAYS
3.35
DESIGN & CODE
QA MD
TOTAL TESTING
1.09
MD
OVERALL-PRODUCTIVITY
TOTAL ERRORS
MAN-DAYS
MAN-DAYS
2.26
.00
7,162.50
76.12
Figure 22. Simulation Results
41
DSI/MAN-DAYS
ERRORS
1.28
% ERRORS DETECTED BY QA
MAN-DAYS
PERCENT
***BAT.COM
***HELP.BAT
*
*
*
***LIST.COM
*
*
*PD.HP
*
*
*DYNEX.HP
*
*
*EDTR.HP
*
*TOOLS.HP
*TRNS.HP
*
*UTILS.HP
*
*VIEW.HP
*
***VARIABL.BAT
*
*
***DYNEX PROJECT.DNX
MENU.BAT**
***SMLT PROJECT *GO=
*
***VIEW PROJECT.RSL
***PLOT.BAT
*
*
*REP PROJECT PLOT1.DRS
*
**************pj3p PROJECT PLOT2 DRS
*
*REP PROJECT PLOT3.DRS
*
*REP PROJECT PLOT4.DRS
*
***STORSTAT.BAT
*
*
*
*
***REP PROJECT STATS
***PD PROJECT.DYN
*
***INSERT
Figure 23. File Hierarchy
42
K.
PROFESSIONAL DYNAMO ENVIRONMENT
The user may work
option
(8),
Professional
directly in the Professional
Dynamo
Interface,
actually transferred to the Professional
Dynamo Environment by
from the main menu.
Dynamo Environment,
stating that the user should only enter the Professional
Before the user
a message
point
may
hit
Professional
"esc" to return to the
Dynamo
Environment.
Dynamo
main menu or
The
Professional
is
user manual.
hit
is
displayed
Dynamo Environment
needs to change variables other than the seventeen accessible variables.
also advises the user to read the Professional
selecting
if
he
The message
The user
at that
"enter" to proceed to the
Dynamo main menu
is
depicted
in Figure 24.
Commands:
Edit
Compile Simulate View Tools Help Quit
Figure 24. Professional
Dynamo Main Menu
Help on the Professional Dynamo options may be obtained through option
Help
Facilities,
of the Dynamica model main menu.
43
(2),
VI.
CONCLUSIONS
ACCOMPLISHMENTS
A.
User Interface
1.
A
literature search
and guidelines resulting from
Significant
interface.
areas
was conducted on user
that research
of
were applied
development
improved the performance and
levels
principles
in the design of the user
menu
included
standardizing menus, and improvements in control paths.
menu
The
interface design.
structure
selection,
Selection of the appropriate
Previous
of the interface.
intelligibility
non-standard portions of the interface were converted to consistent color and border
schemes and menu layouts.
Controls were added to change the
menu
consistently place the user in an expected and easily recognizable location.
directly
model's environment was installed in the interface.
the
to
A
paths to
window
Appropriate
safeguards were included to adequately protect the user from inadvertently activating
that
window.
Concentrated effort was expended to heighten the user's situational
awareness by adding status information to verify the user's location, task
status,
and
advice for what to do next.
2.
User's
A
Manual
literature
The
search was conducted on user's manual development.
guidelines and recommendations of that research were applied to the development of
a user's manual.
B.
LESSONS LEARNED
The
earlier attempt at a user interface tried to
fill
retrieval times
and date/time stamps to assure the user the program was
The
earlier version
undertaken on an
disappeared.
was developed on an
IBM AT
IBM
PC.
Two
still
years
with messages
functioning properly.
later, this effort
compatible where the perceptible retrieval times had
The previous message
fillers
therefore removed.
44
were now
a
all
was
but
waste of time and were
The previous design attempted
batch
own
files
text
consolidated
more
Every message was separately contained
for virtually every task.
file,
presumably
many
to
facilitate
of the batch
menu
flexibility in the
on modularity by creating separate
to capitalize
which resulted
files
Many
structure.
The present design
modifications.
future
in faster
in its
program execution and
of the smaller messages, that typically
were smaller than one screen, were incorporated
into the
body of the batch
files
which
again shortens execution time.
C.
FUTURE DIRECTION
The
capability
has
capability
exists
been
on-screen help
for
implemented.
facilities,
Extensive
help
but only
facilities
a token of this
would enhance
the
educational value of the model.
The previous design saved program output by appending them
The present design provides
to save the file under.
an old
file exists
values.
(COCOMO), which
link to a
COCOMO
Presently
variables.
the
A
name
COCOMO
is
name
is
file.
for the file and a path
already exists,
it
will be erased
it.
stands
for
COCOMO
Intermediate
values or to provide
Constructive
Cost
Model
a type of cost-estimation tool for software development.
program
at that
interface
allows the
verify
point
would be
user to
A
a valuable educational feature.
change the values of the model
what the values are by walking through the change
strong recommendation
would be
to provide a single screen
of the variables and their values that the user could view.
option
same
safeguard should be programmed to warn the user
the user to accept the model's
The user can
process again.
A
file.
before erasing
The model asks
COCOMO
of the same
If a file
and replaced by the new
if
the capability to identify a
to the
summary
Another recommended
a display of the most recently changed variables and their values which the
user could review before running the model.
The model provides
would be
the capability for a "gaming" feature.
a natural option
from the user interface and
future enhancement.
45
is
The gaming
therefore a
feature
recommended
LIST
1.
Haury, Carson
E.,
OF REFERENCES
Design and Development of a User Interface for the Dvnamica
Project Management Master's Thesis, Naval Postgraduate
Model of Software
,
School, Monterey, California,
2.
Shneiderman, Ben, Designing the User Interface: Strategies for Effective HumanInteraction Addison-Wesley Publishing Co., 1987.
Computer
3.
March 1988.
Card,
,
Stuart
K.,
Command Menus,"
"User Perceptual Mechanisms in the Search of Computer
Proceedings on Human Factors in Computer Systems March
,
1982.
4.
PC Tech
Covington, Michael A., "Documentation That Works,"
Journal
.
January
1985.
5.
Machines Corporation, IBM Research Report RC 9849,
Doing the Same Work With Hardcopy and With Cathode Ray Tube (CRT)
Terminals by John Gould and Nancy Grischkowsky, 20 January 1983.
International Business
,
6.
Hedin, Anne, "Unburden the User! Build and
Small Systems World January 1985.
Buy
Friendlier Documentation,"
,
7.
Pugh HI, Alexander
L.,
DYNAMO
Users Manual
,
6th Edition, Pugh-Roberts
Associates, 1986.
8.
Canova, Frank, Extended Batch Language Users Guide Version
,
3,
Seaware Corp,
1986.
9.
Abdel-Hamid, Tarek k. and Madnick, Stuart E., "Managing Software Projects:
An Integrative System Dynamics Modeling Approach," Naval Postgraduate School
Working Paper No. 87-14, June 1987.
10.
Abdel-Hamid, Tarek K. and Madnick, Stuart E., "An Integrative System Dynamics
Perspective of Software Project Management: Arguments for an Alternative
Research Paradigm," Naval Postgraduate School Working Paper No. 87-09, May
1987.
46
APPENDIX
BATCH AND TEXT FILE LISTINGS
.********************,t,]^y^ MENU BATCH FILE*****************
ECHO OFF
CLS
GRAPHICS
bat
/N
/p /s *
Loading
...
...
MODEL MENU
Call -topi
Exit
goto
-top
-topi
%A
=
-top%A
1
color \1F
ram
els
begtype
MAIN MENU
\1A
\1A
\1F
THE DYNAMICA MODEL OF SOFTWARE PROJECT
MANAGEMENT.
\1F
\1D
1
\1D 2
\1F
MODEL REQUIREMENTS
\1F
HELP FAdLITIES
47
Choose an
SET
\1D 4
\1F
RUN SIMULATIONS
\1D
5
\1F
VIEW VARIABLE PLOTS
\1D 6
\1F
VIEW STANDARD PLOTS
\1D
7
\1F
STORE RESULTS
\1D
8
\1F
PROFESSIONAL
\1D 9
\1F
EXIT TO DOS
(ESC
option:
MODEL VARIABLES
\1F
\1D
3
exits menu):;
end
%0
-lstkeyl inkey
if
%0
if
I
%0
= keyOlb
# =
type %0;
1
return
goto -%0~1
-2ndkeyl inkey
%1
I
if
%1 # =
1
type %1;
if
%1 = keyOlb
return
if
%1 = key020
goto -$%0$1
if
%1 = keyOOd
goto -$%0$1
48
DYNAMO INTERFACE
if
%1 = key008
if
%1 =
goto
1-1 ****
goto -topi
key 14b goto -topi
-%0%11
INTRODUCTION TO THE MODEL MENU
CALL
****
-top2
bat /p /s goto -topi
_2~i ****
HELP FACILITIES
****
BAT CLS
BAT SHELL BAT
/R
HELP.BAT
bat /p /s goto -topi
-3-1 ****
VARIABLE MANIPULATION
BAT CLS
BAT SHELL BAT
/R
****
VARIABL.BAT
bat /p /s goto -topi
4^! **** RUNNING SIMULATIONS ****
BAT CLS
SMLT PROJECT -GO
=
bat /p /s goto -topi
-5-1
****
VIEW VARIABLE PLOTS
CALL -top3
********************
bat /p /s goto -topi
_(r~i
****
************
VIEW STANDARD PLOTS
BAT CLS
BAT SHELL BAT
/R
PLOT.BAT
49
bat /p /s goto -topi
-7-1 ****
STORING STATISTICS
BAT CLS
BAT SHELL BAT
/R
****
STORSTAT.BAT
bat /p /s goto -topi
****
.g~i
PROFESSIONAL
CALL
DYNAMO ENVIRONMENT
****
-top4
bat /p /s goto -topi
-9-1 ****
EXIT TO DOS ****
BAT CLS
BAT EXIT
bat /p /s goto -topi
-%0~1
-$%0$1
-%0%11 beep
-top2
%A
goto -topi
= 2
color \1 F
ram
els
begtype
MA
1.
DYNAMIC A REQUIREMENTS
PROGRAM AUTHOR:
50
\1F
DYNAMICA IS A SOPHISTICATED SIMULATION MODEL FOR
SOFTWARE
DEVELOPMENT PROJECT MANAGEMENT.
THE MODEL WAS
WRITTEN BY
DR. TAREK K. ABDEL-HAMID IN PROFESSIONAL DYNAMO.
2.
HARDWARE REQUIREMENTS:
MEMORY: THE MODEL REQUIRES AN IBM OR IBM COMPATIBLE
XT/AT MICROCOMPUTER,
WITH 640 K OF RAM AND A HARD DISK OR 1.2 MEG
FLOPPY.
CO-PROCESSOR: ALTHOUGH NOT NECESSARY, THE USE OF A
MATH
CO-PROCESSOR
DRAMATICALLY
WILL
REDUCE
THE
SIMULATION
EXECUTION TIME.
DISPLAYS: THE
MODEL SUPPORTS MONOCHROME, MDA, CGA AND
EGA GRAPHIC MODES.
3.
SOFTWARE REQUIREMENTS:
THE MODEL REQUIRES MS OR PC DOS
MA
HIT
OR GREATER.
ANY KEY TO CONTINUE
END
INKEY
return
-%0~2
-$%0$2
-%0%12 beep
2.xx
goto -top2
51
\1F
-top3
%A
=
3
color \1F
ram
els
begtype
YOUR RESULTS ARE BEING PREPARED FOR VIEWING
YOU HAVE AN EGA GRAPHICS CARD TYPE
FOLLOWED BY ENTER.
IF
YOU DO NOT HAVE AN EGA CARD TYPE
FOLLOWED BY ENTER.
IF
END
BAT INKEY %0
BAT IF Y = %0 THEN GOTO -EGA
BAT ELSE GOTO -OTHER
BAT -EGA
VIEW PROJECT.RSL
BAT CLS
GOTO -ENDEGA
BAT -OTHER
VIEW PROJECT.RSL -PLM 6
BAT CLS
BAT -ENDEGA
return
-%0~3
52
(y)
(n)
!
-$%0$3
-%0%13 beep
-top4
%A
goto -top3
= 4
color \1 F
ram
els
begtype
DYNAMO ENVIRONMENT
PROFESSIONAL
\1A
\1F
This option allows the user to bypass the basic Dynamica interface
and work
directly with the Professional
The user should only
Dynamo
interface.
select this option if there is a
need to access more
than the standard seventeen variables provided in the basic interface.
The
user should consult the Professional
before attempting to
\1A
Press
work from
Dynamo
the Professional
\1D<ENTER> MAto
reference manual
Dynamo
interface.
access the Professional
Dynamo
\1F
or
\1A
Press
\1D<ESC> MAto
return to the
53
Main Menu!
\1F
interface
end
INKEY %1
I
if
%1 = keyOlb
goto -topi
PD PROJECT.DYN
return
-%0~4
-$%0$4
-%0%14
beep goto -top4
-on.errorif
%R
> 82
if
%R
< 90
type
!!
Cls beep type Unexpected batch
Floating Point Error
file
error
54
%R
in line
!!
Igoto -Calc.
%L
lexit
.********************* HE Lp
BAT
BATCH
FILE**********************
/P /S
Call -top3
Exit
-top3
%A
=
3
color \1F
ram
els
begtype
MA
HELP FACILITIES
1
\1F
MODEL INTRODUCTION
\1D 2
\1F
ONLINE HELP
\1D
\1F
PROFESSIONAL
\1D
3
55
DYNAMO HELP
\1F
Choose an
(ESC
option:
exits menu):;
end
%0
-lstkey3 inkey
%0
if
if
I
%0
= keyOlb
# =
type
1
%0;
return
goto -%0~3
%1
-2ndkey3 inkey
I
if
%1 # =
type %1;
1
if
%1 = keyOlb
return
if
%1 = key020
goto
if
%1 = keyOOd
goto -$%0$3
if
%1 = key008
goto -top3
if
%1 = key 14b
goto -top3
-$%0$3
-%0%13
goto
DYNAMICA INTRODUCTION
-1-3 ****
****
BAT CLS
BAT COLOR IF
BAT BEGTYPE
\1A
MODEL INTRODUCTION
The Dynamica Model of Software
Abdel-Hamid,
The model,
functions
is
a comprehensive
written in Professional
(e.g.,
effect
model of the software development process.
Dynamo,
By
integrates both
management
reviewing and testing).
primary role of the Dynamica Model
aid to increase the
process.
Management, created by Tarek K.
planning, control, and staffing) with software production
activities (e.g., design, coding,
A
Project
\1F
is
manager's understanding of
to serve as
an instructional
the software development
manipulating the program variables, the manager can see the
changes have on the overall process.
The Dynamica Model can be an
effective tool for the software project
56
manager
in the actual
management
process.
Variables, such as estimated
project cost and schedule completion time, can be changed and simulations
run within minutes.
This rapid return of
results, for
contemplated program
changes, allows the manager to consider more alternatives in greater depth.
A
total
of seventeen variables, from both the management functions and
the software production activities, can be easily changed by the casual user.
If a
more knowledgable user has
variables, a lower
program
MA
the requirement to alter the other
level is accessable to
HIT
make
Dynamica
those changes.
ANY KEY TO CONTINUE!
\1F
END
BAT INKEY
BAT CLS
bat /p /s goto -top3
-2-3 ****
ONLINE MODEL HELP INFORMATION
BAT CLS
BAT COLOR
****
IF
BEGTYPE
ONLINE HELP
\1A
Online help
is
available
SECTION NO.
3
\1F
from inside the following program
SECTION
Setting
sections:
NAME
Model Variables
Access online help by typing 'H' when an input
57
is
required.
HIT
\1A
ANY KEY TO CONTINUE!
\1F
END
INKEY
CLS
bat /p /s goto -top3
-3-3 ****
PROFESSIONAL
DYNAMO HELP
****
els
begtype
\1A
Professional
PROFESSIONAL
Dynamo
help
is
DYANMO HELP
intended for those users
58
who
MF
need
to access directly the Professional
Dynamo
Option (8) of the main menu provides access
Dynamo
interface.
to the Professional
interface.
Press
<ENTER>
to continue with Professional
Dynamo Help
or
Press
<ESC>
to return to the
end
INKEY %3
I
if
%3 = keyOlb
goto -top3
call -top4
bat /p /s goto -top3
-%0~3
-$%0$3
-%0%13 beep
-top4
%A
goto -top3
= 4
color \1F
ram
els
begtype
59
HELP
menu!
PROFESSIONAL
\1A
DYNAMO HELP
\1F
MA
FACILITIES.
THE FOLLOWING MENU PROVIDES ACCESS TO PD HELP
\1F
\1D
1
MF OVERVIEW OF PD HELP
\1D 2
\1F
DYNEX HELP
\1D
\1F
EDITOR HELP
3
\1D 4
MF SIMULATION HELP
MD
5
MF TOOLS HELP
MD
6
MF TRANSLATOR HELP
MD
7
MF
UTILITIES HELP
60
\1D
Choose an
(ESC
option:
\1F
8
VIEW HELP
exits menu):;
end
-lstkey4 inkey
if
%0
%0 =
goto
if
I
%0
keyOlb
# =
type
1
return
-%0~4
-2ndkey4 inkey
%1
I
if
%1 # =
1
type %1;
if
%1 = keyOlb
return
if
%1 = key020
goto
-$%0$4
if
%\ = keyOOd
goto
-$%0$4
if
%1 = key008
goto -top4
if
%1 =
goto
-1-4 ****
%0;
key 14b goto -top4
-%0%14
OVERVIEW OF PD HELP
****
BAT CLS
L PD.HP
bat /p /s goto -top4
_2~4 ****
DYNEX HELP
****
BAT CLS
L DYNEX.HP
bat /p /s goto -top4
.3^4 ****
EDITOR HELP
****
BAT CLS
L EDTR.HP
bat /p /s goto -top4
61
_4~ 4 ****
SIMULATION HELP
****
BAT CLS
L SMLT.HP
bat /p /s goto -top4
.5-4 ****
TOOLS HELP
****
BAT CLS
L TOOLS.HP
bat /p /s goto -top4
_6~4 ****
TRANSLATOR HELP
****
BAT CLS
L TRNS.HP
bat /p /s goto -top4
-7-4 ****
UnLITIES HELP ****
BAT CLS
L UTILS.HP
bat /p /s goto -top4
-8-4 ****
VIEW HELP
****
BAT CLS
L VIEW.HP
bat /p /s goto -top4
-%0~4
-$%0$4
-%0%14
beep goto -top4
62
.**************** PROFESSIONAL
DYNAMO HELP TEXT
FILE*********
***************************************************
PROFESSIONAL
*
DYNAMO PLUS HELP OVERVIEW
*
***************************************************
is
the
Overview of the on-line Professional
Each of
the
commands of PD
This
Plus
is
module,
"context
PD
-
Plus
Plus
sensitive" so that
is
knows where you
DYNAMO HELP
The
described here.
when you
call for
HELP
facility.
capability in
PD
help from a particular
are and will display the
HELP
screens
appropriate to your location in the product.
You
can
HELP
call for
from
PD
command
Plus or from the
level of any of the
following modules:
-
Editor
-
Simulator
-
Viewer
-
Translator
Each of
the
PD
Plus modules listed above has
its
own Help
provide more information about the particular module.
command
line at the
files that
With your cursor
bottom of your screen, you may invoke
HELP
in the
either
by
Press Enter for the next page
typing the letter "H", or by moving your cursor over the word "Help" with the
arrow keys and pressing the
ENTER
key.
63
If
PD
you desire more
detail, please refer to the appropriate section in the
Plus Reference Manual.
For more information on a particular module or
PD
Plus
commands
level, type
the capilalized letter of one of the following:
-
PD
-
Edit
-
Compile
-
Simulate
-
Document
-
dyneX
-
Report
-
cOnvert
-
reFormat
-
Translate
-
Quit and esc
View
Professional
DYNAMO
Plus
The screen following
level."
This
empty except
is
the
Commands
PD
the top of the
introductory screen
command
hierarchy.
for a highlighted line at the
Commands:
Edit
Compile
Simulate
is
called the "top
Your screen should be
bottom with the following:
View
Tools
Each of these commands may be invoked by typing the
64
command
Help
first letter
Quit
of the
command,
or by positioning the cursor over the
pressing the
ENTER
(Note: the
A menu
carriage return.)
command
key.
of
all
ENTER
word with
key
If
PD was
will be used to refer to the
the files that might be processed by the
in the current directory are displayed for
keys and Enter.
the arrow keys and
you
to
choose one by arrow
invoked with a path to some other directory,
appropriate files in that directory will be displayed.
The
EDITOR
Edit allows you to create and modify the various input files required by
DYNAMO:
Professional
.ASC
-
Source
.DEF
-
Quantity definition
.DNX
.DRS
Dynex
-
file
exogenous data
for
file
for
Documentor
(optional)
screens
Report
-
specification
.DYN
-
Edit has
Original model
its
own
the letter "H", or
a
menu of
help
can be displayed by typing
by pressing <F1>.
topics for
Alternatively,
file that
which Help
is
you may press <F1>
special function keys.
If
you type the
letter
ESC
followed by
"H", you will see
available.
to
go
directly to the
This will display a "picture" of
all
Help
for the
the function
keys; pressing any of these keys will result in an explanation of that key in
the Editor.
65
The
COMPILER
Compile
Simulate.
Should
it
translates
It
your model (with the extension .DYN) for processing by
creates three files, with the extensions
discover any errors, you will be returned to Edit in the display
mode, where you can cycle through your
error
.DAT, .INS, and .SMT.
errors
one or more times by
typing <Alt-N>.
A
successful compile will terminate with a message indicating the size of
your model
in Bytes.
You
should be
at
PD
top level with the cursor positioned
on the Simulate command.
The
SIMULATOR
Simulate simulates your model one or more times to produce .RSL
can be formatted by View or Report according to your specifications.
change the values of parameters and
saved
in the
.RSL
file,
resume those conditions
Simulate has
The
its
own
tables,
files that
You may
change which variables will be
run the model, preserve the final conditions, and
as the initial conditions for additional run(s).
help
file for details
VIEWER
66
on
its
use.
View (and Report)
display the run files produced by the Simulator in
graphical or tabular format.
specification
file,
will display
your
View has
View with
Unlike Report, which requires a report
a few interactive
commands from
the keyboard
results.
a Print option so that
you may
print
hardcopy of your graphical or
tabular results.
View has
its
own
help
file for details
on
its
use.
REPORT GENERATOR
The Report Generator, REP, allows you
format of your output.
numbers
the
to
You can compare
to
be formatted.
of your choice, variables can be
fixed,
values from different runs, compute
be displayed, choose the exact text to describe a number, and
even specify how numbers are
title
practically complete control over the
named
as
Graphical output can have the
you choose, scales can be
and the variables plotted computed by the Report Generator.
all this
you must create a Report Specification
See the help
file
File
(.DRS) with
under Tools for more information.
67
To
Edit.
achieve
The
DOCUMENTOR
The Documentor can document
model interspersing variable
a
between small blocks of equations, and creating alphabetic
quantities with their definitions and
provide where-used
See the help
file
lists in
where they are defined.
either of
definitions
listings
It
of
all
will also
two formats.
under Tools for more information.
REFORMAT
Reformat "cleans up" a model by aligning equations and definitions
standard columns.
Separate columns
may
in
be specified for "major" and "minor"
equations and for definitions.
See the help
file
under
Utilities for
more information.
CONVERT
Convert will translate a model in
DYNAMO
Dynamo
II
or HI format to Professional
format.
See the help
file
under
Utilities for
more information.
68
DYNEX
Dynex
is
a
the particular
model
model
no knowledge of
interface that allows a user with
to simulate
and view the
it
make
experienced model builder can
a
model
results.
or
Using Dynex the
available for use in a structured
and easily understood frame work.
By
prompts, an inexperienced user can
make parameter changes, execute
and view the
PD
responding to simple questions and
simulations
results.
See the help
file
under Tools for more information.
TRANSLATE
PD's exogenous variables
variables be supplied in a
Translate creates such a
create with Edit) or
See the help
ESC
and
file
file
file
from
under
facility requires that the
a
(with extension
from
PD
.EXG)
a spreadsheet (123,
values of these
in a special format.
Symphony,
simulation.
Utilities for
more information.
QUIT
69
or one you
The ESC command
brings you up one level in the
command
structure.
ESC
command may
cursor, but also
be invoked not only by typing the
by pressing the
Quit exits any
When you
PD
ESC key on
letter
"E" or by using the
the keyboard.
program and returns you
to
DOS.
have invoked a module directly from DOS, both Quit
70
The
.******************£)YNEX HELP
End each
line
by pressing
The
comma
BACK SPACE
FILE********************
ENTER
Separate answers with space(s),
so don't use the
TEXT
to
comma,
or slash
group the 000 's
key erases the previous
—
in large
numbers.
character.
During any answer, you may invoke:
HELP
(type h then press
ENTER)
gets
QUIT
(type q then press
ENTER)
ends the session
RESTART
(type
r
then press
ENTER)
you
help,
and returns youto the session
restarts the session
71
.*********************r£j)j poR
T
HELP TEXT file****************
***************************************
EDITOR ON-LINE HELP FACILITY
*
*
***************************************
This help
keys.
If
file
explains the basic Editor
you need more
DYNAMO
commands and
detail, please refer to
the special function
Chapter 2 of the Professonal
User Reference Manual.
For help on a specific area, select from the topics below by typing the
first letter
of the topic:
-
Keys
-
Editor
-
Functions supported by
commands
(Save, Print, Return, Help, Esc, Quit)
DYNAMO
Special Functions
Corrections and Cursor
F2
Fl
help
[spl
Movements
delete
beeps
scm] [2nd
previous
file]
char
72
Num
Lock
F4
F3
find
up
top of
up
find
file
name
1
page
line
Type F
literal
F5 replace F6 replace
Dynamo
Functions
>
<
<page>
for
<5 ln>
enter
right
left
name
literal
globally
1
F7 replace F8 replace
F9
end of
literal
file
verify
verify
Ctrl
-
< >
F10
cut
text out
reinsert
deleted
paste
back
[
]
-
chars
Shift
For more help, type any key you're interested
73
1
<page>
[line]
text
5
char
in.
spce
1
<1/3L>
globally
name
spce
<1/3L>
down
page
line
<
down
>
<5 ln>
Delete
current
Fl provides help either
about the keyboard or the
F2
A
command
that
has been started.
displays the reason for the last beep generated.
"name"
which
is
is
a
sequence of alphanumeric characters
A
"literal" is
characters, with or without delimiters.
-
and/or numbers)
bounded by "delimiters" or non-alphanumeric characters (spaces,
periods, slashes, parentheses, etc.).
F3
(letters
Find name
You:
F3
Computer:
Find what?
You:
<name> F3
74
any sequence of
A
"literal" is
any sequence of characters. In contrast, a "name"
sequence of alphanumeric characters
bounded by
(letters
is
a
and/or numbers) which
is
"delimiters" or non-alphanumeric characters (spaces, periods,
slashes, parentheses, etc.).
F4
-
Find
literal
You:
Computer:
Find what?
You:
A
"name"
which
is
is
F4
<literal>
F4
a sequence of alphanumeric characters (letters and/or numbers)
bounded by "delimiters" or non-alphanumeric characters
periods, slashes, parentheses,
etc.).
A
"literal" is
characters, with or without delimiters.
75
any sequence of
(spaces,
F5
Replace name from cursor on
-
You:
Computer:
You:
Computer:
You:
A
Find what?
<current
name> F5
Replace with?
name> F5
<desired
"literal" is
F5
any sequence of characters. In contrast, a "name"
sequence of alphanumeric characters
(letters
is
a
and/or numbers) which
is
bounded by "delimiters" or non-alphanumeric characters (spaces, periods,
slashes, parentheses, etc.).
F6
-
Replace
literal
from cursor on
You:
Computer:
You:
F6
Find what?
<current literal> F6
76
Computer:
You:
A
"name"
which
is
is
Replace with?
<desired literal> F6
a sequence of alphanumeric characters (letters and/or numbers)
bounded by "delimiters" or non-alphanumeric characters (spaces,
periods, slashes,parentheses,
A
etc.).
"literal" is
characters, with or without delimiters.
F7
if
-
Replace name from cursor on
you type y(es)
You:
Computer:
You:
Computer:
You:
Computer:
F7
Find what?
<current
name> F7
Replace with?
<desired
Replace
name> F7
?
(
Y
or
77
N
)
any sequence of
A
"literal" is
any sequence of characters. In contrast, a "name"
sequence of alphanumeric characters
(letters
is
a
and/or numbers) which
is
bounded by "delimiters" or non- alphanumeric characters (spaces, periods,
slashes, parentheses, etc.).
F8
-
Replace
literal
from cursor on
if
You:
Computer:
You:
Computer:
You:
Computer:
F9
-
Cut
text out
you type y(es)
F8
Find what?
<current literal> F8
Replace with?
<desired literal> F8
Replace
and place
You:
Computer:
?
(
Y
or
N
)
in buffer
F9
* * * Cutting * * *
78
You:
Down-
and/or Right-arrows
(or
Up- or Left-arrows)
Computer:
You:
F10
-
highlights text to be cut
F9
Insert contents of buffer following cursor
You: F10
Computer:
reinserts text that
cut out with
<Shift
Fl>
-
Split
was
last
F9 key
screen/Jump to other screen
Typing <Shift Fl> jumps you between the upper and lower screens or
79
splits
the screen to give
you two screens which can be moved independently
in
one
file.
For a detailed explanation of <Shift Fl>, see section 2.2.5 of your
PD
Reference Manual.
<Shift
F2>
-
Read new
file into split
Typing <Shift F2> allows you
place of the
is
file just
retained for
lower screen.)
If
two
Text
may be
cursor
(If
you
name of
only one
new
file
file is
a file to be read in
being processed,
new
are processing
file
two
name,
files,
was when <Shift F2> was typed,
is
split
into the other.
screen operation
the file in the screen
is
where
PD
Reference Manual.
in the
middle of the keyboard are the standard input
80
the
discarded.)
For a detailed explanation of <Shift F2>, see section 2.2.5 of your
The white keys
it
always located in the
from one screen and pasted
cut
a
If
(The
processing.
you type Esc instead of
cancelled.
to specify the
being processed.
file
screen
characters:
To
what you type
is
what you get on the screen.
get special characters such as * and
(,
you must hold down one of the SHIFT
keys while you type the appropriate key. The SHIFT keys are
second row
in the
of the keyboard, marked with large, open up-arrows.
SHIFT
SHIFT
Space
Bar
Caps
Lock
The white keys
in the right-hand
be used either to
insert digits
depends
move
keypad may
on
the
previous
the cursor or to
(and decimal points).
CTRL,
and
NUM
top of
SHIFT
up
Num
Lock
char
This
SHIFT,
delete
KEY
LOCK
up
file
<
down
81
<page>
up
1
line
<
>
page
<5 ln>
NUM LOCK
numbers
on
arrows
enter
left
right
1
off
spce
<1/3L>
end of
SHIFT
*
file
1
line
section
DYNAMO
<page>
2.2.2
of
your
down
down
<
>
<5 ln>
Professional
Reference Manual.
reinsert
Caps
interested
deleted
Lock
For more help, type any key you're
Delete
current
char
chars
in.
Professional
When you
DYNAMO
Editor
Command
invoke the Editor you will see
the bottom of your screen.
Line
its
The commands
command
line in inverse
video
at
are:
Print
Help
Esc
To invoke any
the
<1/3L>
page
For a more detailed explanation, see
Return
spce
arrows
numbers
Save
1
command
Quit
of these
line
commands
type the
and either type the
ESC
first letter
82
key
to position
of the
command
your cursor
or type
in
command and
arrow keys to position the cursor under the desired
The Save command
When you
"save",
will save
PD
Type new name
You may
your
asks you
exactly as you see
file
type Enter to save your
if
file
under
you do not wish
page
If a file exists
if
with the same name,
a file also exists with the
deleted unless
it
its
If
you type
ENTER
you were
command
Reformat for
your
file at this
same filename and extension .BAK
"Return."
Print
to save
new name
time.
extension will be renamed .BAK;
completes a Save, your cursor
The
orginal name, type a
if
will be
read only.
is
the location
its
name>
of 2
1
When PD
file at
on the screen.
to:
or type Enter to save to: <original
and Enter, or type Esc
it
Enter.
is
positioned under the
(or type "R"),
PD
returns
ESC
just before pressing the
you
command
to editing
key.
creates a simple listing your file on your printer.
listings
with page headings.)
Caution:
if
your
your printer
is
(See
not
ready, your computer will lock up.
If
you invoke the Esc command,
command
Save,
PD
level.
first
If
asks
PD
leaves the Editor and returns to the
you have made modifications
if
You may respond by
you wish
to save
your
file
to
your
83
since your last
before leaving the Editor.
typing "Y" for yes, "N" for no,
or Esc to remain in the Editor.
file
PD
top
Quit works similar to Esc except you are returned to
The following functions
Built-in
are available in
DOS
rather than
PD
DYNAMO:
Math Functions
LOGN(a)
COS(a)
SIN(a)
SQRT(a)
EXP(a)
Built-in
PD
Functions
CLIP(p,q,r,s)
NOISEQ
STEP(height.steptm)
DELAY l(in,del)
NORMRN(mean,std_dv)
DELAY3(in,del)
PRDV(vctr,frst,last)
SUM(array)
SUMV(vctr,frst,last)
DELAYP(in,del,ppl)
DLINF3(in,del)
FTFGE(p,q,r,s)
PULSE(hght,wdth,frst,intvl)
SWITCH(p,q,r)
TABLE(tab,x,xlow,xhigh,xincr)
RAMP(slope,start)
SAMPLE(x,intvl,isam)
84
TABHL(tab,x,xlow,xhigh,xincr
HELP TEXT file***************
.********************grj^ijLATOR
Simulator Help Facility
The Simulator
It
requires as
will execute a selected
its
When you
invoke the Simulator from
.SMT
listing all files
with the
select
one of
However,
these.
will select this file
if
the time period
you choose.
name of your
(three files with the
.DAT, .INS, and .SMT).
the extensions
menu
it
model
input a compiled
model followed with
model over
PD
top
command
level,
it
will display a
extension and you will be prompted to
the Simulator locates only one such
file,
and proceed with the next screen.
After you have chosen the model to be simulated, you will be in the Simulate
command
line
with the following
-
Changes
-
Save
-
Go
-
Preserve
-
Resume
-
Esc, Quit (type "E")
commands
available:
For more information on a command, type the
"K" for help on Runge-Kutta
first letter
of the
name
or type
integration).
Changes
The Changes command allows you
to alter the input values of
constants, tables, or specification information.
cause a full-screen display of
keys will
all
move you from number
the inputs,
to
Invoking
this
any of your given
command
grouped by type.
will
The arrow
number and new values can be typed
directly over the old ones.
85
in
When you
ESC
key
have finished modifying your constants and table values, press the
to return to the Simulate
command
moved
In the case of tables the cursor can also be
to their values.
name, you
If
you press the
ENTER
line.
to table
names
key with the cursor over a table
will be presented with a graphical plot of the table.
this curve, use the right (or left)
point you wish to modify.
cursor (marked as an "X")
arrow keys to
Notice that
as well as
move
when you
was positioned over
To modify
to the location of the
first
pressed Enter, your
the left-most point
on the
graph.
Press Enter for the next page
When you
have moved to the point you wish to change, use the up (or down)
arrow keys to
move
original curve
is
the point.
When you
displayed as a dashed
change the position of the point, the
line.
After you are satisfied with the position, you
may
point you wish to modify or quit by pressing the
key
will put
that
you
you back
just modified;
into
either
ESC
move
key.
to the next
Pressing the
Changes mode, with your cursor on the
any changes
that
you made
table
ESC
name
will be reflected in the
actual values in the table.
Should you wish
to alter the value in a table numerically,
well.
Save
86
you may do so as
The Save command allows you
whose values
will be
Invoking Save, will cause a display to appear that
saved for later viewing.
lists all
to select the variables
variables (grouped by type); those that have been previously saved
The arrow keys
will be highlighted.
and pressing the
ENTER
move
will
the cursor
key on a variable will allow you
between variables
between
to toggle
save and un-save.
ESC
will return
you
to Simulator
command
level.
Go
The Go command invokes
the execution of the
save the results of the run under the
specify another name.
If
model
run.
The Simulator
name "model name.RSL",
file
will
unless you
you make several runs and use the same filename
for
saving the results, each successive run will write over the results from the
previous run.
Should you wish
press the
ESC
to terminate a simulation in the
The next time Simulate writes
key.
will be returned to Simulator
Once
a simulation
and you
or
ESC
is
finished,
may make changes
back to
you may wish
middle of an execution,
PD
top
command
you
results to the disk
level.
back
will be
in the
(or alter saved variables)
command
level to invoke the
to "preserve" the state
you
Simulator
command
and execute another run,
View module.
of the model from the
last
Alternatively,
run and
"resume" the run over an additional time period.
Type Enter
for
87
line
Runge-Kutta integration
Runge-Kutta integration
To
use the variable step size third order Runge-Kutta integration method
set
REL_ERR
to a
non-zero value
(e.g.
.01).
REL_ERR
is
the relative error
tolerance, the tolerable error relative to the current value of the level.
Should the level become very small, the absolute error tolerance,
will
come
This tolerance
into play.
is
applied to
all levels;
it
ABS_ERR,
should be
chosen considering which levels might approach zero and what error
is
tolerable in them.
If
you
are using this
method and NOISE or
NORMRN
you must also
set
DT
some
value over which the value of these functions
made
choice should be
may
carefully, as a small value
required to carry out a simulation.
details about this integration
be held constant.
may
The
increase the time
See the Reference Manual for more
method.
Preserve
The Preserve and Resume commands allow you
conditions that exist
at
the
end of
starting with the conditions that
when running
a
model up
that run,
make
a short run, preserve the
and then make a
were preserved.
to the present
to
This
is
series of runs
especially useful
time and then making a series of
exploratory runs over future time.
After making the
initial
run,
you may wish
parameters before preserving them.
to
make
a change or
For example, changing
preserving the conditions will save you changing
it
two
LENGTH
to
your
before
every time you resume the
model.
When you
issue the Preserve
command. The Simulator
88
will request the
name of
a
to
"state file."
model
This
is
the file that will contain the current "state" of the
and the current values of
(the final values of all variables
constants and tables).
name.STT", or type
all
Either press Enter to use the default name, "model
the
name of your
Simulate will add the extension
choice.
".STT".
Type Enter
Resume
for
Resume
Resume Invoking Resume
you
to select the
made with
menu
one you want (unless there
selection has been
be
will cause a
made you
are in the
of state
is
files to
only one).
the conditions found in that
file,
unless you issue
another
file
you wish
to alter
one or more computed constants or
the
Resume
will
again
or leave Simulate.
you can do so by computing them with
Manual
3 of the Reference
Once
resume mode; every run you make
to designate
If
be displayed, for
for
K
rather than
more about
N
and
K
N
reinitialize a level,
equations.
See Chapter
equations.
Esc
The Esc command
are
will bring
making changes
bring
you back
you up one
level in the
command
hierarchy.
to variable values or save selections, invoking
to the Simulate
command
line.
you out of the Simulator and bring you up
89
to
A
PD
If
Esc will
second invocation will take
top
command
level.
you
Quit
The Quit command brings you
level in Professional
directly to
DYNAMO.
90
DOS,
by-passing any other
command
.*****************-pQQL£
HELP TEXT FILE*********************
Tools Help
Tools consist of four commands:
Document
dyneX
(type "X")
Report
Utilities
Type
the appropriate letter for help with that
command.
Document
The Document command
which include
a listing of
of equations, a listing of
Lists of
their types.
Invoking
appear.
If
this
The options
your model with definitions following every block
all
your variables (alphabetically sorted) and
where variables
command
are
you with various "reports" on your model,
will provide
will cause a
are used are provided in
menu
you may suppress
changing the appropriate value.
require a
file
name
all
the available options to
Boolean or numerical and the defaults are
you run the Documetor with no changes
the reports;
of
two formats.
as
many
Two
as a value, one of
to the defaults,
you
filled in.
will get all of
of these reports as you like by
of the fields in the
which
91
is left
Document options
empty
as a default.
The
last
option in the
list
concerns the output. As a default, Documentor
documentor
will automatically write the
You have
"model_name.DOC".
three alternatives to this:
"CON"
output to screen by typing
listing into a file called
name
in the
file
direct the
you can type "PRN"
field;
you can type a
direct the output to a printer; or
you can
name of your choice
to
in
the field.
page
The other option
optional file in
1
of 2
concerned with a "definition
is
which variables and
separately from the actual
model
This
file".
an
is
their definitions are stored
itself.
Specifying a definition
file
causes the Documentor to look for definitions in the model and in the
separate
file.
Definition files must carry the extension ".DEF."
default value for this option
file is to
be used.
of the definition
When you
you wish
If
in the
file
is
a blank, indicating that
to
change
this,
no
The
definition
you must type
in the
name
appropriate option field.
have finished modifying the options, you must signal the
Documentor
to begin
by pressing the Esc key.
For more more information see chapter
1 1
of The Professional
DYNAMO
Plus
Reference Manual.
DYNEX HELP FACILITY
To
use
DYNEX
the
model builder constructs and debugs a model, and then
designs a sequence of informational screens and user inquiries to guide an
inexperienced user in the choice of parameters and tables to
simulation experiment.
92
make
a
The user
(with the help of a
DOS .BAT
file)
SMLT
the parameter changes and output specification,
(without further user intervention), and
This sequence
Supposing
may
that
be repeated to
our model
is
REP
make
called
invokes
DYNEX
to help decide
to run the simulation
to report his or her results.
additional simulations.
POP.DYN,
the
command "DYNEX pop"
can
be
issued after
POP.DYN
has been compiled to give
POP.SMT
and POP.DAT, and
after
the builder has used
EDIT
".DNX"
to create the
file
POP.DNX,
containing
explanations and queries for the user.
DYNEX
all
reads
parameters
POP.SMT
in the
model.
and POP.DAT, to create a table of default values for
Then
it
interactively reads
POP.DNX,
displays
explanations and prompts on the end-user's screen, and elicits the user's
The values
values and choices.
POP.DRS
written to
(to
or she (or the builder's
POP.DAT,
REPORT
giving
are written into
POP.DAT;
be used by REPort).
After the user finishes
DYNEX,
".BAT"
SMLT,
new
POP.RSL.
file) activates
REP
to simulate the
can report upon POP.RSL, using the
statements chosen by the user, and copied into
Options allowed
DYNEX
DYNEX
text output is
PLOT
POP.DRS.
are:
pop
-d outfile
pop
-h hlpfile
:
:
redirect text output to outfile.drs
read helpful information for the user from
hlpfile.hlp
DYNEX
pop
-1
:
logically
The statements understood by
list
DYNEX
pop.dnx, showing internal structure
are
93
:
he
and
DISPLAY
each subsequent line
:
DISPLAY CLEAR:
DEND
DENDQ
is
displayed to the end-user, until
DEND.
clear the screen before displaying.
stop displaying.
:
stop displaying, and turn off
:
DYNEX's
next prompt to the end-
user.
CQ, TQ, BQ,
:
IQ, PQ, or
read the parameter's name; display
from the
CHOICE
SPECQ
n
its
values; elicit
Process
one.
values
user.
there follow n sections of statements.
:
new
all
Ask
the user to choose
statements in that section; ignore the other
sections.
CHOICES
n
:
there follow n sections of statements.
one or more.
Process
all
Ask
the user to choose
statements in those section; ignore
the other sections.
CEND
:
DYNEX
DYNEX
DYNEX
C, T, B,
:
ends one of n sections.
-d outfile
:
redirect text output to outfile.drs.
-h hlpfile
:
read helpful information for the user from hlpfile.hlp.
-1
I,
:
logically
P, or
list
the ".dnx"
file.
SPEC
read the parameter's name; copy the values on the statement to
the
INSERT name
".DAT"
:
file.
process the contents of the
file
name.
other statements
:
copy these
the
text statements to
most recent
DYNEX
POP.DRS
statement).
94
(or the file specified
by
This
the last screen for
is
DYNEX
REPORT GENERATOR HELP
THE PD
into easily
PLOT
Plus Report Generator (REP) allows you to format simulation results
comprehensible graphs or reports.
of variables over
Reports can be specified
To
use the
PD
TIME,
down
or of one variable versus another
to the last
comma
Plus Report Generator you
"Report Specification"
file,
Graphs can be the
(PLOTXY).
and column position.
use the Editor to create a
first
then use Simulate to
traditional
make one
or
more
simulations called for by the specifications, and finally issue the Report
command
to generate plots and/or reports.
For more Help on any topic type the
-
Starting the Report Generator
-
Plot statements
-
Tabular output
-
Glossary
STARTING
the Report Generator
from
first
letter
of the following:
DOS
The command REP has two arguments,
as in:
REP POP1 POPPLT
The
first
argument (POP1)
when you executed
is
the
name of
is
the
name of
the Simultator using
the result file (.RSL) created
POP1.
The second argument (POPPLT)
a Report Specification (.DRS) file
which you create with Edit
using the Report Generator language described here. If the .RSL
95
file
and .DRS
file
have the same name the second
There are
six options
-outf file
write
you can
all
may
be omitted.
specify:
output to screen
&
all text
(instead of to popl.out in the
-pirn
#
PLot Mode 6 (CGA), 14
output to
file
example above)
(EGA
200x640), 16
(EGA
350x640),
or
40 (bw Hercules)
PLot with PRinter characters
-plpr
-plw #
in characters
rewrite output
-t
-txi
PLOT
PLot Width
Time
#
(or
file if
it
= #
already exists
X) value every # SAVPERs
statements
You
specify plotted (either true graphic or "printer-plotted") output by
listing the variable
names on
a
PLOT
statement in your
.DRS
file:
PLOT TTPOP, <POP>
XY
is
plots are permitted; the
first
variable
named on
the
PLOTXY
statement
the independent variable; the following variables are the dependent.
PLOTXY UNEMP, INFL
<SCALES>
To
force a group of variables onto the
group with
<...>.
To
same
scaling group, surround the
specify your choice of scales, include your
lower_scale and upper_scale just before the >.
<A3,C,0.,4>
-LINE STYLE
96
You can
specify the line_style by following the variable
name with ~ and
a digit (broken lines), capital letter (colored lines) or small letter
(colored and broken lines).
(SUBSCRIPT)
Arrays
in
have
PD
FOR
loop
the
PLOT
statements can be unsubscripted (plot
Plus subscripts:
name
literal
constant
-
FOR AGE = YOUTH
-
all
elements) or can
POP(l); element name
to
ELD
-
POP(YOUTH);
PLOT POP(AGE) END;
do
dummy
subscript
-
REP
POP(*).
creates a curve for each element, for
up
to 6 curves.
.RUN
REP
The
To
can produce plots showing results from several different simulations.
default result
file
plot a variable
the variable
assign a
is
from
name by
new name
the one
you specify as the
argument
a result file other than the default one,
a "runscript", e.g.,
to
first
RUN (RUN
.POL2.
to
REP.
you follow
(To change the default
= BASE).)
PLOT ABC, ABC.POL2
[TIME]
If
you may want
follow a
it
to freeze
time for a variable on a
by a timescript, [time].
you may divide by
its
value
at
For example,
TIME =
to
PLOT
statement, you can
normalize a variable,
0.
PLOT ABC/ABQO]
"TITLE"
You can
give a graph a
title
by inserting the desired
97
text (up to
60
or
PLOT,
characters between double quotes) after
but before the usual plotting
information.
For example:
PLOT "FINAL SECTOR" IAR
To
give your
variable name.
own name
to a curve, put the text in double quotes after the
For example:
PLOT "FINAL SECTOR" IAR "INVENTORY", RRR "ORDERS"
This
is
the last page for
PLOT
Tabular output
To
create a Report Specification
number of
lines of printed material,
of information.
A
field
.RSL
A
field starts at,
you
first
each line made up of one or more fields
ends
at,
or
what
file,
centered at
or the result of an arithmetic expression
report specification
is
is
some column.
can contain simple text such as "Net profits", a value saved in a
generator (generally from values in the .RSL
A
conceive of your report as a
to
the report.
is
computed by
the report
files).
a sequence of field specifications that
tell
be placed in the next field or modifies the environment generating
The environment
variables" (mostly used
is
is
the current values of
subscripts), "text labels",
addition to the "saved quantities"
make up
all
the "local
and "run-ids" which
the variables of the report
generator.
A
field specification
may
be a saved quantity, an expression, a local
98
in
which
variable, a text string, or a text label, all of
may be
Additionally, a field specification
"NEWPAGE",
or a text label,
FOR
DO
...
HEADING
IF
THEN
...
THEN
...
...
IF
...
line should
A
or a control block.
control block
is
END,
END,
ELSE
Fields are separated by
new
an assignment to a local variable
END,
...
...
are displayed.
be
...
END.
commas
started).
No
(or semicolons to also indicate that a
delimiter
is
required before a reserved
word
or text string.
NAMES,
All
whether local variable, run
formed by the same
are
rules as
A LOCAL VARIABLE
is
id,
saved quantity, or text label,
DYNAMO.
a
name
that
not
is
one
of
the
other
types
of
variables.
(TIME
file.
is
Also
treated as a local variable
all
A RUN-ID
that
it
can be found
in the
.RSL
element names are local variables with appropriate values.)
is
recognized by context, but there also must be a .RSL
file
by
name.
A TEXT LABEL
is
text strings (separated
RGNNAM
To
even though
=
recognized by assigning
by Y's).
it
to a text string or a vector of
For example:
"NORTHTSOUTH"
specify an element of this vector add a subscript to the name:
RGNNAM(i)
A TEXT STRING
is
formed by enclosing
99
text
between single or double quotes
To minimize
('...'
or
REP
finds a text string with
"...").
text string
Two
on one single
number of
the
error
messages produced when
no closing quote, you must specify the
entire
line.
special text labels that define the position of fields in a line and
numbers
the format of
FORMAT
specifies one
FORMAT
The
middle.
characters.
FORMAT
are
The
and PICTURE.
column of
consists of pairs of
left justify, starting in
nn >
right justify,
center on
-
An example
is
REP's
FORMAT
PICTURE
it
is
first, last,
column numbers and
or
justification
valid pairs are:
nn <
nn
a field and whether
in
column nn
column nn
default (spaces are ignored):
= "1< 41<"
specifies
ending
column nn
,
how REP
prints a value.
The
characters in the picture
specify where digits are to be printed, whether a leading zero should be
printed,
how and where
a negative value should be indicated, and the
positions of visible and implicit (used
when
converting to decimal) decimal
points.
The
characters recognized include:
A digit, even a leading zero, is printed in
A digit, but not a leading zero, is printed
9
Z
-
or z
(
or
)
db or cr
V
or v
is
printed
when
the value
in either case is printed
is
this
column.
in this
column.
negative,
when
the value
is
negative.
indicates the position of an implicit decimal point, but
does not cause the printing of any character.
100
.
,
or
/
printed
is
$
is
Multiple
"-", "(",
when
it
follows a printed digit or "V".
printed.
or "$" indicate that the character should be printed
directly before the leading non-zero digit
PICTURE,
like
FORMAT,
results of
appropriate.
can be reassigned as often as required.
REP
starts
PICTURE = "— ,--9v.99".
with the default assignment of
The
when
ARITHMETIC EXPRESSIONS may
be displayed or assigned to
a
may
Expressions
variable.
local
involve
SAVED QUANTITIES, LOCAL
VARIABLES,
and/or
NUMBERS.
For example:
(POP(AGE)-POP(AGE).BASE)/POP(AGE).BASE
PAGENO
The
=
PAGENO+1
default values of
saved variable used
different value of
The order of
in
and
RUN
or
.RUN-ID
TIME
and
= BASE, TTME =
CONTROL BLOCKS
blocks
may
easier to
[...]
follows
RUN
be changed in an assignment statement.
RUN
determine the particular value of a
an expression, unless
TTME
the local
TTME
it
END
specification have
it
to specify a
to designate a different run.
does not matter.
The
default values can
For example:
83,
simplify the construction of large reports.
be nested to practically any depth.
match
follows
with
its
head
is
no meaning except
Indenting lines to
Control
make
advised (blanks within a report
in text).
101
it
FOR
...
=
...
TO
...
FOR
...
=
...
TO
...
FOR
loops
DO
BY
...
...
END
DO END
you repeat a
let
...
part of
your report specification with
For example, to produce the same report for
a subscript modified.
TIME
or
TTME
equal to 80, 85, 90, 95, and 100 you can write:
FOR TIME
= 80
TO
100
BY
5
DO
END
If the step size is
FOR RUN =
FOR
default
you may omit "BY
1
DO
...
1".
END
...
loops can also be constructed to repeat something for different
RUNs.
The
FOR RUN =
PLOT
several run-ids are separated by
commas.
For example:
DO
poll ,pop2, pol3
ttpop/ttpop.base
END
HEADING
You can
or
more
...
END
specify what
HEADING
procedures.
PAGENO = 0,
HEADING
FORMAT =
PICTURE =
PAGENO
you want
"38-
for the top of
each page by including one
For example:
75< 80<",
"Z9",
= PAGENO+1,
"TITLE", "PAGE", PAGENO;;;
END,
Head
is
...
end does not cause a heading
activated by the reserved
IF
...
THEN
...
word
to
be printed; the current heading
NEWPAGE.
END
102
IF
THEN
...
You
...
ELSE
...
END
can include, exclude, or choose
of two values (either or both of which
among
may
SCORE[90] > SCORE.BASE[90]
IF
"This policy
is
superior!"
is
inferior!"
fields
based on the comparison
be expressions).
For example:
THEN
ELSE
"This policy
END
When
keyword
the report specification follows one or
REPORT
is
more
PLOT
statements, the
required.
This
is
the last
page for Tabular output.
GLOSSARY
The DELIMITERS
are:
,
separates fields
;
separates lines
=
assigns value to a local variable,
()
surrounds a subscript
[]
surrounds a local value of
precedes a local value of
'
'
"
TIME, RUN,
or a text label.
TIME
RUN
(or denotes a decimal point)
surrounds a text
surrounds a text
103
separates texts in a text label vector (or
/
< > surrounds
means "divided by")
on the same
a group of saved quantities to be plotted
scale
~
precedes a line_style
*
stands for
all
elements
in
one dimension of a PLOTted saved
quantity
+
-*/()
to
form an arithmetic expression of saved quantities
and/or local variables
<
means
"is less
>
means
"is greater
than"
than"
Press Enter for Reserved
Words
RESERVED WORDS
NEWPAGE
BY
DO
FOR
FORMAT
PICTURE
ELSE
HEADING
PLOT
END
IF
Utilities'
help
file
PLOTXY
THEN
REPORT
TIME
RUN
can be reached from within
104
Utilities.
TO
.********************TRyys^SLATOR HELP
TEXT
FILE**************
Translator Help File
PD
is,
Plus allows you to specify a variable as having exogenous values, that
To
values generated outside the model.
you must supply values
variables
simulate a model with exogenous
for those variables over the course of the
The Translator (TRNS) allows you
simulation.
spreadsheet and standard text
to use data stored in
Translator supports spreadsheet files generated using Lotus 123 or
standard text
files (also called ascii files)
the initial letter (or digit) for
Symphony
-
123 and
-
Ascii (text) files
-
PD
-
translate
-
Load
-
Review
-
Select
-
Write
123 and
generated by the
more information
spreadsheet
files
generated (.RSL and .EXG)
files
Commands
Symphony
PD
Symphony,
editor,
and
by the Simulator or the Translator.
result format files generated
Type
The
the input to exogenous variables.
files as
on:
(type "C" for general discussion)
spreadsheet files
translator needs to
know
for
done by putting the word
TIME
followed by numbers representing the times.
The
TIME
can be put
the head of a
increment
in
need not be
occur:
at the
what time each value
time from one
A TIME
This
is
beginning of a row and increase along the row or
column and increase along
filled in for
applies.
cell to the
every
cell.
the column.
at
In either case the
next must be constant, though a value
More thanone TIME
statement can
statement determines the times for the variables that follow
105
until another
TIME
statement
is
encountered.
Variables are just like time; put the variable
or
column and follow
the time
it
NA
can be
The Translator
filled in.
when
files are files
can be created using
blank,
left
was
the spreadsheet
saved.
containing only standard keyboard
many
The required format
spreadsheet
determines
is in
will load the result of
characters; such files are also referred to as ascii files.
editor.
a value
row
files
Standard text
file
the head of a
values are not available a cell can be
spreadsheet formulas as they appear
Ascii (text)
at
The column (row)
by values.
When
is for.
or the letters
it
name
A
standard text
DYNAMO
editors including the Professional
for a text file is similar to that of a
file.
Again every value needs a time
specified by the
keyword
TIME
for
which
it
followed by the times.
must be increasing by a constant amount.
The times
applies.
are
The times
Unlike a spreadsheet
file
the
TIME
can only run horizontally.
Variables are specified by their
name followed by
for the values start at the first value specified
on the
increase by the increment between the different times.
values
is
different
extrapolated.
difference.
as
is
TIME
statement, and
When
the
number of
from the number of times specified the times are
Unlike a spreadsheet
New
The times
their values.
file
horizontal spacing
lines are ignored so that values
convenient.
106
makes no
can be put on as
many
lines
PD
generated (.RSL and .EXG)
Result format
files are
Simulator creates a
files
with extension .RSL, the Translator a
file
The
output of the Simulator and the Translator.
file
with
extension .EXG.
Result format
files are set
cannot control the
way
DYNAMO
up by
in a specific
you can control what
result files look,
Though you
manner.
is in
them.
Results from a simulation are stored for saved variables, and no other
Thus, to use a simulated value for a variable you must
variables in a model.
insure that the variable
Translator
was saved during
simulation.
Commands
The Translator generates exogenous values
process requires that
Any number
command.
After the
files
containing the data
files
of
files
may
have been loaded you
using the Review
command,
may review
values,
may
the
line in the Translator
first letter
If
the data that has been loaded
all
of the required
more than one of
select
Finally,
you can create the exogenous data
The command
Type
command.
be loaded using the Load
command when
variables have not been found after a Load.
to use, using the Select
first
be loaded, though one will often suffice.
the default
loaded contains a given variable, you
The
for a given model.
which
set
the files
of values you wish
when you have loaded
file
works
the desired
with the Write command.
like that of the other
modules.
of the command, or position the cursor over the
command
and press Enter.
Enter the
first letter for
more information on
Load
Review
107
the individual
commands:
Select
Write
Load
When you
select
Load
the
names of
all files in
The types of
are available for loading will be displayed.
are
.WKS
standard text (ascii)
Translator output
cursor to
it
loading any
.RSL
files,
files.
Spreadsheet
file
you want
files,
.ASC
for
and .EXG for
by moving the
to load
menu
without
file.
files are
a file
assumed
and the increment
at this
file
used then
already been loaded.
will be asked to verify
it
attributes.
its
have time running across the columns unless
If there is
you may
point as well.
these values will be ignored.
If the file is not
to
you
at this point.
spreadsheet or standard text
prompt
the
displayed
files
Symphony
and pressing Enter, Esc will return you to the
you specify otherwise
Load
for Lotus
for Simulator output files
You choose
Once you have chosen
If
.WRK
for Lotus 123 files,
the current directory that
Finally
no
TIME
statement in a
insert values for the starting
If a
TIME
statement
you may choose
will be ignored, or
is
time
encountered
to use the file or not.
unloaded
if
it
has
Pressing Esc completes the loading.
gets values for
all
the required
will be highlighted, otherwise the
exogenous variables the Write
Review prompt
will be highlighted.
Review
The Review command causes
files that
have been Loaded, and
a screen to appear that lists
all
all
of the
of the exogenous variables for which values
108
When no
are needed.
variable
name
values have been found for an exogenous variable the
will appear highlighted.
Otherwise, the time range over which
those values applies will be given in parenthesis after the variable name.
You may move
about the Review screen, but you cannot change any
Pressing Esc will return you to the Translator menu.
attributes.
Select
When
loaded
values for an exogenous variable have been found in
file
necessary to choose between the different values.
is
it
from the
default the Translator will use the value
you
Select allows
When you
files as
highlighted
to
change
file
shown.
file is
first file
Loaded;
list
of
variables that are contained in
all
to a different file
is
more
For each of these variables the different
well as the starting and ending times are listed.
shown
By
this.
choose Select a
than one source
source
more than one
the file that will be used.
and pressing Enter the new
By moving
file will
The
the cursor
be selected.
Pressing Esc returns you to the Translator menu.
Note
that
you can deselect
command and
all
the variables in a file by using the
highlighting the Not
Used
Load
cell.
Write
The Write command
writes
all
the data that has been
109
Loaded and Selected.
When
write
to.
the write
The
appropriate.
command
default file
If
name
you choose
when invoking SMLT.
is
issued you will be asked to give a
is
the
a different
model name and
name you
will
Any gaps
name
the data
is
name
will usually be
have
Pressing Enter causes the default
After you have supplied a
file
to use
name
to
an option
be used.
reorganized and written into
in the data are filled in
by linear
the specified
file.
interpolation,
and missing values outside the available data range use the
first
or last value as appropriate.
110
to
HELP TEXT FILE**************
.********************tjy7LITIES
Utilities
Utilities consist
Help
of three commands:
Convert
Reformat
Translate
Type
the capitalized letter for help on that
command.
Convert
The Convert command has been provided
model with an older version of
Professional
DYNAMO.
DYNAMO
versions,
DYNAMO
so that users
who have
or HI) can run the
(II
Because there are differences between
must
you
convert
the
older
models
created a
model with
PD
and other
using
the
Convert
command.
The only option
available concerns the
the Converter will write the converted
name. DOC".
If
you wish
to
change
name of
model
this,
output
to disk in a file
you may type
Reformat
111
file.
in a
As
a default,
named "model
new model name.
The Reformat command
Invoking the
and explain.
to read
to appear
on the top
used to "clean up" a model so that
is
command
"N" or a number as a default value.
the arrow keys to
The
last
move from
option in the
write the reformatted
list
have three alternatives
typing
"CON"
the field; or,
printer.
If
in the
easier
either a
alter these defaults
"Y" or
by using
field to field.
into a file
to this:
name
you can
field;
you can type "PRN"
you choose
You may
concerns the output.
model
is
will cause a screen of options
Each option has
part of the screen.
it
As
a default, Reformat will
on disk called "model name. DOC".
direct the output to screen
you can type a
file
You
by
name of your choice
in
to direct the output to a
to direct the output to another file
will write the output into a file with the
name
112
EXACTLY
name, Reformat
as
you have typed
it.
.********************yjj:^jyj:p^ j-ielp
Viewer Help
The Viewer reads
.RSL
the
files
TEXT
Facility
generated by the Simulator and displays
results in either grpahical or tabular format.
views and return
different
When you
to an earlier
invoke the Viewer,
it
You may
will display a
will use this file
View has
first letter
five
commands
of the
menu
is
number of
specify a
one by simply typing
extension .RSL for you to select one. If there
Viewer
FILE*****************
of
all
number.
its
files
only one such
with the
file,
the
and proceed with the next screen.
in addition to
Help; for more Help on any one type the
command.
-
Plot
-
Select_Tabulate
-
Tabulate_All
-
ESC
and Quit (type "E")
Plot
This
command
invoke
it,
you
have saved.
will generate plots of the variables
will see a
You can
them and pressing
menu
of the names of
select the variables
the
ENTER
all
you
select.
When you
the variables that
you
by positioning your cursor over
key; a selected variable will appear highlighted.
After completing your selection, press the
ESC
key to plot your variables on
your screen.
If
you have
a graphics
bit-mapped graphics;
if
monitor and card, the plot will be high- resolution
you have no graphics
character plot.
113
capabilities,
you
will see a
As
a default,
all
separate vertical scales.
scale, position
you have selected
the variables that
If
will appear
you wish several variables
your cursor over the
first
variable and type "<" or
Select additional variables to share this scale with the
last,
which should be selected with ">" or
select additional variables to be plotted
separate scales or with a different
"."
common
the graph will appear the following
what can be done
View
#:
View #
is
You may
key.
",".
key
until the
continue to
scale.
for the next
page
prompt
which
line,
will
remind you
next.
Next
the
ENTER
common
on the same graph, either with
Type Enter
Under
to share a
on
view_no
number of
this
Esc
Print
view, which
Quit
may
be entered later to return to
this plot.
Pressing
N
for
Next or
ENTER
will
advance you to the next view.
not yet exist you will be given the opportunity to create
If
view
does
will return
to the screen.
you have the proper
commands, you may
printer
and have issued the proper preparatory
print the graph
Reference Manual for
ESC
it
it.
Typing the number of an existing view, and then pressing ENTER,
that
If
by pressing
P.
See Chapter 16 of the
details.
and Quit return you to View and
DOS
114
DOS
respectively.
Select_Tabulate:
command
This
is
similar to Tabulate_All except that
your saved variables you want tabulated and
this
command, you
that
you have saved.
To
menu
are presented with a
select a variable, position the cursor over
ENTER
press the
name
key; the
TIME
interval
ESC
To move around your
below
table
keys.
To
bottom of the
columns
scroll 7
together with the right or
left
table, use the
or right).
(left
Home
or
page
At the bottom of the screen
View
#:
is
1
When you
Either select the default
that is after
column 80 or
The arrow keys
To move by
will
move you
pages, use the
Pg_Up
<Ctrl> key
To move immediately
End
have
will be queried for a
right or left, press the
arrow key.
names
table will appear.
you may use the arrow key pad.
line 24,
Pg_Dn
You
between values.
The
invoke
with the arrow keys and
it
and view information
one row (column) up or down
or
listing all the variable
key.
by pressing Enter, or type another value.
When you
order.
will appear highlighted.
completed your selections, press the
print interval, the
what
in
you may choose which of
to the top or
key, respectively.
of 3
a reminder of the options
you now have:
Arrows Home End <ctl>A Q <ctl> A P PgUp PgDn Next view_no
Print
Quit
View #
this
is
the
number of
this
view, which
view.
115
may be
entered later to return to
Esc
The Arrows
move you one column
will
row
or
at
<ctl> A Q,
a time.
<ctl> A P,
PgUp,
and
PgDn
will
move you
a full screen at a time.
Home
and End will jump you
to the extremes of the table.
N
Pressing
for
Next or
ENTER
will
advance you to the next view.
not exist you will be given the opportunity to create
view
to the screen.
The
Print
command
will print
your table (provided your printer
connected) or write your table to a disk
file.
it
does
it.
Typing the number of an existing view, and then pressing ENTER,
that
If
When you
is
will return
properly
press
page 2 of 3
P you
will see the following options:
title:
80
characters per line:
60
lines per page:
PRN
direct output to:
You may
line
and
type a
title
lines per
with up to 40 characters.
page
may
the arrow keys and typing in
ESC
for characters per
be modified by moving to the option fields with
new
The output
values.
printer as a default; to write to a file
your choice.
The values
on
and Quit return you
is
directed to the
disk, type in the file
to
View and
116
DOS
name of
respectively.
Tabulate_All
This
command
format.
The format of
the value of time
When you
the table
shown
at
is
the variable
names
TIME
listed
in tabular
on the
left
and
the top.
have invoked the Tabulate_All option, you
print interval, the
interval
between values.
The
by pressing Enter or type another value.
line
you have saved,
will display all the variables that
will be queried for a
Either select the default
prompt
table will appear with a
beneath that looks identical to the one described above for
Select_Tabulate.
Press
L now
for a description of that
prompt
line.
Esc
The
ESC
key (or invoking the command)
level if pressed
the
from a tabular or graphical display.
View command
level,
you
you
will return
will be returned to
to the
When you
PD
Viewer command
press
ESC
top level.
QUIT:
The Quit command
returns
you
directly to
invoked.
117
DOS
regardless of where
it
was
at
.********************yARIABLE
bat /p /s *
Loading
...
...
SETTING
BATCH
FILE*******************
MODEL VARIABLES
Call -topi
Exit
goto
-top
-topi
%A
BAT
=
-top%A
1
color \1F
ram
BAT
BAT
els
begtype
SET
\1A
MODEL VARIABLES
\1A
\1F
\1F
\1D
\1F
1
List Variables
\1D 2
\1F Definitions of Variables
\1D
\1F Set Variables
3
118
Choose an
(ESC
option:
exits menu):;
end
%0
-lstkeyl inkey
if
%0
if
I
%0
= keyOlb
# =
type
1
%0;
return
goto -%0~1
-2ndkeyl inkey
%1
I
if
%1 # =
1
type %1;
if
%1 = keyOlb
return
if
%1 = key020
goto -$%0$1
if
%1 = keyOOd
goto -$%0$1
if
%1 = key008
goto -topi
if
%\ =
goto
-1-1 ****
key 14b goto -topi
-%0%11
LISTING OF VARAIBLES ****
bat Cls
BAT COLOR
\1F
bat begtype
MA
The following
They
I.
17
model variables of Dynamica
menu.
SIZE
Real Job Size in DSI
CHARACTERISTIC
ENVIRONMENT
A.
are adjustable via the
\1D RJBDSI \1F
VARIABLES
II.
\1F
are grouped in 4 categories for easy access.
ACTUAL PROJECT
1.
LISTING OF VARIABLES
Productivity
119
OF
THE
ORGANIZATIONAL
2.
B.
Delivered Source Instruction Per Task
Quality
3.
C.
\1D DSIPTK \1F
\1D
TNERPK
\1F.
.
Error Rate Per 1000 Delivered Source Instruction
Staffing Variables
4.
\1D HIREDY \1F
5.
\1D
ASIMDY
\1F
Assimilation Delay
6.
\1D
AVEMPT
\1F
Average Employment
\1A
Hiring Delay
Press
<ENTER> To
\1F
Continue
end
inkey
bat els
BAT COLOR
\1F
bat begtype
LISTING OF VARIABLES (CONT.)
\1A
in.
\1F
POLICY VARIABLES
A.
B.
Estimation
UNDEST
TOTMD1
7.
\1D
8.
\1D
9.
\1D TDEV1
\1F
Task Underestimation Factor
\1F
Total
Time
\1F
to
Mandays
Develope
Resource Allocation
10.
\1D
DEVPRT
%
\1F
Development
120
of
Effort
Assumed Needed
For
\1D
11.
TPFMQA
Fraction
\1F.
of
Manpower Devoted
to
Quality
Assurance
12.
\1D INDUST \1F
13.
\1D
C.
Initial
WCWF1
\1F
TRPHNR
\1F.
Understaffing Factor
Willingness to Change the Workforce
Staffing
14.
\1D
.
%
of Experienced Employee Effort to Train a
New Employee
15.
\1D
AMPPS
\1F.
Average Daily Manpower
/
Staff
Expended On
Project
IV.
MODEL CONTROL
16. \1D MAXLEN
\1D
17.
SAVPER
MA
Max
\1F
Save Period For Data
\1F
Press
<ENTER>
to return to the
end
inkey
bat els
bat /p /s goto -topi
-2-1 ****
DEFINITIONS OF VARIABLES ****
call -top2
bat /p /s goto -topi
-3-1 ****
SETTING
MODEL VARIABLES
bat Cls
dynex
Length Of Project
project. dnx
bat Cls
bat /p /s goto -topi
121
****
Menu
\1F
-%0~1
-$%0$1
-%0%11 beep
-top2
%A
goto -topi
= 2
ram
BAT els
BAT COLOR \1F
BAT begtype
DEFINITIONS OF VARIABLES
\1A
\1D
1
\1F Actual Project Size
\1F
\1F
\1D 2
\1F Organizational Environment Variables \1F
\1D
\1F Policy Variables
\1F
\1F Model Control Variables
\1F
3
\1D 4
122
Choose an
(ESC
option:
exits menu):;
end
%0
-lstkey2 inkey
if
%0
if
I
%0
= keyOlb
# =
type %0;
1
return
-%0~2
goto
%1
-2ndkey2 inkey
I
%1 # =
if
1
type %1;
if
%1 = keyOlb
return
if
%1 = key020
goto
-$%0$2
if
%1 = keyOOd
goto
-$%0$2
if
%1 = key008
goto -top2
if
%1 =
-%0%12
goto
-1-2 ****
Bat
key 14b goto -top2
ACTUAL PROJECT
SIZE ****
els
BAT COLOR MF
bat begtype
MA
ACTUAL PROJECT
SIZE DEFINITION
\1F
\1D
REAL JOB
RJBDSI
SIZE IN DSI
\1F
The
real size
of the software project in delivered source
instructions (DSI) with
comments.
The following
definitions are
from
Boehm, 1981.
Delivered.
software such as
This term
is
test drivers.
generally meant to exclude nondelivered support
However,
care as delivered software, with their
etc.,
if
own
these are developed with the
same
reviews, test plans, documentation,
then they should be counted.
123
Source Instructions.
This term includes
all
program
instructions
created by project personnel and processed into machine code by
combination of preprocessors, compilers, and assemblers.
cards and unmodified utility software.
It
It
some
excludes
comment
includes job control language,
format statements and data declarations. Instructions are defined as lines of
Thus, a line containing two or more source statements
code or card images.
counts as one instruction; a five-line data declaration counts as five
instructions.
\1A
Press
<ENTER>
to return to the
Menu
\1F
end
inkey
Bat
Bat
*
els
bat /p /s goto -top2
-2-2 ****
ORGANIZATIONAL ENVIRON VARIABL
****
bat Cls
BAT COLOR
\1F
bat begtype
\1A
ORGANIZATIONAL ENVIRONMENT DEFINITIONS
\1D
DELIVERED SOURCE INSTRUCTION PER TASK
DSIPTK
\1F
This parameter
in the organizational
potential productivity
is set to
the value of the nominal potential productivity
environment being modeled.
is
50 DSI/Man-Day then
124
For example,
DSIPTK would
if
be
the nominal
set to 50.
\1F
\1D
ERROR RATE PER
TNERPK
1000
DELIVERED SOURCE INSTRUCTIONS
(KDSI) ....
.
TNERPK
\1F
is
number of
the
the software project
is
errors
committed on the average, per 1000 DSI, as
being developed.
This allows the user to
a table function.
It
is
not a single
number but
rather
set different error rates at
different stages of the project's lifecycle.
\1D
HIRING DELAY
HIREDY
\1F
HIREDY
is
staff
members
to the project.
the average delay time, in
\1A
Press
<ENTER>
work days, incurred
to
in
adding new
\1F
Continue
end
inkey
bat els
BAT COLOR
\1F
bat begtype
\1A
ORGANIZATIONAL ENVIRONMENT DEFINITIONS
(CONT.)
\1F
\1D
HIRING DELAY
HIREDY
\1F
HIREDY
is
staff
members
to the project.
the average delay time, in
125
work days, incurred
in
adding
new
\1D
ASSIMILATION DELAY
\1F
ASIMDY
project,
ASIMDY
the average time needed to assimilate
is
measured
workdays.
in
and
institutionalization
It
is
new
hirees into the
the time required for orientation,
training.
\1D
AVERAGE EMPLOYMENT
\1F AVEMPT is the average
in
working days.
the smaller the
is
It
AVEMPT
employment time of
indirectly proportional with
AVEMPT
team members, measured
TURNOVER.
For example,
the larger the turnover rate, and conversely, the
smaller the turnover rate the higher the
\1A
project
<ENTER>
Press
AVEMPT.
to return to the
Menu
\1F
end
inkey
bat els
bat /p /s goto -top2
-3-2 ****
POLICY VARIABLES
****
bat Cls
bat begtype
POLICY DEFINITIONS
\1A
\1F
\1D
TASK UNDER-ESTIMATION FACTOR
\1F
Undersizing
is
a large
problem
UNDEST
in project
management.
This variable
allows the user to experiment with different values of underestimates.
to simulate a situation
25 %,
this variable
where the project
would be
size
set to 0.25.
\1D
126
is initially
Thus
underestimated by
TOTAL MAN DAYS
\1F TOTMD1 is the man-day
TOTMD1
estimate produced
the start of the project,
at
for design, coding and system testing of the project.
\1D
TIME TO DEVELOP
\1F
TDEV1
TDEV1
represents the estimated time, measured in
work
design, coding and testing stages of the project, produced
project.
For example,
TDEV1 would
if
the start of the
at
the initial project duration estimate
days, for the
was 16 months,
be equal to (16 x 20) or 320 working days.
\1A
Press
<ENTER>
to
\1F
Continue
end
inkey
bat els
bat begtype
POLICY DEFINITIONS (CONT.)
\1A
\1F
\1D
% OF EFFORT ASSUMED NEEDED FOR DEVELOPMENT
DEVPRT
\1F
in
This variable
Man-Days,
testing phases.
is
for the
total
budget, measured
development (which includes design and coding) and
For example,
MAn-Days would be
would be
used to allocate the projected
if
it
is
% of the total
20 % to testing,
decided that 80
allocated tc development and
set to 0.80.
\1D
127
then
DEVPRT
FRACTION OF MANPOWER DEVOTED TO QUALITY ASSURANCE
TPFMQA
TPFMQA is the percent
for QA activities during
.
.
....
\1F
plan
number
the design and coding stages.
It
is
not a single
but rather a table function that allows the user to change the
of
Man-Days
A
value of 0.20
point,
of development effort allocated in the project's
20
%
allocated to
at
of the
\1A
some
QA
at different
stages in the project lifecycle.
point in the project
Man-Day budget
Press
is
number
would
allocated to
<ENTER>
to
indicate that at this
QA.
Continue
\1F
end
inkey
bat els
bat begtype
MA
POLICY DEFINITIONS (CONT.)
\1F
\1D
INITIAL
\1F
The
UNDERSTAFFED FACTOR
INDUST
project's average staffing level
number od Man-Days divided by
is
equal to the project's total
the project's scheduled duration.
the project will start with a small core
team which grows
128
in size.
Typically,
This
variable specifies the size of the starting group.
indicates that the startup
team
\1A
is
Press
Thus
a value of 0.5
half the size of the average staff size.
<ENTER>
\1F
to continue
end
inkey
bat els
bat begtype
POLICY DEFINITIONS (CONT.)
\1A
\1F
\1D
WILLINGNESS TO CHANGE THE WORKFORCE
.WCWF1
\1F
On
deciding upon a "Workforce" level desired, project managers typically
consider a
number of
completion date.
workforce level
schedule.
stability
As
that
important factor
part of the planning function,
it
believes
is
of the workforce.
tries to
is
the project's scheduled
management determines
necessary to complete the project on
In addition to this factor, consideration
management
is
also given to the
Thus, before adding new project members,
contemplate the project employment for
Different organizations
relative
One
factors.
weigh
weighing between
this factor differently.
th desire for
workforce
129
new members.
In general, the
stability
on one hand and
the
on time, on the
the desire to complete the project
other,
is
changes dynamically throughout the lifecycle of the project.
toward the end of the project there
bring in
too
new
much
people, even
time and effort
(
new people with
the project
team and
\1A
the
them
train
but
For example,
behind schedule.
and
would take
It
effort that are
remaining)
mechanics of the project, integrate them into
in the necessary technical areas.
<ENTER>
Press
is
relative to the time
to acquaint
static,
typically considerable reluctance to
is
the project
if
not
for
More Information of
WCWF1
\1F
END
INKEY
bat els
bat begtype
POLICY DEFINITIONS (CONT.)
\1A
WCWF1 DEFINITION
(CONT.)
These managerial considerations are operational
WORKFORCE LEVEL NEEDED
=
in the
(INDICATED
\1F
model
as follows:
WORKFORCE LEVEL)
*
(WCWF) +
(CURRENT WORKFORCE)
(WCWF)
The Weighting Factor
larger than the
WCWF
sum
would be equal
to
(1-WCWF)
termed Willingness to Change the Workforce.
is
In the early stages of the project
much
*
when "Time Remaining"
is
generally
of "Hiring Delay" and the "Average Assimilation Delay"
1.
When
WCWF
is
=
1,
the "Workforce Level
Needed"
in
the above equation
i.e.,
is
would simply be equal
management would be
needed
to finish
adjusting
on schedule.
The
its
to the "Indicated
Workforce Level,"
workforce size to the level
it
feels
"Indicated Workforce Level" can be
130
determined by dividing the amount of effort that management percieves
remaining
(in
When
Man-Days) by
the time remaining to complete the project in days.
"Time Remaining" decreases,
the
is still
ASSIMILATION DELAY (ASIMDY)
could
be set to equal exactly
0.
The "Workforce Level Needed"
thus be equal to the "Current Workforce"
the projects workforce at
its
i.e.,
current level, and
in the equation
management attempts
make adjustments
would
to maintain
to the
schedule instead.
\1A
Press
<ENTER>
to
\1F
Continue
end
inkey
bat els
bat begtype
MA
POLICY DEFINITIONS (CONT.)
MF
\1D
TRAINERS PER NEW EMPLOYEE
TRPHNR
In most organizations, training of
\1F
more experienced employees.
new employees
is
carried out by the
This variable defines the fraction of an
experienced staff member's time that
is
devoted to
train
new
hirees.
For
example, a value of 0.2 indicates that on the average each new employee
consumes 20
%
of an experienced employee's time for the duration of the
assimilation delay.
\1D
AVERAGE DAILY MANPOWER PER STAFF EXPENDED ON PROJECT
ADMPPS
MF Project members are often only assigned part-time to a project. ADMPPS
.
.
.
.
defines the
%
of time that the team
members
131
devote, on an average to the
.
.
For example,
particular project being simulated.
divide their time equally between two projects,
spent on project
be =
A
and the other half
is
if staff
i.e.,
members tend
half of their time
spent on project B, then
to
is
ADMPPS
would
0.5.
\1A
Press
<ENTER>
to
\1F
Continue
end
inkey
bat Cls
bat /p /s goto -top2
-4-2 ****
MODEL CONTROL VARIABLES
BAT
****
Cls
BAT BEGTYPE
MA
MODEL CONTROL
DEFINITIONS
\1F
\1D
MAX LENGTH
\1F
MAXLEN
OF PROJECT
This model control variable
is
useful in controlling the simulations.
It
precludes the model from continuing a simulation beyond a predetermined length,
e.g.,
1000 days.
\1D
SAVE PERIOD FOR DATA
\1F
This model control varaible allows the user to adjust the models save
period for data for later viewing.
SAVPER =
data
SAVPER
1,
would be
simulation.
the
model
For example,
the user sets the
will save all variable values
available for the user to
A SAVPER
if
on a daily
examine and plot
at
basis, this
the end of a
of 10, saves values every 10 days. This provides the
132
user with a trade off between the time required for a simulation and the level
of detail of the results.
\1A
Press
<ENTER>
to return to the
Menu
END
bat inkey
bat Cls
bat /p /s goto -top2
-%0~2
-$%0$2
-%0%12 beep
goto -top2
-on.errorif
%R
> 82
if
%R
< 90 type
!!
Cls beep type Unexpected batch
Floating Point Error
file
error
%R
133
in line
!!
Igoto -Calc.
%L
lexit
\1F
.*:t<iie******************PLQ'p
BAT
BATCH
pile**********************
/P /S
CALL
-topi
exit
-topi
color \1F
ram
els
begtype
MA
\1A
4
PLOTTING RESULTS
\1F
THE FOLLOWING MENU ALLOWS THE USER TO VIEW AND SAVE
PREDEFINED PLOTS.
\1F
\1D
\1F
OVERVIEW PLOTTING FUNCTIONS
\1D
1
\1F
PLOT
1
\1D
2
\1F
PLOT
2
134
3
\1F
PLOT
3
\1D 4
\1F
PLOT
4
\1D
Choose an
(ESC
option:
exits menu):;
end
%0
-lstkeyl inkey
if
%0
if
I
%0
= keyOlb
type
return
%1
I
if
%1 # =
type %1;
if
%1 = keyOlb
return
if
%1 = key020
goto -$%0$1
if
%1 = keyOOd
goto -$%0$1
if
%1 =
key 008 goto -topi
if
%1 =
key 14b goto -topi
goto
-0-1 ****
%0;
-%0~1
bat goto
-2ndkeyl inkey
# =
-%0%11
OVERVIEW PLOTTING FUNCTIONS
BAT CLS
BAT COLOR
****
\1F
BAT BEGTYPE
*******
OVERVIEW OF PLOTTING FUNCTION
135
*******
THE DYNAMICA MODEL CAN CREATE PLOTS OF PRESELECTED
VARIABLES. EACH PLOTTING FUNCTION, CONTAINS A LIST OF THE
VIEWING A
VARIABLES PLOTTED BY THAT MENU SELECTION.
PLOT
IS
SIMPLY A MATTER OF SELECTING THE NUMBER OF THE PLOT
DESIRED.
THESE PLOTS
MAY BE
PRINTED USING THE PRINT FUNCTION OF
THE
INCLUDED MENU.
IF
THE USER NEEDS A PRINTOUT OF A GRAPH HE CAN PRINT
THE SCREEN
WITH THE PRTSC FUNCTION.
HIT
ANY KEY TO CONTINUE
END
BAT INKEY
BAT CLS
bat /p /s goto -topi
-1—1 ****
PLOT
1
****
BAT CLS
BAT COLOR \1F
BAT BEGTYPE
136
!
************************************************************************
*******
PLOT
\1A
\1F
1
************************************************************************
*******
PLOT
1
GRAPHS THE FOLLOWING VARIABLES:
SCHCDT
ESTIMATED SCHEDULE IN DAYS
PJBSZ
PERCEIVED PROJECT SIZE IN TASKS
JBSZMD
ESTIMATED PROJECT COST IN MAN-DAYS
TOTAL WORKFORCE PEOPLE
CUMULATIVE MAN-DAYS EXPENDED
TOTWF
CUMMD
MA
IF
YOU HAVE AN EGA CARD TYPE
\1F
END
BAT INKEY %0
BAT CLS
BAT IF Y = %0 THEN GOTO -EGA1
BAT ELSE GOTO -OTHER
1
137
(Y)ES IF
NOT TYPE
(N)O.
BAT -EGA1
REP PROJECT PLOT1
BAT GOTO -NEXT1
BAT -OTHER
1
REP PROJECT PLOT1 -PLM
6
BAT -NEXT1
bat /p /s goto -topi
_2~1 ****
PLOT
2 ****
BAT CLS
BAT COLOR \1F
BAT BEGTYPE
MA
PLOT
FIRST,
CMTKDV
CUMTKT
CUMMD
PJBSZ
PDEVRC
\1F
2
A QUICK REVIEW OF THE VARIABLES BEING PLOTTED:
CUMULATIVE TASKS DEVELOPED
CUMULATIVE TASKS TESTED
CUMULATIVE MAN-DAYS EXPENDED
PERCEIVED PROJECT SIZE IN TASKS
ESTIMATED % DEVELOPMENT COMPLETE
138
\1A
IF
YOU HAVE AN EGA CARD TYPE
\1F
END
BAT INKEY %0
BAT CLS
BAT IF Y = %0 THEN GOTO -EGA2
BAT ELSE GOTO -OTHER2
BAT -EGA2
REP PROJECT PLOT2
BAT GOTO -NEXT2
BAT -OTHER2
REP PROJECT PLOT2 -PLM
6
BAT -NEXT2
bat /p /s goto -topi
-3~1 ****
PLOT
3
****
BAT CLS
BAT color \1F
BAT BEGTYPE
*******
PLOT
3
139
(Y)ES IF
NOT TYPE
(N)O.
************************************************************************
*******
FIRST,
A QUICK REVIEW OF THE VARIABLES BEING PLOTTED:
TOTAL WORKFORCE
FRACTION OF WORKFORCE THAT IS EXPERIENCED
TOTWF
FRWFEX
SDVPRD
PRODUCTIVITY
COMMOH
IF
COMMUNICATION OVERHEAD
YOU HAVE AN EGA CARD TYPE
END
BAT EMKEY %0
BAT CLS
BAT IF Y = %0 THEN GOTO -EGA3
BAT ELSE GOTO -OTHER3
BAT -EGA3
REP PROJECT PLOT3
BAT GOTO -NEXT3
BAT -OTHER3
REP PROJECT PLOT3 -PLM
6
140
(Y)ES IF
NOT TYPE
(N)O.
BAT -NEXT3
bat /p /s goto -topi
_4^_j
****
plot
4 ****
BAT CLS
BAT COLOR \1F
BAT BEGTYPE
PLOT
\1A
™™™"
4
\1F
n* t* ^*
FIRST,
A QUICK REVIEW OF THE VARIABLES BEING PLOTTED:
ACTUAL FRACTION OF A MAN-DAY ON PROJECT
PERCEIVED TOTAL JOB SIZE IN MAN-DAYS
AFMPDJ
JBSZMD
PJBSZ
PERCEIVED JOB SIZE IN TASKS
PMDSHR
PERCEIVED SHORTAGE IN MAN-DAYS
\1A
IF
YOU HAVE AN EGA CARD TYPE
\1F
END
141
(Y)ES IF
NOT TYPE
(N)O.
BAT INKEY %0
BAT CLS
BAT IF Y = %0 THEN GOTO -EGA4
BAT ELSE GOTO -OTHER4
BAT -EGA4
REP PROJECT PLOT4
BAT GOTO -NEXT4
BAT -OTHER4
REP PROJECT PLOT4 -PLM
6
BAT -NEXT4
bat /p /s goto -topi
-%0~1
-$%0$1
-%0%11 beep
goto -topi
142
.*************** STORE STATISTICS
BAT
BATCH
FILE****************
/P /S
BAT COLOR
\1F
RAM
BAT CLS
ERASE PROJECT.OUT
BAT COLOR \1F
BAT CLS
REP PROJECT STATS
BAT COLOR \1F
BAT CLS
%0 = PROJECT.OUT
<%0
-readloop
read. parsed
%A
%A = A Z skip
Type %A goto -readloop
if
1
I
<
BAT BEGTYPE
MA
PRESS \1D<RETURN> MAto ContinueMF
end
inkey
BAT
BAT CLS
BAT COLOR
BAT BEGTYPE
\1F
143
PLEASE ENTER THE FILE
NAME YOU
DESIRE FOR THIS
REPORT.
NOTE:
CHANGES MADE TO VARIABLES ARE STORED
IN
THE
FILE.
FOR
EXAMPLE
IF
HIRING DELAY
WAS CHANGED FROM
30
TO
40,
THAT
INFORMATION WOULD BE STORED AT THE END OF THE
REPORT.
END
BAT
BAT
BAT
BAT
BAT
LOCATE
14 11
READ %0
CLS
COLOR \1F
BEGTYPE
144
ENTER THE FULL PATH NAME OF THE DIRECTORY WHERE YOU
WOULD LIKE THE RESULTS STORED.
or
PRESS <RETURN> TO ACCEPT THE DEFAULT DIRECTORY
END
BAT LOCATE 11
BAT READ %1
BAT CLS
18
ERASE %0
BAT COLOR \1F
BAT CLS
COPY PROJECT.OUT %0
BAT COLOR \1F
BAT CLS
COPY %0 %1
BAT COLOR \1F
BAT CLS
EXIT
145
INITIAL DISTRIBUTION LIST
No. Copies
1.
Defense Technical Information Center
Cameron
2
Station
Alexandria, Virginia 22304-6145
2.
Library,
Code 0142
2
Naval Postgraduate School
Monterey, California 93943-5002
3.
Director, Information Systems (OP-945)
1
Office of the Chief of Naval Operations
Navy Department
Washington, D. C. 20350-2000
4.
Commandant of
Code TE 06
the
Marine Corps
2
Headquarters, U.S. Marine Corps
Washington, D. C. 20360-0001
5.
Superintendent, Naval Postgraduate School
1
Computer Technology Programs, Code 37
Monterey, California 93943-5000
6.
Professor Tarek Abdel-Hamid,
Code 54AH
5
Department of Administrative Sciences
Naval Postgraduate School
Monterey, California 93943
Magdi Kamel, Code 54KA
Department of Administrative Sciences
Naval Postgraduate School
Monterey, California 93943
7.
Professor
8.
Maj Daniel W. Swindell
1
2
9046 Baber Drive
Manassas, Virginia 22110
146
DUDLEY KNOX LIBRARY
NAVAL POSTGRADUATE SCHOOL
MOWTERETV OALIFORFIi* 93943-8008
?8
Fffi
800 73
S8JSS
89
4
JAW 69
12 JUN "0
12
J UN' SO
G
AUG 90
JUL
MAR
I
I
i 6
^n
'j
5 6 6 : a
22*9*
1996
Jl
Keep
r.
t,
this
:_
-i
card
in the
tu _ !_*„*
book pocket
j_ t _ _r„
Thesis
S945
c.l
y 2
Swindell
Design and development
of a user interface and
user manual for a System
Dynamics Model of SoftManagement.
,