Information Systems

College of Business Administration
University of Missouri - St. Louis

University of Missouri - St. Louis

Information Systems Analysis

Fall 1999

Topic: A Study of Case Tools

by

Debbie Hogan

As you are probably aware, the term 'CASE' is used in the Information Technology arena as an acronym for Computer-Aided Software Engineering. Case tools can be described as any computer-based product which is aimed at supporting one or more software engineering activities within a software development process. This definition describes not only the technical aspects of a software project, but the managerial and administrative aspects as well. In order to further analyze this topic, I want to give you a brief history of CASE tools.

The History of Case Tools

Case tools began in the early 1970's as a simple word processor which was used in creating documentation. However, since this initial development, "they have become the focus of researchers and practitioners as a potential means for easing the software development and maintenance burden which is threatening to overwhelm information systems (IS) departments".[4]. "The initial development of case tools focused primarily on tools which would be used for program support such as translators, compilers, assemblers, macro processors, and linkers and loaders."[7]. As technology increased and software grew more complex, the range of support tools that were needed expanded as well. They now included diagramming tools (such as E-R diagrams and data flow diagrams), program editors, debuggers, code analyzers and print utilities, such as report and documentation generators (for technical personnel as well as users).

Adding to the maintenance burden placed on IS departments is the fact that programmers have had varying techniques and methodologies which has made it difficult to maintain and debug software programs. In addition to these difficulties, it has also been a challenge to integrate various systems. This led to the idea that software development needed more of an engineering-type discipline. This would involve coming up with common development techniques, standard methodologies, and automated tools[14].

Another one of the major issues that sparked the development of CASE tools was the need to increase the speed of the development of systems. Many times the system was getting ready to be implemented and the business needs had changed since the project began. By supporting quicker installation, companies could compete more effectively since their new systems matched their business needs.

However, "even though the software industry has searched for the "silver bullet" in application developement productivity for over four decades, the field continues to have many highly visible examles of software development failures"[1]. Many software development projects fall behind schedule and many are never even completed. This can cause serious finanacial and operational problems. For example, a few years ago when there was a new international airport opening in Denver, Colorado, there was a software problem that was used for the automation of the baggage-handling system. This project was delayed for over a year and this was at a cost of more than a million dollars a day.

The latest developments in the CASE tool arena include the following: The late 1980's and throughout the 1990's, there has been a focus on the use of CASE tools in searching for the answer to problems in systems development. This has led to the recent development in the following areas of the CASE tool product lines:
  • Object-oriented development tools: these help to create reusable code that can be inserted into many different applications. Among the object-oriented languages are C++ and Java, which has become very popular in web development activities. With the vast increase in web development and usage, the demand for these types of tools will continue to increase.
  • Visual devlopment tools: These tools allow the developer to quickly build user interfaces, reports and other features into new and existing systems. Then, they can also see the results of their efforts instantly.
  • Artificial Intelligence: this is a new developing CASE tool which allows the user to give a request to the system, which are processed by intelligent agents that reside on the computer. These systems are still currently in the development phase.

The Advantages of Case Tools

Recent trends show a significant decrease in the costs associated with purchasing hardware, while the cost of software continues to rise. The software industry is currently estimated to be at approximately $2.7 trillion and still growing. This trend reflects the labor intensive nature of software development. Small errors in program logic can cause great losses in time and productivity for a developer as well as a user. CASE tools can play an important part in resolving problems during application development and maintenance. They can help an organization to establish a single design philosophy, which can be hard to acheive with so many people and departments involved in various projects. If used properly and under the proper set of conditions, case tools:
  • Ensure consistency, completeness and conformance to standards.
  • Encourage an interactive, workstation environment.
  • Can speed up the development process (by helping to generate code).
  • Allow precision to be replicated.
  • Can reduce costs, especially in the maintenance phase.
  • Can increase productivity.
  • Can make structured techniques practical.
