SlideShare a Scribd company logo
1 of 22
A SEMINAR ON THE TOPIC




                  UNDER THE GUIDANCE OF

                PROF R.B.HANJI
                                      BY:
                  `         ABHILASH .A.M
                           ABHILASH SHET
                            AKSHAY KUMAR
                         AMRUT DESHPANDE
                                      1
 It is a process of software development
  which is done to improve the maintainability
  of a software system.
 Technical Definition: Software Re-
  engineering is the examination and alteration
  of a system to reconstitute it in a new form.
 This process encompasses a combination of
  sub-processes such as reverse engineering,
  restructuring, redocumentation, forward
  engineering, and retargeting.


                                         2
   It is sometimes a cost-effective option for
    software system evolution.
   Applicable when some (but not all) subsystems
    of a larger system require frequent
    maintenance.
   It involves putting in the effort to make it easier
    to maintain.




                                                 3
 Legacy systems are the old software systems
  which are essential for business process
  support.
 Software re-engineering is concerned with
  re-implementing legacy systems to make
  them more maintainable. It may be the only
  viable way to ensure that legacy systems can
  continue in service.




                                         4
Re-engineering a software system has
  two key advantages:
 Reduced risk: As the software is already
  existing, the risk is less as compared to
  developing a new software.
 Reduced cost: The cost of re-engineering is
  significantly less than the costs of developing
  a new software.




                                           5
1)   Source code translation
2)   Reverse Engineering
3)   Program structure improvement
4)   Program modularisation
5)   Data re-engineering




                                     6
 It is a process of translating a source code
  from one programming language to another.
 The translated language may be an updated
  version of the original language or a
  completely different language.
 Necessity of Source-level translation:
         1.Hardware platform update
         2.Staff skill shortages
         3.Organisational policy changes
         4.Lack of software support

                                         7
System to be                   System to be    Re-engineered
re-engineered                  re-engineered
                                                  System



   Identify
    source         Design      Automatically     Manually
     code        translator      translate       translate
 differences    instructions       code            code




                                                      8
 It is the process of analysing software with
  the objective of recovering its design and
  specification.
 The program itself is unchanged by the
  reverse engineering process.
 The software source code is usually available
  as the input.
 Reverse Engineering is not the same as
  Re-engineering



                                         9
Program
                                                               structure
                                                               diagrams
                Automated
                 analysis

                                System
 System to be                              Document          Data structure
                             Information
re-engineered                              generation          diagrams
                                 Store


                  Manual
                annotation
                                                              Traceability
                                                                matrices




                                                        10
 It is the process of improving the structure of
  the program to optimise memory use and the
  lack of understanding of s/w engineering.
 Typically, programs develop this complex
  logic structure as they are modified during
  maintenance.
 New conditions and associated actions are
  added without changing the existing control
  structure.



                                          11
Program to be
                                                                   Restructured
 restructured                                                        program



                Analyser and                            Program
                graph builder                          generator




                                Graph representation




                                                                   12
Problems with automatic program
  restructuring include:
1) Loss of comments
2) Loss of documentation
3) Heavy computational demands




                                  13
 It is the process of reorganizing a program so
  that related program parts are collected
  together and considered as a single module.
 Different types of modules may be created:
        1.Data abstractions
        2.Hardware modules
        3.Functional modules
        4.Process support modules



                                          14
Recovering Data Abstraction:
 Data abstractions collect together data and
  associated processing and are resilient to
  change.
 Steps in converting global data areas to
  abstract data types:
          1.Analyse common data areas to identify logical data
    abstractions.
          2.Create an abstract data type for each of these
    abstractions.
          3.Use a program browsing system/cross reference
    generator to find all references to the data.
   Practically difficult and time-consuming,but
    straightforward.


                                                             15
 It is the process of analysing and reorganising
  data structures in a system to make it more
  understandable.
 Why do we have to modify data and
  programs in a legacy system ?
        1.Data degradation
        2.Inherent limits that are built into the
  programs
        3.Architectural evolution
 Expensive and time-consuming process.


                                          16
Program to be re-engineered                    Data analysis




                 Entity name                     Data
                 modification                reformatting

                    Literal                  Default value              Data
 Data            replacement                  conversion             conversion
analysis
                Data definition              Validation rule
                  reordering                  modification



           Stage 1                 Stage 2                     Stage 3


                         Change summary tables                      Modified data




                                                               17
 Software Re-engineering
 its needs
 advantages.
 Steps involved in Software re-engineering.




                                         18
Overall Software re-engineering process can be
 shown as :

                                    Program           Modularised
Original program                                                                    Original data
                                 documentation         program




                     Reverse
                   engineering



  Source code                          Program                             Data
   translation                       modularisation                   re-engineering


                      Program
                     structure
                   improvement


                                   Structured                       Re-engineered data
                                    program




                                                                               19
 Software re-engineering is a cost-effective
  option for software system evolution.
 Software re-engineering consists of a
  combination of many sub-processes.
 Data re-engineering is different from
  software re-engineering.
 Data re-engineering is an expensive and time
  consuming process.




                                        20
Ian Sommerville- Software Engineering, sixth
 edition, Pearson Education
 Bruce R. Maxim- Software Reengineering
 ppt, CIS 376, UM-Dearborn




                                       21
22

More Related Content

What's hot

Capability Maturity Model (CMM) in Software Engineering
Capability Maturity Model (CMM) in Software EngineeringCapability Maturity Model (CMM) in Software Engineering
Capability Maturity Model (CMM) in Software EngineeringFaizanAhmad340414
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9koolkampus
 
System engineering
System engineeringSystem engineering
System engineeringLisa Elisa
 
Lect2 conventional software management
Lect2 conventional software managementLect2 conventional software management
Lect2 conventional software managementmeena466141
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process FrameworkJAINAM KAPADIYA
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software EngineeringFáber D. Giraldo
 
Software project planning
Software project planningSoftware project planning
Software project planningrajvir_kaur
 
Chapter 01 software engineering pressman
Chapter 01  software engineering pressmanChapter 01  software engineering pressman
Chapter 01 software engineering pressmanRohitGoyal183
 
Introduction to Software Project Management
Introduction to Software Project ManagementIntroduction to Software Project Management
Introduction to Software Project ManagementReetesh Gupta
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringSaqib Raza
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software ReengineeringAbdul Wahid
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGSaqib Raza
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process ModelsAtul Karmyal
 
Evolving role of Software
Evolving role of SoftwareEvolving role of Software
Evolving role of SoftwareShankar Dahal
 
OS - Process Concepts
OS - Process ConceptsOS - Process Concepts
OS - Process ConceptsMukesh Chinta
 

What's hot (20)

Capability Maturity Model (CMM) in Software Engineering
Capability Maturity Model (CMM) in Software EngineeringCapability Maturity Model (CMM) in Software Engineering
Capability Maturity Model (CMM) in Software Engineering
 
Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9Formal Specification in Software Engineering SE9
Formal Specification in Software Engineering SE9
 
System engineering
System engineeringSystem engineering
System engineering
 
Lect2 conventional software management
Lect2 conventional software managementLect2 conventional software management
Lect2 conventional software management
 
Software Engineering Layered Technology Software Process Framework
Software Engineering  Layered Technology Software Process FrameworkSoftware Engineering  Layered Technology Software Process Framework
Software Engineering Layered Technology Software Process Framework
 
Project Planning in Software Engineering
Project Planning in Software EngineeringProject Planning in Software Engineering
Project Planning in Software Engineering
 
Software design
Software designSoftware design
Software design
 
Software project planning
Software project planningSoftware project planning
Software project planning
 
Chapter 01 software engineering pressman
Chapter 01  software engineering pressmanChapter 01  software engineering pressman
Chapter 01 software engineering pressman
 
Software process
Software processSoftware process
Software process
 
Introduction to Software Project Management
Introduction to Software Project ManagementIntroduction to Software Project Management
Introduction to Software Project Management
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software Reengineering
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
 
Spm unit2
Spm unit2Spm unit2
Spm unit2
 
Software process
Software processSoftware process
Software process
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Software Crisis
Software CrisisSoftware Crisis
Software Crisis
 
Evolving role of Software
Evolving role of SoftwareEvolving role of Software
Evolving role of Software
 
OS - Process Concepts
OS - Process ConceptsOS - Process Concepts
OS - Process Concepts
 

Viewers also liked

Risc cisc Difference
Risc cisc DifferenceRisc cisc Difference
Risc cisc DifferenceSehrish Asif
 
Reengineering including reverse & forward Engineering
Reengineering including reverse & forward EngineeringReengineering including reverse & forward Engineering
Reengineering including reverse & forward EngineeringMuhammad Chaudhry
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software ReengineeringBradley Irby
 
Risk management in software engineering
Risk management in software engineeringRisk management in software engineering
Risk management in software engineeringdeep sharma
 
Software engineering project management
Software engineering project managementSoftware engineering project management
Software engineering project managementjhudyne
 

Viewers also liked (7)

Risc cisc Difference
Risc cisc DifferenceRisc cisc Difference
Risc cisc Difference
 
Reengineering including reverse & forward Engineering
Reengineering including reverse & forward EngineeringReengineering including reverse & forward Engineering
Reengineering including reverse & forward Engineering
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software Reengineering
 
Risk management in software engineering
Risk management in software engineeringRisk management in software engineering
Risk management in software engineering
 
CISC & RISC Architecture
CISC & RISC Architecture CISC & RISC Architecture
CISC & RISC Architecture
 
Software engineering project management
Software engineering project managementSoftware engineering project management
Software engineering project management
 
Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
 

Similar to Software re engineering

Lecture - 7-10.pptx
Lecture - 7-10.pptxLecture - 7-10.pptx
Lecture - 7-10.pptxFarHana74914
 
Software component reuse repository
Software component reuse repositorySoftware component reuse repository
Software component reuse repositorySandeep Singh
 
SE-TEXT-BOOK_Material.doc
SE-TEXT-BOOK_Material.docSE-TEXT-BOOK_Material.doc
SE-TEXT-BOOK_Material.docDrPreethiD1
 
SE-TEXT-BOOK_Material.doc
SE-TEXT-BOOK_Material.docSE-TEXT-BOOK_Material.doc
SE-TEXT-BOOK_Material.docDrPreethiD1
 
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-engineeringAlonzee Tash
 
Introduction to Software Reverse Engineering
Introduction to Software Reverse EngineeringIntroduction to Software Reverse Engineering
Introduction to Software Reverse EngineeringTeodoro Cipresso
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introductionVishal Singh
 
Lecture - 20-23.pptx
Lecture - 20-23.pptxLecture - 20-23.pptx
Lecture - 20-23.pptxFarHana74914
 
Introduction to database m Chapter 9.pptx
Introduction to database m Chapter 9.pptxIntroduction to database m Chapter 9.pptx
Introduction to database m Chapter 9.pptxMohammedNouh7
 
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 Ch2Mohammed Romi
 
Software Re-Engineering in Software Engineering SE28
Software Re-Engineering in Software Engineering SE28Software Re-Engineering in Software Engineering SE28
Software Re-Engineering in Software Engineering SE28koolkampus
 
Fundamentals of software development
Fundamentals of software developmentFundamentals of software development
Fundamentals of software developmentPratik Devmurari
 

Similar to Software re engineering (20)

5 chap - MAINTENANCE
5 chap - MAINTENANCE5 chap - MAINTENANCE
5 chap - MAINTENANCE
 
Software re engineering
Software re engineeringSoftware re engineering
Software re engineering
 
Lecture - 7-10.pptx
Lecture - 7-10.pptxLecture - 7-10.pptx
Lecture - 7-10.pptx
 
software re-engineering
software re-engineeringsoftware re-engineering
software re-engineering
 
Software component reuse repository
Software component reuse repositorySoftware component reuse repository
Software component reuse repository
 
Ch2
Ch2Ch2
Ch2
 
SE-TEXT-BOOK_Material.doc
SE-TEXT-BOOK_Material.docSE-TEXT-BOOK_Material.doc
SE-TEXT-BOOK_Material.doc
 
SE-TEXT-BOOK_Material.doc
SE-TEXT-BOOK_Material.docSE-TEXT-BOOK_Material.doc
SE-TEXT-BOOK_Material.doc
 
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
 
G213538
G213538G213538
G213538
 
Data structure design in SE
Data structure  design in SEData structure  design in SE
Data structure design in SE
 
Software Reuse
Software ReuseSoftware Reuse
Software Reuse
 
Introduction to Software Reverse Engineering
Introduction to Software Reverse EngineeringIntroduction to Software Reverse Engineering
Introduction to Software Reverse Engineering
 
Software engineering introduction
Software engineering introductionSoftware engineering introduction
Software engineering introduction
 
Lecture - 20-23.pptx
Lecture - 20-23.pptxLecture - 20-23.pptx
Lecture - 20-23.pptx
 
Introduction to database m Chapter 9.pptx
Introduction to database m Chapter 9.pptxIntroduction to database m Chapter 9.pptx
Introduction to database m Chapter 9.pptx
 
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
 
Software Re-Engineering in Software Engineering SE28
Software Re-Engineering in Software Engineering SE28Software Re-Engineering in Software Engineering SE28
Software Re-Engineering in Software Engineering SE28
 
Fulltext01
Fulltext01Fulltext01
Fulltext01
 
Fundamentals of software development
Fundamentals of software developmentFundamentals of software development
Fundamentals of software development
 

Recently uploaded

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
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomnelietumpap1
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfErwinPantujan2
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
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
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
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
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)cama23
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptxiammrhaywood
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfphamnguyenenglishnb
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designMIPLM
 
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
 

Recently uploaded (20)

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
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
ENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choomENGLISH6-Q4-W3.pptxqurter our high choom
ENGLISH6-Q4-W3.pptxqurter our high choom
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
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
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
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
 
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🔝
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)
 
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptxAUDIENCE THEORY -CULTIVATION THEORY -  GERBNER.pptx
AUDIENCE THEORY -CULTIVATION THEORY - GERBNER.pptx
 
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdfAMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
AMERICAN LANGUAGE HUB_Level2_Student'sBook_Answerkey.pdf
 
Keynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-designKeynote by Prof. Wurzer at Nordex about IP-design
Keynote by Prof. Wurzer at Nordex about IP-design
 
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
 

Software re engineering

  • 1. A SEMINAR ON THE TOPIC UNDER THE GUIDANCE OF PROF R.B.HANJI BY: ` ABHILASH .A.M ABHILASH SHET AKSHAY KUMAR AMRUT DESHPANDE 1
  • 2.  It is a process of software development which is done to improve the maintainability of a software system.  Technical Definition: Software Re- engineering is the examination and alteration of a system to reconstitute it in a new form.  This process encompasses a combination of sub-processes such as reverse engineering, restructuring, redocumentation, forward engineering, and retargeting. 2
  • 3. It is sometimes a cost-effective option for software system evolution.  Applicable when some (but not all) subsystems of a larger system require frequent maintenance.  It involves putting in the effort to make it easier to maintain. 3
  • 4.  Legacy systems are the old software systems which are essential for business process support.  Software re-engineering is concerned with re-implementing legacy systems to make them more maintainable. It may be the only viable way to ensure that legacy systems can continue in service. 4
  • 5. Re-engineering a software system has two key advantages:  Reduced risk: As the software is already existing, the risk is less as compared to developing a new software.  Reduced cost: The cost of re-engineering is significantly less than the costs of developing a new software. 5
  • 6. 1) Source code translation 2) Reverse Engineering 3) Program structure improvement 4) Program modularisation 5) Data re-engineering 6
  • 7.  It is a process of translating a source code from one programming language to another.  The translated language may be an updated version of the original language or a completely different language.  Necessity of Source-level translation: 1.Hardware platform update 2.Staff skill shortages 3.Organisational policy changes 4.Lack of software support 7
  • 8. System to be System to be Re-engineered re-engineered re-engineered System Identify source Design Automatically Manually code translator translate translate differences instructions code code 8
  • 9.  It is the process of analysing software with the objective of recovering its design and specification.  The program itself is unchanged by the reverse engineering process.  The software source code is usually available as the input.  Reverse Engineering is not the same as Re-engineering 9
  • 10. Program structure diagrams Automated analysis System System to be Document Data structure Information re-engineered generation diagrams Store Manual annotation Traceability matrices 10
  • 11.  It is the process of improving the structure of the program to optimise memory use and the lack of understanding of s/w engineering.  Typically, programs develop this complex logic structure as they are modified during maintenance.  New conditions and associated actions are added without changing the existing control structure. 11
  • 12. Program to be Restructured restructured program Analyser and Program graph builder generator Graph representation 12
  • 13. Problems with automatic program restructuring include: 1) Loss of comments 2) Loss of documentation 3) Heavy computational demands 13
  • 14.  It is the process of reorganizing a program so that related program parts are collected together and considered as a single module.  Different types of modules may be created: 1.Data abstractions 2.Hardware modules 3.Functional modules 4.Process support modules 14
  • 15. Recovering Data Abstraction:  Data abstractions collect together data and associated processing and are resilient to change.  Steps in converting global data areas to abstract data types: 1.Analyse common data areas to identify logical data abstractions. 2.Create an abstract data type for each of these abstractions. 3.Use a program browsing system/cross reference generator to find all references to the data.  Practically difficult and time-consuming,but straightforward. 15
  • 16.  It is the process of analysing and reorganising data structures in a system to make it more understandable.  Why do we have to modify data and programs in a legacy system ? 1.Data degradation 2.Inherent limits that are built into the programs 3.Architectural evolution  Expensive and time-consuming process. 16
  • 17. Program to be re-engineered Data analysis Entity name Data modification reformatting Literal Default value Data Data replacement conversion conversion analysis Data definition Validation rule reordering modification Stage 1 Stage 2 Stage 3 Change summary tables Modified data 17
  • 18.  Software Re-engineering  its needs  advantages.  Steps involved in Software re-engineering. 18
  • 19. Overall Software re-engineering process can be shown as : Program Modularised Original program Original data documentation program Reverse engineering Source code Program Data translation modularisation re-engineering Program structure improvement Structured Re-engineered data program 19
  • 20.  Software re-engineering is a cost-effective option for software system evolution.  Software re-engineering consists of a combination of many sub-processes.  Data re-engineering is different from software re-engineering.  Data re-engineering is an expensive and time consuming process. 20
  • 21. Ian Sommerville- Software Engineering, sixth edition, Pearson Education  Bruce R. Maxim- Software Reengineering ppt, CIS 376, UM-Dearborn 21
  • 22. 22