Term
Lehan's Laws to Program Evolution |
|
Definition
- Continuing Change
- Increasing Complexity
- Large program evolution
- Organizational stability
- Conservation of familiarity
- Continuing growth
- Declining quality
- Feedback system
|
|
|
Term
The three different type of software maintenance |
|
Definition
- Maintenance to repair software faults
- Maintenance to adapt the software to a dfferent operating environment
- Maintenance to add to or modify the system's functionality
|
|
|
Term
Key factors that distinguish development and maintenance, and which lead to higher maintenance costs |
|
Definition
- Team stability
- Contractual responsibility
- Staff skills
- Program age and structure
|
|
|
Term
Maintenance predictions that are closely related |
|
Definition
- Whether a system change should be accepted depends, on the maintainability of the system components affected by that change
- Implementing system changes tends to degrade the system structure and hence reduce its maintainability
- Maintenance costs depend on the number of changes, and the costs of change implementation depend on the maintainability of system components
|
|
|
Term
Examples of process metrics that can be used for assessing maintainability |
|
Definition
- Number of requests for corrective maintainence
- Average time required for impact analysis
- Average time taken to implement a change request
- Number of outstanding change requests
|
|
|
Term
|
Definition
- Change requests
- Impact analysis
- Release planning
- Fault repair
- Platform adaptation
- System enhancement
- Change implementation
- System release
|
|
|
Term
Urgent changes can arise for three reasons |
|
Definition
- If a serious system fault occurs that has to be repaires to allow normal operation to continue
- If changes to the sysm's operating environment have unexpected effects that disrupt normal operation
- If there are anticipated changes to the businss running the system, such as the emergence of new compeitiors or the introduction of new legislation.
|
|
|
Term
Two key advantages system re-engineering has over more radical approaches to system evolution. |
|
Definition
- Reduced risk
- Reduced cost
|
|
|
Term
The activities in the re-engineering process |
|
Definition
- Source code translation
- Reverse engineering
- Program structure improvement
- Program modularization
- Data re-engineering
|
|
|
Term
The principle factors that affect re-engineering costs |
|
Definition
- The quality of the software to be re-engineered
- The tool support available for re-engineering
- The extent of data conversion required
- The availability of expert sstaff
|
|
|
Term
Four strategic options for legacy system evolution |
|
Definition
- Scrap the system completely
- Leave the system unchanged and continue with regular maintenance
- Re-engineer the system to improve its maintainability
- Replace all or part of the system with a new system
|
|
|
Term
The four clusters of legacy systems |
|
Definition
- Low quality, low business
- Low quality, high business value
- High quality, low business value
- High quality, high business value
|
|
|
Term
The four basic issues to discuss when assessing the value of a system |
|
Definition
- The use of the system
- The business processes that are supported
- The system dependability
- The system outputs
|
|
|
Term
Factors to consider in the environment assessment of legacy systems |
|
Definition
- Supplier stability
- Failure rate
- Age
- Performance
- Support requirements
- Maintenance costs
- Interoperability
|
|
|
Term
Factors to considers to assess the technical quality of a system |
|
Definition
- Understandability
- Documentation
- Data
- Performance
- Programming language
- Configuration management
- Test data
- Personnel skills
|
|
|
Term
Examples of quantitive data that might be collected while assessing legacy systems |
|
Definition
- The number of system change requests
- The number of user interfaces
- The volume of data used by the system
|
|
|