一句话导读
架构检查是确保软件系统设计和架构质量的关键步骤。通过结合文档审查、模拟和测试等多种方法,可以全面评估系统的性能、可维护性、安全性和可扩展性。有助于团队对于公司制度的理解,有助于公司管理部门对相关制度的落地。能够帮助公司项目降低风险、保证软件系统的稳定性和可靠性。
目录
一、什么是架构检查及意义
定义:
架构检查是软件开发过程中的一项重要活动,它旨在评估和审查系统的整体架构,以确保系统的设计和架构满足质量、性能、可维护性和安全性等方面的要求
意义:
- 发现问题和风险: 架构检查有助于早期发现系统设计中的问题和潜在风险。通过审查设计文档、模拟和测试,可以在实际开发之前识别和解决潜在的设计缺陷,减少后期的修复成本和风险。在开发过程中及时发现系统中存在的问题,及时进行修复,从而保证软件系统的稳定性和可靠性。
- 确保质量: 架构检查有助于确保系统的整体质量。它可以评估系统的性能、可用性、可扩展性和安全性,以确保系统在实际运行中表现良好并满足用户需求。
- 指导设计决策: 架构检查提供了对系统设计的外部视角,帮助团队成员更好地理解系统的整体结构和互操作性。这有助于指导设计决策,确保设计与预期一致。
- 支持决策制定: 架构检查提供了有关系统设计的重要信息,可以用于支持项目决策制定。例如,在架构检查中发现的问题可以用于优化项目计划和资源分配。
- 提高可维护性: 通过审查和改进系统的架构,可以增加系统的可维护性。清晰的架构设计使系统更容易理解、维护和扩展。
- **减少后期成本:**通过及早发现和解决问题,架构检查可以减少后期开发和维护的成本。修复问题的成本通常随项目进展而增加,因此越早发现问题越有利于成本控制。
二、什么时候做架构检查
架构检查的最佳时间是在系统设计阶段或系统架构设计完成之后。但是价格检查作为软件开发过程中的一项关键活动,应该在项目不同阶段均可进行。以确保项目顺利进行并满足设计和质量要求,如:
- **项目启动阶段:**架构检查用来审查项目的需求和目标,确保团队对项目的整体架构理解的一致性,有助于制定项目的计划和资源分配
- **系统设计阶段:**此时进行架构检查可以包括模块划分、数据流程、组件交互等各个方面,保证系统设计的合理性,满足项目需求。
- **关键决策点:**项目迭代周期完成时、项目提交测试时、项目交付前等。以确保和最初架构设计一致,满足系统的质量、性能、安全要求。
- **周期性检查:**亦可根据公司架构管理部门要求,定期对公司所有项目进行架构检查。
三、如何做架构检查
1.定义架构检查指标及标准
对架构检查的指标进行筛选和定义,那些项目是在架构检查的时候能够直接量化的,并对量化的指标做一个通过标准定义。
2.定义架构检查的范围
架构管理部门可以对公司的项目进行梳理,梳理出需要做架构检查的项目,确定要检查的系统、模块或组件
3.制定架构检查的计划
架构管理部门制定架构检查计划,确定好开始时间、结束时间、复盘时间、回头看时间,邀请各相关负责人,评审人员,预约会议时间等。
4.架构检查内容
- 技术栈符合性检查:基于技术栈规范进行检查
- 评分标准:
- 符合-100:完全符合架构评审文档中定义
- 大部分符合-80:符合项大于等于80%
- 基本符合-60:符合项大于等于60%,小于80%
- 少部分符合-40:符合项大于等于40%,小于60%
- 不符合-0:符合项小于40%
- 评分标准:
- 服务划分合理性检查:微服务的划分是否和架构评审文档一致
- 评分标准:
- 1.符合-100:完全符合架构评审文档中定义
- 2.大部分符合-80:符合项大于等于80%
- 3.基本符合-60:符合项大于等于60%,小于80%
- 4.少部分符合-40:符合项大于等于40%,小于60%
- 5.不符合-0:符合项小于40%
- 评分标准:
- 部署情况检查:判断生产环境部署的服务和架构设计文档中的是否一致
- 评分标准:
- 符合-100:完全符合架构评审文档中定义
- 基本符合-60:有一项不符合
- 不符合-0:有两项不符合
- 评分标准:
- 网络划分合理性检查:判断生产环境部署的网络划分是否和架构设计文档中一致
- 评分标准:
- 符合-100:完全符合架构评审文档中定义
- 基本符合-60:有一项不符合
- 不符合-0:有两项不符合
- 评分标准:
- 代码扫描检查:通过sonar对项目代码进行扫描
- 评分标准:
- 符合-100:代码扫描结果没有严重、高危级别问题
- 不符合-0:有严重、高危级别问题
- 评分标准:
- 分支管理检查:按照公司的分支管理规范进行检查
- 评分标准:
- 符合-100:完全符合《开发技术规范》
- 基本符合-60:有一项不符合
- 不符合-0:有两项不符合
- 评分标准:
- 版本管理检查:按照公司的版本管理规范进行检查
- 评分标准:
- 符合-100:完全符合《开发技术规范》
- 基本符合-60:有一项不符合
- 不符合-0:有两项不符合
- 评分标准:
- 环境管理:按照公司的环境管理办法进行检查
- 评分标准:
- 符合-100:完全符合《开发技术规范》
- 基本符合-60:有一项不符合
- 不符合-0:有两项不符合
- 评分标准:
- 代码评审情况检查:根据公司的代码评审要求进行检查
- 评分标准:一般一个迭代进行一次
- 符合-100:每月两次或者每个迭代一次,并有记录
- 基本符合-60:每月一次或者一个里程碑一次
- 不符合-0:代码评审频次超过一个月一次
- 单元测试检查:按照公司开发规范要求,对单元的覆盖率进行扫描
- 评分标准:
- 符合-100:完全符合《开发技术规范》
- 基本符合-60:有一项不符合
- 不符合-0:有两项不符合
- 评分标准: