zoukankan      html  css  js  c++  java
  • 描绘质量的六个属性,常见的属性场景

    描绘质量属性的六个常见属性分别是:可用性、可修改性、性能、安全性、可测试性、易用性。

     一.可用性 可用性是指系统正常运行时间的比例,是通过两次故障之间的时间长度或在系统崩溃情况下能够恢复正常运行的速度来衡量的。

    所关注的方面有:

    • 如何检测系统故障
    • 系统故障发生的频度
    • 出现故障时会发生什么情况
    • 允许系统有多长时间非正常运行
    • 什么时候可以安全地出现故障
    • 如何防止故障的发生以及故障时要求进行哪种通知

    一般将系统可用性定义为:

    a = 平均正常工作时间 / (平均正常工作时间+平均修复时间)

    常见属性场景:多用户访问网站

    可修改性就是可以修改软件内容是有关变更的成本问题。可修改性越高,每次修改所花费的人力物力成本也就越低

    它提出了两个关注点:

    1. 可以修改什么(制品)?
      可以修改系统的任何方面 ,最常见的就是系统计算的功能、系统存在平台(硬件、操作系统和中间件等 )、系统运行的环境(它必须与之互操作的系统,它用于与其他部分进行通信的协议,等等)、系统所展示的质量属性(其性能、可靠性、甚至包括将来的可修改性)以及其容量(所支持的用户数量、同时发生的操作的数量,等等)。

    2. 何时进行变更以及由谁进行变量(环境)?
      最常见的就是修改源代码。也就是说,开发人员必须修改代码,对修改后的代码进行测试,然后将其部署在新版中。然而,现在不仅仅是何时变更的问题,而且还有由谁进行变量的问题。chang

    常见属性场景:商品信息随时可以修改,购物车商品可以修改
    三.性能

    性能与时间有关。事件发生时,系统必须对其做出响应。事件到达和响应有很多特性,但性能基本上与事件发生时,将要耗费系统多长时间做出响应有关。

    在使性能变得复杂的众多因素中,其中一个因素就是事件源的数量和到达模式。事件可以来自用户请求、其他系统或系统内部。到达模式可以分为周期性的、随机的或偶然性的。

    可以用等待时间、处理期限、系统吞吐量、响应抖动(等待时间的变化)、缺失率(由于系统太忙因而无法做出响应所导致的未处理事件的数量)、数据丢失(因为系统太忙所丢失的数据)等指标来度量。

           常见属性场景:淘宝在双十一的时候,访问量成倍增长,依然没有崩溃,说明性能还是经得起考验的。

    四.安全性   

    定义:在确保用户正常使用系统的情况下,软件抵御攻击的能力。

    主要的关注方面有:不可否认性,私密性,完整性,保证性,可用性和审计

    提高安全性的方法主要分为三大类:抵抗攻击,检测攻击,从攻击中恢复

    常见属性场景:用户购物信息保密

    五.可测试性

    软件可测试性是指通过测试(通常是基于运行的测试)揭示软件缺陷的容易程度。在开发设计良好的系统的成本中,至少有40%是用在了测试上。如果我们能够降低此成本,那带回的回报将是巨大的。当然,如果要对系统进行正确的测试,必须能够“控制”每个组件的内部状态及其输入,然后“观察”其输出。这通常通过使用“测试工具”进行,这是一种专门设计的软件,用于执行所测试的软件。这可能会如同在各种接口上回放已记录的数据一样简单,也可能会像测试发动机的燃烧室一样复杂。

    可测试性战术的目标是允许在完成软件开发的一个增量后,较轻松地对软件进行测试。
      所以为了提高软件的可测试性,首先我们应该遵守“高内聚,低耦合”的设计原则。

    常见属性场景:商品添加购买,删除

    六.易用

    易用性关注的是对用户来说完成某个期望任务的容易程度和系统所提供的用户支持的种类。可以将易用性分为如下几个方面:

    • 学习系统的特性
      如果用户不熟悉某个特定的系统或该系统的某一特定方面,那么,系统可以如何使学习任务变得更容易?

    • 有效地使用系统
      系统如何能提高用户的操作效率?

    • 将错误的影响降到最低
      系统怎样使用户所犯的错误造成的影响最小?

    • 使系统适应用户的需要
      用户(或系统本身)可以如何使用户的任务变得更轻松?

    • 提高自信和满意度
      系统可如何使用户确信采取了正确的行动?

    常见属性场景:商品信息分类详细


    参考(链接:https://www.jianshu.com/p/9a152757aab4)
    作者:程序猿胖子
    链接:https://blog.csdn.net/qq_43389032/article/details/109572522
  • 相关阅读:
    workerman需要的php模块posix、pcntl、sysvshm、sysvmsg缺少,怎么办
    Linux操作:
    推荐!手把手教你使用Git
    Ninject简介(转)
    新年奉献MVC+EF(CODEFIRST)+EASYUI医药MIS系统(转)
    微软开源代码
    .NET分布式事务处理(转)
    IIS负载均衡(转)
    借助LVS+Keepalived实现负载均衡(转)
    WCF和ASP.NET Web API在应用上的选择(转)
  • 原文地址:https://www.cnblogs.com/wwbzuiku/p/14639629.html
Copyright © 2011-2022 走看看