GoConqr has a new look! Let us know what you think.

Mind map

Software Maintenance

Fakhri Anas English

Map content

Software Maintenance

  1. The modification of a software product after delivery to correct faults, to improve performance or other attributes, or to adapt the product to a modified environment

  2. Type of Maintenance

    • Corrective Maintenance
      • Identify and remove defects
      • Correct actual errors
    • Perfective Maintenance
      • Improve performance, dependability, maintainability
      • Update Documentation
    • Adaptive Maintenance
      • Adapt to a new environment e.g Hardware, OS, Middleware
      • Incorporate new capability
    • Preventive Maintenance
      • Identify and detect latent faults
      • System with safety concerns
    • Emergency Maintenance
      • Unscheduled corrective maintenance
  3. Maintenance cost factors

    • Team stability
      • Maintenance costs will reduced if the same staff are involved with them for some time
    • Contractual Responsibility
      • The developers of a system may have no contractual responsibility for maintenance so there is no incentive to design for future change
    • Staff skill
      • Maintenance staff are often inexperienced and have limited domain knowledge.
    • Program age and sturcture
      • Structure is degraded and they become harder to understand and change.
  4. Maintenance Prediction

    • assessing parts of the system may cause problem
    • Assessing parts of the system may have high maintenance costs
  5. Chance Prediction

    • Understand the system and its environment
    • Understand the relationships between a system and its environment
  6. Complexity Metrics

    • Complexity of control structures; Complexity of data structures; Object, method (procedure) and module size.
  7. Process metrics

    • Number of requests for corrective maintenance
    • Average time required for impact analysis
    • Average time taken to implement a change request
    • Number of outstanding change requests
  8. Evolution processes

    • The type of software being maintained; The development processes used; The skills and experience of the people involved
  9. Change implementation

    • Proposed changes - requirements analysis - requirements updating - software development
  10. Emergency Repair

    • Change request - Analyse source code - modify source code - deliver modified system
  11. System re-engineering

    • Re-structuring or re-writing part or all of a legacy system without changing its functionality
    • The system may be re-structured and re-documented
  12. Advantages of reengineering

    • Risk : development problems, staffing problems and specification problems
    • The cost of re-engineering is often significantly less than the costs of developing new software
  13. Reengineering process activities

    • Source code translation
    • Reverse engineering
    • Program structure improvement
    • program modularization
    • Data reengineering
  14. Reengineering cost factors

    • The quality of the software to be reengineered.
    • The tool support available for reengineering.
  15. Legacy system evolution

    • Separation between software development and software maintenance is unhelpful.
  16. Legacy system categories

    • Low quality, low business value
    • Low-quality, high-business value
    • High-quality, low-business value
    • High-quality, high business value
  17. Business value assessment

    • System end-users;
    • Business customers
    • Line managers
    • IT managers
    • Senior managers
  18. System quality assessment

    • Business process assessment
    • Environment assessment
    • Application assessment

Information

Description
Mind Map on Software Maintenance, created by Fakhri Anas on 16/05/2019.
Created by
Fakhri Anas
Views
0
Rating

Feedback

What is it about?

What do you think of the new look?

How do you like it?