SlideShare a Scribd company logo
1 of 21
Software Maintenance
Name Kavankumar Nileshkumar Solanki
Department MSc.IT Roll No. 03
Semester 2nd Subject Code PS02CINT22
Institute Name Shree P.M.Patel Institute of PG Studies and Research in Applied
Science
Managed By Anand People’s Medicare Society, Anand
Presentation Title
Objectives
Introduction
Laws of Software Evolution
Types of Software Maintenance
Software Maintenance Models
Software Maintenance Standards
Bibliography
Introduction
 Once the software is delivered and installed at
the customer’s premises, the process of
maintenance begins.
 It has been found that software maintenance
take up most of the SDLC costs and hence
total cost of software maintenance is quite
huge.
Definitions
“Set of activities undertaken on a software system
following its release for operational use.”
(According to B.W.Boehm in “Software
Engineering Economics”, published by Prentice
Hall, NJ,1981).
According to standard for software maintenance-
1992, ”Software Maintenance is modification of
software product after delivery to correct faults, to
improve performance of other attributes or to
adopt the products to a modified environment.”
Reasons for Maintaining The
Software
• Over a period of time, software’s original
requirements may change to reflect the
customer’s need.
• Errors undetected during software development
may be found during use and require correction.
• With time new technologies are introduced such
as new hardware, operating system etc.
– The software therefore must be modified to adopt the
new operating environment.
Advantages of Maintenance
Better documentation of the software.
Establishment of proper procedures for
incorporating changes.
Identification of weak and strong points of
system by the maintenance programmers.
Laws of Software Evolution
1. Law of Continuing Change
2. Law of Increasing Complexity
3. Law of Program Evolution
4. Law of Conservation of Organization
Stability
5. Law of Conservation of Familiarity
Types of Software Maintenance
a) Corrective Maintenance
b) Adaptive Maintenance
c) Perfective Maintenance
d) Preventative Maintenance
Corrective Maintenance
• Reporting errors can be
– Coding errors
– Designing errors
– Requirements errors i.e., incomplete specifications.
• Requirements related errors are most expensive to correct
because of the expensive redesigning involved.
• The Corrective Maintenance sometimes also includes
temporary patches and workarounds which can cause great
problems for subsequent maintenance work.
This type of maintenance is also called Bug Fixing and deals
with fixing the reporting errors while the software is in use.
Adaptive Maintenance
• This type of maintenance concerns external changes.
• Even if the software is error free, it is possible that the
environment in which the software system works will often
change.
• The changes can be introduction of new version of operating
systems, new hardware or removing support for existing
facilities.
• As a result the software must be ported to this new changed
environment and made operational.
The modification made to the software as a result of changes to
external environment is called Adaptive Maintenance.
Perfective Maintenance
• This type of maintenance concerns improving
the delivered software as a result of change in
user requirements or efficiency improvements.
Preventative Maintenance
• This type of maintenance is done to anticipate
future problems and to improve the
maintainability using techniques like
documenting, commenting or even re-
implementing some part of software using
modern software engineering tools and
techniques.
Software Maintenance Models
• Overview
– A number of software maintenance models are proposed
since 1970’s.
– All of these models focus on three main activities
• Understanding the software structure
• Modifying and changing the software
• Revalidating the software
– Since 1980’s a class of process oriented maintenance
models are proposed.
– These maintenance models viewed the maintenance process
in terms of activities performed and the order of these
activities.
Quick-fix Model
• This is one of the simplest and ad hoc model used
for maintenance software.
• In this model changes are made at the code level
as early as possible without anticipating future
maintenance model.
• As a result the structure of the software degrades
rapidly.
• This model isn’t suitable for large software
systems, but it can be used if the software is small
and maintained by single person.
Iterative Enhancement Model
• This model incorporates changes in the software
based on the analysis of the existing system and
assumed that the complete documentation of the
software is available in the beginning.
• The model attempts to control complexity and
tries to maintain good design as a result of
changes made,
• The document of each software life cycle phases
are also modified so as to successful support the
next iteration.
Full-reuse Model
• This model of software maintenance is based
on reuse of existing software components.
• This model starts with defining requirements
for the new system and reusing parts of the old
system as much as possible.
Yau and Collofello’s Model
• (Yau80) proposed a more specific maintenance model
consisting of several phases and belonged to category
of process oriented maintenance models.
• The main steps/phases of the model are
– Identification of maintenance object.
– Understanding the program structure.
– Generating the maintenance change.
– Account for the ripple effect as a result of maintenance
change.
– Conducting the regression testing.
• In this model changes of having long term problems is
reduced substantially.
Software Maintenance Standards
• Two standards which are used for maintenance
of software in the organizations are:
1. Standard for software maintenance (1993)
developed by P1219 Software Maintenance
Standard Working Group under the IEEE
Computer Society.
2. Standard for Software Quality Metrics
Methodology (1992) developed by Software
Engineering Standards subcommittee of IEEE
Computer Society.
Bibliography
• K.H.Bennett, “Automated Support Of Software
Maintenance“, Information and Software
Technology, Vol. 33, No. 1, Jan./Feb. 1991, Page
No. 74-85.
• S.Yau and J.S.Collofello, “Some Stability
Measures for Software Maintenance“, IEEE
Transactions on Software Engineering, SE-6(6),
1980, Page No. 545-552.
• Sangeeta Sabharwal, “Software Engineering“,
New Age International Publishers, 2008, 285-292
PS02CINT22 SE Software Maintenance
PS02CINT22 SE Software Maintenance

