zoukankan      html  css  js  c++  java
  • 软件体系架构质量属性

    软件体系架构有六大质量属性,分别是可用性、可修改性、性能、安全性、可测试性和易用性,本文将分别就这六个属性进行一些分析。
    可用性是用来衡量某个产品被特定的用户在特定的场景中,有效、高效并且满意得达成特定目标的程度。可用性不仅是设计到界面的设计,也涉及到整个系统的技术水平。可用性是通过人为因素反映的,通过用户操作各种任务去评价的。可用性是一项可测量的指标,描述了用户能多有效地与一个产品进行互动,它也涉及一个产品多容易理解和它多容易使用。提高可用性是至关重要的。我们做软件的目的就是为人服务的,它能否为客户提供良好的服务,包括界面的美观程度,软件的使用理解。一些年龄较大的老人在使用软件时往往就会不知所措,我们在设计产品时,就应该考虑到这些问题,比如说专门出一个老年人模式,加上更多的提示,或者是指引机器人,让老人能够顺利的使用软件。
    可修改性描述了程序能够被正确修改的难易程度。一个可修改的程序应该是可理解的、通用的、简单的、灵活的。可修改性,是便于以后的修改和升级。要实现这个目的,我们就要在设计之初就进行考虑,比如,通过xml文档来进行一些属性的配置,程序运行时加载xml文档里的内容,在一些配置进行修改时,我们只需要直接修改xml文档即可。再比如,我们将一些有多个程序用到的方法,抽象出一个公共方法进行调用,一些许多地方都用到的常数,定义为全局常量,专门定义一个类来进行存放,一些需要传参的方法,将参数提取出来。这些地方都需要我们用时间去整理和提取,不断做优化,才能在后面实现可修改性。一个优秀的程序,是可以不断进行改进的,包括算法方面提高代码的执行效率,还包括代码的层次结构的清晰程度,方便自己在后面进行修改和优化,在工作中,也方便自己和其它人进行维护。
    性能是软件的一种非公能特性,它关注的不是软件是否能够完成特定的功能,而是在完成该功能时展示出来的及时性。由于感受软件性能的主体是人,不同的人对于同样的软件能有不同的主观感受,而且不同的人对于软件性能关心的视角也不同。我们在日常生活中许多经常关注的指标。如系统或软件的响应时间,响应时间是指系统对请求作出响应的时间,直观上看,这个指标与人对软件性能的主观感受是非常一致的,因为它完整地记录了整个计算机系统处理请求的时间,由于一个系统通常会提供许多功能,而不同功能的处理逻辑也千差万别,因而不同功能的响应时间也不尽相同,甚至同一功能在不同输入数据的情况下响应时间也不相同。所以,在讨论一个系统的响应时间时,人们通常是指该系统所有功能的平均时间或者所有功能的最大响应时间。又比如说吞吐量,吞吐量是指系统在单位时间内处理请求的数量。一个软件的吞吐量与他的客户数量有着重要的关联,当用户越来越多,达到系统的承受范围边界之后,系统的响应时间就会越来越来,甚至系统直接崩溃,我们必须采取一些措施来进行优化,一种是从技术层面,来扩大系统最大承受范围,另一种是在系统设计上,比如设立排队机制之类,当然,这样最多只能保障系统不会崩溃,好是要从技术选型和算法上来进行考虑。
    安全性是软件尤为重要的一个因素,比如说保障用户的个人隐私数据,在数据传输过程中进行加密,比如说防止SQL注入,我所了解到的,也只是这些比较常见的简单错误,无法深入的进行阐述。
    可测试性是属于软件测试这一方面的知识,可以说,软件测试是用来检验其它属性的手段,设计合理的测试用例来覆盖各个功能,使用黑盒测试和白盒测试来进行测试,利用边界值分析法、因果图法、决策表法等方法来进行设计和测试。
    易用性和可用性类似,但仍有一定的区别。可用性是指是否可以使用,而易用性是指是否方便使用,也就是说易用性是建立在可用性的基础上做的一些延伸。

  • 相关阅读:
    基于centos6.5 hbase 集群搭建
    基于centos6.5 hadoop 集群搭建
    centos 6.5 搭建zookeeper集群
    centos 6.5 配置ssh免登录
    基于centos6.5 hadoop 伪分布式安装
    跟我学Spring Boot(三)Spring Boot 的web开发
    跟我学Spring Boot(二)Hello World
    BZOJ1034: [ZJOI2008]泡泡堂BNB
    BZOJ1191: [HNOI2006]超级英雄Hero
    BZOJ1432: [ZJOI2009]Function
  • 原文地址:https://www.cnblogs.com/yeyueweiliang/p/14639481.html
Copyright © 2011-2022 走看看