Software change

Post on 06-Jan-2016

57 views 0 download

description

Software change. Managing the processes of software system change. 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 - PowerPoint PPT Presentation

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