Project - 非功能需求和质量关注点
非功能需求和质量关注点
可重复性
- 重复相同操作的可能性的程度
- 是否为同一进程/区分范围与界面
- 对过程流监管,包括开发人员的活动
- 合适的测试级别
- 自动化&配置管理工具(CMBD)
- 监管自动化任务流
- 版本控制(配置与改动)&标签
- 周期性的状态收集和分析
性能
- 执行操作所需要的时间和资源
- 测量关键事物
- 不同类型的错误以及原因
- 问题或故障的修复时间
可靠性
- 在一定时间周期内,保持服务状态的程度
- 理解不同服务的特性:控制权、所有权、复杂度
- 封装原始服务,使用本地复本
- 早期检测与修复:检查机制(日志、断言),对比历史趋势
可恢复性
- 失败的操作可以恢复到期望状态的程度,对业务造成极小的影响
- 在操作逻辑中包含异常处理
- 内置对外部监控或者系统恢复的支持
- 长时间运行的独立步骤或组件,具备自修复能力
互操作性
- 在特定环境下,不同工具或组件通过接口有效地交换信息的程度
- 接口:稳定的编程接口、灵活的脚本、活跃的插件
- 理解现有的数据模型:每个工具的数据模型与基础环境的映射
可测试性
- 通过测试,能够很容易地展示其错误
- 部署前的预测试
- 部署后的Checklist
可修改性
- 修改软件、过程或者应用运维环境所需要的工作量
一个组件内的修改
- 将相关活动封装成模块,尽可能松耦合
- 模块功能单一,规模合适
- 执行顺序可控
- 变量和配置参数化版本化,不构建在代码中
多个组件之间的修改
- 版本替换:版本间的依赖、接口和方法变动
- 工具替换:完整的验证与测试、迁移工具
- 连接参数变化:测试与验证
行动是绝望的解药!
欢迎转载和引用,但请在明显处保留原文链接和原作者信息!
本博客内容多为个人工作与学习的记录,少数内容来自于网络并略有修改,已尽力标明原文链接和转载说明。如有冒犯,即刻删除!
以所舍,求所得,有所获,方所成。