SlideShare a Scribd company logo
Chapter No. 5

Maintenance



                1
Study Resources:
  Reference Books

• Analysis and design of information systems: James A. Senn.
  Page no. 694
• System Analysis And Design: Jalote. Page No. 11
• Software Engineering : Pressman. Page No. 762
• Software Engineering Concepts: Richard Fairley. Page No. 311-
  328



                                                             2
5.1.   Types of Maintenance
       The process of changing of a system after it
       has been delivered and is in use is called
       Software maintenance.
•      Why maintenance is required:
    • Not as rewarding as exciting as developing systems. It is
      perceived as requiring neither skill nor experience.
    • Users are not fully cognizant of the maintenance problem or
      its high cost.
    • Few tools and techniques are available for maintenance.
    • A good test plan is lacking.

                                                                3
5.1.   Types of Maintenance
Why maintenance is required:

   • Standards, procedures, and guidelines are poorly defined
     and enforced.
   • Maintenance is viewed as a necessary evil, often delegated
     to junior programmers. There are practically no
     maintenance manager job classification in the MIS field.
   • Programs are often maintained without care for structure
       and documentation.



                                                                  4
5.1.   Types of Maintenance
Types of software maintenance

1.     Corrective maintenance
2.     Adaptive maintenance
3.     Perfective maintenance
4.     Preventive maintenance



                                5
1. Corrective maintenance
• Maintenance which is required when an item has
  failed or worn out, to bring it back to working
  order.
• In most cases this is expensive.
• When equipment fails, need to replace, coding
  errors.
• Cost of this type of maintenance is must not
  greater that preventive maintenance.
• Is concern with fixing reported errors in the
  software.

                                                    6
2. Adaptive maintenance

• Changing the s/f to new environment i.e.
  changing h/w platform, operating system.

• Addition of new features, capabilities, up
  gradations, new requirements, new problems.

• Isolation of system-dependent features.


                                                7
3. Perfective maintenance
• Perfective maintenance involves implementing
  new functional or non-functional system
  requirements.
• Enhance the system by improving efficiency,
  reliability, functionality, or maintainability.
• Corrective and adaptive maintenance are reactive.
• Perfective maintenance, in contract, is proactive.
• The idea is to fix the system before it breaks

                                                   8
4. Preventive maintenance

• The objective of preventive maintenance is to
  anticipate problems and correct them before
  they occur.

• System performance monitoring is an
  important key to preventive maintenance.


                                                  9
5.2.   Maintenance Cost
Software maintenance costs around 50% of total
software life-cycle cost.
How to reduce maintenance cost:

•      Maintenance management audit
•      Software system audit
•      Software modification


                                                 10
Maintenance management audit
• This evaluates the quality of maintenance
  effort .
• Follow-up of all requests of maintenance.
• Total hours worked are spent on error
  corrections, addition/changes/deletions, and
  improvements.
• Organization must have a well-defined
  maintenance reduction program.

                                                 11
Software system audit
1. Overall view of the system documents and an
   assessment of the quality of data files and data
   bases and system maintainability, reliability and
   efficiency.
2. Determination of functionality and assignment of
   preliminary ranking value.
3. Detail program audit – ranking value, mean time
   between failure(MTBF), size of the maintenance
   backlog. This determines system availability to
   users.
                                                  12
Software modification
1. Program rewrites , which includes logic
   simplification, documentation updates, error
   correction.
2. System level updates, which includes system
   level documentations, up to date DFDs or
   system      flowcharts,   cross-   references
   programs.
3. Reaudit of low-ranking programs to make
   sure that the errors have been corrected.

                                               13
5.3.   Reverse Engineering

•   Process of creating specifications that describe the action
    of existing applications.

•   Reverse engineering can also be performed to recreate the

       information describing the intent of existing systems.

•   Reverse engineering is an important concept that fits with

       evolution of information systems.


                                                                14
5.3.   What is Reverse Engineering ?


       Forward Engineering

                    Requirements


                        Design


                     Source Code


                       Behavior
                                       15
5.3.   What is Reverse Engineering ?


       Forward Engineering        Reverse Engineering

                    Requirements


                        Design


                     Source Code


                       Behavior
                                                        16
5.3.   What is Reverse Engineering?

1. A systematic methodology for analyzing the design of an
   existing device or system, either as an approach to study
   the design or as a prerequisite for re-design.

2. Is the process of analysing a subject system to identify the
    system’s components and their interrelationships and
    create representations of the system in another form or at

    a higher level of abstraction.
                                     — Chikofsky & Cross, 1990
                                                             17
