文章目录
- 软考系统分析师 第15章 系统运行与维护 核心知识梳理
- 一、系统运行与维护概述
- 1. 基本概念
- 2. 维护特点(考点)
- 二、软件维护四大类型(必考重中之重)
- 三、软件维护常用度量指标(必考)
- 1. 维护工作量指标
- 2. 维护质量指标
- 3. 可维护性度量指标
- 4. 运维核心指标
- 四、容错技术 完整梳理(系统分析师高频考点)
- 1. 容错基本概念
- 2. 容错四大核心技术
- (1)硬件容错
- (2)软件容错
- (3)时间容错
- (4)信息容错
- 3. 容错系统工作模式
- 4. 故障等级与容错层级
- 5. 高可用常用容错架构
- 系统维护实施流程
- 系统可维护性及影响因素
- 1. 可维护性定义
- 2. 影响可维护性关键因素
- 3. 提升可维护性措施
- 系统运行管理内容
- 1. 日常运行管理
- 2. 系统性能管理
- 3. 安全运行管理
- 系统故障管理与灾难恢复
- 1. 故障分级
- 2. 故障处理流程
- 3. 容灾与备份恢复
- 软件老化与软件重构
- 1. 软件老化
- 2. 软件演化与重构
- 运维管理体系(ITIL 核心考点)
- 软考高频考点速记
软考系统分析师 第15章 系统运行与维护 核心知识梳理
一、系统运行与维护概述
1. 基本概念
系统维护:软件交付投入运行后,为改正错误、适应环境变化、完善功能、提升性能而对系统进行的修改、更新、优化全过程。
系统运行管理:保障系统稳定、安全、持续、高效运行的日常管控、监控、故障处理、资源管理。
2. 维护特点(考点)
- 维护周期远长于开发周期,成本更高
- 维护工作理解原有系统难度大
- 维护易引入新缺陷(副作用)
- 维护人员更替多,文档不全增加维护难度
二、软件维护四大类型(必考重中之重)
| 维护类型 | 英文 | 核心目的 | 触发场景 | 占比 |
|---|---|---|---|---|
| 改正性维护 | Corrective | 修复运行中发现的隐藏错误、BUG | 上线后崩溃、逻辑错误、数据异常 | 约20% |
| 适应性维护 | Adaptive | 适配软硬件环境、平台、政策变化 | 操作系统升级、数据库版本更新、业务政策变更 | 约25% |
| 完善性维护 | Perfective | 扩充功能、优化性能、改善易用性 | 用户提新需求、界面优化、响应提速 | 约50%(占比最大) |
| 预防性维护 | Preventive | 提前重构、优化架构,防未来故障 | 技术老旧、架构臃肿、隐患提前治理 | 约5% |
速记口诀:改错、适配、完善、预防;完善占比最高。
三、软件维护常用度量指标(必考)
1. 维护工作量指标
- 维护工作量占比:软件生命周期中,维护成本占总成本60%~80%
- 维护响应时间:从提交维护申请到开始处理的时长
- 维护完成周期:从申请到修改上线、闭环归档总时长
2. 维护质量指标
- 缺陷修复率:已修复缺陷数 / 提交总缺陷数
- 遗留缺陷率:未修复、延后处理缺陷占比
- 维护引入缺陷率:本次维护修改后新增BUG数/本次修改代码量(维护副作用核心指标)
- 缺陷逃逸率:测试未发现、上线后暴露的缺陷比例
3. 可维护性度量指标
- 平均修复时间 MTTR:故障发生到恢复服务的平均时间
- 平均无故障时间 MTBF:系统两次故障之间平均正常运行时长
- 系统可用度:可用时间 / 总运行时间
可用度 = MTBF MTBF + MTTR \text{可用度} = \dfrac{\text{MTBF}}{\text{MTBF}+\text{MTTR}}可用度=MTBF+MTTRMTBF - 代码复杂度:圈复杂度、模块耦合度、内聚度
- 文档完备率:配套文档完整覆盖需求、设计、运维的程度
4. 运维核心指标
- RTO:恢复时间目标,业务最长可容忍中断时间
- RPO:恢复点目标,灾难发生后最大允许数据丢失量
- SLA服务级别:约定故障响应、解决时限、可用性承诺
四、容错技术 完整梳理(系统分析师高频考点)
1. 容错基本概念
容错:系统发生硬件/软件故障时,不中断业务、不崩溃,仍能继续正确提供服务的能力。
核心思想:冗余 + 故障屏蔽 + 故障恢复
2. 容错四大核心技术
(1)硬件容错
- 冗余技术
- 硬件冗余:双机热备、集群、磁盘阵列RAID、冗余电源、冗余网卡
- 空间冗余:多套相同硬件并行工作
- 故障屏蔽:通过冗余部件掩盖故障,上层无感知
- 故障切换:主节点故障,自动切换到备节点
(2)软件容错
- 异常捕获与处理:拦截程序异常,不宕机、优雅降级
- 事务回滚:数据库事务失败自动回滚,保证数据一致性
- 版本容错:灰度发布、金丝雀发布,故障可快速回退版本
(3)时间容错
- 重试机制:网络超时、接口调用失败自动重试
- 延迟调度:故障后延迟重试,避开瞬时抖动
(4)信息容错
- 校验码:奇偶校验、CRC循环冗余校验、海明码
- 数据冗余:多副本存储、日志冗余、备份归档
3. 容错系统工作模式
- 静态容错(故障屏蔽)
靠硬件冗余直接掩盖故障,无需切换,如RAID、双冗余电源。 - 动态容错(故障切换)
检测到故障后,自动重构、切换到冗余部件,如双机热备、主从集群。 - 混合容错:静态+动态结合
4. 故障等级与容错层级
- 硬件级容错:服务器、存储、网络设备
- 系统级容错:操作系统、中间件
- 应用级容错:业务系统、微服务降级熔断
- 数据级容错:备份、容灾、多副本
5. 高可用常用容错架构
- 双机热备:主运行、备监听,故障自动切换
- 集群容错:负载均衡+节点容错,单点故障不影响整体
- 异地多活:同城双活、异地容灾,大范围灾难容错
- 熔断降级:微服务容错,依赖故障时自动熔断、降级服务
系统维护实施流程
- 维护申请:用户/运维提交维护请求单
- 评估审批:评估影响范围、成本、风险、优先级
- 任务分配:指派维护人员、版本锁定
- 分析设计:理解原有系统、修改方案设计
- 修改实现:编码修改、遵循原有规范
- 回归测试:重点测修改点+关联模块,防止引入新BUG
- 文档更新:需求、设计、用户手册、运维手册同步更新
- 发布上线:版本更新、切换、试运行
- 验收归档:确认无误、归档维护记录
系统可维护性及影响因素
1. 可维护性定义
系统被理解、修改、测试、变更的难易程度。
2. 影响可维护性关键因素
- 系统模块化、高内聚低耦合程度
- 文档完整性(需求/设计/接口/运维文档)
- 编码规范、注释完备性
- 架构清晰度、复杂度
- 测试用例完备度、回归测试能力
- 历史变更记录、版本管理规范
3. 提升可维护性措施
- 标准化开发规范、统一架构
- 完善全生命周期文档
- 模块化、组件化、解耦设计
- 建立版本控制、变更管理流程
- 定期重构、代码评审
系统运行管理内容
1. 日常运行管理
- 机房环境管理:温湿度、供电、消防、安防
- 硬件设备管理:服务器、存储、网络设备巡检
- 软件运行监控:进程、内存、CPU、磁盘、日志
- 数据管理:备份、归档、数据一致性检查
- 账号权限管理:账号开通、注销、权限分级
2. 系统性能管理
- 监控指标:响应时间、吞吐量、并发数、资源利用率
- 性能优化:数据库索引、SQL优化、缓存、负载均衡
- 容量规划:预判业务增长,提前扩容
3. 安全运行管理
- 网络安全:防火墙、入侵检测、访问控制
- 数据安全:备份、加密、脱敏、防泄露
- 系统安全:漏洞扫描、补丁升级、病毒防护
- 操作安全:操作日志、审计、权限最小化
系统故障管理与灾难恢复
1. 故障分级
- 一级故障:系统瘫痪、业务完全中断
- 二级故障:核心功能异常、业务严重受影响
- 三级故障:非核心功能异常、不影响主干业务
- 四级故障:轻微问题、可延后处理
2. 故障处理流程
故障上报 → 故障定位 → 临时应急恢复 → 根因分析 → 彻底修复 → 复盘总结 → 预防措施
3. 容灾与备份恢复
- 数据备份:全量备份、增量备份、差异备份
- 容灾级别:
- 本地备份
- 异地冷备
- 异地热备、双活容灾
- 核心指标:
RTO 恢复时间目标:故障后恢复业务允许的最长时间
RPO 恢复点目标:故障后允许丢失的数据量
软件老化与软件重构
1. 软件老化
长期运行后出现:性能下降、故障率上升、维护难度剧增、架构僵化。
原因:多次补丁堆砌、技术迭代、人员变动、无规范变更。
2. 软件演化与重构
- 软件演化:系统随业务、技术持续迭代更新
- 重构(Refactoring):不改变外部功能,只优化内部结构、代码、架构,提升可维护性、性能。
- 逆向工程:从现有代码反推设计、恢复文档,用于老旧系统维护。
运维管理体系(ITIL 核心考点)
ITIL 面向IT服务管理,运行维护核心流程:
- 服务台、事件管理、问题管理
- 变更管理、发布管理、配置管理
- 服务级别协议SLA:约定运维响应时间、故障解决时限、服务质量标准
软考高频考点速记
- 维护四类:改正性、适应性、完善性、预防性;完善性占比最大。
- RTO:恢复时间目标;RPO:数据丢失容忍度。
- 维护副作用:修改代码易引入新缺陷,必须回归测试。
- 可维护性关键:模块化、文档、规范、低耦合。
- 重构:不改功能,只改内部结构;逆向工程:代码反推设计。
- 运行管理核心:监控、备份、权限、安全、故障分级处理。