软件再工程过程中的六类活动:维护策略与维护成本

需积分: 50 16 下载量 87 浏览量 更新于2024-08-21 收藏 665KB PPT 举报
软件再工程过程模型是软件生命周期管理的重要环节,它定义了一系列旨在改善软件质量和适应性的一系列活动。本章节重点讨论了软件维护的六个关键类别,这些活动对于确保软件持续有效和降低成本至关重要。 1. **库存目录分析**: 库存目录是软件组织的基础文档,其中记录了每个应用系统的详细信息,如名称、创建时间、修改历史、错误报告、用户数量等。通过深入分析,可以按照业务重要性、预期寿命、当前可维护性和未来的修改需求等因素对应用系统进行排序,以便优先处理那些具有高价值或亟需改进的项目,并合理分配资源。 2. **文档重构**: 在维护过程中,文档是不可或缺的部分。重构文档不仅包括更新技术文档以反映当前状态,还可能涉及创建或改进用户手册、操作指南等,以提升软件的易用性和可维护性。 3. **逆向工程**: 逆向工程是指从现有的软件产品中抽取设计和实现信息的过程。它有助于理解和重构复杂的代码,尤其是在维护阶段需要修复或扩展系统时。 4. **代码重构**: 代码重构是对现有代码结构的改进,以提高代码的可读性、可维护性和性能,而不改变其外部行为。这是预防性维护的一部分,旨在减少未来维护的难度。 5. **数据重构**: 随着时间和环境的变化,数据结构和格式可能会变得过时。数据重构涉及更新或调整数据库结构,以适应新的业务需求和数据存储方式。 6. **正向工程**: 在某些情况下,正向工程可能涉及重新设计和构建软件,以应对根本性的需求变化或者采用新的技术平台。这通常在软件的升级或完全替换时发生。 7. **软件维护类型**: 软件维护包括纠正性维护、适应性维护、扩充与完善性维护和预防性维护。纠正性维护主要针对已知错误,适应性维护应对环境变化,扩充与完善性维护满足新功能需求,预防性维护则是提升软件整体质量的长远措施。 8. **维护工作量的影响因素**: 维护工作量受到系统大小、编程语言选择以及系统复杂度的影响。大系统和复杂代码需要更多的维护工作,而选择易于理解和维护的语言则有助于降低维护成本。 软件再工程过程模型中的这些活动相互配合,共同保证软件的可持续发展和成本效益。理解并实施适当的维护策略,对于保持软件的竞争力和市场适应性至关重要。