You are on page 1of 30

Computer-Aided

Software Engineering

Automating the process ...

PSE 101 Software Engineering


Concepts and Methodology

Lecture Objectives
To understand the role of automation
in the software engineering process
To describe the different types of
CASE tools
To discuss the importance of
integration among the different CASE
tools
PSE 101 Software Engineering
Concepts and Methodology

Computer Aided Software


Engineering
What is a CASE Environment?
CASE is the use of computer-based
support in the software development
process.

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.
PSE 101 Software Engineering
Concepts and Methodology

Goal of using CASE


tools
Supply basic functionality, do routine tasks
automatically
Be able to support editing of code in the particular
programming language, supply refactoring tools

Enhance productivity
Generate code pieces automatically

Increase software quality


Intuitive use
Integration with other tools
For example, code editor works with code repository
PSE 101 Software Engineering
Concepts and Methodology

What could be called a


CASE tool?

Project management software


System design tools
Code storage
Compilers
Translation tools
Test software

PSE 101 Software Engineering


Concepts and Methodology

But generally
Code generation tools (Visual Studio
.NET)
Code analysis (Borland Audits)
Development of data models (UML
editors)
Cleaning up code (refactoring tools)
Bug tracker
Version control (CVS, etc.)
PSE 101 Software Engineering
Concepts and Methodology

They Do ?
CASE tools do more than just output
code
Can be used to generate SE documents

Database schema
Data flow diagrams
Entity relationship diagrams
Program specifications
User documentation

PSE 101 Software Engineering


Concepts and Methodology

Upper and Lower CASE


Upper CASE: Tools for the analysis
and design phase of the software
development lifecycle (diagramming
tools, report and form generators,
analysis tools)
Lower CASE: Tools to support
implementation, testing,
configuration management
PSE 101 Software Engineering
Concepts and Methodology

What is CASE?
CAD/CAM - Computer-aided design &
manufacturing
Automated support for software
engineering process
Provides engineer with ability to
automate manual activities and improve
engineering insight and quality
Can be single tool or complete
environment
PSE 101 Software Engineering
Concepts and Methodology

Building Blocks for


CASE
CASE Tools
Integration Framework
Portability Services
Operating System
Hardware Platform
Environment Architecture
PSE 101 Software Engineering
Concepts and Methodology

10

Taxonomy of CASE
Tools
Business Systems Planning
Information Engineering Tools
Process Modeling and Management Tools

Project Management

Project Planning Tools


Risk Analysis Tools
Project Management Tools
Requirements Tracing Tools
Metrics and Management Tools

PSE 101 Software Engineering


Concepts and Methodology

11

Taxonomy of CASE
Tools (Continued)
Support Tools

Documentation Tools
System Software Tools
Quality Assurance Tools
Database Management Tools
Software Configuration Management Tools

Analysis and Design Tools


PRO/SIM Tools
Interface Design and Development Tools
Prototyping Tools
PSE 101 Software Engineering
Concepts and Methodology

12

Taxonomy of CASE
Tools (Continued)
Programming Tools

Integration and Testing Tools


Static Analysis Tools
Dynamic Analysis Tools
Test Management Tools
Client/Server Testing Tools

Maintenance Tools
Reengineering Tools
PSE 101 Software Engineering
Concepts and Methodology

13

Integration Options

Individual Tool (Point Solution)


Data Exchange
Tool Bridges & Partnerships
Consortium & Standards
Single Source
IPSE

PSE 101 Software Engineering


Concepts and Methodology

14

Integrated CASE (ICASE)


Integration of a variety of tools and
information that enables closure of
communication among tools,
between people and across the
software process
Combination of CASE tools in an
environment where interface
mechanisms are standardised
PSE 101 Software Engineering
Concepts and Methodology

15

I-CASE Features
All tools sharing SE information
Change of one item tracked to other
items
Provide version control and
configuration management
Direct access to any tool
Automated support for integration of
tools & data into standard WBS
PSE 101 Software Engineering
Concepts and Methodology

16

I-CASE Features
(Continued)

Consistent look & feel for each tool


Support communication among
engineers
Collect management & technical
metrics

PSE 101 Software Engineering


Concepts and Methodology

17

Benefits of I-CASE
Smooth transfer of information from a tool
to another and one SE step to the next
Reduction in effort to perform umbrella
activities such as SCM, SQA and
document production
increase in project control
Improved coordination among staff
members in a large software project
PSE 101 Software Engineering
Concepts and Methodology

18

Integration Framework
Diagram
User interface layer
- interface tool kit
- presentation protocol
Tools management services
CASE
Tools layer
tool
Object management layer
- integration services
- configuration management services
Shared repository layer
- CASE database
- access control functions

PSE 101 Software Engineering


Concepts and Methodology

19

Integration Framework
User interface layer
incorporates standardised interface toolkit
with common presentation protocol
human-computer interface, display objects,
guidelines for same look & feel

Tools layer
tools management - control behaviour of
tools
coordination of tasks, e.g. multitasking
PSE 101 Software Engineering
Concepts and Methodology

20

Integration Framework
(Continued)

Object management layer


configuration management functions
integration services - standard modules
that couple tools with repository

Shared repository layer


CASE database
access control functions - enable object
management layer interact with database
PSE 101 Software Engineering
Concepts and Methodology

21

Process Integration
carry out

support
CASE
Tools
calls

generate

Users

Activities

Process
Interpreter

Results
PSE 101 Software Engineering
Concepts and Methodology

advises

Process
model
22

CASE Workbenches
Set of tools which supports a particular
phase of the software process e.g. design
Advantage - tools can work together to
provide more comprehensive support
Common services can be implemented and
called by all the tools
Integration possible through shared files,
shared repository, or shared data structures
PSE 101 Software Engineering
Concepts and Methodology

23

Programming
workbenches

Language compiler
Structured editor
Linker
Loader
Cross-referencer
Prettyprinter
Static & Dynamic analyser
Interactive debugger

PSE 101 Software Engineering


Concepts and Methodology

24

Analysis and Design


Workbenches

Diagram editors
Design analysis and checking tools
Repository
Repository query language
Report definition and generation tools
Forms definition
Import/export facilities
Code generators

PSE 101 Software Engineering


Concepts and Methodology

25

Testing workbenches

Test manager
Test data generator
Oracle - generates predicted results
File comparator
Report generator
Dynamic analyser
Simulator

PSE 101 Software Engineering


Concepts and Methodology

26

Examples of CASE Tools


With Class - object-oriented design
and code generation
Eiffelbench - object-oriented
programming and debugging
Oracle Designer/2000 - integrated
CASE environment

PSE 101 Software Engineering


Concepts and Methodology

27

With Class
Design objects - identifying
attributes and operations
Specifying relationships
Diagramming for various
methodologies
Code generation for various
languages
PSE 101 Software Engineering
Concepts and Methodology

28

Eiffelbench
Based on Eiffel language (an objectoriented language)
For development and debugging of
program
Consists of tools such as:
Project Tool
System Tool
Class Tool
Feature Tool
Object Tool
PSE 101 Software Engineering
Concepts and Methodology

29

Oracle Designer/2000

Repository Administration
Process Modeler
Entity Relationship Diagrammer
Function Hierarchy Diagrammer
Dataflow Diagrammer
System Designer
Utilities

PSE 101 Software Engineering


Concepts and Methodology

30

You might also like