Case Tools

advertisement
Case Tools
Trisha Cummings
Our Definition of CASE
 CASE
is the use of computer-based
support in the software development
process.
 A CASE tool is a computer-based product
aimed at supporting one or more software
engineering activities within a software
development process.
History of Case Tools

CASE tools began with the simple word
processor which was used for creating and
manipulating documentation.
 The seventies saw the introduction of graphical
techniques and structured data flow diagrams.
 Up until this point, design and specifications in
pictorial form had been extremely complex and
time consuming to change.
 The introduction of CASE tools to aid this
process allowed diagrams to be easily created
and modified, improving the quality of software
designs.




Data dictionaries, a very useful document that holds the
details of each data type and processes within a system,
are the direct result of the arrival of data flow design and
structural analysis made possible through the
improvements of CASE tools.
Early graphics packages were soon replaced by
specialists packages which enabled editing, updating
and printing multiple versions of a design.
Eventually, graphic tools integrated with data dictionary
databases to produce powerful design and development
tools that could hold complete design cycle documents.
As a final step, error checking and test case generators
were included to validate software design. All these
processes can know be integrated into a single CASE
tool that supports all of the development cycle.
Advantages of CASE Tools

Current trends are showing a significant
decrease in the cost of hardware with a
corresponding increase in the cost of computer
software.
 This reflects the labor intensive nature of the
software.
 Developing effective software packages takes
the work of many people and can take years to
complete.
 Furthermore, small errors in the logic of the
programs can have huge consequences for the
user.








CASE tools are an important part of resolving the problems of
application development and maintenance.
CASE tools significantly alter the time taken by each phase and the
distribution of cost with in the software life cycle.
Software engineers are now placing greater emphasis on analysis
and design. Much of the code can now be generated automatically
with the development of detailed specifications.
Improvements in both these areas made possible through the use of
CASE tools are showing dramatic reductions in maintenance costs.
The power of CASE tools lies in their central repository which
contains descriptions of all the central components of the system.
These descriptions are used at all stages of the cycle; creation of
input/output designs, automatic code generation, etc.
Later tasks continue to add to and build upon this repository so that
by the conclusion of the project it contains a complete description of
the entire system.
This is a powerful device which was not feasible before the
introduction of CASE tools.

More specifically CASE tools:







ensure consistency, completeness and conformance
to standards
encourage an interactive, workstation environment
speeds up development process
allows precision to be replicated
reduces costs, especially in maintenance
increases productivity
makes structured techniques practical
Selection of a CASE Tool





With thousands of tools available the decision of which
one will best fit your needs is not an easy one.
The failure or success of the tool is relative to your
expectations.
Therefore a clear understanding of the specifications and
expectations of the CASE tool are of utmost necessity
before beginning your search.
There are three common points of failure; the selection
process itself, the pre-requisites of the tool, your
business.
As previously mentioned the evaluation and selection of
a CASE tool is a major project which should not be taken
lightly.

Time and resources need to be allocated to identifying
the criteria on which the selection is to be based.
 Next, examine if these expectations are reasonable.
Make sure you have a clear understanding of the tools
purpose.
 There must be a common vision of the systems
development environment in which the tools will be used.
 Finally, know your organization and its needs. Identify
the infra structure and in particular, the level of discipline
in the information technology department. Is your
selection of a CASE tool compatible with the
personalities, and expertise of the individuals who will be
using it?
 If these three areas are taken into consideration the
tools is sure to be a success and offer all the benefits
outlined above to your development project.
Selection of a CASE Tool




With thousands of tools available the decision of which
one will best fit your needs is not an easy one.
The failure or success of the tool is relative to your
expectations. Therefor a clear understanding of the
specifications and expectations of the CASE tool are of
utmost necessity before beginning your search.
There are three common points of failure; the selection
process itself, the pre-requisites of the tool, your
business.
As previously mentioned the evaluation and selection of
a CASE tool is a major project which should not be taken
lightly.






Time and resources need to be allocated to identifying
the criteria on which the selection is to be based. Next,
examine if these expectations are reasonable. Make
sure you have a clear understanding of the tools
purpose.
There must be a common vision of the systems
development environment in which the tools will be used.
Finally, know your organization and its needs.
Identify the infra structure and in particular, the level of
discipline in the information technology department.
Is your selection of a CASE tool compatible with the
personalities, and expertise of the individuals who will be
using it?
If these three areas are taken into consideration the tools
is sure to be a success and offer all the benefits outlined
above to your development project.
Upper (Front-End) CASE Tools




During the initial stages of the system development,
analysts are required to determine system requirements,
and analyze this information to design the most effective
system possible.
To complete this task, an analyst will use data flow
diagrams, data dictionaries, process specifications,
documentation and structure charts.
When completing these tasks manually, it becomes very
tedious to have to redraw the diagrams each time a
change is made to the system.
Computerized CASE tools allows for these types of
changes to be made very quickly and accurately.







However, using the old methods, a bigger problem arises when
changes need to be made to the system - a change to one diagram
may require many changes to occur throughout all the
documentation.
For a very large system, it is very easy to forget to make the
changes in all documentation, leading to an erroneous
representation of the system which could lead to problems during
the implementation phase.
By using CASE tool's analysis feature, information shared
throughout the flowcharts and documentation can be checked
against each other to ensure that they match.
CASE tools are also a very helpful tool to use during the design
phase of the system development.
CASE provides tools to help develop prototype screens, reports and
interfaces.
These prototypes can then be check and approved by the users and
management very quickly.
This avoids the problem of having to redesign the interfaces during
the implementation phase, that users do not like or do not complete
the task they are suppose to handle.
Lower (Back-End) CASE Tools





Lower CASE tools are most often used to help with the
generation of the program code.
Forth generation programming languages and code
generators measurably reduce the time and cost needed
to produce the code necessary to run the system.
Code generators also produce a high quality of code that
is easy to maintain and that is portable (i.e. is easily
transferable to other hardware platforms).
Forth generation program code is also much easier to
test.
Since forth generation code tends to focus on the logic of
the program, there are much fewer lines of code for the
programmer to examine and test.

Fewer lines also aids in the maintenance of the program
since fewer lines need to be examined, and only the
higher level forth generation code will need to be
changed, not the lower level third generation code.
 Code generators also have the feature that they are able
to interact with the upper CASE tools.
 Information that was stored from the upper CASE tools
can be accessed using the code generators to aid in the
development of the code.
 Code generators also allow for specialized code to be
inserted into the generated program code.
 This allows special features to be designed and
implemented into the program.
Credits
http://educ.queensu.ca/~compsci/units/casetools.html#SEL
Download