_____ are crucial phases in the software development life cycle (SDLC).
Software maintenance and evolution
____ ensures that it continues to function effectively after development.
Software maintenance
Software must ____ to adapt to changing technologies, busines requirements, and user expectations
evolve
According to IEEE(Institute of Electrical and Electronics Engineers), _____ involves modifying a software product after delivery to correct faults, improve performance, or adapt the product to a changed environment
Software maintenance
Software maintenance is essential because:
Operating systems, hardware, and platforms are frequently updated, and software must adapt to stay compatible
Technology changes rapidly
Businesses grow and processes change, demanding new features or functionalities
User reuiremetns evolve
No software is perfect. Users may encounter bugs that needs fixing
Defects are discorered post-release
Maintenance ensures patches and updates are implemented to protect systems and data
Security vulnerabilities appear
Continuous maintenance helps optimize speed, usbility, and efficienty
Performance improvements
What are the types of software maintenance:
Purpose: To fix errors, defects, or bugs found during operations.
Focus: Restoring System Functionality
Corrective Maintenance
Purpose: TO modify software so it remains compatible with changing environments
Focus: Adapting to external changes such as hardware or platforms updates
Adaptive Maintenance
Purpose: To enhance performance, efficiency, or maintainability
Focus: Refining and optimzing existing features
Perfective Maintenance
Purpose: To detect and correct potential problems before they occur
Focus: Long-term reliability and risk reduction
Preventive Maintenance
Continuous development and improvement of fotware over its lifetime
Software evolution
Software evolution concept was introduced by _____
Manny lehman
___, who formulated several laws of software evolution, emphasizing that software must continuously change or it will become less useful
Manny Lehman
Lehman’s Law of Software Evolution:
Software must adapt or it becomes less progressively less useful
Continuing Change
As systems evolve, they become more complex unless effor tis made to reduce complexity
Increasing Complexity
The process of software evolution is self-regulating with predictable trends
Self-regulation
The rate of development and maintenance tends to ramin stable over time
Conservation of Organizational Stability
Changes must be limited to maintain user and developer familarity
Conservation of Familiarity