Application Software Re-engineering


Book Description

Application Software Re-engineering is about reorganizing and modifying existing software systems to make them more maintainable and user friendly. It also powerfully dwells on the aspects of general Application Software Reengineering across variou.




Re-Engineering Legacy Software


Book Description

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!




Re-Engineering the Manufacturing System


Book Description

An information systems trailblazer in the domains of decision support and factory and supply chain synchronization, the second edition of Re-Engineering the Manufacturing System stays true to its title, once again bestowing uniquely straightforward instructions for designing, installing, and operating manufacturing information systems. This updated and expanded source takes care to clarify the often blurred concepts of synchronization and optimization and offers implementation advice from four discrete angles to yield better bottom-line results. It shows how to exploit an information system, rolling ERP system implementation into the TOC framework to promote profit materialization.




Object-oriented Reengineering Patterns


Book Description

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




Automatic Re-engineering of Software Using Genetic Programming


Book Description

Automatic Re-engineering of Software Using Genetic Programming describes the application of Genetic Programming to a real world application area - software re-engineering in general and automatic parallelization specifically. Unlike most uses of Genetic Programming, this book evolves sequences of provable transformations rather than actual programs. It demonstrates that the benefits of this approach are twofold: first, the time required for evaluating a population is drastically reduced, and second, the transformations can subsequently be used to prove that the new program is functionally equivalent to the original. Automatic Re-engineering of Software Using Genetic Programming shows that there are applications where it is more practical to use GP to assist with software engineering rather than to entirely replace it. It also demonstrates how the author isolated aspects of a problem that were particularly suited to GP, and used traditional software engineering techniques in those areas for which they were adequate. Automatic Re-engineering of Software Using Genetic Programming is an excellent resource for researchers in this exciting new field.




Requirements Engineering for Software and Systems, Second Edition


Book Description

As requirements engineering continues to be recognized as the key to on-time and on-budget delivery of software and systems projects, many engineering programs have made requirements engineering mandatory in their curriculum. In addition, the wealth of new software tools that have recently emerged is empowering practicing engineers to improve their requirements engineering habits. However, these tools are not easy to use without appropriate training. Filling this need, Requirements Engineering for Software and Systems, Second Edition has been vastly updated and expanded to include about 30 percent new material. In addition to new exercises and updated references in every chapter, this edition updates all chapters with the latest applied research and industry practices. It also presents new material derived from the experiences of professors who have used the text in their classrooms. Improvements to this edition include: An expanded introductory chapter with extensive discussions on requirements analysis, agreement, and consolidation An expanded chapter on requirements engineering for Agile methodologies An expanded chapter on formal methods with new examples An expanded section on requirements traceability An updated and expanded section on requirements engineering tools New exercises including ones suitable for research projects Following in the footsteps of its bestselling predecessor, the text illustrates key ideas associated with requirements engineering using extensive case studies and three common example systems: an airline baggage handling system, a point-of-sale system for a large pet store chain, and a system for a smart home. This edition also includes an example of a wet well pumping system for a wastewater treatment station. With a focus on software-intensive systems, but highly applicable to non-software systems, this text provides a probing and comprehensive review of recent developments in requirements engineering in high integrity systems.




Software Reengineering


Book Description

Software -- Software Engineering.




Application (re)engineering


Book Description

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.




Re-Engineering RPG Legacy Applications


Book Description

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.




Process for System Architecture and Requirements Engineering


Book Description

This is the digital version of the printed book (Copyright © 2000). Derek Hatley and Imtiaz Pirbhai—authors of Strategies for Real-Time System Specification—join with influential consultant Peter Hruschka to present a much anticipated update to their widely implemented Hatley/Pirbhai methods. Process for System Architecture and Requirements Engineering introduces a new approach that is particularly useful for multidisciplinary system development: It applies equally well to all technologies and thereby provides a common language for developers in widely differing disciplines. The Hatley-Pirbhai-Hruschka approach (H/H/P) has another important feature: the coexistence of the requirements and architecture methods and of the corresponding models they produce. These two models are kept separate, but the approach fully records their ongoing and changing interrelationships. This feature is missing from virtually all other system and software development methods and from CASE tools that only automate the requirements model. System managers, system architects, system engineers, and managers and engineers in all of the diverse engineering technologies will benefit from this comprehensive, pragmatic text. In addition to its models of requirements and architecture and of the development process itself, the book uses in-depth case studies of a hospital monitoring system and of a multidisciplinary groundwater analysis system to illustrate the principles. Compatibility Between the H/H/P Methods and the UML: The Hatley/Pirbhai architecture and requirements methods—described in Strategies for Real-Time System Specification—have been widely used for almost two decades in system and software development. Now known as the Hatley/Hruschka/Pirbhai (H/H/P) methods, they have always been compatible with object-oriented software techniques, such as the UML, by defining architectural elements as classes, objects, messages, inheritance relationships, and so on. In Process for System Architecture and Requirements Engineering, that compatibility is made more specific through the addition of message diagrams, inheritance diagrams, and new notations that go with them. In addition, state charts, while never excluded, are now specifically included as a representation of sequential machines. These additions make definition of the system/software boundary even more straightforward, while retaining the clear separation of requirements and design at the system levels that is a hallmark of the H/H/P methods—not shared by most OO techniques. Once the transition to software is made, the developer is free to continue using the H/H/P methods, or to use the UML or any other software-specific technique.