Legacy issues and their resolution. Topics What is a legacy system? How ‘legacy’ is the system? Dimensions of legacy status Evolution and avoidance of.

Slides:



Advertisements
Similar presentations
Chapter 26 Legacy Systems.
Advertisements

Overview of IS Controls, Auditing, and Security Fall 2005.
MIS 2000 Class 20 System Development Process Updated 2014.
CS3500 Software Engineering Legacy Systems (1) Legacy systems are software (and sometimes hardware) systems that have been developed sometime in the past.
Software Reuse SEII-Lecture 28
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 1 Systems engineering 2.
Approach to Dissertation. Timeframe – When? Year 1 –Taught part Sept 1996 – June 1997 –Project proposal June 1997 Year 2 –Break Year 3 –June 1998 – June.
Distributed components
CIM2564 Introduction to Development Frameworks 1 Overview of a Development Framework Topic 1.
11.1 Lecture 11 CASE tools IMS Systems Design and Implementation.
Software Evolution Managing the processes of software system change
© Prentice Hall CHAPTER 9 Application Development by Information Systems Professionals.
Dr Kettani, Spring 2002 Software Engineering IIFrom Sommerville, 6th edition Software change l Managing the processes of software system change.
SWE Introduction to Software Engineering
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
CSEM01 SE Evolution & Management Anne Comer Helen Edwards
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
Software evolution.
Introduction to Systems Analysis and Design
Introduction to Software Testing
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Chapter 27 Software Change.
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
Software Evolution Planning CIS 376 Bruce R. Maxim UM-Dearborn.
Information Technology Audit
Problems with reuse – Increased maintenance costs; lack of tool support; not-invented- here syndrome; creating, maintaining, and using a component library.
Chapter 1: Hierarchical Network Design
Software Project Management Fifth Edition
3- System modelling An architectural model presents an abstract view of the sub-systems making up a system May include major information flows between.
Software evolution. Objectives l To explain why change is inevitable if software systems are to remain useful l To discuss software maintenance and maintenance.
Software change  Managing the processes of software system change.
Legacy systems overview DT Legacy System definition “Legacy system is deficiency in a system in terms of its suitability to the business, its Platform.
An Introduction to Software Architecture
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Software change l Managing the processes of software system change.
Class 15 System Life Cycle. Outline System Life Cycle (Structured & Rapid methodologies) System Planning (3 strategic goals) SLC Activities System Life.
What is a life cycle model? Framework under which a software product is going to be developed. – Defines the phases that the product under development.
Software Software is omnipresent in the lives of billions of human beings. Software is an important component of the emerging knowledge based service.
2-Oct-15 1 Introduction to Software Engineering Softwares Importance of SWE Basic SWE Concepts ICS Software Engineering.
2-Oct-15 Introduction to SWE1 Introduction to Software Engineering Softwares Importance of SWE Basic SWE Concepts.
CS 425/625 Software Engineering Legacy Systems
 Explain the role of a system analyst.  Identify the important parts of SRS document.  Identify the important problems that an organization would face.
Software Engineering – University of Tampere, CS DepartmentJyrki Nummenmaa REQUIREMENT SPECIFICATION Today: Requirements Specification.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Software change l Managing the processes of software system change.
Lecture 19 Chapter 10 A Portfolio Approach to Managing IT Projects.
ENTERPRISE RESOURCE PLANNING(ERP). Contents Introduction ERP-Definition Evolution of ERP Enabling Technologies ERP Characteristics Features of ERP Benefits.
High Performance Embedded Computing © 2007 Elsevier Lecture 3: Design Methodologies Embedded Computing Systems Mikko Lipasti, adapted from M. Schulte Based.
High Performance Embedded Computing © 2007 Elsevier Chapter 1, part 2: Embedded Computing High Performance Embedded Computing Wayne Wolf.
Legacy Systems An Introduction. Legacy Systems Why do you think the agents are after his life ??
An Introduction to Software Engineering (Chapter 1 from the textbook)
Chapter 2: Software Maintenance Omar Meqdadi SE 3860 Lecture 2 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
CS223: Software Engineering Lecture 2: Introduction to Software Engineering.
Banaras Hindu University. A Course on Software Reuse by Design Patterns and Frameworks.
CS223: Software Engineering Lecture 18: The XP. Recap Introduction to Agile Methodology Customer centric approach Issues of Agile methodology Where to.
©Ian Sommerville 2007COTS-based System Engineering Slide 1 COTS-based System Engineering.
Enterprise Architectures Course Code : CPIS-352 King Abdul Aziz University, Jeddah Saudi Arabia.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
Migration of Legacy Software to Service Oriented Architecture Edward Stehle, Brian Pyles, Jonathon Max- Sohmer, Kevin Lynch.
Software Development Module Code: CST 240 Chapter 6: Software Maintenance Al Khawarizmi International College, AL AIN, U.A.E Lecturer: Karamath Ateeq.
CS223: Software Engineering
Overview Software Maintenance and Evolution Definitions
Rekayasa Perangkat Lunak Part-10
IT Architecture Technical blueprint for evolving a corporate infrastructure resource that can be shared by many users and services processing systems hardware.
Rekayasa Perangkat Lunak
Software Processes (a)
Rekayasa Perangkat Lunak
Chapter 27 Software Change.
CS310 Software Engineering Lecturer Dr.Doaa Sami
Chapter 8 Software Evolution.
Managed Content Services
Presentation transcript:

