Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Software Maintenance The process of changing the system after it has been delivered and in operation Software change is inevitable –New requirements.

Similar presentations


Presentation on theme: "1 Software Maintenance The process of changing the system after it has been delivered and in operation Software change is inevitable –New requirements."— Presentation transcript:

1 1 Software Maintenance The process of changing the system after it has been delivered and in operation Software change is inevitable –New requirements emerge –The business environment changes –Errors must be repaired –New equipment must be accommodated –The performance or reliability may have to be improved

2 2 Maintenance to repair software faults (Corrective) –Changing a system to correct deficiencies in the way meets its requirements Maintenance to adapt software to a different operating environment (Adaptive) –Changing a system so that it operates in a different environment (computer, OS, etc.) from its initial implementation Maintenance to add to or modify the system’s functionality (Perfective) –Modifying the system to satisfy new requirements Types of maintenance

3 3 Legacy systems Older software systems that remain vital to an organisation Many software systems that are still in use were developed many years ago using technologies that are now obsolete These systems are still business critical that is, they are essential for the normal functioning of the business

4 4 Legacy system change Systems must change in order to remain useful However, changing legacy systems is often expensive –Different parts implemented by different teams so no consistent programming style –The system may use an obsolete programming language –The system documentation is often out-of-date –The system structure may be corrupted by many years of maintenance It is expensive and risky to replace the legacy system It is expensive to maintain the legacy system

5 5 Software re-engineering Reorganising and modifying existing software systems to make them more maintainable Re-structuring or re-writing part or all of a legacy system without changing its functionality The system may be re-structured and re-documented Advantages –Reduced risk There is a high risk in new software development. –Reduced cost The cost of re-engineering is often significantly less than the costs of developing new software

6 6 Forward engineering and re- engineering

7 7 The re-engineering process

8 8 Source code translation Involves converting the code from old programming language (or language version) to another e.g. FORTRAN to C May be necessary because of: –Hardware platform update –Staff skill shortages –Organisational policy changes Only realistic if an automatic translator is available

9 9 Reverse engineering Analysing software to understanding its design and specification The program is unchanged Program understanding tools may be used in this process The output is documents showing: –Program structure diagrams –Data structure diagrams –Traceability matrices (where system entities are defined and referenced)

10 10 Program structure improvement The control structures of the program is analysed to make it easier to read and understand Maintenance tends to corrupt the structure of a program. –The program may be automatically restructured to remove unconditional branches –Conditions may be simplified to make them more readable

11 11 Program modularisation The process of re-organising a program so that related program parts are collected together in a single module –Redundancy is removed –Simplify interfaces Usually a manual process that is carried out by program inspection and re- organisation

12 12 Data re-engineering Involves analysing and reorganising the data structures (and sometimes the data values) in a program to match new changes 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 Data re-engineering approaches –Data cleanup: duplicate removal, formats improved –Data extension: increase fields length, storage capacity –Data migration: move data to different storage

13 13 Re-engineering approaches Disadvantage of re-engineering is the limited program improvement possible


Download ppt "1 Software Maintenance The process of changing the system after it has been delivered and in operation Software change is inevitable –New requirements."

Similar presentations


Ads by Google