热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

质量属性及战术

一、六大质量属性1、可用性分析 可用性是指系统正常运行时间的比例,是通过两次故障之间的时间长度或在系统崩溃情况下能够恢复正常运行的速度来衡量的。  可用性分析所关注的方面包括:如何

一、六大质量属性
1、可用性分析
   可用性是指系统正常运行时间的比例,是通过两次故障之间的时间长度或在系统崩溃情况下能够恢复正常运行的速度来衡量的。
  
   可用性分析所关注的方面包括:如何检测系统故障,系统故障发生的频度,出现故障时会发生什么情况,允许系统有多长时间非正常运行,什么时候可以安全地出现故障,如何防止故障的发生以及发生故障时要求进行哪种通知。

2、可修改性分析
   可修改性是有关变更的成本问题。可以修改什么(制品)和何时进行变更以及由谁进行变更(环境)。

3、性能分析


   性能是指系统的响应能力。性能与时间有关。事件(中断、消息、用户请求或时间已到)发生时,系统必须做出响应。事件到达和相应有很多特性,但性能基本上与事件发生时,将要耗费系统多长时间做出响应有关。


4、安全性分析
   安全性是衡量系统在向合法用户提供服务的同时,阻止非授权使用的能力。试图突破安全防线的行为被称为攻击,它可以是未经授权试图访问数据或服务,或试图修改数据,也可能是试图使系统拒绝向合法用户提供服务。

安全性系统被刻画为提供如下属性的系统。
认可:交易不能被交易的任何一方拒绝。
保证:交易的各方是所声称的人的属性。如当客户发送一个信用卡的卡号到商家时,该商家就是用户所认可的商家。
审核:系统的内部跟踪属性。如客户转账时,系统会把转账过程记录下来。
机密性:未经授权不能访问。
可用性:系统用于合法用途的属性。




5、可测试性分析
      软件可测试性是指通过测试揭示软件缺陷的容易程度。

特别地,假设软件中至少有一个错误,软件在下次测试运行时不能正常工作的可能性。
可测试性的响应度量处理的是测试在发现缺陷方面的效率以及想要达到某个期望的覆盖范围,需要用多长时间进行测试。

 


6、易用性分析
   易用性关注的是对用户来说完成某个期望任务的容易程度和系统所提供的用户支持的种类。

 

7.构架的质量属性
  1.概念完整性
    在各个层次上统一系统设计。构架应该以类似的方式做类似的事情。
  2.正确性和完整性
    构架能够满足系统的各种需求及运行时的资源要求。
  3.可构建性
    构建系统的难易程度。保证能够由指定的开发小组在规定的时间里完成系统开发。

8.功能、架构和质量属性

  1.功能和构架之间的关系
    功能是构架设计的必要条件而非充分条件,因为具有相同功能的不同构架,它们的差别在于质量。
    随着软件开发水平的提高,如何满足功能已不是软件开发的主要矛盾,也不是构架层次上主要考虑的问题,构架设计主要考虑如何满足质量上的要求,但软件构架会限制各模块的功能划分,功能对构架设计有间接的影响。
  2.构架和质量属性的关系
    构架是获取许多质量属性的基础(上梁不正下梁歪)。
    在构架设计过程中就应考虑到这些质量属性,并在构架层次上进行评估。
    质量属性既和构架有关,也和具体实现有关。
    例如,系统设计时一般都会考虑设置密码来提供安全性,可是如果实现时SQL语句没写好,则可能被注入攻击。
  3.质量属性之间的关系
    一个质量属性的获取对其他质量属性可能产生正面或负面的影响。
    几乎每个质量属性都会对系统性能产生消极影响。
    例如:最开始银行没有为网上银行的客户提供从客户端到网站之间的加密手段,银行获得了性能和成本上的好处,但牺牲了客户的安全性,导致假网站频出,很多人不敢使用网银业务。后来,银行给客户提供了各种加密手段,如支付宝、UKey等,花费了一定的成本和牺牲了部分性能,但客户获得了安全。现在网银用户和网上交易额逐年递增。

 二、质量属性战术

1.可用性战术分类:
  1.错误检测
    命令/响应----一个组件发出信号,收到回复(主动询问)
    心跳(dead man计时器)----组件定期发出一个心跳信息。还可用于传递数据。
    异常----异常处理程序通常将错误在语义上转换为可以被处理的形式,异常通常与引入异常的程序通常在一个进程。
  2.错误恢复(不是万能的,都是致命的)
    表决----多数规则或首选组件(类同MapReduce)
    主动冗余(热重启)----所有的冗余组件都以并行的方式对事件作出响应,他们的状态都相同,但每次只能使用一个组件的响应而丢弃其余组件的响应
    被动冗余(暖重启/双冗余/三冗余)----主组件对事件做出相应并通知其他备用组件必须进行的状态更新。主组件负责状态同步。
    备件
    shadow操作
    状态再同步
    检查点/回滚
  3.错误预防
    从服务中删除
    事务
    进程监视器