Case tools are used by analysts, software engineers, programmers, etc. during all phases of the system development life cycle which includes the following: the preliminary investigation, analysis, design, implementation and finally, installation. CASE tools can be divided into two main categories:

1) Front-End CASE tools (or Upper CASE tools) - these deal primarily with the investigation, analysis, and design phases of the system development life cycle. In order to determine system requirements, an analyst utilizes data flow diagrams, data dictionaries, process specifications, documentation, and structure charts. If any changes were to be made, this would be too time consuming to ensure that all the changes were made on manual diagrams. Using computerized CASE tools let's the analyst make these changes quickly and accurately. Information is shared throughout the flowcharts and documentation can be checked to ensure they all match.

Other uses of CASE tools in the design phase include the use of prototype screens, reports and interfaces. As we have studied in class, these prototypes can then be given to the end-users and management to get both positive and negative feedback. This can also help to reduce development time and encourage open communication with your client.

2) Back-End CASE tools (or Lower CASE tools) - these deal primarily with the implementation and installation of the system development life cycle. They are most often used to facilitate the generation of program code. Fourth generation programming languages and code generators help significantly to reduce the cost and programmer time needed to produce code needed to run the system. Another benefit is that the code generators produce code which is of high quality, but most importantly, it is easily transferable between various hardware platforms. Code generators are able to then interact with the Upper CASE tools and information stored by those tools is used to generate code. Overall, the greatest benefit of using CASE tools is usually seen in the Back-End of the system development life cycle during the construction of the system, testing, implementation and maintaining the new system.

Disadvantages of using CASE tools

While there are many advantages to utilizing case tools, there are many disadvantages as well. If the tools are not utilized under the proper set of conditions within an organization, they may actually hinder the performance of the project. These conditions can include:
  • Training of staff on the use of that particular tool(s) and the application development processes. In general, if the staff was trained in the specific use of the tool that was to be utilized in the development process and they received more application development training, delays in the project schedule were less likely and end-user satisfaction was more likely. In many instances, the vendor of the CASE tool or a contractor provides tool-specific training and this may only require a few days of training.
  • The use of structured development methods. In research completed by IBM, they found that "for teams with well-structured processes, the use of tools enhanced the process and improved performance."[1] For teams with less formalized processes, the tools created problems.
  • The project size. Some CASE tools are not always compatible with other CASE tools and cannot share information back and forth easily. The project size is determined by the number of function points that a project contains. Larger projects tend to require more coordination and management especially when CASE tools are used.
  • The team interactions. Group coordination plays a key role in any development project, whether tools are involved or not. Sharing of information and the attempts at working together can greatly effect the coordination of the team effort.
  • Staff resistance to CASE tools. Many IT professionals view the use of case tools as something that only a junior level programmer would use. Some feel that anyone who knows what they are doing would not need to utilize a case tool. Many also view CASE tools as a threat to their jobs. If these tools are able to generate code, will this eliminate the need for as many application programmers within an organization? Also, many developers think that there is too much expectation place on the value of using case and are less willing to use the tools. A classic line that I found in one of my sources, summed up an emplyee's possible reaction to the use of case tools as follows: "Sometimes employee's have tools that they don't want foisted upon them by Dilbertesque managers" [20]. Any of these types of opinions or emotions would need to be dealt with and resolved prior to using these tools in the development process.
  • The level of quality of the initial application design.
In addition to the above conditions, if an organization has adopted a CASE tool they may consider eliminating the use of the tool when "the tool cannot achieve a satisfactory level of CASE adoption goals, it cannot meet the critical conditions of evaluation criteria, or it has not demonstrated a reasonable probability of success in wider scale tool usage".[3]

One of the major hindrances to a company to start utilizing CASE tools is the cost. While the market for CASE tools is beginning to reach a mature level, the costs of these products is starting to see a decline. According to our text, integrated CASE environments range in price from less than $5,000 per analyst to more than $50,000 per analyst. When you factor in the cost of training the analyst to utilize the tool as well as the initial cash outlay and continued maintenance, the costs must be carefully analyzed in comparison to the benefits, possibly by completing a feasibility study. This effort should include the technical and economic factors, a competitor analysis, a technical analysis, your current CASE use, and potential tools, etc.

