CS 425/625 Software Engineering Legacy Systems

Slides:



Advertisements
Similar presentations
Chapter 26 Legacy Systems.
Advertisements

Software Re-engineering
Chapter 26 Legacy Systems.
Chapter 27 Software Change.
Configuration management
Software change management
CIS 376 Bruce R. Maxim UM-Dearborn
Legacy Systems Older software systems that remain vital to an organisation.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 1 Systems engineering 2.
1 / 24 CS 425/625 Software Engineering Software Evolution Based on Chapter 21 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8 th Ed., Addison-Wesley,
Software Evolution Managing the processes of software system change
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
1 / 31 CS 425/625 Software Engineering User Interface Design Based on Chapter 15 of the textbook [SE-6] Ian Sommerville, Software Engineering, 6 th Ed.,
CSEM01 SE Evolution & Management Anne Comer Helen Edwards
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
1 / 26 CS 425/625 Software Engineering Architectural Design Based on Chapter 11 of the textbook [SE-8] Ian Sommerville, Software Engineering, 8t h Ed.,
Software evolution.
Software evolution.
Software maintenance Managing the processes of system change.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Chapter 27 Software Change.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 12 Slide 1 Distributed Systems Design 1.
Application architectures
Software Re-engineering
Chapter 9 – Software Evolution and Maintenance
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
This chapter is extracted from Sommerville’s slides. Text book chapter
Chapter 1 Database Systems. Good decisions require good information derived from raw facts Data is managed most efficiently when stored in a database.
Lecture # 22 Software Evolution
Software evolution. Objectives l To explain why change is inevitable if software systems are to remain useful l To discuss software maintenance and maintenance.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Software change l Managing the processes of software system change.
Software Engineering CS3003 Lecture 3 Software maintenance and evolution.
Chapter 6 : Software Metrics
Creator: ACSession No: 16 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringFebruary 2006 (Software Quality) Configuration Management CSE300 Advanced.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 27Slide 1 Software change l Managing the processes of software system change.
1 / 18 CS 425/625 Software Engineering Requirements Engineering Processes Based on Chapter 6 of the textbook [Somm00] Ian Sommerville, Software Engineering,
©Ian Sommerville 2004 Software Engineering. Chapter 21Slide 1 Chapter 21 Software Evolution.
Manag ing Software Change CIS 376 Bruce R. Maxim UM-Dearborn.
CS 425/625 Software Engineering Project Management
Legacy Systems An Introduction. Legacy Systems Why do you think the agents are after his life ??
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution 1.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 28Slide 1 CO7206 System Reengineering 4.2 Software Reengineering Most slides are Slides.
Chapter 9 & 10 Database Planning, Design and Administration Database Application Lifecycle DBMS Selection Database Administration.
1 / 26 CS 425/625 Software Engineering Architectural Design Based on Chapter 10 of the textbook [Somm00] Ian Sommerville, Software Engineering, 6 th Ed.,
Chapter 9 – Software Evolution Chapter 9 Software Evolution1.
1 Software Maintenance The process of changing the system after it has been delivered and in operation Software change is inevitable –New requirements.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution 2.
Chapter 9 – Software Evolution Chapter 9 Software Evolution130/10/2014.
1 Chapter 12 Configuration management This chapter is extracted from Sommerville’s slides. Text book chapter 29 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
Chapter 9 – Software Evolution 1Chapter 9 Software evolution.
Slide 1 Ch 13 Application architectures Generic architectures that can be configured and adapted to create a system that meets specific requirements Can.
Legacy Systems IS301 – Software Engineering Lecture # 24 – M. E. Kabay, PhD, CISSP Dept of Computer Information Systems Norwich University.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 21 Slide 1 Software evolution.
© SERG Reverse Engineering (Software Maintenance & Reengineering) Software Maintenance Managing the processes of system change.
1 / 14 CS 425/625 Software Engineering Software Change Based on Chapter 27 of the textbook [SE-6] Ian Sommerville, Software Engineering, 6 th Ed., Addison-Wesley,
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini XVI. Software Evolution.
Tutorial 4 IT323.  Q1. As a software project manager in a company that specializes in the development of software for the offshore oil industry, you.
Software Maintenance.
Chapter 9 – Software Evolution
Chapter 9 – Software Evolution
CS 425/625 Software Engineering Software Evolution
Introduction to Databases Transparencies
Legacy Systems Older software systems that remain vital to an organisation.
Chapter 27 Software Change.
Introduction to Systems Analysis and Design Stefano Moshi Memorial University College System Analysis & Design BIT
Chapter 8 Software Evolution.
Legacy system components
Software Re-engineering and Reverse Engineering
Presentation transcript:

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

Outline Introduction Legacy System Structures Legacy System Design Legacy System Assessment

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

.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

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

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

.Legacy system structures… Legacy system components [Fig. 26.1 Somm00]

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

…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

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

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

.Legacy system design…. The IPO Model [Fig. 26.7 Somm00].

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

…Legacy system design.. Data flow diagrams are often used to design function-oriented systems. Example: a payroll system [Fig. 26.8 Somm00]

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

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

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

.Legacy system assessment…. Assessing legacy systems example [Fig. 26.10 Somm00]

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

…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

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

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