Top Banner
1 / 22 CS 425/625 Software Engineering Legacy Systems Based on Chapter 26 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed., Addison-Wesley, 2000 and on the Ch26 PowerPoint presentation available at the book’s web-site: www.comp.lancs.ac.uk/computing/resources/IanS/SE6/Slides/index.html November 26, 2003
22

1 / 22 CS 425/625 Software Engineering Legacy Systems Based on Chapter 26 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed., Addison-Wesley,

Dec 29, 2015

Download

Documents

Edith Maxwell
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 / 22 CS 425/625 Software Engineering Legacy Systems Based on Chapter 26 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed., Addison-Wesley,

1 / 22

CS 425/625 Software Engineering

Legacy Systems

Based on Chapter 26 of the textbook [Somm00] Ian Sommerville,Software Engineering, 6th Ed., Addison-Wesley, 2000 and on theCh26 PowerPoint presentation available at the book’s web-site:www.comp.lancs.ac.uk/computing/resources/IanS/SE6/Slides/index.html

November 26, 2003

Page 2: 1 / 22 CS 425/625 Software Engineering Legacy Systems Based on Chapter 26 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed., Addison-Wesley,

2 / 22

OutlineOutline

Introduction Legacy System Structures Legacy System Design Legacy System Assessment

Page 3: 1 / 22 CS 425/625 Software Engineering Legacy Systems Based on Chapter 26 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed., Addison-Wesley,

3 / 22

Introduction..Introduction..

Legacy systems: old computer-based systems still in use by organizations Many of them still business critical Incorporate many changes made over the years Many people have been involved in these changes Replacing legacy systems with new systems is risky,

yet keeping them means new changes become more and more expensive

Page 4: 1 / 22 CS 425/625 Software Engineering Legacy Systems Based on Chapter 26 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed., Addison-Wesley,

4 / 22

.Introduction..Introduction.

Risks of replacing a legacy system: Specification is difficult because existing

documentation is typically incomplete Changing business processes (now adjusted to the

system) may entail high costs Undocumented, yet important business rules may be

embedded in the system; a new system may break these rules

The new system may be delivered late, may cost more than expected, and may not function properly

Page 5: 1 / 22 CS 425/625 Software Engineering Legacy Systems Based on Chapter 26 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed., Addison-Wesley,

5 / 22

..Introduction..Introduction Factors that make changes to legacy systems expensive:

In large systems, different parts were implemented by different teams, without consistent programming style

It is difficult to find personnel who knows the obsolete programming languages used in old systems

In may cases the only documentation is provided by the source code; even this may be missing

It is difficult to understand the system given its ad hoc updating over the years

Data used by the system is difficult to understand and manipulate; it can also be obsolete and/or redundant

Page 6: 1 / 22 CS 425/625 Software Engineering Legacy Systems Based on Chapter 26 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed., Addison-Wesley,

6 / 22

Legacy system structures….Legacy system structures….

Legacy systems involve more than software (they are computer-based systems). Typical logical parts of a legacy system are: System hardware Support software Application software (legacy software systems) Application data Business processes Business policies and rules

Page 7: 1 / 22 CS 425/625 Software Engineering Legacy Systems Based on Chapter 26 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed., Addison-Wesley,

7 / 22

.Legacy system structures….Legacy system structures…

Legacy system components [Fig. 26.1 Somm00]

Systemhardware

Businessprocesses

Applicationsoftware

Business policiesand rules

Supportsoftware

Application data

ConstrainsUsesUsesRuns-onRuns-on

Embedsknowledge of

Uses

Page 8: 1 / 22 CS 425/625 Software Engineering Legacy Systems Based on Chapter 26 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed., Addison-Wesley,

8 / 22

..Legacy system structures....Legacy system structures..

Alternative view of legacy systems: a layered model [Fig. 26.2 Somm00]

Socio-technical system

Hardware

Support software

Application software

Business processes

Page 9: 1 / 22 CS 425/625 Software Engineering Legacy Systems Based on Chapter 26 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed., Addison-Wesley,

9 / 22

……Legacy system structures.Legacy system structures. Legacy application software [Fig. 26.3 Somm00] Both

programs and data files have been added over the years: components are heterogeneous and strongly coupled

