软件构架质量属性
软件项目正变得越来越复杂,规模更大,集成度更高,并且通过使用多种技术来实现。需要对这些各种技术进行管理和组织,以交付高质量的产品。质量属性通常在体系结构级别而不是代码级别进行评估和分析。最后,随着软件行业认识到软件体系结构在保持高质量,确保软件产品的高质量和可持续性方面的作用,近年来,软件体系结构已获得越来越多的关注。
软件构架质量属性
创建好的架构通常要付出大量的初期投资。这就是为什么在整个软件项目中确保高质量至关重要。
测量是至关重要的,组织力争拿出指示进度和性能有意义的措施。软件体系结构中的度量是评估软件质量特性(如可伸缩性,效率,可维护性,性能等)的关键因素。
以下是您应不断监视的关键软件体系结构质量属性,以进行逐步改进:
可维护性
可维护性是理解,修复或增强软件的程度。在软件中进行更改应该很容易,无论是添加新功能还是漏洞修复。可维护性是您轻松修改软件,将其改编用于其他目的或将其从一个开发团队转移到另一个开发团队的便捷性。符合软件体系结构规则和整个应用程序的一致性使软件可维护。
可扩展性
可扩展性是软件体系结构处理新增功能和组件的能力。这在敏捷开发中非常有价值,因为在项目的整个生命周期中都添加了功能。
简单
制作一个软件体系结构尽可能简单是关键,使其最理解给大家。
性能
显示系统在一段时间内对执行某些操作的响应。它包括架构度量标准,例如,延迟:响应事件所花费的时间,通道容量:在特定时间点发生的事件数。
可伸缩性
可伸缩性是系统处理负载增加而不降低性能的能力,或者是迅速增加负载的可能性。衡量此属性的关键指标是:如果系统允许水平扩展,增加扩展所需的时间(以秒为单位),扩展限制:服务器或网络容量的数量以及扩展的可能性:事务数量的增加或内容量。
互通性
负责的操作和数据的传输和其与其它外部系统交换。精心设计的系统有助于与第三方系统集成。为了提高互操作性,可以使用设计良好的外部接口,标准化系统等。
演化
软件体系结构揭示了系统有望发展的各个维度。
可靠性
暴露于意外情况下的软件故障风险和程序稳定性。可靠的软件具有最少的停机时间,良好的数据完整性,并且没有直接影响用户的错误。
安全
评估应用程序保护信息免受软件破坏风险的程度。例如,在软件系统中发现的漏洞的数量和严重性就是其安全级别的指标。此外,您可以通过评估修补或修复软件漏洞所需的时间来衡量安全性。
交付率
交付率意味着向客户交付软件新版本的频率。由于新软件版本通常具有直接影响用户的改进,因此您可以推断出更高的交付率对应于客户质量更高的软件。
可测性
高质量的软件需要高度的可测试性。在具有高可测试性的软件中查找故障更加容易,这使得此类系统在交付给最终用户时不太可能包含错误。提供质量保证越难,确保质量应用程序部署到生产环境中就越困难。此属性的主要指标是集成,单元测试等的覆盖率。