____________ EasyCASE ____________ Copyright (c) 1989 Evergreen CASE Tools All Rights Reserved An easy-to-use Computer Aided Software Engineering (CASE) tool for drawing : Data Flow Diagrams, Transformation Schema, State Transition Diagrams, Structure Charts and Entity-Relationship Diagrams in accordance with the Yourdon-DeMarco, Gane & Sarson, Ward-Mellor, Hatley-Pirbhai, Yourdon-Constantine and Chen methods for Structured Systems Analysis and Design (including Real Time Systems) Revision 1.3, May 5th, 1989 Evergreen CASE Tools, 11025 164th. Ave. N.E., Redmond, WA 98052 Tel : (206)-881-5149 MEMBER ASP - Association of Shareware Professionals 1. INTRODUCTION 1.1 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 flow diagrams (DFDs), transformation graphs, state transition diagrams, structure charts and entity- relationship diagrams (ERDs). EasyCASE produces these charts in accordance with the Yourdon-DeMarco, Gane & Sarson, Ward-Mellor, Hatley-Pirbhai (also known as the Boeing-Hatley method), Yourdon- Constantine and Chen 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. 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, Microsoft Excel, PC File:dB 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 program which can import Paint images, such as Aldus Pagemaker, Ventura Publisher, PFS:First 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, _________________________________ EasyCASE Users Guide Chapter 1 Introduction 2 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. 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 (5 years or so) technology brought about by the need to improve software development, automate structured analysis and design methods. CASE has been made possible by the advent of relatively low cost, powerful Personal Computer systems and Workstations. CASE is the term used to describe an environment of integrated tools which both automate the structured software development process and also give it the rigor and discipline of an engineering approach. It is expected, and is already being demonstrated, that CASE will do for computer software development what CAD (Computer Aided Design) has done for hardware development, that is to enable the rapid, accurate, cost-effective development of system software. _________________________________ EasyCASE Users Guide Chapter 1 Introduction 3 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. 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 _________________________________ EasyCASE Users Guide Chapter 1 Introduction 4 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, in addition to use in the top-down development of several (mostly real-time) systems, EasyCASE has also 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 about 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. Development commenced at a time when CASE tools were still somewhat sparse, immature and expensive (most still are!) and security devices (still widely used) prevented their use at home and thus prohibited their use in learning CASE and structured methods. Also, because CASE was then a relatively new, and largely unknown or little understood technology, companies (especially mine) were unwilling to invest in such tools. EasyCASE is written mostly using Microsoft QuickBASIC version 4.5 and consists of over 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 (v1.4) from Software Interphase, Inc. which provides an excellent library of fast, low level primitives needed to perform the screen handling support used for the pop-up dialog boxes. This document was written using Microsoft Word v4.0 and Pageview v1.0 running under Windows/386 v2.1 and printed on a Hewlett-Packard DeskJet or LaserJet Series II printer. 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, Mitsubishi Diamond (multi-) scan monitor, Microsoft Mouse and an Intel 80287 math. coprocessor. _________________________________ EasyCASE Users Guide Chapter 1 Introduction 5 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-XT with AST Hotshot (286 accelerator card), IBM PC-AT (8 MHz), IBM PS/2 Model 50, AST Premium/286 (10 MHz PC-AT compatible), AST Premium/386 and Compaq Deskpro/386 (16 & 20 MHz) computers; Video-7 Vega Deluxe, AST, Quadram, Genoa Super EGA, Everex Micro Enhancer and Paradise EGA cards; Personics UltraVision EGA enhancement card; IBM and Compaq VGA cards; Microsoft, Logitech, IBM 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, PC File:dB, 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). Note, EasyCASE will not work with EGA cards which do not support the 80 column by 43 line EGA mode, EGA cards with less than 128kbytes of memory or non-Microsoft compatible mice. 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. 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. 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 _________________________________ EasyCASE Users Guide Chapter 1 Introduction 6 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 Systems 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 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. Rob Pritt, Author 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. _________________________________ EasyCASE Users Guide Chapter 1 Introduction 7 Practical Guide to Structured Systems Design (2nd. Edition) by Meiler Page-Jones, Yourdon Press 1987. Structured Analysis and System Specification by Tom DeMarco, Yourdon Press 1978. System Development by Michael Jackson, Prentice-Hall Intl. 1983. Structured Design by E.N. Yourdon & L.L. Constantine, Prentice-Hall 1979. Modern Structured Analysis by E.N. Yourdon, Yourdon Press 1988. The Data Dictionary:Concepts and Uses by Charles J. Wertz, QED Information Sciences Inc. 1986. 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. PC-File is a registered trademark of ButtonWare, Inc. Any other names are trademarks or products of other companies. 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 that directory. It is necessary to copy files EASYCASE.EXE, 4X6FONT.BIN, 6X8FONT.BIN and _________________________________ EasyCASE Users Guide Chapter 1 Introduction 8 6X24FON.BIN to the EasyCASE directory. In addition, files SYMBOLS.TRG, SYMBOLS.STC, SYMBOLS.STD, SHAREWAR.TXT, EASYCASE.REL, README.TXT and EASYCASE.DOC may also be copied. To be able to use EasyCASE, the mouse driver for your mouse must have been previously loaded either via your config.sys file (device=mouse.sys command) file or via your autoexec.bat file (mouse.com command) and a Microsoft or compatible mouse must be attached to your PC, see your mouse manual for further information. Also, you must have either 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. The mouse must be installed for Microsoft Mouse compatibility. Prior to invoking EasyCASE, the following commands may be entered at the DOS prompt to set various environment variables to configure EasyCASE and to indicate where to find the font files it requires for displaying and printing text. 1.12.1 EasyCASE Environment Options 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. SET PRINTER= can be used to specify the default printer to which charts are output from within EasyCASE. The printer specified may be any one of ; Epson FX or FX Epson LQ or LQ IBM Okidata 393 or Oki HPGL Plotter or HPGL HP QuietJet or QuietJet HP DeskJet or DeskJet HP LaserJet or 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. SET PORTS= can be used to specify the default device port to be used for printing or plotting charts, and may be any one of ; LPT1: LPT2: PRN: COM1: COM2: FILE _________________________________ EasyCASE Users Guide Chapter 1 Introduction 9 SET BEEP= can be used to enable or diable the warning 'beep' which occurs in the event of an error occurrence during various chart functions. The state can be 'On' (SET BEEP=ON) or 'Off' (SET BEEP=OFF). Default is On. SET SYMBOLS= may be used to set the default symbology to be used when drawing data flow diagrams and transformation graphs. Available symbologies are Yourdon/DeMarco or Gane & Sarson. If the SET SYMBOLS= command is not used, the default symbology will be Yourdon (or use SET SYMBOLS=Yourdon). To select G&S, use SET SYMBOLS=Gane & Sarson (or G&S). SET AUTO= may be used to set the default state for the auto-identify and auto-label functions applied to new object placement. If this command is not used, the default is Off (same as for SET AUTO=Off, identify and label dialog boxes will not appear automatically whenever a new object is added to the chart). To enable auto-identify and auto- label, use the command SET AUTO=On. SET COLORS= may be used to change some of the colors used by EasyCASE, specifically the chart window background, object (normal and highlight) and the foreground and background menu and prompt colors. A string is used, specified as follows; SET COLORS=hcolor,ocolor,wcolor,fcolor,bcolor where ; 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 hcolor = color of highlighted objects in chart window 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 = 15 (white) bcolor = 1 (blue) wcolor =1 (blue) ocolor = 11 (light cyan) hcolor = 14 (yellow) Color attribute values are ; 1 - blue, 2 - green, 3 - cyan, 4 - red, 5 - magenta, 6 - brown, 7 - light gray, 8 - dark gray, 9 - light blue, 10 - light green, 11 - light cyan, 12 - light red, 13 - light magenta, 14 - yellow, 15 - white. Example : SET COLORS=14,15,4,14,1 fcolor = 14 ( yellow), _________________________________ EasyCASE Users Guide Chapter 1 Introduction 10 bcolor = 1 (blue), wcolor = 4 (red), ocolor = 15 (white) hcolor = 14 (yellow). Note that dialog boxes etc. may not look good when certain background colors are chosen. Certain of the above SET options can also be changed within EasyCASE via selections within the Options function dialog box, see section 5.1.1, namely Auto Identify, Auto Label, Beep On/Off and Symbol set. The Printer and device Port to be used are selectable via the Print function dialog box, see section 5.1.8. 1.12.2 DOS Environment In order to set the various options listed above, using the SET command from the DOS command line prior to invoking EasyCASE, it may be necessary for you to extend your DOS environment area as follows. This will be necessary if DOS issues an 'Out of Environment Space' or similar error message when use the SET options command. To extend the DOS environment area to 2048 bytes, add the following line to your config.sys file ; shell=command.com /e:2048 /p Note that this command assumes that you have the DOS file command.com located in the root directory of your boot drive. If not, precede the command.com entry with the appropriate drive and/or path name (for example, shell=c:\dos\command.com /e:2048 /p). In addition, to speed up disk accessing, add the following lines also to your config.sys file ; files=20 buffers=40 1.12.3 Project Directories and Charts SET CHARTS= can be used to specify the path to the sub-directory to be used when loading, saving or exporting chart files. If this pathname does not begin with a "\", one will be added to signify that this path is from the root directory on the current drive. This command works in conjunction with the chart sub-directory which can be specified on the EasyCASE command line. The latter is appended to the former. Examples : 1. SET CHARTS=\EASYCASE\CHARTS 2. SET CHARTS=\EASYCASE EASYCASE CHARTS _________________________________ EasyCASE Users Guide Chapter 1 Introduction 11 3. EASYCASE \EASYCASE\CHARTS All three examples specify path C:\EASYCASE\CHARTS as the charts sub-directory, when issued from the DOS command line prior to invoking EasyCASE. For each project to be worked on (a project is a collection of related transformation graphs, structure charts and/or state transition diagrams) a directory should be created, preferably sub- directories, within the EasyCASE directory (for example C:\EASYCASE\CHARTS). 1.12.4 Executing EasyCASE EasyCASE is invoked by entering the following command at the DOS prompt while in the EasyCASE directory ; EASYCASE [Chart Sub-directory] [Chart Name] or [Chart Type] Note that [] denotes optional arguments. You must enter at least one space between each argument. If a Chart Sub-directory, Chart Name or Chart Type is NOT specified, you will have to choose the desired working chart type from a dialog box which will 'pop-up' after EasyCASE has loaded and displayed its welcome screen. In addition, the charts directory will default to the EasyCASE sub-directory. If Chart-Type, which must be one of DFD (data flow diagram), TRG (transformation graph), ERD (entity-relationship diagram), STC (structure chart) or STD (state transition diagram), is specified, EasyCASE will default to that working chart type, you will not have to choose a chart type when EasyCASE has loaded. If Chart Sub-directory is specified, EasyCASE will default to that sub-directory for loading charts of the selected chart type. Note that only the charts sub-directory name should be specified, NOT the entire pathname. Also, the charts sub-directory must be a sub-directory within the EasyCASE directory. For example, specify CHARTS for sub- directory whose full pathname is C:\EASYCASE\CHARTS. If Chart Name is specified in the form of the filename of the desired working chart, EasyCASE will select the default working chart type based on the three-character filename extension which must be one of TRG, STC or STD. In addition, EasyCASE will load the file specified, if it exists, and present it for working on. You will not need to specify a chart type or select a chart file to work with when EasyCASE has loaded. Note, you CANNOT specify Chart Type AND Chart Name on the command line. If you do, depending on the order specified, EasyCASE will assume one of them is the Chart Sub-directory, attempt to select that directory and most probably fail to load. _________________________________ EasyCASE Users Guide Chapter 1 Introduction 12 Avoid using a project charts sub-directory with the name TRG, STC or STD or using a deep chart sub-directory nesting. The maximum number of characters available for the charts pathname and chart filename combination is 40, therefore the charts sub-directory pathname length should not exceed 28 characters (12 character filename, including period and 3 character extension). For example the chart pathname C:\EASYCASE\CHARTS\ is 19 characters in length. 1.12.5 Sample EasyCASE Installation and Invokation Below is a sample EasyCASE installation and invocation command sequence which assumes that the EasyCASE distribution (floppy) disk is in drive A:, is to be installed on hard disk drive C: in directory \EASYCASE, with a charts sub-directory \EASYCASE\CHARTS, HP LaserJet printer connected to LPT1: and initially creating a transformation graph using the Yourdon symbol set. Note [] denotes optional command, () denotes instruction. C: Select hard drive C: CD \ Move to Root directory MD EASYCASE Make EasyCASE directory CD EASYCASE Move to EasyCASE directory (Place EasyCASE distribution disk in floppy drive A:) COPY A:EASYCASE.EXE C: Copy EasyCASE executable file COPY A:*.BIN C: Copy EasyCASE font files COPY A:README.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 SYMBOLS=Yourdon] Use Yourdon/DeMarco symbols [SET AUTO=On] Auto-identify & -label enabled [SET PRINTER=HP LaserJet] Sets Printer type [SET PORT=LPT1:] and device port [SET COLORS=14,15,1,15,1] Sets default colors (white/blue) [SET BEEP=Off] Disable error warning beep EASYCASE CHARTS TRG Start EasyCASE for trg Note that the sample charts (SYMBOLS.TRG, SYMBOLS.DFD, SYMBOLS.ERD, 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 and identified so they may be printed or exported in dBASE III, Microsoft Windows Paint or PC Paintbrush format for further investigation. _________________________________ EasyCASE Users Guide 2. LICENSING & 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 SHAREWARE 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, but 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. 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. _________________________________ EasyCASE Users Guide Chapter 2 Registration 14 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). EasyCASE will be mailed within 48 hours of receipt of order by regular, first class, US mail within the US. For UPS Next Day service, within the US, add a $15 (total) shipping cost. For UPS 2nd Day service, within the US, add a $10 (total) shipping cost. As a registered user, you will be notified of future EasyCASE upgrades and revisions and offered the opportunity to acquire them at a preferred rate and also, for a limited time, you will be provided with minor upgrades, bug-fixes etc. free of charge. 2.3.1 Orders from Outside the US Orders are welcome from customers outside the US, however it will be preferable to send a check drawn on a (US) bank in US dollars to _________________________________ EasyCASE Users Guide Chapter 2 Registration 15 Evergreen CASE Tools (address below). For payment by wired funds transfer, please contact us for details, there will generally be an additional $10 (in addition to shipping charges) or so processing charge levied by the bank. Overseas customers please add an additional $10 for shipping by surface mail (slow!) or extra $15 for shipping via Air Mail (fast!). 2.3.2 Volume Discounts & Site Licencing All corporate, business, government, education or other commercial users of EasyCASE must be registered. Volume discounts are available as follows. Quantity : less than 5 copies - no discount 5 - 10 copies - 10 % discount 11-20 copies - 15 % discount 21 - 50 copies - 20 % discount 51 - 99 copies - 25 % discount 100 plus copies - 30 % discount For site licencing, please contact us for details. 2.4 Technical Support Technical support may be obtained, registered users only, either by telephone, (6-10pm PST M-F, noon-8pm PST S+S), or by letter to Evergreen CASE Tools at the address given below. 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, in full, 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 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; 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 _________________________________ EasyCASE Users Guide Chapter 2 Registration 16 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 more comprehensive Data Dictionary support, query and reporting capabilities, methodology rule checking, level balancing 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. These upgrade features will be available in a commercial version of EasyCASE, available to registered users at a reasonable cost. 2.6 Shareware 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, 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 _________________________________ EasyCASE Users Guide Chapter 2 Registration 17 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. Robert W. Pritt, Evergreen CASE Tools is a Member of the Association of Shareware Professionals (ASP). _________________________________ EasyCASE Users Guide ORDER FORM Evergreen CASE Tools, 11025 164th. Avenue NE, Redmond, WA 98052 USA. Telephone : (206)-881-5149 ______________________________________________________________________ Please send : ____ copies of EasyCASE (latest version) ......... @ $85 ea. $ ______ Disk Size : 5.25 in.( ) 1.2M ( ) 360k ( ) Subtotal $ ______ 3.5 in. ( ) 720k only Less (___ %) discount ($ ______) (WA Residents must add 8.1 % sales tax) Tax $ ______ Shipping $ ______ TOTAL $ ______ Name : ____________________________________________________ Company : _________________________________________________ Address : _________________________________________________ _________________________________________________ City : _______________________ State : _______ Zip : ______ Country : ____________________ Telephone # : _____________ Computer Equipment (Optional) : Make _________________ Model ___________ CPU Type _____ Speed ____ MHz Mouse _________________________ Graphics Card ________________________ Monitor ______________ Hard Disk _______________ Capacity ____ Mbytes Operating System(s)__________________________________ Version ________ Other Products Used___________________________________________________ ______________________________________________________________________ Suggestions for future enhancements to EasyCASE :_____________________ ______________________________________________________________________ How did you hear about EasyCASE ? ____________________________________ - Quantity discounts and Site Licencing available. - Purchase orders or Invoicing accepted. Payment due within 30 days. - Sorry, COD orders cannot be accepted. - Product normally shipped within 48 hours of receipt of order. - Orders from outside the US: Please send check drawn on US bank in US dollars and remit $100 (total) to cover additional shipping costs via regular air mail (7-10 days) or $115 (total) for shipping via express air mail (4-5 days). (c) 1989 Evergreen CASE Tools Effective May 3rd, 1989 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). A derivative, using a slightly different symbol set, is the Gane & Sarson method. These methods have been extended by Ward & Mellor and Hatley (also known as Hatley-Pirbhai and Boeing-Hatley) to support the concept of control flows, stores and transformations required to support the modelling of real-time systems. Both of these methods are similar and are built on the symbols defined for the Yourdon/DeMarco or Gane & Sarson methods. The two most important diagrams are the transformation graph (data/control flow diagram) and the state transition diagram. In addition, these methods use structured decision tables, process activation tables, etc. which are currently not supported by this tool and may instead be generated by an editor or word processor when creating the specification. Neither of the above methods directly support the design process, though the functions specified can be used as inputs to the design, which are then structured into a functional hierarchy. The Yourdon/Constantine method is the best known structured design method and uses structure charts to show the hierarchical organization and interaction of processes. 3.1 Data Flow Diagrams (DFDs) Data Flow Diagrams (DFDs) are the origin of structured analysis and depict the storage of data within, and the flow of data through, a _________________________________ EasyCASE Users Guide Chapter 3 Diagramming Standards Supported 21 system as defined by Yourdon/DeMarco and Gane & Sarson. DFDs model the functional requirements of a system, not its implementation, and is idealized in the sense that processes are assumed to operate instantaneously, inputs are always available when needed, and outputs are always produced. The functional requirements are decomposed in a hierarchical manner so that related functions are grouped together, unrelated functions are separated, each function is non-redundantly specified and partitioned until it can be completely and concisely specified. A context diagram is the highest level diagram and shows the boundary between the system and its environment, consisting of a single data process representing the processing to be done by the system, external entities representing 'things' in the environment with which the system must interact, and flows representing real world data through which the system interacts with its environment. The following objects are provided to support the production of data flow diagrams. Note that you can use either the Yourdon/DeMarco or Gane & Sarson symbol set. External Entity, Data Process, Data Store, Split/Merge, Interface, Data Flow, In the case of data flows, these may be defined to be either time discrete or time continuous and one-way or update flows by virtue of the number of arrowheads added to the end(s) of the flow. 3.2 Transformation Graphs (TRGs) Transformation Graphs (TRGs) are diagrams which contain Data and/or Control information, as proposed by Ward & Mellor (W-M) and Hatley in their extensions to the Yourdon/DeMarco method to support modelling of real-time systems. Ward & Mellor allow for data and control on the same diagram whereas Hatley requires data and control on separate diagrams. For the true Hatley method, create a pair of diagrams with, for example, the same filenames suffixed with a D and C for data and control diagrams respectively. (For example (CRUISED.TRG and CRUISEC.TRG). The .TRG extension signifies that the diagram is a transformation graph. Alternatively, use the Hatley Control Bar instead of the W-M Control Transform object on a single data/control diagram. Control flow diagrams (CFDs), in the Hatley method, are used to map the flow of control through the system, typically along the same paths as the data flows on the corresponding DFD. Using the Hatley method, the data and control flow diagrams are usually drawn with the same objects at the same positions on each chart, one with data flows and processes and the other with control flows and processes, 'overlapping' each other. _________________________________ EasyCASE Users Guide Chapter 3 Diagramming Standards Supported 22 The following objects are provided to support the production of transformation graphs according to the Ward-Mellor or Hatley methods. Note that you can use either the Yourdon/DeMarco or Gane & Sarson symbol set when creating transformation graphs for either of these methods. In their respective texts, both Ward-Mellor and Hatley- Pirbhai use the Yourdon symbology. External Entity, Data Process, Control Transform (Ward-Mellor method only), Control Bar (Hatley method only), Data Store, Control Store (Ward-Mellor and Hatley methods), Split/Merge, Interface, Data Flow, Control Flow (Ward-Mellor and Hatley methods), In the case of data and control flows, these may be defined to be either time discrete or time continuous and one-way or update flows by virtue of the number of arrowheads added to the end(s) of the flow. 3.3 State Transition Diagrams (STDs) State Transition Diagrams (STDs) are diagrams used to show the sequence of states (state machine) a process (control transform or bar) goes through in response to system events (control flow inputs), and the resulting actions (control flow outputs) the process performs. This diagram can be used with both the Ward-Mellor and Hatley methods to show the inner functions performed by a control transform or bar. Input control (flow) events are transformed into output control (flow) actions by the process when enabled or triggered. The following objects are provided to support the production of state transition diagrams according to the Ward-Mellor, Hatley methods ; State, Interface, Transition, 3.4 Structure Charts (STCs) Structure Charts (STCs) are diagrams used to portray the structured design of the system in terms of functional hierarchy, dependencies, calling sequences, repetition, inclusion, decisions and the passing of data and control flow items between the functional entities comprising the system. The structure chart should address Hierarchy, the depiction that certain functions control other functions; Modularity, collections of instructions belong together; Protocol, relinquishing of control between parent/child functions, Information communication, passing of _________________________________ EasyCASE Users Guide Chapter 3 Diagramming Standards Supported 23 data and/or control between processes; Coupling, the degree of independance between functions (should be minimized) and Cohesion, the degree to which activities within functions are inter-related. The following objects are provided to support the production of structure charts according to the Yourdon/Constantine method ; Function, Pre-Defined Function (library module), Repetitive (Iterative) Function, Decision Function, Inclusive Function, Store, External Device, Connection (call), Data Flow Arrows, Control Flow Arrows, Connection Continuation, Asynchronous Call. Note : Arrows are sometimes referred to as couples in some texts. Two types of Function and Module symbols are provided, one is an outline whilst the other is subdivided so that the level number, module name or identifier etc. may be placed in the upper box and its label placed in the lower box. Two types of connections are provided, the normal one is used for inter-function calls and the Asynchronous call is used to depict, for example, functions invoked in response to system interrupts etc. 3.5 Entity Relationship Diagrams (ERDs) Entity-Relationship Diagrams (ERDs) are used to model the structure and relationships of data typically stored in data stores on data flow diagrams or transformation graphs. The ERD is a conceptual representation of real world objects and the relationships between them and defines information the system must process as well as the inherent relationships that must be supported by the database (store). The symbols provided are in accordance with the symbology defined by Chen and subsequently used by Ward & Mellor and Yourdon in their texts. The following object types are provided to support the production of ERDs; Entity, Relationship, Weak Entity, Attribute, Connection, Associative Relationship, Subtype/Supertype, One-to-One, _________________________________ EasyCASE Users Guide Chapter 3 Diagramming Standards Supported 24 One-Many/Many-One. For each method supported, the appropriate chart type is selected and the main menu provides the user with the selection of objects available for that diagram type. In each case, the user can place, move, delete, connect, identify and label objects (symbols, connections and text). In addition diagrams can be saved, loaded, printed and exported. Also, the drawing grid can be shown/hidden, number of arrows on connections specified, auto routing, auto identification, auto labelling turned on/off and the chart redrawn, cleared, previewed etc. The object connection process is automated in that it will attempt to determine the best route for connection segments if not all points are specified and will move associated connections whenever objects are moved, changed or re-sized. Identification and labelling of objects can be invoked automatically, if desired, following placement of new objects and identifiers can be re-used later on the same chart. A chart can be manipulated in either full size or full screen mode and previewed prior to printing. 3.6 Objects Objects are entities which are placed on the chart and subsequently manipulated, building interactions which collectively provide a visual operation of the function, interrelationships and structure of the system being defined. An Object may be a Symbol, Connection, Flow, Transition, Arrow, Label or Text Block, each defined as follows and appropriate to the type of chart being drawn. In the case of a Data Flow Diagram, a symbol may be an External Entity (Terminator), Data Process, Data Store, Split/Merge or Interface. Data Flows are used to connect symbols. In the case of a Transformation Graph, a symbol may be an External Entity, Data Process, Control Transform, Data Store, Control Store, Split/Merge, Interface or Control Bar. A Data Flow or Control Flow is used to connect symbols. In the case of a State Transition Diagram, a Symbol may be a State or Interface. A Transition is used to connect symbols. In the case of a Structure Chart, a Symbol may be a Function, Pre- defined Function, Repeat Function, Decision Function, Inclusive Function, Module, Pre-defined Module, Store, Device, Asynchronous Call or Continuation. In addition, an Arrow is also an Object for this chart type. A Connection is used to connect symbols. In the case of an Entity-Relationship Diagram, a symbol may be an Entity, Relationship, Weak Entity or Asscociative Entity. Symbols are connected and may be one-one, one-many, many-one, many-many or subtype/supertype. A Text Block is an object which can be used on any chart type, generally for annotation or heading purposes. _________________________________ EasyCASE Users Guide Chapter 3 Diagramming Standards Supported 25 An External Entity (or Terminator) symbol (dfd or trg) is depicted by a rectangle and is used to portray a physical device or other system which is outside the scope of the system being defined, and provides information used by the system or uses information produced by the system. The name of the device is placed inside the symbol. A Data Process symbol (dfd or trg) is depicted by a circle with a solid outline and transforms input data (and control flows) into output data (and control flows). The process name (verb-noun) and level number and/or identifier is placed inside the symbol. The identifier is typically a number which identifies the hierarchical standing of the data process in the system (for example 1.2.3). Data processes are typically further modelled by either a lower level DFD or trg or a Primitive Process Specification (PPS) which may be in the form of Structured English, Pseudocode (or PDL) or a flowchart etc. A Control Transform symbol (trg) is depicted by a circle with a broken (dashed) outline and is used to transform input control flows into output control flows only. The transform name (verb-noun) and level number and/or identifier is placed inside the symbol. The identifier is typically a number which identifies the hierarchical standing of the control transform in the system (for example 1.1.2). Control Transforms are typically further modelled using a state transition diagram, structured decision table or process activation table. A Data Store symbol (dfd or trg) is depicted by a pair of horizontal, solid lines and is used to store a data flow output by a source data process until a destination data process requires it. The store name (unique) and identifier is placed between the lines and should be a noun and descriptive adjective(s), no processing should be implied. A data store should ideally appear on only one diagram (though it may appear in more than one place on that diagram), preferably at the highest level at which it is used. Data stores are typically further modelled, if sufficiently complex and/or structured, using an entity- relationship diagram. A Control Store symbol (Ward & Mellor trg) is depicted by a pair of horizontal, broken lines and is used to store a control flow output by a source data process or control transform (or bar) until a destination data process or control transform (or bar) requires it. The store name and identifier is placed between the lines. A control store is typically further defined by a control table. A Split/Merge symbol (dfd or trg) is depicted by a small 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 (dfd, trg or std) is depicted by a very small rectangle and is used to show that the attached connection either originates from, or is being sent to, a symbol outside the scope of the current chart. It is connected to a symbol by a data or control _________________________________ EasyCASE Users Guide Chapter 3 Diagramming Standards Supported 26 flow on a data flow diagram or transformation graph. The flow name is placed on top of, or adjacent to, the flow. A Control Bar (Hatley trg) is depicted by a vertical bar symbol with no name. There may be more than one Bar on a diagram, but it represents only one control specification. A State symbol (std) is depicted by a rectangle and is used to show a stable system state, during which processing continues until the occurrence of one or more specified transition events. A system may only be in one state at a time and must always be in a state. Rules : Each state should be reachable from the start state, the end state should be reachable from any state and, from a given state, a specific event can cause a transition to only one other state. A Data Flow (dfd or trg) is depicted by a directed solid, continuous line between a pair of symbols or an interface on a dfd or trg and is terminated at one or both ends by one or two arrowheads. It is used to denote the transfer of a data item (a 'pipeline') between symbols and may be time discrete (single arrowhead at destination symbol) or time continuous (double arrowhead at destination symbol), and may be either a one-way (arrowhead(s) at destination symbol only) or an update (arrowhead(s) at source and destination symbols) flow. The flow name is placed on top of, or adjacent to, the flow and must be unique, including only nouns and adjectives to represent its contents. No processing should be implied. Rules : Data flows may only flow between two processes, a terminator and a process or a stoe and a process, in either or both (update) directions. A Control Flow (trg only) is depicted by a directed broken, continuous line between a pair of symbols or an interface on a trg and is terminated by one or two arrowheads at one or both ends. It is used to denote the transfer of an event, trigger or enable/disable between symbols and may be time discrete, time continuous and one-way or update flow as for the data flow. The flow name is placed on top of, or adjacent to, the flow and follows the same naming rules as for data flows. Rules : Control flows may only flow between two data and/or control processes, a terminator and a data or control process, a process and a control bar (Hatley method) or a store and a control bar (Hatley method). A Transition (std) is depicted by a directed solid, continuous line connecting a pair of state symbols, terminated with an arrowhead at the destination symbol end. It is used to show a change of system state on a state transition diagram. The condition or event which caused, and action which results from, the change of state are placed adjacent to the transition and prefixed with C: and E: respectively. A Connection (stc) is depicted by a directed solid, continuous line connecting a pair of function or module symbols and is terminated with an arrowhead at the destination symbol end. It is used to show a calling sequence or dependency between symbols on a structure chart. A data connection is a solid, continuous line between a module or function symbol and a store or external device on an stc and is _________________________________ EasyCASE Users Guide Chapter 3 Diagramming Standards Supported 27 unterminated. A connection is generally unlabelled though labels could be used to denote options in the case of a decision process invoking alternative sub-processes. An Asynchronous Call is depicted using a broken line and may be used for invoking functions etc. in response to a system interrupt. An Arrow (or couple) (stc) is used to show the flow of data or control between symbols and is depicted by a an arrow symbol with a circle at the base placed adjacent to a connection between a pair of processes. An unfilled circle is used to depict a data flow whereas a filled circle depicts a control flow. The arrow points in the direction of flow between process symbols. The arrow label is placed adjacent to the arrow and is typically the same as the corresponding data item connecting the equivalent data process pair on the corresponding data flow diagram. A Continuation (stc) placed at the end of a connection is used to denote that the connection continues elsewhere on the same chart and is used to prevent unnecessary crossing of connections. This symbol is a small rectangle. A Function (stc) is used to represent a collection of statements or operations which will implement a particular function. The symbol used is a rectangle inside which the process name is placed. An alternative symbol is a rectangle with a horizontal line inside dividing it into two parts, the upper of which can be used to contain a level number and/or identifier and the lower of which contains the process name. A Module (stc) is a process which is outside the system and has already been developed in the form of a library or operating system etc, function. It is similar to the function symbols but the left and right sides each consist of closely spaced vertical lines. An Entity (erd), depicted by a rectangle, with a unique singular noun name, and represents an object or group of objects about which information is to be stored or collected. An entity has a significant purpose or characteristic within the system (data view) being modeled. A Relationship (erd), depicted by a diamond, with a verb name, and represents a significant association or interaction involving one or more entities. A Relationship cannot stand alone and nust be connected to at least two entities with a line (erd connection). Two aspects of this connection need to be accounted for; namely cardinality, the rate of relative occurrence of one entity in the relationship to another (one or many), and exclusivity, whether an entity must have a relationship with one or more other entity(ies) in the relationship (some or all). A Subtype/Supertype (erd), depicted by a connection with a perpendicular bar across the middle segment, is a means of identifying sub-categories of an entity. The sub-entity inherits all the properties of the super-entity and has in addition, unique properties of its own. _________________________________ EasyCASE Users Guide Chapter 3 Diagramming Standards Supported 28 An Attribute (erd) is depicted by a circle and is used to represent data elements which help to describe a particular entity or relationship and ought to describe only one thing. Attributes which help to uniquely identify an entity or relationship are 'key attributes'. A Direction Indicator (erd) is depicted by a connection with an arrowhead and represents the direction of access of data in a database. An Associative Entity (erd), depicted by a connection with an arrowhead at the end coincident with a Relationship symbol, represents a Relationship which participates in other relationships. Its key consists of those of the participating entities. _________________________________ EasyCASE Users Guide 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 ; DFD - Data Flow Diagram, TRG - Transformation Graph, STD - State Transition Diagram, STC - Structure Chart, ERD - Entity Relationship Diagram. When the desired chart has been selected, the drawing area will appear in the form of an outline, grid and menu in the colors, if any, previously selected. 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 held down, the chart will be scrolled by 1 row or column in that direction. Note that if the right mouse button is pressed and released, while the mouse pointer is located in the chart window and an object is being manipulated, without performing a scrolling operation, this acts as a CANCEL and _________________________________ EasyCASE Users Guide Chapter 4 Chart Window, Menus, Scrolling & Dialog Boxes 30 behaves in functionally the same manner as if the Escape key had been pressed. Scrolling using the keyboard : Hold down the control key (ctrl) while pressing one of the direction arrow or editing keypad keys as follows. ctrl + Left Arrow - scroll chart left (1 column), ctrl + Right Arrow - scroll chart right (1 column), PgUp - scroll chart up (1 row), ctrl + PgUp - scroll chart up (4 rows), 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, Ins - scroll left (4 columns), Del - scroll right (4 columns). In both the above cases, while scrolling, initially attempting to scroll left or up will have no effect as the window is showing the top left area of the chart. Also, scrolling will only occur until the extremities of the chart are reached (row #32 and column #32), at which point a beep will be heard. As scrolling occurs, the numbers at the top, left hand corner of the screen (initially 1, 1) will change to show the chart coordinate of the symbol position currently visible at the top left corner of the chart window. The first is the column and the second is the row number. Also, while scrolling, yellow horizontal and/or vertical lines will appear in the window at every 10th symbol column and/or every 14th symbol row, corresponding to the right and bottom edges of each 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 on each 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. 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 _________________________________ EasyCASE Users Guide Chapter 4 Chart Window, Menus, Scrolling & Dialog Boxes 31 prompt will appear at the top of the screen requesting you to select an option from the menu. The highlight (selection) bar can be moved up and down over possible options using the mouse or the up/down arrow keys. The desired option is selected by either clicking the left mouse button or pressing the Enter key when the highlight bar is over the desired option. Pressing the Escape key, clicking the right mouse button or moving the mouse cursor out of the menu area, across the right edge of the chart window, back into the drawing area will cancel the menu selection process. Note that certain options, namely those concerned with object manipulation (Place, Move, Delete, Change, Identify and Label Object) are repeatable and may be re-selected simply by clicking the left mouse button with the mouse pointer anywhere in the chart window. The object under the mouse pointer will be automatically selected for the previously selected main menu option. 4.4 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 is only necessary to modify (edit), rather than replace, the initial text string, start by pressing one of the edit keys. When Editing text in an Input Box, the cursor control and editing keypads are used as follows ; _________________________________ EasyCASE Users Guide Chapter 4 Chart Window, Menus, Scrolling & Dialog Boxes 32 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 characters to 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 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. _________________________________ EasyCASE Users Guide Chapter 4 Chart Window, Menus, Scrolling & Dialog Boxes 33 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 present a list of chart filenames available for loading or a list of available object identifiers. Use the Tab or Shift+Tab keys to move the highlight bar into the list box and then use the arrow keys or alphanumeric keys to move to the desired list item and press the Spacebar or Enter key to select that item. Pressing an alphanumeric key moves the highlight bar to the next entry in the list with that first character. Alternatively, use the mouse to select the desired list item by clicking the left mouse button with the mouse pointer over the desired item. 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.4.7 Cancel Chart Operation At any time while an object in the chart windows is being manipulated, after being selected from the main menu or repeat operation, the function may be cancelled in one of two ways, either by pressing the Escape key or pressing the right mouse button without invoking the scroll operation (see above). Note that dialog boxes can only be cancelled using the Escape key or selecting the No or Cancel option using the mouse. Pressing the right mouse button with a dialog box on screen will have no effect. 4.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 on the previously selected main menu object manipulation option). _________________________________ EasyCASE Users Guide Chapter 4 Chart Window, Menus, Scrolling & Dialog Boxes 34 An object is selected, when required, by moving the mouse pointer over the object's 'hot-spot' and then clicking the left mouse button, actual object selection occurring on release of the left mouse button. In the case of a symbol, the object 'hot-spot' is anywhere inside the fine grid outline, an area 72 pixels wide by 48 pixels high in normal (not zoom) mode. In zoom mode, this area is halved. In the case of a TRG Interface, TRG Split/Merge or an STC Continuation symbol, the object 'hot-spot' is within the outline only of the symbol. In the case of a DFD or TRG Flow, STD Transition or STC or ERD Connection, the object 'hot-spot' is a small yellow box mid-way along the middle line segment. In the case of an STC Data or Control 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 be 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 a 32 column by 32 row symbol matrix (1024 possible symbol positions) which is spread over several narrow (A-size) or wide (B- size) paper printout sheets (3 horizontally by 2 vertically for A-size portrait orientation paper). The user is encouraged to design charts which will each fit on a single sheet of paper, so encouraging the concept of structured development, in which a chart should ideally consist of 7 +/- 2 objects (this is apparently the optimum number of objects the brain can associate with at a time, the same principal holds true when designing charts for overheads etc.). If you have ever seen a DFD etc. with over a dozen objects on a piece of A-size paper you'll understand why, it gets hard to easily comprehend the point and structure of the problem being presented. Typically, the entire chart area is used for creating top level data flow diagrams, transformation graphs etc. on which all functions derived during the requirements analysis are placed. During the functional decomposition stage of the anlysis, this DFD would be broken down into a number of more manageable charts, each of which may be organized so as to fit on a single sheet of paper for presentation or documentation purposes. _________________________________ EasyCASE Users Guide Chapter 4 Chart Window, Menus, Scrolling & Dialog Boxes 35 Chart Window. The chart window is shown by a rectangular white outline at the left, top and bottom edges of the screen and just to the left of the main menu at the right side of the screen. All charting operations, object placement and manipulation, scolling etc. occur within this window. Grid. The complete drawing area (chart) is arranged in the form of a grid capable of holding up to 32 symbols horizontally and up to 32 symbols vertically. The closely spaced grid dots in the chart window show the positions which can be occupied by a symbol and is 72 pixels wide by 48 pixels high. The chart window (inside the Yellow outline) shows 8 horizontal by 7 vertical such symbol positions. A 'snap grid' is used. A symbol is always placed inside one of the 16 column, row (1024 available symbol) positions denoted by the closely spaced grid dots. Flow, connection, transition intermediate and start and end points 'snap' to the more widely spaced grid dots. Arrows, labels and text blocks also 'snap' to the widely spaced grid dots though text can be moved horizontally and vertically in increments of half these grid dot spacing. 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. 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 either small (3x5) text characters, for zoom=2 (half size) mode or in 'greeked' (small blocks rather than regular, readable text) form for zoom=4 (quarter, whole chart visible) mode. All symbols, connections, arrowheads, arrows etc. are shown either half-size (zoom=2 mode) or quarter size (zoom=4 mode). In zoom=2 mode, the displayed symbol grid is halved to 36 points horizontally by 24 points vertically. The Grid is not displayed in zoom=4 mode. The connection point placement grid is also halved to 6 points horizontally by 4 points vertically. Text block placement accuracy is 3 points horizontally by 4 points vertically. In Zoom=2 mode, 16 horizontal chart columns and 14 vertical chart rows are shown in the chart window. A vertical, yellow line at every 10th column depicts the right edge of sheets of A-size paper. A vertical yellow line at the left side of the chart window depicts the left edge. The right edge of a sheet of wide paper is every 16th _________________________________ EasyCASE Users Guide Chapter 4 Chart Window, Menus, Scrolling & Dialog Boxes 36 column. The chart can 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 every 14th row. The chart can be scrolled down also 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=4 mode without changing it, select the Label option from the main menu and select the object(s) in turn whose label is to be viewed and then press the Escape key. 4.8 Preview mode Preview mode shows the chart in either half or quarter size, as for Zoom mode, with the exception that it is not possible to edit the chart and the drawing grid is not displayed. The purpose of preview mode is to provide a representation of what the chart will look like when printed in either portrait or landscape orientation on narrow or wide paper. 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. 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. 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 5.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. _________________________________ EasyCASE Users Guide Chapter 4 Chart Window, Menus, Scrolling & Dialog Boxes 37 Note that it is not mandatory to identify an object. However, doing so produces much more useful chart data dictionary export files for analysis and reporting using dBase III+, Lotus 1-2-3 or Microsoft Excel, PC File:dB etc, later. In addition, identifying and labeling objects as they are added to the chart enables the identifiers to be re-used later on the same chart removing the need to re-enter and format labels. If an object is identified with a previously entered identifier, the new object takes on the associated label and so need not be re-entered. Conversely, if a number of objects have the same identifier, changing the label on any one of those objects causes all similarly identified objects to be re-labelled with the new label. Also, in the case of flows (trg only), changing the number of arrowheads or type (data/control) of a flow, also results in the same change being applied to any other flows with the same identifier. Similarly, changing 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. 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 name may be defined which encompasses, perhaps in abbreviated form, a combination of the type, name and/or scope of the connection. In the case of an Arrow on a structure chart, the identifier and/or label may take on the name of the corresponding flow on the corresponding transformation graph as there is a 1:1 relationship between the processes and flows on a transformation graph with the functions and flow connections on a structure chart at any given level. _________________________________ EasyCASE Users Guide Chapter 4 Chart Window, Menus, Scrolling & Dialog Boxes 38 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 5. FUNCTIONS REFERENCE 5.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. 5.1.1 Set Chart OPTIONS This option is used to set the On/Off state of a number of charting options as follows. 5.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. Note : the drawing grid does not appear in either of the zoom=4 or preview=4 (quarter chart size) modes. 5.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 data flow diagrams, transformation graphs and state transition diagrams, the default state for this option is On, whilst for structure charts and entity-relationship diagrams, the default state is Off. The desired option state is selected by toggling the option marker check box in the dialog box, between the on and off states, to the desired state. _________________________________ EasyCASE Users Guide Chapter 5 Chart Functions Reference 40 5.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 5.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. The default state for this option is Off and may also be defined via the SET AUTO= command entered at the DOS prompt prior to EasyCASE invokation. 5.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. The default state for this option is Off and may also be defined via the SET AUTO= command entered at the DOS prompt prior to EasyCASE invokation. 5.1.1.5 Symbol Set This option is used to the select the appearance of the symbol set used in the creation of data flow diagrams and transformation graphs. Two alternative, complementary symbol sets are available, those symbols defined by Yourdon and DeMarco or those defined by Gane and Sarson. The charting functions are the same for both symbol sets, only symbol appearance changes. The default is the Yourdon/DeMarco symbol _________________________________ EasyCASE Users Guide Chapter 5 Chart Functions Reference 41 set. The resident symbol set may also be defined via the SET SYMBOLS= command issued at the DOS prompt prior to EasyCASE invokation. 5.1.1.6 Error Beep This option determines if a 'beep' will be heard, if On, from your computer's loudspeaker, in addition to a visual prompt or error message on the top screen line, if an error etc. occurs when entering information, manipulating objects, saving chart files, printing, plotting etc. If not enabled (Off), only the visual message will be seen. 5.1.2 Chart Type (Type) This option is used to select the required chart type. It is possible to select from the five chart types described previously; data flow diagram (dfd), transformation graph (trg), state transition diagram (std), structure chart (stc) and entity-relationship diagram (erd) 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 menu updated for the new chart type. Note that Automatic Routing (see section 5.1.1.1 above) is enabled for DFDs, transformation graphs and state transition diagrams, but is disabled for structure charts and ERDs. 5.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. 5.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. 5.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 _________________________________ EasyCASE Users Guide Chapter 5 Chart Functions Reference 42 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. 5.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. 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 _________________________________ EasyCASE Users Guide Chapter 5 Chart Functions Reference 43 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. 5.1.7 Preview This option is used to the show either half (preview=2) or the whole (preview=4) of the chart on screen as it will be printed on (multiple) sheets of paper and may be used to get an idea of how the chart will look when printed. Symbols, flows and text are shown correctly located at their relative positions on the page. Symbols are shown half-size or quarter size and text labels are shown in small or 'greeked' form. 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 (14 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. _________________________________ EasyCASE Users Guide Chapter 5 Chart Functions Reference 44 5.1.8 PRINTING & PLOTTING This option is used to send the entire or a selected portion of the currently loaded chart to hard copy or file output. Selecting this option will result in a dialog box appearing on screen and a prompt appears at the top of the screen reqesting you to select the required output device charateristics. Select the required Printer or Plotter Device, Port, Paper Width, Orientation and other options from the lists and then select Yes. Selecting No or pressing the Escape key will cancel the print function. The Select Chart Area to Print option is used if it is only desired to print a sub-set of the entire chart. The chart, if selected for printing on A-size, portrait orientation paper, will be printed on 6 sheets of such paper, three horizontal by 2 vertical sheets. Although logic is incorported to disable output on sheets which have no information on them, time is taken for EasyCASE to determine that a sheet is actually blank. By using the area selection option to select only the area of the chart, even if it will take up more than one sheet, which is populated, the print processing time will be reduced, sometimes considerably. When this option is chosen, a representation of the entire chart will be displayed, as for preview=4 (quarter size) mode together with a coarse grid and page edge positions indicated. When prompted, use the mouse to select the chart area to be printed by pressing the left mouse button with the mouse pointer at the desired top left corner of the area to be printed. Moving the mouse with the left button still pressed will result in a yellow rectangle being drawn, the top left corner anchored at the selected top left of the chart area to be printed, and the bottom right corner following the mouse pointer. When the desired chart area has been encompassed, release the left mouse button. You will be prompted, via a pop-up dialog box, to send the selected chart area to print. Select the Yes option to initiate print output or press the Escape key or select the No/Cancel option to cancel the print function. The Print Interface Symbol option is used to determine if the small rectangular interface symbol is to be printed at the end of interface flows on trgs, dfds and stds. The Select DeskJet Draft Quality Graphics option is used to configure the Hewlett-Packard DeskJet printer into draft quality raster graphics mode. This mode speeds up printing with minimal degradation in quality. After printing has been started, the Escape key may be pressed to terminate print output. In this case, a dialog box will pop-up offering you the choice to terminate the print output and return to the chart, or to resume printing. During printing, EasyCASE will check for the presence of the printer being connected, turned-on, on line and loaded with paper. If any of these conditions are not met, EasyCASE will flag an error and present you with the option to abort or continue printing. Press the Escape _________________________________ EasyCASE Users Guide Chapter 5 Chart Functions Reference 45 key to terminate printer output, or press any other key to resume printing. Available output options are ; 5.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. 5.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. Note that Portrait Orientation only is supported for this printer type, Landscape Orientation is NOT supported. 5.1.8.3 HP QuietJet (Alternate Mode) Select this option for any printer which is compatible with the Alternate graphics mode of the Hewlett-Packard QuietJet (Plus) printer. The alternate mode is an Epson/IBM compatible mode with a resolution of 96 dpi, however using this option with an Epson- or IBM- compatible graphics printer or using the Epson FX option with this HP printer will result in a distorted (aspect ratio) output. The HP QuietJet(Plus) printer should be set for Alternate mode (switch #A5 in the UP position), though EasyCASE does attempt to switch the printer to the Alternate mode. 5.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 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. The following chart sizes can be plotted using the HPGL option, the top left position of which is selected using the Select Chart Area to Print option from the Print dialog box. A-size, Portrait - 12 symbols horizontally by 16 symbols vertically, A-size, Landscape - 16 symbols horizontally by 12 symbols vertically, B-size, Portrait - 16 symbols horizontally by 24 symbols vertically, _________________________________ EasyCASE Users Guide Chapter 5 Chart Functions Reference 46 B-size, Landscape - 24 symbols horizontally by 16 symbols vertically. 5.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. 5.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). 5.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) level 1 (QuietJet) and level 3 (DeskJet and LaserJet) with a horizontal and vertical resolution of 96 dpi (QuietJet) or 100 dpi (DeskJet and LaserJet). The 150 dpi and 300 dpi graphics modes of the DeskJet and LaserJet are not currently supported. 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 5.1.8.3 above) with the HP QuietJet (inc. Plus) series of graphics printer, set switch #A5 accordingly) Note that, for the DeskJet and LaserJet, EasyCASE sets Perforation Skip Off. To speed up printing with the DeskJet, select draft quality graphics mode from the menu or printer front panel. 5.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 5 Chart Functions Reference 47 When a chart has been 'printed' or 'plotted' to a file, the file may be sent to the printer later from the DOS prompt using the command COPY filename LPT?: /B. The /B option indicates to DOS that the file is a Binary file and prevents DOS from terminating file output at the first perceived EOF (End Of File) marker (Control-Z) or adding/removing Line Feed characters (0A Hex) to/from perceived Carriage Return characters (0D Hex), characters which are part of the graphics output stream. It is possible to use the DOS PRINT command, but the results may be unpredictable depending on the content of the file. Note that 'Plotting' to a file and then attempting to 'copy' the file to a COM (1 or 2) port may result in unpredictable results because the DOS COPY command may be unable to handle the communications line handshaking protocol. Using the MODE command to correctly configure the COM port communications protocol may enable a file to be output using the DOS copy filename to COM port command. 5.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. 5.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 (distortion of circles and low resolution) due to the lack of a suitable print resolution mode. For the Epson LQ option, print orientation currently defaults to Portrait mode only, though narrow or wide paper can be selected. The HPGL Plotter can plot on A- or B-size paper in Landscape or Portrait orientation and produces very good quality output in either mode. The 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) sheets of paper in Portrait mode. They can print 16 symbols horizontally on wide (14 inches wide by 11 inches high) paper. The HPGL plotter will plot 12 symbols horizontally by 16 symbols vertically on A-size paper in Portrait orientation. 5.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 appears on the screen and a prompt appears at the _________________________________ EasyCASE Users Guide Chapter 5 Chart Functions Reference 48 top of the screen requesting you to select the desired export file format (default is dBASE III+). When the required file format (Paint or dBase III) has been selected, you will be prompted for an Export save filename using a dialog box. The current pathname and filename with a .MSP (Microsoft Windows Paint v1.0 or v2.0), .PCX (PC Paintbrush) or .DBF (dBASE III) extension will initially be shown 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. 5.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 is selectable from the entire chart area using the mouse and corresponds to a sheet of A-size paper. That is, 10 columns by 12 rows as shown in the Preview chart window. The bitmap image produced will be 720 points wide by 720 points high to maintain compatibility with the format expected by page layout or desktop publishing programs such as Aldus PageMaker v3.0. When a chart is selected for export in Paint format, a representation of the entire chart area is displayed as for preview=4 mode previously described. When prompted, pressing the left mouse button will display a yellow rectangle whose top left corner will be at the current mouse pointer position and whose size will be equivalent to 10 symbol columns wide by 12 symbol rows high corresponding to the chart area which can be exported. Move the mouse until the rectangle encompasses the chart area to be exported and then release the left mouse button. The selected chart area will then be exported in the selected paint file format. 5.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. _________________________________ EasyCASE Users Guide Chapter 5 Chart Functions Reference 49 The following chart data is exported in the dBase III file : Field Name # Type Length Description OBJ_TYPE 1 Char 18 Object Type IDENTIFIER 2 Char 32 Object Identifier LABEL 3 Char 64 Object Label SOURCE 4 Char 32 Flow/connection source symbol ID DESTNATION 5 Char 32 Flow/connection destination symbol ID FLOW_TYPE 6 Char 32 Object sub-type DIRECTION 7 Char 8 Flow/connection direction FILENAME 8 Char 12 Chart filename Data Flow Diagram : Object Type ; External Entity Data Process Data Store Split/Merge Interface Data Flow Object IDentifier, Object Label, Source Symbol ID (flow only), or Interface (input) Destination Symbol ID (flow only), or Interface (output) Flow Type (flow only); Time Discrete Time Continuous Flow Direction (flow only); Input (interface only) Output (interface only) Update Chart Filename [????????.dfd]. Transformation Graph : Object Type; External Entity Data Process Control Transform _________________________________ EasyCASE Users Guide Chapter 5 Chart Functions Reference 50 Data Store Control Store Split/Merge Interface Control Bar Data Flow Control Flow Object IDentifier, Object Labe, Source Symbol ID (flow only), or Interface (input) Destination Symbol ID (flow only), or Interface (output) Flow Type (flow only); Time Discrete Time Continuous Flow Direction (flow only); Input (interface only) Output (interface only) Update Chart Filename [????????.trg]. State Transition Diagram : Object Type; State Interface Transition Object IDentifier, Object Label, Source State ID (transition only), or Interface (input) Destination State ID (transition), or Interface (output) Transition Direction; Input (interface only) Output (interface only) Update Chart Filename [????????.std]. Note : Field #6 is not used. _________________________________ EasyCASE Users Guide Chapter 5 Chart Functions Reference 51 Structure Chart : Object Type; Function Module Defined Function Defined Module Repetitive Function Decision Function Inclusive Function Store External Device Continuation Data Flow Arrow Control Flow Arrow Connection Asynchronous Call Object IDentifier, Object Label, Source Symbol ID (arrows & connections), Destination Symbol ID (arrows & connections), Identifier of linked connection (Arrow only) Arrow Direction (arrow only); Up Down Update Chart Filename [????????.stc]. Entity Relationship Diagram : Object Type; Entity Relationship Weak Entity Attribute Connection Subtype/Supertype Association Object IDentifier, Object Label, Source Symbol ID, Destination Symbol ID, _________________________________ EasyCASE Users Guide Chapter 5 Chart Functions Reference 52 Connection Type; Connect Association One-to-Many One-to-One Chart Filename [????????.erd]. Note : Field #7 is not used. 5.1.10 Change Arrowheads This option is used to select the number of arrowheads on a data flow (data flow diagram), data or control flow (transformation graph), structure chart connection or entity-relationship diagram. For an ERD, this option can be used to define Associative relationships (one arrowhead) and one-to-one, many-to-one or one-to-many (n-Ary) relationships (two arrowheads). Data and Control Flows (trg) or Data Flows (dfd) may be defined to be input, output or update flows and may be either time discrete or time continuous in nature. An input or output flow (one-way) has an arrowhead at the destination end only, whereas an update (input/output) flow has an arrowhead at both ends. A time discrete flow is represented with a single arrowhead at the destination (input or output flow) and/or the source (update flow) symbol. A time continuous flow is represented with a double arrowhead at the destination (input or output flow) and/or 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. Connections (erd) can have none, one or two arrowheads to denote connections between entities, associations (one arrowhead) and one-to- many relationships (two arrowheads). 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. _________________________________ EasyCASE Users Guide Chapter 5 Chart Functions Reference 53 When a selected Flow (dfd or trg only) has had its number of arrowheads changed in this way, any other flows on the chart which have the same identifier will also have their number of arrowheads changed also. This function is repeatable, so 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. 5.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. On selecting the desired number of arrowheads from the list, made available in the dialog box, the current state will initially be shown highlighted. Selecting the Yes dialog option will cause the default number of flow or connection arrowheads to be set to this number for future flows or connections. Selecting the No dialog option or pressing the Escape key will cancel the selection and leave the default number of flow or connection arrowheads unchanged. 5.1.12 Zoom This function is used to re-size the chart so that the a 16 column by 14 row portion of, or the entire, chart is shown in the chart area. Objects can be modified as in the full size, normal chart mode with the exception that text is displayed in snall (3x5) text characters or 'greeked' (small blocks instead of text characters). However, in the case of text, text strings are shown normally in input boxes. When editing objects in zoom mode, it is slightly more difficult to select, move and place objects as accurately, due to the halving of resolution. 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. 5.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 _________________________________ EasyCASE Users Guide Chapter 5 Chart Functions Reference 54 program and return to DOS. Select the No dialog option or press the Escape key to abort the Exit option and return to the charting facility. The default for the Exit option is No. The Exit function may also be invoked, while the mouse pointer is inside the chart window (not the main menu) area, by holding down the Control and C keys simultaneously. If you select Yes to terminate and return to DOS, and the chart has been updated since it was last saved, you will be offered the chance to save the file via a pop-up dialog box, prior to exit. The dialog box will present the current pathname and filename (resulting from a previous chart load or save) in a text input box, initially highlighted. If the pathname and filename presented are acceptable, select the Yes dialog option to save the chart. If necessary, the current pathname and/or filename can be replaced or edited as previously defined for input dialog box editing and then the Yes option selected, to save the file under a different filename and/or in a different subdirectory. Selecting the No (default) dialog option will result in the chart NOT being saved and the program will terminate and return to the DOS prompt. Note that pressing the Escape key at the save chart option will abort the entire Exit (and Save) operation and return to the charting facility. 5.2 OBJECT MANIPULATION Objects may be added, deleted, moved, re-defined, labelled and identified as follows. 5.2.1 SYMBOL 5.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 the symbols list. The desired symbol type is then selected as described in (ii) below. _________________________________ EasyCASE Users Guide Chapter 5 Chart Functions Reference 55 (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 5.2.5) and/or the Label Symbol function (section 5.2.4) will automatically be invoked, if enabled, and may be cancelled by either selecting the Cancel dialog option box or pressing the Escape key if it is not desired to Identify and/or Label the new symbol. Note that data and control transforms and stores, on a transformation graph, are the only symbols which can be re-sized. 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. _________________________________ EasyCASE Users Guide Chapter 5 Chart Functions Reference 56 Data Flow Diagram Available symbols are ; External Entity (Extl Enty), Data Process (Data Proc), Data Store (Data Stor), Split/Merge (Splt/Mrge). If either the Data Process or Data Store is selected, the highlight bar will move to the previously selected object size in the sizes list on the main menu, to enable selection of one of five different symbol sizes. Transformation Graph Available 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. 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), _________________________________ EasyCASE Users Guide Chapter 5 Chart Functions Reference 57 Continuation (Continue). These symbols are provided in a single size only, therefore a SIZES list does not appear on the stc main menu. Entity-Relationship Diagram Available Symbols are Entity, Relationship (Relation), Attribute, Weak Entity (Weak Enty). These symbols are provided in a single size only, therefore a SIZES list does not appear on the stc main menu. Note that for a dfd, trg or std, the Interface object option can be selected from the SYMBOLS menu, but is actually added to the chart as described in section 5.2.2.1. 5.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. 5.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 _________________________________ EasyCASE Users Guide Chapter 5 Chart Functions Reference 58 the symbol to be moved by clicking the left mouse button with the mouse pointer inside the symbol on the chart. The selected object and its label, if any, will then be highlighted and you will be prompted to select a new symbol position. Move the mouse pointer to the desired new symbol position, scrolling the chart if necessary using the right mouse button or the control+cursor keys as previously described until the desired new symbol position is inside the chart window, and 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. 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. 5.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. _________________________________ EasyCASE Users Guide Chapter 5 Chart Functions Reference 59 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. 5.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. 5.2.2 INTERFACE 5.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 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 _________________________________ EasyCASE Users Guide Chapter 5 Chart Functions Reference 60 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 5.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 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 5.1.11). Once the interface has been placed on the chart, the Identify function (section 5.2.5) and/or the Label function (section 5.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. 5.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. When selected, the interface flow will be highlighted and you will then be prompted to select a new interface position to which the interface symbol will be moved together with its attached flow or transition. Note that this is the option which must be used to move the interface symbol end of an interface flow or transition, it is NOT possible to move the interface end using the Move Connection option (5.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. 5.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 5.2.3.2 (Delete Connection). The flow or transition, interface symbol, and label if _________________________________ EasyCASE Users Guide Chapter 5 Chart Functions Reference 61 present, will be highlighted and then deleted, with confirmation, from the chart. 5.2.3 FLOW, CONNECTION or TRANSITION 5.2.3.1 Add Flow, Connection or Transition Flows (dfd, trg), transitions (std) or connections (stc, erd) 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 for a DFD, Data FLOW or Ctrl FLOW for a TRG, Trnsition for an STD, Connect for an STC and Connect or S_Type(Subtype/Supertype) for an ERD, from the main menu. Data Flows, Connections and Transitions are drawn using a solid line, whereas Control Flows are drawn using a broken (dashed) line. A prompt will appear at the top of the screen requesting you to select the symbol from which the connection is to start. The source symbol for the connection is selected using the mouse. When the source symbol has been selected, 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 necessary to be very accurate with placement of the mouse pointer. _________________________________ EasyCASE Users Guide Chapter 5 Chart Functions Reference 62 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 requesting you to select the desired entry port. Select the desired port, at which time all the port markers will then disappear and a connection line and arrow(s), if enabled, will be drawn from the start symbol to the end symbol, using inserted orthogonal connections as necessary to remove diagonal connections if automatic routing is enabled (Auto Routing On). When the final connection is made, the previous, temporary, line segments are erased and the connection redrawn automatically using 'smoothed' line segments with 'angled' corners. The appropriate number of arrowheads, selectable from the main menu, are placed automatically at the appropriate end(s) of the connection. The auto flow routing option, selectable from Chart Options in the main menu, enables an algorithm which analyses the direction of exit of the connection from the source symbol, the direction of entry of the connection into the destination symbol, current and previous points relative positions and symbol types to determine the number and positions of points to insert along the connection path in order to correctly convert diagonal connections to orthogonal connections. It is therefore possible to connect the source and destination symbols by only defining the start and end port positions and allow the routing algorithm to determine the intermediate points and draw the connection. _________________________________ EasyCASE Users Guide Chapter 5 Chart Functions Reference 63 Note that, while routing a connection, the process can be aborted at any time by pressing the Escape key, in which case the process will be aborted and any connection drawn so far will be erased. Once the Connection has been placed on the chart, the Identify Connection function (section 5.2.5) and/or the Label Connection function (section 5.2.4) will automatically be invoked, if enabled, and may be cancelled by either selecting the Cancel dialog option box or pressing the Escape key if it is not desired to Identify and/or Label the new connection. This is a repeatable command once selected, so clicking the left mouse button on a symbol will re-activate the connection routing function and define that symbol as the start of a new connection. 5.2.3.2 Delete Flow, Connection or Transition Select this option to remove a connection, flow, transition or Interface (dfd, trg and erd only) from the chart by selecting the DELETE option from the main menu and then selecting the Flow (including Interface flows), Connection or Transition to be deleted. 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. 5.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. _________________________________ EasyCASE Users Guide Chapter 5 Chart Functions Reference 64 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. 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 5.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 only by choosing the SYMBOL Change option from the main menu and then selecting the flow in the chart window to change using the mouse. _________________________________ EasyCASE Users Guide Chapter 5 Chart Functions Reference 65 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 5.1.10) function. When the flow to be changed has been selected, the connection will be highlighted and a dialog box will pop-up and you will be prompted to choose the desired new flow type from a choice of Data or Control flow. Select the desired flow type and select the OK box to change the previously selected flow to the new flow type. Selecting the Cancel dialog box or pressing the Escape key will cancel the function and leave the flow type unchanged. If the selected flow is changed in this way, any other flows on the chart, with the same identifier, will also be changed to the selected type and re-drawn. Note that this function is repeatable so selecting another flow will select it for change without the need to re-chose the Change Flow option from the main menu and re-select another flow to change. 5.2.4 LABEL OBJECT 5.2.4.1 Add Label This option is used to label an object, which may be a symbol, flow (dfd or trg), connection (stc or erd), transition (std) or arrow (stc), and is invoked by selecting the LABEL option from the menu. When selected, you will be prompted to select the object (from the list above) to label. When the object to be labelled has been selected, you will be prompted to enter the label text string in the pop-up dialog box which appears. The size of the text input box will depend on the type and size of the object being labelled and will contain the current label, highlighted, if any. Add, replace or edit the text label as necessary according to the editing rules previously described for pop-up dialog input boxes and press the Enter key or select the OK box to enter the label into the object. Pressing the Escape key or selecting the Cancel option in the dialog box will abort the labelling function and leave the current object label, if any, unmodified. Once the label has been entered, you will be prompted to select its position. The label will initially be highlighted and placed at a default position according to the object type, but can be moved around using the Arrow keys and then pressing the Enter key, or clicking the left mouse button to place the text label at the current mouse pointer position. Note that while moving the text label around and before placing it, if the desired label position is not currently in the chart window, _________________________________ EasyCASE Users Guide Chapter 5 Chart Functions Reference 66 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 5.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. 5.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 the Object Delete function and delete the object as well as its label. To delete a symbol label, select the LABEL-Delete option from the menu and then select the appropriate symbol. Once the object label has been selected, it will be highlighted and you will be prompted to confirm deletion of the label via the pop-up dialog box. Selecting the Yes option will remove the object label (but not the object) from its current position, whereas selecting the No option or pressing the Escape key will cancel the function leaving the current object label intact. This function is repeatable, so selecting another object will enable it's label to be deleted, with confirmation, without having to re- select the Delete Label option from the menu and re-select an object label. Note that if the object, whose label has been selected for deletion, has previously been identified (see section 5.2.5) then deleting the label will also delete the label from any other object on the chart with the same identifier. 5.2.4.3 Move Label This option is used to move an object label without affecting the position of the object itself. _________________________________ EasyCASE Users Guide Chapter 5 Chart Functions Reference 67 To move a flow, connection, transition or arrow label, select the MOVE or LABEL-Move option from the menu and, when prompted, select the appropriate text label. If the MOVE option was selected, do NOT click on the flow, connection, transition, arrow or a symbol as that will invoke the Object Move function and move the object, not its label. To move a symbol label, select the LABEL-Move option from the menu and then select the appropriate symbol. Once the object label has been selected, it will be highlighted and you will be prompted to move the label by using either the Arrow keys and then pressing the Enter key or by selecting the new text label position (top, left hand corner) using the mouse. The object label will then be deleted from its old position and redrawn at the new position. Note that while moving the text label around and before placing it, if the desired label position is not currently in the chart window, the chart window can be scrolled using the scrolling methods described previously. This function is repeatable, so selecting another object will enable it to be moved without having to re-select the Label-Move option from the menu and re-select an object label. 5.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 5.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. 5.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. _________________________________ EasyCASE Users Guide Chapter 5 Chart Functions Reference 68 Identifying the object will allow it to be 're-used' on the current chart and also enable analysis of the contents of, and interaction of objects on, the chart via the Export function and dBASE III etc. An object identifier generally takes the form of an abbreviated descriptive name, mnemonic or level number in the function/module or process hierarchy and is therefore usually much shorter, and thus easier to enter, than the object label. Identifying an 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. 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 identifiers 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. _________________________________ EasyCASE Users Guide Chapter 5 Chart Functions Reference 69 If the identifier entered has previously been defined, for another object, on the current chart, then the current object will automatically take on the label entered when the identifier was first used. The label will be placed and displayed with the newly identified object. If the identifier is new, and the object does not yet have a label, the Add Label function will be automatically invoked, if enabled, and a label entered into the pop-up text input dialog box and placed on the chart as described previously in section 5.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. 5.2.6 TEXT 5.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 highlight and place the text string on the chart at the previously selected position. You will then be offered the chance to move the text string around and place it by either clicking the left mouse button with the mouse pointer at the desired text block (top, left corner) position or by using the Arrow keys to move the text and then pressing the Enter key to place it. This function can be aborted at any time by pressing the Escape key or selecting the Cancel dialog option, in which case the text string will not be placed on the chart. Note that while moving the text block around and before placing it, if the desired text position is not currently in the chart window, the chart window can be scrolled using the scrolling methods described previously. This function is repeatable, so re-selecting any point in the chart window will define that as the position for placing a text string without the need to re-select the Text option from the menu and re- select a new position on the chart for the text block. _________________________________ EasyCASE Users Guide Chapter 5 Chart Functions Reference 70 5.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. 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. 5.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, it will be highlighted and you will be prompted to move the text block to the desired position. This is achieved by either using the Arrow keys to move the text to the desired position and then pressing the Enter key to place it, or by selecting the desired new text block (top, left corner) location using the mouse. Note that while moving the text block around and before placing it, if the desired text position is not currently in the chart window, the chart window can be scrolled using the scrolling methods described previously. This function can be aborted at any time by pressing the Escape key which will leave the text block at its original position. This function is repeatable, so pressing the left mouse button with the mouse cursor over a text string anywhere on the screen will result in that text string being selected for moving without the need to re- select the Move option from the menu and selecting the text block to be moved. _________________________________ EasyCASE Users Guide Chapter 5 Chart Functions Reference 71 5.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 5.2.6.1. 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. 5.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. 5.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. _________________________________ EasyCASE Users Guide Chapter 5 Chart Functions Reference 72 Note that if the desired arrow position is not currently in the chart window, the chart can be scrolled, prior to placing the arrow, using either of the scrolling techniques previously described. Once the Arrow has been placed on the chart, the Identify Arrow function (section 5.2.5) and/or the Label Arrow function (section 5.2.4.1) will automatically be invoked, if enabled, and may be cancelled by either selecting the Cancel dialog option box or pressing the Escape key if it is not desired to Identify and/or Label the new arrow. This function is repeatable, so selecting another connection will select that connection to receive another arrow without the need to re-select the Arrow option from the menu and then re-select a connection. 5.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 any, will be highlighted and you will be prompted to confirm deletion of the arrow and its label via a pop-up Yes/No dialog box. Selecting the Yes dialog option will delete the arrow and its label from the chart. Selecting the No dialog option or pressing the Escape key will cancel the deletion, leaving the arrow and its label on the chart. Note that this function is repeatable once selected, so that selecting another arrow will select it for deletion, with confirmation, without the need to re-select the Delete option from the menu and then re-select another arrow to be deleted. 5.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, the arrow and its label, if any, will be highlighted and you will be prompted to select the new position for the arrow and its label using the mouse. When the new position is selected, the arrow and its label text, if appropriate, will be erased from the old position and redrawn at the new position. Note that this function is repeatable once selected, so that selecting another arrow will select it for movement without the need to re-select the Move option from the menu and then re-select another arrow to be deleted. _________________________________ EasyCASE Users Guide Chapter 5 Chart Functions Reference 73 5.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 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 Chapter 6 Limitations 74 6. LIMITATIONS EasyCASE has the following chart size and object limitations. Chart Size - EasyCASE can be used to produce charts up to approximately 24 inches square distributed, when printed, over several sheets of paper. If using A-size paper in portrait mode, 6 such sheets may be printed, 3 horizontally by 2 vertically. Symbols - These are placed on a 32 column by 32 row matrix providing 1024 possible positions. Symbols are placed on the screen in grid cells spaced 72 points wide by 48 points high. Flows, Connections, Transitions - A chart may contain up to 64 flows etc. and each may contain up to 20 intermediate points, inluding the start and end points. A flow etc. may contain from none to two arrowheads at one or both ends and may be drawn using solid or broken lines. Flow intermediate points may be placed anywhere on the chart and will snap to a grid located every 12 points horizontally and 8 points vertically. Arrows (Couples) - A chart may contain up to 64 Arrows. An arrow may be drawn in the up and/or down direction with one arrowhead and either a solid or open base. Arrows must be linked to connections on a structure chart and may be placed anywhere on the chart and will snap to a grid located every 12 points horizontally and 8 points vertically. Object Labels - Each object can have only one label which may consist of up to 4 rows of 32 (128 total) characters for flows, connections or transitions; up to 4 rows of 12 (48 total) characters for arrows and up to 6 rows of 12 (72 total) characters for symbols. Object Identifiers - Each object can have only one identifier, however several similar objects may have the same identifier. Each identifier may contain up to 32 characters. Text Blocks - Up to 10 arbitrary text blocks may placed anywhere on the chart. A text block may consist of up to 4 rows of 32 (128 total) characters. Chart Filenames - Chart filenames follow the DOS naming convention of an (up to) 8 character name and 3 character extension. EasyCASE reserves the extension to denote the chart type to which that chart file corresponds. A 'project' directory may contain up to 96 chart files and up to 32 additional sub-directories, or 128 total entries. Export Chart Size - The chart area for exporting in Paint format, is selectable, but is limited in size to 10 symbol columns by 12 symbol rows (720 pixels horizontally and vertically) to maintain aspect ratio and compatibility with page layout (desktop publishing) programs such as Ventura and PageMaker. See section 5.1.9 for further details. _______________________________ EasyCASE Users Guide Chapter 6 Limitations 75 Print Chart Size - When printed on A-size, portrait orientation paper, each sheet will contain 10 symbol columns and 14 symbol rows. See sections 4.6 thru' 4.8 and 5.1.8 for further details _______________________________ 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 3 1.5 Development 4 1.6 Testing 5 1.7 Requirements 5 1.8 Acknowledgements 5 1.9 The Author 6 1.10 Bibliography 6 1.11 Product Acknowledgements 7 1.12 INSTALLATION 7 1.12.1 EasyCASE Environment Options 8 1.12.2 DOS Environment 10 1.12.3 Project Directories and Charts 10 1.12.4 Executing EasyCASE 11 1.12.5 Sample EasyCASE Installation and Invokation 12 2. LICENSING & REGISTRATION 13 2.1 Licence 13 2.2 Warranty 14 2.3 REGISTRATION 14 2.3.1 Orders from Outside the US 14 2.3.2 Volume Discounts & Site Licencing 15 2.4 Technical Support 15 2.5 Future Development 15 2.6 Shareware 16 ORDER FORM 18 3. DIAGRAMMING STANDARDS SUPPORTED 20 3.1 Data Flow Diagrams (DFDs) 20 3.2 Transformation Graphs (TRGs) 21 3.3 State Transition Diagrams (STDs) 22 3.4 Structure Charts (STCs) 22 3.5 Entity Relationship Diagrams (ERDs) 23 3.6 Objects 24 4. SCREEN, CHART WINDOW, MENUS, SCROLLING & DIALOG BOXES 29 4.1 Start Up 29 4.2 Scrolling 29 4.3 Menu Selection 30 4.4 DIALOG BOXES 31 4.4.1 Selection Box 31 4.4.2 Input Box 31 4.4.3 Pushbutton 32 4.4.4 Check Box 32 4.4.5 List Box 33 4.4.6 Cancel Dialog Box 33 4.4.7 Cancel Chart Operation 33 4.5 Object Selection 33 4.6 Chart Drawing Area 34 4.7 Zoom mode 35 4.8 Preview mode 36 4.9 Automatic Identification and Labelling of Objects 36 _________________________________ EasyCASE Users Guide Contents ii 4.10 Object Identification 37 4.11 Mouse 38 5. FUNCTIONS REFERENCE 39 5.1 Chart Functions 39 5.1.1 Set Chart OPTIONS 39 5.1.1.1 Display Grid 39 5.1.1.2 Automatic Routing 39 5.1.1.3 Automatic Identification 40 5.1.1.4 Automatic Labeling 40 5.1.1.5 Symbol Set 40 5.1.1.6 Error Beep 41 5.1.2 Chart Type (Type) 41 5.1.3 Re-Draw 41 5.1.4 Clear 41 5.1.5 Save 41 5.1.6 Load 42 5.1.7 Preview 43 5.1.8 PRINTING & PLOTTING 44 5.1.8.1 Epson FX 45 5.1.8.2 Epson LQ 45 5.1.8.3 HP QuietJet (Alternate Mode) 45 5.1.8.4 HPGL 45 5.1.8.5 IBM 46 5.1.8.6 Okidata 393 46 5.1.8.7 HP QuietJet, DeskJet & LaserJet 46 5.1.8.8 File 46 5.1.8.9 Port 47 5.1.8.10 Orientation & Paper Size 47 5.1.9 EXPORT 47 5.1.9.1 Paint 48 5.1.9.2 dBASE III 48 5.1.10 Change Arrowheads 52 5.1.11 Define Arrowheads 53 5.1.12 Zoom 53 5.1.13 Exit 53 5.2 OBJECT MANIPULATION 54 5.2.1 SYMBOL 54 5.2.1.1 Add Symbol 54 5.2.1.2 Delete Symbol 57 5.2.1.3 Move Symbol 57 5.2.1.4 Change Symbol 58 5.2.1.5 Re-Size Symbol 59 5.2.2 INTERFACE 59 5.2.2.1 Add Interface 59 5.2.2.2 Move Interface 60 5.2.2.3 Delete Interface 60 5.2.3 FLOW, CONNECTION or TRANSITION 61 5.2.3.1 Add Flow, Connection or Transition 61 5.2.3.2 Delete Flow, Connection or Transition 63 5.2.3.3 Move Flow, Connection or Transition 63 5.2.3.4 Change Flow, Connection or Transition 64 5.2.4 LABEL OBJECT 65 5.2.4.1 Add Label 65 5.2.4.2 Delete Label 66 _________________________________ EasyCASE Users Guide Contents iii 5.2.4.3 Move Label 66 5.2.4.4 Edit (Modify) Label 67 5.2.5 IDENTIFY OBJECT 67 5.2.6 TEXT 69 5.2.6.1 Add Text 69 5.2.6.2 Delete Text 70 5.2.6.3 Move Text 70 5.2.6.4 Edit (Modify) Text 71 5.2.7 ARROWS (Couples) 71 5.2.7.1 Add Arrow 71 5.2.7.2 Delete Arrow 72 5.2.7.3 Move Arrow 72 5.2.7.4 Change Arrow 73 6. LIMITATIONS 74 _________________________________ EasyCASE Users Guide