File 1 File 2 File 3 File 4 File 5 File 6

Program 2Program 1 Program 3

Program 4 Program 5 Program 6 Program 7

Page 10: 1 / 22 CS 425/625 Software Engineering Legacy Systems Based on Chapter 26 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed., Addison-Wesley,

10 / 22

…….Legacy system structures.Legacy system structures Database-centered legacy systems [Fig. 26.4 Somm00]

Advantages: logical and physical data models are used, redundancy is reduced, impact of system changes can be easier assessed, recovery is possible

Main issues: DBMS may be obsolete, accessing software (“teleprocessing monitor”) may need to be replaced

Program1

Program2

Program3

Program4

Databasemanagement

system

Logical andphysical

data models

describes

Page 11: 1 / 22 CS 425/625 Software Engineering Legacy Systems Based on Chapter 26 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed., Addison-Wesley,

11 / 22

Legacy system design…..Legacy system design…..

Legacy systems design is typically function oriented. Two main classes: Batch processing systems: both input and output is provided in

“batches,” e.g., a payroll system Transaction processing systems: input & output related to a

database transaction, e.g., a flight reservation system Both batch processing and transaction processing

systems usually follow an IPO model: Input: inputs are collected from one or more sources Processing: some computations are performed on inputs Output: results are provided either in batches or as single-

transaction outputs All IPO components may further be organized according the IPO

model

Page 12: 1 / 22 CS 425/625 Software Engineering Legacy Systems Based on Chapter 26 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed., Addison-Wesley,

12 / 22

.Legacy system design…..Legacy system design….

The IPO Model [Fig. 26.7 Somm00].

System

Input Process Output

Page 13: 1 / 22 CS 425/625 Software Engineering Legacy Systems Based on Chapter 26 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed., Addison-Wesley,

13 / 22

..Legacy system design…..Legacy system design… A function-oriented view on design [Fig. 26.6, Somm00].

The main problem is the sharing of data (system state information), which can lead to unpredicted changes in functions’ behavior. Also, it is unlikely that a single person understands all parts of a large system.

F2F1 F3

F4 F5

Shared memory

Page 14: 1 / 22 CS 425/625 Software Engineering Legacy Systems Based on Chapter 26 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed., Addison-Wesley,

14 / 22

……Legacy system design..Legacy system design.. Data flow diagrams are often used to design function-oriented

systems. Example: a payroll system [Fig. 26.8 Somm00]

Read employeerecord

Read monthlypay data

Computesalary

Write taxtransaction

Monthly paydata

Taxtables

Taxtransactions

Pension data

Validateemployee data

Write pensiondata

Write banktransaction

Write socialsecurity data

Employeerecords

Monthly payrates

Banktransactions

Socialsecurity data

Print payslipPRINTER

Decodedemployee

record

Pay information

Validemployee record

Tax deduction +SSnumber +tax office

Pensiondeduction +SS number

Empoyee data +deductions

Net payment + bankaccount info.

Social securitydeduction + SS number

Page 15: 1 / 22 CS 425/625 Software Engineering Legacy Systems Based on Chapter 26 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed., Addison-Wesley,

15 / 22

…….Legacy system design..Legacy system design. A transaction processing system: design of an ATM [Fig. 26.9

Somm00]INPUT

looprepeat

Print_input_message (” Welcome - Please enter your card”) ; until Card_input ; Account_number := Read_card ; Get_account_details (PIN, Account_balance, Cash_available) ;

PROCESS

if Invalid_card (PIN) thenRetain_card ;Print ("Card retained - please contact your bank") ;

else repeat Print_operation_select_message ;

Button := Get_button ; case Get_button is when Cash_only => Dispense_cash (Cash_available, Amount_dispensed) ; when Print_balance => Print_customer_balance (Account_balance) ; when Statement => Order_statement (Account_number) ; when Check_book =>

Order_checkbook (Account_number) ; end case ;

Print ("Press CONTINUE for more services or STOP to finish");Button := Get_button ;

until Button = STOP ;

OUTPUT

Eject_card ; Print (“Please take your card ) ;

Update_account_information (Account_number, Amount_dispensed) ; end loop ;

