Software change Managing the processes of software system change 

advertisement
Software change

Managing the processes of
software system change
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 27
Slide 1
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 4
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 5
Program evolution dynamics



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.
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 27
Slide 6
Lehman’s First Law


Continuing Change
• Environment changes
• New requirements
Not controversial
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 27
Slide 8
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 9
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 10
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 11
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 12
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 13
27.2 Software maintenance



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
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 27
Slide 14
Maintenance is inevitable



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
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 27
Slide 15
Types of maintenance



Repair software faults
Adapt software to a different operating environment
Add to or modify the system’s functionality
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 27
Slide 16
Distribution of maintenance effort
Fault repair
(17%)
Software
adaptation
(18%)
©Ian Sommerville 2000
Functionality
addition or
modification
(65%)
Software Engineering, 6th edition. Chapter 27
Slide 17
Spiral maintenance model
Implemention
Specification
Start
Release 1
Operation
Validation
Release 2
Release 3
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 27
Slide 18
Maintenance costs




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
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 27
Slide 19
Development/maintenance costs
System 1
System 2
0
50
100 150
Development costs
©Ian Sommerville 2000
200 250
300
350 400 450
500
Maintenance costs
Software Engineering, 6th edition. Chapter 27
Slide 20
$
Maintenance cost factors




Team stability
Contractual responsibility
Staff skills
Program age and structure
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 27
Slide 21
The maintenance process
Change
requests
©Ian Sommerville 2000
Impact
analysis
System release
planning
Change
implementa tion
Perfective
maintenance
Adaptive
maintenance
Corrective
maintenance
Software Engineering, 6th edition. Chapter 27
System
release
Slide 23
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 24
Change implementation
Proposed
changes
Requirements
analysis
Requirements
updating
Software
development
Emergency repair
Change
requests
©Ian Sommerville 2000
Analyze
source code
Modify
source code
Software Engineering, 6th edition. Chapter 27
Deliver modified
system
Slide 25
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 27
Maintenance prediction
What parts of the system are
most likely to be affected by
change requests?
What parts of the system
will be the most expensive
to maintain?
Predicting
maintainability
Predicting system
changes
Predicting
maintenance
costs
What will be the costs of
maintaining this system
over the next year?
How many change
requests can be
expected?
©Ian Sommerville 2000
What will be the lifetime
maintenance costs of this
system?
Software Engineering, 6th edition. Chapter 27
Slide 28
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 29
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 30
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 31
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 32
Distribution factors
Factor
Description
Business importance Returns on the investment
System age
Older systems harder to modify
System Structure
Modularity aids change
Hardware
Replacement of mainframes suggests
Procurement Policies change
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 27
Slide 34
Legacy system structures
User interface
User interface
Services
Services
Database
Database
Ideal model for distribution
©Ian Sommerville 2000
Real Legacy Systems
Software Engineering, 6th edition. Chapter 27
Slide 36
Legacy system distribution
Desktop PC clients running application
Legacy system
Application
services
Database
Middleware layer (wrapper)
User interface
Legacy system
Character terminals
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 27
Slide 38
Layered distribution model
Presentation
Data validation
Interaction control
Application services
Database
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 27
Slide 39
Distribution option spectrum
Server: Interaction control
Data validation
Services
Database
Server: Services
Database
Server:Database
Client: Presentation
Client: Presentation
Interaction control
Data validation
Client: Presentation
Interaction control
Data validation
Services
Increasing cost
and effort
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 27
Slide 41
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 42
User interface distribution
Screen descriptions
Desktop PC clients with
GUI interface
Legacy system
Application
services
Database
Screen management
middleware
User interface
©Ian Sommerville 2000
Software Engineering, 6th edition. Chapter 27
Slide 43
UI Migration Strategies
Strategy
Using
window
management
system
Using WWW
browser
©Ian Sommerville 2000
Advantages
Flexible UI Design
Better UI Performance

Platform independent
Lower Training Costs
Browser Availability
Easier Interface
Consistency

Disadvantages
Platform dependent
Interface consistency

Poorer UI Performance
Interface design
constrained by browsers

Software Engineering, 6th edition. Chapter 27
Slide 44
Download