SlideShare a Scribd company logo
1 of 27
Software Maintenance




Software Maintenance
  A Very Essential Activity
Software Maintenance

     The First Law of Software
     Engineering
         โ€œNo matter where you are in the
         system life cycle, the system will
         change, and the desire to change it
         will persist throughout the life cycleโ€
                                               Bersoff et al. (1980)




13 January 2012            Made by Utpal Ray                           2
Software Maintenance



       Sources of Change
                  ๏‚— New business or market conditions which cause
                      changes in product requirements or business rules
                  ๏‚—   New customer needs that demand modification of
                      data, functionality or services delivered by the
                      system
                  ๏‚—   Reorganisation and/or business downsizing that
                      changes priorities and team structures
                  ๏‚—   Budgetary or scheduling constraints that cause a
                      redefinition of the system
                  ๏‚—   MOST CHANGES ARE JUSTIFIED


13 January 2012                         Made by Utpal Ray                 3
Software Maintenance


      Maintenance and the SDLC
              ๏‚— In the Waterfall software development lifecycle, we
                had a nice little box at the end of the process and
                one which was generally ignored in descriptions of
                the process
              ๏‚— In more advanced lifecycles such as the Spiral
                Model, maintenance was accorded a much more
                prominent place
              ๏‚— Still, maintenance is a relatively neglected aspect
                of the SDLC
              ๏‚— Examples: Pressman has no specific chapter on
                Maintenance, Somerville has 15 pages out of 742
                pages



13 January 2012                     Made by Utpal Ray                 4
Software Maintenance


     The Cost of Maintenance
             ๏‚— One study found
                ๏‚— Requirements Definition         3%
                ๏‚— Preliminary Design              3%
                ๏‚— Detailed Design                 5%
                ๏‚— Implementation                  7%
                ๏‚— Testing                         15%
                ๏‚— Maintenance                     67%
             ๏‚— Another study found at least 50%of effort spent on
               maintenance
             ๏‚— Another study found between 65% and 75%on
               maintenance
             ๏‚— In embedded real-time systems, maintenance costs may
               be up to 4 times development costs



13 January 2012                      Made by Utpal Ray                5
Software Maintenance

              Why is Maintenance so Costly?
              ๏‚— Most software is between 10 and 15 years old
              ๏‚— Much of that software is showing its age as it was
                  created when program size and storage space were far
                  more important factors
              ๏‚—   This has lead to inflexible designs, coding and
                  documentation
              ๏‚—   Maintenance is usually done by inexperienced staff
                  unfamiliar with the application
              ๏‚—   Developers donโ€™t like maintenance
              ๏‚—   Changes often cause new faults in the system
              ๏‚—   Changes tend to degrade the structure of a program
              ๏‚—   Changes are often not documented


13 January 2012                      Made by Utpal Ray                   6
Software Maintenance


      Factors Affecting Maintenance Costs(1)
                  ๏‚— Module Independence
                     ๏‚— the ability to modify one part of the system
                     ๏‚— potential advantage of OO
                  ๏‚— Programming Language
                     ๏‚— the higher the level of the language, the cheaper
                       the maintenance
                  ๏‚— Programming Style
                     ๏‚— the way in which a program is written
                  ๏‚— Program Validation and Testing
                     ๏‚— the more time and effort spent on design
                       validation and program testing, the fewer errors
                       and the less the need for corrective
                       maintenance


13 January 2012                         Made by Utpal Ray                  7
Software Maintenance


    Factors Affecting Maintenance Costs (2)
                  ๏‚— Quality of Program Documentation
                     ๏‚— the better the documentation, the easier it is to maintain
                  ๏‚— Configuration Management Techniques
                     ๏‚— keeping track of all the system documents and ensuring
                       they are consistent is a major cost of maintenance,
                       therefore good CM tools and practices reduce this cost
                  ๏‚— Application Domain
                     ๏‚— the less well-understood the domain, the greater the
                       likelihood of the need for adaptive maintenance as users
                       and developers begin to understand the domain
                  ๏‚— Staff Stability
                     ๏‚— Maintenance costs are reduced if developers have to
                       maintain their own systems, highly unusual though over
                       the life of a system



13 January 2012                             Made by Utpal Ray                       8
Software Maintenance


            Factors Affecting Maintenance Costs (3)
                  ๏‚— Age of the System
                     ๏‚— the older the system, the more likely that its structure has
                       degraded and the harder the maintenance will be
                     ๏‚— Attracting staff who know the old
                       languages/databases/operating systems becomes harder
                       and more expensive
                  ๏‚— Dependence of the System on the External
                    Environment
                      ๏‚— the higher the dependence, the far more likely that
                        adaptive maintenance will be needed
                  ๏‚— Hardware Stability
                     ๏‚— If the hardware platform will not change over the life of
                       the system, maintenance for this reason will not be
                       needed



13 January 2012                             Made by Utpal Ray                         9
Software Maintenance

     Differences between Maintenance
     and New Development
      ๏‚— Constraints of an Existing System
         ๏‚— Changes must conform or be compatible with an
           existing architecture, design and code constraints
      ๏‚— Shorter Time Frames
         ๏‚— Development spans 6 months upwards
         ๏‚— Maintenance spans hours or days up to 6 months
      ๏‚— Available Test Data
         ๏‚— Development creates all test data from scratch
         ๏‚— Maintenance uses existing test data with regression
           testing, creating new data for the changes
