08架构管理之架构检查方法

一句话导读

架构检查是确保软件系统设计和架构质量的关键步骤。通过结合文档审查、模拟和测试等多种方法,可以全面评估系统的性能、可维护性、安全性和可扩展性。有助于团队对于公司制度的理解,有助于公司管理部门对相关制度的落地。能够帮助公司项目降低风险、保证软件系统的稳定性和可靠性。

目录

一句话导读

一、什么是架构检查及意义

二、什么时候做架构检查

三、如何做架构检查

1.定义架构检查指标及标准

2.定义架构检查的范围

3.制定架构检查的计划

4.架构检查内容


一、什么是架构检查及意义

        定义:

        架构检查是软件开发过程中的一项重要活动,它旨在评估和审查系统的整体架构,以确保系统的设计和架构满足质量、性能、可维护性和安全性等方面的要求

        意义:

  • 发现问题和风险: 架构检查有助于早期发现系统设计中的问题和潜在风险。通过审查设计文档、模拟和测试,可以在实际开发之前识别和解决潜在的设计缺陷,减少后期的修复成本和风险。在开发过程中及时发现系统中存在的问题,及时进行修复,从而保证软件系统的稳定性和可靠性。
  • 确保质量: 架构检查有助于确保系统的整体质量。它可以评估系统的性能、可用性、可扩展性和安全性,以确保系统在实际运行中表现良好并满足用户需求。
  • 指导设计决策: 架构检查提供了对系统设计的外部视角,帮助团队成员更好地理解系统的整体结构和互操作性。这有助于指导设计决策,确保设计与预期一致。
  • 支持决策制定: 架构检查提供了有关系统设计的重要信息,可以用于支持项目决策制定。例如,在架构检查中发现的问题可以用于优化项目计划和资源分配。
  • 提高可维护性: 通过审查和改进系统的架构,可以增加系统的可维护性。清晰的架构设计使系统更容易理解、维护和扩展。
  • 减少后期成本: 通过及早发现和解决问题,架构检查可以减少后期开发和维护的成本。修复问题的成本通常随项目进展而增加,因此越早发现问题越有利于成本控制。

二、什么时候做架构检查

        架构检查的最佳时间是在系统设计阶段或系统架构设计完成之后。但是价格检查作为软件开发过程中的一项关键活动,应该在项目不同阶段均可进行。以确保项目顺利进行并满足设计和质量要求,如:

  • 项目启动阶段:架构检查用来审查项目的需求和目标,确保团队对项目的整体架构理解的一致性,有助于制定项目的计划和资源分配
  • 系统设计阶段:此时进行架构检查可以包括模块划分、数据流程、组件交互等各个方面,保证系统设计的合理性,满足项目需求。
  • 关键决策点:项目迭代周期完成时、项目提交测试时、项目交付前等。以确保和最初架构设计一致,满足系统的质量、性能、安全要求。
  • 周期性检查:亦可根据公司架构管理部门要求,定期对公司所有项目进行架构检查。

三、如何做架构检查

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:有两项不符合

http://www.niftyadmin.cn/n/5015392.html

相关文章

Redis集群3.2.11离线安装详细版本(使用Ruby)

1.安装软件准备 1.Redis版本下载 Index of /releases/http://download.redis.io/releases/ 1.2gcc环境准备 GCC(GNU Compiler Collection,GNU编译器套件)是一套用于编译程序代码的开源编译器工具集。它的主要用途是将高级编程语言(如C、C++、Fortran等)编写的源代码转换…

【漏洞复现】网互联路由器存在密码泄露

漏洞描述 蜂网互联-让链接无限可能,灵活的多线分流,强大的策略分流,灵活调度各种软件应用,深度识别系统,各种应用一网打尽,灵活调整优先级,最简单的路由器,简洁易学的配置&#xff…

springboot整合mybatisPlus全技巧(2-常用开发技巧:通用字段插入)

本系列专题基于 springboot 整合 mybatisPlus 的各种文章早已烂大街的背景下,根据 整合过程,MP开发中的常见技巧,MP开发中遇到的各种坑 三个方面,来对这一专题做一个全面且实用的总结,基本上只要你吃透这篇文章&#x…

C++系列-空指针访问成员函数及野指针

C系列-空指针访问成员函数 空指针空指针访问成员函数 野指针 空指针 在变量声明的时候,如果没有确切的地址可以赋值,为指针变量赋一个 NULL 值是一个良好的编程习惯。NULL指针是没有指向任何内容的指针。赋为 NULL 值的指针被称为空指针。 在大多数的操…

【Arduino31】LED与步进电机实验

硬件准备 旋钮开关:1个 步进电机:1个 LED灯:1个 声音传感器:1个 220欧电阻:1个 50K欧电阻:1个 面包板:1个 杜邦线:若干 硬件连线 1、将旋钮开关、步进电机、LED灯和声音传感…

运维Shell脚本小试牛刀(八): case模式忽略命令行参数大小写演示

运维Shell脚本小试牛刀(一) 运维Shell脚本小试牛刀(二) 运维Shell脚本小试牛刀(三)::$(cd $(dirname $0); pwd)命令详解 运维Shell脚本小试牛刀(四): 多层嵌套if...elif...elif....else fi_蜗牛杨哥的博客-CSDN博客 Cenos7安装小火车程序动画 运维Shell脚本小试…

问道管理:华为产业链股再度拉升,捷荣技术6连板,华力创通3日大涨近70%

华为产业链股6日盘中再度拉升,到发稿,捷荣技能涨停斩获6连板,华映科技亦涨停收成3连板,华力创通大涨超19%,蓝箭电子涨约11%,力源信息涨超4%。 捷荣技能盘中再度涨停,近7日已累计大涨超90%。公司…

C++之string

目录 1、了解string 2、string相关函数 3、相关函数的使用 ①构造函数 ②赋值 ③>>&#xff0c;<< ④operator[] ⑤size ⑥iterator(迭代器) ⑦push_back ⑧append ⑨ ⑩capacity ⑪reserve ⑫resize ⑬insert ⑭erase ⑮c_str ⑯find ⑰substr…