Page 16: 1 / 22 CS 425/625 Software Engineering Legacy Systems Based on Chapter 26 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed., Addison-Wesley,

16 / 22

……..Legacy system design..Legacy system design

Function oriented design is not restricted to legacy systems. Can be applied to new systems where: Data processing relies on processing transactions and

updating a data store The company has invested heavily in structured methods,

including staff training, development practices, and CASE tools

An interesting challenge for a company: to work with both approaches, function-oriented and object-oriented

Page 17: 1 / 22 CS 425/625 Software Engineering Legacy Systems Based on Chapter 26 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed., Addison-Wesley,

17 / 22

Legacy system assessment…..Legacy system assessment…..

Strategic approaches for dealing with legacy systems: Scrap the system completely

When business practices have changed and no longer depend significantly on the system (they may be supported by new COTS)

Continue to maintain the system The system works well, is fairly stable, and users do not request

many changes Transform the system to improve maintainability

When system quality was affected negatively by changes, yet changes are still required

Replace the system with a new one When obsolete hardware precludes further operation or the new

system can be built at reasonable cost

Page 18: 1 / 22 CS 425/625 Software Engineering Legacy Systems Based on Chapter 26 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed., Addison-Wesley,

18 / 22

.Legacy system assessment…..Legacy system assessment….

Assessing legacy systems example [Fig. 26.10 Somm00]

12

3 45

67

89

10

System quality

Business valueHigh business valueLow quality High business value

High quality

Low business valueLow quality

Low business valueHigh quality

Page 19: 1 / 22 CS 425/625 Software Engineering Legacy Systems Based on Chapter 26 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed., Addison-Wesley,

19 / 22

..Legacy system assessment…..Legacy system assessment…

Assessment of legacy systems includes: Business value assessment (subjective). Viewpoints:

End-users: look at system’s functionality and performance Customers: look at the quality of services provided Business managers: assess the usefulness of the system in

terms of business support IT managers: are concerned with the availability of technical

support for the system Senior managers: interested in system’s contribution to the

business goals System quality assessment (next)

Page 20: 1 / 22 CS 425/625 Software Engineering Legacy Systems Based on Chapter 26 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed., Addison-Wesley,

20 / 22

……Legacy system assessment..Legacy system assessment..

System quality assessment. Look at all components of the system. Hence: Business process assessment. Possible questions:

Are defined process models and procedures in place? Are processes applied consistently across the company? What adaptations have been made? Are relationships with other business processes necessary? Are processes suitably supported by application software?

Environment assessment: support software & hardware platform (maintenance costs, faults, etc. – slide 21)

Application software assessment. Factors considered as in slide 22 and quantitative data such as:

Number of system change requests Number of different user interfaces Volume of data used by the system

Page 21: 1 / 22 CS 425/625 Software Engineering Legacy Systems Based on Chapter 26 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed., Addison-Wesley,

21 / 22

…….Legacy system assessment..Legacy system assessment. Factors in environment assessment [Fig. 26.11 Somm00]

Factor QuestionsSupplierstability

Is the supplier is still in existence? Is the supplier financially stable andlikely to continue in existence? If the supplier is no longer in business,are the systems maintained by someone else?

Failure rate Does the hardware have a high rate of reported failures? Does thesupport software crash and force system restarts?

Age How old is the hardware and software? The older the hardware andsupport software, the more obsolete it will be. It may still functioncorrectly but there could be significant economic and business benefitsto moving to more modern systems.

Performance Is the performance of the system adequate? Do performance problemshave a significant effect on system users?

Supportrequirements

What local support is required by the hardware and software? If thereare high costs associated with this support, it may be worth consideringsystem replacement.

Maintenancecosts

What are the costs of hardware maintenance and support softwarelicences? Older hardware may have higher maintenance costs thanmodern systems. Support software may have high annual licensingcosts.

Interoperability Are there problems interfacing the system to other systems? Cancompilers etc. be used with current versions of the operating system? Ishardware emulation required?

Page 22: 1 / 22 CS 425/625 Software Engineering Legacy Systems Based on Chapter 26 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed., Addison-Wesley,

22 / 22

……..Legacy system assessment..Legacy system assessment Factors in application software assessment [Fig. 26.12 Somm00]