13 January 2012                Made by Utpal Ray                 10
Software Maintenance



       Types of Maintenance
      ๏‚— So how and why do we spend so much time and effort on
        maintenance?
      ๏‚— Maintenance is much more than fixing bugs
      ๏‚— Commonly divided into three main categories
             ๏‚— Corrective Maintenance
             ๏‚— Adaptive Maintenance
             ๏‚— Perfective Maintenance
      ๏‚— The boundaries between the three types of maintenance
        are often blurred
      ๏‚— We can also define another type of maintenance -
        Preventive Maintenance

13 January 2012                       Made by Utpal Ray         11
Software Maintenance



Types of Maintenance

              Corrective
                17%




   Adaptive
    18%
                                            Perfective
                                              65%
Software Maintenance



                  Corrective Maintenance(1)
      ๏‚— Focused on fixing failures
      ๏‚— Is a reactive process
          ๏‚— failures and their associated faults generally need to be
            corrected either immediately or in the near future
      ๏‚— Failures vary in their cost to correct
          ๏‚— Coding - usually relatively cheap
          ๏‚— Design - more expensive as they may require changes to
            several program components
          ๏‚— Requirements - most expensive - may require extensive
            system redesign
      ๏‚— Design and Requirements are the source of approximately
           80% of failures
13 January 2012                   Made by Utpal Ray                     13
Software Maintenance



                  Corrective Maintenance (2)
      ๏‚— Fixing a fault has a 20 to 50% chance of introducing
        another fault
      ๏‚— Reasons for new faults include
             ๏‚— the ripple effect, where a change in one area may cause
               changes in seemingly unrelated areas
             ๏‚— Person who makes the repair is generally not the person who
               wrote the code or designed the system
      ๏‚— Two types of corrective maintenance
         ๏‚— Emergency Repairs - short time frame, often a single
           program, failure needs to be repaired as soon as possible
         ๏‚— Scheduled Repairs - failure doesnโ€™t need immediate
           attention, re-examination of all emergency repairs

13 January 2012                       Made by Utpal Ray                      14
Software Maintenance



                  Adaptive Maintenance
      ๏‚— The evolution of the system to meet the needs of the
        user and the business
      ๏‚— Caused by
             ๏‚— internal needs
             ๏‚— external competition
             ๏‚— external requirements e.g. changes in law
      ๏‚— Essentially we are introducing new requirements to
        the system
      ๏‚— Therefore we should treat like a new development in
        our approach and methods

13 January 2012                      Made by Utpal Ray         15
Software Maintenance



                  Perfective Maintenance
              ๏‚— Old proverb says โ€œIf it isnโ€™t broken, donโ€™t fix itโ€
              ๏‚— Perfective maintenance ignores this ancient
                piece of wisdom
              ๏‚— Is about improving the quality of a program that
                already works
              ๏‚— Aim to achieve
                   ๏‚— reduced costs in using the system
                   ๏‚— increase maintainability of the system
                   ๏‚— more closely meet the usersโ€™ needs


13 January 2012                      Made by Utpal Ray                16
Software Maintenance



            Perfective Maintenance (2)
      ๏‚— Includes all efforts to polish or refine the quality of the
        software or the documentation
      ๏‚— Important that the potential benefits of the perfective
        maintenance outweigh
             ๏‚— the costs of the maintenance
             ๏‚— and the opportunity costs of improvements elsewhere
                  or using the resources on new developments
      ๏‚— Therefore before performing perfective maintenance,
        one should go through an analysis process
      ๏‚— Nevertheless, a little perfective maintenance can have
        dramatic effects
13 January 2012                      Made by Utpal Ray                17
Software Maintenance


             Preventative Maintenance
                  ๏‚— Can be seen as radical perfective maintenance or as
                      an alternative to maintenance
                  ๏‚—   More commonly known as Software Re-
                      engineering
                  ๏‚—   Taking a legacy system and converting its structure
                      or converting to a new language
                  ๏‚—   Old system starts as a specification for the new
                      system
                  ๏‚—   Common method now is known as wrappers where
                      an entire system is placed in an OO wrapper and
                      treated as one large object



13 January 2012                          Made by Utpal Ray                  18
Software Maintenance




     Alternatives to Maintenance
      ๏‚— Sometimes, maintenance is not enough on its own
      ๏‚— Partial restructuring integrated with adaptive
           maintenance
             ๏‚— use for orderly improvement with each system release
      ๏‚— Complete restructuring or overhaul of the existing
           code
             ๏‚— use on highly maintenance-prone system




13 January 2012                    Made by Utpal Ray                  19
Software Maintenance




     Alternatives to Maintenance (2)
      ๏‚— Complete redesign and rewrite
         ๏‚— Use when more than 20% of program must be changed
         ๏‚— Use when program is being upgraded to a new
           technology
         ๏‚— Donโ€™t use when the design and function of a system are
           not known
      ๏‚— Retirement of the system and complete redevelopment
         ๏‚— Use when moving to a new technology
         ๏‚— use when the costs of maintaining the software and the
           hardware exceed the cost of re-development

13 January 2012                Made by Utpal Ray                    20
Software Maintenance


                  The Maintenance Process
                  Below is an ideal process, that is often not achieved
            Change
           requests




                                              System
          Change           Impact                                Change        System
                                              release
        management        analysis                            implementation   release
                                             planning




                          Perfective        Adaptive            Corrective
                         maintenance       maintenance         maintenance




