附录E (资料性附录)软件质量评价方法

E.1 综述
    软件质量评价过程如图E.1所示,内容详见E.2和E.5。

图E.1 软件质量评价过程(参见GB/T 18905.1)
E.2 制定评价要求
    E.2.1 建立评价目标
        软件质量评价目标一般包括:判断软件产品的质量是否满足用户的要求,或者通过对不同软件产品进行比较选择其中一种产品,或者对某一产品与其同类竞争对手相比所具有的水平给出评价。根据待评价软件产品的研发状态(处于正在开发中的产品或者最终产品),评价目标可以进一步细化。
    E.2.2 识别待评价产品的类型
        待评价产品的类型由评价目标决定。首先,评价者应将待评价的产品界定为中间产品(处于正在开发中的产品)或最终产品。待评价产品的度量方法包括:外部度量(当产品为运行中的完整硬件/软件系
统一部分时)、内部度量(用于测量软件的内部特性,如说明书、源代码)以及使用效果度量(用以度量特定环境下软件的应用效果)。
    E.2.3 明确质量模型
        应按软件要求建立用于评价的质量模型。在此阶段,软件质量要求转化为相关的质量特性,并按照用户的要求将这些质量特性进行重要性排序。
E.3 评价准备
    E.3.1 选择度量元
        软件产品质量要求的量化应利用与特定质量特性相关的度量元来实现。这些度量元可以是:
        ——内部度量,与软件产品的体系结构相关,可以预测最终软件产品的质量;
        ——外部度量,适用于正在运行的软件产品质量度量;
        ——使用效果度量,用以度量软件产品的使用效果。
        软件评价过程度量元的选择依赖于以下几个因素:评价目的、选择的质量特性以及度量的适用性和经济性。用于对比的度量元应有效,并且具有足够的精确度,因此测量要客观、可重现。
    E.3.2 建立评分等级
        对于所选的每个度量元应定义相关等级的数值,使被测量值能按所需准确度进行表示。评分等级指示每个属性的界限,确定测量值属于不可接受、可接受的最低程度、在目标范围之内或者超出要求等情况。
    E.3.3 定义评估准则
        评估准则不是要求对测量值进行总结并获得一个代表产品质量的唯一指标,因为软件产品的质量与确立的质量要求密切相关,研发成本和计划易受到建立的每项质量要求及其测量值的影响。当评价结果用于在不同产品之间做出选择的时候,有必要为每一个产品建立模型,通过测量值来预测其商业价值,从而做出更为客观的比较。
E.4 评价设计
    在文档中说明评价方法和制定评价方案时,应涵盖以下内容:
    a)测量或验证确认的技术限制;
    b)每一项测量和验证的评价方法应该用文档说明;
    c)确认用于测量的工具软件;
    d)确认对产品每一部分应采用的方法;
    e)必要时对结果做出解释和说明;
    f)对环境的描述;
    g)细化评价计划,例如:修订计划草案,避免重复评价;
    h)测量过程及各项工作的时间计划表,要考虑到交付时间、产品及零组件、评价者与开发者的关系以及开发和运行场所的途径。
    注:本部分的用户在制定评价计划时,建议从参阅GB/T 18905.2开始,同时可从GB/T 18905的其他部分中收集相关信息以拓宽理解。
E.5 执行评价
    E.5.1 测量
        根据所选取的度量元对软件产品进行测量,其结果是个定值。
    E.5.2 与评估准则进行比较
        在此步骤中,将测量值与建立的评估准则进行比较。最终产品的测量值应该与目标值进行比较。测量值可识别:
        a)产品的每一处缺陷及缺陷的程度;
        b)为解决识别出的缺陷需要进行的附加评价,例如,如果对软件设计进行修正消除了以前的缺陷,这一附加评价可确认软件性能无缺陷,或可用于验证正确并可接受的软件性能;
        c)可附加说明、性能可接受或验证软件正确性的评价;
        d)是否需要限制软件的使用,这些限制是否影响强制要求、本附录评价的要求以及应用设计、预算和进度安排;
        e)任何评价范围的排除以及评价结果的限制,例如“本评价未包含对产品功能性的详细说明”等;
        f)评价行为的完整结果能够对所评软件给出总结论。
    E.5.3 评估结果
        通过评估行为给出一组评分值,用以表示软件产品的质量,并且将软件的综合质量与软件的其他方面(例如研发时间和费用)进行比较,最后根据管理准则做出管理决策,其结果是对软件产品做出接受或者拒绝、发布或者不发布的决定。评估结果会影响软件研发生命周期的下一阶段,例如是否需要改变需求或者开发过程是否需要更多资源。
        结论可以采用以下两种互补方式给出:
        a)按照如何满足每一项需求的方式说明需求适应性情况;
        b)做出最终决定,接受或不接受所评价的软件产品,如果结论是不接受,应该考虑对产品进行修改或改变需求。
        另外还需指出,尽管评价者为评价结论负责,但评价者仅在评价说明书中规定由其做出结论的情况下才给出最终的评估。评价者通常将含有一些结论的评估报告交予评价需求方,评价需求方以此为基础完成评估,这是因为最终的评估需要替用户考虑战略决策问题,例如研发费用、为适应实际情况而需做出的调整变化以及发布需要的时间。
E.6 示例指南(参见GB/T 16260.2)
    E.6.1 度量元和测量标准的选择
        选择度量元应以软件产品的商业目标和评价者的需求为基础,其中评价者的需求由测量标准具体给出。GB/T 16260.2中给出的模型能满足多种评价需求,例如:
        a)用户可以用使用质量的度量来评价软件产品的适用性;
        b)需方(从供方采购系统、软件产品或软件服务的个人或组织)可以通过对比软件产品的功能性、可靠性、易使用性和效率的外部测量值与标准值,或者使用质量测量值与标准值来评价该软件产品;
        c)维护者可以用可维护性的度量来评价软件产品; 
        d)负责不同环境下实现软件运行的人可以通过可移植性的度量评价软件产品;
        e)开发者可以通过比较质量特性的内部测量值与标准值来评价软件产品。
        注:GB/T 16260.4对软件产品评价中度量元和度量过程标准选择提出了要求并给出了指南。
    E.6.2 度量元分级
        利用软件质量的度量元可以对可定量的质量特性进行定量测量。结果(测量值)可以映射到度量刻度上,刻度本身并不能表示满意程度,因此,刻度应划分为若干范围,分别对应于需求得到满足的不同程度。如:
        a)将度量刻度划分为两类:不满意和满意;
        b)将度量刻度划分为4类,如图E.2所示,其3条分界线分别表示已有软件或者备选软件的当前水平、最坏情况、计划水平。规定当前水平的目的是为了控制新系统质量特性不从当前状况下降;计划水平是指在可用资源条件下普遍认为可以达到的水平;最坏情况表示万一在产品无法满足计划水平的情况下用户可接受的界限。
图E.2 度量元分级水平
E.6.3 评估度量元——建立评估准则
        软件质量需求标准应该用适当、详细完备的质量模型来定义,一般采用GB/T 16260.2中的质量模型和相关定义,除非有特殊的原因才可采用其他模型。
        评价软件的产品质量需要将不同方面的特性评价结果加以概括和总结,评估人员需要为此准备一个规程,对不同质量特性采用不同的评估准则,这些准则可以根据单个子特性,也可以根据加权子特性的集合来确定;这个规程还要包括其他方面,如软件在特定环境下进行质量评估所需要的时间和经济成本。

本内容由消防资源网(www.1190119.com)提供,相关问题请加公众号cn00119或加微信号130978119反馈。