5.3.   What is Reverse Engineering?
3. Analysing software with a view to understanding its
    design and specification

4. May be part of a re-engineering process but may also be
    used to re-specify a system for re-implementation

5. Builds a program data base and generates information
    from this

6. Program understanding tools (browsers, cross-reference
    generators, etc.) may be used in this process

7. To derive design information at the highest level possible
                                                                18
Software Reengineering Process
                                Program       Modularised       Original data
 Original
                             documentation     program
 program

                 Reverse
               engineering
                                                         Data
Source code                    Program               reengineering
 translation                 modularisation

                 Program
                 structure
               improvement
                               Structured              Reengineered
                                program                    data




                                                                            19
The Reverse Engineering Process

                                                        Program stucture
                Automated                                  diagrams
                 analysis
                                System
System to be                               Document      Data stucture
                             information
re-engineered                              generation     diagrams
                                 store
                 Manual
                annotation                                Traceability
                                                           matrices




                                                                    20
The Reverse Engineering Process
1. Collect Information

2. Examine Information

3. Extract the Structure

4. Record Functionality

5. Record Data-flow

6. Record Control-flow


                                  21
5.3.   What is Reverse Engineering?

                      Abstraction System


Reverse Engineering                    Forward Engineering
      Abstraction                       Re-Implementation




               Old system          New System


                                                       22
5.3.   What is Reverse Engineering?

• RE encompasses any activity that is done to
  determine how a product works, to learn the
  ideas and technology that were used in
  developing that product.
• RE can be done at many levels
• RE generally      belongs       to   Software
  Maintenance

                                              23
5.3.   Difference - Reverse Engineering &
           Reengineering
• Reverse engineering is the general process of analyzing a
    technology specifically to ascertain how it was designed or how
    it operates. This kind of inquiry engages individuals in a
    constructive learning process about the operation of systems
    and products.
•    Reverse engineering as a method is not confined to any
    particular purpose, but is often an important part of the scientific
    method and technological development.
• Reverse-engineering is taking apart a finished product for the
    purposes of learning how it works.
                                                                     24
5.3.   Difference - Reverse Engineering &
           Reengineering
• Re-engineering is the bridge used by legacy software to
     migrate    to     an   organization’s   new   maintenance
     environment.
•     Less formally, Re-engineering is the modification of a
     software system that takes place after it has been reverse
     engineered, generally to add new functionality, or to
     correct errors.
•     Re-engineering is simply a new re-implementation of a
     product with better engineering.                       25
5.3.   Difference - Reverse Engineering &
       Reengineering


• Reverse engineering is to take a bridge
 apart (separately) to see how it was built.


• Re-engineering is to throw a bridge away
 and rebuild it from scratch.

                                               26
5.3.   Why do we need RE ?

  • Recovery of lost information
       – providing proper system documentation

  • Assisting with maintenance
       – identification of side effects and anomalies

  • Migration to another hw/sw platform

  • Facilitating software reuse
                                                        27
5.3. Why     do we need RE ?


• Benefits
  – maintenance cost savings
  – quality improvements
  – competitive advantages
  – software reuse facilitation




                                  28
Scope and Task of Reverse Engineering

 • program understanding
              Problem/Application
                    domain


         Mapping



              Program/Implemen.
                    domain
                                    29
Scope and Task of Reverse Engineering

• Redocumentation          and/or     document
  generation
• Recovery of design approach and design
  details at any level of abstraction
• Identifying reusable components and
  components that need restructuring
• Recovering business rules
• Understanding high-level system description.
                                             30
Levels of abstractions
 • Application
    – Application concepts, business rule, policies
 • Function
    – Logical and functional specification, non-functional
      requirement
 • Structure
    – Data and control flow, dependency graphs
    – Structure and subsystem charts
    – Architectures
 • Implementation
    – Symbol tables, source text
                                                             31
5.3.   Reverse Engineering

•Reverse engineering is required because of


        •To understand data
        •To understand processing

        •To modify user interface



                                              32
5.3.   Reverse Engineering

Processes of Reverse Engineering:


        1. Abstraction level

        2. Completeness

        3. Directionality




                                    33
5.4.   Introduction to legacy systems
•      Legacy systems are considered to be potentially problematic by many

       software engineers for several reasons.

•      These systems can be hard to maintain, improve, and expand because

       there is a general lack of understanding of the system .

•      A legacy system is an antiquated (OLD FACHIONED) computer system

       or application program which continues to be used because the user

       (typically an organization) does not want to replace or redesign it.


                                                                              34
5.4.   Introduction to legacy systems

