Lecture 14 Maintaining the System and Managing Software Change SFDV2002 - Principles of Information...
-
Upload
tracy-jacobs -
Category
Documents
-
view
215 -
download
0
Transcript of Lecture 14 Maintaining the System and Managing Software Change SFDV2002 - Principles of Information...
![Page 1: Lecture 14 Maintaining the System and Managing Software Change SFDV2002 - Principles of Information Systems.](https://reader034.fdocuments.in/reader034/viewer/2022052701/56649f1a5503460f94c2f74c/html5/thumbnails/1.jpg)
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.](https://reader034.fdocuments.in/reader034/viewer/2022052701/56649f1a5503460f94c2f74c/html5/thumbnails/2.jpg)
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.](https://reader034.fdocuments.in/reader034/viewer/2022052701/56649f1a5503460f94c2f74c/html5/thumbnails/3.jpg)
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.](https://reader034.fdocuments.in/reader034/viewer/2022052701/56649f1a5503460f94c2f74c/html5/thumbnails/4.jpg)
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.](https://reader034.fdocuments.in/reader034/viewer/2022052701/56649f1a5503460f94c2f74c/html5/thumbnails/5.jpg)
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.](https://reader034.fdocuments.in/reader034/viewer/2022052701/56649f1a5503460f94c2f74c/html5/thumbnails/6.jpg)
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.](https://reader034.fdocuments.in/reader034/viewer/2022052701/56649f1a5503460f94c2f74c/html5/thumbnails/7.jpg)
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.](https://reader034.fdocuments.in/reader034/viewer/2022052701/56649f1a5503460f94c2f74c/html5/thumbnails/8.jpg)
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.](https://reader034.fdocuments.in/reader034/viewer/2022052701/56649f1a5503460f94c2f74c/html5/thumbnails/9.jpg)
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.](https://reader034.fdocuments.in/reader034/viewer/2022052701/56649f1a5503460f94c2f74c/html5/thumbnails/10.jpg)
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.](https://reader034.fdocuments.in/reader034/viewer/2022052701/56649f1a5503460f94c2f74c/html5/thumbnails/11.jpg)
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%)