2.可修改性战术分类:
  可修改性:牵一发而动全身,模块之间存在调用关系,模块内部的修改不能影响模块间的调用
  1.局部化修改
    维持语义的一致性----抽象通用服务
    预期期望的变更----变更的影响最小化
    泛化该模块
    限制可能的选择
  2.防止连锁反应----修改某个模块并不影响其他模块
    隐藏信息
    维持现有的接口
    限制通信路径
    使用仲裁者
  3.推迟绑定时间




推荐阅读
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • 14亿人的大项目,腾讯云数据库拿下!
    全国人 ... [详细]
  • 玩转直播系列之消息模块演进(3)
    一、背景即时消息(IM)系统是直播系统重要的组成部分,一个稳定的,有容错的,灵活的,支持高并发的消息模块是影响直播系统用户体验的重要因素。IM长连接服务在直播系统有发挥着举足轻重的 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 本文介绍了adg架构设置在企业数据治理中的应用。随着信息技术的发展,企业IT系统的快速发展使得数据成为企业业务增长的新动力,但同时也带来了数据冗余、数据难发现、效率低下、资源消耗等问题。本文讨论了企业面临的几类尖锐问题,并提出了解决方案,包括确保库表结构与系统测试版本一致、避免数据冗余、快速定位问题等。此外,本文还探讨了adg架构在大版本升级、上云服务和微服务治理方面的应用。通过本文的介绍,读者可以了解到adg架构设置的重要性及其在企业数据治理中的应用。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 单点登录原理及实现方案详解
    本文详细介绍了单点登录的原理及实现方案,其中包括共享Session的方式,以及基于Redis的Session共享方案。同时,还分享了作者在应用环境中所遇到的问题和经验,希望对读者有所帮助。 ... [详细]
  • 集成电路企业在进行跨隔离网数据交换时面临着安全性问题,传统的数据交换方式存在安全性堪忧、效率低下等问题。本文以《Ftrans跨网文件安全交换系统》为例,介绍了如何通过丰富的审批流程来满足企业的合规要求,保障数据交换的安全性。 ... [详细]
  • 本文介绍了互联网思维中的三个段子,涵盖了餐饮行业、淘品牌和创业企业的案例。通过这些案例,探讨了互联网思维的九大分类和十九条法则。其中包括雕爷牛腩餐厅的成功经验,三只松鼠淘品牌的包装策略以及一家创业企业的销售额增长情况。这些案例展示了互联网思维在不同领域的应用和成功之道。 ... [详细]
  • 本文详细介绍了Mybatis中#与$的区别及其作用。#{}可以防止sql注入,拼装sql时会自动添加单引号,适用于单个简单类型的形参。${}则将拿到的值直接拼装进sql,可能会产生sql注入问题,需要手动添加单引号,适用于动态传入表名或字段名。#{}可以实现preparedStatement向占位符中设置值,自动进行类型转换,有效防止sql注入,提高系统安全性。 ... [详细]
  • Kali Linux 简介
    KaliLinux是世界渗透测试行业公认的优秀的网络安全审计工具集合,它可以通过对设备的探测来审计其安全性,而且功能完备,几乎包含了目前所 ... [详细]
  • 从壹开始前后端分离【 .NET Core2.0 +Vue2.0 】框架之六 || API项目整体搭建 6.1 仓储模式
    代码已上传Github+Gitee,文末有地址  书接上文:前几回文章中,我们花了三天的时间简单了解了下接口文档Swagger框架,已经完全解放了我们的以前的Word说明文档,并且可以在线进行调 ... [详细]
  • 寻求更强大的身份和访问管理(IAM)平台的企业正在转向云,并接受身份即服务(IDaaS)的灵活性。要为IAM选择正确的场外解决方案,业务管理人员和IT专业人员必须在实施之前评估安全 ... [详细]
  • 浅解XXE与Portswigger Web Sec
    XXE与PortswiggerWebSec​相关链接:​博客园​安全脉搏​FreeBuf​XML的全称为XML外部实体注入,在学习的过程中发现有回显的XXE并不多,而 ... [详细]
  • 本文介绍了一个免费的asp.net控件,该控件具备数据显示、录入、更新、删除等功能。它比datagrid更易用、更实用,同时具备多种功能,例如属性设置、数据排序、字段类型格式化显示、密码字段支持、图像字段上传和生成缩略图等。此外,它还提供了数据验证、日期选择器、数字选择器等功能,以及防止注入攻击、非本页提交和自动分页技术等安全性和性能优化功能。最后,该控件还支持字段值合计和数据导出功能。总之,该控件功能强大且免费,适用于asp.net开发。 ... [详细]
author-avatar
奔跑的饼干的饼干桶_698
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有