互联网产品的架构评估——可用性、可靠性、可维护性、安全性
软件的核心是指核心业务和实现核心业务的相关技术,本文总结出互联网产品的架构评估检查表,以便在产品上线前做架构核查。
架构指标 | 子项 | 描述 | 策略 | 致命阶段 | 备注 |
可用性 | ISO 9241-11 定义:产品在特定使用环境下为特定用户用于特定用途时所具有的有效性、效率和用户主观满意度。产品是否容易上手,用户能否完成任务,效率如何,以及这过程中用户的主观感受可好,是从用户的角度来看产品的质量。可用性好意味着产品质量高,是企业的核心竞争力。 | 尽量让系统和功能相匹配、尽量简洁而自然、 做好异常预防和异常处理、提供相关帮助文档、及时获取有价值的反馈 | |||
有效性 | 功能可用,出错少 | 严格的功能测试,降低bug率 | 初期 | ||
效率 | 系统反应速度快 | 使用主流技术、优化数据链路、做性能测试 | 中期 | ||
用户主观满意度 | 和用户在一起,忌闭门造车 | 用户调研,小版本内测 | 初期 | ||
可靠性 | 软件在一个运行周期内、在一定的边缘条件下,软件的出错机率、性能劣化趋势等,又称稳定性。按业务量评估,在可预见的用户数、并发数、使用次数边界条件下,系统运行良好。 | 服务器承载容量设计、技术框架选型、边界测试 | |||
响应时长 | 服务器、接口、网页等的响应时长在边界内保持良好 | 系统构成尽量简洁、所含各项技术细节都可靠 | 中期 | ||
功能异常 | 产品不经常闪退、点不动、拒绝服务 | 系统构成尽量简洁、所含各项技术细节都可靠 | 中期 | ||
可维护性 | 当系统出现问题时,快速定位并解决问题;预留足够的监控统计抓手,易于监控和统计;代码是否容易被人理解,是否容易修改和增强功能。 可维护性和可复用性、可扩展性等有交叉的地方。构建可维护性好的代码,对企业的长期发展非常重要。 |
技术框架、程序结构、功能注释、运行日志、开发文档、发展预判预留、符合标准规范 | |||
维护成本 | 问题定位处理成本 | 功能注释、开发文档、运行日志 | 中期 | ||
二次开发成本 | 代码修改增强成本 | 技术框架、程序结构、功能注释、开发文档 | 后期 | ||
可统计性 | 数据可统计性 | 监控抓手预判预留 | 中期 | ||
可监控性 | 异常可监控性 | 监控脚本等手段 | 后期 | ||
安全性 | |||||
服务器安全 | 服务器操作系统、网络等的安全 | 操作系统和网络等安全加固 | 中期 | ||
数据库安全 | 数据库数据安全 | 数据库安全加固、程序防止sql注入 | 中期 | ||
数据传输安全 | 数据传输过程的安全防护 | 用户数据严格过滤、敏感数据加密传输、HTTPS | 中期 | ||
交易安全 | 涉及交易的功能重点保障 | 重点功能全面加固 | 中期 |