•      An old method, technology, computer system, or application
       program.

•      Continues to be used, typically because it still functions for
       the users' needs, even though newer technology or more

       efficient methods of performing a task are now available   .
•      Older software systems that remain vital to an organisation.



                                                                      35
5.4.   Introduction to legacy systems

•      These systems are often hard to maintain, improve, and expand
       because there is a general lack of understanding of the system;

•      The designers of the system have left the organization, so there is
       no one left to explain how it works.

•      Lack of understanding can be exacerbated by inadequate
       documentation, or manuals getting lost over the years.

•      Integration with newer systems may also be difficult because new
       software may use completely different technologies.


                                                                         36
5.4.   Introduction to legacy systems
Despite these problems, organizations can have compelling reasons for
keeping a legacy system, such as:
1. The costs of redesigning the system are prohibitive because it is
   large, monolithic, and/or complex.
2. The system requires close to 100% availability, so it cannot be
   taken out of service, and the cost of designing a new system with a
   similar availability level are high.
3. The way the system works is not well understood. Such a situation
   can occur when the designers of the system have left the
   organization, and the system has either not been fully documented
   or such documentation has been lost over the years.
4. The user expects that the system can easily be replaced when this
   becomes necessary.
5. The system works satisfactorily, and the owner sees no reason for
   changing it.
                                                                    37
5.5. Role of documentation in maintenance and
    types of documentation.

•   It is one of the oldest recommended practices and yet has
    been, and continues to be, renowned for its absence.

•   Software maintenance is traditionally defined as any
    modification made on a software system after its delivery.

•   predominant activity in software engineering




                                                            38
5.5.   TYPES OF DOCUMENTATION

• Types of documentation include:

•      Requirements
•      Architecture/Design
•      Technical
•      End User
•      Marketing


                                    39

More Related Content

What's hot

Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
Indu Sharma Bhardwaj
 
Software Quality
Software QualitySoftware Quality
Software Quality
Ronald Harmsen
 
Software Measurement and Metrics.pptx
Software Measurement and Metrics.pptxSoftware Measurement and Metrics.pptx
Software Measurement and Metrics.pptx
ubaidullah75790
 
Software Engineering Process Models
Software Engineering Process Models Software Engineering Process Models
Software Engineering Process Models
Satya P. Joshi
 
Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
Md. Shafiuzzaman Hira
 
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
Moutasm Tamimi
 
Introduction to Software Review
Introduction to Software ReviewIntroduction to Software Review
Introduction to Software ReviewPhilip Johnson
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified Process
Kumar
 
Bse 3105 lecture 4-software re-engineering
Bse 3105  lecture 4-software re-engineeringBse 3105  lecture 4-software re-engineering
Bse 3105 lecture 4-software re-engineering
Alonzee Tash
 
Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
Muhammad Asim
 
Software Re-engineering Forward & Reverse Engineering
Software Re-engineering Forward & Reverse EngineeringSoftware Re-engineering Forward & Reverse Engineering
Software Re-engineering Forward & Reverse Engineering
Ali Raza
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software ReengineeringAbdul Wahid
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5
Mohammad Faizan
 
Component based development | what, why and how
Component based development | what, why and howComponent based development | what, why and how
Component based development | what, why and how
Rakesh Kumar Jha
 
Software quality management lecture notes
Software quality management lecture notesSoftware quality management lecture notes
Software quality management lecture notes
AVC College of Engineering
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software Reengineering
Deniz Kılınç
 
SDLC ITS MODEL AND SOFTWARE TESTING
SDLC ITS MODEL AND SOFTWARE TESTING SDLC ITS MODEL AND SOFTWARE TESTING
SDLC ITS MODEL AND SOFTWARE TESTING
Abhinav Shukla
 
Component Based Software Engineering
Component Based Software EngineeringComponent Based Software Engineering
Component Based Software Engineering
SatishDabhi1
 

What's hot (20)

Software maintenance
Software maintenanceSoftware maintenance
Software maintenance
 
Software Quality
Software QualitySoftware Quality
Software Quality
 
Software Measurement and Metrics.pptx
Software Measurement and Metrics.pptxSoftware Measurement and Metrics.pptx
Software Measurement and Metrics.pptx
 
Software Engineering Process Models
Software Engineering Process Models Software Engineering Process Models
Software Engineering Process Models
 
Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
 
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
 
Introduction to Software Review
Introduction to Software ReviewIntroduction to Software Review
Introduction to Software Review
 
Rational Unified Process
Rational Unified ProcessRational Unified Process
Rational Unified Process
 