13 January 2012                           Made by Utpal Ray                              21
Software Maintenance



              The Maintenance Process (2)
              ๏‚— Change Management
                 ๏‚— Uniquely identify, describe and track the status of all
                   change requests
              ๏‚— Impact Analysis
                 ๏‚— identifies all systems and system products affected by a
                   change request
                 ๏‚— makes an estimate of the resources needed to effect the
                   change
                 ๏‚— analyses the benefits of the change
              ๏‚— System Release Planning
                 ๏‚— to establish the schedule and contents of a system release
                 ๏‚— donโ€™t want each change request released as they are
                   processed



13 January 2012                         Made by Utpal Ray                       22
Software Maintenance



            The Maintenance Process (3)
      ๏‚— Change Implementation
         ๏‚— Design Changes
         ๏‚— Coding
         ๏‚— Testing - must perform regression testing
      ๏‚— System Release includes
         ๏‚— documentation
         ๏‚— software
         ๏‚— training
         ๏‚— hardware changes
         ๏‚— data conversion


13 January 2012                Made by Utpal Ray       23
Software Maintenance



      Lehmanโ€™s Laws of Software Change
      ๏‚— Five laws based upon the growth and evolution of a
        number of large software systems
      ๏‚— Law of Continuing Change
             ๏‚— A program used in a real-world environment necessarily
                  must change or become less useful in that environment
      ๏‚— Law of Increasing Complexity
         ๏‚— As an evolving program changes, its structure tends to
           become more complex. Extra resources must be devoted
           to preserving and simplifying the structure


13 January 2012                       Made by Utpal Ray                   24
Software Maintenance


Lehmanโ€™s Laws of Software Change (2)
      ๏‚— Law of Large Program Evolution
         ๏‚— Program evolution is a self-regulating process. System
           attributes such as size, time between releases and the
           number of reported errors are approximately invariant for
           each system release
      ๏‚— Law of Organisational Stability
         ๏‚— Over a programโ€™s lifetime, its rate of development is
           approximately constant and independent of the resources
           devoted to system development
      ๏‚— Law of Conservation of Familiarity
         ๏‚— Over the lifetime of a system, the incremental change in each
           release is approximately constant

13 January 2012                   Made by Utpal Ray                        25
Software Maintenance



            Motivating Maintenance Staff
           ๏‚— Often considered a dead-end in organisations as well as
             being boring!
           ๏‚— Critical to the success of the organisation
           ๏‚— Possible strategies
                  ๏‚— Couple software objectives to organisational goals
                  ๏‚— Couple software maintenance rewards to organisational
                    performance
                  ๏‚— Integrate software maintenance personnel into operational
                    teams
                  ๏‚— Create a discretionary, perfective/preventative maintenance
                    budget which allows the maintenance team to decide when
                    to re-engineer the system
                  ๏‚— Involve maintenance staff early in the software process
                    during standards preparation, reviews and test preparation



13 January 2012                           Made by Utpal Ray                       26
Software Maintenance


               HOME TASK

1. Explain the factors which affect the maintenance cost.

2. Explain the different types of Maintenance.

3. Explain the Lehmanโ€™s Laws of Software Change.

4. Explain the Maintenance Process.

More Related Content

What's hot

User Interface Analysis and Design
User Interface Analysis and DesignUser Interface Analysis and Design
User Interface Analysis and Design Saqib Raza
ย 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineeringRupesh Vaishnav
ย 
Estimating Software Maintenance Costs
Estimating Software Maintenance CostsEstimating Software Maintenance Costs
Estimating Software Maintenance Costslalithambiga kamaraj
ย 
Language and Processors for Requirements Specification
Language and Processors for Requirements SpecificationLanguage and Processors for Requirements Specification
Language and Processors for Requirements Specificationkirupasuchi1996
ย 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxKarthigaiSelviS3
ย 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineeringHitesh Mohapatra
ย 
Quality and productivity factors
Quality and productivity factorsQuality and productivity factors
Quality and productivity factorsNancyBeaulah_R
ย 
Fundamental design concepts
Fundamental design conceptsFundamental design concepts
Fundamental design conceptssrijavel
ย 
Pressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsPressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsNoor Ul Hudda Memon
ย 
Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specificationlavanya marichamy
ย 
Software Engineering - Ch1
Software Engineering - Ch1Software Engineering - Ch1
Software Engineering - Ch1Siddharth Ayer
ย 
software project management
software project managementsoftware project management
software project managementdeep sharma
ย 
Software reuse ppt.
Software reuse ppt.Software reuse ppt.
Software reuse ppt.Sumit Biswas
ย 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance Webtech Learning
ย 
Software Maintenance
Software MaintenanceSoftware Maintenance
Software MaintenanceAmeer Hasan Malik
ย 
User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15koolkampus
ย 
Architecture business cycle
Architecture business cycleArchitecture business cycle
Architecture business cycleHimanshu
ย 

What's hot (20)

