____________ EasyCASE ____________ Copyright (c) 1989 Evergreen CASE Tools An easy-to-use Computer Aided Software Engineering (CASE) tool for drawing : Data & Control Flow Diagrams, State Transition Diagrams and Structure Charts to the Yourdon-DeMarco, Ward-Mellor, Hatley-Pirbhai and Yourdon-Constantine methods for Structured Systems Analysis and Design (including Real Time Systems) Revision 1.2, March 25th, 1989 Evergreen CASE Tools, 11025 164th. Ave. N.E., Redmond, WA 98052 Tel : (206)-881-5149 1 1. INTRODUCTION 1.1 Summary EasyCASE is a limited function CASE (Computer Aided Software Engineering) tool intended to simplify the generation (with a certain amount of automation) of data/control flow diagrams (also referred to as transformation graphs), state transition diagrams and structure charts. EasyCASE produces these charts in accordance with the Yourdon-DeMarco, Ward-Mellor, Hatley- Pirbhai (also known as the Boeing-Hatley method) and Yourdon- Constantine representations and metholodogies for structured analysis and design as published in their respective texts (see bibliography section). EasyCASE provides an easier to use, more automated method of producing these diagrams than does a presentation graphics or drawing program such as Lotus Freelance, Micrografx Designer, Windows Draw or Gem Draw etc. in that the drawing functions it provides are only those required to provide the symbols, connections, annotation and relationships required for the specific chart types implemented. EasyCASE is also easier to use than most of the full-featured CASE tools in that it provides only the basic functions (charts) necessary for performing and presenting structured systems analysis and design. 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). 1.2 Limitations The Data Dictionary and Desktop Publishing support provided is, currently, minimal but adequate. The information entered about each object on each chart produced is exported, at the chart level, in dBase III file format so that reports and analysis can be performed using dBase III+, Lotus 1-2-3 or Microsoft Excel etc. Also, a chart 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 _________________________________ EasyCASE Users Guide | Chapter 1 Introduction 2| program which can import Paint images, such as Pagemaker, Ventura Publisher, Lotus Manuscript etc. This program is not intended to directly compete with full function CASE tools such as Excelerator/RTS from Index Technology Corporation, an excellent CASE tool with which I have extensive experience. However tools such as Excelerator are expensive ($8,000+), difficult to learn, over-kill for small systems and can be intimidating to the novice or non- structured methodology literate user. In fact, what can happen is that a company which is considering entering into the CASE marketplace can be overwhelmed by the large number of powerful CASE tools available and dissuaded by the cost to purchase, train and support both the tool and the user(s). Also, to perform an effective evaluation, the customer needs to have some prior exposure to the benefits (and disadvantages) CASE tools can provide and the various specialized methodologies they support. Most of the high-end tools require either advance knowledge of the various methodologies supported or alternatively, extensive training in both the methodologies and the use of the tool. Also, the cost of the commercially available, high-end CASE tools, such as Excelerator, is usually beyond the budget and needs of small software development companies, educational establishments, consultants, students and home PC/Software enthusiasts. Unfortunately, to use this and indeed any other available CASE tool, some pre-requisite knowledge of structured analysis and design methodologies is required to be able to use EasyCASE effectively. Although the features provided are intuitively 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. However, unlike various commercially available CASE tools, EasyCASE makes an attempt to provide the user with enough information and sample chart files to enable him or her to gain a basic understanding of the concepts of CASE, structured analysis and design methodologies supported, available chart types and chart objects and their associations and so be able to use the program effectively in a minimum amount of time and with minimal reference to the various texts available on those subjects. 1.3 What CASE tools do, and do not do ! CASE is an acronym for Computer Aided Software Engineering and is a relatively new (3 years or so) technology brought about by the need to improve software development, automate structured analysis and design method. CASE has been made possible by the advent of relatively low cost, powerful Personal Computer systems and Workstations. _________________________________ EasyCASE Users Guide | Chapter 1 Introduction 3| 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. Having evaluated and used several commercially available full-feature CASE tools, it has become apparent that the user is being continually driven by the functions provided by the product/vendor rather than the product/vendor being driven by the needs of the user. The needs of the user seem to be left further and further behind as the vendor adds ever increasing support for ever advancing and new software technologies and methods which are often beyond the needs or understanding of the end-user. The end-user is usually so schedule & budget driven and under-staffed that he does not have the time or money to research the practicality of these new techniques, cannot keep up with technology advances and often only requires a tool with a basic set of building blocks, typically diagrams and a data dictionary, which will enable him to provide a visual presentation of the system to the customers, developers and management. EasyCASE was developed to provide such a set of basic charting functions. Full-featured CASE tools do provide enormous benefits in terms of potential time, money and manpower savings. I have myself experienced and demonstrated the benefits of CASE tool implementation. However they provide this at the expense of initial investment and training and hence major learning curves and initial decreases in productivity. 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 lifecycle. 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 redefinition 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. _________________________________ EasyCASE Users Guide | Chapter 1 Introduction 4| 1.4 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. 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. EasyCASE came about as a result of my involvement, mostly from an a system development engineer, rather than a research, standpoint in ongoing evaluations (over a two year period) of a large number of commercially available, high-end real-time CASE tools for a large Fortune 500 company developing real-time, embedded microprocessor controllers in the avionics environment. It became apparent that it would be useful if the advantages of each could somehow be incorporated into a single, easy to use, automated tool. EasyCASE is an attempt to do just that. Currently it is limited mostly to the generation and output of the various essential diagrams, as I feel that to be one of the most important needs of the end-user for the reasons previously stated. Note that EasyCASE has been used to reverse-engineer two real time systems, deriving structure charts and data and control flow diagrams from undocumented C, QuickBASIC and Assembly Language source code thereby providing a pictorial representation of the implemented system software. 1.5 Development EasyCASE is the result of almost two years work in my spare time and has provided immense education in the techniques of interactive computer graphics, mouse, file handling and exporting in different formats, printer drivers, structured programming, structured methods, user interfacing and CASE tool implementation. EasyCASE is written mostly using Microsoft QuickBASIC version 4.5 and consists of about 20,000 lines of source code. BASIC has always been an easy language to use with a powerful graphics base, but was previously notorious for it's slow execution speed and large memory size. However, Microsoft has transformed their original BASIC Interpreter into a very powerful and fast structured programming language (size and execution speed is now comparable with C). Development is made easy by virtue of the integrated editor/compiler/debugging environment. 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 _________________________________ EasyCASE Users Guide | Chapter 1 Introduction 5| Software Interphase, Inc. which provides a library of fast, low level primitives needed to perform the screen handling support used for the pop-up dialog box functions. This document was written using Microsoft Word v4.0 and Pageview v1.0 running under Windows/386 v2.1 and printed on a Hewlett-Packard LaserJet II. 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 Vega Deluxe EGA card, multi-scan monitor, Microsoft Mouse and an Intel 80287 math. coprocessor. 1.6 Testing EasyCASE has been tested on the Tandy 4000 (16MHz 386 PC), Tandy 1000 (4.77 MHz 8088 PC-XT compatible), Tandy 1000TX (8 MHz 80286 PC-XT compatible), IBM PC-AT (8 MHz), AST Premium (10 MHz PC-AT compatible) and Compaq Deskpro/386 (16 & 20 MHz) computers; Video-7 Vega Deluxe, AST, Quadram, Everex and Paradise EGA cards; Compaq VGA card; Microsoft, Logitech and Mouse Systems mice; Citizen 120D, Epson FX, Epson LQ2500, Okidata 393 and Hewlett-Packard QuietJet+, DeskJet and LaserJet Series II Printers and a Hewlett-Packard 7550A Plotter. The Bitmap graphics (paint) file output has been tested with Microsoft Windows Write, Paint and Clipboard, Easel v3.10, Scrapbook+ v1.0, Pagemaker v3.0, Ventura Publisher v1.1x, PFS:First Publisher, PC Paintbrush and Lotus Manuscript v2.0 (requires additional file conversion via the Document Manager). The dBase III file output has been tested with dBase III+ v1.1, Norton Commander v2.0, PC Tools Deluxe v5.0, Microsoft Excel v2.01, Reflex v1.1, Lotus 1-2-3 v2.01 and Lotus Symphony v1.1 and v2.0 (both 1-2-3 and Symphony require additional file conversion from the dBase III format, via the Lotus Access menu, before use). 1.7 Requirements EasyCASE requires an EGA or VGA (with EGA capability) card, Microsoft mouse or compatible and ideally an 8 MHz 80286 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, but is not absolutely necessary as EasyCASE was purposely written using mostly integer math for speed. 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) and DeskJet printers. _________________________________ EasyCASE Users Guide | Chapter 1 Introduction 6| 1.8 Acknowledgements The most thanks go to my wife Denise for 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 also go 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. Thanks must also be extended to Microsoft Corporation for producing the excellent set of tools I used to develop the program and this user manual, namely QuickBASIC v4.5 and earlier releases, Assembler v5.1, Word v4.0, Pageview v1.0 and Windows/386 v2.1. Finally, thanks must go to the various CASE tool developers, particularly Index Technology Corporation whose excellent Excelerator/RTS CASE tool I have used extensively, and the various methods developers, particularly Paul Ward, Stephen Mellor, Derek Hatley, Ed Yourdon and Tom DeMarco, who unknowingly provided me with the inspiration and some of the ideas I needed to make this CASE tool happen, support their methodologies and provide the end-user software engineer with an easy to use diagramming tool. 1.9 The Author EasyCASE was conceived, written and tested by the author who is currently employed as a Senior Software Design Engineer by a Fortune 500 company involved in the development of real time, microprocessor and PC based avionics systems. With 10 years experience in the development of software for such systems developed using structured techniques and, most recently, CASE tools, my experience in the use of structured methods and CASE has been from a 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. Focus on structured methods and CASE tools has therefore had to be limited to finding and using techniques that can be used immediately and with minimal disruption to already in-house techniques rather than full- time research into new methods and tools. When using CASE tools such as Excelerator/RTS, I found myself most of the time using only a subset of the full set of features available. On consulting with other engineers in the same and other companies, the same pattern emerged. That is, what were found _________________________________ EasyCASE Users Guide | Chapter 1 Introduction 7| to be most important were a powerful but easy to use diagram editor, data dictionary support, printing and and export capability for desktop publishing enabling the development team to share information in diagrammatic form, produce a data dictionary, integrate charts into documentation and present the system design visually to the customer, support groups and project management. 1.10 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. _________________________________ EasyCASE Users Guide | Chapter 1 Introduction 8| 1.11 Product Acknowledgements Microsoft, MS-DOS, QuickBASIC, Windows, Excel, Word, Paint, Write and Pageview are registered trademarks of Microsoft Corporation; Lotus, Manuscript, 1-2-3, Symphony and Freelance are registered trademarks and products of Lotus Development Corporation; dBASE is a registered trademark of Ashton-Tate; Epson FX and Epson LQ are registered trademarks of Epson America, Inc.; Hewlett-Packard, HP, DeskJet, LaserJet and QuietJet are registered trademarks of Hewlett-Packard Company; Excelerator/RTS is a registered trademark of Index Technology Corporation; IBM, XT and AT are registered trademarks of International Business Machines, Inc.; Okidata is a registered trademark of Okidata Corporation; Ventura Publisher is a trademark of Xerox Corporation; Pagemaker is a registered trademark of Aldus Corporation; PC Paintbrush is a registered trademark of Z Soft Corporation; Compaq is a registered trademark of Compaq Computer Corporation; Tandy is a registered trademark of Tandy Corporation; Reflex is a trademark of Borland International, Inc.; Designer and Windows Draw are trademarks of Micrografx, Inc.; Vega Deluxe is a registered trademark of Video-7, Inc.; PFS:First Publisher is a registered trademark of Software Publishing Corporation; Scrapbook is a registered trademark of T/Maker Company; QuickWindows advanced is a product of Software Interphase, Inc.; Norton Commander and The Norton Guides are trademarks of Peter Norton Computing, Inc.; Citizen is a registered trademark of Citizen America Corporation; AST is a trademark of AST Research, Incorporated; Logimouse is a registered trademark of Logitech, Inc.; Easel is a product of Synergistic Enterprises. CompuServe is a registered trademark of CompuServe Incorporated. Any other names are trademarks or products of other companies. _________________________________ EasyCASE Users Guide | Chapter 1 Introduction 9| 1.12 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 the EasyCASE directory. It is necessary to copy files EASYCASE.EXE, 6X8FONT.BIN and 6X24FON.BIN to the EasyCASE directory. In addition, files SYMBOLS.TRG, SYMBOLS.STC, SYMBOLS.STD, README.TXT and EASYCASE.DOC may also be copied. To be able to use EasyCASE, the mouse driver for your mouse must have been 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 an EGA or VGA graphics display adaptor card installed in your PC and attached to a high resolution (640x350) EGA, VGA or multiscan color monitor. Prior to invoking EasyCASE, the following command should be entered at the DOS prompt to set an environment variable to tell EasyCASE where to find the font files it requires for displaying and printing text : SET EASYCASE=C:\EASYCASE, or 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. The command SET CHARTS= can be used 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. The command 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 Epson LQ _________________________________ EasyCASE Users Guide | Chapter 1 Introduction 10| IBM Okidata 393 HPGL Plotter HP QuietJet HP DeskJet HP LaserJet 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. The command SET COLORS=color may be used to change some of the colors used by EasyCASE, specifically the chart window background, object and the foreground and background menu and prompt colors. A single number is used, specified as follows; fcolor = color of menu options, prompts etc. bcolor = color of menu background and chart window border wcolor = background color for chart window ocolor = color of objects in chart window color = (4096 * ocolor) + (256 * wcolor) + (16 * bcolor) + fcolor Each individual color attribute must be an integer in the range 1-15. If a particular color is not specifed (color value = 0) or the SET COLORS= command is not used, the colors will default to ; fcolor = 7 (light gray) bcolor = 1 (blue) wcolor =1 (blue) ocolor = 15 (white) 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=1054 fcolor = 14 ( yellow), bcolor = 1 (blue), wcolor = 4 (red), ocolor = 15 (white) by default. 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, _________________________________ EasyCASE Users Guide | Chapter 1 Introduction 11| preferably sub-directories, within the EasyCASE directory (for example C:\EASYCASE\CHARTS). 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 any one of TRG (transformation graph), 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 can NOT 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. 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 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. _________________________________ EasyCASE Users Guide | Chapter 1 Introduction 12| 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 and initially creating a transformation graph. 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.TXT C: Copy EasyCASE release file [PRINT README.TXT] 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 COPY A:*.STD CHARTS graphs, 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 PRINTER=HP LaserJet] Sets Printer type [SET COLORS=279] Sets default colors (white/blue) EASYCASE CHARTS TRG Start EasyCASE for trg Note that the sample charts (SYMBOLS.TRG, SYMBOLS.STD and SYMBOLS.STC) 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, identified so these charts may be printed exported in dBASE III, Microsoft Windows Paint or PC Paintbrush format for further investigation. _________________________________ EasyCASE Users Guide 13 2. REGISTRATION If you find EasyCASE useful, intend to use it on a regular basis and are interested in supporting its continued development, obtaining future updates, bug-fixes, enhancements and extensions to the product, please register your copy as described below. It has been stated in a number of publications recently that more low-end, less expensive CASE tools in the sub-$1000 price range are needed. I agree, so this my attempt to provide the software developer with an affordable, capable tool which provides the capability to quickly and easily produce maintainable diagrams, manipulate objects, and generate hard copy and usable file output required for the rapid development of a software based product. 2.1 Licence All versions of EasyCASE, from version 1.1 on, are NOT Public Domain software NOR are they FREE software. Currently, EasyCASE is a SHAREWARE1 program and requires the user to register the program if he or she intends to use it except for the purpose of limited evaluation described below. Registration grants the user a licence to use EasyCASE on a single computer at any one time. A registered user may have EasyCASE installed on more than one computer, the program may not be in use on more than one computer at the same time. No user may modify EasyCASE in any way, without the express permission of the author, including, but not limited to, decompiling, disassembling, debugging or otherwise reverse- engineering the program. Non-registered users are granted a limited licence to use EasyCASE on a trial basis for the purpose of evaluation and determining if EasyCASE is suitable for their needs. Use of EasyCASE, except for this limited purpose, requires the user to register the product. All users of EasyCASE are granted limited licence to copy the product only for the trial use by others, subject to the above limitations, provided that EasyCASE is copied in its full and unmodified form. That is, the copy must include all files necessary to permit full operation of the program, this licence agreement, registration form and full documentation. No fee, charge, licence, warranty, registration obligation or other compensation of any kind may be accepted by the donor or recipient in exchange for a copy of EasyCASE. Operators of Electronic Bulletin Board Systems (BBS Sysops) may permit EasyCASE to be downloaded by any user, and any user may be permitted to upload a copy of EasyCASE to a BBS, with the Sysop's permission, provided the above conditions are met. _________________________________ EasyCASE Users Guide | Chapter 2 Registration 14| Use of non-registered copies of EasyCASE by any person in connection with a business, corporation, educational establishment or government agency is forbidden. Such users must register the product. 2.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 (see section 2.3) and future developments (see section 2.4) at a reasonable charge and in a timely manner. 2.3 Registration Registration of EasyCASE licences you to use the product on a regular basis and entitles you to receive notification of bug-fixes, enhancements, extensions, upgrades etc. and product technical support relating to the use and application of EasyCASE. Registration costs $85 plus $5 to cover shipping, and covers the use of the product, by the registered user only, and provides you with the latest version of EasyCASE on disk and a complete, more comprehensive printed and bound copy of the user manual. Note : Washington state residents must add 8.1% WA state sales tax ($7.29). As a registered user, you will be notified of future EasyCASE upgrades and revisions and offered the oppurtunity to acquire them at a preferred rate and also, for a limited time, _________________________________ EasyCASE Users Guide | Chapter 2 Registration 15| you will be provided with minor upgrades, bug-fixes etc. free of charge. 2.4 Technical Support Technical support may be obtained either by telephone, when available, or by letter to the Evergreen CASE Tools at the address given previously at the front of this manual. In addition, you may leave messages and request help via CompuServe (ID : 73250,1721). When requesting technical support, please provide the following information, to help in problem diagnosis ; Serial number, EasyCASE version number, Your PC hardware configuration, particularly your Mouse and EGA 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, if any. In addition, it may also be useful to provide the chart file, on a floppy disk, if possible. 2.5 Future Development It is expected to produce future versions of EasyCASE which will provide data modelling support; full data dictionary support at the project level ie. up, down and across charts (including the different chart types available) in the project chart hierarchy; level balancing; methodology rule checking; a Gane & Sarson object set; Entity-Relationship diagrams; exporting to Windows Metafiles, CGM (Computer Graphics Metafiles), DXF (AutoCAD), PIC (Lotus) and EPS (Encapsulated Postscript) formats; enhanced chart resolution for VGA; higher resolution output for printing charts on HP DeskJet and LaserJet printers; printing to Postscript devices; a pop-up help feature; command language programs or macros as appropriate for producing chart reports using Microsoft Excel, Lotus 1-2-3 and dBASE III+. Also under consideration is the generation of (Quick)BASIC, C and Pascal data structures and code templates, requirements tracking and document production. In addition, a Microsoft Windows version of EasyCASE may also be produced. Versions of EasyCASE which provide full Data Dictionary support, methodology rule checking, Gane & Sarson objects and support the new, emerging real time methodolgy ESML (Extended Systems Modelling Language) are currently being produced and will be released in the near future. _________________________________ EasyCASE Users Guide | Chapter 2 Registration 16| 2.6 Shareware 1 Shareware is copyrighted by its author and cannot be distributed without the author's permission. The author retains all rights (unlike Public Domain software) to a shareware program and can make changes to it, or withdraw it from public use as he or she wishes. The distribution of shareware is encouraged by the author so that others may evaluate it and determine if it meets their needs, use of which beyond a reasonable evaluation period requires the user to register his or her copy of the program. The Shareware concept, known also as user supported software, is beneficial to both the developer and the user. The user benefits from this 'try before you buy' approach because it enables him or her to obtain the program at a minimal investment, typically only the connect and line charges for telephone connection to a bulletin board or CompuServe, GEnie etc. or the price of the disks and shipping (usually $5 - $10) from shareware vendors such as Public Brand Software or PC-Sig, and then spend some time determining if the program meets his or her needs in terms of functions, user interface, performance, hardware investment, speed, features etc. If after a trial period, typically one month, if the user wishes to continue using the program, he or she must then register it and so be entitled to the latest version, full documentation, upgrades, technical support etc. However, if after the trial period, the user does not find the program suitable, he or she should cease using the program and/or pass it on for other potential users to evaluate. The shareware approach is additionally beneficial to both the user and developer because, as the software is user supported, the user may suggest or request certain enhancements, additions etc for consideration by the developer who is usually only too willing to cater to the needs of users and usually at only minimal cost. How many times have you been unable to afford or spent a large amount of money on a commercially available program only to find that it does not really meet your needs, was vastly over-priced or you later find that you have to spend even more money for additional features, upgrades etc. and that program ends up as 'shelfware'?. The shareware approach is intended to try to address these problems and provide the user with high quality, affordable software. However this concept can only succeed if you, the user, register any shareware program you use regularly. _________________________________ EasyCASE Users Guide 17 3. 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 diagrammimg 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, iterative 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 manipuulate data and is the origin of the Data Flow Diagram (DFD). This method has 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 build on the symbols defined for the Yourdon/DeMarco method. 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. 3.1 Transformation Graphs Transformation Graphs (TRGs) are diagrams which contain Data and/or Control information, as proposed by Ward & Mellor (W-M) _________________________________ EasyCASE Users Guide | Chapter 3 Diagramming Standards Supported 18| 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. To draw a Data Flow Diagram (DFD) to the Yourdon/DeMarco method, simply use only the data objects and not the control objects. The symbols provided are in accordance with the Yourdon convention rather than the Gane & Sarson object set. The difference is really only in the shape of the objects, not in their function, and is hence negligible. A Gane & Sarson object set may be provided in a later release of EasyCASE. The following objects are provided to support the production of transformation graphs according to the Ward-Mellor, Hatley and Yourdon methods; a. External Entity, b. Data Process, c. Control Transform (Ward-Mellor method only), d. Control Bar (Hatley method only), e. Data Store, f. Control Store (Ward-Mellor and Hatley methods only), g. Split/Merge, h. Interface, i. Data Flow, j. Control Flow (Ward-Mellor and Hatley methods only), 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. 3.2 State Transition Diagrams State Transition Diagrams (STDs) are diagrams used to show the sequence of states (state machine) a process (control transform) 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. _________________________________ EasyCASE Users Guide | Chapter 3 Diagramming Standards Supported 19| The following objects are provided to support the production of state transition diagrams according to the Ward-Mellor, Hatley methods ; a. State, b. Interface, c. Transition, 3.3 Structure Charts Structure Charts (STCs) are diagrams used to portray the structured design of the system in terms of functional hierarchy, dependencies, calling sequences, repitition, inclusion, decisions and the passing of data and control flow items between the functional entities comprising the system. The following objects are provided to support the production of structure charts according to the Yourdon/Constantine method ; a. Function, b. Pre-Defined Function (library module), c. Repetitive (Iterative) Function, d. Decision Function, e. Inclusive Function, f. Store, g. External Device, h. Connection, i. Data Flow Arrows, j. Control Flow Arrows, k. Connection Continuation. 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. 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 _________________________________ EasyCASE Users Guide | Chapter 3 Diagramming Standards Supported 20| 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. _________________________________ EasyCASE Users Guide 21 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 version number, creation date, serial number and a message reminding you that EasyCASE is a shareware program and that you should register which will enable you to receive upgrades etc. as previously described and also ease your conscience. 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), a dialog box will appear. Select the initial chart type box (you can switch between different chart types within the program also) using the mouse (left button) or Tab and Enter keys, from the available list ; TRG - Transformation Graph, STD - State Transition Diagram, STC - Structure Chart. When the desired chart has been selected, the drawing area will appear in the form of an outline, grid and menu. A pointer should appear somewhere in the drawing area, provided a mouse is connected (EasyCASE requires a Microsoft compatible mouse and an EGA or VGA card to function). 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 Scrolling The entire chart area can be scrolled so that any portion of it is visible within the chart window as follows ; 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 hel down, the chart will be scrolled by 1 row or column in that direction. Scrolling using the keyboard : _________________________________ EasyCASE Users Guide | Chapter 4 Screen, Menus, Scrolling & Dialog Boxes 22| 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), PgDn - 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. 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 #16 and column #16), 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 when symbol column #10 and/or row #14 has been reached corresponding to the right and bottom edges of a sheet of narrow, A size paper on which a chart can fit when printed. 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. This occurs because it is only possible to print 10 horizontal by 14 symbols vertically a sheet of A-size paper in portrait orientation. With Wide (B-size) paper it is possible to extend the horizontal printing capability to 16 columns, the entire width of the available charting area. In landscape orientation it is possible to print 14 columns by 10 rows on narrow paper and 14 columns by 15 rows on wide paper. 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 _________________________________ EasyCASE Users Guide | Chapter 4 Screen, Menus, Scrolling & Dialog Boxes 23| (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 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.4.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.4.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 intitially highlighted text string to be replaced by any text character(s) entered from the keyboard. If it necessary only 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 keypads are used as follows ; _________________________________ EasyCASE Users Guide | Chapter 4 Screen, Menus, Scrolling & Dialog Boxes 24| Left and Right Arrow keys move the cursor back and forth along the text string, one character at a time. Home or End key 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 key deletes the character to the left of the cursor. Control+End key combination toggles between Insert (Default) and Overstrike modes. Control+Right Arrow and Control+Left Arrow key combinations are used to select text charactersto the right and left respectively. Control+Up Arrow and 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 and Delete keys are 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 and Shift+Tab keys can be 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 the next option (normally the OK option dialog box). 4.4.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 un-filled. 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 _________________________________ EasyCASE Users Guide | Chapter 4 Screen, Menus, Scrolling & Dialog Boxes 25| the Escape key or selecting the Cancel dialog box will cancel any option changed and leave it at the original state. 4.4.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.4.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 prevent 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 (pressing an alphanumeric key moves the highlight bar to the next entry in the list with that first character) to move to the desired list item and press the Spacebar or Enter key to select that item. Alternatively, use the mouse to select the desired list item by clicking the left mouse button with the mouse pointer over the desired item. 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.4.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 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 Arrows (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 _________________________________ EasyCASE Users Guide | Chapter 4 Screen, Menus, Scrolling & Dialog Boxes 26| 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 TRG Flow, STD Transition or STC Connection, the object 'hot-spot' is a small yellow box mid-way along the longest line segment. In the case of an STC Data or Control Arrow, 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, Arrow Label, Text Block and Symbol. When selecting an object other than a symbol, the mouse pointer does not need to exactly over the object 'hot-spot', some tolerance is allowed, generally +/- 5 pixels in normal mode. 4.6 Chart Drawing Area Chart. The convention used is that the total available drawing area is based on narrow (A-size) or wide (B-size) paper printout. This encourages the user 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. Chart Window. The chart window is shown by a rectangular white outline at the left, top and bottom edges of the screen _________________________________ EasyCASE Users Guide | Chapter 4 Screen, Menus, Scrolling & Dialog Boxes 27| and just to the left of the main menu at the right side of the screen. All charting operations, object placement and manipulation, scolling etc. occur within this window. Grid. The complete drawing area (chart) is arranged in the form of a grid capable of holding 16 symbols horizontally and 16 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 (256 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. 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 narrow and wide A/B size paper are reached. It is possible to draw beyond these, but any objects placed there may not print properly. 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. 4.7 Zoom mode Zoom mode provides all the functions of Normal mode, with the exception that text labels are shown in 'greeked' (small blocks rather than regular, readable text) form. All symbols, connections, arrowheads, arrows etc. are shown half-size. In this mode, the displayed symbol grid is halved to 36 points horizontally by 24 points vertically. 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 mode, all 16 horizontal chart columns and 14 vertical chart rows are shown in the chart window. A vertical, yellow line at column 10 depicts the right edge of a sheet of A-size paper. A vertical yellow line at the left side of the _________________________________ EasyCASE Users Guide | Chapter 4 Screen, Menus, Scrolling & Dialog Boxes 28| chart window depicts the left edge. The right edge of a sheet of wide paper is at column 16, coincident with the menu area. The chart cannot be scrolled left or right in zoom mode. The top and bottom edges of a sheet of A- or B-size paper are depicted by horizontal yellow lines at the upper and lower borders of the chart window. The lower edge is at row 14. The chart can be scrolled down by 2 rows in zoom mode. 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. To view a label in zoom 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 half 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.. In preview mode, a number of colored broken horizontal and vertical colored lines are shown on the screen to show the edges of narrow (A-size) and wide (B-size) sheets of paper for portrait and landscape print orientation on the paper (refer to the table in sections 6.1.7 and 6.1.8 for details of tthe number of columns and rows which can be printed for a given printer, paper size and orientation). 4.9 Automatic Identification and Labelling of Objects Whenever a new object (symbol, flow, connection, transition or arrow) 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. _________________________________ EasyCASE Users Guide | Chapter 4 Screen, Menus, Scrolling & Dialog Boxes 29| 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 (section 6.1). 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 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 an Arrow (stc only) type (data/control) also results in any other arrows, 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. _________________________________ EasyCASE Users Guide | Chapter 4 Screen, Menus, Scrolling & Dialog Boxes 30| For Flows, Connections, Transitions and Arrows 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 form 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. 4.11 Mouse EasyCASE requires a Microsoft or compatible (such as the Logitech C7 etc.) mouse to function. EasyCASE requires the mouse driver provided with the mouse to have been previously installed in Microsoft Mouse compatible mode, either as a device driver in the config.sys file or as a TSR (Terminate and Stay Resident) program in the autoexec.bat file, during system initialization prior to EasyCASE invocation. For both 2- and 3-button mice, the left mouse button is used to select options from the menu, place and select objects in the chart window, lay down connection points etc. The right mouse button is used to scroll the chart as described in section 4.2 above. In the case of a 3-button mouse, the middle mouse button mimics the function of the Escape key for certain charting options, except dialog boxes. _________________________________ EasyCASE Users Guide 31 5. DEFINITIONS 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 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 or Continuation. In addition, an Arrow is also an Object for this chart type. A Connection is used to connect symbols. A Text Block is an object which can be used on any chart type, generally for annotation or heading purposes. An External Entity symbol (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. The name of the device is palced inside the symbol. A Data Process symbol 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. 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. The transform name (verb-noun) and level number and/or identifier is placed inside the symbol. A Data Store symbol (trg) is represented 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 and identifier is placed between the lines. A Control Store symbol (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) _________________________________ EasyCASE Users Guide | Chapter 5 Definitions 32| until a destination data process or control transform (or bar) requires it. The store name and identifier is placed between the lines. A Split/Merge symbol (trg) is depicted by a small cirle 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 (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 transformation graph. The flow name is placed on top of, or adjacent to, the flow. A State symbol (std) is depicted by a rectangle and is used to show a stable system state. A Data Flow is depicted by a solid, continuous line between a pair of symbols or an interface on a 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 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. A Control Flow is depicted by a 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. A Transition is depicted by a solid, continuous line connecting a pair of state symbols on an std and is 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 (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 is depicted by a solid, continuous line connecting a pair of function or module symbols on an stc 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 unterminated. A connection is generally unlabelled though labels could be used _________________________________ EasyCASE Users Guide | Chapter 5 Definitions 33| to denote options in the case of a decision process invoking alternative sub-processes. An Arrow (or couple) is used to show the flow of data or control between symbols on a structure chart 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. A Continuation 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 prts, 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. _________________________________ EasyCASE Users Guide 34 6. FUNCTIONS REFERENCE 6.1 CHART FUNCTIONS 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. 6.1.1 Set Chart Options (Options) This option is used to set the On/Off state of a number of charting options as follows. 6.1.1.1 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. 6.1.1.2 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 transformation graphs and state transition diagrams, the default state for this option is On, whilst for structure charts, 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. _________________________________ EasyCASE Users Guide | Chapter 6 Functions Reference 35| 6.1.1.3 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 in section 6.2.5. 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. 6.1.1.4 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 detail in section 6.2.4. 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. 6.1.2 Chart Type (Type) This option is used to select the required chart type. It is possible to select from the three chart types described previously; transformation graphs (trg), state transition diagrams (std) and structure charts (stc) from inside the program. Selecting this option will cause a prompt to appear at the top of the screen requesting you to select the desired chart type and a pop-up dialog box appears from which the desired chart type can be selected. If the current chart has been modified since it last saved, you will be prompted to save it, after which the chart will be cleared and the main _________________________________ EasyCASE Users Guide | Chapter 6 Functions Reference 36| menu updated for the new chart type. Note that Automatic Routing (see section 6.1.1.1 above) is enabled for transformation graphs and state transition diagrams, but is disabled for structure charts. 6.1.3 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. 6.1.4 Clear This option is used to clear the current chart and display area. Selecting this option 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. The program, chart and screen will then be cleared for creation of a new chart, which will have the default filename of 'New'. Note that pressing the Escape key while any of the pop-up dialog boxes are on-screen will cancel the Clear function and return you to the current chart without clearing it. 6.1.5 Save This option is used to save the current chart to a disk file. 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. Modify the pathname and/or filename as necessary and select Yes to save the chart with that filename in the selected (pathname) subdirectory. Note that it is not necessary to supply a filename extension, this defaults to the current chart type (.trg, .std or .stc). Selecting the No option or pressing the Escape key will cancel the Save operation and the chart will NOT be saved. By default, the chart will be saved in the subdirectory specified on the command line at EasyCASE invocation (see Installation). 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. 6.1.6 Load This option is used to load a chart from disk. Modify the pathname as necessary, select the required filename from the list and then select Yes to load the file. _________________________________ EasyCASE Users Guide | Chapter 6 Functions Reference 37| Note that if it is desired to load a file from any subdirectory path other than shown in the Pathname field, select that field by using the Tab key and enter the desired path followed by 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 subdirectory from the filename/sub-directories list which will appear. By default, the chart will be loaded from the subdirectory specified on the command line at EasyCASE invocation (see Installation). A list of all available files in the current or specified subdirectory, 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 graph, .std for state transition diagram 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 clicking the left mouse button on the filename or by moving the highlight bar over the required filename using the cursor keypad keys and pressing the enter key. 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 (sub-)directory (next level up in the directory structure). 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. _________________________________ EasyCASE Users Guide | Chapter 6 Functions Reference 38| 6.1.7 Preview This option is used to the show the whole (16 columns by 14 rows) of the chart on screen as it will be printed on a sheet 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 and text labels are shown in 'greeked' form. The yellow vertical and horizontal lines show the edges of narrow and wide paper in portrait orientation. In this case, the left and upper edges of the paper are depicted by the horizontal and vertical broken yellow lines at the left and top of the chart window respectively. The lower edge of the paper is coincident with the bottom of the chart window, showing that it is possible to print 14 symbol rows on the paper (11 inches high) in portrait mode. Also, the right edge of the paper is depicted by vertical yellow lines coincident with the right edge of the chart window (wide paper) or to the right of center (narrow paper), showing that it is possible to print 10 symbol columns on narrow paper (8.5 inches wide) or 16 columns on wide paper (13.6 inches wide). Similarly, the white lines show the edges of narrow and wide paper in landscape orientation. In this case, the left and upper edges of the paper are denoted by yellow lines at the left and top edges of the chart window, as for portrait orientation. The right edge of the paper is shown by a vertical white broken line to the right of center, showing that it is possible to print 14 symbol columns on narrow or wide paper (11 inches high). The lower edge of narrow paper is shown by a horizontal white broken line below center, showing that it is possible to print 10 symbol rows on narrow paper (8.5 inches wide). For wide paper, the lower edge is not shown on the preview screen but it is possible to print 15 symbol columns on wide paper. Clicking either the right mouse button or pressing any key will terminate the preview function and return to the chart drawing functions. 6.1.8 Print This option is used to send 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 reqesting you to select the required output device charateristics. Select the required Printer or Plotter Device, Port, Paper Width and Orientation from the lists and then select Yes. Selecting No or pressing the Escape key will cancel the print function. Once printing has been started, the Escape key may be pressed to terminate print output. In this case, a dialog box _________________________________ EasyCASE Users Guide | Chapter 6 Functions Reference 39| 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. Available output options are ; 6.1.8.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. 6.1.8.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. 6.1.8.3 HP QuietJet Plus (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. 6.1.8.4 HPGL Select this option for any Plotter which is compatible with the Hewlett-Packard Graphics Language (HPGL) series of Plotter (includes the HP 7550A etc.). 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 is _________________________________ EasyCASE Users Guide | Chapter 6 Functions Reference 40| necessary to have the paper pre-loaded to plot on as EasyCASE will not load the paper automatically, though it will eject the paper on completion of plotting. 6.1.8.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. 6.1.8.6 Okidata 393 Select this option for the Okidata 390 or 393 series of 24 pin printers, which operate using Epson LQ emulation printing 90 dpi horizontally (mode 38). 6.1.8.7 HP QuietJet, DeskJet & LaserJet Select this option for any printer which is compatible with the HP PCL graphics mode of the Hewlett-Packard QuietJet, DeskJet or LaserJet printers. This mode is defined as HP PCL (Page Control Language) with a horizontal and vertical resolution of 96-100 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 (see section 6.1.8.3 above) with the HP QuietJet (inc. Plus) series of graphics printer, set switch #A5 accordingly) 6.1.8.8 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 can be selected by entering it in the pop-up text input box which will appear when the Print to File option is selected. 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. _________________________________ EasyCASE Users Guide | Chapter 6 Functions Reference 41| 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. 6.1.8.9 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. 6.1.8.10 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 on Narrow or Wide paper. Note that the print quality in landscape mode on the Epson printer is not very good 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 Epson FX and LQ, Okidata and HP QuietJet, DeskJet and LaserJet printers are capable of printing up to 10 symbols horizontally by 14 symbols vertically on narrow (8.5 inches wide by 11 inches high) paper in Landscape mode. They can print 16 symbols horizontally on wide (14 inches wide by 11 inches high) paper. 6.1.9 Export 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 _________________________________ EasyCASE Users Guide | Chapter 6 Functions Reference 42| appears on the screen and a prompt appears at the top of the screen requesting you to select the desired export file format. 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 (MS Windows Paint), .PCX (PC Paintbrush) or .DBF (dBase III) extension will initially be shown highlighed. 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 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.1.9.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 corresponds to a sheet of A-size paper. That is, 10 columns by 14 rows as shown in the Preview chart window (see section 6.1.7). The bitmap image produced will be 728 points wide by 785 points high. 6.1.9.2 dBase III The dBase III file contains only certain chart-specific data and is intended for use as a simple data dictionary interface whereby chart characteristics can be determined using dBase III+, Microsoft Excel v2, Lotus 1-2-3 v2, Symphony or Reflex. The following chart data is exported in the dBase III file : Transformation Graph : Object Type (Field #1, length = 18 characters); External Entity Data Process Control Transform Data Store Control Store Split/Merge _________________________________ EasyCASE Users Guide | Chapter 6 Functions Reference 43| Interface Control Bar Data Flow Control Flow Object IDentifier (Field #2, length = 32 characters), Object Label (Field #3, length = 64 characters), Source Symbol ID (flow only) (Field #4, length = 32), Destination Symbol ID (flow only) (Field #5, length = 32), Flow Type (flow only) (Field #6, length = 32), Time Discrete OneWay Time Continuous Update Chart Filename (Field #7, length = 12 characters). State Transition Diagram : Object Type (Field #1, length = 18 characters); State Interface Transition Object IDentifier (Field #2, length = 32 characters), Object Label (Field #3, length = 64 characters), Source State ID (transition only) (Field #4, length = 32), Destination State ID (transition) (Field #5, length = 32), Chart Filename (Field #7, length = 12 characters). Note : Field #6 is not used. Structure Chart : Object Type (Field #1, length = 18 characters); Function Module Defined Function Defined Module Repetitive Function Decision Function Inclusive Function Store External Device Continuation Data Flow Arrow Control Flow Arrow Connection Object IDentifier (Field #2, length = 32 characters), Object Label (Field #3, length = 64 characters), Source Symbol ID (arrows & connections) (Field #4, length = 32 characters), Destination Symbol ID (arrows & connections) (Field #5, length = 32 characters), Arrow Direction (flow arrow only) (Field #6, length = 32), _________________________________ EasyCASE Users Guide | Chapter 6 Functions Reference 44| Up Down Update Chart Filename (Field #7, length = 12 characters). 6.1.10 Change Arrowheads This option is used to select the number of arrowheads on a data or control flow (transformation graph) or structure chart connection. Data and Control Flows (trg) 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 souce (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. This function is invoked by selecting the Change Arrow 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. Selecting the desired number of arrowheads 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 (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 selecting another flow will result in it being selected for modification without having to re-select the Change Option from the main menu and then selecting the flow or connection to modify. _________________________________ EasyCASE Users Guide | Chapter 6 Functions Reference 45| 6.1.11 Define Arrowheads This option is used to select the default flow or connection arrowhead characteristics for the current chart. The Change Arrowhead function defined above is used to change the arrowhead characteristic for a single flow or connection after it has been drawn. The Define Arrowheads function defines the 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. Select 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. Note that for all chart types, the default (initial) state for this option is a single arrowhead (time discrete, one-way flow). 6.1.12 Zoom This function is used to re-size the chart so that the entire 16 column by 14 row 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 'greeked' (small block characters 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. Prior to printing, or in the case of difficult to select objects, it is advisable to switch back to normal mode. This option is described in more detail in section 4.6. 6.1.13 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. _________________________________ EasyCASE Users Guide | Chapter 6 Functions Reference 46| Select the No dialog option or press the Escape key to abort the Exit option and return to the charting facility. 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 subdirectory. Selecting the No 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 to the charting facility. 6.2 OBJECT MANIPULATION Objects may be added, deleted, moved, re-defined, labelled and identified as follows. 6.2.1 SYMBOL 6.2.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 at the top of the main menu or by selecting the symbol directly from the SYMBOLS list 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 at the top of the main menu. The highlight bar will then move to the previously selected symbol type in the symbols type list and a prompt appears at the top of the screen requesting you to select the desired symbol type from _________________________________ EasyCASE Users Guide | Chapter 6 Functions Reference 47| 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 and placed in the drawing area without selecting a different size. Unless selected otherwise, the previously selected size will be retained. To do this, the symbol is selected directly from the SYMBOLS list in the lower part of the main menu, selecting the desired symbol type (and optionally its size), moving the mouse pointer back into the drawing area and clicking the mouse button at the appropriate symbol position. A prompt will appear at the top of the screen reqesting you to select the desired symbol position. 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. (iii) Alternatively, if appropriate, 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 in the lower part of the main menu. The symbol is then placed as described above. (iv) 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 using method (i), (ii) or (iii) above, that symbol will be repeated 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 6.2.5) and/or the Label Symbol function (section 6.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. _________________________________ EasyCASE Users Guide | Chapter 6 Functions Reference 48| Note that data and control transforms and stores, on a transformation graph, are the only symbols which can be re- sized. This is a repeatable command so clicking the left mouse button on a vacant symbol position will place a symbol of the previously selected type and size at that position. Transformation Graph Available symbols 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 symbols are ; State, Interface. These symbols are provided in a single size only, therefore a SIZES list does not appear on the std main menu. Structure Chart Available symbols 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. _________________________________ EasyCASE Users Guide | Chapter 6 Functions Reference 49| 6.2.1.2 Delete Symbol Select this option to delete an existing symbol from the chart by selecting the DELETE option from the menu and then selecting the symbol to be deleted on the chart. On selecting this option, the symbol selected and, if appropriate, its text label will be highlighted. In addition, any flows (trg), connections (stc) or transitions (std) and their labels will also be highlighted because if the symbol is deleted, these connections will no longer have an end symbol and will 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. 6.2.1.3 Move Symbol Select this option to move a symbol on the chart by selecting the MOVE option from the menu and then selecting the symbol to be moved on the chart. On selecting this option, you will be prompted to select the symbol to be moved by clicking the left mouse button with the mouse pointer inside the symbol on the chart. 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 click 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 un-moved. 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. _________________________________ EasyCASE Users Guide | Chapter 6 Functions Reference 50| 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 necesary. 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. 6.2.1.4 Change Symbol Select this option to change the type of an existing symbol. This 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. On selecting the SYMBOL-Change option from the menu, you will be prompted to select the symbol to redefine (change the type of). Clicking the left mouse button on the symbol will result in the mouse cursor entering the menu at, and the highlight bar appearing over, the current symbol type. Selecting the desired new symbol type will move the highlight bar to the current symbol size. 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 adjusted as necessary to correctly meet the symbol at its new perimeter. 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. _________________________________ EasyCASE Users Guide | Chapter 6 Functions Reference 51| 6.2.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 menu, you will be prompted to select the symbol to redefine (change the size of). Clicking the left mouse button on the symbol will result in the mouse cursor entering the menu at, and the highlight bar appearing 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. 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. 6.2.2 INTERFACE 6.2.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 main menu or from the SYMBOLS list in the main menu, as if selecting a regular symbol. 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), one way options are meaningful. When the required interface type and direction have been selected, 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 using the mouse and a small (yellow) box will be displayed at that position. The interface is then routed to the appropriate symbol as described in section 6.2.3.1, 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 _________________________________ EasyCASE Users Guide | Chapter 6 Functions Reference 52| 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 Arrowheads option (see section 6.1.11). Once the interface has been placed on the chart, the Identify function (section 6.2.5) and/or the Label function (section 6.2.4) 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. 6.2.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 menu and then selecting an Interface symbol on the chart. You will then be prompted to select a new interface position to which the interface symbol will be moved together with its atached flow or transition. Note that this is the option which must be used to move an interface's interface symbol end, it is NOT possible to move the interface end using the Move Connection option (6.2.3.3) and selecting the interface end of the flow or transition. This is a repeatable command once selected, so clicking 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. 6.2.2.3 Delete Interface This option is used to delete an interface (interface symbol and attached data or control flow or transition and label) and is activated by seleting the DELETE option from the menu and then selecting the interface to be deleted by selecting the flow or transition's 'handle' as defined in section 6.2.3.2 (Delete Connection). The flow or transition and the interface symbol, and label if present, will be deleted from the chart. _________________________________ EasyCASE Users Guide | Chapter 6 Functions Reference 53| 6.2.3 FLOW, CONNECTION or TRANSITION 6.2.3.1 Add Flow, Connection or Transition Flows (trg), transitions (std) or connections (stc) are used to connect source and destination symbols. 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 or CTRL FLOW for a TRG, TRNSITION for an STD or CONNECT for an STC, from the main menu. A Data Flow, Connection and Transition is a made using a solid line, whereas a Control Flow is made 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, 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 from which 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, 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. Select the symbol to be the destination symbol for the connection and hence terminate the connection. Otherwise, if the left mouse button is clicked 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 connnections 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 _________________________________ EasyCASE Users Guide | Chapter 6 Functions Reference 54| 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 techniques 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 reqesting 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 _________________________________ EasyCASE Users Guide | Chapter 6 Functions Reference 55| 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 6.2.5) and/or the Label Connection function (section 6.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. 6.2.3.2 Delete Flow, Connection or Transition Select this option to remove a connection, flow, transition or Interface (trg only) from the chart by selecting the DELETE option from the main menu and then selecting the Flow (including Interface flows), Connection or Transition to be deleted. The color of 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. Selecting the Yes option will 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 callee 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. _________________________________ EasyCASE Users Guide | Chapter 6 Functions Reference 56| 6.2.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 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, 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. _________________________________ EasyCASE Users Guide | Chapter 6 Functions Reference 57| 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 6.2.3.4 Change Flow, Connection or Transition Select this option when it is necessary to change a Data Flow to a Control Flow, or vice-versa, on a transformation graph by choosing the SYMBOL Change option from the main menu and then selecting the flow in the chart window to change using the mouse. Note that this option cannot be used to change the direction or number of arrowheads on the flow. To change direction, it is necessary to first delete the flow and then re-route a new flow in the opposite direction between the source/destination symbol pair. To change the number of arrowheads at one or both ends of the flow, use the Change Arrowheads (see section 6.1.10) function. When the flow to be changed has been selected, 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. 6.2.4 LABEL OBJECT 6.2.4.1 Add Label This option is used to label an object, which may be a symbol, flow (trg), connection (stc), transition (std) or arrow (stc), and is invoked by selecting the LABEL option from _________________________________ EasyCASE Users Guide | Chapter 6 Functions Reference 58| 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. 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 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 in section 6.2.5. 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. 6.2.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 _________________________________ EasyCASE Users Guide | Chapter 6 Functions Reference 59| 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, the text label 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 (see section 6.2.5) then deleting the label will also delete the label from any other object on the chart with the same identifier. 6.2.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, 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 posiiton (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. _________________________________ EasyCASE Users Guide | Chapter 6 Functions Reference 60| 6.2.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 in section 6.2.4.1. 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. 6.2.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 therefore easier to enter, than the object label. Identifying an unlabelled 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. _________________________________ EasyCASE Users Guide | Chapter 6 Functions Reference 61| In this way, a data dictionary function is established, currently basic and only at the single chart level. (Note: 'hooks' have been included in the program and the necessary structures incorporated to allow a future, more powerful data dictionary function, at the project or system level, to be incorporated). 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 simiar object types, a list of those idenifiers will appear in a list box. The text input dialog box will contain the current object identifer, 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. 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 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 in section 6.2.4.1. 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. _________________________________ EasyCASE Users Guide | Chapter 6 Functions Reference 62| 6.2.6 TEXT 6.2.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 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. 6.2.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. _________________________________ EasyCASE Users Guide | Chapter 6 Functions Reference 63| 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. 6.2.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, 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. 6.2.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 in section 6.2.6.1. _________________________________ EasyCASE Users Guide | Chapter 6 Functions Reference 64| 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. 6.2.7 ARROWS (Couples) The Arrows function, not to be confused with the arrowheads function for flow or connection termination, is used only for structure charts. The Arrow, referred to in some texts as a Couple, 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 Arrow and/or its label and Identifier can be moved, deleted or modified using the Object manipulation functions previously described. Note that the Arrow'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. 6.2.7.1 Add Arrow To add an Arrow, select the ARROW 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 6.2.5) and/or the Label Arrow function (section 6.2.4.1) will automatically be invoked, if enabled, _________________________________ EasyCASE Users Guide | Chapter 6 Functions Reference 65| 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. 6.2.7.2 Delete Arrow This function is used to remove an Arrow 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 appropriate 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. 6.2.7.3 Move Arrow This function is used to adjust the position of an arrow 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 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. 6.2.7.4 Change Arrow To change the type and/or direction of an Arrow, 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 _________________________________ EasyCASE Users Guide | Chapter 6 Functions Reference 66| 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. _________________________________ EasyCASE Users Guide | Contents i| TABLE OF CONTENTS 1. INTRODUCTION 1 1.1 Summary 1 1.2 Limitations 1 1.3 What CASE tools do, and do not do ! 2 1.4 What EasyCASE is intended to provide 4 1.5 Development 4 1.6 Testing 5 1.7 Requirements 5 1.8 Acknowledgements 6 1.9 The Author 6 1.10 Bibliography 7 1.11 Product Acknowledgements 8 1.12 Installation 9 2. REGISTRATION 13 2.1 Licence 13 2.2 Warranty 14 2.3 Registration 14 2.4 Technical Support 15 2.5 Future Development 15 2.6 Shareware 16 3. DIAGRAMMING STANDARDS SUPPORTED 17 3.1 Transformation Graphs 17 3.2 State Transition Diagrams 18 3.3 Structure Charts 19 4. SCREEN, CHART WINDOW, MENUS, SCROLLING & DIALOG BOXES 21 4.1 Start Up 21 4.2 Scrolling 21 4.3 Menu Selection 22 4.4 Dialog Boxes 23 4.4.1 Selection Box 23 4.4.2 Input Box 23 4.4.3 Pushbutton 24 4.4.4 Check Box 25 4.4.5 List Box 25 4.4.6 Cancel Dialog Box 25 4.5 Object Selection 25 4.6 Chart Drawing Area 26 4.7 Zoom mode 27 4.8 Preview mode 28 4.9 Automatic Identification and Labelling of Objects 28 4.10 Object Identification 29 4.11 Mouse 30 5. DEFINITIONS 31 6. FUNCTIONS REFERENCE 34 6.1 Chart Functions 34 6.1.1 Set Chart Options (Options) 34 6.1.1.1 Display Grid 34 6.1.1.2 Automatic Routing 34 6.1.1.3 Automatic Identification 35 6.1.1.4 Automatic Labeling 35 6.1.2 Chart Type (Type) 35 6.1.3 Re-Draw 36 _________________________________ EasyCASE Users Guide | Contents ii| 6.1.4 Clear 36 _________________________________ EasyCASE Users Guide | Contents iii| 6.1.5 Save 36 6.1.6 Load 36 6.1.7 Preview 38 6.1.8 Print 38 6.1.8.1 Epson FX 39 6.1.8.2 Epson LQ 39 6.1.8.3 HP QuietJet Plus (Alternate Mode) 39 6.1.8.4 HPGL 39 6.1.8.5 IBM 40 6.1.8.6 Okidata 393 40 6.1.8.7 HP QuietJet, DeskJet & LaserJet 40 6.1.8.8 File 40 6.1.8.9 Port 41 6.1.8.10 Orientation & Paper Size 41 6.1.9 Export 41 6.1.9.1 Paint 42 6.1.9.2 dBase III 42 6.1.10 Change Arrowheads 44 6.1.11 Define Arrowheads 45 6.1.12 Zoom 45 6.1.13 Exit 45 6.2 OBJECT MANIPULATION 46 6.2.1 SYMBOL 46 6.2.1.1 Add Symbol 46 6.2.1.2 Delete Symbol 49 6.2.1.3 Move Symbol 49 6.2.1.4 Change Symbol 50 6.2.1.5 Re-Size Symbol 51 6.2.2 INTERFACE 51 6.2.2.1 Add Interface 51 6.2.2.2 Move Interface 52 6.2.2.3 Delete Interface 52 6.2.3 FLOW, CONNECTION or TRANSITION 53 6.2.3.1 Add Flow, Connection or Transition 53 6.2.3.2 Delete Flow, Connection or Transition 55 6.2.3.3 Move Flow, Connection or Transition 56 6.2.3.4 Change Flow, Connection or Transition 57 6.2.4 LABEL OBJECT 57 6.2.4.1 Add Label 57 6.2.4.2 Delete Label 58 6.2.4.3 Move Label 59 6.2.4.4 Edit (Modify) Label 60 6.2.5 IDENTIFY OBJECT 60 6.2.6 TEXT 62 6.2.6.1 Add Text 62 6.2.6.2 Delete Text 62 6.2.6.3 Move Text 63 6.2.6.4 Edit (Modify) Text 63 6.2.7 ARROWS (Couples) 64 6.2.7.1 Add Arrow 64 6.2.7.2 Delete Arrow 65 6.2.7.3 Move Arrow 65 6.2.7.4 Change Arrow 65 _________________________________ EasyCASE Users Guide