New - CNC Machine Classifieds

Click Here to get free $20 instant credit to list your CNC

Best CNC Resources:

 »  Home  »  CAE  »  The impact of CASE - computer aided software engineering

The impact of CASE - computer aided software engineering

 CASE (Computer Aided Software Engineering) is an emerging technology with the potential to be one of the most significant advancements in the soft-ware industry. Making certain that proper controls are designed into application systems is part of an auditor's responsibilities; and grasping the implications of CASE will be essential to reviewing systems development projects in the future.

What is CASE?

In its broadest definition, CASE refers to the automation of all phases of the software development process, such as initiation, analysis, design, construction, acceptance testing, installation, maintenance, and evaluation. Automating the techniques and methodologies used to engineer software has become an entire industry, complete with user groups, conferences, training courses, and supporting products.

CASES is developing now because of the intersection of a set of several basis forces:

 * The backlog of required software is large and growing at an accelerated rate, and the supply of professionals is severely limited.

* The design complexities have expanded beyond the traditional manual design and management processes.

* Enabling technologies such as interactive graphics, relational data bases, and, recently, expert systems, have been proven in other computer aided design applications.

* The cost of interactive computing has dropped to the point where workstations can be economically justified.

* Information systems are becoming factors of strategic importance.

CASE tools are available in roughly three categories: analysis/design tools (sometimes called the front-end tools or upper CASE); application generators (the back-end tools or lower CASE); and system test and control tools. Over 150 CASE products are currently available, and more are coming into the market every day. Most products target a single part of the development process and a specific problem or system environment. Some newer analysis/design tools automate the business system planning process to define the requirements for individual application design.

CASE Benefits

The key benefits of CASE are increases in software quality and development productivity. Through explicit design notation schemes, CASE provides a basis for communicating complex requirements and design information among developers and users. The result is better vision and understanding of the business problem and how the system works, and a clearer understanding of the system's design. With their disciplined, highly structured engineering approach and emphasis on rigid design rules, CASE tools verify consistency and completeness at early stages of the development process.

CASE Trends

For some time, many organization have been using computer aided tools for construction, testing, documentation, and system management. A significant part of today's development effort is spent on designing and building code. CASE is beginning to shift the concentration of effort to requirements analysis and specification phases.

This shift should be substantial, and the quality of application systems will almost certainly be improved. Meeting the user's needs and intentions is expected to become a simpler process; and the code and test effort will be reduced, thereby shortening the overall development cycle.

In addition, overall maintenance and inherent costs should be reduced. The typical increase in enhancement effort, seen today as older systems require change, will be reduced because the explicit design notation of CASE will make it easier for maintenance programmers to understand existing systems.

In the long term, CASE promises to:

* Improve productivity.

* Improve software quality and reduce errors.

* Reduce software costs.

* Automate software development and maintenance.

* Automate the generation of code.

* Automate error checking.

* Automate project management.

* Formalize and standardize documentation.

* Increase control of the software development process.

* Promote software reusability.

* Improve software portability.

The CASE Environment

Implementing CASE can be frustrating and the benefits slow to accrue, as many organizations who have implemented CASE will attest. With the current tools and techniques, development productivity is so difficult to measure that a simple cost/payback analysis for expensive CASE tooks is nearly impossible. Similarly, putting a number on the quality improvements brought about by CASE is difficult. While detailed quantitative measurements are not sufficient to justify CASE, industry experts believe that quality and productivity gains are real, and improvements in the metrics will prove it.

Coding

To realize their full potential, CASE tools must automatically generate source or executable code. Today, there is a large gap between the high-level analysis and design done by a human and the code needed by a procedural computer, although a few tools currently on the market do attempt code generation. Some tools generate nearly 100 percent of the code needed for common business problems, such as on-line data entry and update using a data base management system (DBMS). However, manual coding is still required for complex logic, control algorithms and nonstandard interfaces.

 Some vendors are now providing interfaces from one product to another, but no consistent approach has emerged. Customers are applying pressure on vendors to adopt standards for data exchange; tool interfaces, and data dictionary integration.