Bse 3105 lecture 4-software re-engineering
Bse 3105  lecture 4-software re-engineeringBse 3105  lecture 4-software re-engineering
Bse 3105 lecture 4-software re-engineering
 
Quality & Reliability in Software Engineering
Quality & Reliability in Software EngineeringQuality & Reliability in Software Engineering
Quality & Reliability in Software Engineering
 
Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
 
Software Re-engineering Forward & Reverse Engineering
Software Re-engineering Forward & Reverse EngineeringSoftware Re-engineering Forward & Reverse Engineering
Software Re-engineering Forward & Reverse Engineering
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software Reengineering
 
Software maintenance Unit5
Software maintenance  Unit5Software maintenance  Unit5
Software maintenance Unit5
 
Component based development | what, why and how
Component based development | what, why and howComponent based development | what, why and how
Component based development | what, why and how
 
Software quality management lecture notes
Software quality management lecture notesSoftware quality management lecture notes
Software quality management lecture notes
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software Reengineering
 
SDLC ITS MODEL AND SOFTWARE TESTING
SDLC ITS MODEL AND SOFTWARE TESTING SDLC ITS MODEL AND SOFTWARE TESTING
SDLC ITS MODEL AND SOFTWARE TESTING
 
Software Maintenance
Software MaintenanceSoftware Maintenance
Software Maintenance
 
Component Based Software Engineering
Component Based Software EngineeringComponent Based Software Engineering
Component Based Software Engineering
 

Viewers also liked

Software re engineering
Software re engineeringSoftware re engineering
Software re engineering
deshpandeamrut
 
Legacy Software Maintenance And Management
Legacy Software Maintenance And ManagementLegacy Software Maintenance And Management
Legacy Software Maintenance And Management
ValueCoders
 
10 software maintenance
10 software maintenance10 software maintenance
10 software maintenanceakiara
 
Software Engineering unit 5
Software Engineering unit 5Software Engineering unit 5
Software Engineering unit 5
Abhimanyu Mishra
 
12 software maintenance
12 software maintenance12 software maintenance
Software maintenance
Software maintenance Software maintenance
Software maintenance Rajeev Sharan
 
Chapter 9 software maintenance
Chapter 9 software maintenanceChapter 9 software maintenance
Chapter 9 software maintenance
despicable me
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
Atul Karmyal
 
7. The Software Development Process - Maintenance
7. The Software Development Process - Maintenance7. The Software Development Process - Maintenance
7. The Software Development Process - MaintenanceForrester High School
 

Viewers also liked (11)

Software re engineering
Software re engineeringSoftware re engineering
Software re engineering
 
Legacy Software Maintenance And Management
Legacy Software Maintenance And ManagementLegacy Software Maintenance And Management
Legacy Software Maintenance And Management
 
10 software maintenance
10 software maintenance10 software maintenance
10 software maintenance
 
Software Engineering unit 5
Software Engineering unit 5Software Engineering unit 5
Software Engineering unit 5
 
Slides chapter 1
Slides chapter 1Slides chapter 1
Slides chapter 1
 
12 software maintenance
12 software maintenance12 software maintenance
12 software maintenance
 
Software maintenance
Software maintenance Software maintenance
Software maintenance
 
Chapter 9 software maintenance
Chapter 9 software maintenanceChapter 9 software maintenance
Chapter 9 software maintenance
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
7. The Software Development Process - Maintenance
7. The Software Development Process - Maintenance7. The Software Development Process - Maintenance
7. The Software Development Process - Maintenance
 

Similar to 5 chap - MAINTENANCE

Lecture - 7-10.pptx
Lecture - 7-10.pptxLecture - 7-10.pptx
Lecture - 7-10.pptx
FarHana74914
 
ISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.pptISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.ppt
HumzaWaris1
 
Software Maintenance with detailed description
Software Maintenance with detailed descriptionSoftware Maintenance with detailed description
Software Maintenance with detailed description
SaileshSingh27
 
Ch2
Ch2Ch2
Ch2
Limkri
 
Sofware Engineering Important Past Paper 2019
Sofware Engineering Important Past Paper 2019Sofware Engineering Important Past Paper 2019
Sofware Engineering Important Past Paper 2019
MuhammadTalha436
 
Ch2.Part2.Modified.ppt
Ch2.Part2.Modified.pptCh2.Part2.Modified.ppt
Ch2.Part2.Modified.ppt
Melisa521270
 
software Engineering process
software Engineering processsoftware Engineering process
software Engineering process
Raheel Aslam
 
Software process
Software processSoftware process
Software process
Jennifer Polack
 
