Re: FourGen's case tools
Posted in 1991
Forwarded from: atherton@unixg.ubc.ca -- Walt Hultgren Internet: walt@rmy.emory.edu Emory University, Atlanta, GA, USA BITNET: walt@EMORY Voice: +1 404 727 0648 UUCP: {...,rutgers,gatech}!emory!rmy!walt --- Header ------------------------------------------------------------------- > From atherton@unixg.ubc.ca Thu Mar 28 17:21:08 1991 > Received: from hub.ubc.ca by > rmy.rmy.emory.edu (5.59/2.14.EUCC-MathCS) via SMTP > id AA16861 ; Thu, 28 Mar 91 17:20:56 EST > Received: by hub.ubc.ca (4.1/1.14) > id AA15586; Thu, 28 Mar 91 14:23:33 PST > Date: 28 Mar 91 14:21 -0800 > From: Bruce Atherton <atherton@unixg.ubc.ca> > To: <walt@rmy.emory.edu> > In-Reply-To: <9103281532.AA11732@rmy.rmy.emory.edu> > Message-Id: <12*atherton@unixg.ubc.ca> > Subject: Re: FourGen's case tools --- Message ------------------------------------------------------------------ I've used the Fourgen CASE tools extensively. For me, they make Informix a reasonable development environment. To try to describe these tools is daunting, because they do so much. There are basically two major parts, the Screen Painter and the Code Generator. The Screen Painter allows you to place fields interactively on the screen and move them around at will. At any time, you can place the cursor on a field and pop up one of several windows with parameters you can define for the field. These include not only the standard parameters that Informix allows you to define, but also ones unique to Fourgen such as whether the field is a calculated field (and how it is calculated), if it is a lookup field for another table, whether you can use that field to zoom into another table, and so on. You can also define whether the screen you are working on is a Header screen, a Header/Detail screen (part of the screen uses INPUT ARRAY) a browse screen (displays a list of records) or a zoom screen (a list of records for another table). The Screen Painter will use all of this information to generate a .per file with an extra FOURGEN section tacked into a comment at the end. You can have the SP automatically generate a basic .per file using a limited form of data dictionary built in (allowing you to define the standard labels and comments for each field). You can also read in .per files you created manually or with the standard Informix tools. The Code Generator takes the .per file and generates a complete application from it. This application has a standard menu interface, Query By Example for all fields, the ability to Add, Edit, or Delete records, a Browse interface so that you can pick the record you want out of a list of records, pop-up context sensitive help, a way to store To Do notes, Feedback from the user (including exactly where in the program they were at the time) and much more. The code is a delight. It allows some object-oriented techniques to be used, such as data hiding and polymorphism, even though Informix doesn't easily support it. Most of the code is in standard libraries shared by all screens, although you can override any function by creating a local copy for your screen at any time. The code that isn't in the libraries is either unique to your screen or is a point where you are likely to want to customize the code. There is also a facility for you to keep your changes external to the generated code. This means that you can regenerate your screen at any time and your changes will be merged back into the generated code. Yes, I am a believer. What really made me a believer was the day that 4gen saved my life. &^) I was in the Fourgen menushell, a really nice shell for Unix that works like Norton Commander under DOS. There was a garbage file that was similar to my application subdirectory's name except for leading spaces or something. Of course, I knew better than to type in rm and the filename without quotes around the name to include the space, but I was in an interactive shell. I just highlighted the name and typed "dd". It was the menushell which sent rm -rf and the filename (complete with leading space, but no quotes) to the Bourne shell. And there went my entire application. I dug out the week-old backup, swearing profusely that it was so old, and sweating buckets over an application that was due in just a few hours, when I discovered the miracle. When I loaded the old .per file into the Screen Painter, it told me that this .per file was out of date. Should it be loaded anyway? I said no, and was amazed to discover the most current version of the .per file on the screen. Every detail had been saved in the CASE database which had not been deleted. I still despaired at getting all of my custom changes back, but was in for another miracle. Fourgen regenerated my entire custom change list. That had also been stored in the CASE database. In other words, every detail of my heavily customized application was stored in the CASE tool. There is an MSDOS version of a demo of the CASE tools that you can probably get from Fourgen if you are interested. The sales department phone number is (800) 333-4436. This 800 number works in the US and Canada, at least. Their accounting software is done with their code generators, so it is also very nice, both to use and maintain. -- UBC Faculty of Law Artificial Intelligence Research Project (FLAIR) atherton@unixg.ubc.ca or | "Don't look so perplexed, why must you be vexed, a36@mindlink.UUCP | can't you see you're next? Yes, you're next, | you're so next." - Bugs Bunny --- End of Message -----------------------------------------------------------