User Interface Analysis and Design
User Interface Analysis and DesignUser Interface Analysis and Design
User Interface Analysis and Design
ย 
Software design, software engineering
Software design, software engineeringSoftware design, software engineering
Software design, software engineering
ย 
Ch1 introduction
Ch1 introductionCh1 introduction
Ch1 introduction
ย 
Estimating Software Maintenance Costs
Estimating Software Maintenance CostsEstimating Software Maintenance Costs
Estimating Software Maintenance Costs
ย 
Component based software engineering
Component based software engineeringComponent based software engineering
Component based software engineering
ย 
Language and Processors for Requirements Specification
Language and Processors for Requirements SpecificationLanguage and Processors for Requirements Specification
Language and Processors for Requirements Specification
ย 
Software tools
Software toolsSoftware tools
Software tools
ย 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
ย 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineering
ย 
Quality and productivity factors
Quality and productivity factorsQuality and productivity factors
Quality and productivity factors
ย 
Fundamental design concepts
Fundamental design conceptsFundamental design concepts
Fundamental design concepts
ย 
Pressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-modelsPressman ch-3-prescriptive-process-models
Pressman ch-3-prescriptive-process-models
ย 
Software requirements specification
Software requirements specificationSoftware requirements specification
Software requirements specification
ย 
Software Engineering - Ch1
Software Engineering - Ch1Software Engineering - Ch1
Software Engineering - Ch1
ย 
software project management
software project managementsoftware project management
software project management
ย 
Software reuse ppt.
Software reuse ppt.Software reuse ppt.
Software reuse ppt.
ย 
Software testing & Quality Assurance
Software testing & Quality Assurance Software testing & Quality Assurance
Software testing & Quality Assurance
ย 
Software Maintenance
Software MaintenanceSoftware Maintenance
Software Maintenance
ย 
User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15User Interface Design in Software Engineering SE15
User Interface Design in Software Engineering SE15
ย 
Architecture business cycle
Architecture business cycleArchitecture business cycle
Architecture business cycle
ย 

Viewers also liked

Tpm Presentation
Tpm PresentationTpm Presentation
Tpm Presentationexerciselean
ย 
Maintenance types
Maintenance typesMaintenance types
Maintenance typesMotasem Ash
ย 
Total Productive Maintenance - TPM
Total Productive Maintenance - TPM Total Productive Maintenance - TPM
Total Productive Maintenance - TPM Achuthan Rajagopal
ย 
Presentation on Total Productive Maintenance
Presentation on Total Productive MaintenancePresentation on Total Productive Maintenance
Presentation on Total Productive MaintenanceMahendra K SHUKLA
ย 
Maintenance Management
Maintenance ManagementMaintenance Management
Maintenance ManagementBisina Keshara
ย 

Viewers also liked (6)

Tpm Presentation
Tpm PresentationTpm Presentation
Tpm Presentation
ย 
Maintenance types
Maintenance typesMaintenance types
Maintenance types
ย 
Total Productive Maintenance - TPM
Total Productive Maintenance - TPM Total Productive Maintenance - TPM
Total Productive Maintenance - TPM
ย 
Presentation on Total Productive Maintenance
Presentation on Total Productive MaintenancePresentation on Total Productive Maintenance
Presentation on Total Productive Maintenance
ย 
Maintenence management
Maintenence managementMaintenence management
Maintenence management
ย 
Maintenance Management
Maintenance ManagementMaintenance Management
Maintenance Management
ย 

Similar to 12 software maintenance

Software maintaince.pptx
Software maintaince.pptxSoftware maintaince.pptx
Software maintaince.pptxAmarYa2
ย 
Software Evolution
Software EvolutionSoftware Evolution
Software EvolutionMuhammad Asim
ย 
Software Change in Software Engineering SE27
Software Change in Software Engineering SE27Software Change in Software Engineering SE27
Software Change in Software Engineering SE27koolkampus
ย 
Intro softwareeng
Intro softwareengIntro softwareeng
Intro softwareengPINKU29
ย 
Software Maintenance and Evolution
Software Maintenance and EvolutionSoftware Maintenance and Evolution
Software Maintenance and Evolutionkim.mens
ย 
SE2013_10.ppt
SE2013_10.pptSE2013_10.ppt
SE2013_10.pptCarlPilac1
ย 
Ch9-Software Engineering 9
Ch9-Software Engineering 9Ch9-Software Engineering 9
Ch9-Software Engineering 9Ian Sommerville
ย 
Ch21
Ch21Ch21
Ch21phanleson
ย 
Whitepaper Omnext
Whitepaper OmnextWhitepaper Omnext
Whitepaper Omnextmeijerandre
ย 
PS02CINT22 SE Software Maintenance
PS02CINT22 SE Software MaintenancePS02CINT22 SE Software Maintenance
PS02CINT22 SE Software MaintenanceConestoga Collage
ย 
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERING
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERINGUnit i FUNDAMENTALS OF SOFTWARE ENGINEERING
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERINGSangeetha Rangarajan
ย 
Achieving observability-in-modern-applications
Achieving observability-in-modern-applicationsAchieving observability-in-modern-applications
Achieving observability-in-modern-applicationsJulio Antรบnez Tarรญn
ย 
How to save on software maintenance costs
How to save on software maintenance costsHow to save on software maintenance costs
How to save on software maintenance costsFrancisJansen
ย 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introductionVishal Singh
ย 
Software Prototyping in Software Engineering SE8
Software Prototyping in Software Engineering SE8Software Prototyping in Software Engineering SE8
Software Prototyping in Software Engineering SE8koolkampus
ย 

Similar to 12 software maintenance (20)

Sw Maintenance.ppt
Sw Maintenance.pptSw Maintenance.ppt
Sw Maintenance.ppt
ย 
Software maintaince.pptx
Software maintaince.pptxSoftware maintaince.pptx
Software maintaince.pptx
ย 
Rsc 03
Rsc 03Rsc 03
Rsc 03
ย 
Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
ย 
Software Change in Software Engineering SE27
Software Change in Software Engineering SE27Software Change in Software Engineering SE27
Software Change in Software Engineering SE27
ย 
Intro softwareeng
Intro softwareengIntro softwareeng
Intro softwareeng
ย 
Software Maintenance and Evolution
Software Maintenance and EvolutionSoftware Maintenance and Evolution
Software Maintenance and Evolution
ย 
SE2013_10.ppt
SE2013_10.pptSE2013_10.ppt
SE2013_10.ppt
ย 
Ch9-Software Engineering 9
Ch9-Software Engineering 9Ch9-Software Engineering 9
Ch9-Software Engineering 9
ย 
Ch21
Ch21Ch21
Ch21
ย 
Whitepaper Omnext
Whitepaper OmnextWhitepaper Omnext
Whitepaper Omnext
ย 
Ch9
Ch9Ch9
Ch9
ย 
PS02CINT22 SE Software Maintenance
PS02CINT22 SE Software MaintenancePS02CINT22 SE Software Maintenance
PS02CINT22 SE Software Maintenance
ย 
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERING
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERINGUnit i FUNDAMENTALS OF SOFTWARE ENGINEERING
Unit i FUNDAMENTALS OF SOFTWARE ENGINEERING
ย 
Software Reuse
Software ReuseSoftware Reuse
Software Reuse
ย 
Ch9 evolution
Ch9 evolutionCh9 evolution
Ch9 evolution
ย 
Achieving observability-in-modern-applications
Achieving observability-in-modern-applicationsAchieving observability-in-modern-applications
Achieving observability-in-modern-applications
ย 
How to save on software maintenance costs
How to save on software maintenance costsHow to save on software maintenance costs
How to save on software maintenance costs
ย 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introduction
ย 
Software Prototyping in Software Engineering SE8
Software Prototyping in Software Engineering SE8Software Prototyping in Software Engineering SE8
Software Prototyping in Software Engineering SE8
ย 

More from University of Computer Science and Technology

More from University of Computer Science and Technology (20)

Real time-embedded-system-lec-02
Real time-embedded-system-lec-02Real time-embedded-system-lec-02
Real time-embedded-system-lec-02
ย 
Real time-embedded-system-lec-06
Real time-embedded-system-lec-06Real time-embedded-system-lec-06
Real time-embedded-system-lec-06
ย 
Real time-embedded-system-lec-05
Real time-embedded-system-lec-05Real time-embedded-system-lec-05
Real time-embedded-system-lec-05
ย 
Real time-embedded-system-lec-04
Real time-embedded-system-lec-04Real time-embedded-system-lec-04
Real time-embedded-system-lec-04
ย 
Real time-embedded-system-lec-03
Real time-embedded-system-lec-03Real time-embedded-system-lec-03
Real time-embedded-system-lec-03
ย 
Real time-embedded-system-lec-02
Real time-embedded-system-lec-02Real time-embedded-system-lec-02
Real time-embedded-system-lec-02
ย 
Real time-embedded-system-lec-07
Real time-embedded-system-lec-07Real time-embedded-system-lec-07
Real time-embedded-system-lec-07
ย 
11 software testing_strategy
11 software testing_strategy11 software testing_strategy
11 software testing_strategy
ย 
10 software testing_technique
10 software testing_technique10 software testing_technique
10 software testing_technique
ย 
09 coding standards_n_guidelines
09 coding standards_n_guidelines09 coding standards_n_guidelines
09 coding standards_n_guidelines
ย 
08 component level_design
08 component level_design08 component level_design
08 component level_design
ย 
07 interface design
07 interface design07 interface design
07 interface design
ย 
06 architectural design_workout
06 architectural design_workout06 architectural design_workout
06 architectural design_workout
ย 
05 architectural design
05 architectural design05 architectural design
05 architectural design
ย 
04 design concepts_n_principles
04 design concepts_n_principles04 design concepts_n_principles
04 design concepts_n_principles
ย 
03 requirement engineering_process
03 requirement engineering_process03 requirement engineering_process
03 requirement engineering_process
ย 
02 software process_models
02 software process_models02 software process_models
02 software process_models
ย 
01 software engineering_aspects
01 software engineering_aspects01 software engineering_aspects
01 software engineering_aspects
ย 
14 software technical_metrics
14 software technical_metrics14 software technical_metrics
14 software technical_metrics
ย 
13 software metrics
13 software metrics13 software metrics
13 software metrics
ย 

Recently uploaded