Ian Sommerville, Software Engineering, 9th Edition Ch2
Ian Sommerville,  Software Engineering, 9th Edition Ch2Ian Sommerville,  Software Engineering, 9th Edition Ch2
Ian Sommerville, Software Engineering, 9th Edition Ch2
Mohammed Romi
 
Reverse engineering
Reverse  engineeringReverse  engineering
Reverse engineeringYuffie Valen
 
Software reverse engineering
Software reverse engineeringSoftware reverse engineering
Software reverse engineering
Parminder Singh
 
G213538
G213538G213538
3Audit Software & Tools.pptx
3Audit Software & Tools.pptx3Audit Software & Tools.pptx
3Audit Software & Tools.pptx
jack952975
 
Se lec 3
Se lec 3Se lec 3
Se lec 3
Huda Alameen
 
Softweare Engieering
Softweare Engieering Softweare Engieering
Softweare Engieering
Huda Alameen
 
Software Engineering The Multiview Approach And Wisdm
Software Engineering   The Multiview Approach And WisdmSoftware Engineering   The Multiview Approach And Wisdm
Software Engineering The Multiview Approach And Wisdmguestc990b6
 
software engineering
software engineering software engineering
software engineering
bharati vidhyapeeth uni.-pune
 
Unit5.pptx
Unit5.pptxUnit5.pptx
Unit5.pptx
Anish874317
 
Ch2-2.pptx
Ch2-2.pptxCh2-2.pptx

Similar to 5 chap - MAINTENANCE (20)

Lecture - 7-10.pptx
Lecture - 7-10.pptxLecture - 7-10.pptx
Lecture - 7-10.pptx
 
ISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.pptISE_Lecture Week 2-SW Process Models.ppt
ISE_Lecture Week 2-SW Process Models.ppt
 
Software Maintenance with detailed description
Software Maintenance with detailed descriptionSoftware Maintenance with detailed description
Software Maintenance with detailed description
 
Ch2
Ch2Ch2
Ch2
 
Sofware Engineering Important Past Paper 2019
Sofware Engineering Important Past Paper 2019Sofware Engineering Important Past Paper 2019
Sofware Engineering Important Past Paper 2019
 
Ch2.Part2.Modified.ppt
Ch2.Part2.Modified.pptCh2.Part2.Modified.ppt
Ch2.Part2.Modified.ppt
 
software Engineering process
software Engineering processsoftware Engineering process
software Engineering process
 
Software process
Software processSoftware process
Software process
 
Ian Sommerville, Software Engineering, 9th Edition Ch2
Ian Sommerville,  Software Engineering, 9th Edition Ch2Ian Sommerville,  Software Engineering, 9th Edition Ch2
Ian Sommerville, Software Engineering, 9th Edition Ch2
 
Reverse engineering
Reverse  engineeringReverse  engineering
Reverse engineering
 
Software reverse engineering
Software reverse engineeringSoftware reverse engineering
Software reverse engineering
 
G213538
G213538G213538
G213538
 
3Audit Software & Tools.pptx
3Audit Software & Tools.pptx3Audit Software & Tools.pptx
3Audit Software & Tools.pptx
 
Se lec 3
Se lec 3Se lec 3
Se lec 3
 
Softweare Engieering
Softweare Engieering Softweare Engieering
Softweare Engieering
 
Presentation2
Presentation2Presentation2
Presentation2
 
Software Engineering The Multiview Approach And Wisdm
Software Engineering   The Multiview Approach And WisdmSoftware Engineering   The Multiview Approach And Wisdm
Software Engineering The Multiview Approach And Wisdm
 
software engineering
software engineering software engineering
software engineering
 
Unit5.pptx
Unit5.pptxUnit5.pptx
Unit5.pptx
 
Ch2-2.pptx
Ch2-2.pptxCh2-2.pptx
Ch2-2.pptx
 

More from sujitkumar Sujit.Karande (6)

Dss 08
Dss 08Dss 08
Dss 08
 
Sample question format
Sample question formatSample question format
Sample question format
 
Lect1
Lect1Lect1
Lect1
 
Strategic role of information
Strategic role of informationStrategic role of information
Strategic role of information
 
6 chap
6 chap6 chap
6 chap
 
Dss2
Dss2Dss2
Dss2
 

Recently uploaded

Thesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.pptThesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.ppt
EverAndrsGuerraGuerr
 
How to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP ModuleHow to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP Module
Celine George
 
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
Executive Directors Chat  Leveraging AI for Diversity, Equity, and InclusionExecutive Directors Chat  Leveraging AI for Diversity, Equity, and Inclusion
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
TechSoup
 
