Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
15 views9 pages

Software

Software maintenance involves modifying and updating software post-delivery to fix bugs, enhance performance, and adapt to new environments, ensuring reliability and user satisfaction. It includes various types such as corrective, adaptive, perfective, and preventive maintenance, and requires good communication with stakeholders to manage costs and time effectively. Key challenges include poor documentation, legacy systems, and evolving requirements, which can complicate the maintenance process.

Uploaded by

kumarvasanth2029
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views9 pages

Software

Software maintenance involves modifying and updating software post-delivery to fix bugs, enhance performance, and adapt to new environments, ensuring reliability and user satisfaction. It includes various types such as corrective, adaptive, perfective, and preventive maintenance, and requires good communication with stakeholders to manage costs and time effectively. Key challenges include poor documentation, legacy systems, and evolving requirements, which can complicate the maintenance process.

Uploaded by

kumarvasanth2029
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 9

ADITYA INSTITUTE OF MANAGEMENT STUDIES

SOFTWARE MAINTENANCE

Presented by:
Presented to: B Abhishek
Devi Rao Vasanth
Kumar S
Mam
MEANING
Software maintenance is the
process of modifying and
updating software after
delivery to fix bugs, improve
performance, or adapt to new
environments. It ensures the
software remains reliable and
meets user needs over time.
KEY POINTS
 Software maintenance is a continuous process throughout the software
life cycle.
 Maintenance types include reactive (fixing problems) and proactive
(preventing problems).
 Maintenance can be done by the original team, in-house staff, or third-
party providers.
 It includes planned tasks (like updates) and unplanned ones (like fixing
crashes).
 It keeps the software and its documentation up to date.
 Upgrades help maintain compatibility with other systems.
 Maintenance ensures software meets user needs.Success depends on
good communication with stakeholders.
 It can be costly and time-consuming, especially for large
systems.Regular updates and clear planning help manage the process.
NEED FOR SOFTWARE MAINTENANCE
 Fix Defects : Correct errors after deployment.

 Adapt to Changes : Address evolving business and tech needs.

 Enhance Features : Add user-requested improvements.

 Optimize Performance : Maintain speed and efficiency.

 Security : Patch vulnerabilities and apply updates.

 Support Upgrades : Ensure compatibility with new platforms.

 Regulatory Compliance : Update for legal and industry standards.

 Usability : Improve user experience.

 Dependency Updates : Replace outdated external components.

 Data Migration : Ensure data format compatibility.


CATEGORIES

Corrective : Fix bugs and issues.

Adaptive : Adjust to environment changes.

Perfective : Improve performance and features.

Preventive : Avoid future issues through proactive


steps
MAINTAINABILITY

Maintainability is the ease with which


software can be understood, modified,
and updated over time. It minimizes
costs and risks during software
evolution.
PRINCIPLES AND PRACTICES TO
DEVELOP MAINTAINABLE SOFTWARE
 Modularity : Independent components.

 Design Patterns : Reusable design solutions.

 Coding Standards : Clear and consistent code.

 Quality Assurance : Early bug detection through


testing.

 Documentation : Comprehensive, up-to-date


information.
CHALLENGES IN SOFTWARE
MAINTENANCE
 Poor documentation
 Legacy systems
 System complexity
 Evolving requirements
 Integration issues
 Inadequate testing
 Skill shortages
 High cost
THANK
YOU!

You might also like