+ All Categories
Home > Documents > Software change

Software change

Date post: 06-Jan-2016
Category:
Upload: calder
View: 57 times
Download: 0 times
Share this document with a friend
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
35
ommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 1 Software change Managing the processes of software system change
Transcript
Page 1: Software change

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 1

Software change

Managing the processes of software system change

Page 2: Software 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

Page 3: Software change

©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

Page 4: Software change

©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

Page 5: Software change

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 8

Lehman’s First Law Continuing Change

• Environment changes• New requirements

Not controversial

Page 6: Software change

©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

Page 7: Software change

©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

Page 8: Software change

©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

Page 9: Software change

©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

Page 10: Software change

©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

Page 11: Software change

©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

Page 12: Software change

©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

Page 13: Software change

©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

Page 14: Software change

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 17

Distribution of maintenance effort

Functionalityaddition or

modification(65%)

Fault repair(17%)

Softwareadaptation

(18%)

Page 15: Software change

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 18

Spiral maintenance model

Specification Implemention

ValidationOperation

Start

Release 1

Release 2

Release 3

Page 16: Software change

©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

Page 17: Software change

©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

$

Page 18: Software change

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 21

Team stability Contractual responsibility Staff skills Program age and structure

Maintenance cost factors

Page 19: Software change

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 23

The maintenance process

System releaseplanning

Changeimplementa tion

Systemrelease

Impactanalysis

Changerequests

Adaptivemaintenance

Correctivemaintenance

Perfectivemaintenance

Page 20: Software change

©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

Page 21: Software change

©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

Page 22: Software change

©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

Page 23: Software change

©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?

Page 24: Software change

©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

Page 25: Software change

©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

Page 26: Software change

©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

Page 27: Software change

©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.

Page 28: Software change

©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

Page 29: Software 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

Page 30: Software change

©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

Page 31: Software change

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27 Slide 39

Layered distribution model

Database

Application services

Interaction control

Data validation

Presentation

Page 32: Software change

©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

Page 33: Software change

©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

Page 34: Software change

©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

Page 35: Software change

©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


Recommended