首页 > 方案案例 > 正文

石油行业软件质量保证管理模式探讨

2008-06-13 16:43:57  来源:cio 时代

摘要:随着计算机与通讯技术的快速发展,促使石油企业向信息集成化、管理智能化发展。其中软件质量保证(Software Quality Assurance,简称SQA)在其发展过程中占有重要的位置。
关键词: 石油 软件质量

    随着计算机与通讯技术的快速发展,促使石油企业向信息集成化、管理智能化发展。其中软件质量保证(Software Quality Assurance,简称SQA)在其发展过程中占有重要的位置。本文分析了目前油田行业软件质量保证过程中存在的问题,从软件项目方的角度探讨特殊行业软件质量保证的有关方面的内容,包括项目方在实施目前石油实施SQA应关注的几个部件和质量属性。
    一、问题提出
    胜利油田是一个集资源、资金、技术和人才密集的国有特大型企业,在实施中国石油工业“稳定东部,发展西部”战略方针中具有举足轻重的地位。从信息技术应用以来,一直是推动石油工业飞速发展的内在动力。促使石油企业向信息集成化、管理智能化发展。以东辛采油厂为例:自1998年以来,各级领导以及生产部门逐步认识到信息化建设对于“科学管理,降本增效”上发挥越来越重要作用,逐步加大了在软件开发和应用方面的投入;各个业务方面的软件相继不断到投入到生产和管理当中,发挥了一定服务与辅助生产的作用。但由于计算机软件开发技术不断地更新、开发工具越来越先进、各生产部门对应用软件期望也越来越高、以及油田机构体制的改革等多方面原因的影响,致使部分应用软件在应用中也逐渐不能满足生产需要。根据据采油厂信息中心对1998年至2005年这近八年时间内开发和应用软件情况调查分析来看:一类以对外承包方式开发的软件在实际应用中效果最不理想,周期短,存在诸多问题,甚至有的软件验收完毕既是软件生命周期结束之时;而以自主开发几乎很少投资为主的软件应用效果最好,一直在生产中发挥主导作用。通过分析表明:以自主开发的软件,一方面开发人员从事过油田基层技术方面的工作,熟悉相关业务,专业知识比较精通,能随着计算机技术发展而不断地对软件功能进行更新和维护;另一方面,这类软件主要针对特定的领域,软件规模相对较小,开发技术难度也不是太大;而以外包为主的这类软件,开发方(软件公司)对油田业务不熟悉,开发规模相对较大,在实施软件质量保证方面缺少必要的计划和项目方对软件公司也缺少相应技术方面监管,导致最终开发的软件类似“夹生饭”,在实际生产中很难推广,达不到预期的效果。如何改变这种状况,切实发挥信息化对生产的辅助作用,需要分析当前软件质量保证模式中存在的问题,以便有针对性地提出更好的SQA模式。
    二、采油厂SQA模式以及存在问题分析
    目前厂级软件项目立项分为局级和厂级两类,基本流程是:由相关生产部门针对生产中需要软件支持的业务提出相应项目,由厂科技办组织相关人员对所申报项目进行筛选,获得批准的项目由申报单位上报相应开题报告,其软件项目实施基本流程如下图:

0508_8346_2696-1
 
                                图1  采油厂传统开发生命周期SQA模式流程


    按照质量控制活动应贯穿整个项目始末原则分析,在这种SQA模式中,主要存在以下问题:
    (1)缺少质量计划;尽管在与开发方签定的合同中规定了一些软件产品应达到的要求条款,但这并不是真正意义上的质量计划;
    (2)分析设计阶段项目方应有相关专业技术人员参与其中,以此保证系统需求文档以及详细设计文档的正确性以及功能完备性;
    (3)缺少用户参与软件的功能测试;常常表现为易用性差;
    (4)软件验收只注重开发方的项目总结文档验收,文档与软件之间的一致性得不到保证;
    (5)部分软件开发方甚至不提供软件源代码,即使提供程序源代码,但源代码不规范造成项目方技术人员无法熟悉,不利于今后的维护与扩展;
    (6)软件项目一般是一次性投资,没有软件维护资金,在开发方软件维护期过后,软件出现问题,有时造成软件无法正常使用,容易造成“猴子掰棒子,开发一个丢掉一个”的现象。
