CASE (Computer Aided Software Engineering)
A CASE tool is a product that assists in all phases of the System Development Life Cycle
Connect Partnership use of CASE Tools
The Connect Partnership utilises the Oracle Designer suite to design, develop and
maintain a range of bespoke applications.
Advantages of CASE
Utilising CASE tools in the System Development Life Cycle (SLDC) provides a number
CASE tools provide modelling and development tools which allow the users to follow
certain design methodologies. For example, the Oracle Designer suite allows users to
follow the System Development Life Cycle (SLDC) Methodology along with the
Structured Systems Analysis and Design Methodology (SSADM) more iterative
methodologies such as prototyping. It does this by providing modelling tools for the
creation of Process Models, Functional Hierarchy Diagrams, Data-Flow Diagrams and
Entity-Relationship Diagrams. Following this, Oracle Designer can transform a logical
entity model into a physical model which can be generated into a database application.
Oracle Designer contains tools for coding stored procedures, and also has the
functionality to generate a Graphical User Interface (GUI) utilising Oracle Forms and
Oracle Designer provides a centralised repository in which all work is stored that may be
accessed by a number of people. This allows designers/developers to work
simultaneously on the same application with all of the work being immediately available
to others. Another advantage of this is that all of the design details and development
code is in one place which reduces the possibility of source code being missed when
collating for a software release and also makes tasks such as backups easier.
The repository that holds all of the information for the CASE tool provides a vast amount
of system documentation. This ranges from the system design which may be represented
by a number of models (Entity-Relationship, Process Model, Data Flow, etc) through to
comments that are stored in the application on varying objects such as tables, views, and
As this documentation is stored and linked to the application in the repository, it is also
easier to ensure that it is kept up to date. For example, if an application is being amended
that requires new tables to be added, this can be done in a modelling tool and then
transformed through to the application development tools, and finally generated into the
Oracle Designer also allows a number of useful reports to be generated from the
As development work is being conducted in the same repository utilising a standard tool
set, it is easier to enforce development standards. The Design Editor in the Oracle
Designer suite provides the functionality to develop all database stored procedural code.
In doing so, it provides a structure for breaking this code into modules containing
packages, procedures, functions, cursors and triggers. It also provides more
standardisation of table and view creation as well as activities such as allocating
tablespaces to tables and indexes, creating synonyms and granting access to users/roles.
PL/SQL is stored in a modularised form and grouped whether it is a function, procedure,
cursor or trigger. These individual modules are then included in other PL/SQL modules
(e.g. packages) as sub-program units. When these modules are generated out of the
repository, all underlying sub-programs are included to make up that module’s source
code. The modularised PL/SQL unit may be included as a sub-program unit in multiple
A significant amount of time and effort can be saved by using Case tools during the
SLDC. Case tools allow you to take a system’s design, which is integrated through
modelling and other design tools, and to transform it into a physical application (tables,
foreign keys, etc) in a development tool. This saves time and effort required and also
reduces the risk of error.
As PL/SQL source code is stored in a modularised form in the repository, if a piece of
code (e.g. function or cursor) is being used in more than one package, the code only has
to be modified in one place. All packages that include the modified unit may then simply
be re-generated and applied to the database.
Having all of the design/development information stored in a centralised repository
utilised by a CASE tool allows for more efficient maintenance of systems. All of the
design models are readily available for update, all changes made to the design can be
transformed through to the application in the development tool which reduces the chances
of error, table changes can be generated against the database so that only the changes are
included in the generated script, and all source code is easily located and modularised so
it is easy to change a module and re-generate the changes back into the application.