More Related Content

What's hot

Software evolution and maintenance basic concepts and preliminaries
Software evolution and maintenance   basic concepts and preliminariesSoftware evolution and maintenance   basic concepts and preliminaries
Software evolution and maintenance basic concepts and preliminariesMoutasm Tamimi
 
Software Evolution and Maintenance Models
Software Evolution and Maintenance ModelsSoftware Evolution and Maintenance Models
Software Evolution and Maintenance ModelsMoutasm Tamimi
 
10 software maintenance
10 software maintenance10 software maintenance
10 software maintenanceakiara
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycleMantesh Basarakod
 
Information Systems For Management Strategies
Information Systems For Management StrategiesInformation Systems For Management Strategies
Information Systems For Management StrategiesSindhuKB
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Modelsandyr91
 
Basics of software engineering
Basics of software engineeringBasics of software engineering
Basics of software engineeringMadhav Suratkar
 
Software Process Model (System Development Life Cycle)
Software Process Model (System Development Life Cycle)Software Process Model (System Development Life Cycle)
Software Process Model (System Development Life Cycle)andyr91
 
Ch 02 s.e software process models 1
Ch 02 s.e software process models   1Ch 02 s.e software process models   1
Ch 02 s.e software process models 1Badar Waseer
 
Reengineering PDF-Based Documents Targeting Complex Software Specifications
Reengineering PDF-Based Documents Targeting Complex Software SpecificationsReengineering PDF-Based Documents Targeting Complex Software Specifications
Reengineering PDF-Based Documents Targeting Complex Software SpecificationsMoutasm Tamimi
 
Ch 01 s.e introduction
Ch 01 s.e introductionCh 01 s.e introduction
Ch 01 s.e introductionBadar Waseer
 
The Design Phase
The Design PhaseThe Design Phase
The Design Phaseandyr91
 
Lesson 9 system develpment life cycle
Lesson 9 system develpment life cycleLesson 9 system develpment life cycle
Lesson 9 system develpment life cycleOneil Powers
 
Software Engineering - Ch9
Software Engineering - Ch9Software Engineering - Ch9
Software Engineering - Ch9Siddharth Ayer
 

What's hot (20)

Software evolution and maintenance basic concepts and preliminaries
Software evolution and maintenance   basic concepts and preliminariesSoftware evolution and maintenance   basic concepts and preliminaries
Software evolution and maintenance basic concepts and preliminaries
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
 
Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
 
Software Evolution and Maintenance Models
Software Evolution and Maintenance ModelsSoftware Evolution and Maintenance Models
Software Evolution and Maintenance Models
 
10 software maintenance
10 software maintenance10 software maintenance
10 software maintenance
 
Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
 
Software development life cycle
Software development life cycleSoftware development life cycle
Software development life cycle
 
System implemantation
System implemantationSystem implemantation
System implemantation
 
5 chap - MAINTENANCE
5 chap - MAINTENANCE5 chap - MAINTENANCE
5 chap - MAINTENANCE
 
Information Systems For Management Strategies
Information Systems For Management StrategiesInformation Systems For Management Strategies
Information Systems For Management Strategies
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Basics of software engineering
Basics of software engineeringBasics of software engineering
Basics of software engineering
 
Software Process Model (System Development Life Cycle)
Software Process Model (System Development Life Cycle)Software Process Model (System Development Life Cycle)
Software Process Model (System Development Life Cycle)
 
Ch 02 s.e software process models 1
Ch 02 s.e software process models   1Ch 02 s.e software process models   1
Ch 02 s.e software process models 1
 
