Chapter 29 - Maintenance and reengineering. This chapter presents the following content: Business process reengineering principles, business process reengineering model, software maintenance, software reengineering process model, reverse engineering concepts, reverse engineering activities, reverse engineering user interfaces, restructuring benefits,. | Chapter 29 Maintenance and Reengineering Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman Slides copyright © 1996, 2001, 2005, 2009 by Roger S. Pressman For non-profit educational use only May be reproduced ONLY for student use at the university level when used in conjunction with Software Engineering: A Practitioner's Approach, 7/e. Any other reproduction or use is prohibited without the express written permission of the author. All copyright information MUST appear if these slides are posted on a website for student use. Software Maintenance Software is released to end-users, and within days, bug reports filter back to the software engineering organization. within weeks, one class of users indicates that the software must be changed so that it can accommodate the special needs of their environment. within months, another corporate group who wanted nothing to do with the software when it was released, now recognizes that it may . | Chapter 29 Maintenance and Reengineering Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman Slides copyright © 1996, 2001, 2005, 2009 by Roger S. Pressman For non-profit educational use only May be reproduced ONLY for student use at the university level when used in conjunction with Software Engineering: A Practitioner's Approach, 7/e. Any other reproduction or use is prohibited without the express written permission of the author. All copyright information MUST appear if these slides are posted on a website for student use. Software Maintenance Software is released to end-users, and within days, bug reports filter back to the software engineering organization. within weeks, one class of users indicates that the software must be changed so that it can accommodate the special needs of their environment. within months, another corporate group who wanted nothing to do with the software when it was released, now recognizes that it may provide them with unexpected benefit. They’ll need a few enhancements to make it work in their world. All of this work is software maintenance Maintainable Software Maintainable software exhibits effective modularity It makes use of design patterns that allow ease of understanding. It has been constructed using well-defined coding standards and conventions, leading to source code that is self-documenting and understandable. It has undergone a variety of quality assurance techniques that have uncovered potential maintenance problems before the software is released. It has been created by software engineers who recognize that they may not be around when changes must be made. Therefore, the design and implementation of the software must “assist” the person who is making the change Software Supportability “the capability of supporting a software system over its whole product life. This implies satisfying any necessary needs or requirements, but also the provision of equipment, support