您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 订阅
  捐助
基于模型的软件质量评测
 
俎涛 ,火龙果系统工程
   次浏览      
 2020-5-25
 

软件质量评测的现状和问题

软件质量是软件的生命,没有不重视软件质量的团队,在某些高可靠性、涉及人身安全的、商业信誉的领域,软件的质量更是重中之重。但是软件质量的工作现状却是很让人茫然,大家都重视质量、天天关心质量,但是大多数时候,对质量却说不清楚、好像什么都跟质量有关,什么都要管,却都管不清,造成质量成本高,结果无法有效的进行产品的质量管理。

当遇到这种混乱的时候,无疑是应该首先理清质量工作的内容,然后再做好质量工作。作为建模者的我,觉得建立质量模型是很有必要做的事情。所以在这里谈一谈如何建立:

基于模型的质量管理

质量建模都有什么内容呢,我们列一下质量的相关要素,如下图所示:



通过上图可见的质量要素有:

  • 首先有评测对象:被评测的产品、软件子系统、软件模块。
  • 然后有评测指标:质量目标、用户视角的评测指标、产品视角的评测指标。
  • 评测方法:如何采用评测指标对评测对象进行评价的方法
  • 质量报告:发现的评测对象的质量问题,以及对评测对象的质量评价。

质量还有3个容易被人忽略的要素:

  • 1. 用户:质量的最终受益者,也可能是受害者。
  • 2. 工程师:质量的实现者,质量的保证基础。
  • 3. 评价者:为质量打标签的人,专业的质量维护者。

下面我们就基于质量的4+3个要素,给出基于模型的软件质量评测与管理方案。


软件的质量模型

评测的核心要素是:

  • 评测对象:被评价的对象,例如 软件配置项CSCI,软件部件CSC,软件单元CSU。
  • 评测指标
  • 评测方法
  • 评测报告

质量的利益相关者:

  • 用户方
  • 工程师
  • 评测者

如下图所示:


一个有效的评测,应该基于质量评测四要素,给出可行的方案。

  • 评测对象被梳理清楚:这是有效评测的基础,建议通过模型描述评测对象,因为软件行业的建模规范UML可以有效的描述需求、设计、code。
  • 评测指标整理清楚:这是有效评测的依据,建议通过模型描述评测指标,因为评测指标是多维度多层次的。
  • 评测方法易于量化:对于非绝对的质问题的bug,例如 模块化、通用化、系列化,本身带有很大的主观性,评测经常因为场景而已,所以需要有简单而且容易达成共识的评测方法。
  • 评测报告具有指导作用:评测报告的目的是有效识别问题,推动质量目标的实现,所以评测报告不是简单的给个分数结果,更多的是让被评测者重视质量问题,推动改进

评测对象建模

进行软件评价的基础是首先理清评价对象,而因为软件的规模越来愈大、涉及专业越来越多,所以很有必要对软件对象进行建模,而且应该是多层次、多粒度的完整建模,这是进行质量评测的基础。这就需要建立以评测对象质量为核心的质量评测方法,如下是测试对象的模型视图,从2个维度进行测试对象建模。

 

 

而具体各个层次的评测对象,需要采用Sys ML或者UML进行规范而清晰的建模、例如,如下是一个系统级的模型样例:

 

评测指标建模

评测指标需要从质量目标分解到可度量评测指标。这需要建立评测指标分解模型:质量目标->质量维度->评测指标->量化指标。因为涉及到多个层次,所以需要对评测指标进行建模,方便理解、执行和管理。如下是评测指标的建模参考框架。

 

 

因为质量模型中的评测对象和评测指标都是多层次逐级分解的,而且需要从质量模型的定义到使用的跨角色的团队协作,所以需要专业建模语言的支持,如下是采用UML建立的质量模型,涉及 评测对象、评测指标及其之间的评测方法:

 

 

可量化的评测方法

有了评测对象模型和评测指标模型,还需要有效的质量评测量化方法。量化的难点是要具有度量的客观性、准确性和可行性。所以量化指标不在多,而在于少而精,例如微信公众号的关键质量指标是订阅数和浏览量。量化指标和量化方法的关系如下图所示:

 

 

特别要留意量化指标的要求:

