②适应性维护 这一类维护不可避免,但可以控制。 在配置管理时,把硬件、操作系统和其他相关环境因素的 可能变化考虑在内,可以减少某些适应性维护的工作量。 把与硬件、操作系统,以及其他外围设备有关的程序归到 特定的程序模块中;把因环境变化而必须修改的程序局部 于某些程序模块之中。 使用内部程序列表、外部文件,以及处理的例行程序包, 可为维护时修改程序提供方便。 第16页
第 16 页 ② 适应性维护 • 这一类维护不可避免,但可以控制。 • 在配置管理时,把硬件、操作系统和其他相关环境因素的 可能变化考虑在内,可以减少某些适应性维护的工作量。 • 把与硬件、操作系统,以及其他外围设备有关的程序归到 特定的程序模块中;把因环境变化而必须修改的程序局部 于某些程序模块之中。 • 使用内部程序列表、外部文件,以及处理的例行程序包, 可为维护时修改程序提供方便
③完善性维护 利用前两类维护中列举的方法,也可以减少这一类维护。 特别是数据库管理系统、程序生成器、应用软件包,可减 少系统或程序员的维护工作量。 此外,建立软件系统的原型,并在实际系统开发之前提供 给用户。用户通过研究原型,进一步完善他们的功能要求 ,就可以减少以后完善性维护的需要。 第17页
第 17 页 ③ 完善性维护 • 利用前两类维护中列举的方法,也可以减少这一类维护。 特别是数据库管理系统、程序生成器、应用软件包,可减 少系统或程序员的维护工作量。 • 此外,建立软件系统的原型,并在实际系统开发之前提供 给用户。用户通过研究原型,进一步完善他们的功能要求 ,就可以减少以后完善性维护的需要
8.2软件维护的特点 821结构化维护与非结构化维护差别巨大 1.非结构化维护 如果软件配置的惟一成分是程序代码,那么维护活动从艰 苦地评价程序代码开始,而且常常由于程序内部文档不足 而使评价更困难。 非结构化维护需要付出很大代价,这种维护方式是没有使 用良好定义的方法学开发出来的软件的必然结果。 第18页
第 18 页 8.2 软件维护的特点 8.2.1 结构化维护与非结构化维护差别巨大 1. 非结构化维护 • 如果软件配置的惟一成分是程序代码,那么维护活动从艰 苦地评价程序代码开始,而且常常由于程序内部文档不足 而使评价更困难。 • 非结构化维护需要付出很大代价,这种维护方式是没有使 用良好定义的方法学开发出来的软件的必然结果
2.结构化维护 如果有一个完整的软件配置存在,那么维护工作从评价设 计文档开始,确定软件重要的结构特点、性能特点以及接 口特点;估量要求的改动将带来的影响,并且计划实施途 径 先修改设计并且对所做的修改进行仔细复查。再编写相应 的源程序代码;使用在测试说明书中包含的信息进行回归 测试; 最后,把修改后的软件再次交付使用。 第19页
第 19 页 2. 结构化维护 • 如果有一个完整的软件配置存在,那么维护工作从评价设 计文档开始,确定软件重要的结构特点、性能特点以及接 口特点;估量要求的改动将带来的影响,并且计划实施途 径。 • 先修改设计并且对所做的修改进行仔细复查。再编写相应 的源程序代码;使用在测试说明书中包含的信息进行回归 测试; • 最后,把修改后的软件再次交付使用
维护要求 软件 代码 配置 评价设计 评价代码 结构化维护 计划途径 修改设计 重编程序 重编程序 非结构化维护 复查 复查 交付使用
非结构化维护 结构化维护