优秀的软件或架构应具有哪些特性

in 互联网技术 with 0 comment  访问: 3,616 次

一个软件或者产品视为一个好软件是由它所提供的内容和能够很好被利用决定的,决定是否是一个好软件或好的软件架构一般可以分为如下三类:可操作性、可移植、可维护。
image-20200511224755431.png

操作性

在操作类别中,决定操作中软件性能和质量的因素,可以通过以下几方面测量:

  1. 预算(合理的预算);
  2. 易用性(简单傻瓜式的使用);
  3. 效率(工作效率和性能较高);
  4. 正确性(结果正确率高);
  5. 功能性(功能强大且清晰);
  6. 可靠性(架构可靠稳定);
  7. 安全(安全漏洞少);
  8. 可部署(简单容易部署,依赖少)

移植性

将软件从一个平台迁移到另一个平台时,决定软件优秀的因素:

  1. 可移植(容易在不同平台使用);
  2. 互通性(数据及时可共享);
  3. 可重用(一次工作,多次使用);
  4. 适用性(较小修改瞒住需求)

维护性

在所有类别中,所有因素都描述了软件在不断变化的环境中能够自我维护的能力:

  1. 模块化(不同职责模块);
  2. 可维护(较高的维护性);
  3. 灵活性(灵活配置和动态更改);
  4. 易扩展(容易扩容实例or集群节点);
  5. 易监控(有关键明确的指标和详细日志规范);
  6. 易恢复(拥有降级、容灾、自愈等特性)
WeZan