首页    期刊浏览 2025年12月26日 星期五
登录注册

文章基本信息

  • 标题:The Case for CASE - computer-aided software engineering - Technology Information - Column
  • 作者:Eric Binary Anderson
  • 期刊名称:ENT
  • 印刷版ISSN:1085-2395
  • 电子版ISSN:1085-2395
  • 出版年度:1997
  • 卷号:July 16, 1997
  • 出版社:101Communications Llc

The Case for CASE - computer-aided software engineering - Technology Information - Column

Eric Binary Anderson

"Ladies and Gentlemen of the jury, we plan to demonstrate a number of truths to you today. First, that software development is extremely complicated. Second, that user expectations are growing, while timelines are shrinking. Third, that large groups of developers and users have difficulty communicating complex designs with one another. Fourth, that requirements often get lost during the course of a project. Finally, we intend to show the jury, beyond a reasonable doubt, that they only way to navigate these tricky waters is by using computer-aided software engineering (CASE)."

A case very similar to the one laid out here was presented to a CAD company I worked for nearly 10 years ago. The vendor was a least partially successful in making his point, and the company spent many hours training developers in the methodology of the day -- structured analysis and design -- and many dollars buying the vendor's product. In retrospect, the company would grudgingly admit that using CASE did not make the software development process any more effective, and perhaps it even made things worse.

So, when my current company caught the CASE tool bug about 2 years go, I paid closer attention. There was no doubt that the state of the art had improved since my first experience. For one thing, CASE tools can run well on a desktop-class machine. CASE tools for the 1990s typically come in two flavors: entity relationship (ER) modeling tools for database work, and object-oriented (OO) modeling tools for application work. Some tools integrate both.

For the most part, ER tools are well-accepted and definitely make a database administrator's job much easier. Application developers need to know about the OO tools. OO CASE tools typically implement one or more well-known OO methodologies, and the one that is most often supported is known as object modeling technique (OMT), developed by Dr. James Rumbaugh. The goals of a complete OO CASE tool are:

1. Collect user and system requirements either textually or diagrammatically, and allow reference to those requirements throughout the process.

2. Diagram the set of classes and relationships that are necessary to implement your project. These classes will represent both business and presentation objects require for your project. Each class eventually is refined to include enough detail that it can be generated as code.

3. Diagram the interaction between instances of the classes defined in step 2.

4. Diagram the state transitions of the system as events occur.

5. Generate executable code from the diagrams created in previous steps.

6. Allow reverse-engineering of existing code into the tool for analysis and jump-starting a design. Allow synchronization between the code and the model.

7. Provide a repository for model information that developers can use to generate reports and documentation.

8. Provide a method for multiple users to have access to the models simultaneously.

Each Case tool for Windows NT that I have used attempts to address most of these eight items. The degree to which each succeeds differs greatly. Nearly every tool excels in creating the static model, Class Diagram, the meat and potatoes of any OO methodology. Other areas of the methodology are often misnamed, modified or ignored completely. It can be a frustrating experience to learn the OMT methodology and then try to apply it fully using a CASE tool.

Unfortunately, since the market for CASE tools is still small, the quality of the user's experience is not on par with high-volume productivity applications such as Word, Visual Basic or Visio. Inconsistencies with Windows standards abound, and even the best tools are internally inconsistent in their UI. It can certainly generate some cynicism when the tools designed to ensure consistent, quality development are among the least trustworthy on your desktop. At the same time, you will find the price tags an order of magnitude higher than a typical programmer's integrated development environment.

In spite of these misgivings, the OMT methodology, and forthcoming Unified Methodology, can indeed add necessary structure, documentation and traceability to the black art of software analysis and design. Some of the models we created on my latest project allowed our team to easily understand the structure of a nasty legacy system that we are reworking. With the proper training and education of users, many of the leading tools will help organizer and improve the design of your product. If you intend to try roundtrip engineering for a team -- that is, generating code from models and updating models from code -- expect to commit a full-time resource to manage the tool you choose, and consider hiring a consultant to get the environment set up.

There are more than two dozen vendors offering OO CASE tools for Windows NT and Windows 95. Free evaluation copies are typically available, but before you bet your project on a CASE tool, consider purchasing a professional comparison of the different tools, as they are too deep to fully evaluate on your own. On the low end, With Class from MicroGold (Edison, N.J.) is a shallow but approachable product.

Rational Rose, the flagship product of Rational Software (Santa Clara, Calif.), is a good contender at the high end. While Rational Rose is not perfect, Rational now has the three major names in the methodology field -- Rumbaugh, Booch and Jacobson -- on its payroll. Additionally, the company is quickly acquiring other complementary software process companies, and creating partnerships with many development tool makers.

My verdict: CASE is still an arriving technology, but it should not be ignored. If you are developing large projects using OO techniques, there are many OO CASE tools that can help improve your process.

Eric Binary Anderson is a senior technical lead at Automatic Data Processing (San Ramon, Calif.) and has his own consulting business, Binary Solutions. Contact him at ebinary@aol.com.

COPYRIGHT 1997 101 Communications, Inc.
COPYRIGHT 2004 Gale Group

联系我们|关于我们|网站声明
国家哲学社会科学文献中心版权所有