2. Computer-Aided Software Engineering: CASE tools
Used to support or automate activities throughout the systems
development life cycle (SDLC)
A CASE repository is a system developers’ database.
It is a place where developers can store system models, detailed
descriptions and specifications, and other products of system
development..
INFORMATION TECHNOLOGY MSC PROGRAM S/E 2
3. Computer-Aided Software Engineering: CASE tools
Forward engineering requires the systems analyst to draw system
models, either from scratch or from templates. The resulting models
are subsequently transformed into program code.
Reverse engineering allows a CASE tool to read existing program
code and transform that code into a representative system model that
can be edited and refined by the systems analyst.
INFORMATION TECHNOLOGY MSC PROGRAM S/E 3
4. Objective of CASE tools
Improve quality of systems to be developed
Increase speed of development and design
Ease and improve testing process through automated checking
Improve integration of development activities via common
methodologies
INFORMATION TECHNOLOGY MSC PROGRAM S/E 4
5. Objective of CASE tools
Improve quality and completeness of documentation
Help standardize the development process
Improve project management
Promote reusability and Improve software portability
Increase productivity and Improve overall quality of systems
INFORMATION TECHNOLOGY MSC PROGRAM S/E 5
6. Components of CASE tools
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 systems
development life cycle
Lower CASE:CASE tools designed to support the implementation
and maintenance phases of the systems development life cycle
INFORMATION TECHNOLOGY MSC PROGRAM S/E 6
7. Components of CASE tools
Cross life-cycle CASE:CASE tools designed to support activities
that occur across multiple phases of the systems development life
cycle
Most CASE tools utilize a repository to store all diagrams, forms,
models and report definitions
INFORMATION TECHNOLOGY MSC PROGRAM S/E 7
9. CASE versus Traditional Systems Development
Traditional Systems Development
Traditional approach does not offer support for integration of
specification documents
Often, documentation is done after coding is completed in
traditional systems development
Traditional approach often leads to out- of-date documentation
Paper-based specifications, Manual coding of programs
Manual documenting, Intensive software testing
INFORMATION TECHNOLOGY MSC PROGRAM S/E 9
10. CASE versus Traditional Systems Development
CASE-Based Systems Development
Emphasis on analysis and design
Rapid interactive prototyping
Automated code generation,
Automated documentation generation
Automated design checking,
Maintain design specifications
INFORMATION TECHNOLOGY MSC PROGRAM S/E 10
11. Types of CASE tools
Diagramming tools
Computer display and report generators
Analysis tools used to check for incomplete, inconsistent or
incorrect specifications
A central repository
Documentation generators
Code generators
INFORMATION TECHNOLOGY MSC PROGRAM S/E 11
12. CASE diagraming and prototyping tools
Enable representation of a system and components visually
Effective for representing process flows,
data structures and program structures
Types
Data Flow Diagrams (DFD) e.g pencil
Functional Hierarchy Diagrams
Entity-Relationship Diagrams
e.g visual paradigm, ArgoUML
INFORMATION TECHNOLOGY MSC PROGRAM S/E 12
13. CASE Form ,document and Report generator tools
CASE tools that support the creation of system forms and reports in
order to prototype how systems will look and feel to users
Two Purposes
Create, modify and test prototypes of computer display forms and
reports
Identify which data items to display or collect for each form or
report
E.g. Portus, DrExplain
INFORMATION TECHNOLOGY MSC PROGRAM S/E 13
14. CASE Analysis tools
Enable automatic checking for incomplete, inconsistent or incorrect
specifications in diagrams, forms and reports.
Types of analyses vary depending on the organization’s
development methodology and features of CASE environment
e.g spreadsheet
INFORMATION TECHNOLOGY MSC PROGRAM S/E 14
15. CASE code generation and visual development tools
Enable the automatic generation of program and database
definition code directly from the design documents, diagrams,
forms and reports stored in the repository
E.g. visual studio, NetBeans
INFORMATION TECHNOLOGY MSC PROGRAM S/E 15
16. CASE quality assurance tools
Quality assurance in a software organization is monitoring the
engineering process and methods adopted to develop the software
product in order to ensure conformance of quality as per organization
standards.
Examples
JMeter
INFORMATION TECHNOLOGY MSC PROGRAM S/E 16
17. CASE maintenance tools
Software maintenance includes modifications in the software
product after it is delivered.
Examples
Bugzilla for defect tracking.
INFORMATION TECHNOLOGY MSC PROGRAM S/E 17
18. CASE tools limitations
May be difficult to customize/complex
Requires training of maintenance staff
May be difficult to use with existing systems
It is costly if it is proprietary tool.
Good quality CASE tools are very expensive.
INFORMATION TECHNOLOGY MSC PROGRAM S/E 18