Choosing a CASE tool

When choosing a CASE tool for your particular organization, there are many factors that must be considered:
  • The selection process itself - there are thousands of CASE tools available and the evaluation and selection of a case tool could take a considerable amount of time. You will first need to determine what criteria should be used in making the selection. Once this is done, then a careful analysis of the various tools available will need to be completed.
  • Examine if the expectations that you have set for the CASE tool are reasonable. Make sure you understand what the purpose of the tool is. You will need to know the level of expertise of you IT staff and make sure that the use of the tool is compatible with their skill level. If not, you will need to determine training needs and if the CASE tool vendor provides this training and at what additional cost.
  • Finally, know the current and future needs of your organization. A recent report showed that "one year after introduction, 70% of the CASE tools are never used, 25% are used by only one group, and 5% are widely used, but not to capacity"[16]. By considering the future needs of your organization, you may find that CASE tools are not a feasible solution or they may in fact be exactly what you need in order to meet these future objectives.

Some examples of CASE tools.

While there are too many CASE tools to provide a list of all the products available, the following is a small example of some of the tools that are currently available and their uses:
  • ASCENT is a CASE tool which was designed for use by computing students. It contains a full data dictionary support as well as many development methodologies (ie. OOAD, SSADM, Yourdon, and Gane & Sarson). It also support diagram development including dataflow diagrams, E-R diagrams, state transition diagrams, OOAD diagrams, Pert Charts, and Structure Design Charts.
  • StructureBuilder is a Java programming component/application building tool that helps the programmer understand the structure of a Java program and keeps the object design in lock-step with the code.
  • Cool:Gen is another CASE which uses structured methods to develop business objects and models from which it generates both mainframe and client/server applications. It is capable of being used to design and construct software components, deliver Web-enabled applications, and wrap legacy software for inclusion in new systems. This tool has been utilized locally by the State of Missouri Highway Patrol. While working on a recent project for Missouri's criminal justice agencies, the Highway Patrol was able to reuse a COOL:Gen model which was built by the FBI. The specifications are stored in a repository which allows the application specification to be shared and reused. This allows them to speed up the development process which saves both money and time. This gave them the ability to share components across several agencies and has saved the state at least 15 months of development time". [8]
If you are interested in research on additional CASE tools, there is a lot of product information on the internet.

Who Utilizes Case Tools?

In addition to the above example for the State of Missouri, another example of an organization that was able to benefit from the use of Case tools includes the South Florida Water Management District. This district is responsible for overseeing a vast network of canals, pumps, gates, culverts, and other structures stretching over 16 counties in Florida. They ensure the water quality for over 5 million people who live in this area and manage flood control.

Over a year ago, the CIO of the district felt that through the use of information technology, the district should be able to acheive greater efficiencies. They developed a task team made up of various groups within the organization including legal, accounting, MIS, etc to find out where the problem areas were. The highest priority problem was found to be that of their contract purchasing process. Their old system was being overloaded and kept falling behind. "Fewer than half of the contract requests - both competitive and non-competitive - coming in could be approved in the same year, and it was often an all-day job just to determine the status of any particular contract in the pipeline at any given time." [9]

The district's information systems audit manager began looking into process-management software as a possible solution to the difficulties that they were experiencing with contract management. The CASE tool that they began utilizing was called Process Charter by a company called Scitor. He flowcharted the entire contracting process across each department that was involved, from accepting a contract in until the time it is sent out. This included budget, purchasing, competition, risk management, legal, governing board, supplier diversity, and others.

By viewing the flowchart, key people in the organization were now able to understand the entire process that a contract goes through. By using the Process Charter model, they have greatly reduced their costs and time of processing a contract. The greatest benefit of this CASE tool for the district was increased productivity and insight into its operations. Many of their projects go across so many departments that this gives management a clearer picture of all the resources involved in each project activity in a spreedsheet form with an accompanying flowchart. This product also allows them to run simulations of the processes to get a good sense of what they need in order to acheive their goals.

