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