Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Maintenance Part1 Introduction. Outlines What Is Software Maintenance Purposes of Maintenance Why We Need It Maintenance Difficilties Some Tips.

Similar presentations


Presentation on theme: "Software Maintenance Part1 Introduction. Outlines What Is Software Maintenance Purposes of Maintenance Why We Need It Maintenance Difficilties Some Tips."— Presentation transcript:

1 Software Maintenance Part1 Introduction

2 Outlines What Is Software Maintenance Purposes of Maintenance Why We Need It Maintenance Difficilties Some Tips Maintenance team responsibilities Maintenance Plan Maintenance Types Cost of Maintenance Process of Maintenance Software Maintenance Models Maintenance Techniques Summary References

3 Introduction Nowadays, Software maintenance constitutes a major phase of the software development life cycle. Studies indicate that software maintenance is responsible for a significant percentage of a system’s overall cost and effort.

4 Introduction cont… It is an essential part of software development process, Even if we assume that we can design and build a perfect system matching all requirements.

5 Basic Concepts Evolution - a process of continuous change from a lower, simpler, or worse to a higher, more complex, or better state. Maintenance - the act of keeping an entity in an existing state of repair, efficiency, or validity; to preserve from failure or decline. Maintainability - the ease with which maintenance can be carried out.. Software - the programs, documentation and operating procedures by which computers can be made useful to man

6 What Is Software Maintenance ? Maintenance is the term for any effort that is put into a piece of software after it has been written and put into operation. Software engineering for students by Douglas Bell

7 What Is Software Maintenance ? Is the set of activities, both technical and managerial, ensures that software continues to meet organizational and business objectives in a cost effective way.

8 Maintenance ≠ Evolution Evolution of software systems means creating new but related designs from existing ones. Software evolution is the need of the software currently used or running to be developed, improved or adjusted.

9 Maintenance ≠ Evolution Maintenance does not involve making major changes to the architecture of the system. means keeping system running with no change to its design. Maintenance means to let the software system run as to what it should supposed to be.

10 Purposes of Maintenance Providing continuity of service Supporting mandatory upgrades Improving the software to support user requirements Preserve the value of software over time

11 Software Maintenance There are two main issues: 1. Management Issues 2. Technical Issues There are two main strategies: 1. As-Needed 2. Systematic

12 Why We Need It ? It is impossible to produce system of any size which do not need to be changed. Software Maintenance is performed in order to: 1. Correct faults or Fixing bugs. 2. Improve the performance or the design. 3. Implement enhancements and remove of Outdated Functions. 4. Enhance the capability for changing environment.

13 Why We Need It ? Some other reasons due to changes: Market Conditions - Policies, which changes over the time, such as taxation and newly introduced constraints like, how to maintain bookkeeping, may trigger need for modification. Client Requirements - Over the time, customer may ask for new features or functions in the software. Host Modifications - If any of the hardware and/or platform (such as operating system) of the target host changes, software changes are needed to keep adaptability. Organization Changes - If there is any business level change at client end, such as reduction of organization strength, acquiring another company, organization venturing into new business, need to modify in the original software may arise Government Regulations & Policies

14 Maintenance Difficilties Maintenance usually costs alot. Changes made to a program may introduce new faults. The program to be maintained are not well documented.

15 Maintenance Difficilties The system was not designed for maintenance. The program being maintained may have been developed many years ago without modern software engineering techniques.

16 Some Tips It is suggested that more time and resources should be invested to develop a system that is easy to maintain. Complete Replacement of an exist System if the cost for maintaining as much as developing a new one.

17 Maintenance team responsibilities Extending existing functions to accommodate new or changing requirements. Adding new functions to the system. Keeping system documentation up-to- date. Finding the source of system failures or problems. Managing changes to the system as they are made.

18 Maintenance processes

19 Maintenance Plan Software Maintenance requires an accurate maintenance plan. It should specify how users will request changes or report problems. It should specify what activities are required and how to manage them. The Plan should include resource and cost estimates.

20 Maintenance Types l Corrective Maintenance u Identify and remove defects u Correct actual errors l Perfective Maintenance u Improve performance u Add new functionality Adaptive Maintenance Adapt to a new/upgraded environment (e.g., hardware, operating system) Preventive Maintenance Modifications and updations to prevent future problems

21 Maintenance Types corrective 21% adaptive 25% preventive 4% perfective 50%

22 Cost of Maintenance Studies suggest that the cost of maintenance is high. A study by Lientz and Swanson found that the cost of maintenance nearly 67% of the cost of SDLC.

23 Maintenance Activities

24 Software Maintenance Models Quick-Fix Model Iterative Enhancement Model Reuse-Oriented Model Boehm’s Model Taute Maintenance Model

25 Maintenance Techniques Re-engineering Reverse Engineering Program Restructuring Forward Engineering Component Reusability

26 Summary Software maintenance is a critical phase in the life cycle of a system. It’s difficult to maintain a system, even if it’s designed to be maintainable.

27 References Software Engineering, Maintenance, Hans van Vliet, 2008 Software Engineering: Theory and Practice, 4th Edition 2010. Shari Lawrence Pfleeger. Joanne M. Atlee. Ian Sommerville 1995 Software Engineering, 5th edition. Software Maintenance and Evolution: a Roadmap, 2000. K. H. Bennett & V.T Rajlich Techniques for Software Maintenance,2011. Kostas Kontogiannis Department of Electrical and Computer Engineering https://economictimes.indiatimes.com/definition/software- maintenance https://www.geeksforgeeks.org/software-engineering-software- maintenance/ https://www.tutorialspoint.com/software_engineering/software_mai ntenance_overview.htm

28 THANKS


Download ppt "Software Maintenance Part1 Introduction. Outlines What Is Software Maintenance Purposes of Maintenance Why We Need It Maintenance Difficilties Some Tips."

Similar presentations


Ads by Google