Software Engineering
BS CS 3rd
Computer Aided Software Engineering Tools
1 Hassan Raza Jaffri (MS-Information Security) 11/18/2024
Computer Aided Software Engineering
Tools
Computer aided software engineering (CASE) is the use of
computer-based support in the software development process.
CASE tools are software applications that help with the design, development,
and maintenance of software systems.
Introduction
• There are lots of automated tools to assist in software
engineering.
• Their purpose is to make the work of software development
and maintenance easier and more reliable.
• CASE is Computer Aided Software Engineering.
3 Hassan Raza Jaffri (MS-Information Security) 11/18/2024
What is CASE?
They can help with a variety of tasks, including:
• Modeling: CASE tools can help with modeling business processes.
• Diagramming: CASE tools can help create diagrams, such as state diagrams,
data flow diagrams, and entity relationship diagrams.
• Documenting: CASE tools can help document business processes and create
documentation.
• Code generation: CASE tools can help generate code.
• Analysis: CASE tools can help with analysis.
• Debugging: CASE tools can help with debugging.
• System testing: CASE tools can help with system testing.
4 Hassan Raza Jaffri (MS-Information Security) 11/18/2024
Why is CASE important?
CASE allows for rapid development of software because of
the increasing speed of changing market-demands new
products replace old ones much earlier than before, so the
development of new products has to go faster.
5 Hassan Raza Jaffri (MS-Information Security) 11/18/2024
What Is a CASE Tool?
A CASE tool is a computer-based product aimed at
supporting one or more software engineering
activities within a software development process
6 Hassan Raza Jaffri (MS-Information Security) 11/18/2024
CASE Tools
Benefits
Improve software quality
Enforce discipline
Help communication between development team members
Information is illustrated through diagrams that are typically
easier to understand
Reduction of time and effort
Tasks are much faster to complete and alter
Can reduce maintenance costs
7 Hassan Raza Jaffri (MS-Information Security) 11/18/2024
CASE Tools
Problems
Very complex
Not easily maintainable
Limitations in flexibility of documentation
Costs associated with the use of the tool
Purchase price
Training
8 Hassan Raza Jaffri (MS-Information Security) 11/18/2024
CASE Tools
Upper-CASE tools (front-end tools)
Assist developer during requirements, analysis, and design
workflows or activities
Lower-CASE tools (back-end tools)
Assist with implementation, testing, and maintenance
workflows or activities
Integrated CASE tools (I-CASE)
provide support for the full life cycle
9 Hassan Raza Jaffri (MS-Information Security) 11/18/2024
What Is a CASE Environment?
A CASE environment is a collection of CASE tools and other
components together with an integration approach that
supports most or all of the interactions that occur among the
environment components, and between the users of the
environment and the environment itself.
10 Hassan Raza Jaffri (MS-Information Security) 11/18/2024
A Typical CASE Environment
11 Hassan Raza Jaffri (MS-Information Security) 11/18/2024
Expectations About CASE
Current interest in CASE tools and environments is based on
expectations about productivity, savings, extensibility, and
similar features.
Current experiences, suggest that the technology of CASE tools
and environments is as yet insufficient to provide all of those
promised benefits.
In particular, as organizations begin to acquire collections of
CASE tools and wish to use them to support their software
development
12 Hassan Raza Jaffri (MS-Information Security) 11/18/2024
Problems
Inability to combine tools easily to cover the complete software development
life cycle
Misalignment and overlap of tools when they carry out similar services
Lack of well-defined procedures for moving data from one tool to another
Poor management visibility of the progress of tasks within a project and of the
intermediate states of artifacts produced by the tools,
No well-proven approaches to the introduction and adoption of collections of
tools, and
Significant system management and maintenance problems with the installation,
operation, and evolution of collections of tools due to the size and complexity
of many of the tools and their relative immaturity.
13 Hassan Raza Jaffri (MS-Information Security) 11/18/2024
Need for Tool Integration
The need is for a reasonable way to assemble sets of CASE tools to
minimize the above problems.
Case environment integration is seen by many people as the key
to doing this.
A "well-integrated" CASE environment suggests a set of tools and
components that are well matched in terms of functionality and
operating needs, consistent and uniform in terms of user
interaction styles, and interoperable in terms of data transfer and
synchronization of services.
An integrated CASE environment is one in which most or all of
these attributes can be found.
14 Hassan Raza Jaffri (MS-Information Security) 11/18/2024
Any
Question?
15 Hassan Raza Jaffri (MS-Information Security) 11/18/2024