Visit to a blind student's school๐Ÿง‘โ€๐Ÿฆฏ๐Ÿง‘โ€๐Ÿฆฏ(community medicine)
Visit to a blind student's school๐Ÿง‘โ€๐Ÿฆฏ๐Ÿง‘โ€๐Ÿฆฏ(community medicine)Visit to a blind student's school๐Ÿง‘โ€๐Ÿฆฏ๐Ÿง‘โ€๐Ÿฆฏ(community medicine)
Visit to a blind student's school๐Ÿง‘โ€๐Ÿฆฏ๐Ÿง‘โ€๐Ÿฆฏ(community medicine)lakshayb543
ย 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
ย 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
ย 
USPSยฎ Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPSยฎ Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPSยฎ Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPSยฎ Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...Postal Advocate Inc.
ย 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
ย 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfMr Bounab Samir
ย 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
ย 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seรกn Kennedy
ย 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONHumphrey A Beรฑa
ย 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
ย 
call girls in Kamla Market (DELHI) ๐Ÿ” >เผ’9953330565๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ
call girls in Kamla Market (DELHI) ๐Ÿ” >เผ’9953330565๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธcall girls in Kamla Market (DELHI) ๐Ÿ” >เผ’9953330565๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ
call girls in Kamla Market (DELHI) ๐Ÿ” >เผ’9953330565๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ9953056974 Low Rate Call Girls In Saket, Delhi NCR
ย 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
ย 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
ย 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
ย 
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
ย 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptxSherlyMaeNeri
ย 
Culture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptxCulture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptxPoojaSen20
ย 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxMaryGraceBautista27
ย 

Recently uploaded (20)

Visit to a blind student's school๐Ÿง‘โ€๐Ÿฆฏ๐Ÿง‘โ€๐Ÿฆฏ(community medicine)
Visit to a blind student's school๐Ÿง‘โ€๐Ÿฆฏ๐Ÿง‘โ€๐Ÿฆฏ(community medicine)Visit to a blind student's school๐Ÿง‘โ€๐Ÿฆฏ๐Ÿง‘โ€๐Ÿฆฏ(community medicine)
Visit to a blind student's school๐Ÿง‘โ€๐Ÿฆฏ๐Ÿง‘โ€๐Ÿฆฏ(community medicine)
ย 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
ย 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
ย 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
ย 
USPSยฎ Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPSยฎ Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...USPSยฎ Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
USPSยฎ Forced Meter Migration - How to Know if Your Postage Meter Will Soon be...
ย 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
ย 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
ย 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ย 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
ย 
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATIONTHEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
THEORIES OF ORGANIZATION-PUBLIC ADMINISTRATION
ย 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
ย 
call girls in Kamla Market (DELHI) ๐Ÿ” >เผ’9953330565๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ
call girls in Kamla Market (DELHI) ๐Ÿ” >เผ’9953330565๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธcall girls in Kamla Market (DELHI) ๐Ÿ” >เผ’9953330565๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ
call girls in Kamla Market (DELHI) ๐Ÿ” >เผ’9953330565๐Ÿ” genuine Escort Service ๐Ÿ”โœ”๏ธโœ”๏ธ
ย 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
ย 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
ย 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
ย 
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
ย 
Model Call Girl in Tilak Nagar Delhi reach out to us at ๐Ÿ”9953056974๐Ÿ”
Model Call Girl in Tilak Nagar Delhi reach out to us at ๐Ÿ”9953056974๐Ÿ”Model Call Girl in Tilak Nagar Delhi reach out to us at ๐Ÿ”9953056974๐Ÿ”
Model Call Girl in Tilak Nagar Delhi reach out to us at ๐Ÿ”9953056974๐Ÿ”
ย 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptx
ย 
Culture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptxCulture Uniformity or Diversity IN SOCIOLOGY.pptx
Culture Uniformity or Diversity IN SOCIOLOGY.pptx
ย 
Science 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptxScience 7 Quarter 4 Module 2: Natural Resources.pptx
Science 7 Quarter 4 Module 2: Natural Resources.pptx
ย 

