Tutorial on Software Maintenance


Book Description

Software maintenance, the work done on a software system after it becomes operational, consumes at least half of all technical and management resources expended in the software area. This volume supplies an overview of software maintenance : what it is, how to do it, how to manage it, and trends in current research. The thirty-one papers included are frequently requested from their authors, from hard-to-find sources, cover the foundations of current thinking on this topic, and extend the frontiers of research.




Tutorial on Software Maintenance


Book Description




Software Maintenance - A Management Perspective


Book Description

Computer systems play an important role in our society. Software drives those systems. Massive investments of time and resources are made in developing and implementing these systems. Maintenance is inevitable. It is hard and costly. Considerable resources are required to keep the systems active and dependable. We cannot maintain software unless maintainability characters are built into the products and processes. There is an urgent need to reinforce software development practices based on quality and reliability principles. Though maintenance is a mini development lifecycle, it has its own problems. Maintenance issues need corresponding tools and techniques to address them. Software professionals are key players in maintenance. While development is an art and science, maintenance is a craft. We need to develop maintenance personnel to master this craft. Technology impact is very high in systems world today. We can no longer conduct business in the way we did before. That calls for reengineering systems and software. Even reengineered software needs maintenance, soon after its implementation. We have to take business knowledge, procedures, and data into the newly reengineered world. Software maintenance people can play an important role in this migration process. Software technology is moving into global and distributed networking environments. Client/server systems and object-orientation are on their way. Massively parallel processing systems and networking resources are changing database services into corporate data warehouses. Software engineering environments, rapid application development tools are changing the way we used to develop and maintain software. Software maintenance is moving from code maintenance to design maintenance, even onto specification maintenance. Modifications today are made at specification level, regenating the software components, testing and integrating them with the system. Eventually software maintenance has to manage the evolution and evolutionary characteristics of software systems. Software professionals have to maintain not only the software, but the momentum of change in systems and software. In this study, we observe various issues, tools and techniques, and the emerging trends in software technology with particular reference to maintenance. We are not searching for specific solutions. We are identifying issues and finding ways to manage them, live with them, and control their negative impact.




Software Maintenance Success Recipes


Book Description

Software Maintenance Success Recipes identifies actionable formulas for success based on in-depth analysis of more than 200 real-world maintenance projects. It details the set of factors that are usually present when effective software maintenance teams do their work and instructs on the methods required to achieve success. Donald J. Reifer-an award winner for his contributions to the field of software engineering-provides step-by-step guidance on how to structure the job to complete all of the work related to the task.







Effective Software Maintenance and Evolution


Book Description

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




Software Engineering Practice


Book Description

This book is a broad discussion covering the entire software development lifecycle. It uses a comprehensive case study to address each topic and features the following: A description of the development, by the fictional company Homeowner, of the DigitalHome (DH) System, a system with "smart" devices for controlling home lighting, temperature, humidity, small appliance power, and security A set of scenarios that provide a realistic framework for use of the DH System material Just-in-time training: each chapter includes mini tutorials introducing various software engineering topics that are discussed in that chapter and used in the case study A set of case study exercises that provide an opportunity to engage students in software development practice, either individually or in a team environment. Offering a new approach to learning about software engineering theory and practice, the text is specifically designed to: Support teaching software engineering, using a comprehensive case study covering the complete software development lifecycle Offer opportunities for students to actively learn about and engage in software engineering practice Provide a realistic environment to study a wide array of software engineering topics including agile development Software Engineering Practice: A Case Study Approach supports a student-centered, "active" learning style of teaching. The DH case study exercises provide a variety of opportunities for students to engage in realistic activities related to the theory and practice of software engineering. The text uses a fictitious team of software engineers to portray the nature of software engineering and to depict what actual engineers do when practicing software engineering. All the DH case study exercises can be used as team or group exercises in collaborative learning. Many of the exercises have specific goals related to team building and teaming skills. The text also can be used to support the professional development or certification of practicing software engineers. The case study exercises can be integrated with presentations in a workshop or short course for professionals.




Software Engineer's Reference Book


Book Description

Software Engineer's Reference Book provides the fundamental principles and general approaches, contemporary information, and applications for developing the software of computer systems. The book is comprised of three main parts, an epilogue, and a comprehensive index. The first part covers the theory of computer science and relevant mathematics. Topics under this section include logic, set theory, Turing machines, theory of computation, and computational complexity. Part II is a discussion of software development methods, techniques and technology primarily based around a conventional view of the software life cycle. Topics discussed include methods such as CORE, SSADM, and SREM, and formal methods including VDM and Z. Attention is also given to other technical activities in the life cycle including testing and prototyping. The final part describes the techniques and standards which are relevant in producing particular classes of application. The text will be of great use to software engineers, software project managers, and students of computer science.




Software Engineering for Large Software Systems


Book Description

These proceedings include tutorials and papers presented at the Sixth CSR Confer ence on the topic of Large Software Systems. The aim of the Conference was to identify solutions to the problems of developing and maintaining large software systems, based on approaches which are currently being undertaken by software practitioners. These proceedings are intended to make these solutions more widely available to the software industry. The papers from software practitioners describe: • important working systems, highlighting their problems and successes; • techniques for large system development and maintenance, including project management, quality management, incremental delivery, system security, in dependent V & V, and reverse engineering. In addition, academic and industrial researchers discuss the practical impact of current research in formal methods, object-oriented design and advanced environ ments. The keynote paper is provided by Professor Brian Warboys of ICL and the University of Manchester, who masterminded the development of the ICL VME Operating System, and the production of the first database-driven software en gineering environment (CADES). The proceedings commence with reports of the two tutorial sessions which preceded the conference: • Professor Keith Bennett of the Centre for Software Maintenance at Durham University on Software Maintenance; • Professor John McDermid of the University of York on Systems Engineering Environments for High Integrity Systems. The remaining papers deal with reports on existing systems (starting with Professor Warboys' keynote paper), approaches to large systems development, methods for large systems maintenance and the expected impact of current research.




Computerworld


Book Description

For more than 40 years, Computerworld has been the leading source of technology news and information for IT influencers worldwide. Computerworld's award-winning Web site (Computerworld.com), twice-monthly publication, focused conference series and custom research form the hub of the world's largest global IT media network.