Re-Engineering Legacy Software

Re-Engineering Legacy Software

Author: Chris Birchall

Publisher: Simon and Schuster

Published: 2016-04-15

Total Pages: 331

ISBN-13: 1638353328

DOWNLOAD EBOOK

Summary As a developer, you may inherit projects built on existing codebases with design patterns, usage assumptions, infrastructure, and tooling from another time and another team. Fortunately, there are ways to breathe new life into legacy projects so you can maintain, improve, and scale them without fighting their limitations. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Book Re-Engineering Legacy Software is an experience-driven guide to revitalizing inherited projects. It covers refactoring, quality metrics, toolchain and workflow, continuous integration, infrastructure automation, and organizational culture. You'll learn techniques for introducing dependency injection for code modularity, quantitatively measuring quality, and automating infrastructure. You'll also develop practical processes for deciding whether to rewrite or refactor, organizing teams, and convincing management that quality matters. Core topics include deciphering and modularizing awkward code structures, integrating and automating tests, replacing outdated build systems, and using tools like Vagrant and Ansible for infrastructure automation. What's Inside Refactoring legacy codebases Continuous inspection and integration Automating legacy infrastructure New tests for old code Modularizing monolithic projects About the Reader This book is written for developers and team leads comfortable with an OO language like Java or C#. About the Author Chris Birchall is a senior developer at the Guardian in London, working on the back-end services that power the website. Table of Contents PART 1 GETTING STARTED Understanding the challenges of legacy projects Finding your starting point PART 2 REFACTORING TO IMPROVE THE CODEBASE Preparing to refactor Refactoring Re-architecting The Big Rewrite PART 3 BEYOND REFACTORING—IMPROVING PROJECT WORKFLOWAND INFRASTRUCTURE Automating the development environment Extending automation to test, staging, and production environments Modernizing the development, building, and deployment of legacy software Stop writing legacy code!


Object-oriented Reengineering Patterns

Object-oriented Reengineering Patterns

Author: Serge Demeyer

Publisher: Lulu.com

Published: 2009

Total Pages: 362

ISBN-13: 395233412X

DOWNLOAD EBOOK

Object-Oriented Reengineering Patterns collects and distills successful techniques in planning a reengineering project, reverse-engineering, problem detection, migration strategies and software redesign. This book is made available under the Creative Commons Attribution-ShareAlike 3.0 license. You can either download the PDF for free, or you can buy a softcover copy from lulu.com. Additional material is available from the book's web page at http://scg.unibe.ch/oorp


Re-Engineering RPG Legacy Applications

Re-Engineering RPG Legacy Applications

Author: Paul Tuohy

Publisher: MC Press

Published: 1999

Total Pages: 0

ISBN-13: 9781583470060

DOWNLOAD EBOOK

Re-engineering AS/400 Legacy Applications and companion CD ROM provide a tutorial aimed at showing you how to modernize your applications by taking you step by step through the re-engineering of a sample application. Author Paul Tuohy covers conversion of RPG IV programs, as well as re-engineering them to take full advantage of RPG IV and ILE. He also covers triggers, referential integrity, and APIs so that your applications can take advantage of all the new technology that is available today. This book will be a valuable aid as you evaluate your legacy applications and then move into re- engineering.


Information Systems Reengineering for Modern Business Systems

Information Systems Reengineering for Modern Business Systems

Author: Raul Valverde

Publisher: Information Science Reference

Published: 2012

Total Pages: 281

ISBN-13: 9781466601574

DOWNLOAD EBOOK

"This book covers different techniques that could be used in industry in order to reengineer business processes and legacy systems into more flexible systems capable of supporting modern trends such as Enterprise Resource Planning (ERP), supply chain management systems and e-commerce"--Provided by publisher.


Working Effectively with Legacy Code

Working Effectively with Legacy Code

Author: Michael Feathers

Publisher: Prentice Hall Professional

Published: 2004-09-22

Total Pages: 457

ISBN-13: 0132931753

DOWNLOAD EBOOK

Get more out of your legacy systems: more performance, functionality, reliability, and manageability Is your code easy to change? Can you get nearly instantaneous feedback when you do change it? Do you understand it? If the answer to any of these questions is no, you have legacy code, and it is draining time and money away from your development efforts. In this book, Michael Feathers offers start-to-finish strategies for working more effectively with large, untested legacy code bases. This book draws on material Michael created for his renowned Object Mentor seminars: techniques Michael has used in mentoring to help hundreds of developers, technical managers, and testers bring their legacy systems under control. The topics covered include Understanding the mechanics of software change: adding features, fixing bugs, improving design, optimizing performance Getting legacy code into a test harness Writing tests that protect you against introducing new problems Techniques that can be used with any language or platform—with examples in Java, C++, C, and C# Accurately identifying where code changes need to be made Coping with legacy systems that aren't object-oriented Handling applications that don't seem to have any structure This book also includes a catalog of twenty-four dependency-breaking techniques that help you work with program elements in isolation and make safer changes.


