Chapter 27 Software Change.

Slides:



Advertisements
Similar presentations
Chapter 1: The Database Environment
Advertisements

Chapter 26 Legacy Systems.
Distributed Systems Architectures
Software Re-engineering
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 25 Slide 1 Chapter 25 Process Improvement.
Chapter 26 Legacy Systems.
Requirements Engineering Process
Chapter 24 Quality Management.
Software Re-engineering
Chapter 27 Software Change.
1 Note content copyright © 2004 Ian Sommerville. NU-specific content copyright © 2004 M. E. Kabay. All rights reserved. Software Evolution IS301 – Software.
By D. Fisher Geometric Transformations. Reflection, Rotation, or Translation 1.
Objectives To introduce software project management and to describe its distinctive characteristics To discuss project planning and the planning process.
0 - 0.
DIVIDING INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
Addition Facts
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design 1.
Configuration management
Software change management
Legacy Systems Older software systems that remain vital to an organisation.
Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 28 Slide 1 Process Improvement 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software processes 2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management.
Chapter 11 Software Evolution
Addition 1’s to 20.
25 seconds left…...
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 1 Software Engineering Software Engineering.
Week 1.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 31 Slide 1 Service-centric Software Engineering 1.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 30 Slide 1 Security Engineering 2.
1 / 24 CS 425/625 Software Engineering Software Evolution Based on Chapter 21 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed., Addison-Wesley,
Software Evolution Managing the processes of software system change
Dr Kettani, Spring 2002 Software Engineering IIFrom Sommerville, 6th edition Software change l Managing the processes of software system change.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
Software evolution.
Software evolution.
Software maintenance Managing the processes of system change.
 2004 by SEC Chapter 9 Software Maintenance. 2  2004 by SEC 9.1 Software Evolution.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Chapter 27 Software Change.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.
Chapter 9 – Software Evolution and Maintenance
Lecture # 22 Software Evolution
Software evolution. Objectives l To explain why change is inevitable if software systems are to remain useful l To discuss software maintenance and maintenance.
Software change  Managing the processes of software system change.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Software change l Managing the processes of software system change.
Software Engineering Lecture 20 Software Maintenance.
Chapter 3: Software Maintenance Process Omar Meqdadi SE 3860 Lecture 3 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Software change l Managing the processes of software system change.
©Ian Sommerville 2004 Software Engineering. Chapter 21Slide 1 Chapter 21 Software Evolution.
Manag ing Software Change CIS 376 Bruce R. Maxim UM-Dearborn.
Lecture 14 Maintaining the System and Managing Software Change SFDV Principles of Information Systems.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution 1.
Software Evolution Program evolution dynamics Software maintenance Complexity and Process metrics Evolution processes 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution 2.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
Chapter 9 – Software Evolution 1Chapter 9 Software evolution.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
Software change Software change is inevitable –New requirements emerge when the software is used –The business environment changes –Errors must be repaired.
1 / 14 CS 425/625 Software Engineering Software Change Based on Chapter 27 of the textbook [SE-6] Ian Sommerville, Software Engineering, 6 th Ed., Addison-Wesley,
Software Development Module Code: CST 240 Chapter 6: Software Maintenance Al Khawarizmi International College, AL AIN, U.A.E Lecturer: Karamath Ateeq.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini XVI. Software Evolution.
Overview Software Maintenance and Evolution Definitions
CS 425/625 Software Engineering Software Evolution
Chapter 9 – Software Evolution and Maintenance
Chapter 9 Software Maintenance
Chapter 27 Software Change.
Chapter 8 Software Evolution.
Presentation transcript:

Chapter 27 Software Change

Change implementation

Emergency repair

Maintenance prediction Maintenance prediction is concerned with assessing which parts of the system may cause problems and have high maintenance costs Change acceptance depends on the maintainability of the components affected by the change Implementing changes degrades the system and reduces its maintainability Maintenance costs depend on the number of changes and costs of change depend on maintainability

Maintenance prediction

Change prediction Predicting the number of changes requires and understanding of the relationships between a system and its environment Tightly coupled systems require changes whenever the environment is changed Factors influencing this relationship are Number and complexity of system interfaces Number of inherently volatile system requirements The business processes where the system is used

Complexity metrics Predictions of maintainability can be made by assessing the complexity of system components Studies have shown that most maintenance effort is spent on a relatively small number of system components Complexity depends on Complexity of control structures Complexity of data structures Procedure and module size

Process metrics Process measurements may be used to assess maintainability Number of requests for corrective maintenance Average time required for impact analysis Average time taken to implement a change request Number of outstanding change requests If any or all of these is increasing, this may indicate a decline in maintainability

Architectural evolution There is a need to convert many legacy systems from a centralised architecture to a client-server architecture Change drivers Hardware costs. Servers are cheaper than mainframes User interface expectations. Users expect graphical user interfaces Distributed access to systems. Users wish to access the system from different, geographically separated, computers

Distribution factors

Legacy system structure Ideally, for distribution, there should be a clear separation between the user interface, the system services and the system data management In practice, these are usually intermingled in older legacy systems

Legacy system structures

Layered distribution model

Legacy system distribution

Distribution options The more that is distributed from the server to the client, the higher the costs of architectural evolution The simplest distribution model is UI distribution where only the user interface is implemented on the server The most complex option is where the server simply provides data management and application services are implemented on the client

Distribution option spectrum

User interface distribution UI distribution takes advantage of the local processing power on PCs to implement a graphical user interface Where there is a clear separation between the UI and the application then the legacy system can be modified to distribute the UI Otherwise, screen management middleware can translate text interfaces to graphical interfaces

User interface distribution

UI migration strategies

Key points Software change strategies include software maintenance, architectural evolution and software re-engineering Lehman’s Laws are invariant relationships that affect the evolution of a software system Maintenance types are Maintenance for repair Maintenance for a new operating environment Maintenance to implement new requirements

Key points The costs of software change usually exceed the costs of software development Factors influencing maintenance costs include staff stability, the nature of the development contract, skill shortages and degraded system structure Architectural evolution is concerned with evolving centralised to distributed architectures A distributed user interface can be supported using screen management middleware