You are on page 1of 6

Annexure-I for Academic Tasks

Course Code: CAP314 Course Title: Principles of


k software engineering
Course Instructor: Mrs. Harpreet Kaur Roll no. RQ2015B56

Academic Task No.: 03 Section: Q2015

Date of Allotment: 5.04.23 Date of submission: 15.04.23

Student’s Name: Vishal Kumar Student’s Reg. no: 12016608

Evaluation Parameters: (Parameters on which student is to be evaluated as per IP and as uploaded on


UMS at the time of assigning the task by the instructor)

Learning Outcomes: (Student to write briefly about learnings obtained from the academic
tasks)

Declaration:

I declare that this Assignment is my individual work. I have not copied it from any other
student’s work or from any other source except where due acknowledgement is made
explicitly in the text, nor has any part been written for me by any other person.

Student’s signature: Vishal Kumar

Evaluator’s comments (For Instructor’s use only)

General Observations Suggestions for Improvement Best part of assignment

Page 1 of 6
SOFTWARE MANTENANCE AND ITS TYPE

Software maintenance refers to the process of modifying a software application


after its delivery to correct faults, improve performance, or adapt it to changing
user needs or environments.

Software Maintenance is an inclusive activity that includes error corrections,


enhancement of capabilities, deletion of obsolete capabilities, and optimization.

Need for Maintenance:


Software maintenance is essential for the following reasons:

1. Fixing defects: Over time, software can develop defects or bugs, which
need to be fixed to ensure that the software functions correctly.
Maintenance activities such as bug fixing can help in improving the
reliability of the software.

2. Adapting to changes: As technology evolves, software must be updated to


remain relevant and functional. Maintenance activities such as updates

Page 2 of 6
and upgrades can help in adapting the software to changes in hardware,
software, and user requirements.

3. Improving performance: As software is used, its performance can


degrade, leading to slow response times or other performance issues.
Maintenance activities such as performance tuning can help in improving
the overall performance of the software.

4. Enhancing functionality: User requirements can change over time, and


software must be updated to meet these changing needs. Maintenance
activities such as feature enhancements can help in adding new
functionality to the software to meet evolving user needs.

5. Ensuring security: Cybersecurity threats are constantly evolving, and


software must be updated to address new threats and vulnerabilities.
Maintenance activities such as security updates can help in ensuring that
the software remains secure and protected from potential cyberattacks.

Types of software maintenance:

1. Corrective Maintenance: It involves making modifications to software to


correct defects or errors that were discovered after the software was
released. The primary objective of corrective maintenance is to restore
the software to its original level of functionality.

Page 3 of 6
2. Adaptive Maintenance: It involves modifying the software to adapt it to
changes in the environment or to new requirements. Adaptive
maintenance includes changes made to the software to accommodate
changes in hardware or software platforms or to ensure compatibility with
new operating systems.

3. Perfective Maintenance: It involves enhancing the software to improve its


performance, maintainability, or other attributes. Perfective maintenance
includes modifications made to the software to improve its user interface,
functionality, or performance.

4. Preventive Maintenance: It involves making modifications to the software


to prevent future problems. Preventive maintenance includes making
changes to the software to improve its maintainability or to prevent
problems that may arise due to changes in the environment or technology.

Page 4 of 6
Advantages of software maintenance:
1. Improved software quality: Regular software maintenance helps to
ensure that the software is functioning correctly and efficiently, and that it
continues to meet the needs of the users.
2. Enhanced security: Maintenance can include security updates and
patches, helping to ensure that the software is protected against potential
threats and attacks.
3. Increased user satisfaction: Regular software maintenance helps to keep
the software up-to-date and relevant, leading to increased user satisfaction
and adoption.
4. Extended software life: Proper software maintenance can extend the life
of the software, allowing it to be used for longer periods of time and
reducing the need for costly replacements.
5. Cost savings: Regular software maintenance can help to prevent larger,
more expensive problems from occurring, reducing the overall cost of
software ownership.

Disadvantages of software maintenance:


1. Cost: Software maintenance can be time-consuming and expensive, and
may require significant resources and expertise.
2. Schedule disruptions: Maintenance can cause disruptions to the normal
schedule and operations of the software, leading to potential downtime
and inconvenience.
3. Complexity: Maintaining and updating complex software systems can be
challenging, requiring specialized knowledge and expertise.
4. Risk of introducing new bugs: The process of fixing bugs or adding
new features can introduce new bugs or problems, making it important to
thoroughly test the software after maintenance.
Page 5 of 6
5. User resistance: Users may resist changes or updates to the software,
leading to decreased satisfaction and adoption.

Conclusion:

Software maintenance is an essential aspect of software development, ensuring


that software remains functional, reliable, and relevant over time. There are
several types of software maintenance, including corrective, adaptive,
perfective, and preventive maintenance. Each type of maintenance plays a vital
role in maintaining software systems and ensuring they meet the evolving needs
of users and stakeholders.

Page 6 of 6

You might also like