Azure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHatAzure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHat
Scholarhat
 
Acetabularia Information For Class 9 .docx
Acetabularia Information For Class 9  .docxAcetabularia Information For Class 9  .docx
Acetabularia Information For Class 9 .docx
vaibhavrinwa19
 
DRUGS AND ITS classification slide share
DRUGS AND ITS classification slide shareDRUGS AND ITS classification slide share
DRUGS AND ITS classification slide share
taiba qazi
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Dr. Vinod Kumar Kanvaria
 
Top five deadliest dog breeds in America
Top five deadliest dog breeds in AmericaTop five deadliest dog breeds in America
Top five deadliest dog breeds in America
Bisnar Chase Personal Injury Attorneys
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama UniversityNatural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Akanksha trivedi rama nursing college kanpur.
 
Landownership in the Philippines under the Americans-2-pptx.pptx
Landownership in the Philippines under the Americans-2-pptx.pptxLandownership in the Philippines under the Americans-2-pptx.pptx
Landownership in the Philippines under the Americans-2-pptx.pptx
JezreelCabil2
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
SACHIN R KONDAGURI
 
Digital Artifact 2 - Investigating Pavilion Designs
Digital Artifact 2 - Investigating Pavilion DesignsDigital Artifact 2 - Investigating Pavilion Designs
Digital Artifact 2 - Investigating Pavilion Designs
chanes7
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
Jean Carlos Nunes Paixão
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
EugeneSaldivar
 
Best Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDABest Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDA
deeptiverma2406
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
Academy of Science of South Africa
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
MysoreMuleSoftMeetup
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
Delapenabediema
 
Advantages and Disadvantages of CMS from an SEO Perspective
Advantages and Disadvantages of CMS from an SEO PerspectiveAdvantages and Disadvantages of CMS from an SEO Perspective
Advantages and Disadvantages of CMS from an SEO Perspective
Krisztián Száraz
 

Recently uploaded (20)

Thesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.pptThesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.ppt
 
How to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP ModuleHow to Add Chatter in the odoo 17 ERP Module
How to Add Chatter in the odoo 17 ERP Module
 
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
Executive Directors Chat  Leveraging AI for Diversity, Equity, and InclusionExecutive Directors Chat  Leveraging AI for Diversity, Equity, and Inclusion
Executive Directors Chat Leveraging AI for Diversity, Equity, and Inclusion
 
Azure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHatAzure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHat
 
Acetabularia Information For Class 9 .docx
Acetabularia Information For Class 9  .docxAcetabularia Information For Class 9  .docx
Acetabularia Information For Class 9 .docx
 
DRUGS AND ITS classification slide share
DRUGS AND ITS classification slide shareDRUGS AND ITS classification slide share
DRUGS AND ITS classification slide share
 
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
Exploiting Artificial Intelligence for Empowering Researchers and Faculty, In...
 
Top five deadliest dog breeds in America
Top five deadliest dog breeds in AmericaTop five deadliest dog breeds in America
Top five deadliest dog breeds in America
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
 
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama UniversityNatural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
 
Landownership in the Philippines under the Americans-2-pptx.pptx
Landownership in the Philippines under the Americans-2-pptx.pptxLandownership in the Philippines under the Americans-2-pptx.pptx
Landownership in the Philippines under the Americans-2-pptx.pptx
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
 
Digital Artifact 2 - Investigating Pavilion Designs
Digital Artifact 2 - Investigating Pavilion DesignsDigital Artifact 2 - Investigating Pavilion Designs
Digital Artifact 2 - Investigating Pavilion Designs
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
 
Best Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDABest Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDA
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
 
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
Mule 4.6 & Java 17 Upgrade | MuleSoft Mysore Meetup #46
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
 
Advantages and Disadvantages of CMS from an SEO Perspective
Advantages and Disadvantages of CMS from an SEO PerspectiveAdvantages and Disadvantages of CMS from an SEO Perspective
Advantages and Disadvantages of CMS from an SEO Perspective
 

