Modernizing Legacy Systems: Software Technologies, Engineering Processes, and Business Practices
- By Robert C. Seacord, Daniel Plakosh, Grace A. Lewis
- Published Feb 13, 2003 by Addison-Wesley Professional. Part of the SEI Series in Software Engineering series.
- Copyright 2003
- Dimensions: 6-1/4x9-1/4
- Pages: 352
- Edition: 1st
- ISBN-10: 0-321-11884-7
- ISBN-13: 978-0-321-11884-4
Register your product to gain access to bonus material or receive a coupon.
Product Author Bios
Robert Seacord began programming (professionally) for IBM in 1982 and has been programming in C since 1985, and in C++ since 1992. Robert is currently a Senior Vulnerability Analyst with the CERT/Coordination Center at the Software Engineering Institute (SEI). He is coauthor of Building Systems from Commercial Components (Addison-Wesley, 2002) and Modernizing Legacy Systems (Addison-Wesley, 2003). The CERT/CC, among other security-related activities, regularly analyzes software vulnerability reports and assesses the risk to the Internet and other critical infrastructure.
Daniel Plakosh is a senior member of the technical staff in the COTS-Based Systems initiative at the SEI. Prior to joining the SEI, he was the lead software engineer for the Systems Engineering Department at the Naval Surface Warfare Center (NSWCDD).
Grace A. Lewis is a member of the technical staff at the SEI. Before joining the SEI, she was Chief of Systems Development for Icesi University in Cali, Colombia.
"The potential impact of this book cannot be overstressed. Software systems that are not continually and adequately evolved and, in particular, legacy systems that have not been so maintained, can threaten an organization's very survival. I recommend the book as a must for people directly involved in such evolution, whether as customers, managers and resource providers, or as implementers."
--M. M. Lehman, Emeritus Professor, Middlesex University
Businesses inevitably face a critical choice in the design and maintenance of their software systems: Dismantle older systems and completely replace them, or incrementally modernize existing systems. Many businesses choose the latter course, seeking to maximize their existing investment and preserve valuable business knowledge, while adapting to rapidly evolving technologies. Modernizing Legacy Systems is a much-needed guide, showing how to implement a successful modernization strategy and describing specifically a risk-managed, incremental approach--one that encompasses changes in software technologies, engineering processes, and business practices.
Key topics include:
- Making a case for modernization
- Understanding requirements and constraints
- Maintaining performance, data integrity, and security
- Designing and deploying the target architecture
- Migrating code and data
- Estimating costs
- Planning the modernization effort
For every topic, this book presents current standards and available products that support legacy system modernization. In addition, a large retail-supply-system case study--a system written in COBOL being modernized to one based on the J2EE architecture--runs throughout this book to demonstrate a real-world legacy system modernization effort.
11 of 11 people found the following review helpful
A Legacy Migration Classic,
This review is from: Modernizing Legacy Systems: Software Technologies, Engineering Processes, and Business Practices (Paperback)If you have ever had the task of migrating legacy code and data to a new system you know how complex that task can be. "Modernizing Legacy Systems" covers all the bases of migrating a legacy system in wonderful detail without being overly wordy or obscure. System and software engineers will recognize and appreciate the fact that this book bases its advice on real world experience - the kind you get only from working on complex projects.
A well-defined plan of migration is presented early on for a complex retail supply system migration. Each phase of the plan is presented and explained in detail - covering both management and development perspectives equally well. For those of us who spend our days in a developer's world, the additional information on managing the migration effort contributes the right mix of information for what we are tasked to accomplish. I appreciated the technical specifics that were included throughout (i.e., utilizing Enterprise Java Beans) so... Read more
7 of 7 people found the following review helpful
This review is from: Modernizing Legacy Systems: Software Technologies, Engineering Processes, and Business Practices (Paperback)This book describes the process and technologies involved in updating a legacy system. Chapters 1 through 4 do a very good job of describing the problems inherent in working with legacy systems, which the authors define simply as having "code that was written yesterday." I couldn't agree more with their perspective. Once code is written, it needs to be maintained, updated, and managed, whether it is COBOL, Fortran, PowerBuilder or Java; all code becomes legacy code once it is written.
Early in the book, the authors present a Unified Modeling Language (UML) activity diagram to describe their proposed process for updating legacy systems. They then open each chapter by depicting where they are in the process -- from Portfolio analysis completed (modernization candidates selected) to Modernization plan defined. The book defines ten main steps and two checkpoints for completing this process, including decision points to determine whether modernization is the correct choice.
To... Read more
7 of 7 people found the following review helpful
Methodical Resolution of Pivotal Issues,
This review is from: Modernizing Legacy Systems: Software Technologies, Engineering Processes, and Business Practices (Paperback)Addressing a timely and vital topic, 'Modernizing Legacy Systems' is an excellent book from the standpoints of both content and presentation. The advocated approach, which is termed the Risk-Managed Modernization (RMM) Approach, is synopsized on page 28 in UML activity diagram form. The exposition in the subsequent chapters is keyed to corresponding activities in this diagram. This key makes it quite easy to situate and interrelate the coverage of the respective chapters in the context of the RMM Approach. I found this recurring orientation feature to be very helpful in understanding and integrating the book's content.
The book describes, rationalizes, and selectively illustrates the RMM Approach, where the continued availability of the legacy system capabilities is necessary over the sequence of modernization increments. While the approach is illustrated through an incremental transformation of a legacy COBOL-based system to a Java-based derivative, the RMM Approach is... Read more
› See all 3 customer reviews...
Online Sample Chapter
Table of Contents
1. The Legacy Crisis.
2. The Beast.
3. Risk-Managed Modernization.
4. Developing the Business Case.
5. Understanding the Legacy System.
6. Architecture Representation.
7. Languages and Data Management.
8. Transaction Technology.
9. Software Infrastructure.
10. Maintaining Transactional Context.
11. Business Object Integration.
12. Target Architecture.
13. Architecture Transformation.
14. System Preparation.
15. Code and Data Migration.
16. Integrated Plan.
17. Resource Estimation.
Software systems become legacy systems when they begin to resist modification and evolution. However, the knowledge embodied in legacy systems constitutes significant corporate assets. Assuming these system still provide significant business value, they must then be modernized or replaced. This book describes a risk-managed approach to legacy system modernization that applies a knowledge of software technologies and an understanding of engineering processes within a business context.Audience
Modernizing Legacy Systems: Software Technologies, Engineering Processes and Business Practices should be useful to anyone involved in modernizing a legacy system.
- As a software engineer, it should help you understand some of the larger business concerns that drive a modernization effort.
- As a software designer, this book should help you understand the impact of legacy code, coupled with incremental development and deployment practices, on design activities.
- As a system architect, this book explains the processes and techniques that have failed or succeeded in practice. It should also provide insight into how you can repeat these successes and avoid the failures.
- As an IT manager, this book explains how technology and business objectives influence the software modernization processes.
In particular, it should help you answer the following questions:
- When and how do I decide if a modernization or replacement effort is justified?
- How do I develop an understanding of the legacy system?
- How do I gain an understanding of, and evaluate the applicability of, information system technologies that can be used in the modernization of my system?
- When do I involve the stakeholders and how can I reconcile their conflicting needs?
- What role does architecture play in legacy system modernization?
- How can I estimate the cost of a legacy system modernization?
- How can I evaluate and select a modernization strategy?
- How can I develop a detailed modernization plan?
Modernizing Legacy Systems: Software Technologies, Engineering Processes and Business Practices shows how legacy systems can be incrementally modernized. It uses and extends the methods and techniques described in Building Systems from Commercial Components Wallnau, 2001 to draw upon engineering expertise early in the conceptual phase to ensure realistic and comprehensive planning.
This book features an extensive case study involving a major modernization effort. The legacy system in this case study consists of nearly 2 million lines of COBOL code developed over 30 years. The system is being replaced with a modern system based on the Java 2 Enterprise Edition (J2EE) architecture. Additional challenges include a requirement to incrementally develop and deploy the system. We look at the strategy used to modernize the system; the use of Enterprise JavaBeans, message-oriented middleware, Java, and other J2EE technologies to produce the modern system; the supporting software engineering processes and techniques; and the resulting system.
Chapters 1 of this book provides an introduction to the challenges and practices of software evolution and Chapter 2 introduces the major case study in the book.
Chapter 3 introduces the Risk-Managed Modernization (RMM) approach which is elaborated in Chapters 4 through 17 and illustrated by the case study. Throughout Chapters 4 through 17 we provide an activity diagram of RMM as a road map to each chapter.
Chapter 18 provides some recommendations to help guide your modernization efforts (although these recommendations cannot be fully appreciated without reading the main body of the book).Throughout this book we use the Unified Modelling Language (UML) to represent architecture drawings and design patterns. A brief introduction to UML is provided in Chapter 6.
Downloadable Sample Chapter
Click below for Sample Chapter(s) related to this title:
Sample Chapter 3
Click below to download the Index file related to this title:
This book includes free shipping!
Get access to thousands of books and training videos about technology, professional development and digital media from more than 40 leading publishers, including Addison-Wesley, Prentice Hall, Cisco Press, IBM Press, O'Reilly Media, Wrox, Apress, and many more. If you continue your subscription after your 30-day trial, you can receive 30% off a monthly subscription to the Safari Library for up to 12 months. That's a total savings of $199.