Post on 19-Oct-2014
description
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
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].
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.
Purpose of CASE is to facilitate a single design philosophy within an organization.
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
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.
Tool classification
Specification Design Implementation Verificationand
Validation
Re-engineering tools
Testing tools
Debugging tools
Program analysis tools
Language-processingtools
Method support tools
Prototyping tools
Configurationmanagement tools
Change management tools
Documentation tools
Editing tools
Planning tools
Functional perspective
Process perspective
CASE integration• Tools
– Support individual process tasks such as design consistency checking, text editing, etc.
• Workbenches– Support a process
phase such as specification or design, Normally include a number of integrated tools.
• Environments– Support all or a
substantial part of an entire software process. Normally include several integrated workbenches.
Single-methodworkbenches
General-purposeworkbenches
Multi-methodworkbenches
Language-specificworkbenches
Programming TestingAnalysis and
design
Integratedenvironments
Process-centredenvironments
Filecomparators
CompilersEditors
EnvironmentsWorkbenchesTools
CASEtechnology
Taxonomy of CASE Tools
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
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
Forces For and Against CASE Adoption
• Driving forces:– Short development
time– Improved productivity– Improved system
quality– Improved worker skills– Improved portability– Improved
management
• Resisting forces:– High purchase cost– High training cost– Low organizational
confidence in IS department (time & budget)
– Lack of standards– Perceived threat to job
security
Types of Case Tools used
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
When are tools used
When are tools used
• Tools are used throughout the system development phase.
Building Blocks for CASE
18
Environment Architecture
Portability Services
Operating System
Hardware Platform
CASE Tools
Integration Framework
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
CASE Building Blocks - 2
• Operating system– database and object management services
• Hardware platform
• Environmental architecture– hardware and system support
20
A Taxonomy of CASE Tools
21
business systems planning
project management
support
analysis and design
integration &testing
re–engineering
prototyping/simulation tools
CASE
Database
programming
framework
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
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
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
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
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
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
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
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
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
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
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
Types of CASE TOOLS
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.
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.
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.
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.
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/examples.html
• What the tool does: Cope is a program that converts decision tables to Cobol source statements
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
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.
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.
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.
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.
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.
UML Tools for Reverse Engineering
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
Candidate ToolsTool URL License
Operating systems
Supported languages
AmaterasUML Eclipse plugin
1.2.2 http://amateras.source.jp free
Microsoft Windows Linux
Mac OS X Java
ArgoUML 0.24 http://argouml.tigris.org free
Microsoft Windows
Linux Mac OS X
Java
IBM Rational Software
Architect 7.0
http://www-306.ibm.com/software/ awdtools/architect/swarchitect/index.
html comm
Microsoft Windows
Linux Java
JGrasp 1.8.6 http://www.jgrasp.org/ free Microsoft Windows Mac OS X
Java
Microsoft Visio 2007
http://office.microsoft.com/en-us/visio/default.aspx
comm Microsoft Windows
C++ C#
Visual Basic
NetBeans 5.5 http://www.netbeans.org/ free
Microsoft Windows Linux
Mac OS X Solaris
Java
StarUML 5.0 http://staruml.sourceforge.net/en free Microsoft Windows
Java C++ C#
VisualParadigm for UML 6.0
Enterprise Edition
http://www.visual-paradigm.com comm Microsoft Windows
Java C++ Ada PHP
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
With Class
• Design objects - identifying attributes and operations
• Specifying relationships
• Diagramming for various methodologies
• Code generation for various languages
49
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
Oracle Designer/2000
• Repository Administration
• Process Modeler
• Entity Relationship Diagrammer
• Function Hierarchy Diagrammer
• Dataflow Diagrammer
• System Designer
• Utilities
51
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
An Analysis and Design Workbench
Programming workbenches
• Language compiler
• Structured editor
• Linker
• Loader
• Cross-referencer
• Prettyprinter
• Static & Dynamic analyser
• Interactive debugger
54
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
55
Testing workbenches
• Test manager
• Test data generator
• Oracle - generates predicted results
• File comparator
• Report generator
• Dynamic analyser
• Simulator
56