Stepwise refinement
Cost-benefit analysis
Software metrics
2. CASE tools
IanSommerville2004
SoftwareEngineering,7thedition.Chapter8Slide1
SoftwareEngineering,7thedition.Chapter8Slide2
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
Development information is centralized
IanSommerville2004
SoftwareEngineering,7thedition.Chapter8Slide3
CASE Tools
Benefits
Reduction of time and effort
Tasks are much faster to complete and alter
Enhance reuse of models or models
components
Can reduce maintenance costs
IanSommerville2004
SoftwareEngineering,7thedition.Chapter8Slide4
CASE Tools
Problems
Limitations in flexibility of documentation
Major danger: completeness and syntactic
correctness does NOT mean compliance
with requirements
Costs associated with the use of the tool
Purchase price
Training
IanSommerville2004
SoftwareEngineering,7thedition.Chapter8Slide5
Tools
Workbenches
Environments
IanSommerville2004
SoftwareEngineering,7thedition.Chapter8Slide6
Tools
IanSommerville2004
SoftwareEngineering,7thedition.Chapter8Slide7
CASE Tools
IanSommerville2004
SoftwareEngineering,7thedition.Chapter8Slide8
Workbenches
Commercial examples:
PowerBuilder
Software Through Pictures
Software Architect
IanSommerville2004
SoftwareEngineering,7thedition.Chapter8Slide9
Environments
IanSommerville2004
SoftwareEngineering,7thedition.Chapter8Slide10
IanSommerville2004
SoftwareEngineering,7thedition.Chapter8Slide11
Components of CASE
Design
Generator
Analysis
tool
Drawing
Tool
Code
Generator
CASE
repository
Document
Generator
Prototyping
Tool
Error-checking
tool
Security and
Version Control
IanSommerville2004
Database
Generator
Screen and
Report Generator
SoftwareEngineering,7thedition.Chapter8Slide12
Components of CASE
CASE repository
Central component of any CASE tool
Also known as the information repository or
data dictionary
IanSommerville2004
SoftwareEngineering,7thedition.Chapter8Slide13
Components of CASE
CASE repository
Centralized database
Allows easy sharing of information between
tools and SDLC activities
Used to store graphical diagrams and
prototype forms and reports during analysis
and design workflows
Provides wealth of information to project
manager and allows control over project
Facilitates reusability
IanSommerville2004
SoftwareEngineering,7thedition.Chapter8Slide14
Components of CASE
Data dictionary
Used to manage and control access to information
repository
Facilities for recording, storing and processing
resources
Useful for cross-referencing
IanSommerville2004
SoftwareEngineering,7thedition.Chapter8Slide15
Components of CASE
Diagramming tools
Allow you to represent a system and its
components visually
Allows higher level processes to be
easily decomposed
Can examine processes or data models
at high or low level
IanSommerville2004
SoftwareEngineering,7thedition.Chapter8Slide16
Components of CASE
IanSommerville2004
SoftwareEngineering,7thedition.Chapter8Slide17
Components of CASE
Analysis tools
IanSommerville2004
SoftwareEngineering,7thedition.Chapter8Slide18
Components of CASE
IanSommerville2004
SoftwareEngineering,7thedition.Chapter8Slide19
CASE workbenches
IanSommerville2004
SoftwareEngineering,7thedition.Chapter8Slide20
Structur
ed
diagramming
tools
Report
generation
facilities
Code
generator
Central
information
repository
Query
language
facilities
Forms
creation
tools
Design, anal
ysis
and checking
tools
Import/export
facilities
IanSommerville2004
SoftwareEngineering,7thedition.Chapter8Slide21
Diagram editors
Model analysis and checking tools
Repository and associated query language
Data dictionary
Report definition and generation tools
Forms definition tools
Import/export translators
Code generation tools
IanSommerville2004
SoftwareEngineering,7thedition.Chapter8Slide22
Computer-aided software
engineering
IanSommerville2004
SoftwareEngineering,7thedition.Chapter8Slide23
Case technology
IanSommerville2004
SoftwareEngineering,7thedition.Chapter8Slide24
CASE classification
Process perspective
Integration perspective
IanSommerville2004
SoftwareEngineering,7thedition.Chapter8Slide25
Examples
Planning tools
Editing tools
Prototyping tools
Method-support tools
Language-processing tools
Compilers, interpreters
Testing tools
Debugging tools
Documentation tools
Re-engineering tools
IanSommerville2004
SoftwareEngineering,7thedition.Chapter8Slide26
Specifi cation
IanSommerville2004
Design
Implementation
Verifi cation
and
Validation
SoftwareEngineering,7thedition.Chapter8Slide27
CASE integration
Tools
Workbenches
Environments
IanSommerville2004
SoftwareEngineering,7thedition.Chapter8Slide28
Workbenches
Tools
Editors
Compilers
File
comparators
Analysis and
design
Multi-method
workbenches
IanSommerville2004
Integrated
environments
Programming
Single-method
workbenches
Environments
Process-centr
ed
environments
Testing
General-purpose
workbenches
Language-specifi c
workbenches
SoftwareEngineering,7thedition.Chapter8Slide29