软件维护和各种软件维护表
软件维护有两个正式的定义,如下:
- IEEE,1993 年:-
软件维护是软件产品交付后的修改,以纠正错误、提高性能或其他属性,或使产品适应修改后的环境。 - ISO/IEC 标准 12207:-
当软件由于问题或需要改进或调整而对代码和相关文档进行修改时发生的一组软件维护活动。
第一个定义类似于硬件维护、汽车维修,在产品售出后检查产品是否存在错误或提供额外的任务。
相比之下,第二个定义包括软件维护作为软件产品整个生命周期的重要方面,从早期开发开始。
软件维护指定了在交付软件系统的初始工作版本之后的活动。必须从一开始就在系统中进行维护,即在整个开发过程中都应考虑到维护。尽管维护没有软件生产中最复杂的方面。
维护包括软件过程的所有其他阶段的一部分。收到维护请求后,第一步是确定需要哪种类型的维护。有时,问题出在用户而不是软件上。
在软件产品的情况下,人们更感兴趣的是更新产品,使其适应环境或硬件的变化,而不是减少它并用另一种新产品替换它。因此,软件产品也需要维护,以使其与周围环境保持同步,以实现最佳应用。
输入:修改请求。
流程:分配变更编号、分类修改请求、接受或拒绝变更、确定优先级。
控制:唯一标识的修改请求,进入修改请求存储库。
输出:经过验证的修改请求,经过验证的过程确定。
输入:项目文档、存储库信息、已验证的修改请求。
过程:可行性分析,详细分析。
控制:进行技术审查,验证测试策略,验证文档是否更新,识别安全问题。
输出:可行性报告、详细分析报告、更新要求、初步修改清单、测试策略。
输入:项目文档、源代码、数据库、分析阶段输出。
过程:创建测试用例,修改需求,修改实施计划。
控制:软件检查/审查,验证设计。
输出:修改后的修改列表、修改后的详细分析、更新的测试计划。
输入:源代码、系统文档、设计阶段的结果。
过程:软件代码、单元测试、测试准备评审。
控制:软件检查/审查。
输出:更新的软件、更新的设计文档、更新的测试文档、更新的用户文档、测试准备审查报告。
输入:更新的软件文档、测试准备审查报告、更新的系统。
过程:功能测试、接口测试、测试准备评审
控制:软件代码清单、修改请求、测试文档。
输出:测试系统,测试报告。
输入:测试准备评审报告、完全集成的系统、验收测试计划、验收测试用例、验收测试程序。
流程:验收测试、互操作性测试
控制:验收测试
输出:验收测试报告。
输入:经过测试/接受的系统。
流程:安装、培训。
控制:版本描述文档。
输出:版本描述文件。