________________ EasyCASE (tm) ________________ Copyright 1989 Evergreen CASE Tools All Rights Reserved An easy-to-use Computer Aided Software Engineering (CASE) tool for drawing : Data Flow Diagrams, Transformation Schema, State Transition Diagrams, Structure Charts, Data Structure Diagrams and Entity-Relationship Diagrams in accordance with the Yourdon-DeMarco, Gane & Sarson, Ward-Mellor, Hatley-Pirbhai, Yourdon-Constantine, Jackson and Chen methods for Structured Systems Analysis and Design (including Real Time Systems analysis extensions) Revision 1.6, August 1989 Evergreen CASE Tools, 11025 164th. Ave. N.E., Redmond, WA 98052 Tel : (206)-881-5149 MEMBER ASP - Association of Shareware Professionals 1. INTRODUCTION 1.1 What EasyCASE does EasyCASE is a limited function CASE (Computer Aided Software Engineering) tool intended to simplify the generation (with a certain amount of automation) of data flow diagrams (DFDs), transformation graphs (TRGs), state transition diagrams (STDs), structure charts (STCs), data structure diagrams (DSDs) and entity-relationship diagrams (ERDs). EasyCASE produces these charts in accordance with the Yourdon-DeMarco, Gane & Sarson, Ward-Mellor, Hatley-Pirbhai (also known as the Boeing-Hatley method), Yourdon-Constantine, Jackson and Chen representations and methodologies for structured analysis and design as published in their respective texts (see bibliography section). EasyCASE provides the capability to add the appropriate chart type objects to the chart and then manipulate them. EasyCASE maintains certain information about each object and its relationships with other objects on the chart. Objects can be added, moved, deleted, labelled, identified and associated with other objects on the chart. If an object is modified in any way, any other similarly identified or associated objects are modified also. For example : (i) if a data process symbol on a transformation graph is moved, any attached data and/or control flows and their labels are moved also, remaining connected to, and associated with, that symbol; (ii) if a function symbol on a structure chart is deleted, any attached connections and associated data or control flow arrows (couples) and their labels are deleted also; (iii) if a previously defined object identifier is re- used, the new object will inherit its attributes (label). EasyCASE does NOT have a data dictionary. It also does NOT provide chart linking, level balancing or methodology rule checking features. These features are (or will be) supported by the commercial product, EasyCASE Plus, described elsewhere. The information entered about each object on each chart produced can be exported, at the chart level, in dBASE III Plus file format so that reports and analysis can be performed using dBASE III+, Lotus 1-2-3, Microsoft Excel, PC File:dB etc. Also, a chart image can be exported in Microsoft Windows Paint (v1.0x and v2.0) and PC Paintbrush (v3.0) file formats so that it can be incorporated into documents when using a desktop publishing or word processing program which can import Paint images, such as Aldus Pagemaker, Ventura Publisher, PFS:First Publisher, Lotus Manuscript, Word and WordPerfect v5 etc. To be able to use EasyCASE, some pre-requisite knowledge of structured analysis and design methodologies is required. Although the features provided by EasyCASE are intuitive and easy to use, consultation of at least one of the texts listed in the bibliography section of this user manual, will provide the basics necessary to understand the meaning, purpose, relationships and associations of the charts and object types available. 1.2 What CASE is (and is not!) CASE is an acronym for Computer Aided Software Engineering and is a relatively new (5 years or so) technology brought about by the need to improve software development and automate structured analysis and design methods. CASE has been made possible by the advent of relatively low cost, powerful Personal Computer systems and Workstations. CASE is the term used to describe an environment of integrated tools which both automate the structured software development process and also give it the rigor and discipline of an engineering approach. It is expected, and is already being demonstrated, that CASE will do for computer software development what CAD (Computer Aided Design) has done for hardware development, that is to enable the rapid, accurate, cost-effective development of system software. It is important to remember that a CASE tool is not a magical, solve-all solution to perfect system design. What is important is a firm understanding of structured development methods and their advantages, disadvantages and limitations. CASE simply provides a means of automating the structured development life-cycle. In fact, it is highly likely that a system designed badly using traditional unstructured or even non-automated structured methods will also be designed badly using a CASE tool. The only advantage here is that inherent disasters may become apparent sooner, perhaps enabling a system re-definition or redesign before it is too late. CASE technology shows the most benefit when making the transition from non-automated but structured methods than from unstructured methods due to the increased learning curves of both structured methods and CASE. 1.3 What EasyCASE is intended to provide EasyCASE is intended to provide the end-user with an introduction to the concepts of structured analysis and design methods and CASE which may then provide him or her with a basic knowledge of the methods and techniques required to implement the full CASE solution. A more complete CASE solution may be our product EasyCASE Plus. As a minimum, EasyCASE should provide the user with exposure to the various structured software development methodologies supported and also exposure to some of the features and benefits a CASE tool can provide. 1.4 Development EasyCASE is written mostly using Microsoft QuickBASIC version 4.5 and consists of over 20,000 lines of source code. The printer drivers, screen text manipulation and some other functions were produced using Microsoft Assembler v5.1. Pop-up windows, dialog boxes, mouse support etc. are provided using the QuickWindows Advanced function library from Software Interphase, Inc. which provides an excellent library of fast, low level primitives needed to perform the screen handling support used for the pop-up dialog boxes. This document was written using Microsoft Word v5.0, Scrapbook+ and GCP (formerly Easel) running under Microsoft Windows/386 v2.1 and printed on a Brother HL-8e (LaserJet Series II) compatible Laser printer using the downloadable Dutch 11 point soft font provided by Bitstream Fontware. EasyCASE was developed on a Tandy 4000 (a 16MHz, 80386-based PC) with a 50 Mbyte 3.5 inch Hard Drive and 1:1 RLL Controller, 1.44 Mbyte 3.5 inch and 1.2 Mbyte 5.25 inch Floppy disk drives, 4 Mbytes of memory, Video-7 VRAM VGA graphics card, Mitsubishi Diamond (multi-) scan monitor, Microsoft Mouse and an Intel 80287 math. coprocessor. 1.5 Requirements EasyCASE requires a Hercules (HGC), EGA or VGA (with EGA emulation capability) graphics card, a monochrome or enhanced color (EGA/VGA only) monitor, Microsoft mouse or compatible and ideally an 8 MHz 80286 (PC-AT) based PC or better, with at least 512 kbytes of RAM. An Intel 80287 or 80387 math co-processor will improve the speed of screen updates and chart draws. Hard copy can be directed to a number of printers which are compatible with the following ; Epson FX, Epson LQ, Okidata Microline, IBM Graphics Printers, HPGL Plotters, Hewlett- Packard QuietJet, LaserJet (HPLJ) series and DeskJet (including the DeskJet Plus) printers. Note, EasyCASE will not work with EGA cards which do not support the 80 column by 43 line EGA mode (early IBM EGA cards fall into this category) or EGA cards with less than 128kbytes of memory. EasyCASE also will not work correctly with non-Microsoft compatible mice. EasyCASE is best run on an EGA or VGA card as use is made of color to highlight objects, dialog boxes etc. EasyCASE can be used with an EGA or VGA card connected to a monochrome monitor. The Hercules graphics card (HGC) is capable of displaying only monochrome, highlighting (in graphics mode) is not available. EasyCASE will work (albeit more slowly than intended) with an 8088 microprocessor based IBM PC or compatible. A 10 MHz 286 or 386 microprocessor based PC equipped with 640 kbytes of RAM, a math co- processor and a VGA card will provide the best performance. 1.6 Acknowledgements The most thanks go to my wife Denise for handling the administrative aspects of the business, producing the user manuals and putting up with the tremendous amount of time I have spent writing this program, hidden away in my study, over the last two years and for allowing me to satisfy my ongoing needs for ever increasing computer equipment and power, and the continuing growth of my book and software libraries. Without her tolerance, encouragement and support this product would not have happened and I would probably be single now. Thanks to Don Lambert of Software Interphase Inc., Providence, RI for producing an excellent set of functions (QuickWindows Advanced) which provide low level mouse support, pop-up windows, menus and dialog boxes etc. which work in QuickBASIC EGA graphics mode 9 and Hercules graphics mode 3. Thanks to Microsoft Corporation for QuickBASIC v4.5 Assembler, v5.1, Word v5.0 and Windows/386 v2.1. Thanks to Warren Keuffel of Computer Language Magazine, Karen Watterson of Databased Advisor and Ed Yourdon who have collectively provided support for EasyCASE as a result of their reviews, suggestions and encouragement. 1.7 The Author EasyCASE was conceived, written and tested by the author who has over 10 years experience in the development of software for such systems developed using structured techniques and, most recently, CASE tools, mostly from a 'real world' application product development engineering standpoint. That is, trying to find the best solution to enable the development team to get a high quality product out on time and budget. Rob Pritt, Author 1.8 Bibliography Structured Development for Real Time Systems (Vols. I-III) by Paul T. Ward & Stephen J. Mellor, Yourdon Press 1985. Strategies for Real-Time System Specification by Derek J. Hatley & Imtiaz A. Pirbhai, Dorset House 1987. Practical Guide to Structured Systems Design (2nd. Edition) by Meiler Page-Jones, Yourdon Press 1987. Structured Analysis and System Specification by Tom DeMarco, Yourdon Press 1978. System Development by Michael Jackson, Prentice-Hall Intl. 1983. Structured Design by E.N. Yourdon & L.L. Constantine, Prentice-Hall 1979. Modern Structured Analysis by E.N. Yourdon, Yourdon Press 1988. Structured Systems Analysis: Tools and Techniques by C. Gane & T. Sarson, Prentice-Hall 1979. Object Oriented System Analysis by S. Shlaer & S. Mellor, Yourdon Press 19889. Essential Structured Analysis by S. M. McMenamin & J. F. Palmer, Prentice-Hall 1984. Developing Quality Systems (2nd. Edition) by B. Dickinson, Yourdon Press 1989. The Entity-Relationship Approach to Logical Database Design by P. Chen, QED Information Sciences 1977. 2. INSTALLATION EasyCASE is installed by creating a suitable sub-directory on your hard disk, for example C:\EASYCASE, and copying the executable and font files from the distribution disk to that directory. It is necessary to copy files EASYCASE.EXE, 4X6FONT.BIN, 6X8FONT.BIN and 6X24FON.BIN to the EasyCASE directory. To be able to use EasyCASE, the mouse driver for your mouse must have been previously loaded either via your config.sys file (device=mouse.sys command) file or via your autoexec.bat file (mouse.com command) and a Microsoft or compatible mouse must be attached to your PC, see your mouse manual for further information. Also, you must have either a Hercules, EGA or VGA graphics card installed in your PC and attached to a monochrome or enhanced color display. The mouse must be installed for Microsoft Mouse compatibility. Note to SIDEKICK users : you must remove Sidekick or Sidekick Plus from memory prior to running EasyCASE as it somehow conflicts with the mouse driver. 2.1 DOS Environment In order to set the various options listed above, using the SET command from the DOS command line prior to invoking EasyCASE, it may be necessary for you to extend your DOS environment area as follows. This will be necessary if DOS issues an 'Out of Environment Space' or similar error message when use the SET options command. To extend the DOS environment area to 2048 bytes, add the following line to your config.sys file ; shell=command.com /e:2048 /p Note that this command assumes that you have the DOS file command.com located in the root directory of your boot drive. If not, precede the command.com entry with the appropriate drive and/or path name (for example, shell=c:\dos\command.com /e:2048 /p). In addition, to speed up disk accessing, add the following lines also to your config.sys file ; files=20 buffers=40 2.2 Video Display Combinations Supported EasyCASE supports several video graphics configurations. These are the Hercules (and close compatibles) graphics card (HGC) and EGA (or VGA) graphics card connected to a monochrome or enhanced color monitor. 2.2.1 Hercules (HGC) The standard 720 by 348 monochrome graphics mode, with 25 lines of text, is used. Prior to running EasyCASE for the first time each time you power-up or reset your system, you must first install the Hercules graphics card driver (msherc.com) provided on the EasyCASE program distribution disk. This is a TSR (terminate and stay resident) program and is run by entering the command MSHERC at the DOS prompt. If you should forget to do this, EasyCASE will issue an error message instructing you to run the msherc program and then terminate. If the Hercules is the primary (or only) graphics card in your system, EasyCASE should automatically detect it and configure itself accordingly. However, if for some reason this does not occur, you can manually configure EasyCASE for Hercules support by issuing the command SET DISPLAY=HGC at the DOS prompt prior to invocation. If the Hercules is the secondary graphics card in your system, you must first select it by issuing the commands MODE MONO and SET DISPLAY=HGC at the DOS prompt, prior to invoking EasyCASE. When running EasyCASE in Hercules mode, the menu, down the right side of the display, cannot be shown in its entirety. Selecting the SYMBOLS main menu option will cause the main menu to be erased and replaced with a sub-menu listing all of the available symbol types for the currently selected chart type, from which you may select one at a time. Selecting the OTHER main menu option will result in the main menu being replaced by a sub-menu from which you can select the option to Load, Save, Export or Print a chart. On completion of the selected sub-menu function, the main menu will be re-displayed. In Hercules mode it is NOT possible to highlight objects (symbols, flows, label text etc.) when selected for moving, deletion, modification etc. You must instead rely on the prompt line at the top of the screen to indication selection of an object. If an object has been selected you will prompted to perform an action on that object. 2.2.2 EGA Monochrome The standard 640 by 350 graphics mode with 43 text lines is used. However, instead of using color, gray is used for drawing objects, text etc. and white (bright) is used for identifying (highlighting) selected objects, text etc. Note that an EGA/Mono combination will not always reliably co-exist with a Hercules card. Although EasyCASE will run on an EGA/Mono (primary) configuration with a Hercules (secondary) card installed, your system will most likely 'crash' or 'hang up' if you attempt to access the DOS shell or Exit to DOS. EasyCASE should automatically detect the presence of an EGA (or VGA) connected to a Monochrome monitor and configure itself accordingly. If this does not occur, check your video card user manual to ensure the card is correctly installed for monochrome mode, or issue the command SET DISPLAY=EGAM at the DOS prompt prior to invoking EasyCASE. EasyCASE looks and functions in exactly the same way in monochrome mode as it does for color with the exceptions that (i) selected dialog box options are not highlighted, only capitalized and (ii) dialog box selected input text and the selected main menu option appear in reverse video. 2.2.3 EGA Color The standard 640 by 350, 16 color graphics mode with 43 text lines is used. Although EasyCASE normally detects and configures itself automatically for an EGA card connected to a color (enhanced) display, if necessary you can ensure this by issuing either of the commands SET DISPLAY=EGA or SET DISPLAY=EGAC at the DOS prompt prior to invocation. 2.2.4 VGA EasyCASE currently uses the EGA emulation mode of VGA graphics cards which may be connected to either a monochrome or an enhanced color display monitor. The EGA standard 640 by 350, 16 color graphics mode with 43 lines of text is used. Although EasyCASE normally detects and configures itself automatically for a VGA card connected to a color (enhanced) display, if necessary you can ensure this by issuing either of the commands SET DISPLAY=EGA or SET DISPLAY=EGAC at the DOS prompt prior to invocation. A version of EasyCASE which uses the 640x480 higher resolution capability of VGA is being developed. 2.3 Executing EasyCASE EasyCASE is invoked by entering the following command at the DOS prompt while in the EasyCASE directory ; EASYCASE [Chart Sub-directory] [Chart Name] or [Chart Type] Note that [] denotes optional arguments. You must enter at least one space between each argument. If a Chart Sub-directory, Chart Name or Chart Type is NOT specified, you will have to choose the desired working chart type from a dialog box which will 'pop-up' after EasyCASE has loaded and displayed its welcome screen. In addition, the charts directory will default to the EasyCASE sub-directory. If Chart-Type, which must be one of DFD (data flow diagram), TRG (transformation graph), ERD (entity-relationship diagram), STC (structure chart) or STD (state transition diagram), is specified, EasyCASE will default to that working chart type, you will not have to choose a chart type when EasyCASE has loaded. If Chart Sub-directory is specified, EasyCASE will default to that sub-directory for loading charts of the selected chart type. Note that only the charts sub-directory name should be specified, NOT the entire pathname. Also, the charts sub-directory must be a sub-directory within the EasyCASE directory. For example, specify CHARTS for sub- directory whose full pathname is C:\EASYCASE\CHARTS. If Chart Name is specified in the form of the filename of the desired working chart, EasyCASE will select the default working chart type based on the three-character filename extension which must be one of TRG, STC or STD. In addition, EasyCASE will load the file specified, if it exists, and present it for working on. You will not need to specify a chart type or select a chart file to work with when EasyCASE has loaded. Note, you CANNOT specify Chart Type AND Chart Name on the command line. If you do, depending on the order specified, EasyCASE will assume one of them is the Chart Sub-directory, attempt to select that directory and most probably fail to load. 2.4 Specifying the Project Directory The project directory specification does NOT necessarily have to be a sub-directory within the EasyCASE executable and font files directory. If it is NOT, you must provide the FULL project directory path specification either on the command line or via the CHARTS environment variable (see below). If this is the case, the project directory specification MUST begin with either a "\" (path on current drive) or a drive specifier of the form "d:\" where d is the drive specifier (A, B, C, D etc.). For example, \PROJECT or C:\PROJECT etc. Note that you can use the CHARTS environment variable to specify the project directory removing the need to specify it on the command line. For example, if your project is named ACCS and it is a sub-directory within the EasyCASE executable and font files directory named EASYCASE, you can invoke the program as follows: SET CHARTS=ACCS or SET CHARTS=\EASYCASE\ACCS EASYCASE chart - instead of EASYCASE ACCS chart If ACCS is on a different drive and/or is a sub-directory of a different directory (for example, PROJECTS), you can specify: SET CHARTS=\PROJECTS\ACCS or SET CHARTS=D:\PROJECTS\ACCS then EASYCASE chart Alternatively you can load EasyCASE using, for example: EASYCASE \PROJECT\ACCS chart or EASYCASE D:\PROJECT\ACCS chart 2.5 Running EasyCASE You can run EasyCASE from a directory other than that in which the executable and font files reside. In this case, you MUST ensure that the EasyCASE executable and font files directory appears in BOTH your PATH specification AND you must also specify it using the EASYCASE environment variable, described in the Installation section of the EasyCASE User Manual, as follows, for example: PATH=\;........;\EASYCASE or PATH=\;........;drive:\EASYCASE and SET EASYCASE=\EASYCASE or SET EASYCASE=drive:\EASYCASE The project directory or sub-directory must also be specified, either on the command line or via the CHARTS environment variable, as previously described, preferably in full. Avoid using a project charts sub-directory with the name TRG, STC or STD or using a deep chart sub-directory nesting. The maximum number of characters available for the charts pathname and chart filename combination is 40, therefore the charts sub-directory pathname length should not exceed 28 characters (12 character filename, including period and 3 character extension). For example the chart pathname C:\EASYCASE\CHARTS\ is 19 characters in length. 2.6 EasyCASE Environment Options Prior to invoking EasyCASE, the following DOS environment commands may be entered at the DOS prompt to set various environment variables to configure EasyCASE and to indicate where to find the font files it requires for displaying and printing text. Environment variables are used, at the DOS prompt prior to invoking EasyCASE, in the form: SET environment variable=option. 2.6.1 SET EASYCASE This environment variable (SET EASYCASE=) enables EasyCASE to locate its font files in whatever sub-directory was created for EasyCASE. If EasyCASE is to be started from this directory, it is not necessary to set this environment variable. For Example : SET EASYCASE=C:\EASYCASE 2.6.2 SET CHARTS This environment variable (SET CHARTS=) can be used to specify the path to the sub-directory to be used when loading, saving or exporting chart files. If this pathname does not begin with a "\", one will be added to signify that this path is from the root directory on the current drive. This command works in conjunction with the chart sub- directory which can be specified on the EasyCASE command line. The latter is appended to the former. Examples : 1. SET CHARTS=\EASYCASE\CHARTS 2. SET CHARTS=\EASYCASE EASYCASE CHARTS 3. EASYCASE \EASYCASE\CHARTS All three examples specify path C:\EASYCASE\CHARTS as the charts sub-directory, when issued from the DOS command line prior to invoking EasyCASE. For each project to be worked on (a project is a collection of related transformation graphs, structure charts and/or state transition diagrams) a directory should be created, preferably sub- directories, within the EasyCASE directory (for example C:\EASYCASE\CHARTS). 2.6.3 SET PRINTER This environment variable (SET PRINTER=) can be used to specify the default printer to which charts are output from within EasyCASE. The printer specified may be any one of ; Epson FX or FX Epson LQ or LQ IBM Okidata 393 or Oki HP QuietJet or QuietJet HP DeskJet or DeskJet - prints at 100 dpi HP LaserJet or LaserJet - prints at 100 dpi HPLJ 150 - prints at 150 dpi HPLJ 300 - prints at 300 dpi HP 7470 HPGL Plotter or HPGL HP 7475 HP 7550 The HPLJ 150 and 300 printer options are used for 150 dpi and 300 dpi high resolution chart printing on HP PCL (Page Control Language) printers such as the DeskJet and LaserJet and compatibles which support this graphics resolution. The HP 7470, 7475 and 7550 options are used for HPGL compatible pen plotters supporting any of these variants of HPGL (HP Graphics Language). Note that if a chart is plotted to a file using one of these HPGL options, it can be used as a meta-file, readable by certain desktop publishing and word processing programs, provided better resolution, flexibility and image control than bitmap paint files. Note that the printer name is not case sensitive but must be spelled and with spacing as given in the list above. Example : SET PRINTER=HP LaserJet 2.6.4 SET PORT This environment variable (SET PORT=) can be used to specify the default device port to be used for printing or plotting charts, and may be any one of ; LPT1: LPT2: PRN: COM1: COM2: FILE Example : SET PORT=LPT1: 2.6.5 SET BEEP This environment variable (SET BEEP=) can be used to enable or disable the warning 'beep' which occurs in the event of an error occurrence during various chart functions. The state can be 'On' (SET BEEP=ON) or 'Off' (SET BEEP=OFF). The default state is On. 2.6.6 SET SYMBOLS This environment variable (SET SYMBOLS=) may be used to set the default symbol set to be used when drawing data flow diagrams and transformation graphs. Available symbol set are Yourdon/DeMarco or Gane & Sarson. If the SET SYMBOLS= command is not used, the default symbol set will be Yourdon (or use SET SYMBOLS=Yourdon). To select Gane & Sarson symbols, use SET SYMBOLS=G&S (or Gane & Sarson). 2.6.7 SET AUTO This environment variable (SET AUTO=) may be used to set the default state for the auto-identify, auto-label and auto label move functions applied to new object placement. If this command is not used, the default is Off (same as for SET AUTO=Off, identify and label dialog boxes will not appear automatically whenever a new object is added to the chart and attached labels will not be moved when a labelled flow is moved). To enable auto-identify, auto-label and auto label move, use the command SET AUTO=On. 2.6.8 SET COLORS This environment variable (SET COLORS=) may be used to change some of the colors used by EasyCASE, specifically the chart window background, grid, object (normal and highlight) and the foreground and background menu and prompt colors. A string is used, specified as follows; SET COLORS=hcolor,ocolor,wcolor,fcolor,bcolor,gcolor where ; hcolor = color of highlighted objects in chart window ocolor = color of objects in chart window wcolor = background color for chart window fcolor = color of menu options, prompts etc. bcolor = color of menu background and chart window border gcolor = color of drawing grid Each individual color attribute must be an integer in the range 1- 15. If a particular color is not specified (color value = 0) or the SET COLORS= command is not used, the colors will default to ; hcolor = 14 (yellow) ocolor = 11 (light cyan) wcolor = 1 (blue) fcolor = 15 (white) bcolor = 1 (blue) gcolor = 7 (gray) Color attribute values are ; 1 - blue, 2 - green, 3 - cyan, 4 - red, 5 - magenta, 6 - brown, 7 - light gray, 8 - dark gray, 9 - light blue, 10 - light green, 11 - light cyan, 12 - light red, 13 - light magenta, 14 - yellow, 15 - white. Example : SET COLORS=14,15,4,14,1,3 hcolor = 14 (yellow) ocolor = 15 (white) wcolor = 4 (red), fcolor = 14 ( yellow), bcolor = 1 (blue), gcolor =3 (cyan). Note that dialog boxes etc. may not look good when certain background colors are chosen. Certain of the above SET options can also be changed within EasyCASE via selections within the Options function dialog box, see section 5.1.1, namely Auto Identify, Auto Label, Beep On/Off and Symbol set. The Printer and device Port to be used are selectable via the Print function dialog box, see section 5.1.8. 2.7 Sample EasyCASE Installation and Invocation Below is a sample EasyCASE installation and invocation command sequence which assumes that the EasyCASE distribution (floppy) disk is in drive A:, is to be installed on hard disk drive C: in directory \EASYCASE, with a charts sub-directory \EASYCASE\CHARTS, HP LaserJet printer connected to LPT1: and initially creating a transformation graph using the Yourdon symbol set. Note [] denotes optional command, () denotes instruction. C: Select hard drive C: CD \ Move to Root directory MD EASYCASE Make EasyCASE directory CD EASYCASE Move to EasyCASE directory (Place EasyCASE distribution disk in floppy drive A:) COPY A:EASYCASE.EXE C: Copy EasyCASE executable file COPY A:*.BIN C: Copy EasyCASE font files COPY A:README.DOC C: Copy EasyCASE release file [PRINT README.DOC] Print EasyCASE release file COPY A:EASYCASE.DOC C: Copy EasyCASE User Guide [PRINT EASYCASE.DOC] Print EasyCASE User Guide MD CHARTS Make Chart sub-directory COPY A:*.TRG CHARTS Copy sample files (transformation graphs, COPY A:*.STD CHARTS state transition diagrams COPY A:*.STC CHARTS and structure charts [SET EASYCASE=C:\EASYCASE] Sets EasyCASE Environment [SET CHARTS=C:\EASYCASE] Sets Charts directory path [SET SYMBOLS=Yourdon] Use Yourdon/DeMarco symbols [SET AUTO=On] Auto-identify & -label enabled [SET PRINTER=HP LaserJet] Sets Printer type [SET PORT=LPT1:] and device port [SET COLORS=14,15,1,15,1,7,7] Sets default colors [SET BEEP=Off] Disable error warning beep EASYCASE CHARTS TRG Start EasyCASE for a trg Note that the sample charts are provided to show what each object, selectable from the main menu, for a given chart, looks like. Additional charts are provided, as examples for the different chart type objects available, for the Automobile Cruise Control System (ACCS) presented in Appendix A of Structured Development for Real Time Systems Volume 2: Essential Modeling Techniques by Paul T. Ward and Stephen J. Mellor published by Yourdon Press (Prentice-Hall) in 1985. All objects on these charts have been labelled and identified so they may be printed or exported in dBASE III, Microsoft Windows Paint or PC Paintbrush format for further investigation. 3. LICENSING 3.1 Licensing Agreement When you register this SHAREWARE version of EasyCASE (see accompanying registration and pricing information), Evergreen CASE Tools grants you the right to use one copy of EasyCASE (the 'program' or 'software') on a single computer by you, the registered user. You may not network the program or otherwise use it, or allow it to be used, on more than one computer at the same time. You may not transfer copies of this software to an unlicensed user. The original software, and any backup copies you make, must be kept in your possession or under your control. You must pay for additional copies of the software, or purchase a site licence, if more than one person is intending to use it at the same time on one or more computers. The program software and manual copyrights are owned by Evergreen CASE Tools (the 'author') and is protected by United States copyright laws and international treaty provisions. You must treat the program and its supporting documentation as copyrighted material. However, you may make a single copy of the program disk for archive purposes only or you may copy the program to a hard disk, provided you retain the original program disk only for archive or backup purposes. You may not copy the supporting documentation without the consent of the author. The REGISTERED version of EasyCASE is NOT a Public Domain, Shareware or Freeware Program. You may not rent, lease, distribute or re-sell the program or its documentation. You may not reverse engineer, decompile, disassemble or change the program in any way. The software is owned by Evergreen CASE Tools, you have purchased a licence to use the software in accordance with the limitations listed above, you do not own the software. 3.2 Warranty Evergreen CASE tools makes no warranty of any kind, express or implied, as to the suitability of the product for a particular purpose and shall not be liable for any damages, loss of productivity, loss of profits or savings or any other incidental or consequential damages, whether direct, indirect or consequential, arising from any failure of the product to operate in any manner desired by the user for which it was not intended or as a result of the user's inability or failure to use the program in the manner in which it was intended. Evergreen CASE Tools shall also not be liable for any damage to data or property which may be caused directly or indirectly by use of the program. Evergreen CASE Tools shall not be expected to provide automatic or other notification or provision of upgrades, fixes, modifications etc. to non-registered EasyCASE users. Neither shall Evergreen CASE Tools be obliged to provide technical support to non-registered users concerning the use or application of EasyCASE. Evergreen CASE Tools shall support registered users by providing technical support, bug-fixes, enhancements, upgrades and future developments at a reasonable charge and in a timely manner. 3.3 Technical Support Technical support may be obtained, by registered users only, either by telephone (206-881-5149) or by letter to Evergreen CASE Tools at the address given on the cover of this user manual. In addition, you may leave messages and request help via CompuServe (Robert Pritt, ID # 73250,1721). When requesting technical support, please provide the following information, to help in problem diagnosis ; EasyCASE version number (at top of 'welcome' screen), Your PC hardware configuration, particularly your Mouse and graphics card/display types, Installed software such as TSRs, mouse driver etc., Environment variables (use the DOS SET command), Chart Type, Function(s) used up to and at the time of the error, Error message, in full, if any. In addition, it may also be useful to provide the chart file, on a floppy disk, if possible. 4. SCREEN, CHART WINDOW, MENUS, SCROLLING & DIALOG BOXES 4.1 Start Up When EasyCASE is first started, an introductory screen will appear detailing the program, its capabilities, its version number and creation date. Press any key, when requested, to start the program. If the desired initial chart type, chart file and/or project sub- directory have not been entered via the command line (see Installation section), a dialog box will appear. Select the initial chart type box (you can select a different chart type from within the program also) using the mouse (left button) or Tab, Spacebar and Enter keys, from the available list ; DFD - Data Flow Diagram, TRG - Transformation Graph, STD - State Transition Diagram, STC - Structure Chart, ERD - Entity Relationship Diagram, DSD - Data Structure Diagram. When the desired chart has been selected, the drawing area will appear in the form of an outline, grid and menu in the colors, if any, previously selected (see Installation section). A mouse cursor (pointer) should appear somewhere in the drawing area, provided a mouse is connected. At the top left of the screen is a pair of numbers (initially 1,1) signifying the offset of the chart symbol position currently on display at the top, left corner of the chart window. If a chart file was specified on the command line, that chart will now be loaded. If not, the filename will default to 'New' with an extension corresponding to the current chart type (see above). 4.2 Chart Drawing Area Chart. The convention used is that the total available drawing area is based on a 32 column by 32 row symbol matrix (1024 possible symbol positions) which is spread over several narrow (A-size) or wide (B- size) paper printout sheets (3 horizontally by 2 vertically for A-size portrait orientation paper). The user is encouraged to design charts which will each fit on a single sheet of paper, so encouraging the concept of structured development, in which a chart should ideally consist of 7 +/- 2 objects (this is apparently the optimum number of objects the brain can associate with at a time, the same principal holds true when designing charts for overheads etc.). If you have ever seen a DFD etc. with over a dozen objects on a piece of A-size paper you'll understand why, it gets hard to easily comprehend the point and structure of the problem being presented. Typically, the entire chart area is used for creating top level data flow diagrams, transformation graphs etc. on which all functions derived during the requirements analysis are placed. During the functional decomposition stage of the analysis, this DFD would be broken down into a number of more manageable charts, each of which may be organized so as to fit on a single sheet of paper for presentation or documentation purposes. Chart Window. The chart window is shown by a rectangular white outline at the left, top and bottom edges of the screen and just to the left of the main menu at the right side of the screen. All charting operations, object placement and manipulation, scrolling etc. occur within this window. Grid. The complete drawing area (chart) is arranged in the form of a grid capable of holding up to 32 symbols horizontally and up to 32 symbols vertically. The closely spaced grid dots in the chart window show the positions which can be occupied by a symbol and is 72 pixels wide by 48 pixels high. The chart window (inside the Yellow outline) shows 8 horizontal by 7 vertical such symbol positions. A 'snap grid' is used. A symbol is always placed inside one of the 16 column, row (1024 available symbol) positions denoted by the closely spaced grid dots. Flow, connection, transition intermediate and start and end points 'snap' to the more widely spaced grid dots. Arrows, labels and text blocks also 'snap' to the widely spaced grid dots though text can be moved horizontally and vertically in increments of half these grid dot spacing. Note that the grid will be drawn in the color (default is Cyan) specified in the COLORS DOS environment variable as described previously, in the Installation section. 4.3 Menu Selection All charting functions are selected from the menu at the right hand side of the screen. The menu is always visible and is activated either by moving the mouse pointer into the menu area (crossing the right edge of the chart window), at which point the inverse bar will move to highlight the menu option under the mouse pointer, clicking the right mouse button or pressing the F1 function key. In the latter case, the previously selected menu option will be highlighted (inverted) and a prompt will appear at the top of the screen requesting you to select an option from the menu. The highlight (selection) bar can be moved up and down over possible options using the mouse or the up/down arrow keys. The desired option is selected by either clicking the left mouse button or pressing the Enter key when the highlight bar is over the desired option. Pressing the Escape key, clicking the right mouse button or moving the mouse cursor out of the menu area, across the right edge of the chart window, back into the drawing area will cancel the menu selection process. Note that certain options, namely those concerned with object manipulation (Place, Move, Delete, Change, Identify and Label Object) are repeatable and may be re-selected simply by clicking the left mouse button with the mouse pointer anywhere in the chart window. The object under the mouse pointer will be automatically selected for the previously selected main menu option. 4.4 Scrolling The chart can be scrolled to show any 8 column by 7 row portion of the chart in the chart window, using either the mouse or the keyboard as previously described. In the context of scrolling, scroll left (right) means that the window moves over the chart toward the left (right) edge of the chart, scroll up (down) means that the window moves over the chart toward the top (bottom) edge of the chart. Yellow colored lines appear on the grid when the left/right and top/bottom edges of the currently selected paper size and orientation for the currently selected printer type are reached. The other grid dots within symbol position outlines in the chart window show the discrete positions at which points can be placed when routing connections, placing arrows, text etc. and are positioned 12 pixels apart horizontally and 8 pixels apart vertically. Scrolling using the mouse : Hold the right mouse button down and drag the mouse pointer (cursor) to the edge of the chart window in the direction you wish to scroll. Initially, dragging the mouse pointer to the top or left of the chart window will have no effect since the window is displaying the top left area of the chart. Each time the mouse pointer is moved to the edge of the chart window with the right button held down, the chart will be scrolled by 1 row or column in that direction. Note that if the right mouse button is pressed and released, while the mouse pointer is located in the chart window and an object is being manipulated, without performing a scrolling operation, this acts as a CANCEL and behaves in functionally the same manner as if the Escape key had been pressed. Scrolling using the keyboard : Hold down the control key (Ctrl) while pressing one of the direction arrow or editing keypad keys as follows. Ctrl + Left Arrow - scroll chart left (1 column), Ctrl + Right Arrow - scroll chart right (1 column), PgUp - scroll chart up (1 row), Ctrl + PgUp - scroll chart up (4 rows), PdDn - scroll chart down (1 row), Ctrl + PgDn - scroll chart down (4 rows), Ctrl + Home - scroll to top left of chart, Ctrl + End - scroll to bottom right of chart, Ins - scroll left (4 columns), Del - scroll right (4 columns). In both the above cases, while scrolling, initially attempting to scroll left or up will have no effect as the window is showing the top left area of the chart. Also, scrolling will only occur until the extremities of the chart are reached (row #32 and column #32), at which point a beep will be heard. As scrolling occurs, the numbers at the top, left hand corner of the screen (initially 1, 1) will change to show the chart coordinate of the symbol position currently visible at the top left corner of the chart window. The first is the column and the second is the row number. Also, while scrolling, yellow horizontal and/or vertical lines will appear in the window at symbol column and row positions corresponding to the right and bottom edges of each sheet of paper on which a chart can fit when printed, according to the default or selected printer type, paper size and orientation (you can specify the default printer type using a DOS environment variable (described in the Installation section) prior to invoking EasyCASE or you can set it via the Print option selectable from the main menu, described later). Horizontal and/or Vertical yellow dotted lines will also appear at the left and top edges of the chart window when the top, left hand corner of the chart is in view, corresponding to the left and top edges of a sheet of paper. Note that the page edge indications are drawn in the color (default is Yellow) specified for highlighted objects in the COLORS DOS environment variable described previously, in the Installation section. 4.5 Dialog Boxes Pop-up dialog boxes are used in many of the charting functions and menu selections to determine options required by the user. Each dialog box contains at least one of the following, and may consist of several of the same or different, option selection methods. 4.5.1 Selection Box This dialog box option is used in the case whereby a simple Yes/No or OK/Cancel type of response is required. To select the appropriate response, click the left mouse button with the mouse pointer inside the appropriate dialog option box or use the Tab or Shift+Tab key to move forward or backward respectively through the available options (the active option will become highlighted and capitalized) and then press the Enter key or Spacebar to select that option. Pressing the Escape key or selecting the Cancel or No option from the dialog box will cancel any selection(s) made. 4.5.2 Input Box This dialog box option is used when it is necessary to get a string of text from the user. The default or current text string will initially be displayed in the text input box, which may be one or more lines long, and will initially be highlighted. Entering any text character will cause the initially highlighted text string to be replaced by any text character(s) entered from the keyboard. If it is only necessary to modify (edit), rather than replace, the initial text string, start by pressing one of the edit keys. When Editing text in an Input Box, the cursor control and editing keypad keys are used as follows: Left or Right Arrow - move the cursor back and forth along the text string, one character at a time. Home or End - moves the cursor to the start or end respectively of the text string respectively. The mouse can also be used to move the cursor to any character on the text string by moving the mouse pointer over any character and clicking the left mouse button. Backspace - deletes the character to the left of the cursor. Control+End - key combination toggles between Insert (Default) and overstrike modes. Control+Right Arrow or Control+Left Arrow - key combinations are used to select text characters to the right and left respectively. Control+Up Arrow or Control+Down Arrow - key combinations are used to select text characters up and down between lines respectively. The mouse can also be used to select text, by dragging the mouse pointer over text characters with the left button held down. Insert or Delete - used for inserting (paste) or deleting (cut) selected text from and to a 'cut and paste' buffer. If used on a single character, the Delete key will erase the character under the cursor. If any text is selected, any character(s) typed will replace the selected text. If an Input Box allows for several lines of text, the Up and Down Arrow keys move the cursor up and down between text lines. Tab or Shift+Tab keys - used to move the cursor up and down respectively to the start of the next or previous line respectively. Enter - key enters the text string into the dialog box and steps on to the next option (normally the OK option dialog box). 4.5.3 Pushbutton This dialog box option is used to select between a list of available options and is used when only one option is required to be selected from a linked list of options. An option is selected either by clicking the left mouse button with the mouse pointer over either the option 'button', the associated option text string or by using the Tab and Shift+Tab keys to move forward and backward through the option list and pressing the Enter key or Spacebar to toggle the highlighted option on/off. The option selected from the list is active if the button (a small circle) to the left of the option text is filled. All other options in the list are inactive and are denoted by their button being unfilled. That is, only one option in the list can be active. Pressing the Enter key with the OK dialog box highlighted or selecting the OK dialog box using the mouse will make the option state active. Pressing the Escape key or selecting the Cancel dialog box will cancel any option changed and leave it at the original state. 4.5.4 Check Box This dialog box option is used to set the on/off state of an option. The option is selected by clicking the left mouse button with the mouse pointer over the option to be modified. Alternatively, the Tab and Shift/Tab keys can be used to step forward or backward through the options list until the desired option is highlighted and capitalized. Pressing the spacebar will then toggle that option on and off. The option is On if an 'X' is shown to the left of the option text and Off otherwise. Pressing the Enter key with the OK dialog box highlighted or selecting the OK dialog box using the mouse will make the option state active. Pressing the Escape key or selecting the Cancel dialog box will cancel any option changed and leave it at the original state. 4.5.5 List Box This dialog box option is used when there is a list of available options available from which the user may choose one item. List boxes are used to present a list of chart filenames available for loading or a list of available object identifiers. Use the Tab or Shift+Tab keys to move the highlight bar into the list box and then use the arrow keys or alphanumeric keys to move to the desired list item and press the Spacebar or Enter key to select that item. Pressing an alphanumeric key moves the highlight bar to the next entry in the list with that first character. Alternatively, use the mouse to select the desired list item by clicking the left mouse button with the mouse pointer over the desired item. If you place the mouse pointer somewhere inside the item list box and press the left mouse button, the highlight bar will be placed over that item. Pressing the left mouse button again or selecting the OK dialog box will select that item from the list. If you place the mouse pointer somewhere inside the item list box and press the left mouse button, the highlight bar will be placed over that item. Pressing the left mouse button, holding it down and then moving the mouse will move the highlight bar through the various list items. Releasing the left mouse button will select the list item currently highlighted. Select the OK dialog box and press the Enter key or select the OK dialog box using the mouse to complete selection of the desired list item. 4.5.6 Cancel Dialog Box A dialog box action may be cancelled either by pressing the Escape key or by selecting the No or Cancel dialog selection box option, if provided. When a dialog box is cancelled, the action is also cancelled and no change is made. 4.5.7 Cancel Charting Operation At any time while an object in the chart windows is being manipulated, after being selected from the main menu or repeat operation, the function may be cancelled in one of two ways, either by pressing the Escape key or pressing the right mouse button without invoking the scroll operation (see above). Note that dialog boxes can only be cancelled using the Escape key or selecting the No or Cancel option using the mouse. Pressing the right mouse button with a dialog box on screen will have no effect. 4.6 Object Selection An object may be a Symbol (for example, an External Entity, Data Process, Module etc.), Connection (including Data and Control Flows and Transitions), Data or Control Flow Couples (structure chart) or a Text Block. An object needs to be selected whenever an object manipulation option (Place/Add, Move, Delete, Label, Identify etc.) is selected from the main menu either directly or indirectly (via repeat selection based on the previously selected main menu object manipulation option). An object is selected, when required, by moving the mouse pointer over the object's 'hot-spot' and then clicking the left mouse button, actual object selection occurring on release of the left mouse button. In the case of a symbol, the object 'hot-spot' is anywhere inside the fine grid outline, an area 72 pixels wide by 48 pixels high in normal (not zoom) mode. In zoom mode, this area is halved. In the case of a TRG Interface, TRG Split/Merge or an STC Continuation symbol, the object 'hot-spot' is within the outline only of the symbol. In the case of a DFD or TRG Flow; STD Transition; STC, ERD or DSD Connection, the object 'hot-spot' is a small yellow box mid-way along the middle line segment. In the case of an STC Data or Control Couple, the object 'hot-spot' is the circular base of the Arrow. In the case of a Text Block or object text Label, the object 'hot- spot' is anywhere inside an outline created by the height of all the lines of text and the width of the longest line of text in the text block. The order of selection of objects (important only if different object 'hot-spots' are very close together or coincident) is Flow (or connection or transition), Arrow, Flow Label, Couple Label, Text Block and Symbol. When selecting an object other than a symbol, the mouse pointer does not need to be exactly over the object 'hot-spot', some tolerance is allowed, generally +/- 5 pixels in normal mode. 4.7 Zoom mode Zoom mode provides all the functions of Normal mode, with the exception that text labels are shown either small (3x5) text characters, for zoom=2 (half size) mode or in 'greeked' (small blocks rather than regular, readable text) form for zoom=4 (quarter, whole chart visible) mode. All symbols, connections, arrowheads, arrows etc. are shown either half-size (zoom=2 mode) or quarter size (zoom=4 mode). In zoom=2 mode, the displayed symbol grid is halved to 36 points horizontally by 24 points vertically. The Grid is not displayed in zoom=4 mode. The connection point placement grid is also halved to 6 points horizontally by 4 points vertically. Text block placement accuracy is 3 points horizontally by 4 points vertically. In Zoom=2 mode, 16 horizontal chart columns and 14 vertical chart rows are shown in the chart window. The chart can be scrolled left or right in zoom mode. The chart can be scrolled down also in zoom mode. The page breaks displayed (using dotted yellow lines) will vary according to the type of printer, resolution, page size (narrow or wide) and orientation (portrait or landscape) selected. Zoom mode is most effective for laying out the entire page-size chart in rough form. Normal mode is then selected to more accurately place connections and text labels. The page breaks displayed (using dotted yellow lines) will vary according to the type of printer, resolution, page size (narrow or wide) and orientation (portrait or landscape) currently selected. To view a label in zoom=4 mode without changing it, select the Label option from the main menu and select the object(s) in turn whose label is to be viewed and then press the Escape key. 4.8 Preview mode Preview mode shows the chart in either half or quarter size, as for Zoom mode, with the exception that it is not possible to edit the chart and the drawing grid is not displayed. The purpose of preview mode is to provide a representation of what the chart will look like when printed in either portrait or landscape orientation on narrow or wide paper. The preview mode can be accessed from the Print dialog box when the Print option is selected from the menu. The page breaks displayed (using dotted yellow lines) will vary according to the type of printer, resolution, page size (narrow or wide) and orientation (portrait or landscape) selected. Note that in zoom and preview modes, the page edge indications are drawn in the color (default is Yellow) specified for highlighted objects in the COLORS DOS environment variable described previously, in the Installation section. 4.9 Automatic Identification and Labelling of Objects Whenever a new object (symbol, flow, connection, transition or couple) is added to a transformation graph, state transition diagram or structure chart, the Identify function can be automatically invoked. This is to remind the user to identify the object at the time of addition to the chart. The user can then choose to either enter a text identifier or abort the identify function, leaving the object on the chart but not identified. Whenever an object is identified, either automatically as just described or via selection from the menu, the Label function can be automatically invoked. This is to remind the user to label the object at the time of addition to the chart. The user can then either choose to enter a text label or abort the label function, leaving the object on the chart but not labelled. Selection of manual or automatic Identification and/or Labelling of new objects is selected via the Chart Options selection from the main menu described later. The reasoning behind providing this automatic invocation of the Identify and Label functions is that it is easier to identify and label objects as they are added to the chart rather than have to select each object in turn after addition and then identify and label each one, possibly risking missing one or more objects. Note that it is not mandatory to identify an object. However, doing so produces much more useful chart data dictionary export files for analysis and reporting using dBase III+, Lotus 1-2-3 or Microsoft Excel, PC File:dB etc, later. In addition, identifying and labeling objects as they are added to the chart enables the identifiers to be re-used later on the same chart removing the need to re-enter and format labels. If an object is identified with a previously entered identifier, the new object takes on the associated label and so need not be re-entered. Conversely, if a number of objects have the same identifier, changing the label on any one of those objects causes all similarly identified objects to be re-labelled with the new label. Also, in the case of flows (trg only), changing the number of arrowheads or type (data/control) of a flow, also results in the same change being applied to any other flows with the same identifier. Similarly, changing a Couple (stc only) type (data/control) also results in any other couples, with the same identifier, being changed in the same manner. 4.10 Object Identification The method of object identification used is up to the user. However, a suggested method is as follows; For Symbols, assign each symbol an identifier appropriate to the symbol's position in the program hierarchy. For example, the central object in the context diagram (level 0) is generally numbered 0.0, the next level (1) under that having processes numbered 1.0, 2.0, 3.0 etc. Under process 1.0, the sub-processes (level 2) are generally numbered 1.1, 1.2, 1.3 etc. and under process 2.0 (also level 2), sub-processes are generally numbered 2.1, 2.2, 2.3 etc. This approach continues down through each level in the process hierarchy (level 3 - 1.1.1, 1.1.2; 1.2.1, 1.2.2; 2.1.1, 2.1.2 etc..) until primitive processes are reached. This numeric identifier is not shown on the chart so it is helpful if the first line of the label is dedicated to showing this identifier to enable easy recognition and future use of the identifier. For Flows, Connections, Transitions and Couples the identifier is generally assigned a meaningful representation, either in whole or in abbreviated (mnemonic) form, of the name of the connection as it will appear in the label. This method is used because connections are not necessarily level related. A mnemonic name may be defined which encompasses, perhaps in abbreviated form, a combination of the type, name and/or scope of the connection. In the case of an Arrow on a structure chart, the identifier and/or label may take on the name of the corresponding flow on the corresponding transformation graph as there is a 1:1 relationship between the processes and flows on a transformation graph with the functions and flow connections on a structure chart at any given level. 5. Chart OPTIONS The following menu selection options relate to manipulation of the chart, chart window or drawing area and are NOT repeatable allowing these functions to be selected while manipulating objects without disturbing the repeatability of the Add, Move, Delete, Label, Identify etc. functions. 5.1 Set Chart OPTIONS This option is used to set the On/Off state of a number of charting options as follows. Selecting An Option To set the state of an option, select the Set Options entry from the Chart menu using the mouse or keyboard. In the pop-up dialog options box, which appears, select the desired option using the mouse or keyboard as follows: Using the mouse. Locate the mouse cursor over the desired option and press the left mouse button until the desired state is selected. An 'X' character to the left of the option indicates that the option is On, otherwise the option is Off. Then move the mouse cursor over the OK dialog box and press the mouse button to select the option. Select the Cancel dialog box to cancel this option. Using the keyboard. Press the Tab key until the desired option is highlighted and then press the spacebar until the desired option state is selected. Then press the Tab key until the OK dialog box is highlighted and press Enter to select the option. Press the Tab key to select the Cancel dialog box and press Enter to cancel this option. Alternatively, press the Escape key. 5.1.1 Auto Label Move This is an option, selected via the Set Options entry in the chart menu. It is used to set whether the labels attached to flows, connections or transitions are automatically moved whenever the connection is moved either (a) directly using the move menu option or (b) indirectly by moving a symbol to which the connection is attached. When this option is On, moving a connection (or flow or transition) will result in the attached label moving to a new position determined from the relative movement of the connection's 'link' point (the small yellow rectangle midway along the middle segment of a connection). When this option is Off, the label attached to a 'moved' connection will NOT move correspondingly. 5.1.2 Allow Manual Label Placement This option is used to set whether the position of a label can be manually adjusted, using either the keyboard or the mouse, whenever it first appears on the chart as a result of either (a) labelling a newly placed object or (b) a currently selected object inheriting a (new) label as a result of being identified or re-identified. When this option is On, whenever a label is placed on the chart it will appear highlighted (yellow) and its position can be adjusted by using the keyboard arrow keys (up, down, left and right arrow keys move the character in each direction by a distance equal to a single character height and width steps). Pressing the Enter key places the label text block at its current position. Alternatively, the label can be placed at a new position using the mouse by pressing the left mouse button with the tip of the mouse pointer at the desired location of the top left of the label text. 5.1.3 Display Grid This option is used to select whether or not a grid is shown on the screen. This affects only the display of the grid, the grid is always active and defines where objects can be placed. Selecting this option enables toggling between the On and Off grid display states. Note : the drawing grid does not appear in either of the zoom=4 or preview=4 (quarter chart size) modes. 5.1.4 Automatic Routing This option is used to set the flow, connection or transition routing characteristic for the current chart. With automatic connection routing enabled (On), while routing a connection, setting a pair of consecutive points diagonally apart will result in an embedded algorithm determining the best path (based on current, previous and past point positions and, if appropriate, source and destination symbol type, size and direction of connection entry and/or exit) for the connection. This is achieved by inserting an appropriate number of line segments so that the last two points placed will be connected by orthogonal, rather than diagonal, line segments. In some cases, two segments may be used (at right angles to each other with the appropriate turning direction) whilst in other cases three segments may be used. With the auto flow routing option disabled (Off), a single diagonal connection will be drawn between a pair of points placed diagonally apart. For data flow diagrams, transformation graphs and state transition diagrams, the default state for this option is On, whilst for structure charts, data structure diagrams and entity-relationship diagrams, the default state is Off. The desired option state is selected by toggling the option marker check box in the dialog box, between the on and off states, to the desired state. Note, the status of this option is saved with, and subsequently re- loaded from, the chart file. 5.1.5 Automatic Identification This option is used to select whether or not the Identify option is to be automatically invoked whenever a new Object (Symbol, Flow, Connection, Transition, Interface, Arrow) is added to the chart. If so, following placement of a new object, the Identifier dialog box will pop-up allowing the user to enter either a new identifier for the object or choose from a list of current, applicable identifiers from the list, if any, presented. This function is described in more detail later. If not enabled, the object may be identified later via the Identify option from the main menu. Note that even if this option is enabled, the object does not have to be Identified, pressing the Escape key or selecting the Cancel dialog box will cancel the Identify function and leave the object not identified. The desired option state is selected by toggling the check box in the dialog box, between the on and off states, to the desired state. The default state for this option is Off and may also be defined via the SET AUTO= command entered at the DOS prompt prior to EasyCASE invocation. 5.1.6 Automatic Labeling This option is used to select whether or not the Label option is to be automatically invoked whenever a new Object is added to the chart. If so, following placement of a new object, and identification if enabled, the Label input box will pop-up allowing the user to enter a label for the object. This function is described in more later. If not enabled, the object may be labelled later via the Label option in the main menu. Note that if this option is enabled, the Label input box will also pop-up if a previously non-identified and non-labelled object is selected for identification. Also, even if this option is enabled, the object does not have to be labelled, pressing the Escape key will cancel the Label function and leave the object non-labelled. The desired option state is selected by toggling the check box in the dialog box, between the on and off states, to the desired state. The default state for this option is Off and may also be defined via the SET AUTO= command entered at the DOS prompt prior to EasyCASE invocation. 5.1.7 Symbol Set This option is used to the select the appearance of the symbol set used in the creation of data flow diagrams and transformation graphs. Two alternative, complementary symbol sets are available, those symbols defined by Yourdon and DeMarco or those defined by Gane and Sarson. The charting functions are the same for both symbol sets, only symbol appearance changes. The default is the Yourdon/DeMarco symbol set. The resident symbol set may also be defined via the SET SYMBOLS= command issued at the DOS prompt prior to EasyCASE invocation. 5.1.8 Error Beep This option determines if a 'beep' will be heard, if On, from your computer's loudspeaker, in addition to a visual prompt or error message on the top screen line, if an error etc. occurs when entering information, manipulating objects, saving chart files, printing, plotting etc. If not enabled (Off), only the visual message will be seen. 5.2 Define Number Of Arrowheads On Flows This option is used to select the default flow or connection arrowhead characteristics for the current chart. The Change Number of Arrowheads function defined elsewhere is used to change the arrowheads characteristic for a single flow or connection after it has been drawn. The Define Arrowheads function (described here) defines the (default) arrowheads characteristic for all future flows or connections to be drawn. This function is invoked by selecting the Change Arrowheads option from the main menu, which takes the form of a horizontal line with the currently defined (default) number of arrowheads attached. Once selected, a pop-up dialog box will appear offering the arrowhead characteristics available, as previously described. On selecting the desired number of arrowheads from the list, made available in the dialog box, the current state will initially be shown highlighted. Selecting the Yes dialog option will cause the default number of flow or connection arrowheads to be set to this number for future flows or connections. Selecting the No dialog option or pressing the Escape key will cancel the selection and leave the default number of flow or connection arrowheads unchanged. 5.3 Select Chart Type (Type) This option is used to select the required chart type. It is possible to select from the five chart types described previously; data flow diagram (dfd), transformation graph (trg), state transition diagram (std), structure chart (stc), data structure diagram (dsd) and entity-relationship diagram (erd) from inside the program. Selecting this option from the main menu will cause a prompt to appear at the top of the screen requesting you to select the desired chart type from the pop-up dialog box which appears. Select the desired new chart type from the list of available chart types using the mouse (you can double click on a chart type to select it) or keyboard. If the current chart has been modified since it last saved, you will be prompted to save it (see below), after which the chart will be cleared and the main menu updated for the new chart type. Note that Automatic Routing is enabled for DFDs, transformation graphs and state transition diagrams, but is disabled for structure charts and ERDs. If the currently loaded chart has been changed since it was last worked on, you will prompted, via a pop-up dialog box, to save it, discard the changes or cancel the change chart function. To save the currently loaded (changed) chart, select the Yes dialog box option and use the default filename supplied or enter a new filename in the text input box. Selecting the Yes option will save the chart using the specified or default filename and then present you with the chart types dialog box. Note that if you decide to save a changed chart and the filename you choose already exists, you will be prompted, via a pop-up dialog box, to decide whether to over-write the existing file or not. Selecting the Yes dialog box option will save the currently loaded chart using the selected filename and over-writing the existing file after first copying it to a backup (.bak) file. Selecting the No dialog box option or pressing the Escape key will cancel the chart save and also the chart change function, returning you to chart editing. If you wish to discard any changes made to the currently loaded chart when changing the chart type, select the No dialog box option. The chart will NOT be saved and you will be presented with the chart type dialog box. If you wish to cancel the chart change function at any time, press the Escape key or select the Cancel dialog box option. In this case, you will be returned to the chart editor and the currently loaded chart and chart type will remain unchanged. The internal 'chart changed' flag will remain set so that you will be presented with the option to save a changed chart should you later decide to perform an operation which would require the option to save the changed chart. 5.4 Re-Draw This option is used to re-draw the area of the chart currently being displayed in the chart window. Select this option if the screen has become corrupted as a result of object moves and/or deletions to restore the display. 5.5 Clear This option is used to clear the current chart and display area. Selecting this option from the main menu will result in a dialog box popping-up requesting you to confirm clearing of the current chart. If so, and the current chart has been updated since it was last saved, you will be prompted to save or discard it (see below). The program, chart and screen will then be cleared for creation of a new chart, which will have the default filename of 'New'. The main menu will also updated to show the new chart type. Note that Automatic Routing is enabled for DFDs, transformation graphs and state transition diagrams, but is disabled for structure charts and ERDs. If the currently loaded chart has been changed since it was last worked on, you will prompted, via a pop-up dialog box, to save it, discard the changes or cancel the change chart function. To save the currently loaded (changed) chart, select the Yes dialog box option and use the default filename supplied or enter a new filename in the text input box. Selecting the Yes option will save the chart using the specified or default filename and then prior to clearing the chart workspace. Note that if you decide to save a changed chart and the filename you choose already exists, you will be prompted, via a pop-up dialog box, to decide whether to over-write the existing file or not. Selecting the Yes dialog box option will save the currently loaded chart using the selected filename and over-writing the existing file after first copying it to a backup (.bak) file. Selecting the No dialog box option or pressing the Escape key will cancel the chart save and also the chart clear function, returning you to chart editing. If you wish to discard any changes made to the currently loaded chart when choosing to clear the chart, select the No dialog box option. The chart will NOT be saved and the chart workspace will be cleared. If you wish to cancel the chart clear function at any time, press the Escape key or select the Cancel dialog box option. In this case, you will be returned to the chart editor and the currently loaded chart will remain unchanged. The internal 'chart changed' flag will remain set so that you will be presented with the option to save a changed chart should you later decide to perform an operation which would require the option to save the changed chart. 5.6 Zoom This function is used to re-size the chart so that the a 16 column by 14 row portion of, or the entire, chart is shown in the chart area. Objects can be modified as in the full size, normal chart mode with the exception that text is displayed in small (3x5) text characters or 'greeked' (small blocks instead of text characters). However, in the case of text, text strings are shown normally in input boxes. When editing objects in zoom mode, it is slightly more difficult to select, move and place objects as accurately, due to the halving of resolution. In the case of difficult to select objects, it is advisable to switch back to normal mode. The page breaks displayed (using dotted yellow lines) will vary according to the type of printer, resolution, page size (narrow or wide) and orientation (portrait or landscape) currently selected. 5.7 DOS Select this option from the main menu to gain access to the DOS prompt. If the currently loaded chart has been modified since it was saved, you will be prompted to save it. Saving the chart is highly recommended when accessing the DOS prompt as running another program can corrupt EasyCASE and cause failure to return. The amount of memory available to run another program from inside EasyCASE is limited as EasyCASE remains loaded in memory. When you are finished accessing the DOS prompt, type EXIT to return to EasyCASE. 5.8 Exit Select this option from the main menu to terminate the program and return to the DOS prompt. On selecting this option, you will be prompted to confirm Exit to DOS via the pop-up dialog box which appears. Select the Yes option if you definitely want to terminate the program and return to DOS. Select the No dialog option or press the Escape key to abort the Exit option and return to the charting facility. The default for the Exit option is No. The Exit function may also be invoked, while the mouse pointer is inside the chart window (not the main menu) area, by holding down the Control and C keys simultaneously. If you select Yes to terminate and return to DOS, and the chart has been updated since it was last saved, you will be offered the chance to save the file via a pop-up dialog box, prior to exit. The dialog box will present the current pathname and filename (resulting from a previous chart load or save) in a text input box, initially highlighted. If the pathname and filename presented are acceptable, select the Yes dialog option to save the chart. If necessary, the current pathname and/or filename can be replaced or edited as previously defined for input dialog box editing and then the Yes option selected, to save the file under a different filename and/or in a different sub- directory. Selecting the No (default) dialog option will result in the chart NOT being saved and the program will terminate and return to the DOS prompt. Note that pressing the Escape key at the save chart option will abort the entire Exit (and Save) operation and return you to the charting facility. 6. LOADING, SAVING & EXPORTING CHART FILES 6.1 Save Chart File This option is used to save the currently loaded chart to a disk file. Select the Save option from the main menu using the mouse or keyboard and, in the dialog box which then appears, modify the pathname and/or filename as necessary, using the keyboard to select and enter text into the path/filename box, and then select Yes to save the chart with that filename in the selected (pathname) sub-directory. If the chart was previously loaded from, or saved to, disk the filename box will contain it's pathname and filename. Otherwise, if this is the first time a new chart is to be saved, a default filename of 'New' will be used, unless an alternative filename is entered. Note that it is not necessary to supply a filename extension, this defaults to the current chart type (.trg, .std or .stc). If the filename you have specified or chosen already exists, you will prompted to decide if you wish to over-write the existing file. Selecting Yes will cause the currently loaded chart to be written to the specified filename, over-writing the existing file. Selecting No, Cancel or pressing the Escape key will cancel the save operation and the file will not be saved. The internal 'chart saved' flag will not be erased so you will be reminded to save the file prior to attempting to re-save the file, change chart type or exit the program. By default, the chart will be saved in the sub-directory specified on the command line at EasyCASE invocation (see the Installation section). It is possible to save a file to a different drive by entering the drive name (eg. A: or B:), in front of the pathname and/or filename, in the input box. Note that whenever a chart is saved, the previous chart file is saved in a backup file in case a major error is discovered before saving the chart again enabling the previous chart state to be recovered. For example, if the current chart being worked on is accs.trg, saving the chart will result in the previous chart being copied to file accs.bak and the current chart being saved as filename accs.trg. 6.2 Load Chart File This option is used to load a chart file from disk. Select the Load option from the main menu using the mouse or keyboard and, in the dialog box which appears, modify the pathname as necessary using the keyboard to select and enter text into the pathname input box. If you wish to load a file from any sub-directory path other than shown in the Pathname field, select that field by using the Tab key and enter the desired path, using the keyboard, and then press the Enter key. The current pathname will be initially highlighted. Entering any character will remove the current pathname and a new pathname can be entered. If it is only necessary to edit the current pathname, use an edit key first to remove the pathname highlight. Alternatively, select a different sub-directory from the filename/sub- directories list which will appear. By default, the chart will be loaded from the sub-directory specified on the command line at EasyCASE invocation (see Installation). A list of all available files in the current or specified sub- directory, and also any sub-directories within the current charts directory, will then be shown. Note that only files available for loading of the currently selected chart type and with the corresponding extension (.trg for transformation graphs, .dfd for data flow diagrams, .std for state transition diagrams, .erd for entity relationship diagrams and .stc for structure chart files), if any, will be displayed. When the list of available files and sub-directories appears, select the desired chart either by 'double-clicking' the left mouse button on the filename, clicking the mouse button on the desired filename and then selecting the OK dialog button or by moving the highlight bar over the required filename using the cursor keypad keys and pressing the enter key. Whenever a filename is selected from the list, using the mouse or keyboard, it will be highlighted. Alternatively, select the appropriate sub-directory pathname to switch to that sub- directory. In DOS convention, a single period (.) denotes the current sub-directory, whilst a double period (..) denotes the parent directory (next level up in the directory structure). If a directory entry is selected, the list will be updated to show all available files and sub-directories within that directory. It is possible to jump around the filename list by pressing an alphanumeric key, in which case the highlight bar will jump to the first filename with that first character. If there are more files available than can be shown in the filename list window, a scrollbar will appear at the bottom of the list window and can be used to scroll through the complete available filename list using either the mouse or cursor keys. It is possible to load a file from a different drive by entering the drive name (eg. A: or B:), in front of the pathname and/or filename, in the input box. If the current chart has been modified since it was last saved, you will be prompted to Save it. Selecting No at the Save File prompt will discard the current chart and it will NOT be saved. Selecting No at the Load File prompt will cancel the chart file load function leaving the current chart loaded. Pressing the Escape key will cancel the Load Chart function. 6.3 Export Chart File This option is used to export the chart in Bitmap graphics form to a Microsoft Windows Paint or PC Paintbrush (also Microsoft Paintbrush) format file or chart data in record/field form to a dBase III format file. A dialog box appears on the screen and a prompt appears at the top of the screen requesting you to select the desired export file format (default is dBASE III PLUS). Select the Export option from the main menu using the mouse or keyboard. You are then required to select the desired export file format from the dialog list box which then appears. Select the desired export file type using the mouse or keyboard and then select the OK dialog button. Selecting the Cancel button or pressing the Escape key will cancel the export selection and return you to the chart editor. When the required file format (Paint or dBase III) has been selected, you will be prompted for an Export save filename using a dialog box. The current pathname and filename with a .MSP (Microsoft Windows Paint v1.0 or v2.0), .PCX (PC Paintbrush) or .DBF (dBASE III) extension will initially be shown highlighted. Edit or replace the pathname and/or filename and press the Enter key or click the left mouse button on the OK box to export the file in the selected format or select the Cancel box to abort the export function. It is possible to export a file to a different drive by entering the drive name (eg. A: or B:), in front of the pathname and/or filename, in the input box. 6.3.1 Paint The Paint file can be used to incorporate the chart image into word processors or desktop publishing programs which support the Windows Paint (v1.0x or v2.0) or PC Paintbrush (v3.0) file format. Such programs include Aldus Pagemaker, Ventura Publisher, Legend, The Office Publisher, Windows Write, Easel (which can convert MS Windows Paint files to PC Paint, GEM, Mac, GIF etc. format, or place the image into the Windows Clipboard), Scrapbook+ (which manipulates Windows format files and the Clipboard), Ventura Publisher, Lotus Manuscript v2.0, PFS:First Publisher etc. The size of the chart area exported is selectable from the entire chart area using the mouse and corresponds to a sheet of A-size paper. That is, 10 columns by 12 rows as shown in the Preview chart window. The bitmap image produced will be 720 points wide by 720 points high to maintain compatibility with the format expected by page layout or desktop publishing programs such as Aldus PageMaker v3.0 and Lotus Manuscript v2.0. A higher resolution, more flexible paint file export format is currently being developed and will be available in a future version of EasyCASE. When a chart is selected for export in Paint format, a representation of the entire chart area is displayed as for preview=4 mode previously described. When prompted, press the left mouse button to display a yellow rectangle whose top left corner will be at the current mouse pointer position and whose size will be equivalent to 10 symbol columns wide by 12 symbol rows high corresponding to the chart area which can be exported. Holding the left button down, move the mouse until the rectangle encompasses the chart area you wish to export and then release the left mouse button. A dialog box will then appear offering you the chance to export the selected area, re-select an area or cancel the operation. Selecting Yes will cause the selected chart area to be exported in the selected paint file format. During the operation, the chart will be displayed, in pieces, on the screen as the chart image is built. This is normal. On completion, you will be returned to the chart editor. Selecting Re-do will cause the selection rectangle to be erased and you will be able to re-select an area of the chart to export, using the mouse, as described above. Selecting No will cancel the export function and return you to the chart editor. 6.3.2 dBASE III The dBASE III file option results in the export only of certain chart-specific data (object label, identifier, type and relationships) and is intended for use as a simple data dictionary interface whereby chart object relationships and characteristics can be determined using dBase III+, Microsoft Excel v2, Lotus 1-2-3 v2, Symphony or Reflex. The format of the exported file is defined in Chapter 10. 7. PRINTING & PLOTTING This option is used to send the entire or a selected portion of the currently loaded chart to hard copy or file output. Selecting this option will result in a dialog box appearing on screen and a prompt appears at the top of the screen requesting you to select the required output device characteristics. Select the required Printer or Plotter Device, Port, Paper Width, Orientation and other options from the lists and then select Yes. Selecting No or pressing the Escape key will cancel the print function. To print a chart, select the 'Print' option from the main chart menu, using either the mouse or keyboard. In the pop-up dialog print options box which appears, select the desired printer type, port etc. using either the keyboard or mouse as follows: Select the desired printer option(s) either by: a. moving the mouse pointer over the desired printer type and then pressing the left mouse button or b. pressing the Tab key until the desired printer type is highlighted and then pressing the Enter key or spacebar. Note: The DeskJet and LaserJet 100 dpi and other printer type options CANNOT be used to print at 150 dpi or 300 dpi and therefore CANNOT use the supplied fonts. Only the HPLJ 150 and 300 dpi options will use these fonts. Note also that the 300 dpi HPLJ printer selection cannot be used to print in Landscape orientation or on B-size paper at that resolutions. Any attempt to select Landscape orientation or B-size paper will be ignored and printing will instead occur in Portrait orientation on A- size paper. 7.1 Print Options 7.1.1 Select Chart Area To Print This option is used if it is only desired to print a sub-set of the entire chart. The chart, if selected for printing on A-size, portrait orientation paper, will be printed on 6 sheets of such paper, three horizontal by 2 vertical sheets. Although logic is incorporated to disable output on sheets which have no information on them, time is taken for EasyCASE to determine that a sheet is actually blank (this time can be quite long when printing in 150 or 300 dpi on the DeskJet/LaserJet printers). By using the area selection option to select only the area of the chart, even if it will take up more than one sheet, which is populated, the print processing time will be reduced, sometimes considerably. When this option is chosen, a representation of the entire chart will be displayed, as for preview=4 (quarter size) mode together with a coarse grid and page edge positions indicated. When prompted, use the mouse to select the chart area to be printed by pressing the left mouse button with the mouse pointer at the desired top left corner of the area to be printed. Moving the mouse with the left button still pressed will result in a yellow rectangle being drawn, the top left corner anchored at the selected top left of the chart area to be printed, and the bottom right corner following the mouse pointer. When the desired chart area has been encompassed, release the left mouse button. You will then be prompted, via a pop-up dialog box, to decide if you wish to print the selected chart area. Select the Yes option to initiate print output or press the Escape key or select the Cancel option to cancel the print function. If the area you selected is NOT exactly what you desired, select the Re-do option and re-select the chart area you wish to print as previously described. Select whether you want to select the area of the chart to print. If so, select the 'Select Chart Area to Print' option (which defaults to the ON state), in the PRINT dialog box, using the mouse or Tab key and toggle it On (X character appears at the left of this option line) or Off using the mouse or spacebar. After selecting OK, you will be presented with a view of the entire (6 page) chart area in zoom mode, with page breaks shown for printing at 150 dpi or 300 dpi on A-size paper in Portrait orientation (16 rows by 12 columns), from which you can select an area to print using the mouse (see below). 7.1.2 Skip Page Print If No Symbols This option allows you to specify (default is option ON) that a page shall be printed ONLY if it contains one or more symbols (Processes, Terminators, Stores etc. only, NOT flows, labels etc.) and skip it otherwise. This speeds up printing in the case whereby an area of the chart is NOT selected for printout using the mouse due to NOT selecting the 'Select Chart Area to Print' option in the Printer options dialog box. It used to minimize the relatively large amount of time taken for EasyCASE to scan each page to determine if that page contained ANY graphics information to be printed. Note that if this option is enabled and there are NO symbols on a page, but there is one or more flows, labels etc. (objects other than symbols), the page will NOT be printed. Note, this option affects printing in Portrait mode only. Note: You can only print on A-size paper in Portrait orientation at 300 dpi resolution on LaserJets. You can print on A-size paper in either Portrait or Landscape orientation at 150 dpi on LaserJets. Select the OK dialog box option to print the chart. Select the Cancel dialog box option to cancel the print selection. The chart will not be printed. 7.1.3 Print Interface Symbol This option is used to determine if the small rectangular interface symbol is to be printed at the end of interface flows on trgs, dfds and stds. 7.1.4 Select DeskJet Draft Quality Graphics This option is used to configure the Hewlett-Packard DeskJet printer into draft quality raster graphics mode. This mode speeds up printing on the HP DeskJet and DeskJet Plus printers with minimal degradation in quality. 7.1.5 Printing After printing has been started, the Escape key may be pressed to terminate print output. In this case, a dialog box will pop-up offering you the choice to terminate the print output and return to the chart, or to resume printing. During printing, EasyCASE will check for the presence of the printer being connected, turned-on, on line and loaded with paper. If any of these conditions are not met, EasyCASE will flag an error and present you with the option to abort or continue printing. Press the Escape key to terminate printer output, or press any other key to resume printing. 7.1.6 Select Printer Type Available printer device types are: 7.1.6.1 Epson FX Select this device option for any Printer which is compatible with the Epson FX series of printers (includes the Epson FX80/85, FX286 etc, Citizen 120D etc). These are 9 pin printers which have a graphics print mode capable of printing 90 dots per inch (720 columns per line) horizontally (mode 6, Hi-Res CRT). Note, this does not include the IBM graphics printer. If you have a non-Epson FX and non-IBM graphics printer, which has a compatibility mode, ensure it is set to provide Epson FX emulation. Portrait Orientation : Narrow Paper - 10 columns by 12 rows, Wide Paper - 16 columns by 12 rows. Landscape Orientation : Narrow Paper - 12 columns by 10 rows, Wide Paper - 16 columns by 10 rows. 7.1.6.2 Epson LQ Select this device option for any Printer which is compatible with the Epson LQ series of printers (includes the Epson LQ2500 etc.) These are 24 pin printers which have a graphics mode capable of printing 90 dpi horizontally (mode 38). If you have a non-Epson LQ graphics printer, which has a compatibility mode, ensure it is set to provide Epson LQ emulation. Note that Portrait Orientation only is supported for this printer type, Landscape Orientation is NOT supported. Portrait Orientation : Narrow Paper - 10 columns by 12 rows, Wide Paper - 16 columns by 12 rows. Landscape Orientation : Not supported. 7.1.6.3 HP QuietJet Alternate mode. Select this option for any printer which is compatible with the Alternate graphics mode of the Hewlett-Packard QuietJet (Plus) printer. The alternate mode is an Epson/IBM compatible mode with a resolution of 96 dpi, however using this option with an Epson- or IBM- compatible graphics printer or using the Epson FX option with this HP printer will result in a distorted (aspect ratio) output. The HP QuietJet(Plus) printer should be set for Alternate mode (switch #A5 in the UP position), though EasyCASE does attempt to switch the printer to the Alternate mode. HP PCL mode. Select this option for any printer which is compatible with the PCL graphics mode of the Hewlett-Packard QuietJet (Plus) printer. This mode is defined as HP PCL (Page Control Language) level 1 with a horizontal and vertical resolution of 96 dpi. The HP QuietJet (Plus) printer should be set for HP PCL (switch #A5 in the DOWN position), though EasyCASE does attempt to select HP PCL mode. Note that it is possible to use either this (HP PCL) or the Alternate graphics mode with the HP QuietJet (including Plus) series of graphics printer, set switch #A5 accordingly. Portrait Orientation : Narrow Paper - 10 columns by 12 rows, Wide Paper - 16 columns by 12 rows. Landscape Orientation : Narrow Paper - 12 columns by 10 rows, Wide Paper - 16 columns by 10 rows. 7.1.6.4 HPGL Select the appropriate option according the HPGL (Hewlett-Packard Graphics Language) derivative your plotter is compatible with. Available HPGL plotter types are the HP 7475 and 7550. Note that the available Narrow or Wide paper selection options correspond to A- or B-size paper selections which can be used with this plotter. It may be necessary to have the paper pre-loaded to plot on, as EasyCASE cannot always load the paper automatically, though it should eject the paper on completion of plotting. The following chart sizes can be plotted using the HPGL option, the top left position of which is selected using the Select Chart Area to Print option from the Print dialog box. Portrait Orientation : A-size Paper - 12 columns by 16 rows B-size Paper - 16 columns by 24 rows. Landscape Orientation : A-size Paper - 16 columns by 12 rows, B-size Paper - 24 columns by 16 rows. It is possible to use this output option as a graphics metafile format and hence import the file into a desktop publishing (for example, PageMaker or Ventura Publisher) or word processing (for example, Word or WordPerfect versions 5.0) programs instead of using a Paint file. Note that there are many different interpretations of HPGL used by the import function of these programs. Not all programs will accurately (if at all!) load a HPGL file. I am attempting to develop a version of the HPGL file which will be loadable by most of the well known DTPs and WPs available. This option will become available as an option in the Export feature in a future version of EasyCASE. 7.1.6.5 IBM Select this option for any 9 pin printer which is compatible with IBM graphics mode 1, 120 dots per inch, as provided by the IBM ProPrinter. 7.1.6.6 HP PCL (DeskJet & LaserJet) 100 dpi Printers Select this option for any printer which is compatible with the HP PCL graphics mode of the Hewlett-Packard DeskJet (including the DeskJet Plus) or LaserJet printers. This mode is defined as HP PCL (Page Control Language) level 3 with a horizontal and vertical resolution of 100 dpi. Note that EasyCASE sets Perforation Skip Off. To speed up printing with the DeskJet, select draft quality graphics mode from the print options menu or printer front panel. Portrait Orientation : Narrow Paper - 10 columns by 12 rows, Wide Paper - 16 columns by 12 rows. Landscape Orientation : Narrow Paper - 12 columns by 10 rows, Wide Paper - 16 columns by 10 rows. 7.1.6.7 HP PCL 150 dpi and 300 dpi Printers EasyCASE also provides the capability to print at 150 and 300 dpi (dots per inch) resolution (Registered version of EasyCASE only) on printers compatible with HP PCL (Page Control Language) level 3 using a number of (included) font types. Printers which support PCL include the HP DeskJet (including the DeskJet Plus) and LaserJet series and compatibles. Although the number of symbol rows and columns printed is similar (extended to 12 columns and 16 rows) to those printed in 100 dpi mode, the higher resolution used results in a much more professional looking, clean, smoothed output. This is particularly noticeable when printing circles, arrowheads, couples and diagonal connections. In addition, the text looks better and a number of assorted fonts are available to choose from. Fonts available include serif and sans- serif, single and double stroke, normal and script type fonts. Portrait Orientation (150 & 300 dpi) : Narrow Paper - 12 columns by 16 rows, Wide Paper - Not Available. Landscape Orientation (150 dpi only) : Narrow Paper - 16 columns by 12 rows, Wide Paper - Not Available. 7.1.6.8 HPLJ 300 dpi 24 Columns by 32 Rows This printer type (Registered version only) allows for printing of a larger (double size) area of a chart to printed on HP LaserJet and DeskJet (including the DeskJet Plus) printers. In this mode, 300 dpi graphics resolution is used and the chart objects printed at half their normal size allowing, at the expense of legibility, 24 columns by 32 rows of the chart to be printed. Portrait Orientation : Narrow Paper - 10 columns by 12 rows, Wide Paper - Not Available. Landscape Orientation : Not Supported. 7.1.6.9 File Select this option to send printer output to a file for printing later. This option is selected by choosing the File option from the list of device output ports. The printer format written to the file will be that selected from the printer device list. Therefore, to obtain the desired printout when later sending the created file to a printer, it is important to remember the printer format chosen. For example, a chart printed to a file in Epson FX or LQ format will not print properly if the file is later printed to an HP Jet printer. The default filename used when printing to a file is the currently loaded chart name with a .PRT extension. If desired, an alternative filename (but not its extension) can be selected by entering it in the pop-up text input box which will appear when the Print to File option is selected. The default file extension used when plotting a chart to a file is .PGL. It is possible to print a chart to a file on a different drive by entering the drive name (eg. A: or B:), in front of the pathname and/or filename, in the input box. When a chart has been 'printed' or 'plotted' to a file, the file may be sent to the printer later from the DOS prompt using the command COPY filename LPT?: /B. The /B option indicates to DOS that the file is a Binary file and prevents DOS from terminating file output at the first perceived EOF (End Of File) marker (Control-Z) or adding/removing Line Feed characters (0A Hex) to/from perceived Carriage Return characters (0D Hex), characters which are part of the graphics output stream. It is possible to use the DOS PRINT command, but the results may be unpredictable depending on the content of the file. Note that 'Plotting' to a file and then attempting to 'copy' the file to a COM (1 or 2) port may result in unpredictable results because the DOS COPY command may be unable to handle the communications line handshaking protocol. Using the MODE command to correctly configure the COM port communications protocol may enable a file to be output using the DOS copy filename to COM port command. See the description given above concerning the use of a chart plotted to a HPGL file for use as a graphics metafile for importing into desktop publishing or word processing programs. 7.1.7 Select Printer Port Select the appropriate option to send the chart to the printer or plotter connected to the desired device output port (LPT1:, LPT2:, PRN:, COM1:, COM2:) or file (see above). Note that PRN: is the same as LPT1: but output is passed through DOS rather than the BIOS, and is hence slower than selecting LPT1:. It is assumed that a printer is connected to the LPT1: or LPT2: port, whereas a Plotter (HPGL) is connected to the COM1: or COM2: port. 7.1.8 Select Page Orientation & Paper Size If the Epson FX, IBM, HP QuietJet, DeskJet, LaserJet or HPGL option is selected, the chart can be printed in either Portrait (vertical) or Landscape (horizontal) orientation. All except the DeskJet and LaserJet can print on Narrow or Wide paper. Note that the print quality in landscape mode on the Epson printer is not very good (distortion of circles and low resolution) due to the lack of a suitable print resolution mode. For the Epson LQ option, print orientation currently defaults to Portrait mode only, though narrow or wide paper can be selected. The HPGL Plotter can plot on A- or B-size paper in Landscape or Portrait orientation and produces very good quality output in either mode. The number of symbol columns and rows which can be printed varies depending on the printer type, paper size and orientation selected as defined previously. 7.1.9 Print Preview This option is used to show where the page edges, for the currently selected printer type and resolution, page size and orientation are located in relation to the objects on the chart (see below). This option is used to the show either half (preview=2) or the whole (preview=4) of the chart on screen as it will be printed on (multiple) sheets of paper and may be used to get an idea of how the chart will look when printed. Symbols, flows and text are shown correctly located at their relative positions on the page. Symbols are shown half-size or quarter size and text labels are shown in small or 'greeked' form. Yellow vertical and horizontal dotted lines show the edges of narrow and wide paper according to the printer type, paper size and orientation selected. Clicking either the right mouse button or pressing any key will terminate the preview function and return to the chart drawing functions. 7.1.10 Choosing and Using a Font When printing at 150 or 300 dpi on HP DeskJet (including the Plus model) and LaserJet series of printers, the font used will be extracted from file pclfont.bin from the EasyCASE executable directory (\EASYCASE). The default font supplied (in pclfont.bin) is a single stroke, sans-serif type font derived from font file ss1font.bin. To use a different font, copy the desired font file to file pclfont.bin. Do NOT use any of the font files: 4x6font.bin, 6x8font.bin, fxfont.bin or lqfont.bin as those are used for screen and/or other printer types and will not print properly or will be the wrong size, for 150 and 300 dpi output. To use a particular PCL font for 150 or 300 dpi printing: a. Determine the filename of the particular font type you wish to use from the list below. b. At the DOS prompt (prior to running EasyCASE), ensure you are located in the executable/fonts directory (\EASYCASE), using the DOS CHDIR command (CHDIR \EASYCASE) if necessary. c. At the DOS prompt, use the DOS COPY command to copy the desired chart file to 150/300 dpi font file pclfont.bin (COPY fontfile.bin pclfont.bin). d. At the DOS prompt, set the printer type and port to be used, if desired, using the DOS SET command. SET PRINTER = HPLJ300 (for 300 dpi PCL printing) or SET PRINTER = HPLJ150 (for 150 dpi PCL printing) and SET PORT = LPT1: (or LPT2: etc.) e. Invoke EasyCASE which will configure itself to the selected printer, port and font file specified above. 7.1.11 Available Fonts A number of font styles are available as listed below. All characters are dot matrix in form and are 7 dots wide and 7 dots high in an 8 by 8 dot matrix. Fonts are provided in single and double stroke, serif and sans-serif, normal and script in appearance. For best readability, normal single stroke fonts are recommended with or without (sans-) serifs. The following font files are provided on your EasyCASE program disk for use in printing on PCL printers at 150 and 300 dpi printers ONLY. The other .bin font files on the program disk are either display or alternative printer fonts and should NOT be used. font file style stroke notes ss1font.bin sans-serif single default font ss2font.bin sans-serif double scr1font.bin script single scr2font.bin script double pcfont.bin serif double EGA font type winfont.bin sans-serif double Windows type 8. OBJECT MANIPULATION An object is defined to be a graphic entity on a chart. There are several object types available, depending on the type of chart being created. Symbols are common to all chart types, though they take on different shapes depending on the chart type being created. A symbol is generally a rectangle or circle or derivative thereof and are placed centered on the center of the course grid dots shown on the screen. For example, symbols may be used to represent Data Processes, Data Stores and Terminators on a DFD, Functions and Modules (of various types) on a STC, Entities and Relationships on an ERD, States on a STD, Data Entities (of various types) on a DSD, Control Transforms and Control Stores on a TRG. Connections are also common to all chart types, though they are named differently on different chart types. A connection consists of one or more line segments connecting a pair of symbols together. Line segments may be either orthogonal (consecutive segments drawn at right angles to each other) or diagonal and a connection may consist of one or more segments. Orthogonal connections are also known as 'pipes' and have rounded corners. Connections may have one or two arrowheads at one or both ends, depending on what it is depicting. Connections are referred to as Data Flows on DFDs, Data or Control Flows on TRGs, Transitions on STCs, Connections on STCs and DSDs, and Associations on ERDs. The characteristics of a connection (piped, straight, default number of arrowheads etc. can be set and changed via the Set Options selection from the main menu as described earlier). Interfaces are similar in appearance to connections and can appear on DFDs, TRGs and STDs only. They begin or end in a single symbol only. The other end of the connection is represented by a small rectangle. Interfaces are used to depict data which begins or ends outside the scope of the current chart. Couples, also referred to as Arrows, can only appear on structure charts and represent the passing of data and/or control flow parameters between functions and modules. Objects may be added, deleted, moved, re-defined, labelled and identified as follows. 8.1 SYMBOLS 8.1.1 Add Symbol This function is used to add a symbol to the chart. The available symbols list appears on the main menu according the currently selected chart type. Symbols can be added either by selecting the SYMBOL option (HGC graphics) from the main chart menu or by selecting the symbol directly from the SYMBOLS list (if available, EGA/VGA graphics only) in the lower part of the main menu. When placing a new symbol, there are a number of symbol selection methods available; (i) The symbol place function is invoked by selecting the SYMBOL option from the main menu. This is the only method available when using a Hercules graphics card (HGC). The highlight bar will then move to the previously selected symbol type in the symbols type list and a prompt will appear at the top of the screen requesting you to select the desired symbol type from the symbols list. The desired symbol type is then selected as described in (ii) below. (ii) The symbol can be selected directly from the SYMBOLS list (this method available for EGA/VGA graphics cards only, not HGC) and placed in the drawing area without selecting a different size. Unless selected otherwise, the previously selected size will be retained. Select a symbol type directly from the SYMBOLS list in the main menu by moving the mouse pointer into the main menu area and then up or down until the highlight bar appears over the desired symbol type. Press the left mouse button to select the highlighted symbol type. The currently selected symbol size will then be highlighted. If you do NOT wish to change the current symbol size, move the mouse pointer back into the drawing area. A prompt will appear at the top of the screen requesting you to select the desired symbol position. Click the left mouse button to place the selected symbol type at the position indicated by the position of the mouse cursor. The symbol will be placed inside the rectangular grid area enclosing the mouse pointer at the time the left mouse button was clicked to place the symbol. If desired, a different symbol size can be selected by first selecting the symbol type as described above and then selecting the desired symbol size from the symbol SIZES list, if available, in the main menu. After selecting the symbol type, do NOT (yet) move the mouse pointer back into the chart area. Instead, move the mouse pointer down until the desired symbol size is highlighted and press the left mouse button. After selecting the desired symbol size, move the mouse pointer into the chart area. The symbol is then placed as described above. The symbol place command is repeatable, therefore if the left mouse button is clicked inside the chart window area (without using the menu) and the previous command was also a symbol place command as a result of previously selecting a symbol type to add, that symbol type and size will be placed at the current mouse position. This selection process can be repeated until a different symbol is selected using the above options or a different command option is selected. While placing symbols, if the desired position is not currently on screen, it is possible to scroll the chart window using the right mouse button or control+cursor key techniques described previously to scroll the desired chart area into the chart window, prior to placing the symbol. If an attempt is made to place a symbol, by clicking the left mouse button, on top of an existing symbol a beep will be heard and you will be prompted to place the symbol at an unoccupied position. During either of the symbol type or size selection functions, or prior to placing the symbol at the required position, the function can be aborted by pressing the Escape key. Once the Symbol has been placed on the chart, the Identify Symbol function (section 5.2.5) and/or the Label Symbol function (section 5.2.4) will automatically be invoked, if enabled, and may be cancelled by either selecting the Cancel dialog option box or pressing the Escape key if it is not desired to Identify and/or Label the new symbol. Note that data and control transforms and stores, on a transformation graph, are the only symbols which can be re-sized. Data Flow Diagram Available symbol types are ; External Entity (Extl Enty), Data Process (Data Proc), Data Store (Data Stor), Split/Merge (Splt/Mrge). If either the Data Process or Data Store is selected, the highlight bar will move to the previously selected object size in the sizes list on the main menu, to enable selection of one of five different symbol sizes. Transformation Graph Available symbol types are ; External Entity (Extl Enty), Data Process (Data Proc), Control Transform (Ctr Tran), Data Store (Data Stor), Control Store (Ctrl Stor), Split/Merge (Splt/Mrge), Control Bar (Ctrl Bar). If either of the Data Process, Control Bar, Data or Control Stores is selected, the highlight bar will move to the previously selected object size in the sizes list on the main menu, to enable selection of one of five different symbol sizes. State Transition Diagram Available symbol types are ; State. These symbols are provided in a single size only, therefore a SIZES list does not appear on the std main menu. Structure Chart Available symbol types are ; Function, Module, Pre-Defined Function (Def Func), Pre-Defined Module (Def Mod), Repetitive (Iteration) Function (Rep Func), Decision Function (Dec Func), Included Function (Inc Func), Store, External Device (Device), Continuation (Continue). These symbols are provided in a single size only, therefore a SIZES list does not appear on the stc main menu. Entity-Relationship Diagram Available Symbol types are ; Entity, Relationship (Relation), Attribute, Weak Entity (Weak Enty). These symbols are provided in a single size only, therefore a SIZES list does not appear on the erd main menu. Data Structure Diagram Available symbol types are ; Data Entity (Data Enty), Iteration Data Entity (Iteration), Alternate Data Entity (Alternate). These symbols are provided in a single size only, therefore a SIZES list does not appear on the dsd main menu. Note that for a dfd, trg or std, the Interface object option can be selected from the SYMBOLS menu, but is actually added to the chart as described later. 8.1.2 Delete Symbol Select this option to delete an existing symbol from the chart by selecting the DELETE option from the chart main menu. When prompted, select the symbol you wish to delete from the chart by moving the mouse to place the mouse pointer over the symbol and pressing the left mouse button. When a symbol has been selected for deletion in this way, it and, if labelled, its text label will be highlighted. In addition, any flows (trg), connections (stc) or transitions (std) and their labels will also be highlighted. This is because if the symbol is deleted, those connections will no longer have a destination symbol and therefore must be deleted also. Note that in the case of a structure chart (stc) any Arrows, and their labels, associated with any connection in turn associated with the symbol selected for deletion will also be highlighted for deletion. You will then be prompted to confirm or abort the deletion of the symbol, its label and any attached flows, transitions or connections and arrows (stc only) via a pop-up dialog box. Select the Yes dialog option box to delete the symbol or No to abort. Pressing the Escape key also aborts the delete symbol option. This option is repeatable once selected, so clicking the left mouse button over another symbol will automatically, with a confirmation request dialog box, delete that symbol without having to re-select the Delete option from the menu and select a symbol on the chart. 8.1.3 Move Symbol Select this option to move a symbol on the chart by selecting the MOVE option from the chart main menu. When prompted, select the symbol you wish to move on the chart by moving the mouse to place the mouse pointer over the symbol and pressing the left mouse button. The selected symbol and its label, if any, will then be highlighted and you will be prompted to select a new symbol position. Move the mouse pointer to the desired new symbol position, scrolling the chart if necessary using the right mouse button or the control+cursor keys (as previously described) until the desired new symbol position is inside the chart window, and then press the left mouse button to place the symbol at this new position. Pressing the Escape key at any time will abort the function and leave the symbol unmoved. Any attempt to place the symbol at an occupied position will result in a beep being heard and a prompt appearing requesting you to select another, unoccupied position. When the symbol has been moved, an embedded algorithm will move any attached flows so that they remain attached to, and associated with, the symbol at its new position, with minor re-routing as necessary. Note that this algorithm is NOT intended to completely re-draw the chart or determine the best new routes for connections to prevent them over-lapping etc. It serves mainly to keep connections, associated with the moved symbol, attached so that they can easily be found later and re-routed if desired using the Connection Re-route function described below. Note that in the case of a structure chart (stc), any data and/or control flow arrows associated with any of the connections moved with the symbol will be highlighted and re-drawn in the direction of the moved connections, to indicate that those Arrows may also need to be re-located to maintain their presentation appearance alongside the connection. Note that Arrows continue to be associated with their respective connection even though the connection may have moved. This is a repeatable command once selected, so clicking the left mouse button on another symbol will re-activate the Symbol Move function for that symbol without having to re-select the Move option from the menu and select the symbol on the chart to be moved. 8.1.4 Change Symbol Select this option to change the type of an existing symbol on the chart by selecting the SYMBOL-Change option from the chart main menu. This feature removes the necessity to have to add the desired new symbol type, move all the flows from the old to the new symbol, delete the old symbol and move the new symbol to that position. When prompted, select the symbol you wish to change on the chart by moving the mouse to place the mouse pointer over the symbol and pressing the left mouse button. The selected symbol will then be highlighted, the mouse cursor will enter the chart main menu at, and the menu highlight bar will appear over, the current symbol type and you will be prompted to select a new symbol type. Select the desired new symbol type from the chart menu by moving the menu highlight bar over the desired new current symbol size using the mouse or keyboard arrow keys and then pressing the left mouse button or Enter key. After selecting the new object type, the mouse cursor and menu highlight bar will appear over the current symbol size and you will be prompted to select a new symbol size. Moving the mouse cursor back into the chart window will result in no change to the symbol size, but its type will be changed to that selected. A new symbol size may be selected by first moving the menu highlight bar over the desired new size in the chart main menu list and then pressing the left mouse button, prior to moving the mouse cursor back into the chart window. Selecting either the current or a new size will result in the symbol originally selected on the chart taking on the new type and size. Any associated flow start/end points will be adjusted automatically, as necessary, to correctly meet the symbol at its new perimeter. Changing a symbol type and/or size in this way will also result in any other symbols on the chart, with the same identifier, being changed to the new type and/or size also. This is a repeatable command once selected, so clicking the left mouse button on another symbol will re-activate the Symbol Change function for that symbol without having to re-select the Symbol-Change option from the menu and select a symbol on the chart to be re- defined. 8.1.5 Re-Size Symbol This option is similar to the Change Symbol option except that it changes only the size, not the type of the selected symbol. On selecting the SYMBOL-Size option from the chart main menu, you will be prompted to select the symbol to redefine (change the size of). Moving the mouse cursor over a symbol and pressing the left mouse button will result in the symbol being highlighted and the mouse cursor will enter the menu at, and the menu highlight bar will appear over, the current symbol size. Selecting the desired new symbol size will result in the symbol originally selected on the chart taking on the new size, any associated flow start/end points adjusted as necessary to correctly meet the symbol, if possible, at its new perimeter. Note that data and control transforms and stores, on a transformation graph, are the only symbols which can be re-sized. Changing a symbol size in this way will also result in any other symbols on the chart, with the same identifier, being changed to the selected size also. This is a repeatable command once selected, so clicking the left mouse button on another symbol will re-activate Re-Size Symbol function for that symbol without having to re-select the Symbol-Size option from the menu and select a symbol on the chart to be re-sized. 8.2 INTERFACE 8.2.1 Add Interface This option is used to route an interface flow or transition when drawing transformation graphs or state transition diagrams respectively, and is activated by selecting the INTERFACE option from the chart main menu. Note that at least one symbol needs to be present on the screen, a source OR a destination, when this option is selected. A dialog box will then pop-up offering you a choice of an Input, Output or Update Data or Control Flow. Note that in the case of an std, only the data flow (transition) and one way (input or output only) options are meaningful. Use the mouse or keyboard to select the flow type and/or flow direction from the dialog box list of options. You will be prompted to select the point at which the Interface will be placed. This is the point at which the interface will enter or leave the chart for an input or output interface respectively. Select the desired position by pressing the left mouse button while the mouse pointer is over the grid dot corresponding to the desired start/end position. A small (yellow) box will be displayed at that position. The interface is then routed to the appropriate symbol, even for an output interface. When the symbol at the other end of the interface has been selected, the interface is drawn with the arrowhead(s) at the interface symbol end for an output interface, at the symbol end for an input interface or at both ends for an update interface. Note that the number of arrowheads drawn is determined by that set by the Define Default Number Of Arrowheads option. Once the interface has been placed on the chart, the Identify function and/or the Label function will be automatically invoked, if selected, and may be cancelled by either selecting the Cancel dialog option box or pressing the Escape key if it is not desired to Identify and/or Label the new interface. This is a repeatable command once selected, so clicking the left mouse button on the chart will define that point to be the start of a new interface, of the previously selected direction (input or output) and type (data or control flow) without having to re-select the Interface option from the menu and select a new position on the chart. 8.2.2 Move Interface This option is used to move an Interface symbol, together with its attached flow or transition and is activated by selecting the MOVE command from the chart main menu. You will then be prompted to select the interface on the chart to move. Move the mouse until its pointer lies over the interface marker (the small rectangle at the un-terminated end of a flow or transition) and then press the left mouse button. Do not select the flow itself (via the small block midway along the middle line segment of the flow) as this would result in the interface flow being selected for re- routing. When selected, the interface flow will be highlighted and you will then be prompted to select a new position to which the interface symbol will be moved together with its attached flow or transition. The flow's label will be moved also. This is a repeatable command once selected, so subsequently pressing the left mouse button on another Interface symbol will define that interface to be moved without having to re-select the Move option from the menu and then select an interface symbol to be moved to a new position on the chart. 8.2.3 Delete Interface This option is used to delete an interface (interface symbol and attached data, control flow or transition and label) and is activated by selecting the DELETE option from the chart main menu. You will then be prompted to select the interface on the chart to delete. Move the mouse until its pointer lies over the interface marker (the small rectangle at the un-terminated end of a flow or transition) and then press the left mouse button. You may also delete the interface by deleting the flow or transition by selecting it via the small block midway along the middle line segment of the flow. The flow or transition, interface symbol, and label if present, will be highlighted and you will be prompted to confirm deletion of the interface via a pop-up dialog box. Select the Yes dialog option to delete the interface symbol, flow or transition and label, if any, from the chart. Select the No dialog option or press the Escape key to terminate the operation and leave the interface on the chart. 8.3 FLOW, CONNECTION or TRANSITION 8.3.1 Add Flow, Connection or Transition Flows (dfd, trg), transitions (std) or connections (stc, dsd, erd) are used to connect source and destination symbols on the chart. The characteristics of the connection depend on the currently selected chart type. In all cases however, the method of routing the connection is essentially the same. Note that at least two symbols need to be present on the screen, a source AND a destination, when this option is selected. The connect function is invoked by selecting the appropriate option; DATA FLOW for a DFD, DATA Flow or CTRL FLOW for a TRG, TRNSITION for an STD, CONNECT for an STC or a DSD and CONNECT or S-TYPE (Subtype/Supertype) for an ERD, from the chart main menu. Data Flows, Connections and Transitions are drawn using a solid line, whereas Control Flows are drawn using a broken (dashed) line. A prompt will appear at the top of the screen requesting you to select the symbol from which the connection is to start. The source symbol for the connection is selected using the mouse. When the source symbol has been selected, by pressing the left mouse button while the mouse cursor lies inside the desired symbol position (grid square) on the chart, a number of small (yellow) boxes will appear at discrete positions around the perimeter of the selected (source) symbol. These define the list of available exit port positions where the connection can emanate from the selected (source) symbol. A prompt then appears at the top of the screen requesting you to select the port at which the connection is to be made to the symbol. Select the desired port by pressing the left mouse button while the mouse pointer lies over the desired exit port, at which time all the port markers, except the selected one defining the start of the connection, will then disappear. A further prompt then appears at the top of the screen requesting you to select the next point on the connection route or a destination symbol. Selecting a symbol will define that symbol to be the destination symbol for the connection and hence terminate the connection. Otherwise, if the left mouse button is pressed with the mouse pointer elsewhere on the chart (not inside an existing symbol), that position is defined to be an intermediate point on the connection and a line segment is drawn from the previous (initially the start) point to the current point using interpolation as necessary to replace potential diagonal connections with orthogonal connections provided automatic flow routing is enabled (Automatic Routing On previously selected from main menu). The mouse pointer, and hence the point, will snap to the nearest grid dot position so it is not necessary to be very accurate with placement of the mouse pointer. This process is repeated to route the connection around the chart as required from the source to destination symbol, using the left mouse button, until the destination symbol is selected. While routing connections, if a desired point is not currently on screen, it is possible to scroll the chart window using the right mouse button or control+cursor key combinations described above to make a different area of the chart visible in the chart window, prior to placing the next point. Also, it is possible to delete the previous line segment, while routing a connection, by clicking the right mouse button or pressing the Backspace key. This will cause the line segment just drawn to be deleted and cancel the current point. Continuing this process causes each previous line segment in turn to be deleted until the source symbol is reached. A flow may consist of no more than 18 line segments. Any attempt to create a flow with more than this number will result in you being prompted to select the destination symbol. When the option is taken to terminate the connection in a destination symbol, a number of small (yellow) boxes will appear at discrete positions around the perimeter of the selected (destination) symbol. These define the discrete positions (port markers) at which the connection can enter the selected (destination) symbol and a prompt will appear at the top of the screen requesting you to select the desired entry port. Select the desired port, at which time all the port markers will then disappear and a connection line and arrow(s), if enabled, will be drawn from the start symbol to the end symbol, using inserted orthogonal connections as necessary to remove diagonal connections if automatic routing is enabled (Auto Routing On). When the final connection is made, the previous, temporary, line segments are erased and the connection redrawn automatically using 'smoothed' line segments with 'angled' corners. The appropriate number of arrowheads, selectable from the main menu, are placed automatically at the appropriate end(s) of the connection. The auto flow routing option, selectable from Chart Options in the main menu, enables an algorithm which analyses the direction of exit of the connection from the source symbol, the direction of entry of the connection into the destination symbol, current and previous points relative positions and symbol types to determine the number and positions of points to insert along the connection path in order to correctly convert diagonal connections to orthogonal connections. It is therefore possible to connect the source and destination symbols by only defining the start and end port positions and allow the routing algorithm to determine the intermediate points and draw the connection. Note that, while routing a connection, the process can be aborted at any time by pressing the Escape key, in which case the process will be aborted and any connection drawn so far will be erased. Once the Connection has been placed on the chart, the Identify Connection function (section 5.2.5) and/or the Label Connection function (section 5.2.4) will automatically be invoked, if enabled, and may be cancelled by either selecting the Cancel dialog option box or pressing the Escape key if it is not desired to Identify and/or Label the new connection. This is a repeatable command once selected, so clicking the left mouse button on a symbol will re-activate the connection routing function and define that symbol as the start of a new connection. 8.3.2 Delete Flow, Connection or Transition Select this option to remove a connection, flow, transition or Interface (dfd, trg and erd only) from the chart by selecting the DELETE option from the chart main menu. Select the Flow (including Interface flows), Connection or Transition to be deleted by pressing the left mouse button while the mouse pointer lies over the 'handle' of the flow for deletion. The connection and text label, if any, will be highlighted and you will then be prompted to confirm deletion of the connection, label and, in the case of an stc (see below), any associated Arrows via a pop-up dialog box. Select the Yes option to delete the selected connection, together with any associated label text and, in the case of a structure chart, any associated data or control flow arrows. To abort the deletion, press the Escape key or select the No option on the pop-up dialog box. Note that for a structure chart (stc), any data and/or control flow Arrows associated with the Connection selected for deletion, and their labels will also be highlighted for deletion. This is because an Arrow is meaningless without the connection it is associated with. An Arrow denotes a parameter passed between the caller and called functions as part of the call (denoted by a connection) process. This is a repeatable command once selected, so clicking the left mouse button on a connection will re-activate the connection deletion function and delete, with confirmation request, that connection. 8.3.3 Move Flow, Connection or Transition Select this option to re-route an existing Flow (including Interface flows), Connection or Transition by selecting the MOVE option from the chart main menu and then selecting the flow, connection or transition to be moved. This function provides the capability to change the route of a connection without the need to delete the connection and then re-draw it using the new route. When selected, the connection will be highlighted and a small (yellow) box will appear at each end of the connection coincident with the entry/exit port on the destination/source symbols respectively. Note : For an Interface flow, do not select the interface symbol end of the flow. Doing so will break the association of the flow with the interface and that end of the flow must then be routed to a symbol. If this occurs, press the Escape key to cancel the operation. You will then be prompted to select the end of the connection to begin re-routing from. Select the box at the end of the connection to be moved by pressing the left mouse button while the cursor lies over the desired end marker, at which time the box at the other end of the connection will disappear and the connection will take on an unsmoothed (right angled, rather than beveled, corners when the connection changes direction) appearance. Once the re-routing function is in progress, it is much the same as the Add Connection option described above. Clicking the right mouse button will erase the line segment from the small (yellow) box back to the previous change of direction point, and the box will then move to the previous point. Clicking the left mouse button will draw a line segment from the small (yellow) box to the current mouse cursor position, with intermediate routing applied, if auto routing is currently active, to prevent diagonal lines. Thus the connection can be re-routed by deleting and re-drawing individual line segments. To end the function select a (destination) symbol and then select the desired entry port position from the list of available entry ports depicted by the small (yellow) boxes which appear at discrete positions around the perimeter of the destination symbol. This function can be aborted at any time by pressing the Escape key, in which case the original connection will be restored. Note that in the case of a structure chart (stc) any data and/or control flow Arrows associated with the moved Connection are highlighted and re-drawn in the direction of the moved connection, to indicate that it may be necessary to move them also to maintain their presentation appearance with the moved connection. The Arrows do, however, maintain their association with the moved connection. This is a repeatable command once selected, so clicking the left mouse button on a connection will re-activate the connection re- routing function and define that connection as the connection to be re-routed 8.3.4 Change Flow Type Select this option when it is necessary to change a Data Flow to a Control Flow, or vice-versa, on a transformation graph only by choosing the SYMBOL Change option from the chart main menu and then selecting the flow in the chart window to change using the mouse. When the flow to be changed has been selected, the connection will be highlighted and a dialog box will pop-up and you will be prompted to choose the desired new flow type from a choice of Data or Control flow. Select the desired flow type and select the OK box to change the previously selected flow to the new flow type. Selecting the Cancel dialog box or pressing the Escape key will cancel the function and leave the flow type unchanged. If the selected flow is changed in this way, any other flows on the chart, with the same identifier, will also be changed to the selected type and re-drawn. Note that this function is repeatable so selecting another flow will select it for change without the need to re-chose the Change Flow option from the main menu and re-select another flow to change. 8.3.5 Change Number Of Arrowheads This option is used to change the number of arrowheads on a data flow (data flow diagram), data or control flow (transformation graph), connection (structure chart, data structure diagram or entity- relationship diagram). For an ERD, this option can be used to define Associative relationships (one arrowhead) and one-to-one, many-to-one, one-to-many (n-Ary) or many-to-many relationships (two arrowheads). Data and Control Flows (trg) or Data Flows (dfd) may be defined to be input, output or update flows and may be either time discrete or time continuous in nature. An input or output flow (one-way) has an arrowhead at the destination end only, whereas an update (input/output) flow has an arrowhead at both ends. A time discrete flow is represented with a single arrowhead at the destination (input or output flow) and/or the source (update flow) symbol. A time continuous flow is represented with a double arrowhead at the destination (input or output flow) and/or source (update flow) symbol. Connections (stc) can have either none or only one arrowhead at the destination symbol end. A single arrow represents an invocation or call between function and/or module symbols. No arrowhead is generally used to represent a connection to a store or external device symbol for the purpose of exchange of data. Transitions (std) can have a single arrowhead only, at the destination state end. Connections (erd) can have none, one or two arrowheads to denote connections between entities, associations (one arrowhead) and one-to- many, many-to-one and many-to-many relationships (two arrowheads). This function is invoked by selecting the CHANGE # Arrowheads option from the main menu and, when prompted, selecting the connection or flow, whose arrowhead characteristics are to be changed, using the mouse. A pop-up dialog box will then appear with the flow's current arrowhead characteristic highlighted. Select the desired number of arrowheads (you can change the direction also, see above) and then select the OK dialog box. This will cause the flow or connection to be redrawn with the selected number of arrowheads. Selecting the No dialog option or pressing the Escape key will cancel the selection and leave the flow or connection unchanged. When a selected Flow (dfd or trg only) has had its number of arrowheads changed in this way, any other flows on the chart which have the same identifier will also have their number of arrowheads changed also. This function is repeatable, so subsequently selecting another flow will result in it being selected for modification without having to re-select the Change # Arrowheads Option from the main menu and then selecting the flow or connection to modify. 8.3.5 Change Flow Direction Select this option when it is necessary to change a the direction of a Data or Control Flow, Interface, Connection or Transition by selecting the CHANGE # Arrowheads option from the chart main menu and then selecting the flow in the chart window to change using the mouse. When the flow to be changed has been selected, the connection will be highlighted and a pop-up dialog box will then appear with the flow's current arrowhead characteristic highlighted. Selecting the Change Direction option from the list (you can also change the number of arrowheads also if desired, see below) and the selecting the OK dialog box will cause the flow or connection to be redrawn in the opposite direction with the selected number of arrowheads. Selecting the No dialog option or pressing the Escape key will cancel the selection and leave the flow or connection unchanged. Note that this function is repeatable so subsequently selecting another flow will select it for change without the need to re-chose the Change Number of Arrowheads option from the main menu and re- select another flow to change. 8.4 LABEL OBJECT 8.4.1 Add Label This option is used to label an object, which may be a symbol, flow (dfd or trg), connection (stc, dsd or erd), transition (std) or arrow (stc), and is invoked by selecting the LABEL option from the menu. When selected, you will be prompted to select the object (from the list above) to label. When the object to be labelled has been selected, you will be prompted to enter the label text string in the pop-up dialog box which appears. The size of the text input box will depend on the type and size of the object being labelled and will contain the current label, highlighted, if any. You can add, replace or edit the text label as necessary according to the editing rules previously described for pop-up dialog input boxes and press the Enter key or select the OK box to enter the label into the object. Pressing the Escape key or selecting the Cancel option in the dialog box will abort the labelling function and leave the current object label, if any, unmodified. Once the label has been entered, you will be prompted to select its position. The label will initially be highlighted and placed at a default position according to the object type, but can be moved around using the Arrow keys and then pressing the Enter key, or clicking the left mouse button to place the text label at the current mouse pointer position. Note that while moving the text label around and before placing it, if the desired label position is not currently in the chart window, the chart window can be scrolled using the scrolling methods described previously. This function is repeatable, so selecting another object will enable it to be labelled without having to re-select the Add Label option from the menu and re-select an object. Note that there is a relationship between this, the Add Object Label function and the Object Identify function described later. That is, if the object currently being labelled has previously been identified, then any other objects on the chart with the same identifier will also all automatically take on the label just entered, regardless of whether they have the same label or not. Also, if the newly labelled object has been identified, then any objects subsequently identified with the same name as the current object will automatically take on the same label. ie. that just entered. 8.4.2 Delete Label This option is used to delete an object label, without affecting the object itself. To delete a flow, connection, transition or arrow label, select either the DELETE or LABEL-Delete option from the menu and, when prompted, select the appropriate text label. If the DELETE option was selected, do NOT select the flow, connection, transition, arrow or a symbol as that will invoke the Object Delete function and delete the object as well as its label. To delete a symbol label, select the LABEL-Delete option from the menu and then select the appropriate symbol. Once the object label has been selected, it will be highlighted and you will be prompted to confirm deletion of the label via the pop-up dialog box. Selecting the Yes option will remove the object label (but not the object) from its current position, whereas selecting the No option or pressing the Escape key will cancel the function leaving the current object label intact. This function is repeatable, so selecting another object will enable it's label to be deleted, with confirmation, without having to re- select the Delete Label option from the menu and re-select an object label. Note that if the object, whose label has been selected for deletion, has previously been identified then deleting the label will also delete the label from any other object on the chart with the same identifier. 8.4.3 Move Label This option is used to move an object label without affecting the position of the object itself. To move a flow, connection, transition or arrow label, select the MOVE or LABEL-Move option from the menu and, when prompted, select the appropriate text label. If the MOVE option was selected, do NOT click on the flow, connection, transition, arrow or a symbol as that will invoke the Object Move function and move the object, not its label. To move a symbol label, select the LABEL-Move option from the menu and then select the appropriate symbol. Once the object label has been selected, it will be highlighted and you will be prompted to move the label by using either the Arrow keys and then pressing the Enter key or by selecting the new text label position (top, left hand corner) using the mouse. The object label will then be deleted from its old position and redrawn at the new position. Note that while moving the text label around and before placing it, if the desired label position is not currently in the chart window, the chart window can be scrolled using the scrolling methods described previously. This function is repeatable, so selecting another object will enable it to be moved without having to re-select the Label-Move option from the menu and re-select an object label. 8.4.4 Edit (Modify) Label This option is used to modify the text of an object label without affecting the object itself or the necessity to delete the label and then re-enter it. To modify any object label, select the LABEL option from the menu and select the object containing the label to be modified or alternatively select the label itself. The pop-up dialog box which appears will contain the current object label which can then be edited and re-positioned if desired, as described for the Add Label function previously described. If an identified object is re-labelled in this way, any other objects on the same chart, with the same identifier, will also be re- labelled. This function is repeatable, so selecting another object will enable it to be modified without having to re-select the Label option from the menu and re-select an object. 8.5 IDENTIFY OBJECT This option is used to describe an object to a chart level 'Data Dictionary' and it's use is optional. As a minimum, when creating a chart, each object should be labelled. Identifying the object will allow it to be 're-used' on the current chart and also enable analysis of the contents of, and interaction of objects on, the chart via the Export function and dBASE III etc. An object identifier generally takes the form of an abbreviated descriptive name, mnemonic or level number in the function/module or process hierarchy and is therefore usually much shorter, and thus easier to enter, than the object label. Identifying an unlabeled object will automatically invoke the Add Label function, if enabled, allowing the object label to be entered. Both the Identifier and the Label will be associated with the Object. Subsequently, identifying a different object using the previously entered identifier (for a different object, elsewhere on the chart) will cause the current object to automatically take on the associated label, removing the need to re-enter the label. Similarly, if a number of chart objects have the same identifier, and thus the same label, subsequently changing the label of any one of these related objects will result in all of them taking on the new label, even if it is deletion of the label. The label does however remain at the same position. In this way, a basic data dictionary function is established, currently basic and only at the single chart level. In the case of flows, connections, transitions and arrows, entering an identifier for each object will cause source, destination and link data to be exported to the dBase III file so that reports can be generated to define and list the flow of data and/or control between objects. This function is invoked by selecting the IDENTIFY option from the main menu. You will then be prompted to select the object to be Identified. When the object to be identified has been selected, you will be prompted to enter the identifier text string in the pop-up dialog box which appears. In addition, if any identifiers have previously been assigned to similar object types, a list of those identifiers will appear in a list box. The text input dialog box will contain the current object identifier, if any, highlighted. Add, replace or edit the text string in the text input box as necessary according to the editing rules previously described for pop-up dialog input boxes. Alternatively, select the desired identifier from the list of available identifiers, if any, listed in the dialog box. When the desired identifier has been selected and the Ok dialog box also selected, the object will take on that identifier. Pressing the Escape key or selecting the Cancel option in the dialog box will abort the identify function and leave the current object identifier, if any, unmodified. You can enter a new or existing identifier via the text entry box, using the keyboard, or select an existing identifier using either the mouse or Tab, Up/Down and Enter keys to select the desired list entry. If the identifier entered has previously been defined, for another object, on the current chart, then the current object will automatically take on the label entered when the identifier was first used. The label will be placed and displayed with the newly identified object. If the identifier is new, and the object does not yet have a label, the Add Label function will be automatically invoked, if enabled, and a label entered into the pop-up text input dialog box and placed on the chart as described previously. This function is repeatable, so selecting another object will enable it to be identified without having to re-select the Identify option from the menu and select an object. 8.6 TEXT 8.6.1 Add Text This option simply allows for arbitrary text, that is not associated with any object on the chart, to be entered and placed anywhere on the chart. This type of text is used for entering a chart title, brief description, filename, author, date or note etc. on the chart and is invoked by selecting the TEXT option from the menu and, when prompted, selecting a position on the chart where the text will be placed using the mouse. A pop-up text input dialog box will appear, into which text can be entered and edited as previously described. Selecting the OK dialog option will highlight and place the text string on the chart at the previously selected position. You will then be offered the chance to move the text string around and place it by either clicking the left mouse button with the mouse pointer at the desired text block (top, left corner) position or by using the Arrow keys to move the text and then pressing the Enter key to place it. This function can be aborted at any time by pressing the Escape key or selecting the Cancel dialog option, in which case the text string will not be placed on the chart. Note that while moving the text block around and before placing it, if the desired text position is not currently in the chart window, the chart window can be scrolled using the scrolling methods described previously. This function is repeatable, so re-selecting any point in the chart window will define that as the position for placing a text string without the need to re-select the Text option from the menu and re- select a new position on the chart for the text block. 8.6.2 Delete Text This option is used to delete non-object related text strings previously added to the chart. It is invoked by selecting the DELETE option from the main menu and then selecting the text block to be deleted. Care must be exercised to ensure that it is this type of text which is being selected for deletion and not an object or object label. On selecting the text to be deleted, the text block will be highlighted and you will be prompted to confirm deletion of that text via a pop-up Yes/No dialog box. Selecting the Yes option will cause the selected text to be removed from the chart. Selecting the No option or pressing the Escape key will abort the function, leaving the text string intact. This function is repeatable, so pressing the left mouse button with the mouse cursor over a text string anywhere on the screen will result in that text string being erased without the need to re-select the Delete option from the menu and re-select the text string to be deleted. 8.6.3 Move Text This option is used to move a non-object related text string to another position on the chart. It is invoked by selecting the MOVE option from the main menu and then selecting the text block to be moved. Care must be exercised to ensure that it is this type of text which is being selected for moving and not an object or object label. On selecting the text block, it will be highlighted and you will be prompted to move the text block to the desired position. This is achieved by either using the Arrow keys to move the text to the desired position and then pressing the Enter key to place it, or by selecting the desired new text block (top, left corner) location using the mouse. Note that while moving the text block around and before placing it, if the desired text position is not currently in the chart window, the chart window can be scrolled using the scrolling methods described previously. This function can be aborted at any time by pressing the Escape key which will leave the text block at its original position. This function is repeatable, so pressing the left mouse button with the mouse cursor over a text string anywhere on the screen will result in that text string being selected for moving without the need to re- select the Move option from the menu and selecting the text block to be moved. 8.6.4 Edit (Modify) Text This option is used to modify the text of a non-object related text block without the need to delete the text and then re-enter it. To modify any object label, select the TEXT option from the menu and select the text block to be modified. The pop-up dialog box which appears will contain the current text string which can then be edited and re-positioned if desired, as described for the Add Text Block function previously described. This function is repeatable, so selecting another text block will enable it to be modified without having to re-select the Text option from the main menu. 8.7 COUPLES (Arrows) The Couples function, not to be confused with the arrowheads function for flow or connection termination, is used only for structure charts. The Couple, referred to also here and in some texts as an Arrow, is used to annotate a connection with data or control flows passed, by a call, between the caller and the called function or module. Once added to the chart, the Couple and/or its label and Identifier can be moved, deleted or modified using the Object manipulation functions previously described. Note that the Couple's base, a small circle, denotes the flow type. A filled circle denotes a Control flow, whilst an outline circle denotes a Data flow in the direction of the arrowhead, associated with the connection which denotes a function call. 8.7.1 Add Couple To add an Arrow, select the COUPLE option which appears in the main menu for a structure chart only and, when prompted, select the connection to which the Arrow is to be associated. A pop-up dialog box will then appear and you will be prompted to select whether you want to place a Data Flow or a Control Flow Arrow and also whether you want it to be in an Up, Down or Up & Down (Up AND Down, used for a bi-directional update flow) direction relative to the direction of the connection. Select either the Data OR Control Flow option line AND also select either the Up OR Down OR Up & Down direction option line from the dialog box. The selected options will be highlighted. Selecting the Yes dialog option will place the selected Arrow type on the chart, after you select the position, when prompted, on the chart where the base of the arrow is to be placed using the mouse. Place the arrow just off to the side of the connection. Selecting the No dialog option or pressing the Escape key will abort the Arrow function. Note that if the desired arrow position is not currently in the chart window, the chart can be scrolled, prior to placing the arrow, using either of the scrolling techniques previously described. Once the Arrow has been placed on the chart, the Identify Arrow function (section 5.2.5) and/or the Label Arrow function (section 5.2.4.1) will automatically be invoked, if enabled, and may be cancelled by either selecting the Cancel dialog option box or pressing the Escape key if it is not desired to Identify and/or Label the new arrow. This function is repeatable, so selecting another connection will select that connection to receive another arrow without the need to re-select the Arrow option from the menu and then re-select a connection. 8.7.2 Delete Couple This function is used to remove a Couple and its label, if any, from a structure chart and is activated by selecting the DELETE option from the menu and selecting the arrow to be deleted. On selecting the Arrow, the arrow and its label text, if any, will be highlighted and you will be prompted to confirm deletion of the arrow and its label via a pop-up Yes/No dialog box. Selecting the Yes dialog option will delete the arrow and its label from the chart. Selecting the No dialog option or pressing the Escape key will cancel the deletion, leaving the arrow and its label on the chart. Note that this function is repeatable once selected, so that selecting another arrow will select it for deletion, with confirmation, without the need to re-select the Delete option from the menu and then re-select another arrow to be deleted. 8.7.3 Move Couple This function is used to adjust the position of a Couple and its label text and is activated by selecting the MOVE option from the menu and selecting the arrow to be moved. On selecting the arrow, the arrow and its label, if any, will be highlighted and you will be prompted to select the new position for the arrow and its label using the mouse. When the new position is selected, the arrow and its label text, if appropriate, will be erased from the old position and redrawn at the new position. Note that this function is repeatable once selected, so that selecting another arrow will select it for movement without the need to re-select the Move option from the menu and then re-select another arrow to be deleted. 8.7.4 Change Couple Type/Direction To change the type and/or direction of a Couple, select the SYMBOL Change option from the main menu and, when prompted, select the Arrow whose type and/or direction is to be changed. A pop-up dialog box will then appear and you will be prompted to select whether you want to select a Data Flow or a Control Flow Arrow and also whether you want it to be in an Up, Down or Up & Down (Up AND Down) direction. Select either the Data OR Control Flow option line AND also select either the Up OR Down OR Up & Down direction option line from the dialog box. The selected options will be highlighted. Selecting the Yes dialog option will change the selected Arrow type and/or direction on the chart. Selecting the No dialog option or pressing the Escape key will abort the Change Arrow function. Note that if the desired arrow position is not currently in the chart window, the chart can be scrolled, prior to selecting the arrow, using either of the scrolling techniques previously described. If an arrow type is changed in this way, any other arrows on the chart, with the same identifier, will also be changed to the selected type and re-drawn accordingly. This function is repeatable, so selecting another Arrow will select that Arrow to be changed without the need to re-select the Change Arrow option from the menu and then select an Arrow. 9. LIMITATIONS EasyCASE has the following chart size and object limitations. Chart Size - EasyCASE can be used to produce charts up to approximately 24 inches square distributed, when printed, over several sheets of paper. If using A-size paper in portrait mode, 6 such sheets may be printed, 3 horizontally by 2 vertically. Symbols - These are placed on a 32 column by 32 row matrix providing 1024 possible positions. Symbols are placed on the screen in grid cells spaced 72 points wide by 48 points high. Flows, Connections, Transitions - A chart may contain up to 256 flows etc. and each may contain up to 20 intermediate points, including the start and end points. A flow etc. may contain from none to two arrowheads at one or both ends and may be drawn using solid or broken lines. Flow intermediate points may be placed anywhere on the chart and will snap to a grid located every 12 points horizontally and 8 points vertically. Couples (Arrows) - A chart may contain up to 64 Arrows. An arrow may be drawn in the up and/or down direction with one arrowhead and either a solid or open base. Arrows must be linked to connections on a structure chart and may be placed anywhere on the chart and will snap to a grid located every 12 points horizontally and 8 points vertically. Object Labels - Each object can have only one label which may consist of up to 4 rows of 32 (128 total) characters for flows, connections or transitions; up to 4 rows of 12 (48 total) characters for couples and up to 6 rows of 12 (72 total) characters for symbols. Object Identifiers - Each object can have only one identifier, however several similar objects may have the same identifier. Each identifier may contain up to 32 characters. Text Blocks - Up to 20 arbitrary text blocks may placed anywhere on the chart. A text block may consist of up to 4 rows of 32 (128 total) characters. Chart Filenames - Chart filenames follow the DOS naming convention of an (up to) 8 character name and 3 character extension. EasyCASE reserves the extension to denote the chart type to which that chart file corresponds. A 'project' directory may contain up to 96 chart files and up to 32 additional sub-directories, or 128 total entries. The combination of a chart filename and the pathname in which it is located should not exceed 40 characters. Export Chart Size - The chart area for exporting in Paint format, is selectable, but is limited in size to 10 symbol columns by 12 symbol rows (720 pixels horizontally and vertically) to maintain aspect ratio and compatibility with page layout (desktop publishing) programs such as Ventura and PageMaker. 10. dBASE III Plus Export File Format The following chart data is exported in the dBase III file : Field Name # Type Length Description OBJ_TYPE 1 Char 18 Object Type IDENTIFIER 2 Char 32 Object Identifier LABEL 3 Char 64 Object Label SOURCE 4 Char 32 connection source symbol ID DESTNATION 5 Char 2 connection dest. symbol ID FLOW_TYPE 6 Char 32 Connection object sub-type DIRECTION 7 Char 8 Flow/connection direction FILENAME 8 Char 12 Chart filename 10.1 Data Flow Diagram : Object Type ; External Entity Data Process Data Store Split/Merge Interface Data Flow Object IDentifier, Object Label, Source Symbol ID (flow only), or Interface (input) Destination Symbol ID (flow only), or Interface (output) Flow Type (flow only); Time Discrete Time Continuous Flow Direction (flow only); Input (interface only) Output (interface only) Update Chart Filename [????????.dfd]. 10.2 Transformation Graph : Object Type; External Entity Data Process Control Transform Data Store Control Store Split/Merge Interface Control Bar Data Flow Control Flow Object IDentifier, Object Label, Source Symbol ID (flow only), or Interface (input) Destination Symbol ID (flow only), or Interface (output) Flow Type (flow only); Time Discrete Time Continuous Flow Direction (flow only); Input (interface only) Output (interface only) Update Chart Filename [????????.trg]. 10.3 State Transition Diagram : Object Type; State Interface Transition Object IDentifier, Object Label, Source State ID (transition only), or Interface (input) Destination State ID (transition), or Interface (output) Transition Direction; Input (interface only) Output (interface only) Update Chart Filename [????????.std]. Note : Field #6 is not used. 10.4 Structure Chart : Object Type; Function Module Defined Function Defined Module Repetitive Function Decision Function Inclusive Function Store External Device Continuation Data Flow Arrow Control Flow Arrow Connection Asynchronous Call Object IDentifier, Object Label, Source Symbol ID (arrows & connections), Destination Symbol ID (arrows & connections), Identifier of linked connection (Arrow only) Arrow Direction (arrow only); Up Down Update Chart Filename [????????.stc]. 10.5 Entity Relationship Diagram : Object Type; Entity Relationship Weak Entity Attribute Connection Subtype/Supertype Association Object IDentifier, Object Label, Source Symbol ID, Destination Symbol ID, Connection Type; Connect Association One-to-Many/Many-to-One One-to-One Many-to-Many Chart Filename [????????.erd]. Note : Field #7 is not used. 10.6 Data Structure Diagram : Object Type; Data Entity Repetition Alternate Data Connection Object Identifier, Object Label, Source Symbol ID, Destination Symbol ID, Chart Filename [????????.dsd] Note : Fields 6 & 7 are not used. 11. DIAGRAMMING STANDARDS SUPPORTED Although it is really beyond the scope of this document to describe the various methodologies supported, an overview of each of the diagramming techniques supported is provided below and some of the basic principles of structured methods and CASE tools are also provided throughout this document. For additional information, refer to the texts listed in the bibliography section. The intent of the various methods implemented is to support the concept of structured system development. This technique involves successively breaking a problem down into a number of smaller, more manageable, comprehensible functions. The development of a system may be split into two major phases, prior to coding and testing, namely analysis and design. The analysis (Essential model) stage is the requirements analysis and definition stage during which the developer analyses exactly what it is the system is required to do, specifies those functional requirements and gains concurrence and approval from the customer. The design (Implementation model) stage is the hierarchical organization and further decomposition of the required functions identified during the requirements analysis stage into a modular design with the identification of calling sequences, dependencies, inclusion, parameter passing, Iteration and decision function identification, coupling and cohesion issues etc. prior to coding each primitive (lowest level) function. The Yourdon/DeMarco method is the best known structured analysis method, but applies mainly to systems which manipulate data and is the origin of the Data Flow Diagram (DFD). A derivative, using a slightly different symbol set, is the Gane & Sarson method. These methods have been extended by Ward & Mellor and Hatley (also known as Hatley- Pirbhai and Boeing-Hatley) to support the concept of control flows, stores and transformations required to support the modelling of real- time systems. Both of these methods are similar and are built on the symbols defined for the Yourdon/DeMarco or Gane & Sarson methods. The two most important diagrams are the transformation graph (data/control flow diagram) and the state transition diagram. In addition, these methods use structured decision tables, process activation tables, etc. which are currently not supported by this tool and may instead be generated by an editor or word processor when creating the specification. Neither of the above methods directly support the design process, though the functions specified can be used as inputs to the design, which are then structured into a functional hierarchy. The Yourdon/Constantine method is the best known structured design method and uses structure charts to show the hierarchical organization and interaction of processes. 11.1 Data Flow Diagrams (DFDs) Data Flow Diagrams (DFDs) are the origin of structured analysis and depict the storage of data within, and the flow of data through, a system as defined by Yourdon/DeMarco and Gane & Sarson. DFDs model the functional requirements of a system, not its implementation, and is idealized in the sense that processes are assumed to operate instantaneously, inputs are always available when needed, and outputs are always produced. The functional requirements are decomposed in a hierarchical manner so that related functions are grouped together, unrelated functions are separated, each function is non-redundantly specified and partitioned until it can be completely and concisely specified. A context diagram is the highest level diagram and shows the boundary between the system and its environment, consisting of a single data process representing the processing to be done by the system, external entities representing 'things' in the environment with which the system must interact, and flows representing real world data through which the system interacts with its environment. The following objects are provided to support the production of data flow diagrams. Note that you can use either the Yourdon/DeMarco or Gane & Sarson symbol set. External Entity, Data Process, Data Store, Split/Merge, Interface, Data Flow, In the case of data flows, these may be defined to be either time discrete or time continuous and one-way or update flows by virtue of the number of arrowheads added to the end(s) of the flow. 11.2 Transformation Graphs (TRGs) Transformation Graphs (TRGs) are diagrams which contain Data and/or Control information, as proposed by Ward & Mellor (W-M) and Hatley in their extensions to the Yourdon/DeMarco method to support modelling of real-time systems. Ward & Mellor allow for data and control on the same diagram whereas Hatley requires data and control on separate diagrams. For the true Hatley method, create a pair of diagrams with, for example, the same filenames suffixed with a D and C for data and control diagrams respectively. (For example (CRUISED.TRG and CRUISEC.TRG). The .TRG extension signifies that the diagram is a transformation graph. Alternatively, use the Hatley Control Bar instead of the W-M Control Transform object on a single data/control diagram. Control flow diagrams (CFDs), in the Hatley method, are used to map the flow of control through the system, typically along the same paths as the data flows on the corresponding DFD. Using the Hatley method, the data and control flow diagrams are usually drawn with the same objects at the same positions on each chart, one with data flows and processes and the other with control flows and processes, 'overlapping' each other. The following objects are provided to support the production of transformation graphs according to the Ward-Mellor or Hatley methods. Note that you can use either the Yourdon/DeMarco or Gane & Sarson symbol set when creating transformation graphs for either of these methods. In their respective texts, both Ward-Mellor and Hatley- Pirbhai use the Yourdon symbol set. External Entity, Data Process, Control Transform (Ward-Mellor method only), Control Bar (Hatley method only), Data Store, Control Store (Ward-Mellor and Hatley methods), Split/Merge, Interface, Data Flow, Control Flow (Ward-Mellor and Hatley methods), In the case of data and control flows, these may be defined to be either time discrete or time continuous and one-way or update flows by virtue of the number of arrowheads added to the end(s) of the flow. 11.3 State Transition Diagrams (STDs) State Transition Diagrams (STDs) are diagrams used to show the sequence of states (state machine) a process (control transform or bar) goes through in response to system events (control flow inputs), and the resulting actions (control flow outputs) the process performs. This diagram can be used with both the Ward-Mellor and Hatley methods to show the inner functions performed by a control transform or bar. Input control (flow) events are transformed into output control (flow) actions by the process when enabled or triggered. The following objects are provided to support the production of state transition diagrams according to the Ward-Mellor, Hatley methods ; State, Interface, Transition, 11.4 Structure Charts (STCs) Structure Charts (STCs) are diagrams used to portray the structured design of the system in terms of functional hierarchy, dependencies, calling sequences, repetition, inclusion, decisions and the passing of data and control flow items between the functional entities comprising the system. The structure chart should address Hierarchy, the depiction that certain functions control other functions; Modularity, collections of instructions belong together; Protocol, relinquishing of control between parent/child functions, Information communication, passing of data and/or control between processes; Coupling, the degree of independence between functions (should be minimized) and Cohesion, the degree to which activities within functions are inter-related. The following objects are provided to support the production of structure charts according to the Yourdon/Constantine method ; Function, Pre-Defined Function (library module), Repetitive (Iteration) Function, Decision Function, Inclusive Function, Store, External Device, Connection (call), Data Flow Arrows, Control Flow Arrows, Connection Continuation, Asynchronous Call. Note : Arrows are sometimes referred to as couples in some texts. Two types of Function and Module symbols are provided, one is an outline whilst the other is subdivided so that the level number, module name or identifier etc. may be placed in the upper box and its label placed in the lower box. Two types of connections are provided, the normal one is used for inter-function calls and the Asynchronous call is used to depict, for example, functions invoked in response to system interrupts etc. 11.5 Entity Relationship Diagrams (ERDs) Entity-Relationship Diagrams (ERDs) are used to model the structure and relationships of data typically stored in data stores on data flow diagrams or transformation graphs. The ERD is a conceptual representation of real world objects and the relationships between them and defines information the system must process as well as the inherent relationships that must be supported by the database (store). The symbols provided are in accordance with the symbol set defined by Chen and subsequently used by Ward & Mellor and Yourdon in their texts. The following object types are provided to support the production of ERDs; Entity, Relationship, Weak Entity, Attribute, Connection, Associative Relationship, Subtype/Supertype, One-to-One, One-to-Many/Many-to-One, Many-to-Many. For each method supported, the appropriate chart type is selected and the main menu provides the user with the selection of objects available for that diagram type. In each case, the user can place, move, delete, connect, identify and label objects (symbols, connections and text). In addition diagrams can be saved, loaded, printed and exported. Also, the drawing grid can be shown/hidden, number of arrows on connections specified, auto routing, auto identification, auto labelling turned on/off and the chart redrawn, cleared, previewed etc. The object connection process is automated in that it will attempt to determine the best route for connection segments if not all points are specified and will move associated connections whenever objects are moved, changed or re-sized. Identification and labelling of objects can be invoked automatically, if desired, following placement of new objects and identifiers can be re-used later on the same chart. A chart can be manipulated in either full size or full screen mode and previewed prior to printing. 11.6 Data Structure Diagrams Data structure diagrams (DSDs) are used to graphically portray the relationships between component data items within composite data structures. The data objects used include symbols to represent data entities (which may be composite or non-composite), Iteration (repetitive) data items and alternate data entities. This is structure chart approach to data modeling which lends itself well to the definition of data structures using the Jackson data structure notation. Instead of using rectangles to define functions, they are used instead to define data items. This approach to specifying data structures is a very powerful one, in that it clearly (visually) shows the relationships between components of a complex data structure. The various symbols provided for depicting the various types of functions of a data structure diagram have a direct one-one relationship with the operators defined for the Yourdon/DeMarco/Backus-Naur/Jackson representation of data structures. The repetition data entity symbol is equivalent to the '{}' notation and the alternate entity is equivalent to the '[ | ]' notation. The following object types are provided to support the production of DSDs; Data Entity, Alternate Data Entity, Repetition Data Entity, Data Connection. 11.7 Objects Objects are entities which are placed on the chart and subsequently manipulated, building interactions which collectively provide a visual operation of the function, interrelationships and structure of the system being defined. An Object may be a Symbol, Connection, Flow, Transition, Arrow, Label or Text Block, each defined as follows and appropriate to the type of chart being drawn. In the case of a Data Flow Diagram, a symbol may be an External Entity (Terminator), Data Process, Data Store, Split/Merge or Interface. Data Flows are used to connect symbols. In the case of a Transformation Graph, a symbol may be an External Entity, Data Process, Control Transform, Data Store, Control Store, Split/Merge, Interface or Control Bar. A Data Flow or Control Flow is used to connect symbols. In the case of a State Transition Diagram, a Symbol may be a State or Interface. A Transition is used to connect symbols. In the case of a Structure Chart, a Symbol may be a Function, Pre- defined Function, Repeat Function, Decision Function, Inclusive Function, Module, Pre-defined Module, Store, Device, Asynchronous Call or Continuation. In addition, an Arrow is also an Object for this chart type. A Connection is used to connect symbols. In the case of an Entity-Relationship Diagram, a symbol may be an Entity, Relationship, Weak Entity or Associative Entity. Symbols are connected and may be one-one, one-many, many-one, many-many or subtype/supertype. A Text Block is an object which can be used on any chart type, generally for annotation or heading purposes. An External Entity (or Terminator) symbol (dfd or trg) is depicted by a rectangle and is used to portray a physical device or other system which is outside the scope of the system being defined, and provides information used by the system or uses information produced by the system. The name of the device is placed inside the symbol. A Data Process symbol (dfd or trg) is depicted by a circle with a solid outline and transforms input data (and control flows) into output data (and control flows). The process name (verb-noun) and level number and/or identifier is placed inside the symbol. The identifier is typically a number which identifies the hierarchical standing of the data process in the system (for example 1.2.3). Data processes are typically further modelled by either a lower level DFD or trg or a Primitive Process Specification (PPS) which may be in the form of Structured English, Pseudocode (or PDL) or a flowchart etc. A Control Transform symbol (trg) is depicted by a circle with a broken (dashed) outline and is used to transform input control flows into output control flows only. The transform name (verb-noun) and level number and/or identifier is placed inside the symbol. The identifier is typically a number which identifies the hierarchical standing of the control transform in the system (for example 1.1.2). Control Transforms are typically further modelled using a state transition diagram, structured decision table or process activation table. A Data Store symbol (dfd or trg) is depicted by a pair of horizontal, solid lines and is used to store a data flow output by a source data process until a destination data process requires it. The store name (unique) and identifier is placed between the lines and should be a noun and descriptive adjective(s), no processing should be implied. A data store should ideally appear on only one diagram (though it may appear in more than one place on that diagram), preferably at the highest level at which it is used. Data stores are typically further modelled, if sufficiently complex and/or structured, using an entity- relationship diagram. A Control Store symbol (Ward & Mellor trg) is depicted by a pair of horizontal, broken lines and is used to store a control flow output by a source data process or control transform (or bar) until a destination data process or control transform (or bar) requires it. The store name and identifier is placed between the lines. A control store is typically further defined by a control table. A Split/Merge symbol (dfd or trg) is depicted by a small circle and is used to split a composite flow into its component flows, merge component flows into a composite flow or enable a single flow to be directed to several separate processes. An Interface symbol (dfd, trg or std) is depicted by a very small rectangle and is used to show that the attached connection either originates from, or is being sent to, a symbol outside the scope of the current chart. It is connected to a symbol by a data or control flow on a data flow diagram or transformation graph. The flow name is placed on top of, or adjacent to, the flow. A Control Bar (Hatley trg) is depicted by a vertical bar symbol with no name. There may be more than one Bar on a diagram, but it represents only one control specification. A State symbol (std) is depicted by a rectangle and is used to show a stable system state, during which processing continues until the occurrence of one or more specified transition events. A system may only be in one state at a time and must always be in a state. Rules : Each state should be reachable from the start state, the end state should be reachable from any state and, from a given state, a specific event can cause a transition to only one other state. A Data Flow (dfd or trg) is depicted by a directed solid, continuous line between a pair of symbols or an interface on a dfd or trg and is terminated at one or both ends by one or two arrowheads. It is used to denote the transfer of a data item (a 'pipeline') between symbols and may be time discrete (single arrowhead at destination symbol) or time continuous (double arrowhead at destination symbol), and may be either a one-way (arrowhead(s) at destination symbol only) or an update (arrowhead(s) at source and destination symbols) flow. The flow name is placed on top of, or adjacent to, the flow and must be unique, including only nouns and adjectives to represent its contents. No processing should be implied. Rules : Data flows may only flow between two processes, a terminator and a process or a store and a process, in either or both (update) directions. A Control Flow (trg only) is depicted by a directed broken, continuous line between a pair of symbols or an interface on a trg and is terminated by one or two arrowheads at one or both ends. It is used to denote the transfer of an event, trigger or enable/disable between symbols and may be time discrete, time continuous and one-way or update flow as for the data flow. The flow name is placed on top of, or adjacent to, the flow and follows the same naming rules as for data flows. Rules : Control flows may only flow between two data and/or control processes, a terminator and a data or control process, a process and a control bar (Hatley method) or a store and a control bar (Hatley method). A Transition (std) is depicted by a directed solid, continuous line connecting a pair of state symbols, terminated with an arrowhead at the destination symbol end. It is used to show a change of system state on a state transition diagram. The condition or event which caused, and action which results from, the change of state are placed adjacent to the transition and prefixed with C: and E: respectively. A Connection (stc) is depicted by a directed solid, continuous line connecting a pair of function or module symbols and is terminated with an arrowhead at the destination symbol end. It is used to show a calling sequence or dependency between symbols on a structure chart. A data connection is a solid, continuous line between a module or function symbol and a store or external device on an stc and is un- terminated. A connection is generally unlabeled though labels could be used to denote options in the case of a decision process invoking alternative sub-processes. An Asynchronous Call is depicted using a broken line and may be used for invoking functions etc. in response to a system interrupt. An Arrow (or couple) (stc) is used to show the flow of data or control between symbols and is depicted by a an arrow symbol with a circle at the base placed adjacent to a connection between a pair of processes. An unfilled circle is used to depict a data flow whereas a filled circle depicts a control flow. The arrow points in the direction of flow between process symbols. The arrow label is placed adjacent to the arrow and is typically the same as the corresponding data item connecting the equivalent data process pair on the corresponding data flow diagram. A Continuation (stc) placed at the end of a connection is used to denote that the connection continues elsewhere on the same chart and is used to prevent unnecessary crossing of connections. This symbol is a small rectangle. A Function (stc) is used to represent a collection of statements or operations which will implement a particular function. The symbol used is a rectangle inside which the process name is placed. An alternative symbol is a rectangle with a horizontal line inside dividing it into two parts, the upper of which can be used to contain a level number and/or identifier and the lower of which contains the process name. A Module (stc) is a process which is outside the system and has already been developed in the form of a library or operating system etc, function. It is similar to the function symbols but the left and right sides each consist of closely spaced vertical lines. An Entity (erd), depicted by a rectangle, with a unique singular noun name, and represents an object or group of objects about which information is to be stored or collected. An entity has a significant purpose or characteristic within the system (data view) being modeled. A Relationship (erd), depicted by a diamond, with a verb name, and represents a significant association or interaction involving one or more entities. A Relationship cannot stand alone and must be connected to at least two entities with a line (erd connection). Two aspects of this connection need to be accounted for; namely cardinality, the rate of relative occurrence of one entity in the relationship to another (one or many), and exclusivity, whether an entity must have a relationship with one or more other entity(ies) in the relationship (some or all). A Subtype/Supertype (erd), depicted by a connection with a perpendicular bar across the middle segment, is a means of identifying sub-categories of an entity. The sub-entity inherits all the properties of the super-entity and has in addition, unique properties of its own. An Attribute (erd) is depicted by a circle and is used to represent data elements which help to describe a particular entity or relationship and ought to describe only one thing. Attributes which help to uniquely identify an entity or relationship are 'key attributes'. A Direction Indicator (erd) is depicted by a connection with an arrowhead and represents the direction of access of data in a database. An Associative Entity (erd), depicted by a connection with an arrowhead at the end coincident with a Relationship symbol, represents a Relationship which participates in other relationships. Its key consists of those of the participating entities.