12 software maintenance

  • 1. Software Maintenance Software Maintenance A Very Essential Activity
  • 2. Software Maintenance The First Law of Software Engineering โ€œNo matter where you are in the system life cycle, the system will change, and the desire to change it will persist throughout the life cycleโ€ Bersoff et al. (1980) 13 January 2012 Made by Utpal Ray 2
  • 3. Software Maintenance Sources of Change ๏‚— New business or market conditions which cause changes in product requirements or business rules ๏‚— New customer needs that demand modification of data, functionality or services delivered by the system ๏‚— Reorganisation and/or business downsizing that changes priorities and team structures ๏‚— Budgetary or scheduling constraints that cause a redefinition of the system ๏‚— MOST CHANGES ARE JUSTIFIED 13 January 2012 Made by Utpal Ray 3
  • 4. Software Maintenance Maintenance and the SDLC ๏‚— In the Waterfall software development lifecycle, we had a nice little box at the end of the process and one which was generally ignored in descriptions of the process ๏‚— In more advanced lifecycles such as the Spiral Model, maintenance was accorded a much more prominent place ๏‚— Still, maintenance is a relatively neglected aspect of the SDLC ๏‚— Examples: Pressman has no specific chapter on Maintenance, Somerville has 15 pages out of 742 pages 13 January 2012 Made by Utpal Ray 4
  • 5. Software Maintenance The Cost of Maintenance ๏‚— One study found ๏‚— Requirements Definition 3% ๏‚— Preliminary Design 3% ๏‚— Detailed Design 5% ๏‚— Implementation 7% ๏‚— Testing 15% ๏‚— Maintenance 67% ๏‚— Another study found at least 50%of effort spent on maintenance ๏‚— Another study found between 65% and 75%on maintenance ๏‚— In embedded real-time systems, maintenance costs may be up to 4 times development costs 13 January 2012 Made by Utpal Ray 5
  • 6. Software Maintenance Why is Maintenance so Costly? ๏‚— Most software is between 10 and 15 years old ๏‚— Much of that software is showing its age as it was created when program size and storage space were far more important factors ๏‚— This has lead to inflexible designs, coding and documentation ๏‚— Maintenance is usually done by inexperienced staff unfamiliar with the application ๏‚— Developers donโ€™t like maintenance ๏‚— Changes often cause new faults in the system ๏‚— Changes tend to degrade the structure of a program ๏‚— Changes are often not documented 13 January 2012 Made by Utpal Ray 6
  • 7. Software Maintenance Factors Affecting Maintenance Costs(1) ๏‚— Module Independence ๏‚— the ability to modify one part of the system ๏‚— potential advantage of OO ๏‚— Programming Language ๏‚— the higher the level of the language, the cheaper the maintenance ๏‚— Programming Style ๏‚— the way in which a program is written ๏‚— Program Validation and Testing ๏‚— the more time and effort spent on design validation and program testing, the fewer errors and the less the need for corrective maintenance 13 January 2012 Made by Utpal Ray 7
  • 8. Software Maintenance Factors Affecting Maintenance Costs (2) ๏‚— Quality of Program Documentation ๏‚— the better the documentation, the easier it is to maintain ๏‚— Configuration Management Techniques ๏‚— keeping track of all the system documents and ensuring they are consistent is a major cost of maintenance, therefore good CM tools and practices reduce this cost ๏‚— Application Domain ๏‚— the less well-understood the domain, the greater the likelihood of the need for adaptive maintenance as users and developers begin to understand the domain ๏‚— Staff Stability ๏‚— Maintenance costs are reduced if developers have to maintain their own systems, highly unusual though over the life of a system 13 January 2012 Made by Utpal Ray 8
  • 9. Software Maintenance Factors Affecting Maintenance Costs (3) ๏‚— Age of the System ๏‚— the older the system, the more likely that its structure has degraded and the harder the maintenance will be ๏‚— Attracting staff who know the old languages/databases/operating systems becomes harder and more expensive ๏‚— Dependence of the System on the External Environment ๏‚— the higher the dependence, the far more likely that adaptive maintenance will be needed ๏‚— Hardware Stability ๏‚— If the hardware platform will not change over the life of the system, maintenance for this reason will not be needed 13 January 2012 Made by Utpal Ray 9
  • 10. Software Maintenance Differences between Maintenance and New Development ๏‚— Constraints of an Existing System ๏‚— Changes must conform or be compatible with an existing architecture, design and code constraints ๏‚— Shorter Time Frames ๏‚— Development spans 6 months upwards ๏‚— Maintenance spans hours or days up to 6 months ๏‚— Available Test Data ๏‚— Development creates all test data from scratch ๏‚— Maintenance uses existing test data with regression testing, creating new data for the changes 13 January 2012 Made by Utpal Ray 10
  • 11. Software Maintenance Types of Maintenance ๏‚— So how and why do we spend so much time and effort on maintenance? ๏‚— Maintenance is much more than fixing bugs ๏‚— Commonly divided into three main categories ๏‚— Corrective Maintenance ๏‚— Adaptive Maintenance ๏‚— Perfective Maintenance ๏‚— The boundaries between the three types of maintenance are often blurred ๏‚— We can also define another type of maintenance - Preventive Maintenance 13 January 2012 Made by Utpal Ray 11
  • 12. Software Maintenance Types of Maintenance Corrective 17% Adaptive 18% Perfective 65%
  • 13. Software Maintenance Corrective Maintenance(1) ๏‚— Focused on fixing failures ๏‚— Is a reactive process ๏‚— failures and their associated faults generally need to be corrected either immediately or in the near future ๏‚— Failures vary in their cost to correct ๏‚— Coding - usually relatively cheap ๏‚— Design - more expensive as they may require changes to several program components ๏‚— Requirements - most expensive - may require extensive system redesign ๏‚— Design and Requirements are the source of approximately 80% of failures 13 January 2012 Made by Utpal Ray 13
  • 14. Software Maintenance Corrective Maintenance (2) ๏‚— Fixing a fault has a 20 to 50% chance of introducing another fault ๏‚— Reasons for new faults include ๏‚— the ripple effect, where a change in one area may cause changes in seemingly unrelated areas ๏‚— Person who makes the repair is generally not the person who wrote the code or designed the system ๏‚— Two types of corrective maintenance ๏‚— Emergency Repairs - short time frame, often a single program, failure needs to be repaired as soon as possible ๏‚— Scheduled Repairs - failure doesnโ€™t need immediate attention, re-examination of all emergency repairs 13 January 2012 Made by Utpal Ray 14
  • 15. Software Maintenance Adaptive Maintenance ๏‚— The evolution of the system to meet the needs of the user and the business ๏‚— Caused by ๏‚— internal needs ๏‚— external competition ๏‚— external requirements e.g. changes in law ๏‚— Essentially we are introducing new requirements to the system ๏‚— Therefore we should treat like a new development in our approach and methods 13 January 2012 Made by Utpal Ray 15
  • 16. Software Maintenance Perfective Maintenance ๏‚— Old proverb says โ€œIf it isnโ€™t broken, donโ€™t fix itโ€ ๏‚— Perfective maintenance ignores this ancient piece of wisdom ๏‚— Is about improving the quality of a program that already works ๏‚— Aim to achieve ๏‚— reduced costs in using the system ๏‚— increase maintainability of the system ๏‚— more closely meet the usersโ€™ needs 13 January 2012 Made by Utpal Ray 16
  • 17. Software Maintenance Perfective Maintenance (2) ๏‚— Includes all efforts to polish or refine the quality of the software or the documentation ๏‚— Important that the potential benefits of the perfective maintenance outweigh ๏‚— the costs of the maintenance ๏‚— and the opportunity costs of improvements elsewhere or using the resources on new developments ๏‚— Therefore before performing perfective maintenance, one should go through an analysis process ๏‚— Nevertheless, a little perfective maintenance can have dramatic effects 13 January 2012 Made by Utpal Ray 17
  • 18. Software Maintenance Preventative Maintenance ๏‚— Can be seen as radical perfective maintenance or as an alternative to maintenance ๏‚— More commonly known as Software Re- engineering ๏‚— Taking a legacy system and converting its structure or converting to a new language ๏‚— Old system starts as a specification for the new system ๏‚— Common method now is known as wrappers where an entire system is placed in an OO wrapper and treated as one large object 13 January 2012 Made by Utpal Ray 18
  • 19. Software Maintenance Alternatives to Maintenance ๏‚— Sometimes, maintenance is not enough on its own ๏‚— Partial restructuring integrated with adaptive maintenance ๏‚— use for orderly improvement with each system release ๏‚— Complete restructuring or overhaul of the existing code ๏‚— use on highly maintenance-prone system 13 January 2012 Made by Utpal Ray 19
  • 20. Software Maintenance Alternatives to Maintenance (2) ๏‚— Complete redesign and rewrite ๏‚— Use when more than 20% of program must be changed ๏‚— Use when program is being upgraded to a new technology ๏‚— Donโ€™t use when the design and function of a system are not known ๏‚— Retirement of the system and complete redevelopment ๏‚— Use when moving to a new technology ๏‚— use when the costs of maintaining the software and the hardware exceed the cost of re-development 13 January 2012 Made by Utpal Ray 20
  • 21. Software Maintenance The Maintenance Process Below is an ideal process, that is often not achieved Change requests System Change Impact Change System release management analysis implementation release planning Perfective Adaptive Corrective maintenance maintenance maintenance 13 January 2012 Made by Utpal Ray 21
  • 22. Software Maintenance The Maintenance Process (2) ๏‚— Change Management ๏‚— Uniquely identify, describe and track the status of all change requests ๏‚— Impact Analysis ๏‚— identifies all systems and system products affected by a change request ๏‚— makes an estimate of the resources needed to effect the change ๏‚— analyses the benefits of the change ๏‚— System Release Planning ๏‚— to establish the schedule and contents of a system release ๏‚— donโ€™t want each change request released as they are processed 13 January 2012 Made by Utpal Ray 22
  • 23. Software Maintenance The Maintenance Process (3) ๏‚— Change Implementation ๏‚— Design Changes ๏‚— Coding ๏‚— Testing - must perform regression testing ๏‚— System Release includes ๏‚— documentation ๏‚— software ๏‚— training ๏‚— hardware changes ๏‚— data conversion 13 January 2012 Made by Utpal Ray 23
  • 24. Software Maintenance Lehmanโ€™s Laws of Software Change ๏‚— Five laws based upon the growth and evolution of a number of large software systems ๏‚— Law of Continuing Change ๏‚— A program used in a real-world environment necessarily must change or become less useful in that environment ๏‚— Law of Increasing Complexity ๏‚— As an evolving program changes, its structure tends to become more complex. Extra resources must be devoted to preserving and simplifying the structure 13 January 2012 Made by Utpal Ray 24
  • 25. Software Maintenance Lehmanโ€™s Laws of Software Change (2) ๏‚— Law of Large Program Evolution ๏‚— Program evolution is a self-regulating process. System attributes such as size, time between releases and the number of reported errors are approximately invariant for each system release ๏‚— Law of Organisational Stability ๏‚— Over a programโ€™s lifetime, its rate of development is approximately constant and independent of the resources devoted to system development ๏‚— Law of Conservation of Familiarity ๏‚— Over the lifetime of a system, the incremental change in each release is approximately constant 13 January 2012 Made by Utpal Ray 25
  • 26. Software Maintenance Motivating Maintenance Staff ๏‚— Often considered a dead-end in organisations as well as being boring! ๏‚— Critical to the success of the organisation ๏‚— Possible strategies ๏‚— Couple software objectives to organisational goals ๏‚— Couple software maintenance rewards to organisational performance ๏‚— Integrate software maintenance personnel into operational teams ๏‚— Create a discretionary, perfective/preventative maintenance budget which allows the maintenance team to decide when to re-engineer the system ๏‚— Involve maintenance staff early in the software process during standards preparation, reviews and test preparation 13 January 2012 Made by Utpal Ray 26
  • 27. Software Maintenance HOME TASK 1. Explain the factors which affect the maintenance cost. 2. Explain the different types of Maintenance. 3. Explain the Lehmanโ€™s Laws of Software Change. 4. Explain the Maintenance Process.