lecture 14 maintaining the system and managing software change sfdv2002 - principles of information...

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

Upload: tracy-jacobs

Post on 04-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

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

Lecture 14

Maintaining the Systemand Managing Software

Change

SFDV2002 - Principles of Information Systems

Page 2: Lecture 14 Maintaining the System and Managing Software Change SFDV2002 - Principles of Information Systems

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 softwareSoftware aging and evolution

Understanding the continued need to develop software over time

Page 3: Lecture 14 Maintaining the System and Managing Software Change SFDV2002 - Principles of Information Systems

3Software aging and evolution

Software maintenance

Tools used to assist in project management• SCM

Page 4: Lecture 14 Maintaining the System and Managing Software Change SFDV2002 - Principles of Information Systems

4

Software ChangeWhy 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

Page 5: Lecture 14 Maintaining the System and Managing Software Change SFDV2002 - Principles of Information Systems

5

Support (Maintenance)

Objective Keep system running productively after

installation

Main activities1. Maintain the system2. Enhance the system3. 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

Page 6: Lecture 14 Maintaining the System and Managing Software Change SFDV2002 - Principles of Information Systems

6

Software Maintenance“… general process of changing a

system after it has been delivered.”

Changes1. Simple changes to correct coding errors 2. More extensive changes to correct design

errors3. 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)

Page 7: Lecture 14 Maintaining the System and Managing Software Change SFDV2002 - Principles of Information Systems

7

Cost of Maintenance

Factors for high maintenance costs Team stability Contractual responsibility Staff skills Program age and structure

[Som

merv

ille, 2

00

4]

Page 8: Lecture 14 Maintaining the System and Managing Software Change SFDV2002 - Principles of Information Systems

8

Managing Maintenance PersonnelMove to maintenanceMaintenance 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.

Year Programmers on New Programs

Programmers on Maintenance

1950 90 10

1960 8,500 1,500

1970 65,000 35,000

1980 1,200,000

800,000

1990 3,000,000

4,000,000

2000 4,000,000

6,000,000

Page 9: Lecture 14 Maintaining the System and Managing Software Change SFDV2002 - Principles of Information Systems

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.

Page 10: Lecture 14 Maintaining the System and Managing Software Change SFDV2002 - Principles of Information Systems

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

Page 11: Lecture 14 Maintaining the System and Managing Software Change SFDV2002 - Principles of Information Systems

11

References

Sommerville, Software Engineering, 7th Edition, Addison Wesley, 2004

Hoffer, et al., Modern System Analysis & Design, 3rd Edition, Prentice Hall, 2002

-------------------------------------------------

NoteNote:: End of Assignment and start Practical Test 2 (10%)