Post on 06-Jan-2016
description
transcript
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 1
Software change
Managing the processes of software system change
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 4
Software change Software change is inevitable
• New requirements emerge when the software is used• The business environment changes• Errors must be repaired• New equipment must be accommodated• The performance or reliability may have to be
improved A key problem for organisations is implementing and
managing change to their legacy systems
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 5
Software change strategies Software maintenance Architectural transformation Software re-engineering These strategies may be applied separately or
together Alternative – complete replacement from scratch
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 6
Study of the processes of system change Lehman and Belady proposed ‘laws’ concerning
the evolution of systems They are applicable to large systems developed
by large organizations.
Program evolution dynamics
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 8
Lehman’s First Law Continuing Change
• Environment changes• New requirements
Not controversial
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 9
Lehman’s Second Law Increasing Complexity To combat this takes effort Such extra effort is rarely done Not controversial
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 10
Lehman’s Third Law Large Program Evolution System attributes (size, time between releases, error
rates) are invariant from release to release Determined by organizational practices and system
structure Is controversial
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 11
Lehman’s Fourth Law Organization Stability Rate of development approximately constant Determined by organizational practices and
system structure Is controversial
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 12
Lehman’s Fifth Law Conservation of familiarity Over lifetime of system, incremental change in
each release is approximately constant
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 13
Applicability of Lehman’s laws This has not yet been established They are generally applicable to large, tailored
systems developed by large organisations It is not clear how they should be modified for
• Shrink-wrapped software products
• Systems that incorporate a significant number of COTS components
• Small organisations
• Medium sized systems
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 14
Modifying a program after it has been put into use Maintenance does not normally involve major changes to
the system’s architecture Changes are implemented by modifying existing
components and adding new components to the system
27.2 Software maintenance
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 15
The system requirements are likely to change When a system is installed it changes the
environment and therefore changes the system requirements.
Systems MUST be maintained therefore if they are to remain useful in an environment
Maintenance is inevitable
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 16
Repair software faults Adapt software to a different operating environment Add to or modify the system’s functionality
Types of maintenance
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 17
Distribution of maintenance effort
Functionalityaddition or
modification(65%)
Fault repair(17%)
Softwareadaptation
(18%)
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 18
Spiral maintenance model
Specification Implemention
ValidationOperation
Start
Release 1
Release 2
Release 3
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 19
Usually greater than development costs Affected by both technical and non-technical
factors Increases as software is maintained. Ageing software can have high support costs
Maintenance costs
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 20
Development/maintenance costs
0 50 100 150 200 250 300 350 400 450 500
System 1
System 2
Development costs Maintenance costs
$
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 21
Team stability Contractual responsibility Staff skills Program age and structure
Maintenance cost factors
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 23
The maintenance process
System releaseplanning
Changeimplementa tion
Systemrelease
Impactanalysis
Changerequests
Adaptivemaintenance
Correctivemaintenance
Perfectivemaintenance
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 24
Change requests Change requests are requests for system changes from
users, customers or management In principle, all change requests should be carefully
analysed as part of the maintenance process and then implemented
In practice, some change requests must be implemented urgently• Fault repair
• Changes to the system’s environment
• Urgently required business changes
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 25
Change implementation
Requirementsupdating
Softwaredevelopment
Requirementsanalysis
Proposedchanges
Modifysource code
Deliver modifiedsystem
Analyzesource code
Changerequests
Emergency repair
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 27
Maintenance prediction Change acceptance affected by the maintainability of
the components affected by the change Maintenance prediction is concerned with assessing
which parts of the system may cause problems and have high maintenance costs
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 28
Maintenance prediction
Predictingmaintainability
Predicting systemchanges
Predictingmaintenance
costs
What will be the lifetimemaintenance costs of this
system?
What will be the costs ofmaintaining this system
over the next year?
What parts of the systemwill be the most expensive
to maintain?
How many changerequests can be
expected?
What parts of the system aremost likely to be affected by
change requests?
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 29
Change prediction Requires an 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
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 30
Maintainability Prediction Most maintenance effort on small number components Prediction of maintainability based on complexity Complexity metrics
• Complexity of control structures• Complexity of data structures• Procedure and module size
It may be beneficial to replace complex components
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 31
Maintainability Prediction via 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 are increasing, this may indicate a decline in maintainability
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 32
Architectural evolution The architecture of the system is modified. There is a need to convert many legacy systems from a
centralized architecture to a client-server architecture Change “drivers”
• Hardware costs.
• User interface expectations.
• Distributed access to systems.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 34
Distribution factors
Factor Description
Business importance Returns on the investment
System age Older systems harder to modify
System Structure Modularity aids change
Hardware Procurement Policies
Replacement of mainframes suggests change
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 36
Legacy system structures
Database
User interface
Services
Database
User interface
Services
Ideal model for distribution Real Legacy Systems
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 38
Legacy system distribution
User interface
Applicationservices
Database
Character terminals
Legacy system
Desktop PC clients running application
Middleware layer (wrapper)
Legacy system
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 39
Layered distribution model
Database
Application services
Interaction control
Data validation
Presentation
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 41
Distribution option spectrum
Increasing costand effort
Server: Interaction controlData validationServicesDatabase
Client: Presentation
Server:DatabaseServer: Services
Database
Client: PresentationInteraction controlData validation
Client: PresentationInteraction controlData validationServices
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 42
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
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 43
User interface distribution
User interface
Applicationservices
Database
Desktop PC clients withGUI interface
Screen managementmiddleware
Legacy system
Screen descriptions
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 44
UI Migration Strategies
Strategy Advantages Disadvantages
Using window management system
Flexible UI DesignBetter UI Performance
Platform dependentInterface consistency
Using WWW browser
Platform independentLower Training CostsBrowser AvailabilityEasier Interface Consistency
Poorer UI PerformanceInterface design constrained by browsers