Reengineering PDF-Based Documents Targeting Complex Software Specifications
Reengineering PDF-Based Documents Targeting Complex Software SpecificationsReengineering PDF-Based Documents Targeting Complex Software Specifications
Reengineering PDF-Based Documents Targeting Complex Software Specifications
 
Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
 
Ch 01 s.e introduction
Ch 01 s.e introductionCh 01 s.e introduction
Ch 01 s.e introduction
 
The Design Phase
The Design PhaseThe Design Phase
The Design Phase
 
Lesson 9 system develpment life cycle
Lesson 9 system develpment life cycleLesson 9 system develpment life cycle
Lesson 9 system develpment life cycle
 
Software Engineering - Ch9
Software Engineering - Ch9Software Engineering - Ch9
Software Engineering - Ch9
 

Similar to PS02CINT22 SE Software Maintenance

Software Maintenance with detailed description
Software Maintenance with detailed descriptionSoftware Maintenance with detailed description
Software Maintenance with detailed descriptionSaileshSingh27
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5Mohammad Faizan
 
Software maintenance real world maintenance cost
Software maintenance real world maintenance costSoftware maintenance real world maintenance cost
Software maintenance real world maintenance costmalathieswaran29
 
Software maintenance ppt
Software maintenance pptSoftware maintenance ppt
Software maintenance pptAnas Usman
 
Software maintaince.pptx
Software maintaince.pptxSoftware maintaince.pptx
Software maintaince.pptxAmarYa2
 
Softweare Engieering
Softweare Engieering Softweare Engieering
Softweare Engieering Huda Alameen
 
SWE-401 - 11. Software maintenance overview
SWE-401 - 11. Software maintenance overviewSWE-401 - 11. Software maintenance overview
SWE-401 - 11. Software maintenance overviewghayour abbas
 
Software Engineering (Requirements Engineering & Software Maintenance)
Software Engineering (Requirements Engineering  & Software Maintenance)Software Engineering (Requirements Engineering  & Software Maintenance)
Software Engineering (Requirements Engineering & Software Maintenance)ShudipPal
 
Bse 3105 lecture 2- software change
Bse 3105  lecture 2- software changeBse 3105  lecture 2- software change
Bse 3105 lecture 2- software changeAlonzee Tash
 
Bse 3105 lecture 2- software change
Bse 3105  lecture 2- software changeBse 3105  lecture 2- software change
Bse 3105 lecture 2- software changeAlonzee Tash
 
2.-IT-266_APDET-Module-2-of-3.pptx
2.-IT-266_APDET-Module-2-of-3.pptx2.-IT-266_APDET-Module-2-of-3.pptx
2.-IT-266_APDET-Module-2-of-3.pptxKENNEDYDONATO1
 

Similar to PS02CINT22 SE Software Maintenance (20)

Software Maintenance with detailed description
Software Maintenance with detailed descriptionSoftware Maintenance with detailed description
Software Maintenance with detailed description
 
Unit5.pptx
Unit5.pptxUnit5.pptx
Unit5.pptx
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5
 
Software maintenance real world maintenance cost
Software maintenance real world maintenance costSoftware maintenance real world maintenance cost
Software maintenance real world maintenance cost
 
Software maintenance ppt
Software maintenance pptSoftware maintenance ppt
Software maintenance ppt
 
Himanshu
HimanshuHimanshu
Himanshu
 
Lecture 2.pptx
Lecture 2.pptxLecture 2.pptx
Lecture 2.pptx
 
Software maintaince.pptx
Software maintaince.pptxSoftware maintaince.pptx
Software maintaince.pptx
 
system development life cycle
system development life cyclesystem development life cycle
system development life cycle
 
Chapter 2.pptx
Chapter 2.pptxChapter 2.pptx
Chapter 2.pptx
 
Softweare Engieering
Softweare Engieering Softweare Engieering
Softweare Engieering
 
Se lec 3
Se lec 3Se lec 3
Se lec 3
 
Sw Maintenance.ppt
Sw Maintenance.pptSw Maintenance.ppt
Sw Maintenance.ppt
 
SE-Unit I.pptx
SE-Unit I.pptxSE-Unit I.pptx
SE-Unit I.pptx
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
SWE-401 - 11. Software maintenance overview
SWE-401 - 11. Software maintenance overviewSWE-401 - 11. Software maintenance overview
SWE-401 - 11. Software maintenance overview
 