Standardization

Major efforts are not underway by a number of formal standards organization (*) and independent vendor partnerships. Many of these efforts are overlapping and conflicting, and it may take several years for widespread resolution of these issues. Many development organizations have not made large scale commitments to CASE because of this lack of standardization.

Integration

While individual CASE tools contribute to improved quality and productivity, the real payoff will come from integrated tools that use a common repository supporting the storage and sharing of data definitions, business rules, processes, and other information. These integrated tools will preserve design information from one phase to the next, eliminating redundant input and errors and encouraging the reuse of designs.

With intergration, the potential to automate project-wide monitoring and control tasks will enhance project management capabilities. The few vendors now offering an integrated package target very specific problems and narrow environments.

 Reverse Engineering

Reverse engineering of existing programs, extracting the meaning and intention of the original authors, is a long way off. The inability of automate the maintenance of millions of lines of existing code is a serious short-coming in CASE technology for many companies. Many development organizations estimate that they spend at least 60 percent of their software activity on maintaining or modifying existing systems.

Because of this, the promised evolution to CASE is not just around the corner. The evolution may not occur in the directions predicted and may take a lot longer than many experts believe. The thought processes that people use to develop software is not well understood, and it may be that the CASE vendors are automating obsolete methodologies.

Predictions

Adoption of software technologies has generally taken from 14 to 20 years. The first upper CASE tools first appeared about five years ago. Therefore, if the past is an indicator, widespread adoption is still 9 to 15 years away. Some sources predict that CASE tools won't achieve 50 percent penetration into development organization until 1995.

The tools and techniques will evolve, closing the code generation gap and performing reverse engineering. Expert systems should help by capturing the informal information that people require for maintenance and enhancement of existing systems. The CASE environments will become more fully integrated, supporting the complete development life cycle including the management and support aspects. Repositories will collecct and maintain all elements of an application. Object oriented techniques should provide easy understanding of what is in the repository and lead to the high levels of code reuse necessary to meet future system development demands. Tools will automate the migration to evolving interface standards.

 Today's isolated tools will dominate the market until integrated tools for certain environments begin to make their mark. Even in the environments they support, these integrated tools will be weak in project management and configuration management. The gap between business requirement specification and generated code will still require human intelligence and multiple steps.

In initial releases, repositories will be limited in capability, and it may take several years before they reach a mature and well accepted state. In the future, vendors should begin to offer environments that are integrated with the repository and provide object oriented technique code and design reuse. Also, CASE tools providing a high degree of integration with methodologies and project management facilities for cooperative processing and distributed data should be available.

Reverse engineering of existing data bases, the ability to extract and convert data base systems and flat files, will continue to advance. The process of converting modern, schema-driven data bases should become almost completely automatic. Old data base systems and flat files will continue to require human intervention but with intelligent tools to assist.
 Tools to reverse engineer procedural code will come later. First, tools to aid in the understanding of existing code through conversion of graphical form and intelligent editors should appear. Then, some CASE tools will assist the programmer in adding new code to existing systems. Some people predict that real code conversion into integrated CASE tools specification form will be possible by 1995, but confidence in that prediction is low.

Despite the long time frames and lack of standards, current CASE tools can provide substantial benefits, both in terms of improving software quality and in increasing the productivity of development staff. The potential payback of CASE is high, but the lead times are long.

Summary

The potential benefits of CASE are high, but its implementation is complex. Because of the auditor's responsibility to review controls over the system development process, it is essential that auditors become involved and understand the implications of CASE. This proactive approach will allow the auditor to be there from the beginning and provide maximum value of the organization.




http://findarticles.com/p/articles/mi_m4153/is_n6_v48/ai_11705427/pg_1
For more information visit CAE category

How would you rate the quality of this article?
1 2 3 4 5
Poor Excellent
Verification:
Enter the security code shown below:
imgRegenerate Image