软件质量与软件测试(精选12篇)
软件质量与软件测试 篇1
本文著录格式:[1]李芳颂, 王锋, 丛庆.软件故障分析方法与软件质量评价模型的研究[J].软件, 2014, 35 (1) :143
0前言
计算机软件在运行过程中难免会出现一些故障, 有一些软件故障是由于软件本身质量问题而导致的, 提高软件开发质量也是减少软件故障的一个较为有效的方法。对于软件系统建立一个比较通用的质量评价模型已成为一个研究热点, 基于此提出面向领域的一种软件质量评价模型构建方法, 对于提高软件质量, 评价软件系统具有积极的作用。
1 软件故障分析
1.1 产生软件故障的原因
计算机软件系统运行所需环境各不相同, 如果用户的计算机设备及软件配置不能达到软件需要, 就容易发生功能性故障。结合软件维护实际情况分析, 软件故障产生原因主要有下列几个:一是内核文件丢失或系统配置出现错误;二是程序受计算机病毒破坏而不能正常运行;三是设置CMOS参数不正确;四是内存管理中存在一些冲突;五是计算机软硬件不兼容;六是由用户操作不当造成的。
1.2 软件故障分析方法
综合分析产生上述软件故障的原因, 可将软件运行环境分为三个层次接口, 与此相对应也可将故障分为用户接口、硬件接口、软件接口三类接口故障。当计算机发生故障时可采取观察法、对比法、更换法等判断故障是由于硬件还是软件引起的, 并确定故障源。排除软件故障过程中也要考虑软件运行环境是否满足要求, 依次分析用户接口、硬件接口、软件接口大都可确定故障原因并进行解决。对软件故障重复性进行验证, 注意软件故障发生的操作顺序及状态。软件使用过程中要定期进行备份, 避免软件发生故障时损失重要数据。
2 软件质量评价模型
2.1 领域质量评价模型
领域软件质量评价模型是由抽取标准模型中符合目标领域的特性项与抽象目标领域系统的领域特征项相结合而形成的。该模型基于标准模型进行剪裁与扩展, 仍具有属性、特性、子特性三层结构。在对目标领域系统进行评价过程中, 要将领域通用模型实例化才能转化为目标领域质量评价模型。
由于领域软件需求一般分为可选和必备两种, 因此在该模型中待评价的每层元素也同样分为可选和必备。领域质量评价通用模型的所有项都是可选, 对于目标领域质量评价模型具体到实例化时, 要对各项关系性质进行确定。该模型建模步骤如下:一是将标准模型中的特性项抽取出来, 结合目标领域特点, 对标准模型中符合目标领域软件的度量、特性及子特性项抽取出来;二是根据目标领域需求构建框架, 输入软件及领域知识, 软件目标领域实例及有关文档由领域专家进行分析, 以确定必备与可选需求, 可与上步骤同时进行将领域需求框架进行输出;三是特征抽象, 基于领域专家分析领域需求框架, 辅助评测专家对领域特征进行抽象;四是特征映射, 抽取特性、子特性、属性项及领域特征要向通用模型进行映射, 至此具有领域功能性、可靠性、易用性、领域效率、领域维护性、领域可移植性的目标领域软件质量评价模型构建完成。
2.2 质量评价
领域质量评价模型要进行有效性验证, 结合软件根据评价需求、规定评价、设计评价、执行评价等步骤对待评软件系统实施评价。评价需求确立时, 要结合评价参照的质量评价模型进行确定。采用专家评定与三角模糊数层次分析法对各特征值进行赋权, 对同层次对象要由多个领域专家进行两两之间的比较, 采用三角模糊数形式对相对重要程度进行表示, 多个比较矩阵可取其平均值作为被比较对象建立模糊比较矩阵。模糊数对应的截集矩阵要通过隶属函数进行求解, 其中各元素可作为模糊数的置信水平确定的一个置信区间, 并对乐观水平进行设定后转化为判断矩阵。然后对判断矩阵最大特征值及对应特征向量进行求解, 以判断验证矩阵是否一致。如果存在不一致情况, 要对判断矩阵进行调整, 否则可将特性向量向权重向量进行归一。
3 结语
综上, 本文提出的面向领域质量评价的一个通用模型, 提出的评价方法需要在实际应用中不断进行完善。该模型可用于对软件质量评价的一个有效手段, 基于该模型对常用软件系统进行客观评价, 评价结果符合应用实际, 说明此模型可作为软件系统的评价基准, 使用面向领域的质量模型对目标领域软件质量进行评价具有可行性, 可以使评价公正客观且准确, 对于提高软件开发质量, 促进信息产业发展都具有十分重要的意义。
参考文献
[1]雷祥, 张少华, 任凌云, 王彦理.D-P算法的改进及其在飞行轨迹回放中的应用[J].软件, 2012, 33 (9) :149-150
[2]吴小帆.CIN-SCF系统可视化信令跟踪工具的设计与实现[J].软件, 2013, 34 (8) :78-81
[3]Kwong C K, Bai H.A Fuzzy AHP approach to the determination of importance weights of customer requirements in quality function deployment[J], Journal of intelligent manufacturing, 2010.5
[4]袁辉华.银行信息技术风险管理及若干对策研究[J].软件, 2012, 33 (10) :101-102
软件质量与软件测试 篇2
一、课程基本信息
中文名称:软件质量保证与测试
英文名称:Software Quality Assurance and Testing 开课学院:计算机科学学院 课程编码:S0835401 学分:2 总学时:32 适用专业:软件工程学术硕士,软件工程专业硕士 修读基础: 软件工程,面向对象程序设计 课程负责人:胥林(副教授)
主讲教师:胥林(副教授);肖斌(副教授);廖浩德(副教授)
二、课程目的任务
1.课程地位作用(课程在实现培养目标中的地位作用)
《软件质量保证与测试》是软件工程专业的专业必修课。其教学目的是通过本课程学习,使学生系统地学习软件测试的基本概念和基本理论,深刻理解和掌握软件测试和软件测试过程的基本方法和基本技术。了解和掌握现代各种新的软件测试技术和主要发展方向,学生能够设计测试用例、使用自动化工具完成完整的项目测试和项目测试管理,学生能基本承担起软件测试的工作任务,为学生将来从事实际软件测试工作和进一步深入研究打下坚实的理论基础和实践基础。
2.课程主要内容(简述:主要内容、重点、难点等)
1、了解软件测试的必要性和重要性。
2、了解软件测试的层次,其中包括单元测试、集成测试和系统测试。
3、掌握黑盒测试方法。
4、掌握白盒测试方法。
5、掌握测试用例的编写方法,并能编写测试方案和测试报告。
6、了解性能测试的内容,并能运用常用的测试工具进行测试。3.学生应达到的基本要求
学生能够熟练掌握软件测试的基本方法和技术,独立完成软件测试过程的相关内容(计划,设计,实施,报告,缺陷管理),具备基本的软件测试的业务能力。
三、教学内容与学时分配
(含各时段学生课外学习要求)
第一章 软件测试基础(2学时(课内))
目的与要求:理解软件测试的目的和作用、了解软件测试的相关概念、了解测试分类
第一节
软件质量与软件测试 1. 软件测试的背景、目的和作用
2.软件测试的相关概念 3.软件测试的分类和测试原则 4.软件质量保证
重点: 软件测试的目的和作用、软件测试的原则、软件测试的分类 难点:软件测试的原则 第二节
软件缺陷与测试用例 1.测试用例的定义和标识
2.错误与缺陷定义和分类 3.测试案例
重点:测试用例的定义和测试用例的标识 难点:测试用例的标识
第二章 测试模型与过程(2学时(课内))
目的与要求:了解测试模型
第一节 软件测试模型与过程(2学时)1.软件测试模型
2.软件测试过程
重点:测试层次的划分
难点:软件测试多种模型的区别 第三章 黑盒测试(6学时(课内))
目的与要求:了解黑盒测试的概念、目标和方法,掌握使用边界值分析、等价类测试、判定表方法进行墨盒测试
第一节 边界值测试
1.黑盒测试的概念、目标和方法 2.边界条件 3.边界值分析 4.健壮性边界测试 5.最坏情况测试 6.案例分析
教学重点:边界值测试,健壮性测试,最坏情况测试 教学难点:用边界值分析方法设计测试用例 第二节 等价类测试
1.等价类 2.等价类测试类型 3.用等价类设计测试用例 4.等价类测试指导方针 5.案例分析
教学重点:等价类测试分类
教学难点:等价类的概念与划分规则 第三节 基于判定表的测试 1.判定表的组成
2.基于判定表的测试 3.基于判定表测试的指导方针 4.案例分析
教学重点:基于判定表的测试 教学难点:用判定表设计测试用例 第四节
案例分析
1.各等价类测试方法的区别
2.运用边界值、等价类和基于判定表的测试方法进行测试设计
教学重点:各等价类测试方法的区别 教学难点:各种方法的综合运用 第四章 白盒测试(6学时(课内))
目的与要求:了解白盒测试的概念、目标和方法。掌握逻辑覆盖测试,了解基本路径测试方法和数据流测试
第一节
逻辑覆盖测试
1.白盒测试的概念、目标和方法
2.语句覆盖 3.判定覆盖 4.条件覆盖 5.判定/条件覆盖
重点:逻辑覆盖测试中的判定覆盖、条件覆盖、判定/条件覆盖 难点:判定/条件覆盖
第二节
逻辑覆盖与基本路径测试 1.条件组合覆盖
2.路径覆盖
3.独立路径、圈复杂度
重点:逻辑覆盖测试中的路径覆盖,基路径测试法 难点:基路径测试法
第三节 案例分析
1.运用逻辑覆盖测试与基本路径测试方法进行测试设计
2.功能性测试和结构性测试的比较
重点:结构性测试方法与功能性测试方法的比较 难点:两种方法的综合运用 第五章 单元测试(2学时(课外))
目的与要求:掌握单元测试的基本过程 第一节
单元测试 1.单元测试的概念
2.单元测试的内容 3.测试的环境和测试策略
重点:单元测试的内容 难点:测试的环境和测试策略 第六章 集成测试(2学时(课外))
目的与要求:掌握集成测试的基本过程 第一节
集成测试
1.集成测试和单元测试的关系
2.集成测试概念 3.基于分解的集成 4.基于调用图的集成 5.基于路径的集成
重点:集成测试中基于分解的集成,MM-路径 难点:集成测试的集成策略 第七章 系统测试(2学时(课外))
目的与要求:掌握系统测试的基本过程 第一节
系统测试 1.系统测试的概念
2.系统测试内容和测试策略 3.系统测试策略
重点:系统测试的内容和方法 难点:系统测试的策略
第八章 性能测试(4学时(课内))
目的与要求:了解性能测试概念、目标、分类、主要性能指标,掌握常用的性能测试工具的使用
第一节
性能测试指标与分类 1.性能测试概念、目标
2.主要性能指标 3.性能测试的分类
重点:负载测试,压力测试,并发测试 难点:主要性能指标的理解 第二节 性能测试方案与工具 1.性能测试方案 2.常用的性能测试工具
重点:性能测试方案的设计 难点:性能测试数据的分析 第九章 自动化测试(6学时(课内))
目的与要求:了解自动化测试定义、使用领域和发展,理解自动化测试技术,掌握常用自动化测试工具的使用
第一节 自动化测试概念 1.自动化测试定义
2.自动化测试使用领域 3.自动化测试的发展 4.自动化测试的组织与实施
重点:自动化测试概念及使用领域 难点:自动化测试的组织与实施 第二节
自动化测试技术与脚本 1.自动化测试技术
2.自动化测试脚本 1.重点:自动化测试技术
2.难点:自动化测试脚本 第三节 自动化测试工具 1.测试工具分类
2.测试工具介绍 3.测试工具的选择
重点:功能测试工具和性能测试工具的使用 难点:自动化测试的组织与实施
第十章 Web系统测试案例(6学时(课内)+6学时(课外))
目的与要求:通过博客系统测试案例分析熟悉软件项目测试全过程管理的方法与流程。
第一节
Web系统测试计划与功能测试 1.测试需求 2.测试资源 3.测试策略 4.测试标准 5.测试用例设计 6.测试实施 7.测试报告 8.缺陷统计
重点:测试需求分析与测试标准 难点:测试需求分析 第二节 博客系统的性能测试 1.测试计划 2.测试用例设计 3.测试脚本开发 4.测试环境 5.测试执行 6.测试结果分析
重点:测试用例设计与脚本开发 难点:测试脚本开发
四、考核方式与成绩评定
1.考核方式:(笔试、论文、口试等)
论文
2.成绩评定办法:(平时成绩、期末考试成绩……等比例)平时成绩40%,期末成绩60%
五、教材及主要参考书目
(一)教材:
1、江开耀,韩永国著.软件测试技术.西安电子科技大学出版社.第1版
(二)参考书:
1、朱少民,软件测试方法和技术,清华大学出版社.第1版
2、John Watkins著.贺红卫,杨芳等译.实用软件测试过程.机械工业出版社.第1版
3、Ron Patton著.张小松,王钰,曹跃等译.软件测试.机械工业出版社.第1版
4、(美)Paul C.Jorgensen 著韩柯杜旭涛译.软件测试.机械工业出版社.第1版
六:其他需要说明的问题
大纲执笔人:胥林
大纲审批机构:计算机科学学院教授委员会
软件质量与软件测试 篇3
一、重构主干课程
主干课程是学生技术学习与经验积累的源泉,只有认真规划课程才能激发学生的兴趣,从而激发学生认真学好每门课程的热情。我校DOTNET方向软件课程的开发主要从以下几方面进行重构:
1.认真调研确定岗位能力需求
为课程建设我们相继走访了牡丹江蓝崎软件开发有限责任公司、大连卓展科技有限公司、大庆华拓数码科技有限公司、哈尔滨鑫联华公司等,与企业人事主管和工程技术人员进行交流,分析计算机软件人才岗位需求。
2.多方参与确定课程方向
邀请优秀的软件工程师、项目经理等软件领域专家,本专业优秀教师共同分析软件开发的工作过程,确定典型的工作任务,通过典型工作任务实例客观地描述软件开发的职业活动,确定课程,同时借鉴北京大学北大青鸟集团软件专业课程体系,确定课程名称。
二、重建课程标准
课程标准是每门课程开设的基础,是教学的一把尺,应做到定位要精准,课程教学才得以精练。
1.课程定位要准确
根据课程在软件开发过程中的地位,明确课程性质。
2.课程目标要明确
为了充分发挥每一位同学的学习潜能,使每一个学生都能够掌握一技之长,从而挖掘学生多元化的发展潜质,就应该目标明确,从而培养强烈的学习意识。
3.课程内容要项目化
针对软件岗位群上的典型工作任务,运用职业分析方法确定软件岗位群要求的职业能力和职业能力。将职业能力的形成过程,确定为每门课程的教学内容。打散传统的知识体系,以项目为载体,根据工作任务的相关性构建课程内容体系,应做到课程内容有增有减,对不同工作过程设计不同的学习内容,以完成工作任务的顺序组织教学内容。
4.课程考核要多样化
每门课程都有特点,单一通过卷面无法全面考查每一位学生的学习程度,应采用多样化的考核方式,如过程考核、课程设计答辩、笔试等,针对不同的课程要采取灵活的考核方式。
三、重组教学内容
分析软件职业特点,以理论够用实践为主的特点,注重以学生综合能力培养为重点,重新安排教学内容,以《软件综合实训》课程为例设计教学内容。
1.教学计划的制订
根据课程标准合理地制订本门课的教学计划。《软件综合实训》课程采用以行为导向、基于工作过程的课程开发方法进行设计,整个学习领域由若干个学习情境组成。
2.课堂教学的实施
根据软件开发流程,将整个实训过程分成实训准备、项目策划、需求分析、系统设计、编码测试、部署运行六个工作阶段,循环进行教学设计。以《软件综合实训》课程为例设计教学单元。
四、结语
DOTNET软件方向的课程设计是一项系统工程,需要教学执行者认真研究与探索,最终目标是实现学生的高质量就业,培养出新时期社会需要的新型人才。每门课程的教学设计都是教学的灵魂,需要师生共同配合,才能真正做到教中学,学中教,教学合一。
软件质量度量分析与研究 篇4
关键词:软件质量,度量,质量度量模型,度量验证
在过去几十年里,因为软件的质量问题而导致整个系统发生失效的事例屡见不鲜,进而给人类生命安全和环境造成了巨大的损失。20世纪80年代,美国有两个系统,耗资5600万美元的Univac联合航空订票系统和耗资2.17亿美元的高级后勤系统都因在交付使用后发现不满足要求而被迫进行重新研制[1];而在1996年6月,在阿丽亚娜5号火箭首次发射后不到一分钟的时间内,就因为软件故障问题致使火箭发生了爆炸,导致了巨大的经济损失和相应计划的延迟[2]。因此软件的质量问题已引起了人们的极度重视,软件质量的度量问题自然也得到重视。
由于计算机技术、数据融合技术、网络技术和通信技术的飞速发展,人们对软件性能及功能提出的要求也越来越高,度量软件质量已成为一个迫切需要解决的问题。如何通过选择合适的软件质量指标体系、确定软件质量的量化过程和方法来进行客观性地度量,对于评价软件的质量是关键的一步,进而对于减少软件失效的发生和提升软件的总体质量也是具有极其重要的意义。
1 对软件质量模型的认识
1.1 软件质量及定义
至今为止,软件质量还没有一个统一的、惟一的定义,不同的组织或应用可能会有不同的定义。ANSI/IEEE Std 729—1983定义软件质量为:与软件产品满足规定的和隐含的需求的能力有关的特征或特性的全体[3];M.J.Fisher给出的定义为:表征计算机软件卓越程度的所有属性的集合。由此可知,软件质量的优秀程度与反映软件各项功能、性能需求的特性及其组合紧密相关,如果针对软件本身设计出来的质量特性能够满足各种要求和反映软件质量需求,则说明软件产品的质量等级比较高。结合各种定义,软件质量反映了以下三个方面的问题:1)显式的软件需求,包括用户方、交办方等提出来关于软件的功能需求、性能需求等,这是软件质量度量最基础的需求;2)隐式的需求,在软件生命周期中其中有一部分需求并没有明确提出来,如可维护性等;3)软件的整个开发过程还必须按照一定的方法,规范来进行,缺少这些,就无法指导软件开发人员的各种开发活动,开发秩序会变得杂乱无章,软件质量也就得不到一定的保证。
综上以上的定义和最新的研究可以将软件质量定义为:软件所具有的能够满足功能和性能需求、遵循一定的开发准则和规范以及符合隐含的一些规定需求的本质。
1.2 软件质量度量模型
软件度量工作自1958年Rubey和Hurtwick首次提出软件度量学概念[4]至今,大体经历了三个阶段。1976年,Boehm等人从可移植性、可使用性、可维护性三个方面来定量的评价软件质量为第一阶段;第二阶段以1978年Mc Ca1l等人从“产品运行、产品修正和产品转移”提出的质量度量模型即“质量要素———评价准则———度量”为标志。但是实践证明通过该模型不同缺陷的反馈信息可能相同,以致指标的制定及其定量的结果难以评价。随后,国际标准化组织(ISO)[5]于1985年和1993年先后提出了多项关于软件质量度量技术的工作报告,其提出的软件质量度量模型将软件度量工作带入了第3个发展阶段。
通过对这三个模型的深入研究发现,这三个模型都着重分析了软件质量属性的影响因素,这些模型研究的对象主要是软件产品,即在软件质量属性和软件设计、编程的特性之间建立关联映射[6]。这些模型可以帮助加深对软件特性的研究,有利于分析和建立特定软件系统的质量特性及其特性组合。但是这些质量度量模型都存在一定的局限性,每个模型都是针对软件本身提出来的,通用性比较强,在应用到具体的软件系统评估中,并不能很好地反映软件所具有的特殊性。因此,如今很多模型都是根据自己的需求来开发建立的,虽然软件自身的性质给模型的确定带来了一定的困难,但是总的提升还是有的。文献[7]就指出了一种基于全局和局部质量标准的框架,降低了模型建立的难度;文献[8]中指出了从领域报告问题、用户关键情况和用户满意度等级三个方面来寻找度量元,利用数据统计分析的方法加强了软件质量的管理。这些方法的开发和应用都为软件质量特性和模型的设计提供了很好的引用和借鉴。
2 软件质量的度量研究
2.1 软件质量度量过程
软件的度量过程主要可以分为五个步骤进行:1)确定软件的质量度量需求。这一步是软件质量度量最为前提和基础的一步,主要活动包括设计可能的质量因素集合,优化并确定这一因素集合和建立软件质量模型。2)确定软件质量度量元。这是软件度量过程较为关键的一步,度量元选取的好坏直接影响着质量评估的结果。首先在基于软件质量度量框架的基础之上,将质量特性分解成度量元;继而执行度量元的成本效益分析,根据其结果调整优化已选度量元集合。3)执行软件质量度量。包括定义度量数据收集过程并且收集数据、根据已有数据计算度量值等环节。需要注意的是,采集的数据应该基于正确定义的度量和模型,从而保证数据的正确性、准确性和精度;因此,在收集数据之前,应当设定数据采集的目标,并且定义有意义的问题[9]。4)分析软件质量度量结果。通过分析比较收集的度量数据与目标值,发现两者之间的区别。确定那些不可接受的度量值,详细分析那些数值偏离关键值的度量元并依据分析结果重新设计软件质量度量。5)软件质量度量的验证。验证的目的就是为了证明通过软件产品和过程度量可以预测具体的软件质量因素值。验证的过程中,在运用相关的验证方法和标准的前提下,必须确定软件质量因素样本和度量样本,然后执行对度量的统计分析,检验度量的作用是否实现。整个具体过程如图1所示。
2.2 软件度量的验证与预测
软件度量的验证是软件度量领域另一个非常重要的话题,因为实际上软件度量的认同取决于软件度量是否能作为软件质量特性的预报器,如果能,度量验证的目的也就达到了[10]。
从软件产品度量验证实质来分析,具体反映了以下三个问题:1)软件产品度量必须量度本应该量度的内容,例如耦合度量量度耦合性等。2)软件产品度量和一些重要的外部度量存在关系,例如可维护性和可靠性的量度。3)软件产品度量能促进现有的度量水平的提升,这种提升意味着将会产生降低度量收集的复杂性以及提高预测错误的可能性等等优势。
在进行软件度量验证时,我们必须注意软件度量的外部验证和内部验证的区别,内部验证考虑同态,也就是说,做用户想要的度量。软件度量的外部验证考虑量度是否和软件品质属性(外部变量)有关系。文献[11]和文献[12]应用算法验证进行度量的外部验证,而Zuse等人采用的是所谓原子修正进行度量的外部验证,原子修正可以看作对顺利量表的必要条例。软件度量广泛使用的外部验证概念相对于外部特征是相互关系的考虑。文献[13]也从内部验证和外部验证的角度出发,提出了利用理论验证和经验验证相结合的方式来对已存在的五个有关面向对象设计的质量因素的度量集进行验证。软件组织可以利用这种方法尽早确定高风险的软件模块、构建设计和编程计划与方针以及进行系统级的预测。具体方法如图2所示。
最近的研究表明,验证软件产品度量的方法的质量越来越受到人们的关注。主要基于两个原因:1)应用于软件工程度量验证的一些一般实践在科学性方面令人难以接受;2)对于有效的工程管理和可靠合理的经验研究,有效的测试和验证是必须的。因此,必须对那些来出自于研究室的度量的有效性进行验证,才可能达到准确性和科学性。更需注意的重点是软件度量验证不只是一次的事,它是一个需要重复验证的连续过程。
2.3 软件质量度量方法与进展
2.3.1 面向结构度量方法
较早出现的度量是建立在结构化程序设计和模块化思想基础上的,分析的对象包括程序的控制流图,实现中的操作复杂性,方法间的传递耦合和流程耦合等。其中影响比较大的有McCabe提出的循环计数复杂度度量,直到今天历经改进,仍然被实践者所采纳。McCabe 1976年提出了环形复杂度(cyclomatic complexity)理论,该理论以图论为基础,通过分析程序的控制流图来获得程序的复杂度,为度量程序逻辑复杂性提供了一种很好的方法。
2.3.2 面向软件复用的度量
20世纪90年代后期,软件复用的研究兴起。复用的度量主要包括可复用性度量和复用度量[14]。可复用性度量主要用来判定一个构件的可复用性和质量,复用度量主要用于判定复用对生产率、质量和开发时间的作用,它可以在不同级别上进行度量,包括构件级、产品族级、项目级和机构级。目前面向复用的度量大致可分为以下4大类:经济模型类、成熟度模型、复用比率模型以及复用潜力度量模型。
2.3.3 面向对象度量方法
软件度量进一步作的开展主要在80、90年代,尤其是在90年代,软件度量的研究获得了空前的发展。1989年,Morris研究讨论了面向对象应用程序的度量,Bieman讨论了在面向对象条件下软件重用的度量问题。1993年中国台湾学者J-Y Chen和J-F Liu提出chen&liu方法[15],从操作性、复杂性、重用性、类的属性等八个方面去度量面向对象软件。1994年Chidamber和Kemerer发表论文对面向对象度量提出了基于继承树的一套面向对象度量方法[16]被称为C&K度量方法,主要用来量度与对外部质量属性的影响有关的面向对象设计的复杂性[17]。1995年,brito等人针对面向对象属性提出的一套称之为MOOD的度量算法集[18],它从封装性、继承性、耦合性和多态性等四个方面给出了面向对象软件六个度量指标。1998年,Nesi和Querci提出了一种新的软件复杂度和大小度量方法[19]。
到了2000年,Arlene F提出一种预测点度量方法,这种方法基于对象和他们的特征,建立一种适合预测工作量和跟踪生产力的方法,核心是每类加权方法数(Weighted Methods per Class WMC)[20]。2001年,Victor和Daily提出了一种基于构件点的度量方法叫SPECTRE的方法[18],用于预测开发任务时间和模块规模。2003年,Washizaki等提出了一种可重用组件的度量方法,用于度量面向对象组件的易理解性和可重用性。同年,Hastings和Sajeev介绍了一种新的Vector Size Measure(VSM)方法,用于在软件生命周期的早期度量软件规模,软件分类,软件开发结果等[21]。2005年Gyimothy等提出一种基于经验的面向对象度量方法,该方法能有效地实现对源码的bug预测度量。同年,Del Bianco等采用经验断言的方法,扩展了功能点度量方法,并将其应用到面向对象度量中。
3 展望
毫无疑问,软件度量是提高软件品质的一个重要方法。只有通过软件度量,才能确定软件产品所具有的属性组合与所希望的符合程度。Dieter Rombach,曾在巴黎说到过(现在他在美国软件工程实验室(SEL)工作):我们现在不再是问我们是否应该度量,而是怎么样度量。尽管过去软件度量领域做了许多的研究,但还有许多问题未解决。
首先,目前还没有成熟的度量方法,大多度量方法适用性不强,且有些还存在着度量过程客观性差,度量结果不准确的问题;
其次,国际上还没有统一的软件度量标准,很多标准针对的范围比较小,并不能满足软件质量度量的整体要求。
将来,理论开发(对现实的假定)变得越来越重要,相关和归约分析需要考虑讨论度量比例,外部变量对软件度量验证确认是未来需要研究的课题。利用测量理论的公理有助于更好理解软件品质和成本估计后潜在的内容;同时,针对现有问题进行深入的研究和分析,探求符合需要的理论方法和开发工具将对未来度量领域的发展起到重要的促进作用。
4 结束语
软件质量与软件测试 篇5
从建立地理信息系统应用着手,着重分析了GIS软件开发管理的原则与数据管理的基本内容,详细论述了软件组织者在研发过程中的质量管理与控制标准ISO9000系列及软件的`能力成熟度模型CMM,指出质量控制在软件过程改进中的重要意义.
作 者:孙建华 刘强 王栋梁 刘华俊 作者单位:孙建华,王栋梁,刘华俊(郑州航空工业管理学院,工业工程系,河南,郑州,450015)
刘强(郑州铁路分局郑州水电段,河南,郑州,450052)
软件质量保证复审研究 篇6
【关键词】软件质量保证体系;系统性
一、软件质量
软件质量是“与软件产品满足规定和隐含需求的能力有关的全体特征(或特性)”。为满足软件的各项规定的或隐含的功能、性能需求,符合文档化开发标准,就需要相应地设计出一些质量特性及其组合,质量目标,作为在软件开发与维护中的重要考虑因素。如果这些质量特性及其组合都能在产品中得到满足,则这个软件产品的质量就是高的。这些被定义出来的特性及其组合就称之为软件“质量目标”。软件质量是各种特性的复杂组合,它随着应用的不同而不同,随着用户提出的量要求不同而不同。承担保证软件质量的任。包括软件工程师、项目管理者、客户、销售人员和SQA(Software Quality Assurance)小组的人员。
二、软件复审
(1)软件复审:软件复审是软件工程过程中滤除缺陷的“过滤器”。在软件项目开发过程中的多个不同点上,软件复审活动能够起到及早发现错误进而引发排错活动的作用。软件复审目的是尽可能多地发现被复审对象中的缺陷,起到“净化”工作产品作用。由于发现别人生产工作产品中的缺陷比发现自己的缺陷要易,所以复审应在不同的工程师之间进行。任何一次复审都是借助人的差异性达到目标活动,目标包括:①指出一个人或一个小组生产的产品所需进行的改进。②确定被审核产品中不需要或者不希望改进的部分。
(2)软件缺陷对成本的影响:在软件工程活动中,“缺陷”是指在软件交付给最终用户后发现的质量问题;而“错误”描述在软件交付前由软件工程师发现的质量问题。很明显,缺陷带来的危害远大于“错误”带来的影响。因此,正式技术复审的主要目标就是在复审过程中发现错误,以便潜在的缺陷在交付之前变成“错误”并得到纠正。正式技术复审的明显优点就是能够较早发现错误,防止错误传播到软件过程的后继阶段。“尽早”发现错误是我们的追求,因为同样的错误对成本和工期产生的影响与发现错误、改正错误的时间是密切相关的。
(3)缺陷的放大和消除:可以用“缺陷放大模型”来说明及时的复审在软件工程中的作用。复审过程可能没有完全发现来自此步骤之前的和新发生的所有错误。从而可能在本阶段“继承”了一些错误,并将一部分错误引入下一阶段。其中,一部分来自前一阶段的错误可能会误导本阶段的工作,导致在错误的基础上产生更多的错误,形成错误的“放大”效应。
三、正式的技术复审
正式技术复审(FTR)是一种由技术工程师进行的软件质量保证活动。FTR的目标是:①在软件的任何一种表示形式中发现功能、逻辑或实现上的错误。②证实经过复审的软件的确满足需求。③保证软件的表示符合预定义的标准。④得到一种以一致的方式开发的软件。FTR是一类复审方式,包括“走查”、“审查”、“轮查”以及其他软件小组的技术评估。每次FTR都以会议形式进行,经过适当地计划、控制和相关人员参与,FTR才能获得成功。
(1)复审会议的组织:从保证会议效果出发,不论进行什么形式的FTR活动,会议的规模都不宜过大,控制在3~5人较好;每个参会人员都要提前进行准备,但是复审准备工作占用的工作时间应当少于两小时;会议的时间不宜长,控制在两个小时之内。
FTR的焦点是某个工作产品,比如一部分需求规约,一个模块的详细设计,一个模块的源代码清单等等。负责生产这个产品的人通知“复审责任人”产品已经完成,需要复审。复审责任人对工作产品的完成情况进行评估,当确认已经具备复审条件后,准备产品副本,发放给预定要参加复审的复审者。当发现错误和问题时,记录员将逐一进行记录。在复审结束时,必须做出复审结论。结论只能是下列三种之一:①工作产品可以不经修改地被接收。②由于存在严重错误,产品被否决。③暂时接收工作产品(发现了轻微错误需要改正,但改正后无需再次评审)。
(2)复审报告和记录保存:在FTR期间,一名复审者(记录员)主动记录所有被提出来的问题。在会议结束时对这些问题进行小结,并形成一份“复审问题列表”。此外还要形成一份简单的“复审总结报告”。复审总结报告中将阐明如下问题:复审对象是什么;有哪些人参与复审;发现了什么,结论是什么。复审报告是项目历史记录的一部分,可以分发给项目负责人和其他感兴趣的复审参与方。复审问题列表有两个作用,首先是标识产品中的问题区域,其次将被用作指导生产者对产品进行改进的“行动条目”。 在复审总结报告中,复审问题列表应当作为附件。
(3)复审指南:不受控制的错误的复审,比没有复审更加糟糕。所以在进行正式的复审之前必须制定复审指南并分发给所有的复审参加者,得到大家的认可后,才能依照指南进行复审。正式技术复审指南的最小集合如下:①复审对象是产品,而不是产品生产者。复审会议的气氛应当是轻松的和建设性的,不要试图贬低或者羞辱别人。通常,有管理职权的成员不宜作为复审者参加会议。②制订并严格遵守议程。FTR会议必须保证按照计划进行,不要离题。③鼓励复审者提出问题,但限制争论和辩驳。有争议的问题记录在案,事后解决。④复审是以“发现问题”为宗旨的。问题的解决通常由生产者自己或者在别人的帮助下解决。所以不要试图在FTR会议上解决所有问题。
软件质量与软件测试 篇7
依照ISO9126信息技术标准中定义:1) 软件:与计算机系统的操作有关的程序、规程、规则及任何与之有关的文档。2) 软件产品:指定支付给用户的软件实体。3) 软件质量:与软件产品满足明确或隐含需求的能力有关的特征和特性的总和。4) 软件质量特性:用以描述和评价软件产品质量的一组属性。一个软件质量可被细分成多级子特性。通过功能性、可靠性、易用性、效率、维护性、可移植性这六个特性可以判断一个软件产品是否为高质量产品。
软件质量管理, 是确定软件产品的质量目标, 制定实现这些目标的计划, 以及为了满足顾客和最终用户的需要和希望而监控和调整软件计划、软件工作产品、活动与质量目标的过程。
二、软件项目监督与软件开发周期概述
软件工程生命周期分为立项、启动、需求分析、设计、编码、测试、上线、验收、运行和维护10个阶段。
软件开发的周期分为启动、需求分析、设计、编码、测试、上线六个阶段。
目前, 对大部分企业来说, 项目立项、项目验收由信息化项目主管机构组织实施。运行和维护由系统运管部门监督实施。软件项目监督是指企业设立的对软件开发过程进行监督的项目管理人员。其职责就是对过程管理、质量管理、变更管理及文档管理过程进行监督与评价、沟通与协调, 协助用户建设一个高质量的、具有可持续生命力的软件系统。
三、过程管理
过程管理的重点是各个阶段的评审。项目监督负责组织各阶段评审工作和文档归档工作, 监督各方对评审结果签字确认。过程管理流程图如图1所示。
各阶段评审内容如表1所示。
四、质量管理
4.1需求管理。据统计, 如果在需求分析阶段发生的需求变更对项目带来的额外工作量是5的话, 那么在系统设计和编码阶段发生的需求变更对工作量增加分别是20和100, 由此可见, 需求管理是质量管理最重要的环节, 需求做好了, 项目就成功了一半。需求常见问题是需求不确定、过多或变更频繁。主要原因:一是用户方和承建方之间信息的不对称, 挖掘实际需求比较困难;二是用户方和承建方在需求调研阶段调研分析的不够全面、不够深入。对用户方来说, 一是可能表述的较模糊;二是随着项目的推进对原来模糊的需求有了新的认识提出需求变更或提出新的需求。对于承建方来说主要是因为不熟悉用户方业务照成的理解的偏差。
项目监督在需求阶段的职责就是: (1) 组织行业专家对用户业务需求进行梳理, 和不同层面、不同部门的用户充分沟通, 尽可能在需求分析阶段通过多种手段消除“需求的不确定性”; (2) 对于过多的需求, 要帮助用户方和承建方分清轻重缓急, 设定优先级; (3) 组织用户方和承建方梳理、分析需求, 有效解决需求的变更频繁问题, 对于不可避免的需求变更需进行需求变更论证并做好相关文档的版本更新管理。
4.2评审管理。评审的目的就是及时发现缺陷、提高软件开发质量、减少软件开发的时间和费用。软件开发的每个阶段在其实施结束后, 都要组织技术评审或专家确认, 通过确认后方可进行软件开发下一个阶段的实施工作;数据库逻辑结构设计应经信息标准专家评审通过, 才能组织实施;如果评审未通过, 需提交整改方案。
4.3沟通管理。根据项目进展情况组织相关人员及有关专家召开项目周例会、月度例会, 检查项目是否发生偏差, 进度是否滞后, 是否存在问题, 讨论并制定解决方案, 布置下一步工作并编写会议纪要, 进行会议通报, 作为下一步工作的指导。
五、变更管理
所有变更都必须遵循变更控制流程进行控制并提交《软件开发项目变更申请书》, 所有变更都需由项目监督组织用户和有关专家审核通过方可实施。变更后, 受到影响的活动和相关的文档都要进行相应的变更, 以保持一致性。
六、文档管理
在系统上线阶段至少需提交以下7种技术文档:《软件需求说明书》 (附:计划要点表、需求评审表) ;《系统设计说明书》 (附:系统设计评审表) ;《数据库设计说明书》 (附:数据库逻辑结构字典) ;《测试设计说明书》;《用户手册》;《项目测试总结报告》 (附:缺陷记录和跟踪表、测试结果确认表) ;《项目开发总结报告》。
软件开发过程中所产生的技术资料、产品均应以电子和纸质形式存在, 项目验收后, 由项目建设单位或信息化工作管理部门负责项目文档的归档。
结束语
“三分技术、七分管理”, 在信息系统建设中建立合理的监督机制比人才、技术更为重要的因素。软件项目监督的实施在提高软件项目的开发质量方面起到了积极的作用。今后还需加大软件项目监督力度, 使项目监督参与到整个软件工程生命周期中。另外, 加强项目监督人员项目管理理论知识的培训对于提高软件项目开发质量是很有必要的。
参考文献
[1]苏秦, 何进, 张涑.软件过程质量管理[M].北京:科学出版社, 2008.
[2]朱少民.软件质量保证和管理.北京:清华大学出版社, 2007.
[3]李金海.项目质量管理[M].天津:南开大学出版社, 2006:29-30, 59-85, 153-158.
论软件质量工程的度量与模型 篇8
关键词:软件质量,成熟度,缺陷,度量,模型
1 什么是软件质量
质量是个多维的概念,质量的“维”包括:感兴趣的实体、对实体的观念和实体的质量属性。按大众化的观点,质量是一个无形的特征:可以讨论,可以感觉和评判,但不能称、也不能量。大众观点的误解和含糊无助于产业界的质量改进工作。专业观点认为,质量能够而且应该被定义、测量、监控、管理和改进。
对于软件,最狭义的产品质量就是产品中没有“bug”,这个定义通常以两种方式表达:缺陷率、可靠性。为了提高整体顾客满意程度以及针对各种质量属性的满意度,一定要将质量属性考虑进软件的规划和设计中。软件质量的另一种观点是关于过程质量对最终产品质量的观点。从顾客需求到软件产品的交付,开发过程是复杂的,而且经常涉及一系列的阶段,每个阶段又有反馈路径。每一阶段都为中间用户生产中间交付物,每个中间交付物有某种影响最终质量产品的质量属性。
为了在开发期间改进质量,我们需要开发过程模型,并且在此过程中需要选择和部署具体的方法和途径,确保开发过程受控于满足产品质量目标的度量和模型。
2 过程成熟度框架和质量标准
评估一个机构或项目过程成熟度的框架,包括SEI和软件生产力研究公司(SPR)的过程成熟度评估方法、Malcolm Baldrige制度和评估过程以及ISO 9000认证过程。SEI和SPR方法是针对软件过程的,后两个框架实际上应用于所有产业的质量过程和质量管理标准。
2.1 SEI过程能力成熟度模型(CMM)
卡耐基-梅隆大学的SEI为软件开发工作建立了一个过程成熟度框架,框架包括过程成熟度的5个级别:初始级、可重复级、已定义级、已管理级、优化级。SEI成熟度评估框架已经在软件产业的政府代理和公司中使用。评估方法依靠一个有85个条目回答“是”或“否”的问卷,对每个问题,指出了与这个问题相联系的SEI成熟度级别。
软件度量和模型的普遍使用是第四级成熟度的关键特征,而对第五级而言,缺陷预防是关键。在软件机构中已经对许多项目进行了SEI成熟度评估,这一模型也被美国国防部用作合同软件的评价载体。
2.2 SPR评估
在SEI成熟度模型建立的同时,软件生产力研究公司开发了SPR评估方法。SEI和SPR方法之间有很大程度的相似,也有一些本质的不同。SEI的问题重点在软件机构的结构和软件过程,SPR的问题则包括战略性的共同问题以及影响质量、生产力和用户满意度的策略性的项目问题。SPR问卷的总问题数大约是400个。此外,SPR问题是链接式的多重选择问题,回答用5级尺度(优秀、好、中等、及格、查),而SEI方法是用二分尺度(是、否),SPR方法的整体过程评估也用同样的五级尺度表示。SPR开发了一个自动化软件工具,用于评估以及资源规划和质量预测。
正在使用的具体开发过程、这个过程的成熟度等级和公司的质量管理体系是影响软件项目质量的重要因素。
3 软件质量度量
软件度量分为3类:产品度量、过程度量和项目度量。软件质量度量是软件度量的一个子集,重点在产品、过程和项目的质量方面。一般来说,软件度量同过程度量和产品度量的联系要比与项目度量的联系更密切。
软件质量度量可进一步划分为最终产品质量度量和中间产品质量度量。软件质量工程的本质在于研究中间度量、项目特征和最终产品质量之间的关系,并在这些发现的基础上,策划过程质量和产品质量的改进。此外,还应从整个软件生命周期的角度看待质量,应当将维护过程质量等级的测量作为另一类软件质量度量包括到度量里来。
3.1 产品质量度量
通常用软件中的“bug”个数或软件在遇到“崩溃”之前可运行多长时间来测量内在产品质量。在操作式定义中,这两个度量是:缺陷密度和平均无失效时间。平均无失效时间度量经常被用于空中交通管制、航空电子学、武器系统等对安全要求非常高的系统上,缺陷密度在商业软件系统中使用得较多。缺陷密度和平均无失效时间是内在产品质量的两个关键度量。相应地,存在两种主要的软件可靠性增长模型-失效间隔时间模型、缺陷计数(缺陷率)模型。
3.2 过程中质量度量
和最终产品质量度量相比,过程中质量度量的定义不够正式,软件开发人员中的实践方法也千变万化。一方面,过程质量度量只是为某些机构跟踪正式机器测试期间出现的缺陷;另一方面,有一些建立了良好软件度量程序的软件机构,其软件度量程序覆盖了开发周期每个阶段的各种参数。
当软件还在测试之中时,每KLOC(或其他分母)的缺陷数就是质量的一个良好指示器。它对于监控在同一个开发机构内的统一产品的后续发布版本特别有用。
3.3 软件维护的度量
在软件维护阶段,按时间区间的缺陷出现数和按时间区间的顾客问题召唤数都是事实度量。事实度量虽然重要,但不反映软件维护的质量。在维护阶段可以做的事是尽可能快地、以优秀的修补质量修补这些缺陷。下列度量很重要:①修补积累和积累管理指数;②修补响应时间;③逾期修补百分数田;④修补质量。
4 软件可靠性模型
在把软件产品提供给顾客的时候,可以使用软件可靠性模型对它的可靠性和潜伏缺陷数进行估计。可以将可靠性模型粗略地分成两类:静态模型和动态模型。静态模型使用项目或程序模块的属性来估计软件中的缺陷数。动态模型通常是基于统计分布的,使用当前开发的缺陷模式来估计最终产品的可靠性。
软件质量估计的静态模型的一般形式:y=f(x1,x2,…,xk)+e其中,因变量y是缺陷率或缺陷数,自变量xi是产品、项目或开发该产品过程的属性,e是误差项(因为模型不能完全解释因变量的行为)。公式中自变量的系数是基于以往产品的数据估计出来的。对于当前产品或项目,自变量的值是测量出来的,然后插到公式中,推导出因变量的估计值-产品缺陷率或缺陷数。
静态模型的参数的系数是基于许多以往项目估计出来的,动态模型的参数是基于从感兴趣产品至今所收集来的多重数据点估计出来的。如果分析的单位是在产品级而且目的是估计产品级可靠性,静态模型要比动态模型差些。动态软件可靠性模型又可进一步分为两类:用于整个开发过程建模的和用于后期正式测试阶段建模的。前者以Rayleigh模型为代表,后者以指数模型和其他可靠性增长模型为代表。动态模型的共同之处是它们都被表示为开发中的时间或其逻辑等价物(例如开发阶段)的函数。
5 可靠性增长模型
Rayleigh模型对整个开发过程中缺陷模式进行建模。与Rayleigh模型相比,可靠性增长模型通常是根据正式测试得到的数据建模。通常是在软件提交给顾客使用之前和开发工作完成前,用软件可靠性模型进行可靠性预测。它们同样可用于为现场失效模式或缺陷出现模式建模,并为维护计划提供有价值的输入。
指数模型是软件可靠性增长模式的基本形式之一。软件可靠性建模已经成为软件工程中最活跃的领域之一,在各种专业报刊和软件学术会议中提出了多种模型,每一种模型都有它的假设、适用性和局限性,大部分模型都没有在实用环境中用真正的数据检验过,实际使用的更少。
可靠性建模是用精确的统计术语来概括的复杂现实的一种尝试。因为正被建模的物理过程(软件失效现象)很难精确统计,在建模过程中必须无歧义地陈诉基本假设。在应用中,基本假设符合时,模型可以运行的好一些,反之亦然。假设越合理,模型就越好。一般说来,失效间隔时间模型的假设要相对更严一点。此外,收集失效间隔时间数据的费用更高,并且要求数据的精确度要更高。
6 质量管理模型
开发工作完成时,评估软件产品质量、预测缺陷数、或者估计发现到下一个失效的平均时间是重要的。更为重要的是在软件开发过程中对软件质量的管理和监督。虽然一些模型可用于可靠性评估和质量管理两个方面,但这些模型如何用于质量管理和如何用于可靠性评估是不同的。一方面,质量管理模型必须能够提供早期警报信号或者改进信号,这样就可以及时地计划和执行相应的行动。另一方面,与预测模型相比,质量管理模型在一定程度上不够精密、不够数学化。因此,将可靠性模型用于质量管理,而不是作为预测性工具的时候,需要不同的关注点。
对于一个开发机构来说,如果想使所使用的质量管理模型发挥作用,它就必须覆盖早期开发阶段。可靠性增长模型是基于当开发工作实际完成时的系统测量数据的,对过程中质量管理不像对可靠性评估那样有用,但在跟踪当前状态和决定何时结束对具体预定质量目标的系统测试方面,可靠性增长模型对质量管理是有用的。
6.1 Rayleigh模型框架
对质量管理来说,Rayleigh模型是一种好的整体模型。Rayleigh模型涉及到缺陷预防和与前期项目相关的早期缺陷排除等内容。在这个模型的基础上,如果降低错误的注入率,那么Rayleigh曲线下的面积就将变小,导致较小的预测现场缺陷率。同样,如果在开发过程中的前期排除的缺陷较多,那么在后期测试和维护阶段的缺陷率就会较低。这两个方案的目的都是为了减少最后测试阶段的缺陷数量,进而导致较少的应用现场缺陷。
比质量预测更为重要的是Rayleigh框架可用作质量改进策略的基础-尤其是与缺陷预防和早期缺陷排除相关的两个原则(即前面提到的两个假设),这两个原则是开发质量改进策略的主要方向。
Rayleigh模型给出了双向质量改进策略。简略地说,目的就是要把Rayleigh曲线的最高点移到左端,同时尽可能地降低这个最高点。最终目标是获得最低曲线所代表的缺陷注入/排除模式。不管机构的缺陷排除模式是否符合Rayleigh曲线,都可以实现这种策略。如果不符合Rayleigh曲线,可以采用离散的、基于阶段的缺陷模型。必不可少的是要制定一个基于阶段的缺陷排除目标,以反映与基线相比的较早的缺陷排除模式,然后按照活动计划来完成这个目标。
6.2 PTR子模型
如果现存的参数模型同缺陷模式不相符合,就必须开发专门的模型用于评估过程中的质量。在大规模软件开发过程中,现有可靠性模型不能应对的一个共同实际问题是连续集成问题。要对一系列准备好了的程序模块加以集成,并且这种集成发生在整个开发周期直到系统测试开始。无参数PTR子模型是为测试跟踪开发的。在许多开发机构中可以通过某种问题跟踪报告(PTR)对测试缺陷加以跟踪,PTR子模型是整体缺陷排除模型的一部分。
预期的整体PTR率可从历史数据估计出来。随时间变化的集成代码可以在当前的实现计划中获得。代码集成后的PTR表面模式依赖于测试活动和驱动器构造进度。PTR模型是一个无参数模型,目的是使得可以在过程中质量管理的实际测试缺陷出现曲线和理想/预期曲线之间进行比较。
6.3可靠性增长模型
可靠性增长模型对开发后期阶段的质量管理也有一定的用处,可以使用从以前产品或者同一产品的以前发布版本开发的模型来跟踪当前产品的测试缺陷。当把可靠性增长模型作为一个质量管理工具时,好处之一就是当获得第一个数据点时,马上就可以对之进行比较。可靠性模型在质量管理的使用比可靠性预测方面更为自由。可靠性模型对质量管理的典型用途就是根据所给可靠性目标、或者是要达到的某个具体缺陷水平确定测试结束日期。如果从当前数据推导出的模型指出没有达到希望的质量,那么我们就要进行更多测试,直到可靠性达到期望的目标为止。
在开发的后期阶段基于可靠性模型来管理开发质量,不应该把这个模型作为单独的模型使用。软件开发质量管理系统应该尽可能地关注早期阶段,如果观察到一些负面指标,就必须尽可能地采取相关行动。
7 结束语
软件产业是我国产业革命的先锋及高新技术产业的重要组成部分,它作为实现国民经济和社会信息化的先导产业而占据了主要位置。然而,我国软件产业的现状并不乐观,软件企业普遍存在“软件危机”,如质量不能为用户接受,工期超时,费用难以控制等问题。软件质量是软件企业的生命。
在软件乃至其他产业中,质量的实际操作式定义由两级组成:内在产品质量、顾客满意度。顾客满意度是质量的最终确认。产品质量和顾客满意度构成了质量的全面含义。事实上,全面质量管理(TQM)区别于传统质量工程只关注产品质量的根本点在于:TQM是旨在通过将质量与顾客满意度结合达到长期的商业成功。除产品的满意度,还必须分析顾客对公司的满意度。在这个现代质量时代,提高顾客满意度是商业成功的底线。
参考文献
[1]严圣武,张大庆,王建昌.质量控制[M].北京:万象出版社,1998.
[2]何新贵,王伟.软件能力成熟度模型[M].北京:清华大学出版社, 2000.
[3]ISO/IEC JTCl/SC7/WG6,ISO/IEC 9126-1:Information Technology Software Quality Characteristics and Metrics-Part I Quality Model [S].
软件研制过程中的质量管理与控制 篇9
关键词:质量管理,软件测试,软件能力成熟度模型
0引言
国际化标准组织ISO在ISOPIEC9126中将软件质量定义为:“反映软件产品满足规定需求和潜在需求能力的特征和特征的总和。”软件研制过程中质量管理保证和质量控制过程域是重中之重。软件质量管理包括:质量计划编制、质量保证和质量控制3个过程域。质量计划是质量管理的第一过程域,它主要结合各个公司的质量方针、产品描述以及质量标准和规则,通过收益、成本分析和流程设计等工具制定实施方略,其内容全面反映用户的要求,为质量小组成员有效工作提供了指南,为项目小组成员以及项目相关人员了解在项目进行中如何实施质量保证和控制提供依据,为确保项目质量得到保障提供坚实的基础。质量保证则是贯穿整个项目全生命周期的有计划和有系统的活动,经常性地 针对整个 项目质量 计划的执行情况进行评估、检查与 改进等工 作,向管理者、顾客或其他方提供信任,确保项目 质量与计 划保持一致。质 量控制是 对阶段性 的成果进 行检测、验证,为质量保证提供参考依据,它是1个PDCA循环过程。PDCA循环由美国质量管理专家戴明博士提出,是全面质 量管理所 应遵循的 科学程序。
1软件开发研制过程
软件质量管理贯穿于整个软件的研制过程。软件的开发研制过程一般分为:顶层设计、需求分析、软件设计、实现与测试、软件评测、用户试验试用、设计定型等几个阶 段。软件的开 发研制过 程如图1所示。
在软件研发实践中,软件质量控制可以通过各阶段的流程 管理 (缺陷处理、文 档控制、发布 过程等),严格执行软件过程管理规范,从而保证软件产品质量。例如,软件研制和管理的全过程需要软件配置管理、质量保证、各级测试、软件培训、系统验收及服务维护来支撑。通过立项管理、项目规划、项目监控、需求管理、风险管理及结项管理等阶段对软件的质量进行严格的监督和管理,确保软件研制中的全过程质量可控、可靠。
2软件研制过程中的质量管理
2.1项目进度质量保证
项目进度是 项目进行 顺利与否 的最直观 表现。显然在项目开 始之前,项目开发 计划是必 需的。如果项目开发 计划的制 定是完全 合理的,那项目进度也就真正表达了项目与 最终的交 付使用之间的距离,然而要制 定完全合 理的项目 开发计划几乎不 太可能。可见 要保证项 目进度,首先要保证项目开发计划 尽可能合 理。项目计划 的合理程度与项目计划制定者从事 类似规模 和类似业 务的项目经验有直 接关系,通过经验 往往能够 预见潜在阻碍,这样要求 项目计划 制定者需 要集众人之力来 完善计划。项 目计划制 定初期,由质量保证小组组 织召开项 目计划评 审会,邀请公司 技术专家、用户以及 项目组小 组成员一 起讨论项 目计划的可行性。会 议通常采 用头脑风 暴法,各抒己见,会后由指定的记录员形成质 量记录,发送给相关人员,对其计划中不合理的地 方进行修 改完善,并由质量保证人 员对其结 果跟踪,以确保项 目计划完整性、可行性,完善后的计划 交由配置 管理人员进行版本控制。然而在计划实施过程中,计划不是“固定化”。常言 道,“计划赶不 上变化”,但“要跟上变化”,项目计划 以里程碑 为界限,将整个开发周 期划分为 若干阶段。 根据里程 碑的完成 情况,适当调整每一 个较小阶 段的任务 量和完成 的任务时间,这种方式 非常有利 于整个项 目计划的动态调 整,也利于项 目质量保 证的实施。实 际运作中,当质量保证小组发现计划 实施的差 异后,报告项目经理,由项目经 理负责组 织对计划 进行周期性维护,对于已经 变动的计 划由质量 保证小组协助配置管理小组完成版本控制。
2.2项目开发的各阶段质量保证
(1)需求分析阶段
需求分析是系 统建设的 开端,也是项目 建设的基础[2]。从系统分 析经验来 看,这个过程 往往是循序渐进的 过程,一次性对 系统形成 完整的认识是困难的。只有 不断地和 客户领域 专家进行 交流确认,方能逐步 明了用户 的需求。从系 统开发过程得知,系统分析时犯下的 错误,会在接下 来的阶段被成倍 地放大。越是 在开发的 后期,纠正分析时犯下的 错误所花 费的代价 越是昂贵,也越发影响系统的工期和 系统的质 量。解决系统 分析错误的方法,通常采用邀请用户 参与进行 需求评定,然后对其用户的意见由质量保 证成员跟 踪检测是否纳入需 求规格说 明书,同时与用 户签字确 认形成需求基线,交由配置 管理员放 入配置管 理库。虽然尽早地邀 请用户参 与,仍然避免 不了项目 进行中用户需求的变更请 求。对于开发 过程存在 的需求变动,要求用户 填写变更 申请单发 送给项目配置管理 员,再通过配 置管理员 转交质量 保证小组,负责组织专家 小组和项 目组成员 一起讨论 实施变更的可行性及实施 后所带来 的影响。小的 变更则直接录入变 更记录原 因分析项 和风险项 栏;大的变更则需要 形成正式 变更报告,无论哪种 变更都需要对相应 的文档实 施同步变 更 (包括需求规格 说明书、详细 设计文、安装 手册、操作手 册等)。但是对于无法实 现或是变 更会带来 巨大影响而将导致 进度的延 期时,将变更报 告提交给 用户或邀请用户进 行协调会 议,讨论变更 取舍问题或是项 目进度变 更问题。决定 变更之后,由项目经理组织实施变更,测试人员 检测变更 结果,而质量保证小组成员监督变更实 施过程并 协助配置 管理员对变更 后的成果 进行版本 控制。变更 实施后,上线前还需要 指定人员 协助用户 一同测试 并由用户签字同意后方可上线。
(2)系统设计阶段
优良的体系结构应当 具备可扩 展性和可 配置性,而好的体系结构则需要好 的设计方 法,自然设计选型成为系统设 计首要工 作。需要针对 项目结构、项目特征和用户需求 来分析,同时也要 考虑参与项目小组成员的 素质。面向对 象设计方 法采用面向过程的方式(除用户指定开发设计方式 外)可以减少项目承担的技术风险。除设计选型,还有1个容易被忽视的问题就 是公共类 开发。公共类 开发可以减少工作中的重复工作、降 低开发成 本,这要求在设计阶段 通过对用 户需求的 仔细研究,尽可能地识别出公 共类并进 行定义,指定专人 负责设计,通知其他设计人员,以减少重 复工作。对于项目组提 供的设计 文档,由质量保 证小组组 织技术专家、项目组设计人员、开发人 员和测试 人员对其设计文档 评审,检测设计 文档对其 下一阶段 工作的可行性,及时发现设计中可 能存在的 错误,降低项目开发风险,同时确保 设计文档 能为开发 人员、测试人员提 供切实的 指导。对于可 复用的设计进行提 取作为公 共库设计 和开发,提供项目 组或整个公司重用,最后交由 配置管理 员进行设 计文档的版本控制。
3软件研制过程中的质量控制
3.1健全质量管理体系
ISO9001规定了企业 质量管理 体系的基 本要求,它适用于所有行业或经济领域,不论其提供何种类别的产品。ISO9001本身并不规定产品质量的要求,为促进质量目标的实现,ISO9001标准明确规定了以下8项质量管理原则:
(1)以顾客为关注中心;
(2)高层管理者的推动;
(3)全员参与;
(4)采用过程方法;
(5)管理的系统方法;
(6)持续改进;
(7)基于事实的决策;
(8)供方互利的关系。
任何“得到输入并将其转化为输出”的序列活动均可视为过程。为了使组织有效运行,必须识别和管理许多内部相互关联的过程。通常,一个过程的输出将直接形成下一过程的输入。系统识别和管理组织内所使用的过程,特别是这些过程之间的相互作用,称为“过程方法”。
3.2软件能力成熟度模型集成
软件能力成熟度模型集成(Capabilitymaturitymodelintegration,CMMI)是在美国国防部的资助下,由卡内基梅隆大学软件工程研究所(SEI)建立,用于评价软件开发组织 软件过程 能力成熟 度的模型。后来此模型被用于软件开发组织内部的软件过程改进。
需要CMMI原因如下:
(1)软件过程评估(SPA),即指出该企业所面对与软件过程有关、最急需解决的问题,以便改进。
(2)软件过程改进(SPI),即帮助企业对其软件过程向更好的方向改变。
(3)软件能力评价(SCE),即鉴别软件承包者的能力资格或检查/监督正用于软件制作的软件过程的状况。
CMMI阶梯式表示法,即组织成熟度方法如图2所示。
3.3加强质量过程域的监督
3.3.1加强测试工作,并形成制度
软件开发过程包含了软件需求分析、体系结构设计、代码开发和变更、软件集成、各级测试、产品交付等所有活动和任务的全过程[3]。测试就是对软件产品的检验。测试是保证软件质量的重要手段,软件测试可以发现软件中大多数隐蔽的错误,测试越充分,软件中的隐患就有可能暴露得越彻底[4]。软件测试的目的是根据用户需求检查系统是否符合项目合同与任务书规定的要求。项目测试分集成测试和系统测试,主要进行功能测试、健壮性测试、性能效率测试、用户界面测试、安全性测试、压力测试、可靠性测试、安装/反安装测试等活动。有计划地强化测试环节,让用户自始至终地参与测试工作。测试活动要尽可能 覆盖整改项目过程,从最初的需求到部署阶段,都应该制定详细的计划 并编制相 应的文档,如测试计划、测试用例文 档、测试报告等。在测试活动过程中,应该遵守 一条基本 原则———按照用户 需求进行测试。既 不能为求 速度而缩短测试规模,也不能忽视用户 需求而提 高测试要求。总之,一切测试应该符 合用户需 求。软件整个测 试过程如 图3所示。
3.3.2使用软件配置管理对软件版本进行变更和控制
软件配置管理是软件工程的一个基础活动,它始终贯穿软件的整个生命周期。在项目管理理念中变化是永恒的,不变是短暂的,特别是在软件开发项目中需求的变更是最常见的。变更不只局限需求方面,但需求的变更可能意味着项目的范围发生了变化,那么设计、开发和测试工作都会受到影响。在一些管理不规范的项目中,经常会出现一些被修复的缺陷又再次发生,一些新开发的功能又不见了,之前测试通过的项目又出现问题等情况。这些情况有可能是因为开发人员把代码互相覆盖造成的,也就是说软件产品版本出现混乱。因此在软件开发过程中引入软件配置管理是必要的,其目的就是为了对软件产品的可回溯性和完整性提供保障,简单来讲就是要将软件开发过程中的各种工作成果管理并控制起来。变更配置项状态图如图4所示,变更控制流程图如图5所示。
3.3.3软件质量保证(Softwarequalityassure,SQA)是质量控制的基础
SQA的目的是为管理者提供有关软件过程和产品适当的可视 性[5],是为了确 保软件开 发的流程按照事先 定义的规 范开展,从而使软 件质量得到提高。以软件质 量控制的 结果作为 工作的重 要输入,SQA保证在质量 体系中实 施全部的 计划和活动,以保证质 量得到提 高。它是以非 技术为手段,从源头防止缺 陷的产生,并贯穿项 的始末,属于管理职能。制定SQA计划,确保正确执行,明确审计内容和重点 进行审计,报告审计 结果并跟 进直到解决。软 件质量保 证角色和 职责的分 配如图6所示。
4结束语
软件质量与软件测试 篇10
医院卫生装备的质量控制涉及卫生装备的申报、论证、采购、验收、使用、维修、淘汰报废等全寿命质量管理过程,它包括医学计量和卫生装备质量控制两大类。为了实现我院卫生装备质量控制的全程数字化管理,我们对原有采用PB6.5做前台开发工具,Oracle为后台数据库,以C/S结构开发的计量管理软件进行了全面的改进和升级。新系统采用B/S(浏览器服务器)的模式构建。B/S模式是一种以Web技术为基础的新型信息系统平台模式,其用户界面主要是通过网络浏览器呈现,基本逻辑均在服务器端实现。与传统C/S(客户端/服务器)模式相比,具有快速的应用更新、易于维护、集成资源共享等优点。该模式采用多层次网络系统,以实现各层间网络互联。通过挂接“军字一号”,进行受控设备的档案、采购、维修和质控、计量等数据信息共享、传输与实时更新;并将条形码管理技术和PDA技术运用进来。其中,条形码用以实现对受控设备的统一编码管理,即质控编号和设备档案条形码一致,建立网络化信息数据库,容纳所有受控设备的电子档案,以实现涵盖全程管理环节的追溯式记录与管理;PDA技术用于实现随时随地查询受控设备的档案及历史受检信息,记录检测原始数据,并对数据进行存储、计算、处理,快速判断检测结果,自动生成检测证书,从而提高检测效率和质量。另外利用同步传输功能亦可将PDA中的检测数据传输到台式机的软件系统中,以实现检测数据的更新、统计、分析和查询。同时,本软件采用Windows Server 2003及SQL Server 2005 Express作为服务器平台,利用Visual Studio 2005及.NET Framework 2.0开发包,并调用Office PIA组件实现数据统计。SQL网络数据库的使用,可大大提高数据处理能力。
本软件可以实现受控设备的档案管理、大型医疗设备的“三证”管理;智能提醒到期设备,实现过程监管;数字化记录检测信息,以完成受控设备检测数据的记录、跟踪、查询、深层次挖掘分析与统计,智能输出各类质控标签与证书;检测人员档案管理、信息查询、检测工作量统计等。
2 软件的总体结构与功能模块
卫生装备质量控制全程管理可分为3个阶段:即入库前质控验收、建档和标识阶段,周期性质控溯源、检测和管理阶段,卫生装备维修、淘汰和报废阶段。本软件主要包括受控设备质量控制管理模块、受控设备检测报告管理模块、检测人员管理模块,查询与统计管理模块。总体结构如图1所示。
2.1 受控设备质量控制检测管理模块
受控设备质量控制检测管理包括新设备验收检测管理、周期性质控检测管理、修后设备质控检测管理、选型检测管理几个部分。根据我院卫生装备计量与质量控制检测及本院所承担的检测项目等不同,按受控类别分为:一级医学计量检测、二级医学计量检测、三级医学计量检测、地方医学计量检测、大型医疗设备检测、质量控制检测。根据各委托检测单位的不同对受控设备进行分类。
2.1.1 新设备验收检测
首先在系统数据库中建立受控设备品种管理目录,设备签订采购合同后,一经采购部将合同信息录入到合同管理系统中,系统会根据目录自动判断该设备是否需要质控。质控管理员也可在合同管理系统中进行手动筛选,这样做是为了避免因设备存在别名而造成误判。设备到货后,质控管理员进行到货确认和入库登记。然后分配检测任务,其中属于三级医学计量检测和质量控制检测等医院有自检能力的设备,由本院质控检测人员承担(一周内需检测完毕),其他的由质控管理员及时送检或请外单位检测(一个月内完成检测)。经自检合格的受控设备需贴记检测标识、检测信息登记等。同时通知库房出入库、档案室打印设备条形码,然后受控设备出库领用。通过质控验收检测的新设备会自动进入系统数据库中,进入周期检测管理。若新设备经检测不合格,质控室需及时通知采购部安排退换。新设备验收检测流程如图2所示。
从本软件投入运行开始,所有验收检测后的新设备均需质控编码,以逐步实现全院受控设备的数字化管理。受控设备质控编号即是对受控设备建立检测信息的由计算机编制的质控条形码,每台受控设备对应一个编码,经激光扫描或输入设备质控编号至PDA中即可进行身份识别,查询设备档案信息、使用状态、历史维修记录、历史受控信息及检测记录等。质控编号原则,以心外科的呼吸机为例:HXJ-ZK-001,由系统按顺序自动生成。
合同信息包括:使用科室、设备名称、拟到货日期、规格型号、数量、金额、生产厂家、代理公司。
到货登记包括:送检人(送货人)、送检日期(到货日期)、机身号、生产日期、质控编号、受控类别、检测费用(收入/支出)。
请领登记包括:请领日期、档案号、请领人、联系电话。
质控检测包括:检测报告编号、检测日期、检测人、检测单位、检测周期、检测结果。
对大型医疗设备进行验收质控检测记录中还需登记其配置许可证编号、应用许可证编号、操作人员上岗证等“三证”信息。
当新购买的设备入库后,系统会自动判断该设备为质控检测设备,不需选择,直接从数据库中将质控检测设备导入到质控检测设备基本表中,新验收设备质控检测时的相关SQL
语句为:
CREATE TRIGGER[tg_qual Mea Arc]ON[dbo].[b Equi Arc]
FOR INSERT,UPDATE
AS
begin
declare@equi Name varchar(50)declare@qual Mea Sign
varchar(50)declare@qual Mea ID int declare
@qual Mea Num varchar(50)
declare@equi ID int declare@equi Spell varchar(50)declare@equi Name ID int
declare@arc Num varchar(50)declare@equi Spec varchar(50)declare@model varchar(50)declare@facu int declare@fact int declare@model ID int
declare@fact Num varchar(50)
qui Name,
@qual Mea Sign=vchr Is Measure,@arc Num=vchr Arc Num,
if(@qual Mea Sign='质控')
2.1.2 周期性质量控制检测
周期性质量控制检测的设备包括两类:一类是万元以上已进入设备档案管理信息系统中的设备,这类设备可以通过关键字查询,直接从“军字一号”获取设备的档案信息,质控建档;另一类是万元以下没有进入档案管理的小设备,由质控管理员对该类设备进行档案信息登记和质控建档管理。本软件具有自动提醒功能,根据受控设备所属的受控类别,分别提示该类仪器设备的到期情况,如图3所示。在用的且属于医院自检的受控设备到检测期限时(停用或报废设备不检测),由质控管理员将检测任务进行分配;外检和送检的仪器设备则由管理员及时送检,检测后登记检测信息和填写检测原始记录,出具检测证书。不合格的设备则由质控管理员发出维修通知至维修管理系统中。设备停用或经多次维修、检测仍不合格的受控设备则予以停用、淘汰和报废,同时将设备状态修改为停用或报废,该设备就不会再被计入。但其档案信息、历史质控信息仍可以查看。周期性质量控制检测流程如图4所示。
受控设备档案信息包括:使用科室、设备名称、档案号、规格型号、生产厂家、金额(元)。
受控设备质控建档包括:受控类别、质控编号、机器号、检测周期、检测单位、上次检测日期、上次检测结果、设备状态(在用、停用、报废)、上次检测报告编号、填写上次检测记录。
质量控制检测包括:检测日期、检测人、检测结果、检测费用(支出)、设备状态(在用、停用、报废)、检测报告编号、填写检测记录。
对大型医疗设备质量控制检测信息中还需记录配置许可证编号、应用许可证编号。
关键字:按使用科室、设备名称、档案号、设备号、质控编号查询。
在周期性质量检测时,系统会根据条件查询到所指定要检测的受控设备基本信息及历年检测详细数据信息。相关SQL语句为:
a Basic(true,this.Text);
(efrm Qual Mea Basic_eve Qual Mea);
2.1.3 修后质量控制检测
本系统与维修管理软件相挂接,凡是通过验收检测或周期性质量控制检测后的设备都会在系统中自动生成受控标识,若该设备一经维修登记,系统将自动发送修后检测通知给质控管理员,实现对维修后设备的监控,检测完后该设备的质控到期时间将被重新计算。对维修后经质量控制检测不合格的受控设备质控管理员会再通知维修人员维修,直到检定员检测合格为止;经多次维修、检测仍不合格的受控设备则通知维修部降级、淘汰或报废,质控室及时清理质控账目。修后质量控制检测流程如图4所示。
2.1.4 选型检测管理
选型检测管理主要是针对拟投标或拟采购的设备进行应用质量选型评价的质控检测,其流程类似于验收检测,只是该被检测的设备不会计入到档案库中。
2.2 受控设备检测报告管理模块
检测报告管理包括检定规程与技术规范的上传、下载,检测原始记录的下载、录入、浏览、查询和打印、检测证书的自动生成及打印等,分别就受控设备验收检测、周期检测、修后检测的信息进行查询与浏览。检测报告填写界面如图5所示。
检测原始记录:实现质控检测数据的数字化管理,填写完成后可自动生成Word文档,免去繁琐的手写记录,同时可以添加数字签名以验证记录的法律效应;记录检测信息,检测数据输入后,系统会自动判断检测指标,提高检测效率,这些数据是进行设备应用质量分析的数据基础,说明受控设备的质量运行状况,使用管理情况等,从而找出影响受控设备质量的主要因素,提高设备的合格率和使用寿命,以期对采购的论证选型、维修的质量评估及使用科室合理使用提供参考指标。
2.3 人员管理
对计量、质量控制检测人员及质控监督员建立人员档案信息管理数据库,进行人员档案管理、检定员证、培训记录等管理。
2.4 查询和统计管理模块
受控设备查询与统计是指对常规受控设备的档案信息、检测信息等一些受控指数的统计分析,所有结果均可导入到Excel或是Word中,以便数据处理。
(1)基本信息:可查询受控设备的档案信息、质控检测基本信息及大型医疗设备三证等。
(2)质控汇总:各检测类别中待检、已检、未检、停用、报废、到期及过期设备的数量和详细信息,检测人员工作量,可就全年各受控类别的检测费用支出与收入情况进行统计。
(3)指数统计:可按科室、受控类别及时间等方式,查询统计受检台数、受检率、合格数、合格率、不合格率、检测人员检测工作量统计等。
(4)数据分析:根据质量控制检测的性能参数进行查询和分析某种设备的检测情况(具体参见各检测记录)。通过选择受控设备的品牌或型号进行统计和分析,并对其技术参数进行分析和对比,还可以进行科室受控情况进行统计与分析。
3 总结
卫生装备质量控制管理软件,将设备管理信息系统与质控/计量管理系统结合:将质量控制工作与采购、档案、维修、计量相结合,实现卫生装备全程生命周期(life cycle)的信息化管理。随着总部要求开展的卫生装备质量控制检测项目的不断增加,尤其是X线类等其他设备检测能力的逐步下放,势必会造成检测工作量与难度的加大。本软件的实施可大大减轻质控管理人员的工作量,提高检测效率、有较强的实用性。与设备档案管理系统共享设备档案数据库免于重复录入、直接获取军字一号上的设备信息;界面直观可视,准确及时地反映医院卫生装备质量控制检测工作的实施情况,定时提醒功能确保卫生装备质控检测周期计划的完成、防止漏检;原始记录的数字化,实现真正的质控数据数字化输入管理,可以免去繁琐的手写记录,用数字签名来验证记录的法律效应;更多的统计与分析,在数字化原始记录的基础上,实现数据挖掘功能,通过对受控设备技术参数等检测数据的分析、评价与定期通报,以数据说话,为临床科室科学使用、职能部门有效采购、管理部门监督管控高风险卫生装备等提供参考信息和评价指标,如通过输液泵的检测和临床科室的沟通反馈,从而找出适合我院临床使用的输液管路品牌、规格型号及使用注意事项等,这对于提高在用设备的使用效率和寿命,提高医工科在全院中的地位都起到很好的作用。
摘要:目的:建立医院卫生装备质量控制的全程信息化跟踪管理模式。方法:依据医院卫生装备质量控制的管理流程,将卫生装备的采购、维修、档案、质控等部门通过“军字一号”联网。结果:解决了原有计量管理软件无法对新购进、维修后并要求质控检测的仪器设备进行控制和检测;对使用中设备的应用状态不能进行状态评估、过程监管、质控跟踪、到期提醒,检测数据的深层次挖掘、分析和评价等问题。结论:该管理软件的应用可以大大提高受控设备的检测效率,增加卫生装备的使用寿命和监督管理,从而提高医工科在医院中的地位和作用等。
关键词:卫生装备,质量控制,软件,设计,应用
参考文献
[1]郑焜,谢松诚.医疗设备的循证管理[J].中国医疗器械信息,2009,15(8):41-49.
[2]汤黎明,吴敏,于春华.医疗设备质量控制体系建立的探讨[J].解放军医院管理杂志,2008,15(1):31-33.
[3]种银保,郎朗,黄燕.现代医疗设备管理现状及其发展趋势[J].医疗卫生装备,2009,30(3):86-90.
[4]张金葆,刘文,卢爱国,等.医疗设备质量安全检测体系的建立[J].现代医院管理,2009,24(6):78-80.
嵌入式软件:磨练开发质量 篇11
近年来,因汽车设备中的软件出了问题导致的召回事件时有发生,很多企业都因为产品中软件的质量问题,而对整个业务造成了重大的伤害。对于嵌入式产品来说,产品中软件的质量至关重要。物联网强调的不是一个孤立的解决方案,而是一个更大的系统组件——可以通过定制或者调整来满足个人用户或企业的个性化需求。为了实现这一目标,必须借助软件、微电子原件、传感器和机械技术等创新成果的全面整合。
嵌入式软件系统结构越来越复杂,嵌入式软件的开发也变成复杂的系统工程。早期的嵌入式系统开发者多是电子工程、自动控制等领域的工程师,软件基本上都是用汇编语言实现的。近年来,随着物联网的发展,嵌入式系统的功能要求也越来越多样化,而安全性、可靠性、响应速度、功耗等要求也越来越高,从软硬件系统与平台选择、设计、开发到测试与集成,整个过程都是软硬件并行交互进行的,因此,嵌入式软件开发已经成为一项很复杂的系统工程,其开发必须遵循系统工程和软件工程的要求。
IBM软件集团Rational全球系统平台开发及嵌入式系统副总裁Meg Selfe表示:“企业在打造软件开发与交付实力时,不仅要着眼于功能创新,还应以系统工程的视角,使得软件构件与日趋复杂的电子、电气、机械等子系统智能融合,并且与其他智慧的系统实现高度互联,软件开发环境和平台正是实现软件创新的基础。以汽车行业为例,通用汽车基于Rational平台上进行软硬件的开发,从设计到上市仅用了29个月。而在过去,这样的新车项目需要花费5到10年时间才能投放市场。”据了解,众多国内汽车厂商正在采用Rational产品来开发嵌入式应用程序,用自主创新的信息技术更好地管理客户和市场需求,并进行建模编程,完成自动化的功能测试,用户可借助Rational的软件开发技术有效实现开发过程中的投资回报最大化。
据了解,IBM在嵌入式方向关注五个重点领域,即汽车、飞机航空、电子业、核电等能源行业、电信行业,分为产品本身的发展、产品与产品之间的互动,以及系统上的系统这三个层次。Rational以Jazz平台为基础的协同和集成软件平台为嵌入式软件开发提供了一个良好的交付平台,它有助于企业专注于软件开发,创造出更加强大的差异化功能。此外,Rational还提供了一些重要的系统工程解决方案,比如需求工程、整合变更管理、模型驱动系统开发和产品组合管理等,帮助企业更好地管理软件开发的成本与交付时间,确保制造商在正确的时间将产品推向市场。
在复杂的嵌入系统软件开发过程中,好的软件开发方法和软件治理手段对提高产品的质量是非常必要的。因此,嵌入式软件开发必须磨练内功,才能跟上瞬息万变的信息化社会步伐。
联联看
广东物联网实施意见出台
广东日前正式出台了《关于加快发展物联网建设智慧广东的实施意见》,进一步细化了未来广东在加快物联网发展及推动智慧广东建设方面的内容和措施。目前,广东正在重点实施智慧广州、智慧深圳等智慧城市试点,和智慧南海、智慧石龙等智慧城镇试点。
对于“十二五”时期物联网的发展目标,《意见》表示,到2012年,广东物联网产业总产值超1000亿元,规模以上企业超过1000家,发明专利受理和技术标准超过1000项,机器对机器(M2M)应用终端数量超过1000万台。到2015年,在无线射频识别(RFID)、传感器、短距离无线通信和网络、M2M和嵌入式系统等重点设备制造领域将建成一批产业集群,形成国内重要的产业基地;培育一批在国内具有较大影响力的系统集成企业,扶持一批具有创新商业模式的网络运营服务企业,集聚一批具有自主知识产权、占领技术高端的创新型企业。
《意见》指出,在技术方面,将重点突破物联网芯片、RFID、光纤传感、各种传感器融合、嵌入式智能装备、物联网IP组网等关键技术,以及物联网的相关标准、交换接口、信息安全、云计算协同等共性技术。
《意见》表示,将选择一批技术先进、带动和支撑作用强的物联网重大项目纳入广东省重点项目规划和年度实施计划,并大力推进实施。充分利用现有战略性新兴产业、产学研、技术改造、现代服务业等财政专项资金,支持物联网发展。同时,支持物联网核心技术研发和产业化,开展公共服务平台建设,扶持物联网重点项目应用试点。
在广东,汇集着一大批与物联网产业相关的信息技术产业的上市公司,包括东信和平、远望谷、中兴通讯、长城电脑、飞马国际、怡亚通、沃尔核材、粤富华、长园集团、智光电气、科陆电子、远光软件、广电运通、御银股份、超声电子、世纪鼎利、达华智能等。
物联网产业“十二五”规划构架已成型
物联网“十二五”规划课题组核心成员日前透露,由工业和信息化部主导的《物联网产业“十二五”规划》已完成起草工作,现已进入最后论证阶段,其基本构架已成型。
根据国家“十二五”规划纲要,智能电网、智能交通、智能物流、智能家居、环境与安全检测、工业与自动化控制、医疗健康、精细农牧业、金融与服务业、国防军事是物联网产业重点发展的十大领域,《物联网产业“十二五”规划》或将对这些领域给出针对性的专项规划。
软件质量与软件测试 篇12
近年来, 电能质量问题引起人们的普遍关注[1]。面对海量电能质量监测数据, 开展相关数据挖掘研究工作, 开发针对全网的电能质量高级应用分析, 为电网的安全可靠运行提供数据和技术支持, 是今后电能质量监测系统的发展方向。
目前, 国外已形成了包含数百乃至成千个电能质量终端的电能质量监测网络, 对主网、配网、用户的电能质量问题进行监测、分析, 为电能质量相关工作提供数据、辅助决策等服务[2]。国内的北京、上海、广州、深圳等地的供电局也纷纷建立了以数百个电能质量终端为基础的电能质量监测网络。为了进一步利用这些监测数据对电网电能质量问题进行有效的管理, 有必要开发配电网电能质量检测与高级分析软件系统。国内外学者对高级应用系统的研发做了许多理论上和实践上的尝试, 由于系统的研发涉及到了谐波潮流、谐波源定位和电能质量综合评估等难题, 目前只有美国开发的电能质量诊断系统有类似的功能。但该系统只实现电能质量数据的采集、管理, 系统仿真, 以及电能质量综合评估, 不能实现谐波潮流及谐波源定位等高级功能[3]。目前国内还没有建设相关的电能质量高级分析平台的报告。
本软件平台结合的研发具有一定的开拓性意义, 对其他地区的配网电能质量检测与分析平台的构建具有重要的推广借鉴价值。本系统软件设计的基本思想是在配电网计量自动化系统的基础上进行二次开发, 充分利用东莞配电网中3万多个监测终端的丰富的数据, 进行全面、深入的配网电能质量分析, 提供相关管理、分析、治理工作的数据支持。
1 软件平台的设计与实现
1.1 总体设计
本平台软件总体结构如图1所示。软件平台主要包括数据接口模块、数据库模块、基础应用模块和高级应用模块。其中高级应用模块包括以下子模块:电能质量智能评估模块、谐波源定位模块、谐波潮流计算模块、低压脱扣器动作特性分析模块。
1.2 技术路线
本软件平台的开发在综合考虑了系统的可实现性、未来的可扩展性和系统性能的基础上, 选择了基于J2EE的标准化轻量级架构。平台采用的技术路线具体如下。
(1) 技术平台:基于J2EE, 5层框架结构。
(2) 技术框架:采用轻量级高性能的Spring框架。
(3) 数据库:采用最为通用的大型关系数据库Oracle10g, 在数据库设计中, 严格按照数据库第三范式原则, 具有良好的扩展能力。并使用高性能的类型作为关键字段, 并且对所有的关键字段进行索引, 严格控制每一个服务调用的SQL数量, 使系统性能得到全面提升。
(4) 表现层:采用flex技术, 这种分层结构的各层次之间功能独立且耦合度低, 利于客户并行开发;采用组件化封装, 面向接口开发, 实现关键应用功能重用;通过统一的接口框架, 降低各个应用的接口封装代价, 使客户开发代价降低。
(5) 运行模式:纯B/S模式。
(6) 扩展接口:基于Web Service的服务接口, 采用XML的数据传输格式。结合PQDIF数据结构格式, 把各硬件厂商的采集数据转成一种较为通用的数据格式, 并具有良好的扩展性, 为以后新硬件厂商的接入提供了规范标准并大大降低了开发的成本。
(7) 安全架构:符合JAAS的安全架构。
(8) 高级应用模块的开发:应用VC++语言进行开发, 生成独立的DLL供平台调用。
2 核心算法的研发
2.1 基于纵横向区域配电网电能质量智能评估算法
本平台应用的电能质量评估方法包括:等权重电能质量评估、基于熵权和AHP的电能质量模糊评估方法、基于模糊理论与层次分析法的电能质量综合评价方法、基于纵横向拉开档次法的区域电网电能质量时序动态评价。前三种评估算法在相关文献[4-10]中已有详细的介绍, 在此不再重复。下面重点介绍基于纵横向拉开档次法的区域电能质量动态评价算法。
本评估算法有以下优势:既在“横向”上体现了在同一时段内各大系统运行状况之间的差异, 又在“纵向”上体现了各系统在不同时段的总的分布状况;由整个系统运行状况波动情况而确定的时序动态权重实现了系统评价值之间的直接比较, 极大的方便了对系统发展趋势的判断和基于系统动态运行状况的决策活动;最小方差法对各个变电站大系统在各个分时段内的时序动态评价值的加和使得各个时间段的数据对评价结果产生不同程度的影响, 而且由最小方差法确定的时间权向量相比于其他方法确定的时间权向量而言, 最终系统的时序动态评价值排序有更好的稳定性。本评估方法算法的计算流程如下。
(1) 通过指标一致化处理将各个电能质量指标转换为极大型。假设有1个待评价的变电站系统S={S1, S2, …, Sl}, 每个变电站系统包含两层指标, 其中第一层指标系中包含m个待评价指标子系统X={X1, X2, …, Xm}, 第一层指标系中每个指标子系统与第二层指标系中n个指标相对应, 这n个指标构成的指标集为F={F1, F2, …, Fn}, 共有s个待评价时期集T={T1, T2, …, Ts}。某变电站系统中第一层指标系中第i个指标子系统Xi在第Tk时期第j个评价指标Fj下的指标值为akij。若果指标j为效益型指标, 即指标值越大越好, 则
如果指标j为成本型指标, 即指标值越小越好, 则
其中, bkij为所得经过指标一致化处理的监测数据。本文所采用指标体系中, 除功率因数和相移功率因数外均为极小型指标。
(2) 计算指标的综合权重。设专家关于评价指标xk-1与xk的重要程度之比wk-1/wk的理性判断分别为
若专家给出rk的理性赋值, 则
由wk得出其他指标的权重为
定义序列综合法所确定指标主观权重为 (w′1, w′2, …, w′m) 。经过指标一致化处理的某层指标的时序立体数据表为{Ak}, 然后计算{Ak}的最大特征值所对应的特征向量, 即为该层指标所对应的客观权重, 定义客观权重为 (w″1, w″2, …, w″m) 。定义最终某层指标的权重为 (w1, w2, …, wm) , 则有
(3) 第一层子系统评价。根据序列综合法和纵横向拉开档次法由指标一致化处理后的时序立体数据表{Ak}计算得第二层指标的综合权重值, 然后根据线性加和的思想计算出第一层子系统各子系统各个时段的时序动态评价值。
第一层指标子系统的综合评价函数为
其中:yi (1, k) 为第一层指标中第i个指标子系统在第k个时段的时序动态评价值;wij (2) 为与第一层指标i相对应的第二层指标j的综合权重值;bkij为经过指标一致化处理的对应于第一层指标i的第二层指标j在第k时段的监测值。
(4) 变电站大系统的评价。根据线性加权思想, 大系统的综合评价函数为
其中:yp (k) 为第p个变电站大系统在时段k内的时序动态评价值;wi (1) 为第一层指标子系统中指标子系统i所对应的综合权重。
(5) 最小方差法加和变电站大系统各个时段的电能质量时序动态评价值。确定时间权向量W= (w1, w2, …, ws) T是动态评价的关键问题。在这里用最小方差法来确定时间权向量。
式中, λ称为时间度, 时间度的大小体现了算子集结过程中对时序的重视程度。
wj*=n-1n-jw1+n-1j-1wn (当j∈{2, …, n-1}) (12)
定义由以上最少方差法所确定的时间权向量为 (w1, w2, …, ws) , 则各个变电站大系统在某时段内的时序动态评价函数为
其中:yp表示第p个变电站大系统的最终的时序动态评价值;wi为由最小方差法确定的第i时段的时间权重;yp (i) 为第p个变电站大系统在时段i内的时序动态评价值[11]。
2.2 基于计量自动化系统的谐波潮流计算算法
电力系统中谐波源主要是一些用电设备和部分变压器的励磁支路这些谐波的源的产生的谐波电流基本上只决定于它们的工作条件和外加电压, 与外电路的阻抗无关。因此往往将这些谐波源看作内阻抗无穷大的恒电流源[12,13]。在实际计算中大部分谐波源是三相不对称的, 本算法把谐波源等效为三相不对称的恒电流源, 并分解为正序、负序、零序三相对称的分量。把电力系统中各元件认为是三相对称的, 其正、负、零序网络不存在耦合关系, 则各序网络具有独立性的特点, 分析计算可以得到简化。本谐波潮流算法计算步骤如下。
(1) 设计计量自动化系统的接口数据库, 实现对计量自动化系统数据的在线读取。
(2) 通过接口数据库读入计量自动化系统三相谐波电流的监测数据, 把三相谐波电流数据转化为正、负、零三序数据。
(3) 读入配网各组成元件的基波网络参数, 利用各元件的谐波参数模型, 对配网网络接线图进行拓扑分析, 形成配网的正、负、零序谐波潮流节点导纳矩阵。
(4) 由网络方程求解各节点谐波电压
式中:Ih (1) 、Ih (2) 、Ih (0) 分别为谐波源的正负零序分量;hY (1) 、hY (2) 、hY (0) 分别为系统的正负零序谐波导纳矩阵;Uh (1) 、Uh (2) 、Uh (0) 为待求的各节点谐波电压正负零序分量。
为了进一步提高程序的计算速度, 减少内存占用, 本算法在处理矩阵计算中使用了稀疏技术, 并对各节点进行半动态排序。本算法计算精确度高, 计算速度快, 可以实现在线的谐波潮流计算。
2.3 基于负荷分类和负荷容量的下级谐波源查找技术
传统的谐波源定位算法主要解决谐波污染责任在电网侧还是负荷侧的问题[14]。然而, 在配电网的电能质量管理工作中, 真正困扰管理人员的问题, 发现主变变低存在电能质量问题后, 由于馈线数量多达十余条, 用户多达数十个, 需要快速地从中找出真正的污染源。为了解决这一问题, 在系统研发过程中提出了谐波源定位方法是基于负荷分类和负荷容量的下级谐波源查找技术。下面对该技术进行详细介绍。
一般而言不同的负荷, 在同等容量下, 其谐波注入电流的期望值有很大的差异, 令所有负荷的平均谐波注入电流的期望值为1, 则不同的负荷的谐波注入电流的期望值可定义为该负荷的谐波风险值, 比如化工类负荷可定义为6, 商贸类公司的谐波风险为2等等, 这些数据是通过对大量的实测数据整理而来, 并随时更新, 保持对各行业动态的紧密跟踪。同时, 负荷的容量也是极为重要的因素。一个谐波畸变率很高的负荷, 如果容量很小, 也很难成为馈线谐波污染的主要威胁。因此在分析计算时, 必须把负荷类型的谐波风险和负荷容量同时加以考虑。
每条馈线的谐波污染的风险可定义为其谐波注入电流为Ihi的期望值, 每条馈线下接入有n个企业, 每个企业接入的总容量为Sik, 其谐波风险定义为pik, 则每条馈线的谐波注入电流Ihi的期望值为
式 (15) 表明, 每条馈线的谐波注入电流大小的期望值等于馈线上所有负荷的谐波风险和其容量乘积的总和。根据已知的负荷类型与容量, 计算出各条馈线的谐波风险。
将每个行业的谐波风险定义为一个比值, 定义所有行业的谐波风险平均值为1, 则各类行业的谐波风险 (同等容量下) , 为该行业注入的谐波电流平均值和社会全行业注入谐波电流平均值的比值。按照此方法计算后, 产生谐波可能较大的化工类、水处理类行业风险6倍于全社会各行业谐波风险, 市政类的谐波风险为2倍, 食品类行业的负荷多为加热类负荷, 比平均值要低等等。
为了获得东莞配电网谐波第一手详细调查数据, 对东莞地区典型重要污染谐波源进行大量的谐波实地测量 (本次调查历时两年时间) 。在获取了实际的谐波检测数据后, 对数据进行了科学的分析。并总结了东莞各行业的谐波风险系数, 由于篇幅所限, 表1只给出了部分行业的谐波风险系数所示。
3 软件平台的应用
软件平台的风格符合电力软件的要求, 其操作界面友好, 实现了实用性和美观性的统一。本平台已经在东莞配网实际运行, 运行效果良好, 改善了东莞配网的电能质量问题。由于篇幅所限, 只给出本软件平台实际应用过程中的部分截图 (图2~图5) 。
4 结论
本平台对其他地区的配网电能质量监测与分析系统的建设具有以下三点推广借鉴价值:
(1) 进行平台开发时, 可以利用电网现有的计量自动化系统对配电网在线电能质量数据进行采集, 而不需要另外购置电能质量监测终端。这样可有效减少了开发成本, 缩短开发周期。
(2) 本软件系统提出的技术路线具有一定的通用性, 对其他类似的平台系统的开发有重要的借鉴价值。
【软件质量与软件测试】推荐阅读:
软件质量与测试08-26
软件质量提高07-20
质量控制软件08-23
软件质量保证07-10
软件项目过程质量09-26
软件测试质量管理05-29
软件质量度量研究分析07-26
软件项目产品质量管理07-28
军队财务软件质量问题08-09
软件项目的质量管理09-19