5 chap - MAINTENANCE

  • 2. Study Resources: Reference Books • Analysis and design of information systems: James A. Senn. Page no. 694 • System Analysis And Design: Jalote. Page No. 11 • Software Engineering : Pressman. Page No. 762 • Software Engineering Concepts: Richard Fairley. Page No. 311- 328 2
  • 3. 5.1. Types of Maintenance The process of changing of a system after it has been delivered and is in use is called Software maintenance. • Why maintenance is required: • Not as rewarding as exciting as developing systems. It is perceived as requiring neither skill nor experience. • Users are not fully cognizant of the maintenance problem or its high cost. • Few tools and techniques are available for maintenance. • A good test plan is lacking. 3
  • 4. 5.1. Types of Maintenance Why maintenance is required: • Standards, procedures, and guidelines are poorly defined and enforced. • Maintenance is viewed as a necessary evil, often delegated to junior programmers. There are practically no maintenance manager job classification in the MIS field. • Programs are often maintained without care for structure and documentation. 4
  • 5. 5.1. Types of Maintenance Types of software maintenance 1. Corrective maintenance 2. Adaptive maintenance 3. Perfective maintenance 4. Preventive maintenance 5
  • 6. 1. Corrective maintenance • Maintenance which is required when an item has failed or worn out, to bring it back to working order. • In most cases this is expensive. • When equipment fails, need to replace, coding errors. • Cost of this type of maintenance is must not greater that preventive maintenance. • Is concern with fixing reported errors in the software. 6
  • 7. 2. Adaptive maintenance • Changing the s/f to new environment i.e. changing h/w platform, operating system. • Addition of new features, capabilities, up gradations, new requirements, new problems. • Isolation of system-dependent features. 7
  • 8. 3. Perfective maintenance • Perfective maintenance involves implementing new functional or non-functional system requirements. • Enhance the system by improving efficiency, reliability, functionality, or maintainability. • Corrective and adaptive maintenance are reactive. • Perfective maintenance, in contract, is proactive. • The idea is to fix the system before it breaks 8
  • 9. 4. Preventive maintenance • The objective of preventive maintenance is to anticipate problems and correct them before they occur. • System performance monitoring is an important key to preventive maintenance. 9
  • 10. 5.2. Maintenance Cost Software maintenance costs around 50% of total software life-cycle cost. How to reduce maintenance cost: • Maintenance management audit • Software system audit • Software modification 10
  • 11. Maintenance management audit • This evaluates the quality of maintenance effort . • Follow-up of all requests of maintenance. • Total hours worked are spent on error corrections, addition/changes/deletions, and improvements. • Organization must have a well-defined maintenance reduction program. 11
  • 12. Software system audit 1. Overall view of the system documents and an assessment of the quality of data files and data bases and system maintainability, reliability and efficiency. 2. Determination of functionality and assignment of preliminary ranking value. 3. Detail program audit – ranking value, mean time between failure(MTBF), size of the maintenance backlog. This determines system availability to users. 12
  • 13. Software modification 1. Program rewrites , which includes logic simplification, documentation updates, error correction. 2. System level updates, which includes system level documentations, up to date DFDs or system flowcharts, cross- references programs. 3. Reaudit of low-ranking programs to make sure that the errors have been corrected. 13
  • 14. 5.3. Reverse Engineering • Process of creating specifications that describe the action of existing applications. • Reverse engineering can also be performed to recreate the information describing the intent of existing systems. • Reverse engineering is an important concept that fits with evolution of information systems. 14
  • 15. 5.3. What is Reverse Engineering ? Forward Engineering Requirements Design Source Code Behavior 15
  • 16. 5.3. What is Reverse Engineering ? Forward Engineering Reverse Engineering Requirements Design Source Code Behavior 16
  • 17. 5.3. What is Reverse Engineering? 1. A systematic methodology for analyzing the design of an existing device or system, either as an approach to study the design or as a prerequisite for re-design. 2. Is the process of analysing a subject system to identify the system’s components and their interrelationships and create representations of the system in another form or at a higher level of abstraction. — Chikofsky & Cross, 1990 17
  • 18. 5.3. What is Reverse Engineering? 3. Analysing software with a view to understanding its design and specification 4. May be part of a re-engineering process but may also be used to re-specify a system for re-implementation 5. Builds a program data base and generates information from this 6. Program understanding tools (browsers, cross-reference generators, etc.) may be used in this process 7. To derive design information at the highest level possible 18
  • 19. Software Reengineering Process Program Modularised Original data Original documentation program program Reverse engineering Data Source code Program reengineering translation modularisation Program structure improvement Structured Reengineered program data 19
  • 20. The Reverse Engineering Process Program stucture Automated diagrams analysis System System to be Document Data stucture information re-engineered generation diagrams store Manual annotation Traceability matrices 20
  • 21. The Reverse Engineering Process 1. Collect Information 2. Examine Information 3. Extract the Structure 4. Record Functionality 5. Record Data-flow 6. Record Control-flow 21
  • 22. 5.3. What is Reverse Engineering? Abstraction System Reverse Engineering Forward Engineering Abstraction Re-Implementation Old system New System 22
  • 23. 5.3. What is Reverse Engineering? • RE encompasses any activity that is done to determine how a product works, to learn the ideas and technology that were used in developing that product. • RE can be done at many levels • RE generally belongs to Software Maintenance 23
  • 24. 5.3. Difference - Reverse Engineering & Reengineering • Reverse engineering is the general process of analyzing a technology specifically to ascertain how it was designed or how it operates. This kind of inquiry engages individuals in a constructive learning process about the operation of systems and products. • Reverse engineering as a method is not confined to any particular purpose, but is often an important part of the scientific method and technological development. • Reverse-engineering is taking apart a finished product for the purposes of learning how it works. 24
  • 25. 5.3. Difference - Reverse Engineering & Reengineering • Re-engineering is the bridge used by legacy software to migrate to an organization’s new maintenance environment. • Less formally, Re-engineering is the modification of a software system that takes place after it has been reverse engineered, generally to add new functionality, or to correct errors. • Re-engineering is simply a new re-implementation of a product with better engineering. 25
  • 26. 5.3. Difference - Reverse Engineering & Reengineering • Reverse engineering is to take a bridge apart (separately) to see how it was built. • Re-engineering is to throw a bridge away and rebuild it from scratch. 26
  • 27. 5.3. Why do we need RE ? • Recovery of lost information – providing proper system documentation • Assisting with maintenance – identification of side effects and anomalies • Migration to another hw/sw platform • Facilitating software reuse 27
  • 28. 5.3. Why do we need RE ? • Benefits – maintenance cost savings – quality improvements – competitive advantages – software reuse facilitation 28
  • 29. Scope and Task of Reverse Engineering • program understanding Problem/Application domain Mapping Program/Implemen. domain 29
  • 30. Scope and Task of Reverse Engineering • Redocumentation and/or document generation • Recovery of design approach and design details at any level of abstraction • Identifying reusable components and components that need restructuring • Recovering business rules • Understanding high-level system description. 30
  • 31. Levels of abstractions • Application – Application concepts, business rule, policies • Function – Logical and functional specification, non-functional requirement • Structure – Data and control flow, dependency graphs – Structure and subsystem charts – Architectures • Implementation – Symbol tables, source text 31
  • 32. 5.3. Reverse Engineering •Reverse engineering is required because of •To understand data •To understand processing •To modify user interface 32
  • 33. 5.3. Reverse Engineering Processes of Reverse Engineering: 1. Abstraction level 2. Completeness 3. Directionality 33
  • 34. 5.4. Introduction to legacy systems • Legacy systems are considered to be potentially problematic by many software engineers for several reasons. • These systems can be hard to maintain, improve, and expand because there is a general lack of understanding of the system . • A legacy system is an antiquated (OLD FACHIONED) computer system or application program which continues to be used because the user (typically an organization) does not want to replace or redesign it. 34
  • 35. 5.4. Introduction to legacy systems • An old method, technology, computer system, or application program. • Continues to be used, typically because it still functions for the users' needs, even though newer technology or more efficient methods of performing a task are now available . • Older software systems that remain vital to an organisation. 35
  • 36. 5.4. Introduction to legacy systems • These systems are often hard to maintain, improve, and expand because there is a general lack of understanding of the system; • The designers of the system have left the organization, so there is no one left to explain how it works. • Lack of understanding can be exacerbated by inadequate documentation, or manuals getting lost over the years. • Integration with newer systems may also be difficult because new software may use completely different technologies. 36
  • 37. 5.4. Introduction to legacy systems Despite these problems, organizations can have compelling reasons for keeping a legacy system, such as: 1. The costs of redesigning the system are prohibitive because it is large, monolithic, and/or complex. 2. The system requires close to 100% availability, so it cannot be taken out of service, and the cost of designing a new system with a similar availability level are high. 3. The way the system works is not well understood. Such a situation can occur when the designers of the system have left the organization, and the system has either not been fully documented or such documentation has been lost over the years. 4. The user expects that the system can easily be replaced when this becomes necessary. 5. The system works satisfactorily, and the owner sees no reason for changing it. 37
  • 38. 5.5. Role of documentation in maintenance and types of documentation. • It is one of the oldest recommended practices and yet has been, and continues to be, renowned for its absence. • Software maintenance is traditionally defined as any modification made on a software system after its delivery. • predominant activity in software engineering 38
  • 39. 5.5. TYPES OF DOCUMENTATION • Types of documentation include: • Requirements • Architecture/Design • Technical • End User • Marketing 39