lomow@calgary.UUCP (Greg Lomow) (03/15/88)
I have started hearing a lot about CASE. What is it? My understanding is that a CASE system should support all aspects of the software development life cycle. What does CASE offer that we don't already have? Or does CASE require more things to be described in a form that can be processed and maintained by a computer? What CASE tools support which portions of the development cycle? What is the difference between CASE and CAPM (Computer Aided Project Management :-))? By this I mean what benefits could I expect from using a CASE system that I would not get from using a set of computer based tools for requirements analysis, interface typing, test case generators, configuration management, etc. Finally, are there any commercial CASE systems? Alternatively, what set of existing computer tools would you suggest a small/medium sized project (20,000 to 100,000 lines of code) needs to manage product development. -- Greg Lomow lomow@cpsc.calgary.cdn or ....![ubc-vision,ihnp4]!alberta!calgary!lomow
rhj@wdl1.UUCP (Bob Jones) (03/22/88)
> I have started hearing a lot about CASE. What is it? The term CASE stands for Computer Aided Software (or Systems) Engineering. It is a generic term (like the term 4GL) and applies loosely to the set of tools which collectively enhance the process of software and software based systems development. > My understanding is that a CASE system should support all > > aspects of the software development life cycle. What does CASE > offer that we don't already have? Or does CASE require more > things to be described in a form that can be processed and > maintained by a computer? What CASE tools support which portions > of the development cycle? Various CASE software toolkits support different phases of the software development effort. Many focus heavily on the early analysis and design phases because a small reduction in design errors yields a big reduction in development costs. Most CASE toolkits are simply modeling tools that allow the systems designer to understand the proposed target system better. Various methodologies such as Structured Analysis and Structured Design or Entity Relationship Diagrams are incorporated along with graphics-based user interfaces into toolkits which allow the designer to model the target system using formal modeling tools. Some of the toolkits can transform one type of model (a Data Flow Diagram, for example) into another type of model (say a Module Heirarchy). Some tools even incorporate language sensitive editors or syntax directed parse trees and support the actual code generation process. The goal of all of these tools is to reduce the cost and improve the quality of the software developed using these tools. > What is the difference between CASE and CAPM (Computer Aided > Project Management :-))? By this I mean what benefits could I > expect from using a CASE system that I would not get from using > a set of computer based tools for requirements analysis, > interface typing, test case generators, configuration > management, etc. Project Management is also a form of modeling, but it models the software development process (or darn near any other process) rather than the system being developed by the process. To my view, a project management tool is a part of the overall CASE process, but it is not a tool that is usually thought of when we talk about CASE tools. The second part of your question (what benefits could I expect ...) is more subjective. Nobody today is marketing a single CASE product or even a complete set of CASE tools which give you everything you need to build software. All CASE products are just tools. A well integrated toolkit is easier to use, but harder to come by, but the tools you identify (requirements analysis, test case generators, configuration management, etc.) are important pieces in the overall process. > Finally, are there any commercial CASE systems? There are many commercially available CASE toolkits (I wouldn't call any of them complete systems). Here are some names: Software Through Pictures from IDE (runs on Suns and VMS Vaxstations) Teamwork from Cadre (runs on several platforms) Excelerator fro Index Technology CASE 2000 from Nastec Promod (has several integrated tools) This is only a partial list. There are many other good products. Bob Jones Ford Aerospace Corporation
cl@datlog.co.uk (Charles Lambert) (03/28/88)
In article <3850005@wdl1.UUCP> rhj@wdl1.UUCP (Bob Jones) writes: >There are many commercially available CASE toolkits ... > > Teamwork from Cadre (runs on several platforms) ...or, in the UK, from Hewlett Packard who market it under licence. -------------- Charles Lambert
fad@think.COM (franklin a davis) (03/30/88)
In article <3850005@wdl1.UUCP> rhj@wdl1.UUCP (Bob Jones) writes: >> I have started hearing a lot about CASE. What is it? > >The second part of your question (what benefits could I expect ...) is >more subjective. Nobody today is marketing a single CASE product or even >a complete set of CASE tools which give you everything you need to build >software. All CASE products are just tools. A well integrated toolkit >is easier to use, but harder to come by, but the tools you identify >(requirements analysis, test case generators, configuration management, etc.) >are important pieces in the overall process. My two cents -- the current state of the art in CASE tools is that they are fancy "word processors" for design diagrams. Some of them check syntax ("spelling checking") and some of them can transform between views, but none of them (yet) really understands design, and can help find design flaws. For example, drawing data-flow diagrams is a tedious process. Revising and correcting them as a design evolves is even worse. A good CASE tool helps a lot -- but basically it gives you pretty diagrams, some degree of easy editing, and a few other valuable extras such as summary lists of contents and connections (data dictionaries). >> Finally, are there any commercial CASE systems? > >There are many commercially available CASE toolkits (I wouldn't call any >of them complete systems). Here are some names: > > Software Through Pictures from IDE (runs on Suns and VMS Vaxstations) > Teamwork from Cadre (runs on several platforms) > Excelerator fro Index Technology > CASE 2000 from Nastec > Promod (has several integrated tools) > >This is only a partial list. There are many other good products. > >Bob Jones >Ford Aerospace Corporation While I was a student at the Wang Institute of Graduate Studies we used Teamwork and Excelerator, and looked at others. Some are clunkier than others -- it partly depends on hardware platform -- but none of them are close to the dream system, that would automatically find problems in the design and suggest alternatives. StateMate from iLogix (formerly AdCad) is an interesting system, deveolped in Israel and now sold here. It's new, and I don't know how mature, but it's a different idea from the others. It is a state-machine model, with hierarchy, that can actually execute (simulate) the state machine you've drawn. For example, it can find all the possible conditions that lead to a particular outcome. I think it's a very interesting idea, but probably a ways from robust usefulness. Design, from Meta Software, is purely a drawing tool. It has some power that most of the others don't have, at a very low price, but doesn't support a whole project, data dictionary, etc. It's much less intuitive than MacDraw, but it supports connectivity and hierarchy in a way that normal drawing programs on the Mac and PC don't. They have plans to extend the graphics platform with design rules etc., and even sell two versions of the system with hooks to implement your own methods and syntax on top of Design. Another pair of quite different systems that I don't know much about are Ken Orr's tool that implements his "methodolgy", and JSD Tool, (?) a tool that draws Jackson JSD diagrams. A caveat about useing CASE tools: it was generally agreed by users at Wang Institute and by attendees at a CASE conference that the tools don't teach the methods well -- you should know the design method before the tool is much use. The tool may be an aid or an incentive to learning, and the methods are now becoming more driven by their software implementations. But a word processor doesn't make you a good writer. My own use is mostly for requirements definition and architecture design, when you need to lay out the pieces of the big picture and get the connections right. When the tools are more powerful it will be worth my time to draw diagrams at the level of subroutines and functions, especially when the tools can automatically generate code. (Some claim that now, but what I've seen just create data structure descriptions, which isn't such an issue in the applications I work on.) A last opinion and I'll get off my soapbox. The CASE field is overly dominated by gurus. There are a number of models, and each has fervent proponents. I've seen a room full of these people arguing. It's interesting, but it seems to me like psychology -- each approach is only a partial model of the actual process (which is too complex to model given our current understanding). None is particularly more "correct" than any other, and all have their uses. --Franklin Davis franklin a davis Thinking Machines Corp. Cambridge, MA 02142 617-876-1111 <fad@think.com> {ihnp4, harvard, seismo}!think!fad "Roll away...the dew!"
rhj@wdl1.UUCP (Bob Jones) (04/06/88)
Some added comments on the general notion of CASE tools: The various design methodologies are simply techniques for viewing a problem. To the extent that a methodology helps you understand the problem, it is good. If all you use it to do is document the fact that you don't understand the problem, then it is a useless exercise. The various toolkits are just automated reflections of the methodology. I would agree with the analogy that they are just glorified word processors except that the good ones do have the ability to verify that the model is correct to the extent that it conforms to the rules of the methodology. This certainly does not assure the best design or even a good design. The real key to the proper use of these tools is the understanding of the methodologies. Without proper training, the results will be sporadic at best. The old phrase "there are many ways to skin a cat" applies here. There are many ways that a software analyst/designer/developer can approach the problem of understanding what the target system should do. Data flow diagrams are one way (i.e. one mothodology), but there are others. The good news about Data Flow diagrams is that a lot of organizations have used them and found that they do help, if used properly by trained people. They are, therefore, a somewhat "proven commodity". The bad news is that there are no really definative and objective studies that I am aware of that clearly show just how much better Data Flow diagrams are over various alternatives. If anyone knows of any such studies, please let me know. Bob Jones Ford Aerospace