一、民航与软件
随着全球经济一体化的发展,民航业务将会以更加多样化的形式出现,企业间的各种业务将会更加复杂和频繁,民航业的竞争也越来越多地体现在运用新的科技手段之上。怎样能将民航机构原有的计算设备和网络系统进行改造和更新,并建立一套更加先进、稳定而又具有较大的业务扩展空间的民航业务处理系统来满足当前及未来很长一段时期内的业务需求,提高工作效率是很多民航机构需要解决的当务之急。
因为民航的企业性质,决定了民航业对软件的依赖。民航业的软件素来以高安全、高质量、高可靠、高效率著称。依赖于质量、成本和进度的客户满意度,质量则是重点支撑之一,因此软件质量是民航业最为关心的问题之一。
二、软件质量管理的重要性
我们都知道pmbok把项目管理划分为9个知识领域,即范围管理、时间管理、成本管理、质量管理、人力资源管理、沟通管理、采购管理、风险管理和综合管理。质量管理作为9大知识领域之一,可见其重要性。
质量管理包括:质量计划编制、质量保证和质量控制三个过程域。质量计划是质量管理的第一过程域,它主要结合各个公司的质量方针,产品描述以及质量标准和规则通过收益、成本分析和流程设计等工具制定出来实施方略,其内容全面反应用户的要求,为质量小组成员有效工作提供了指南,为项目小组成员以及项目相关人员了解在项目进行中如何实施质量保证和控制提供依据,为确保项目质量得到保障提供坚实的基础。质量保证则是贯穿整个项目全生命周期的有计划和有系统的活动,经常性地针对整个项目质量计划的执行情况进行评估、检查与改进等工作,向管理者、顾客或其他方提供信任,确保项目质量与计划保持一致。质量控制是对阶段性的成果进行检测、验证,为质量保证提供参考依据,它是一个PDCA循环过程。
通常的情况是:软件组织的最高管理层根据组织所面临的形势和社会需要,制定出一定时期内组织经营活动所要达到的质量目标,然后层层落实,要求下属各部门管理者以至每个员工根据上级制定的质量目标制定出自己工作的质量目标和相应的保证措施,形成一个质量目标体系,并把质量目标完成的情况作为各部门或个人工作绩效评定的依据。然而,企业的质量目的和任务必须转化成质量目标,各级管理者必须通过质量目标对下级进行领导并以此来保证企业质量目标的实现。简言之,软件质量目标管理就是通过组织的管理者和员工亲自参与质量目标的制定,并在工作中实行“自我控制”以完成工作目标的一种管理制度或方法。
三、软件行业质量标准
目前业界认同的软件质量标准主要有两个:CMM和ISO 9001标准。
CMM:
1986年美国卡内基?梅隆大学软件工程研究院(SEI)应联邦政府的要求,着手研究一种对软件承包商过程能力进行评估的方法。1987年9月SEI发布了软件过程能力成熟框架的大纲,在大纲中定义了软件过程评估、软件能力评价两种方法及相应的问卷调查表。经过4年的实践,SEI将其发展成软件能力成熟模型SW-CMM (Capability Maturity Model for Software)。
SW-CMM描述了一个软件组织进行软件过程定义、项目实施与测试、过程控制与改善时必须经历的5个渐进的成熟等级及每一成熟等级相应的关键过程域(key process area)和关键实践(key practice)。软件组织可以依据SW-CMM标识现有软件过程中存在的关键问题,制定相应的软件过程改善策略,使软件组织的过程能力不断成熟,从而提高一个软件组织始终如一地、可预见性地生产高质量软件产品的能力。
六西格玛(Six Sigma) 又称:6σ,6Sigma,6Σ
6σ管理法是一种统计评估法,核心是追求零缺陷生产,防范产品责任风险,降低成本,提高生产率和市场占有率,提高顾客满意度和忠诚度。6σ管理既着眼于产品、服务质量,又关注过程的改进。“σ”是希腊文的一个字母,在统计学上用来表示标准偏差值,用以描述总体中的个体离均值的偏离程度,测量出的σ表征着诸如单位缺陷、百万缺陷或错误的概率性,σ值越大,缺陷或错误就越少。6σ是一个目标,这个质量水平意味的是所有的过程和结果中,99.99966% 是无缺陷的,也就是说,做100万件事情,其中只有3.4件是有缺陷的,这几乎趋近到人类能够达到的最为完美的境界(详见右图)。6σ管理关注过程,特别是企业为市场和顾客提供价值的核心过程。因为过程能力用σ来度量后,σ越大,过程的波动越小,过程以最低的成本损失、最短的时间周期、满足顾客要求的能力就越强。6σ理论认为,大多数企业在3σ~4σ间运转,也就是说每百万次操作失误在6210~66800之间,这些缺陷要求经营者以销售额在15%~30%的资金进行事后的弥补或修正,而如果做到6σ,事后弥补的资金将降低到约为销售额的5%。
为了达到6σ,首先要制定标准,在管理中随时跟踪考核操作与标准的偏差,不断改进,最终达到6σ。现己形成一套使每个环节不断改进的简单的流程模式:界定、测量、分析、改进、控制。
真正流行并发展起来,是在通用电气公司的实践,即20世纪90年代发展起来的6σ(西格玛)管理是在总结了全面质量管理的成功经验,提炼了其中流程管理技巧的精华和最行之有效的方法,成为一种提高企业业绩与竞争力的管理模式。该管理法在摩托罗拉、通用电气、戴尔、惠普、西门子、索尼、东芝行众多跨国企业的实践证明是卓有成效的。为此,国内一些部门和机构在国内企业大力推6σ管理工作,引导企业开展6σ管理。
ISO:
2008年11月14日,国际标准化组织(ISO)正式发布了在世界上运用广泛的质量管理体系标准的最新版本ISO9001:2008。与ISO9001:2000版标准相比,新版标准没有引入额外的要求,仅对之前的标准做出了技术修正,对标准中容易发生误解或含糊的内容做出了进一步的澄清或说明,同时提高了与ISO14001:2004标准的兼容性。ISO9001:2008是ISO9000族相关标准的第四版,第一版标准于1987年出版,2000年,第三版标准ISO9001:2000的内容彻底改变并提出了新的要求,关注以顾客为中心,反映了质量管理的发展,同时也汲取了第一版标准发布以来在实践工作中所取得的经验。ISO9001:2000标准对质量管理体系提出要求,组织利用这个质量管理体系框架来控制工作过程,达到各种目标,其中包括使顾客满意、满足法规要求和持续改进。贯彻该标准的组织可以选择独立第三方认证机构进行认证,以此来提高外界对其产品和服务的信心。尽管这个认证不是强制性的,据统计,在170个国家内,已经超过一百万家上市和私营的制造和服务组织通过了认证。
因此上述标准已受到世界各国的重视,并开展了研究与试点。
四、如何评价软件质量
软件在民航业中的应用越来越广泛,主要获取软件的途径有四种:
● 自行开发
● 直接外购
● 外购再二次开发
● 与软件开发商合作开发
而其中又以合作开发最为普遍,因为这种方式更能满足民航机构独特的业务流程,更有针对性。合作开发的软件是否好用?质量如何?如何制定质量评价标准?目前有一些比较好的软件质量管理平台,就是根据被测软件的类型和特点,针对软件六大质量特性,21项子特性,选择不同的度量元素,形成的评价体系,以此为依据,对被测软件进行定性、定量、独立的技术测试,注重的是用数字说话,更具科学性。
例如,全国各机场选购安检信息管理系统,首先是要满足安全性,其次是功能性和可靠性。软件可靠性的依据不是软件已经过多少周的测试、调试,而是在可靠性预测模型中,定量的估计出软件中每千行代码尚存在多少个错误没有被消除,即KLOC的大小。更进一步,通过软件质量测量,用户知道该管理软件在今后使用中的平均失效前工作时间(MTTF)和平均失效间隔时间(MTBF),这样,评价一套软件,就有据可依了。
为此,有必要具体了解软件的质量评价体系。美国的B.W.Boehm和R.Brown 先后提出了三层次的评价度量模型:软件质量要素、准则、度量。
第一层:软件质量要素
软件质量可分解成六个要素,这六个要素是软件的基本特征:
1. 功能性:软件所实现的功能满足用户需求的程度.功能性反映了所开发的软件满足用户描述的或蕴涵的需求的程度,即用户要求的功能是否全部实现了。
2. 可靠性:在规定的时间和条件下,软件所能维持其性能水平的程度。可靠性对某些软件是重要的质量要求,它除了反映软件满足用户需求正常运行的程度,且反映了在故障发生时能继续运行的程度。
3. 易用性:对于一个软件,用户学习、操作、准备输入和理解输出时,所做努力的程度。易使用性反映了与用户的友善性,即用户在使用本软件时是否方便。
4. 效率:在指定的条件下,用软件实现某种功能所需的计算机资源(包括时间)的有效程度。效率反映了在完成功能要求时,有没有浪费资源。
5. 可维护性:在一个可运行软件中,为了满足用户需求、环境改变或软件错误发生时,进行相应修改所做的努力程度。可维修性反映了在用户需求改变或软件环境发生变更时,对软件系统进行相应修改的容易程度。一个易于维护的软件系统也是一个易理解、易测试和易修改的软件,以便纠正或增加新的功能,或允许在不同软件环境上进行操作。
6. 可移植性:从一个计算机系统或环境转移到另一个计算机系统或环境的容易程度。
第二层:评价准则
评价准则可分成22点。包括:
● 精确性:在计算和输出时所需精度的软件属性;
● 健壮性:在发生意外时,能继续执行和恢复系统的软件属性;
● 安全性:防止软件受到意外或蓄意的存取、使用、修改、毁坏或泄密的软件属性;
● 以及通信有效性、处理有效性、设备有效性、可操作性、培训性、完备性、一致性、可追踪性、可见性、硬件系统无关性、软件系统无关性、可扩充性、公用性、模块性、清晰性、自描述性、简单性、结构性、产品文件完备性。
评价准则的一定组合将反映某一软件质量要素,软件质量要素与评价准则间的关系如下图:
第三层:度量
根据软件的需求分析、概要设计、详细设计、代码实现、组装测试、联调测试和试运行和交付使用七个阶段,制定了每一个阶段的度量标准,以此实现软件开发过程的质量控制。
对于民航机构来说,不管是定制,还是外购软件后的二次开发,了解和监控软件开发过程每一个环节的进展情况、产品水平都是至关重要的,因为软件质量的高低,很大程度上取决于用户的参与程度。