Software Engineering (Requirements Engineering & Software Maintenance)
Software Engineering (Requirements Engineering  & Software Maintenance)Software Engineering (Requirements Engineering  & Software Maintenance)
Software Engineering (Requirements Engineering & Software Maintenance)
 
Bse 3105 lecture 2- software change
Bse 3105  lecture 2- software changeBse 3105  lecture 2- software change
Bse 3105 lecture 2- software change
 
Bse 3105 lecture 2- software change
Bse 3105  lecture 2- software changeBse 3105  lecture 2- software change
Bse 3105 lecture 2- software change
 
2.-IT-266_APDET-Module-2-of-3.pptx
2.-IT-266_APDET-Module-2-of-3.pptx2.-IT-266_APDET-Module-2-of-3.pptx
2.-IT-266_APDET-Module-2-of-3.pptx
 

More from Conestoga Collage

More from Conestoga Collage (13)

Networking and Security in Java
Networking and Security in JavaNetworking and Security in Java
Networking and Security in Java
 
Ps02 eint21 electronic data interchange
Ps02 eint21 electronic data interchangePs02 eint21 electronic data interchange
Ps02 eint21 electronic data interchange
 
Ps02 cint21 enterprise information system
Ps02 cint21 enterprise information systemPs02 cint21 enterprise information system
Ps02 cint21 enterprise information system
 
Ps02 cint23 ado
Ps02 cint23 adoPs02 cint23 ado
Ps02 cint23 ado
 
Ps02 cint24 mvc in php
Ps02 cint24 mvc in phpPs02 cint24 mvc in php
Ps02 cint24 mvc in php
 
Operating systems & its future
Operating systems & its futureOperating systems & its future
Operating systems & its future
 
Bluetooth
BluetoothBluetooth
Bluetooth
 
Blue Brain project
Blue Brain projectBlue Brain project
Blue Brain project
 
AI programming languages
AI programming languagesAI programming languages
AI programming languages
 
Artificial intelligence
Artificial intelligenceArtificial intelligence
Artificial intelligence
 
Web Based Claim Processing System
Web Based Claim Processing SystemWeb Based Claim Processing System
Web Based Claim Processing System
 
Blue Brain Project
Blue Brain ProjectBlue Brain Project
Blue Brain Project
 
Menu stripe
Menu stripeMenu stripe
Menu stripe
 

Recently uploaded

CELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxCELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxJiesonDelaCerna
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxEyham Joco
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersSabitha Banu
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitolTechU
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17Celine George
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfadityarao40181
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxpboyjonauth
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerunnathinaik
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxNirmalaLoungPoorunde1
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Celine George
 

Recently uploaded (20)

CELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxCELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptx
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptx
 
DATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginnersDATA STRUCTURE AND ALGORITHM for beginners
DATA STRUCTURE AND ALGORITHM for beginners
 
Capitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptxCapitol Tech U Doctoral Presentation - April 2024.pptx
Capitol Tech U Doctoral Presentation - April 2024.pptx
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
Biting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdfBiting mechanism of poisonous snakes.pdf
Biting mechanism of poisonous snakes.pdf
 
Introduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptxIntroduction to AI in Higher Education_draft.pptx
Introduction to AI in Higher Education_draft.pptx
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
internship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developerinternship ppt on smartinternz platform as salesforce developer
internship ppt on smartinternz platform as salesforce developer
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
ESSENTIAL of (CS/IT/IS) class 06 (database)
ESSENTIAL of (CS/IT/IS) class 06 (database)ESSENTIAL of (CS/IT/IS) class 06 (database)
ESSENTIAL of (CS/IT/IS) class 06 (database)
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
Employee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptxEmployee wellbeing at the workplace.pptx
Employee wellbeing at the workplace.pptx
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
Incoming and Outgoing Shipments in 1 STEP Using Odoo 17
 

