Upload
tracy-jacobs
View
216
Download
0
Tags:
Embed Size (px)
Citation preview
Lecture 14
Maintaining the Systemand 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
3Software aging and evolution
Software maintenance
Tools used to assist in project management• SCM
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
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
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)
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]
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
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
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
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%)