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 tools provide a structured environment with a common
data base, common approach, standard vocabulary, and standard user
interface.
- The tools provide the communications and
integration that let various users work simultaneously on different
parts of the study
- The tools provides an ability to keep a lot of information about information system
- CASE provides a decision support environment for analyzing complex situation.
- The data base developed during strategic planning can become the basis for the subsequent stages of system development
CASE allows software developer team to meet these following criteria (5, 10, 13)
- Meet business and system requirements
- Complete on time
- In budget control
- Provide easy maintenance and enhancement
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
- “Planning tools. These tools
create specifications for functional requirements, provide strategic
information planning systems development, and provide relationships
between components of the plan and resource requirements.
- Requirements specification. These tools check the consistency, completeness, and correctness of systems specifications.
- Structured analysis and design tools. These
tools implement data flow diagrams (DFD), entity-relationship diagrams
(E/RD), and structured charts to graphically depict the information
flow between computational processes.
- Detailed design documentation tools. These tools create online software documenting the system design.
- Diagramming tools. Diagramming tools draw structured diagrams (i.e., E/RDs, DFDs) and create pictorial specifications.
- Prototyping tools. These
promote rapid development of systems and open the communication channel
among end-users and software designers.
- Standardized data modeling tools. These provide standardized data models to improve communication among software modules.
- Code-generating tools. These tools generate working or compilable code from systems specifications.
- Repository tools. These tools store information on all systems--they contain an encyclopedia of reusable modules.
. Process perspective
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)
- UPPER CASE is better than lower CASE; From the
current situation, CASE is more focus on analysis and design in the
life cycle than coding and maintenance stage. Process models, data
models and data flow diagram have supported a lot of analysis and
design stages. A proper CASE implementation have to meet business
approach of the business. IS manager should adopt upper CASE
first and then consider to use lower CASE (do not abandon lower CASE).
Moreover, the manager have to understand that handing an
off-the-shelf CASE package to developers is not an appropriate way to
adopt CASE. Project team developer team need orientation to the use of
CASE including overall techniques and the specific mechanics of
use.
- Integrate
The Techniques With The Tools – some CASE lack a direct tie-in to a
methodology. Without this, the developers loss a guidance because
techniques help them to find out when and how a tool is necessary for
use and the tools respond for an action.
- Establish Naming
Convention – In the development process, if each develop use an
individually chosen set of name for element, then the whole group may
inadvertently duplicate.
- Decide Whether to Create an
Enterprise Model – When focusing on a particular function or business
process, a developer need to consider how the function fits in to other
interrelated function. An enterprise model helps the developers to
understand how different functions fit together.
- Resolve
the Classic Problem of “As Is” Versus “To Be” – There are two groups of
CASE users. The first group stick to the “As Is” approach which
focus on a business process currently exists. The second group use “To
Be” approach argue that the current setting requires scant attention.
Therefore, focus should be on the desired state. Generally, the
to-be approach should be chosen because developers should be seeking
new horizons as the business evolves.
- Document the
Documentation – All the CASE activities must be document, review, and
approval cycles which are required for add-on documentation. Lacking of
documentation, an organization will face little useful data or
incomprehensible CASE models quickly.
- Determine How to
Support Code Generation – Due to the current CASE technology is not
fully integrate the capability to model, generate code tweak code, and
regenerate code. IS manager should find the need for code generation
and then compare with various CASE packages for their ability to meet
the need.
- Avoid Excessive CASE Usage – Developers may
become overly focused only on the technology’s capability and start to
lose sight of the project, the users, and other important aspects
justify CASE overall.
Understanding CASE growth stages
There are three phased of CASE growth stages;
- Structured methodology
- Parallel CASE
- Integrated CASE
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)
- A dictionary, which contains names and descriptions of data items, processes, etc.
- 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)
- Complexity – Many CASE tools are very complex.
- Dual
Implementation – CASE have to meet two aspects; individual developers
aspect and IS organization aspect. First, individual developers have to
accept, use, and support the features and characteristics of the CASE
tool including the principles behind it. Second, the developers rarely
work alone. Therefore, if developers use CASE tools ineffectively or
avoid it entirely, implementation is likely to fail.
- Dependence
on Methodology – CASE is not only a tool to automate portions of
development process, it is still in the minds of developers a way of
thinking about the development process and the creation of application
components. If the methodology is not ready when the IS team start to
implement the CASE tools, introduction of a methodology becomes a
substantial step in the overall implementation process.
- Influence
of Standards – It is very important to establish standards in early
state of implementation. Normally areas of focus includes data formats,
procedure structuring, and software reuse.
- Cost – CASE tools are often considerable expensive.
Myth
CASE tool can decrease stress among system analysis? - CASE tools is expected that to decrease stress because (21)
- provide graphic modeling and documentation facilities to increase development consistency
- provide prototyping facilities that would reduce ambiguity and conflict during user requirement determination
- provide
a central data repository that would enhance communication between
project team members, thereby, reducing uncertainty and confusion
- increase productivity
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
- Aggarwal, R. L.-S. (1995). CASE and TQM for flexible system. Information System Management , 12 (4), 15.
- Alavi, M. (1993). Making case an organization reality. Information System Management , 10 (2), 15.
- CASE. (n.d.). Retrieved 10 30, 2009, from www.cs.st-andrews.ac.uk/~ifs/Books/SE7/Presentations/PPT/ch4.ppt
- CASE. (n.d.). Retrieved 10 21, 2009, from http://infutik.mtk.ut.ee/www/kodu/rais/ismage/Repetition/CASE.PPT
- CASE tool benefits. (n.d.). Retrieved 17 10, 2009, from www.theconnectpartnership.co.uk/.../white.../case_tool_benefits.pdf
- CASE tool index. (n.d.). Retrieved 10 15, 2009, from http://www.unl.csi.cuny.edu/faqs/software-enginering/tools.html
- CASE/ Computer Aided Software Engineering. (n.d.). Retrieved 10 3, 2009, from Freetutes: http://www.freetutes.com/systemanalysis/sa4-case-tools.html
- Chou, D. C. (1994). Software quality assurance in CASE tools. Information System Management , 11 (2), 56.
- Christoff, K. A. (1993). Case, marginal utility...and brownies. Information System Management , 10 (2), 66.
- Computer Aid Software Engineering. (n.d.). Retrieved 9 11, 2009, from http://www.npd-solutions.com/case.html
- Computer Aided Software Engineering. (n.d.). Retrieved 10 10, 2009, from http://www2.latech.edu/.../Computer%20aided%20Software%20Engineering.ppt
- Computer Aided Software Engineering Tools. (n.d.). Retrieved 11 1, 2009, from About Knowledge.
- Computer-aided software engineering. (n.d.). Retrieved 10 5, 2009, from WikiPedia: http://en.wikipedia.org/wiki/Computer-aided_software_engineering
- Computer-aided software engineering. (n.d.). Retrieved 10 16, 2009, from absolute astronomy: http://www.absoluteastronomy.com/topics/Computer-aided_software_engineering
- Fundamental of Software Engineering. (n.d.). Retrieved 10 20, 2009, from Google Book: http://books.google.com/books?id=K6BloOqIssQC&pg=PT297&lpg=PT297&dq=Computer+aided+software+engineering+case+analysis&source=bl&ots=CiP6goixLc&sig=KwbDRncO80pSPnMIEv1ISE9hOMc&hl=en&ei=Tlr4SvCuAor-MdOJ-OgF&sa=X&oi=book_result&ct=result&resnum=8&ved=0CBsQ6A
- Graham, L. E. (1996). Strategic tips for CASE implementation. Information System Management , 13 (2), 86.
- Lederer, A. L. (1996). Using CASE tools in strategy IS planning. Information System Management , 13 (4), 47.
- Mukhopadhyay, D. D. (2005). Designing open system with CASE. Information System Management , 12 (1), 26.
- Science, E. o. (n.d.). CASE.
- Senn, J. A. (1995). The other side of CASE implementation. Information System Management , 12 (4), 7.
- Teng, A. C. (2000). Do system development methodlogies and CASE tools decrease stress among systems analysts? BEHAVIOUR & INFORMATION TECHNOLOGY , 19, 307-313.
- The case for CASE. (n.d.). Retrieved 11 3, 2009, from Software Engineering: http://www.atarimagazines.com/st-log/issue30/51_1_SOFTWARE_ENGINEERING.php
- What is Computer Aided Software Engineering? (CASE). (n.d.). Retrieved 10 15, 2009, from SELECT BUSINESS SOLUTION: http://www.selectbs.com/adt/analysis-and-design/what-is-computer-aided-software-engineering