Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lecture 14 Maintaining the System and Managing Software Change SFDV2002 - Principles of Information Systems.

Similar presentations


Presentation on theme: "Lecture 14 Maintaining the System and Managing Software Change SFDV2002 - Principles of Information Systems."— Presentation transcript:

1 Lecture 14 Maintaining the System and Managing Software Change SFDV2002 - Principles of Information Systems

2 2 Overview  Software change  Controlling the quality of software change after the software has been released  Controlling the quality of software change during the development of software  Software aging and evolution  Understanding the continued need to develop software over time

3 3 Software aging and evolution Software maintenance Tools used to assist in project management SCM

4 4 Software Change  Why does software change?  Legacy systems (25+ years)  Defects  New or changed requirements  Different strategies for software change  Software maintenance - Changes made in response to changed requirements but fundamental same structure  Architectural transformation – significant changes to the architecture of the software system  Software re-engineering - No functionality is added to the system, Rather the system is modified to make it easier to understand and change

5 5  Support (Maintenance)  Objective  Keep system running productively after installation  Main activities 1. Maintain the system 2. Enhance the system 3. Support the users  Reasons for initiating this phase include  Changes in business processes  New requests from stakeholders, users, and managers  Bugs or errors in the program  Technical and hardware problems  Unexpected events

6 6 Software Maintenance “… general process of changing a system after it has been delivered.”  Changes 1. Simple changes to correct coding errors 2. More extensive changes to correct design errors 3. Significant enhancements to correct specification errors or accommodate new requirements  Types :  Corrective - to repair s/w faults (coding, design, requirement errors) [Sommerville, 2004]  Adaptive - to adapt the software to a different operating environment (operating, Hardware environment)  Perfective (add or modify system’s functionality)  Preventive - changes made to reduce the chance of future problems (future problem)

7 7 Cost of Maintenance  Factors for high maintenance costs  Team stability  Contractual responsibility  Staff skills  Program age and structure [Sommerville, 2004]

8 8 Managing Maintenance Personnel  Move to maintenance  Maintenance organisation structures  Separate Advantages: formal transfer of the systems between groups improves the system and documentation quality (documentation needs to be well written – other viewing it – other adding to it) Disadvantages: all things cannot be documented, so the maintenance group may not know critical information about the system.  Combined Advantages: maintenance group knows or has access to all assumptions and decisions behind the system’s original design Disadvantages: documentation and testing thoroughness may suffer due to a lack of a formal transfer of responsibility. YearProgram mers on New Programs Program mers on Maintena nce 19509010 19608,5001,500 197065,00035,000 19801,200,000800,000 19903,000,0004,000,000 20004,000,0006,000,000

9 9 Maintenance Process [Sommerville, 2004] 1.Change request Triggers the process (e.g. from user (feedback), management or client) 2.Impact analysis: Then the cost and impact of these changes are assessed: How much of the system is affected by the change How much it might cost to implement the change 3.Release planning If proposed changes are accepted then project planning next version Ideally at this stage the system specification, design and implementation to reflect the system changes are proposed, analysed and validated. 4.Change implementation System components are redesigned and implemented and the system re- tested. Throughout the Change implementation and system release - Requirement analysis - any other change emerge.

10 10 What is Software Aging?  Causes of Software Aging  Non adaptation  Change upon change  Size growth  Increased volume of data  Changes in the technical and contextual environment  Lack of knowledge or skills  Limited resources  Short-term focus

11 11 References  Sommerville, Software Engineering, 7 th Edition, Addison Wesley, 2004  Hoffer, et al., Modern System Analysis & Design, 3 rd Edition, Prentice Hall, 2002  -------------------------------------------------  Note:  Note: End of Assignment and start Practical Test 2 (10%)


Download ppt "Lecture 14 Maintaining the System and Managing Software Change SFDV2002 - Principles of Information Systems."

Similar presentations


Ads by Google