CASE Tool Tricks and Traps
By Russ Finney
Based on some developer's experiences with CASE tools, the following definition seems to apply: "CASE: An organized procedure for going wrong with confidence and certainty". However, this should not be the situation if this powerful tool is utilized correctly. Here are some quick considerations for using this software engineering technology:
If the target technological environment is already known, select the CASE tool which is the most suited to that environment, and utilize it throughout the analysis, design, and possibly even the construction phases.
Many database and programming language vendors now provide companion CASE tools to their products, or sometimes build the functions directly into the product. This can sometimes provide productivity savings through the integration that a "stand alone" CASE tool may not provide. This helps to leverage the modeling efforts of the team by producing deliverables which are directly applicable to the construction effort.
Before beginning any modeling activity, determine both the objectives and the expected deliverables for each planned development step, then utilize the CASE tool capabilities which match these development requirements.
The key is to avoid wasting time creating models or definitions which are not even called for as a part of the development activity. Just because a CASE tool manufacturer added a certain function or feature in the tool, doesn't automatically mean that it must be utilized. This is the classic example of substituting a CASE tool for a methodology. Determine what is important to produce, then use the specific abilities of the CASE tool to produce it.
Match the selection criteria for the CASE tool to the known characteristics of the planned development effort. This means sizing the tool to the activity. Each tool has built in limitations, and the key is to make sure that based on these missing capabilities, the team does not create an unacceptable manual model transformation activity. Examine the following prior to making a large investment in time with a specific CASE tool:
- Number of analysts supported
- Model maintenance approach
- Model consolidation approach
- Planned formal deliverables
- Known third party tool interface requirements
- Model utilization by each consecutive development workstep
View the CASE package as a modeling toolbox, full of many useful SE diagramming, modeling, analysis, specification, and programming tools. Then select the tools which meet the job at hand.
Copyright © 1999, Russ Finney, All Rights Reserved