PS02CINT22 SE Software Maintenance

  • 1. Software Maintenance Name Kavankumar Nileshkumar Solanki Department MSc.IT Roll No. 03 Semester 2nd Subject Code PS02CINT22 Institute Name Shree P.M.Patel Institute of PG Studies and Research in Applied Science Managed By Anand People’s Medicare Society, Anand Presentation Title
  • 2. Objectives Introduction Laws of Software Evolution Types of Software Maintenance Software Maintenance Models Software Maintenance Standards Bibliography
  • 3. Introduction  Once the software is delivered and installed at the customer’s premises, the process of maintenance begins.  It has been found that software maintenance take up most of the SDLC costs and hence total cost of software maintenance is quite huge.
  • 4. Definitions “Set of activities undertaken on a software system following its release for operational use.” (According to B.W.Boehm in “Software Engineering Economics”, published by Prentice Hall, NJ,1981). According to standard for software maintenance- 1992, ”Software Maintenance is modification of software product after delivery to correct faults, to improve performance of other attributes or to adopt the products to a modified environment.”
  • 5. Reasons for Maintaining The Software • Over a period of time, software’s original requirements may change to reflect the customer’s need. • Errors undetected during software development may be found during use and require correction. • With time new technologies are introduced such as new hardware, operating system etc. – The software therefore must be modified to adopt the new operating environment.
  • 6. Advantages of Maintenance Better documentation of the software. Establishment of proper procedures for incorporating changes. Identification of weak and strong points of system by the maintenance programmers.
  • 7. Laws of Software Evolution 1. Law of Continuing Change 2. Law of Increasing Complexity 3. Law of Program Evolution 4. Law of Conservation of Organization Stability 5. Law of Conservation of Familiarity
  • 8. Types of Software Maintenance a) Corrective Maintenance b) Adaptive Maintenance c) Perfective Maintenance d) Preventative Maintenance
  • 9. Corrective Maintenance • Reporting errors can be – Coding errors – Designing errors – Requirements errors i.e., incomplete specifications. • Requirements related errors are most expensive to correct because of the expensive redesigning involved. • The Corrective Maintenance sometimes also includes temporary patches and workarounds which can cause great problems for subsequent maintenance work. This type of maintenance is also called Bug Fixing and deals with fixing the reporting errors while the software is in use.
  • 10. Adaptive Maintenance • This type of maintenance concerns external changes. • Even if the software is error free, it is possible that the environment in which the software system works will often change. • The changes can be introduction of new version of operating systems, new hardware or removing support for existing facilities. • As a result the software must be ported to this new changed environment and made operational. The modification made to the software as a result of changes to external environment is called Adaptive Maintenance.
  • 11. Perfective Maintenance • This type of maintenance concerns improving the delivered software as a result of change in user requirements or efficiency improvements.
  • 12. Preventative Maintenance • This type of maintenance is done to anticipate future problems and to improve the maintainability using techniques like documenting, commenting or even re- implementing some part of software using modern software engineering tools and techniques.
  • 13. Software Maintenance Models • Overview – A number of software maintenance models are proposed since 1970’s. – All of these models focus on three main activities • Understanding the software structure • Modifying and changing the software • Revalidating the software – Since 1980’s a class of process oriented maintenance models are proposed. – These maintenance models viewed the maintenance process in terms of activities performed and the order of these activities.
  • 14. Quick-fix Model • This is one of the simplest and ad hoc model used for maintenance software. • In this model changes are made at the code level as early as possible without anticipating future maintenance model. • As a result the structure of the software degrades rapidly. • This model isn’t suitable for large software systems, but it can be used if the software is small and maintained by single person.
  • 15. Iterative Enhancement Model • This model incorporates changes in the software based on the analysis of the existing system and assumed that the complete documentation of the software is available in the beginning. • The model attempts to control complexity and tries to maintain good design as a result of changes made, • The document of each software life cycle phases are also modified so as to successful support the next iteration.
  • 16. Full-reuse Model • This model of software maintenance is based on reuse of existing software components. • This model starts with defining requirements for the new system and reusing parts of the old system as much as possible.
  • 17. Yau and Collofello’s Model • (Yau80) proposed a more specific maintenance model consisting of several phases and belonged to category of process oriented maintenance models. • The main steps/phases of the model are – Identification of maintenance object. – Understanding the program structure. – Generating the maintenance change. – Account for the ripple effect as a result of maintenance change. – Conducting the regression testing. • In this model changes of having long term problems is reduced substantially.
  • 18. Software Maintenance Standards • Two standards which are used for maintenance of software in the organizations are: 1. Standard for software maintenance (1993) developed by P1219 Software Maintenance Standard Working Group under the IEEE Computer Society. 2. Standard for Software Quality Metrics Methodology (1992) developed by Software Engineering Standards subcommittee of IEEE Computer Society.
  • 19. Bibliography • K.H.Bennett, “Automated Support Of Software Maintenance“, Information and Software Technology, Vol. 33, No. 1, Jan./Feb. 1991, Page No. 74-85. • S.Yau and J.S.Collofello, “Some Stability Measures for Software Maintenance“, IEEE Transactions on Software Engineering, SE-6(6), 1980, Page No. 545-552. • Sangeeta Sabharwal, “Software Engineering“, New Age International Publishers, 2008, 285-292