(一)系统维护
是软件生命周期中的最后阶段,不属于系统开发过程。
是在软件己经交付使用后,为了改正bug或满足新需求而修改软件的过程,即软件在交付使用后对软件所做的一切改动。
(二)系统可维护性
(1)定义
维护人员理解、改正、改动和改进这个软件的难易程度。
(2)评价指标
ID | 评价指标 | 说明 |
1 | 可理解性 | 模块化、文档、结构化设计和高级编程语言,有助于提高可理解性 |
2 | 可测试性 | 程序结构、高性能测试工具及周密计划的测试工序,有利于诊断和测试 |
3 | 可修改性 | 模块的耦合、内聚、作用范围与控制范围的关系,影响可修改性 |
(3)维护与软件文档
文档是软件可维护性的决定因素。
软件系统文档 | 说明 | |
1 | 用户文档 | 描述系统功能和使用方法 |
2 | 系统文档 | 描述系统设计、实现和测试等各方面内容 |
可维护性是所有软件都应具有的基本特点,在软件工程的每个阶段都应考虑并提高软件的可维护性。
ID | 阶段 | 说明 |
1 | 系统分析阶段 | 对将来要改进的部分和可能会修改的部分加以注解并指明,并且指出软件的可移植性问题以及可能影响软件维护的系统界面 |
2 | 系统设计阶段 | 从容易修改、模块化和功能独立的目的出发,评价软件结构和过程 |
3 | 系统实施阶段 | 代码复审应该强调编码风格和内部说明文档这两个影响可维护性的因素 |
4 | 系统维护阶段 | 完成了每项维护工作之后,都应该对软件维护本身进行认真复审 |
(4)软件文档的修改
当对数据、软件结构、模块过程或任何其他有关软件特点做了改动时,必须立即修改相应的技术文档。
(三)系统维护的内容及类型
系统维护 | 说明 | |
1 | 硬件维护 | 应由专职硬件维护人员来负责 (1)定期设备保养性维护:周期为一周或一月不等 (2)突发性故障维护:设备出现突发性故障,迅速排除故障 |
2 | 软件维护 | 根据需求变化或硬件环境变化,对应用程序进行部分或全部修改 (1)正确性维护:改正开发阶段已发生而测试阶段尚未发现的错误 (2)适应性维护:使软件适应信息技术和管理需求变化进行的修改 (3)完善性维护:为扩充功能和改善性能而进行的修改(原先没有) (4)预防性维护:为适应未来软硬件环境变化,增加预防性功能 |
3 | 数据维护 | 主要由数据库管理员负责数据库安全性和完整性以及并发性控制等 注意:数据维护也包括代码维护(频率低),由代码管理小组负责 |