Computer-Aided Software Engineering
(CASE)
Nattapat Suadsong
ID: 012255134
MIS 6840 Systems Analysis
Prof. Vicki Sauter
November 09, 2009

Content
Intro
History of CASE
Example of Benefit from CASE
CASE tool types
Approaches for CASE implementation
The structure of software engineering
Tips for CASE implementation
Understanding CASE growth stages
Two type of CASE which is used to storage information
Most common challenges of CASE
Myth
In conclusion
Bibliography

Intro
CASE stands for Computer-aided software engineering. It is similar to computer-aided design/computer-aided manufacturing (CAD/CAM). CASE seeks to do for system development while CAD/Cam does for engineer. It is IT tools to help, maintain, and reengineer software. CASE tools are a class of which connected in many life cycle of projects such as in the beginning of functional requirements of a proposed application state, graphic model can be created from prototyping tools to help the end users to understand how an application will look like after finished project. Moreover, software designers can use the tool to translate the function requirements to detail design documents (11, 13, 14, 5 , 15, 20, 15,7, 10, 19, 23).

Figure 1: CASE (4)

 

History of CASE (13)
CASE was first originally introduced by software company called Nastec Corporation of Southfield, Michigan in 1982.   Their product provided integrated graphics and text editor GraphiText. It was the first microcomputer-based system to use hyperlinks to cross-reference text strings in documents (an early forerunner of today's web page link). GraphiText's successor product, DesignAid, was the first microprocessor-based tool to logically and semantically evaluate software and system design diagrams and build a data dictionary(22).

 

Example of Benefit from CASE
Benefit of CASE tools for the planning process (5, 10, 13, 15, 16)

 CASE allows software developer team to meet these following criteria (5, 10, 13)

 

CASE tool types
CASE tools can be divided on the basis of function performed, Process perspective and Integration perspective. Functional perspective provides tools that are classified according to their specific function. Process perspective provides tools that are classified according to process activities that are supported. The last one, Integration perspective provides tools that are classified according to their organisation into integrated units.(3)

 

The following is an example of variety types of CASE (1, 15, 22);
Functional Perspective

 

. Process perspective
4.15 Activity-based class.eps                                  000FF8ECMacintosh HD                   B8AA5F2E:
Figure 2: Graph CASE; Process perspective (3)

Integration perspective
Tools - Support individual process tasks such as design consistency checking, text editing, etc.
Workbenches - Support a process phase such as specification or design, Normally include a number of integrated tools.
Environments - Support all or a substantial part of an entire software process. Normally include several integrated workbenches.

 

The structure of software engineering

Figure 3: The structure of software engineering (19)


Figure 4: CASE Components (4)
Remark: go to http://www.unl.csi.cuny.edu/faqs/software-enginering/tools.html  for more CASE tools index (6)

 


The first dimension: analysis and design.  It is knows as front-end or upper CASE including includes tools and techniques for planning systems, defining requirements, and designing systems. The tools will support traditional diagrammatic languages such as ER diagrams, Data flow diagram, Structure charts, Decision Trees, Decision tables, etc.
The second dimension, development dimension, is known as back-end or lower CASE. It used old styling program development tools such as editors, compiler and compilers.  This dimension support  physical design, debugging, construction, testing, integration of software components, maintenance, reengineering and reverse engineering activities.
The third one is management dimension. It provides the methods and tools that is used to manage and control a project. Comparing with the rest dimension, this dimension is the weakest supported dimension.
The last one is support dimension, called basic CASE. It combines all the tools and techniques needed to sustain and evolve existing software systems. For example, Year 2000 tools are an example of CASE tools which is directed at finding and fixing dates in source code, job control language, databases, etc.

 

Approaches for CASE implementation


The process by which a CASE tool is introduced and implemented in an organization is an important determinant of its organizational acceptance and success. Failure in design of an effective implementation strategy may result in sustained experimentation rather than widespread and routine use of CASE.
There are three strategies to implementation CASE; vertically phased, horizontally phased, and combination phased.  The choice of an implementation strategy should be chosen by the desired rate of CASE assimilation and a realistic assessment of the organization support factors (3).
Vertically Phased Strategy
The vertically phased strategy involves using the full capability of CASE tools to the entire life cycle of every new software development projects. This strategy requires high skill levels of staff training in order to effectively use the tools  and technique embedded in the adopted CASE product. In addition, this strategy often need adjustment of IS work flow patterns in order to fit with the underlying CASE methodology .
Typically, this strategy leads to high level change in organization.  Therefore, to success in this strategy, it requires a support from technical staffs and by management. To achieve the requirement management support, one or two pilot projects should be run first to demonstrating and testing the viability and benefits of CASE.


Horizontally Phased Strategy
Difference from vertically phased strategy, the horizontally phased strategy used the CASE tool function-by-function rather than by applying the full capability of the tool to the entire software life cycle. In addition, this strategy does not require major IS work flow modifications. IT tried to reduce the scope and magnitude of the change in the software development. Therefore, the horizontally phased strategy leads to a relatively slow rate of assimilation of CASE tool.

Combined Phased Strategy
The combined phased strategy combined some aspects of the horizontally and vertically in ordet to achieve the benefit of both. With this strategy, a component set of CASE tool capability is adopted across all the software development project. The benefit of this strategy is that it reduces the scope of organization change while allowing the advantage of the high-payoffs features of CASE across all projects.

 

Tips for CASE implementation (16)

Understanding CASE growth stages
There are three phased of CASE growth stages;

Structured methodology: in this phase an organization focuses on the basic principles of successful data base design.
Parallel CASE: After the achieve the benefit of structured methodology, the next step is to use technology to capture the results of the design efforts. This stage normally only superficial use CASE tools.
Integrated CASE: After CASE tools is used effectively. Designers can use it to check normalization, consistency in meta-data, and the leveling of data flow. In this Stage, CASE tool and the associated levels are truly integrated into the daily work analysts. (9)

Example of Integrated CASE: Creating an AI Enhanced CASE Tool
AI technologies are used in the IS fields for building intelligent system that can provide reasons and decision making. Example of AI technologies is robotics, expert systems (mostly), natural language processing, and knowledge engineering system.
An integrated CASE (I-CASE) tool integrates all aspects of software development activities. The I-CASE tools assist the automation of system analysis, design, and development. Its code generator generates usable programs for system implementation (8).

Two type of CASE which is used to storage information
There are two way to store design information: (10)

  1. A dictionary, which contains names and descriptions of data items, processes, etc.
  2. A repository, which contains this dictionairy information and a complete coded representation of plans, models and designs, with tools for cross-checking, correlation analysis and validation.

Most common challenges of CASE (11, 17, 20)

Myth
CASE tool can decrease stress among system analysis?  -  CASE tools is expected that to decrease stress because (21)

However, in reality it might happen that way. Many time CASE bring more stress because developers may not have been given clear and specific usage guideline

In conclusion
CASE is a useful tools in IS management. It could provide a lot of benefit to individual user, designer and the whole organization. However, to reach the full benefit of CASE, organization has to have a very good strategy to implementation CASE to provide benefit acknowledge and guideline the user. Fail to do this, might lead to fail in organization management.

 

Bibliography