[comp.software-eng] CASE tools: Any good in the REAL world?

hal@hades.OZ (Hanif A. Ladha) (02/21/89)

in article <142@hades.OZ>, greyham@hades.OZ (Greyham Stoney) says:
> 
> What I'm wondering is this: How useful is this all in the real world?. If it
> IS all it's cracked up to be, it will obviously be of use at work - but the
> situation at work is far from the idealised problems as presented in class.
> Can you actually use the things (ie:CASE tools in general) when you're looking
> at a system with megabytes of source code in various different languages and
> a target system with multiple CPUs, all different?. How well does it cope with
> obvious kludges enforced by hardware restrictions?. How far can/does it go
> towards code generation?. How well does it cope with major changes to data
> structures when the spec changes?. Do you have to throw all your code away and
> start again?. How does it cope with timing related problems such as interrupt
> routines, and assembly language situations where you can do astonishing 
> things, and often have to?.
>

Greyham,
	You ask a set of questions that all prospective CASE tool buyers
ask before spending 1000s upon 1000s of dollars on software and hardware.
CASE tools are just that, TOOLS. They are used to assist an engineer to become
more `productive' in the fields of design, implementation, and maintenance.

	CASE tools usually follow a set methodology for software
development. The most common being Structured Analysis/Design, ie DFDs,
DSDs, CFDs, etc. These tools by no means do the design for you. Alas you
still have to think (stupid computers - 8-)). They make designing much more
bearable, even fun! We all know that we shouldn't design on the keyboard,
but most of us still do it. The idea of thinking through a design on
paper is rather foreign. To create DFDs, DSDs and the like for a `large'
system, eg s/w for an ultrasound machine, on paper whould be very time 
consuming, and probably impossible keep track of. Once done, may not be
very useful, by the sheer volume and the difficulty in isolating particular
modules (processes). The main advantage of CASE tools is that they perform
all the mundane tasks of maintaining and keeping track of various version
of documentation/diagrams/sources. They also provide an easy way of drawing
DFDs, etc. They also do some sort of checking.

	Regarding code generation, I'm not sure. The fact that I'm still
employed implies that there is still a lot work to be done in this field.

	I by no means am an expert in this field, so please don't take my
word as the gospel.

Regards,
Hanif.

PS: Why do you insist on putting full-stops after the question mark?.

-- 
$ Hanif A. Ladha  ACSnet: hal@hades.nucleus.oz  Voice: +61 2 428-6480
$ Organisation: Ausonics Pty Ltd 16 Mars Road Lane Cove NSW 2066 AUSTRALIA
$ Disclaimer:	"Opinions not necessarily the result of any Organisation"
---------------------------------------------------------------------------