Software Re Engineering :

  •  When system changes are mostly confined to part of the system then re-engineer that part
  • When hardware or software support becomes obsolete
  • When tools to support re-structuring are available

  • Business process re-engineering

  • Concerned with re-designing business processes to make them more responsive and more efficient
  • Often reliant on the introduction of new computer systems to support the revised processes
  • May force software re-engineering as the legacy systems are designed to support existing processes

  • Data re-engineering

  • Involves analysing and reorganising the data structures (and sometimes the data values) in a program
  • May be part of the process of migrating from a file-based system to a DBMS-based system or changing from one DBMS to another
  • Objective is to create a managed data environment

  • Maintenance

  • Re-organising and modifying existing software systems to make them more maintainable