量化指标的要求:
  • 易于收集数据
  • 易于量化
  • 推动质量目标的实现
  •  

    基于模型的质量报告

    质量评测的输出物就是质量报告,也就是质量报告是质量评审对外交付的成果,无论做了多少评测,评测方法怎么样,最后的质量报告才是用户最关心的。质量报告的重要性也就不言自明。那么,什么才是好的质量报告呢?

    好不好是比较出来的,我们先看看什么是不好的质量报告:

    • 缺乏内涵:报告里面的数据一大堆,没什么用处,都是正确的闲话。
    • 缺乏同理心:不关注用户关心什么,你看你的,我评我的,
    • 缺乏上进心:评测用工具,工具会出报告,工具给什么报告,我就给用户什么报告。

    结果,报告就这样了:

     

     

    明白了什么是不好的,好的质量报告也就显而易见了:

    • 有实料:评测内容句句扎心、问题暴露无遗。
    • 有爱心:从读者关注的角度组织。
    • 有追求:当工具的主人,让它们把数据都报上来,给读者组织好。

     

     

    建立面向未来的质量工程

    现在质量评测看起来该有的都有了:

    • 评测对象模型、
    • 评测指标模型,
    • 可量化的评测方法,
    • 用户视角的质量看板

    质量就能够提高吗? 答案是还不够!

    这就要回到梳理正确的质量工作的价值观:

    质量评价的是现在,赢得的是未来!

    所以产品的质量不是靠事后检查建立的,更多的是靠让工程师提前知道质量的明确标准,在需求分析、软件设计、开发的时候就知道什么是合格的、什么是不合格的。如果要提高质量工作效率、降低成本,应该基于质量标准给工程师提供能够保证质量的工作指南和规范,这样就可以一次实现符合质量的工作。而不是依赖于事后检查发现问题的修改。

    这就需要关注全周期的质量工作过程:

    • 首先从用户角度确定什么是质量好,什么是质量不好
    • 然后从工程师角度建立质量规范和工作指南,让工程师了解什么是质量合格、如何做能够让工作的结果有质量。
    • 工程师按照质量规范和工作指南,接收需求,工作,提交符合质量的交付物
    • 评价者把质量规范根据具体的工作需求落地为评价指标,进行评价。给出质量报告,
    • 工程师基于质量反馈不断地加强质量工作意识和能力。
    • 评价者基于质量报告不断地优化质量规范和工作指南。
    • 最后形成质量的良性循环和不断提高。

    “面向未来的质量工程”示意图如下所示:

     

     

    如何实现基于模型的质量评测

    为了帮助软件团队建立基于模型的质量评测体系。

    火龙果提供相关的质量工具支持。

    • 质量建模工具:能够建立评测对象、评测指标、评测方法的模型
    • 质量评测工具:能够基于模型对软件进行质量评测,给出质量报告。

    质量建模工具:EA

     

     

    质量管理与评测平台:iSpace

    在iSpace中可以浏览质量模型和评测指标,根据评测指标创建质量视图

     

    可以对一个评测对象进行评测,这个评测对象可以是基于Sys ML或者UML建立的评测对象模型,这样评测就更加准确。

     

    如何构建基于模型的质量管理体系和工具

    火龙果软件工程可以帮助研发团队建立基于模型的质量管理体系,并提供相应的工具和定制开发服务。

    基于模型的质量评测体系的建立,需要:

    • 调查客户的质量需求
    • 然后建立质量模型
    • 在此基础上定制开发质量工具
    • 实现完整的质量管理能力

    实施过程如下:

    阶段 咨询内容
    需求分析 软件质量需求分析
    现有的软件质量评测指标和评测方案调查
    质量关注点梳理。
    设计软件质量模型 建立软件评价的质量标准:
  • 软件评价指标
  • 软件评价方法
  • 质量因子分析算法
  • 指标量化规格
  • 软件质量评测系统定制开发 系统设计
    系统开发
    系统测试
    二次开发完善
    对示范系统的软件进行质量评价 示范系统的选择
    示范系统的软件质量数据准备,
    软件质量评价
    汇总质量评价结果,
    调优软件质量评价的质量因子
    给出软件质量改进建议。
    对改进的质量进行二次评价
    软件质量评价规范的总结 编写质量评价体系规范
  • 质量模型
  • 质量标准
  • 评价方法
  • 总结软件质量评价范例:
  • 评价案例
  • 评价经验总结
  • 评价问题与修订方法
  • 应用后续支持 问题收集
    问题解答
    规范优化

     

    如果您希望进一步了解 基于模型的质量管理工具iSpace:

    • 欢迎访问iSpace工具频道
    • 也欢迎直接联系我们 zhgx@uml.net.cn ;010-62670969

    下载 pdf版:《基于模型的质量评测》

     

     

       
    次浏览       
     
    相关文章

    UML概览
    UML图解:用例图(Use case diagram )
    UML图解:活动图(activity diagram )
    UML图解:类图(class diagram )
    UML图解:对象图(object diagram)
    UML图解:顺序图( sequence diagram )
     
    相关文档

    模型跟踪:跟踪图、矩阵、关系(建模工具EA)
    自定义表格(Custom Table)在EA中的使用
    元素的详情浏览控制
    UAF 1.2规范解读(DMM 和 UAFML )
    EA中支持的各种图表
    EA中的界面原型建模
     
    相关课程

    UML与面向对象分析设计
    UML + 嵌入式系统分析设计
    业务建模与业务分析
    基于SysML和EA进行系统设计与建模
    基于模型的需求管理
    业务建模 & 领域驱动设计