对于这种模式存在的缺陷,将在文章后面提出改进模式。
    三、项目方SQA应关注的几个主要部件
    高质量来自满足项目方需求的质量计划、质量保证、质量控制和质量改善活动,来自保证质量理念、规则、机制和方法。从项目方角度描述SQA需要关注的几个主要部件。
    3.1严格合同评审内容
    在石油行业中,一般的软件开发合同是针对某一特定的领域或专业中进行技术合作并受合同法保护的文本。行业软件具有与其他一般通用性软件不同特点,就是很难形成产品,往往是一次性,具有“投入大、回报低,风险高”等特点。合同的拟定应该在项目可行性分析以及基本需求确定的情况下进行。合同中不严格定义的需求、不现实的项目投入以及进度计划,往往导致低软件质量。因此,做好合同评审是软件质量保证的第一步。影响合同评审范围的因素有:项目规模、项目技术复杂性、开发方对相关专业领域熟悉程度与经验以及开发方的资质、信誉等。承担过类似项目并取得较好效果的开发方往往是最佳合作伙伴。
    3.2配合开发方制定合理的开发计划与质量计划
    在确定待开发项目合适的质量目标前提下,软件项目计划和质量计划应由软件开发方与项目方共同根据合同规定以及需求文档制定,作为项目方,应有石油行业相关专业技术人员配合开发方制定合理的开发计划和质量计划,有效地避免开发高风险。项目计划应包括以下要素:项目产品、项目接口、软件开发标准和规程、项目各阶段的详细定义、项目组成人员(项目方是否有相关专业专家或技术人员)、开发风险是否采取有效方式规避等;质量计划应包括以下要素:项目质量保证目标是否过低或过高、计划评审范围、类型以及规程、软件测试计划、石油行业验收测试计划、配置管理工具和规范。
    3.3参与软件功能测试
    对于项目方来说软件测试主要集中在功能测试,按照合同以及需求分析文档(包括文档变更)的要求进行。质量需求几个主要因素包括:正确性、可靠性、效率、整体性以及实用性等。测试类有:正确性测试、文档测试、可用性测试、可靠性测试、操作实用性测试、可维护性测试等。值得注意的是:文档测试在实际测试验收中几乎被忽略。测试最终结果应提交项目方项目负责人进行最终确认,是否达到合同规定的质量目标。
    3.4同行评审和验收
    项目方虽不参与开发方的设计评审,但有必要参加同行评审。参与同行评审至少包括两类人员:该项目相应的专业技术人员,负责审查设计中有关专业方面存在的问题;另一类人员为该软件运行的维护人员,关注开发的软件可维护性、灵活性、可扩展性和可测试性。
    开发方在验收中应提交以下文档和资料:
    (1)项目可行性分析以及立项报告;
    (2)软件需求规格说明书;
    (3)项目实施计划;
    (4)数据库设计说明书;
    (5)软件设计说明书。对一些规模较大或复杂性较高的项目,应该把本文档分成概要设计说明书与详细设计说明书两个文档;
    (6)软件测试计划说明书;
    (7)软件测试结果分析说明书(包括项目方功能测试情况);
    (8)用户手册(包括使用手册与管理员维护手册);
    (9)源程序清单(以存储介质保存提交);
     (10)软件试运行情况总结以及使用单位证明;
    (11)项目开发总结报告。
    经过开发方测试和项目方参与功能测试后,软件还应试运行一段时间,在软件试运行过程中项目方应组织人员特别是软件用户尽量发现软件中的错误,并反馈到开发方做出修改。开发方在此过程中应做好验收准备,按照合同要求由项目方组织项目验收。
软件项目验收大致可分为三部分:文档代码一致性审核、软件配置审核和可执行程序测试。
    四、探索构建新的SQA模式
    4.1项目方关注的几个基本质量属性
    作为项目方,只有深入细致了解软件质量属性,才能构造更好的软件质量保证模式。从项目方角度来分析,软件质量属性应关注以下几个最基本属性:
    4.1.1正确性
    正确性是最基本的软件质量属性。如果软件运行不正确,将会给用户造成不便甚至损失。
    4.1.2可靠性
    可靠性问题通常是由于设计中没有料到的异常和测试中没有暴露的代码缺陷引起的。可靠性通常用平均无故障时间(MTTF, mean-time to fault)来衡量。
    4.1.3性能
    性能一般指指软件的“时间空间”效率。尽管目前石油行业硬件配置比其他行业处于较高的领先水平,但开发的软件性能应该也是一个值得关注的质量属性。
    4.1.4易用性
    易用性一般是指用户使用软件的容易程度。软件的易用性应该让用户来评价,而不是由所谓的专家来评价。如: “界面友好”、操作“方便易用”等。
其他的软件属性 如:兼容性、可移植性、健壮性、清晰性、 安全性、可扩展性应根据软件的性质、应用的专业领域范围分别加以强调。如安全性,对于涉及数据保密性高相关软件,安全性应特别要求。
    4.2小型项目SQA模式
    软件规模划分有很多种划分方法,站在不同的角度往往有不同的划分规则,目前还没有统一的标准。从开发方的角度,可能根据软件代码行的多少、规模大小、软件开发技术难易程度、投入开发人员多少等因素来划分;而从项目方角度,最常用的方法是按投资大小划分,但也只是一个相对的标准。对于不同规模软件采取不同的质量保证模式,一方面可节约投资,同时也能保证最终项目的质量。由于小型软件项目投资少,项目规模一般不是太大,软件质量比较容易控制,同时也为了保证开发方获得应有的利益,因此对于小规模软件仍源用于目前软件质量保证模式,但应对当前质量保证管理模式存在的问题进行以下改进。如下图2:


 0508_8346_2697-2
                                 图2 采油厂传统开发生命周期SQA改进模式


    改进后的质量保证管理模式是将质量控制活动贯穿到整个软件开发的生命周期当中,将项目方技术人员尽可能的参与到项目各个阶段的质量活动当中,与传统质量保证管理模式比较,具体改进如下:
   


第三十八届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。