Software - Evolution Lecture 3
Software - Evolution Lecture 3
Evolution processes
Change processes for software systems
Program evolution dynamics
Understanding software evolution
Software maintenance
Making changes to operational software systems
Legacy system management
Making decisions about software change
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
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
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
3 Categories of CASE Tools
Tools
Workbenches
Environments
3 Categories of CASE Tools
Tools
Support individual process tasks
Examples:
• Checking the consistency of a design
• Compiling a program
• Comparing test results
CASE Tools
Workbenches
Collection of tools that together support:
• Process workflows (requirements, design, etc.)
• One or two activities where an activity is a related
collection of tasks
Commercial examples:
• PowerBuilder
• Software Through Pictures
• Software Architect
3 Categories of CASE Tools
Environments
Support the complete software process or, at
least, a large portion of the software process
Normally include several different workbenches
which are integrated in some way
Taxonomy of CASE Tools
Components of CASE
Design Analysis
Generator tool
Drawing Code
Tool Generator
Error-checking Prototyping
tool Tool
Screen and
Security and
Report Generator
Version Control
Components of CASE
CASE repository
Central component of any CASE tool
Also known as the information repository or
data dictionary
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
Components of CASE
Analysis tools
Generate reports that help identify possible
inconsistencies, redundancies and omissions
Generally focus on
• diagram completeness and consistency
• data structures and usage
Components of CASE
Structured Repor t
Data
diag ramming gener ation
dictionary
tools facilities
Centr al Query
Code
infor mation language
gener ator
repository facilities
Testing tools
Language-processing
tools
Prototyping tools
Configuration
management tools
Documentation tools
Editing tools
Planning tools
CASE
technolo g y
Analysis and
Pro gramming Testing
design