Modern Software Engineering

Modern Software Engineering

Author: David Farley

Publisher: Addison-Wesley Professional

Published: 2021-11-16

Total Pages: 479

ISBN-13: 0137314868

DOWNLOAD EBOOK

Improve Your Creativity, Effectiveness, and Ultimately, Your Code In Modern Software Engineering, continuous delivery pioneer David Farley helps software professionals think about their work more effectively, manage it more successfully, and genuinely improve the quality of their applications, their lives, and the lives of their colleagues. Writing for programmers, managers, and technical leads at all levels of experience, Farley illuminates durable principles at the heart of effective software development. He distills the discipline into two core exercises: learning and exploration and managing complexity. For each, he defines principles that can help you improve everything from your mindset to the quality of your code, and describes approaches proven to promote success. Farley's ideas and techniques cohere into a unified, scientific, and foundational approach to solving practical software development problems within realistic economic constraints. This general, durable, and pervasive approach to software engineering can help you solve problems you haven't encountered yet, using today's technologies and tomorrow's. It offers you deeper insight into what you do every day, helping you create better software, faster, with more pleasure and personal fulfillment. Clarify what you're trying to accomplish Choose your tools based on sensible criteria Organize work and systems to facilitate continuing incremental progress Evaluate your progress toward thriving systems, not just more "legacy code" Gain more value from experimentation and empiricism Stay in control as systems grow more complex Achieve rigor without too much rigidity Learn from history and experience Distinguish "good" new software development ideas from "bad" ones Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.


Application (re)engineering

Application (re)engineering

Author: Amjad Umar

Publisher: Prentice Hall

Published: 1997

Total Pages: 632

ISBN-13:

DOWNLOAD EBOOK

75003-4 Building advanced Web-based enterprise applications: a comprehensive, systematic approach. Three technologies are converging to dramatically change the nature of application development: client/server, object-orientation, and the Internet. This book is a complete guide to successfully integrating all of these technologies in your new enterprise applications. Expert consultant and project manager Dr. Amjad Umar shows how to establish data architectures, application architectures, and frameworks that enable successful Web-based software development. He presents a detailed methodology for using middleware to engineer new applications--or reengineer existing ones. He also offers a systematic approach to cope with legacy systems--including legacy data access, data warehousing and application migration/transition strategies. For each major issue confronting developers, Umar considers the state of today's marketplace, as well as trends that will powerfully impact development projects in the near future. The book contains extensive guidelines, implementation examples and case studies, using a wide range of technologies, including: CORBA. ActiveX. PowerBuilder. Encina. CGI and other Web gateways The book includes short tutorials on object-oriented concepts, distributed objects, the World Wide Web, and client/server middleware. Each chapter is written as a self-contained tutorial--making the book a valuable resource not only for IT professionals, but also for trainers, teachers, and advanced students.


Software Evolution and Maintenance

Software Evolution and Maintenance

Author: Priyadarshi Tripathy

Publisher: John Wiley & Sons

Published: 2014-11-17

Total Pages: 416

ISBN-13: 0470603410

DOWNLOAD EBOOK

Provides students and engineers with the fundamental developments and common practices of software evolution and maintenance Software Evolution and Maintenance: A Practitioner’s Approach introduces readers to a set of well-rounded educational materials, covering the fundamental developments in software evolution and common maintenance practices in the industry. Each chapter gives a clear understanding of a particular topic in software evolution, and discusses the main ideas with detailed examples. The authors first explain the basic concepts and then drill deeper into the important aspects of software evolution. While designed as a text in an undergraduate course in software evolution and maintenance, the book is also a great resource forsoftware engineers, information technology professionals, and graduate students in software engineering. Based on the IEEE SWEBOK (Software Engineering Body of Knowledge) Explains two maintenance standards: IEEE/EIA 1219 and ISO/IEC14764 Discusses several commercial reverse and domain engineering toolkits Slides for instructors are available online Software Evolution and Maintenance: A Practitioner’s Approach equips readers with a solid understanding of the laws of software engineering, evolution and maintenance models, reengineering techniques, legacy information systems, impact analysis, refactoring, program comprehension, and reuse.


Effective Software Maintenance and Evolution

Effective Software Maintenance and Evolution

Author: Stanislaw Jarzabek

Publisher: CRC Press

Published: 2007-05-07

Total Pages: 420

ISBN-13: 1420013114

DOWNLOAD EBOOK

With software maintenance costs averaging 50% of total computing costs, it is necessary to have an effective maintenance program in place. Aging legacy systems, for example, pose an especially rough challenge as veteran programmers retire and their successors are left to figure out how the systems operate. This book explores program analyzers, reve