Professional Documents
Culture Documents
Main issues:
why maintenance is such an issue
reverse engineering and its limitations
how to organize maintenance
Hardware
Development
60
Software
20
1955
Maintenance
1970
Year
1985
Point to ponder #1
corrective 21%
perfective 50%
adaptive 25%
preventive 4%
10
Unstructured code
Insufficient domain knowledge
Insufficient documentation
11
Reverse engineering
12
Reverse engineering
13
Restructuring
14
Reengineering (renovation)
15
Refactoring in case of
bad smells
Long method
Large class
Primitive obsession
Data clumps
Switch statements
Lazy class
Duplicate code
Feature envy
Inappropriate intimacy
16
17
Program comprehension
18
19
20
21
22
Organization of maintenance
23
24
25
26
Service gaps
27
28
Maintenance control
Configuration control:
Identify, classify change requests
Analyze change requests
Implement changes
29
Frequent failures
Overly complex structure
Running in emulation mode
Very large components
Excessive resource requirements
Deficient documentation
High personnel turnover
Different technologies in one system
SE, Maintenance, Hans van Vliet, 2008
30
SUMMARY
Unstructured code
Insufficient knowledge about system and domain
Insufficient documentation
Bad image of maintenance department
31