Conclusion:

There is a wide variety of case tools on the market by software vendors. For a company considering investing in such technology, they must be cautious in their expectations of utilizing this technology. "A comprehensive set of technical, managerial, organizational, and cultural factors should be considered in order to successfully introduce CASE technology into an organization".[3] There must be the correct "fit" within an organization in order for CASE tool technology to provide a positive benefit to the company and improve the application development process. Factors to be considered include things such as employee training, employee attitude toward the use of CASE tools, project size, the development process itself (structured vs. unstructured), cost-benefit analysis of the product, etc. It must ultimately be determined if CASE will actually help an organization to meet its business objectives. While it is possible for CASE tools to increase the consistency of a project, increase productivity, reduce costs, allow for the replication of processes, etc., the successful use of a CASE tool is still dependent on the above listed factors. An organization should be cautious when shopping for the 'correct' tool which will meet the needs of the organization and provide the most benefit.

Bibliography

1) Coeditors: Cooprider, J.G. and Guinan,P.J., and Sawyer, S., "The effective use of automated application development tools".Date accessed: November 15, 1999.
2) Finney, Russ"CASE Tool Tricks and Traps" Date accessed: November 11, 1999.
3) Coeditors: Lee, Dr. Dan-Hyung and Yuseong,Taejon and Smith, Dr. Dennis B., "Guideline for the adoption of CASE tools", Date accessed: November 15, 1999.
4) Orlikowski, Wanda J., "CASE Tools as Organizational Change: Investigating Incremental and Radical Changes in Systems Development", Date accessed: November 8, 1999.
5)Stobart, Simon "The CASE Tool Home Page" Date accessed: November 2, 1999.
6)"CASE Tools and Meta CASE Tools" Date accessed: November 15, 1999.
7) "Computer-Aided Software Engineering (CASE) Environments", Last modified: April 14, 1999, Last accessed: November 8, 1999.
8) "Made Right, Made Fast, Made Solid: Full lifecycle model based application development" Date accessed: November 15, 1999.
9) "South Florida Water Taps Scitor for Process Flow: Dramatic Cost & Time Savings Realized with Process Charter", Date accessed: November 6, 1999.
10)"What is ASCENT?" , Last accessed: November 15, 1999.
11)Bergin, Thomas, "Computer-Aided Software Engineering: Issues and Trends for the 1990s and Beyond", ISBN 1-878289-15-2, Copyright 1993.
12)Coronel, Carlos and Rob, Peter, "Database Systems: Design, Implementation, and Management", ISBN 0-7600-4904-1, International Thomsan Publishing Company,1997.
13)Fisher, C., "CASE: Using Software Development Tools", Wiley, 1988.
14)Gane, C., "Computer-Aided Software Engineering: The Methodologies, The Products and the Future", Prentice Hall, 1990.
15)George, Joey F., Hoffer, Jeffrey A., and Valacich, Joseph S. "Modern Systems Analysis and Design", Copyright, 1999 by Addison Wesley Longman, Inc.
16)Iivari, Juhani, "Why are CASE tools not used?", Copyright Association for Computing Machinery Inc,. 1996.
17)Nunamaker, J.F., "Build and Learn, Evaluate and Learn." Informatica 1(1):1-6.,1992.
18)Schindler, M.,"Computer-Aided Software-Engineering", Wiley, 1990.
19)Towner, L.E., "CASE: Concepts and Implementation, McGraw-Hill, 1989.
20)Yourdon, Ed, "Death March, Managing Mission Impossible Projects", Prentice Hall, 1996.


| UM-St. Louis Home Page | College of Business Page | IS Home Page | Analysis Current Page |



Page Owner: Professor Sauter (Vicki.Sauter@umsl.edu)
© Vicki L. Sauter. All rights Reserved.