1. CASE tools
• CASE tools stand for Computer Aided Software
Engineering tools.
• As the name implies they are computer based
programs to increase the productivity of analysts
2. CASE tools
• Computer-aided software engineering
(CASE)
– Software to support software development and
evolution processes [Sommerville].
– Automated software tool used by systems analysts to
develop information systems [Hoffer et al].
3. CASE tools
• They permit effective communication with users
as well as other members of the development
team.
• They integrate the development done during each
phase of a system life cycle and also assist in
correctly assessing the effects and cost of
changes so that maintenance cost can be
estimated.
4. Purpose of CASE is
to facilitate a single
design philosophy
within an
organization.
5. The Outlook for CASE
• Functionality is increasing
• Cost is decreasing
• Extend life of existing systems
• Reverse Engineering Tools
– Automated tools that read program source code as
input and create graphical and textual representations
of program design-level information
• Reengineering Tools
– Automated software that reads program source code,
analyzes it and automatically or interactively alters an
existing system to improve quality and/or performance
6. CASE tools
• CASE Classification [Sommerville]
– Functional perspective
• Tools are classified according to their specific
function.
– Process perspective
• Tools are classified according to process
activities that are supported.
– Integration perspective
• Tools are classified according to their
organisation into integrated units.
7. Functional
Tool classification
perspective
Re-eng ineering tools
Testing tools
Debugg ing tools
Prog ram analy sis tools
Language-processing
tools
Method suppor t tools
Prototy ping tools
Configuration
m anagem ent tools
Change m anagem ent tools
Docum entation tools
Editing tools
Planning tools
Process perspective Specification Design Im plem entation Verification
and
V alidation
8. CASE integration
• Tools
– Support individual CASE
process tasks such technolo g y
as design
consistency
checking, text
editing, etc. Wor kbenches Environments
Tools
• Workbenches
– Support a process
phase such as
specification or File Integ rated Process-centr ed
Editors Compilers
design, Normally compar ators en vironments en vironments
include a number
of integrated tools.
• Environments
Analy sis and
– Support all or a Pro gramming T
esting
design
substantial part of
an entire software
process. Normally
include several Multi-method Single-method General-purpose Langua ge-specific
integrated workbenches workbenches workbenches workbenches
workbenches.
10. Components of CASE
• Upper CASE
– CASE tools designed to support the information
planning and the project identification and selection,
project initiation and planning, analysis and design
phases of the SDLC
• Lower CASE
– CASE tools designed to support the implementation
and maintenance phases of the SDLC
11. Components of CASE
• Cross life-cycle CASE
– CASE tools designed to support activities that occur
across multiple phases of the SDLC
• Integrated CASE (I-CASE)
– Automated systems development environment that
provides numerous tools to create diagrams, forms and
reports, and code generation facilities, by using the
central repository
12.
13. Forces For and Against
CASE Adoption
• Resisting forces:
• Driving forces: – High purchase cost
– Short development – High training cost
time
– Low organizational
– Improved productivity
confidence in IS
– Improved system department (time &
quality budget)
– Improved worker skills – Lack of standards
– Improved portability – Perceived threat to job
– Improved security
management
15. Following types of tools are
available:
• System requirements specification documentation tool
• Data flow diagramming tool
• System flow chart generation tool
• Data dictionary creation
• Formatting and checking structured English process logic
• Decision table checking
• Screen design for data inputting
• Form design for outputs.
• E-R diagramming
• Data base normalization given the dependency
information
17. When are tools used
• Tools are used throughout the system
development phase.
18. Building Blocks for CASE
CASE Tools
Integration Framework
Portability Services
Operating System
Hardware Platform
Environment Architecture
18
19. CASE Building Blocks - 1
• CASE tools
• Integration framework
– specialized programs allowing CASE tools to
communicate with one another
• Portability services
– allow CASE tools and their integration framework to
migrate across different operating systems and
hardware platforms without significant adaptive
maintenance
19
20. CASE Building Blocks - 2
• Operating system
– database and object management services
• Hardware platform
• Environmental architecture
– hardware and system support
20
21. A Taxonomy of CASE Tools
business systems planning
project management
support
CASE
analysis and design
Database
programming
integration &testing
prototyping/simulation tools
re–engineering
framework
21
22. CASE Tool Taxonomy - 1
• Business process engineering tools
– represent business data objects, their relationships, and
flow of the data objects between company business areas
• Process modeling and management tools
– represent key elements of processes and provide links to
other tools that provide support to defined process
activities
• Project planning tools
– used for cost and effort estimation, and project scheduling
22
23. CASE Tool Taxonomy - 2
• Risk analysis tools
– help project managers build risk tables by providing
detailed guidance in the identification and analysis of
risks
• Requirements tracing tools
– provide systematic database-like approach to tracking
requirement status beginning with specification
23
24. CASE Tool Taxonomy - 3
• Metrics and management tools
– management oriented tools capture project specific
metrics that provide an overall indication of productivity or
quality, technically oriented metrics determine metrics that
provide greater insight into the quality of design or code
• Documentation tools
– provide opportunities for improved productivity by
reducing the amount of time needed to produce work
products
24
25. CASE Tool Taxonomy - 4
• System software tools
– network system software, object management services,
distributed component support, and communications
software
• Quality assurance tools
– metrics tools that audit source code to determine
compliance with language standards or tools that extract
metrics to project the quality of software being built
25
26. CASE Tool Taxonomy - 5
• Database management tools
– RDMS and OODMS serve as the foundation for the
establishment of the CASE repository
• Software configuration management tools
– uses the CASE repository to assist with all SCM tasks
(identification, version control, change control, auditing,
status accounting)
• Analysis and design tools
– enable the software engineer to create analysis and
design models of the system to be built, perform
consistency checking between models
26
27. CASE Tool Taxonomy - 6
• PRO/SIM tools
– prototyping and simulation tools provide software
engineers with ability to predict the behavior of real-time
systems before they are built and the creation of interface
mockups for customer review
• Interface design and development tools
– toolkits of interface components, often part environment
with a GUI to allow rapid prototyping of user interface
designs
27
28. CASE Tool Taxonomy - 7
• Prototyping tools
– enable rapid definition of screen layouts, data
design, and report generation
• Programming tools
– compilers, editors, debuggers, OO programming
environments, fourth generation languages,
graphical programming environments, applications
generators, and database query generators
• Web development tools
– assist with the generation of web page text,
graphics, forms, scripts, applets, etc.
28
29. CASE Tool Taxonomy - 8
• Integration and testing tools
– Data acquisition
• get data for testing
– static measurement
• analyze source code without using test cases
– dynamic measurement
• analyze source code during execution
– Simulation
• simulate function of hardware and other externals)
– test management
– cross-functional tools
29
30. CASE Tool Taxonomy - 9
• Static analysis tools
– code-based testing tools, specialized testing
languages, requirements-based testing tools
• Dynamic analysis tools
– intrusive tools modify source code by inserting
probes to check path coverage, assertions, or
execution flow, non-intrusive tools use a separate
hardware processor running in parallel with
processor containing the program being tested
30
31. CASE Tool Taxonomy - 10
• Test management tools
– coordinate regression testing, compare actual
and expected output, conduct batch testing, and
serve as generic test drivers
• Client/server testing tools
– exercise the GUI and network communications
requirements for the client and server
31
32. CASE Tool Taxonomy - 11
• Reengineering tools
– reverse engineering to specification tools
• generate analysis and design models from source
code, where used lists, and other design
information
– code restructuring and analysis tools
• analyze program syntax, generate control flow
graph, and automatically generates a structured
program
– on-line system reengineering tools
• used to modify on-line DBMS
32
34. SYSTEM FLOWCHART AND ER-DIAGRAM
GENERATION TOOL
• Name of the tool: SMARTDRAW
• URL: http://www.smartdraw.com.
• Requirements to use the tool: PC running
Windows 95, 98 or NT. The latest versions of
Internet Explorer or Netscape Navigator, and
about 20MB of free space.
35. SMARTDRAW
• What the tool does: Smartdraw is a perfect suite
for drawing all kinds of diagrams and charts:
Flowcharts, Organizational charts, Gantt charts,
Network diagrams, ER-diagrams etc.
36. DATA FLOW DIAGRAM TOOL
• Name of the tool: IBMS/DFD
• URL: http://viu.eng.rpi.edu
• Requirements to use the tool: The following
installation instructions assume that the user uses
a PC running Windows 95, 98 or NT. Additionally,
the instructions assume the use of the latest
versions of Internet Explorer or Netscape
Navigator.
37. Name of the tool: IBMS/DFD
• What the tool does: The tool helps the users draw
a standard data flow diagram (a
• process-oriented model of information systems)
for systems analysis.
38. TOOL TO CONVERT DECISION TABLE TO
STRUCTURED ENGLISH
• Name of the tool: COPE
• URL: This is a free tool and should be worked
online at
• http://www.cs.adelaide.edeu.au/users/dwyer/exam
ples.html
• What the tool does: Cope is a program that
converts decision tables to Cobol source
statements
39. IV. SYSTEM REQUIREMENTS
SPECIFICATION DOCUMENTATION TOOL
• Name of the tool: ARM
• URL: The tool can be downloaded without cost at
• http://sw-assurance.gsfc.nasa.gov/disciplines/quality/index.php
40. ARM
• What the tool does: ARM or Automated Requirement
Measurement tool aids in writing the System
Requirements Specifications right.
• The user writes the SRS in a text file, the ARM tool
scans this file that contains the requirement
specifications and gives a report file with the same
prefix name as the user’s source file and adds an
extension of “.arm”.
• This report file contains a category called
INCOMPLETE that indicate the words and phrases
that are not fully developed.
41. ARM
• Requirements to use the tool : PC running
Windows 95, 98 or NT. The latest versions of
Internet Explorer or Netscape Navigator, and
about 8MB of free space.
42. A TOOL FOR SCREEN DESIGN AND
DATA INPUTTING
• Name of the tool: Visual Basic
• URL:http://www.microsoft.com/downloads/details.
aspx?FamilyID=bf9a24f9-b5c5-
48f4-8edd-cdf2d29a79d5&displaylang=en
• What the tool does: This tool is used to create the
graphical user interface (GUI) to describe the
appearance and location of interface elements,
you simply add prebuilt objects into place on
screen.
43. A TOOL FOR DESIGNING AND MANIPULATING
DECISION TABLES
• Name of the tool: Prologa V.5
• URL: http://www.econ.kuleuven.ac.be/prologa
• What the tool does: The purpose of the tool is to
allow the decision maker to construct and
manipulate (systems of) decision tables.
44. Prologa V.5
• In this construction process, the features available
are automatic table contraction, automatic table
optimization, (automatic) decomposition and
composition of tables, verification and validation of
tables and between tables, visual development, and
rule based specification.
46. Evaluation of Reverse Engineering
Capabilities
• Basic reverse engineering steps (in
general)
– Decompilation of executables to get
the source code
– Analysis of software components to
produce the models
• Evaluation of CASE tools capable of
source code analysis
– Analysis of application Bank,
described in Rational Application
Developer V6 Programming Guide,
available at
ftp://www.redbooks.ibm.com/redbooks/SG246449
/6449code.zip
47. Candidate Tools
Operating Supported
Tool URL License
systems languages
AmaterasUML Microsoft
Eclipse plugin http://amateras.source.jp free Windows Linux Java
1.2.2 Mac OS X
Microsoft
Windows
ArgoUML 0.24 http://argouml.tigris.org free Java
Linux
Mac OS X
IBM Rational http://www-306.ibm.com/software/ Microsoft
Software awdtools/architect/swarchitect/index. comm Windows Java
Architect 7.0 html Linux
Microsoft
JGrasp 1.8.6 http://www.jgrasp.org/ free Windows Java
Mac OS X
C++
Microsoft Visio http://office.microsoft.com/en- Microsoft
comm C#
2007 us/visio/default.aspx Windows
Visual Basic
Microsoft
Windows Linux
NetBeans 5.5 http://www.netbeans.org/ free Java
Mac OS X
Solaris
Java
Microsoft
StarUML 5.0 http://staruml.sourceforge.net/en free C++
Windows
C#
VisualParadigm Java
for UML 6.0 Microsoft C++
http://www.visual-paradigm.com comm
Enterprise Windows Ada
Edition PHP
48. Examples of CASE Tools
• With Class - object-oriented design and code
generation
• Eiffelbench - object-oriented programming and
debugging
• Oracle Designer/2000 - integrated CASE
environment
48
49. With Class
• Design objects - identifying attributes and
operations
• Specifying relationships
• Diagramming for various methodologies
• Code generation for various languages
49
50. Eiffelbench
• Based on Eiffel language (an object-oriented
language)
• For development and debugging of program
• Consists of tools such as:
– Project Tool
– System Tool
– Class Tool
– Feature Tool
– Object Tool
50
51. Oracle Designer/2000
• Repository Administration
• Process Modeler
• Entity Relationship Diagrammer
• Function Hierarchy Diagrammer
• Dataflow Diagrammer
• System Designer
• Utilities
51
52. 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
52