Legacy issues and their resolution

Topics What is a legacy system? How ‘legacy’ is the system? Dimensions of legacy status Evolution and avoidance of legacy status Legacy assessment through cause and effect Moving on from a legacy system

Evolution of the legacy Original systems were granted as favours from above User involvement did not exist Solutions were machine-friendly rather than user friendly As systems revolved around smaller, isolated businesses, there was less change Development and execution took time Systems were tailored to solving a current problem

Common profile of legacy systems Applications that are up to 35 years old Part of an application portfolio that is vital to the running of the business No time to shut down and replace Badly designed, not integrated, expensive to maintain Prevalent in central government, transportation, energy and the financial sector

What causes a system to become legacy? Lack of System suitability Lack of Underlying platform suitability Lack of Software quality

System suitability doing what the organisation wants it to do –(suitability of system to business process) doing what the organisation needs it to do –(suitability of business process to organisational mission), being usable by the organisation –(suitability of the system to the organisational environment).

Reasons for problems regarding System suitability Unwillingness to face change for political financial and cultural reasons Constant need to refocus organisation’s mission, processes and culture –requires research, benchmarking and training Occurrence of events separate reality from the system’s focus

Underlying platform Hardware –e.g. 16-bit to 32-bit –mainframe to PCs Operating system –fast changing Networking –lan, wan, differing c/s models Development environment –major legacy hazard Data management system –architecture, use and scale –openness

Software Quality Component quality –Quality of the written software within the component Design quality –Quality of the current design, in snapshot form Change management quality –How quality is assured while evolving system to meet changing requirements

Quality of written software Originally may be written in a clear, legible and flexible way Maintenance results in change in style, organisation and functionality of the system.

Older systems –Style - e.g. introduction of structural programming in a program using GOTO’s, or change from structured to object-oriented, or change from crafted code to generated code. –Organisation - e.g. program written with input, processing and output sections - maintainer puts processing code into the input or output sections. –Functionality - e.g. adding code to make current obsolete, without removing obsolete code

Object-oriented systems Number of tiers Maintainers leave their mark! –How many tiers? –What’s in the control tier? –How much responsibility is given to each class? Most organisations have not yet introduced standards for such issues.

Quality of design problems Manual implementation of methodology –resulting in errors, inconsistency, failure to maintain over changes, loss of traceability, mountain of paper Change of methodology during lifetime of system –changes not retrospective, original design lost Automated life cycle – with insufficient traceability, value addition or consistency

Quality of change management Software Process Improvement or Assessment models –Not in widespread use –Extremely difficult and intensive to implement –When depending on external sources, iterative improvement may be beyond organisation’s control

Causal Dimensions of Legacy Status System suitability –Suitability to organisation’s mission –Suitability to organisation structure –Suitability to process Underlying platform –Hardware, Operating system, Networking, Development environment and Data management Software quality –Component quality –Design quality –Change management quality System Suitability Software Quality Underlying platform

Legacy Effects –Asset value goes down Mission criticality reliability –Ease of operation goes down User satisfaction Ease of testing and auditing –Ease of migration / evolution declines Ease of use of new technology Scalability –Ease of maintenance declines Cost of maintenance and resistance to it Availability of resources Program size and complexity Dependence on individuals

Definition of legacy status Adversely effects –Asset value –Ease of operation –Ease of maintenance –Ease of migration / evolution Causes are lack of –System suitability –Underlying platform suitability –Software quality

Finding a solution Slee and Slovin (1997) proposed a 4R portfolio matrix: -

Solution strategies Leave them alone Deal with them gradually Implement change as a ‘big bang’ Solve the problem In-house / outsource Open assessment or assessment towards a particular solution

Solutions for legacy systems Solutions offered come from a wide variety of sources. Rather than look at individual solutions, look at characteristics of those solutions. Evaluate the solutions superficially, based on their characteristics, to give an impression of what problems they may solve / cause.

Architecture Component based –Not necessarily object-oriented –Good software component and design quality Object oriented –Good software component and design quality –Infrastructures may be too ‘leading edge’ Layered architecture –Promotes flexibility in adapting applications –Requires sophisticated understanding of platforms Bespoke –enables process excellence, but not quickly!

Data reuse ODBC –Reuse of data over networks and the internet Data warehousing Data migration

Code reuse Vertical wrapping Horizontal wrapping Application wrapping

Redevelopment / renewal Redevelop Renew iteratively Restructure software Re-host

References What legacy systems are: –Arnold (1989), Sneed (1995), Gold (1998), Ransom et al.(1998,99), Slee & Slovin (1997), SABA/SEBPC website. – Software Engineering paradigms –Pressman (2000) Platform choices –Laudon & Laudon (1999) SAP R/3 –Huge number available now.

Further references Gartner group conference proceedings –Excellent for showing what is being used, rather than theoretical ideas –References not used, so descriptions or references for original material must be got elsewhere –O’Byrne, Patricia, Wu, Bing “Lace Frameworks and Technique – Identifying the Legacy Status of an Information System from the Perspectives of its Causes and Effects” 2000 International Symposium on Principles of Software Evolution (ISPSE 2000), Kanazawa, Japan.