1
引言
随着信息技术的发展,软件的规模不断扩大,如何保证软件开发的成功率和提高软件质量成为软件界最为关心的问题之一。目前软件开发的现状是:
软件开发规范不统一、过程混乱、沟通不畅、进度失控、成本超支,从而影响软件质量,严重时可导致项目被迫取消。造成这种结果的原因,
很大程度上不是技术原因,而是开发过程控制问题。
美国国防部曾立题调查,70%的项目因为管理不善而失败。国内对软件过程理论的讨论与实践正在展开,
目标是使软件质量管理和控制达到国际先进水平。
软件工程协会(SEI)提出的软件能力成熟度模型(CMM)为软件开发过程提供了一套全新的评判准则,CMM
成为许多领域评判一个软件组织的软件开发过程是否成熟可靠的非常流行的手段。
针对我国国内软件开发组织能力普遍偏低的现状,并基于CMM 模型,我们设计并开发了一个软件质量保障平台,
其目的是帮助软件开发组织很好地管理软件开发过程,确保软件质量,提高软件生产能力,提高我国软件产业的国际竞争力。
2 软件开发过程特征提取
软件开发过程,是把用户的要求转变成软件产品的过程,是一组有组织的活动。人们对于质量的观点,已从只注重结果,转变为注重软件体系和软件生产过程的观点。
CMM 标准在其第一级的改进方向中便提出“开展软件质量保证活动”,其核心就在于通过提高软件组织的软件过程能力来提高软件质量。在CMM
定义中,各种过程均是以活动元素为单位组织起来的,为了有效改进软件过程,就需要透彻地分析过程中相关的元素,提取重要特征。
2.1 角色关系
软件开发过程中, 组织中的人员总是以特定的角色展开工作。一个软件项目的开发,如果要确保整个业务的顺利运作,就必须需要一个全面的解决方案,能实现各角色的合理分工和协作,
以保障所有的业务目标———用户的、各个部门的、自身的———都能够实现。同时,不同角色的分工、配合是有着一定的时序关系的,
只有合理的时序关系才能确保有效的开发流程并保障最佳的权限和职责管理
从权限的角度来区分,基本可以包含以下几类角色:
- 总经理:从一个高水平上总体了解项目的运行状况;
- 项目经理:负责管理开发项目。完成角色计划、管理和分配资源,确定优先级,协调用户的交互等工作。同时也要建立一系列的实践活动以确保项目工作产品的完整性和质量。优秀的项目经理需要的素质,并不仅在于会使用几种软件或是了解若干抽象的方法论原则,
更重要的在于从大量项目实践中获得的宝贵经验,以及交流、协调、激励的能力;
- 开发人员:通常负责设计和实现可执行的代码方案、测试开发出了的组件和分析运行时情况以去除可能存在的错误。有时开发人员还负责创建软件的体系架构或者使用快速应用开发工具;
- 系统测试人员:负责制定测试计划并依照测试计划进行测试。对于一般的软件开发组织,其角色的分工协作、时序关系以及角色间流动的数据,
所有角色对应的活动组织成一个完整的定义过程,活动之间有着时间上的顺序关系, 也有着数据的流动关系。这种有序的协作方式以稳固的业务实践为优势,为项目完整地开发周期建立了有效的监控机制。
2.2 度量数据
CMM 中比较强调用数据说话,对项目过程中基本上所有的数据都会有记录,
最后把收集的数据提交质量保证部门进行分析,以改进流程。数据收集包括各种评审数据、测试数据以及项目组员每天的活动数据等。
项目经理也要维护一个项目档案,在这个项目档案中包含了项目开发过程中所有的产出、开发活动、管理活动等的记录,从而完整地了解这个项目的开发过程。汉弗莱在《团队软件过程》中指出:准确的项目跟踪需要详细的计划和精确的数据;
要最大限度地缩短周期时间,软件工程师必须平衡工作量;要最大限度地提高生产率,首先必须聚焦质量。可见,对于一般的项目管理,需提供的度量要素包括:
对项目进度的度量
对单个任务、阶段、项目总体的进度的度量,以及偏差的分析,使管理者对实际的软件项目进展过程有足够的了解,以在项目效能偏离计划太多时采取有效措施。
对项目工作量的度量
对不同任务类型、不同阶段、不同人员的工作量进行度量分析。因为软件开发人员各不相同,要追求最大效率,软件开发人员必须计划其工作并将计划建立在个人的数据基础上;
对项目质量的度量
建立对软件产品质量的定量了解和实现特定的质量目标。软件质量管理涉及确定软件产品的质量目标,
制定实现这些目标的计划,监控及调整软件计划、工作产品、活动和质量目标。
度量指标包括:各阶段缺陷的注入率、缺陷的排除率、以及缺陷原因/缺陷类别等参数的度量分析。
3 质量保障平台设计
3.1 功能组成
质量保障平台的应用功能是面向整个开发团体的, 但由于角色和职责的不同,每个人员对于平台的操作权限也是相应变化的。例如:项目经理主要完成系统管理、人员安排、任务分配、绩效评价等工作;
开发人员、需求人员、测试人员等应完成自己所承担的任务,并填写每日上报的数据。该平台的功能组成具有以下特点:
1.各组成功能的执行与数据的采集、流动互相依赖,环环相扣。例如:需求数据作为项目经理执行任务分配功能的依据;而开发人员每日汇报的工作数据和缺陷数据作为人员绩效评价功能的依据;
同时,测试和缺陷数据又作为了软件质量评价的依据;经过分析统计的进度数据可以作为项目计划调整的依据。最终,
项目经理对项目总体进展状况进行了解的渠道是各项数据的综合分析及统计。
2.功能结构与人员身份相对应。不同的用户身份决定了不同的功能组成,对于某一用户来说,与其所承担角色无关的功能模块在应用中是隐藏的。例如:对于普通开发人员来说,需求管理、测试管理、缺陷管理的功能模块都是隐藏的、不可操作的功能,除非他在项目组中同时还承担其他角色,那么他才会具有其他角色所对应的功能权限。
3.2 系统流程
随着客户对软件系统的要求越来越复杂, 开发建立这些系统的流程也随着变得更复杂。保障平台提供一个整合的、主动的应用管理流程,使开发组织及高层领导对于运行在复杂的、分布式环境中的应用可用性和项目状态有一个全面的了解,
并实现全面的控制。它提供了在开发机构中分派任务和责任的纪律化方法, 其目标是在可预见的日程和预算前提下确保满足最终用户需求的高质量产品。
这种流程化的软件生命周期管理具有以下优势:
1.开发阶段顺利衔接:打破开发各阶段的隔膜, 实现生命周期各阶段间的合作与信息共享。新人员加入的熟悉时间会大大缩短。
2.减少管理的工作量:保障平台为应用生命周期的专业知识与最佳实践提供了很大的便利。原来需要开发人员或支持工程师来做的大量管理工作,现在通过平台的应用可以简单完成,开发人员再也不必被那些琐事所打扰,他们可以集中精力去做自己的事,必要的管理工作可以由工具自动完成。
4 结论
本文作者创新点在于:以CMM 模型为指导,设计并开发了一种基于过程控制的软件质量保障平台,
用以支持项目管理者进行计划、跟踪、协调、检查、控制等管理工作
保证开发人员按照已定义的规范项目开发过程进行项目开发工作,并构建项目声干扰的正常心律心电信号。对于这八组心电信号,我们分别采用小波包理论和小波理论两种方法,通过R
波的误检率来进一步验证上述论断。
5 总结
本文利用小波包变换模极大值法检测ECG 信号中R 波,这种方法具有如下一些特点:
(1)利用小波包变换理论对信号作分解时,高频和低频部分都被进一步分解,
这使得即使在有严重的基线漂移和噪声干扰的情况下,也能较准确地实现R 波的定位
(2)具有较高的定位精度和良好的实时性。本论文的创新点在于:在心电信号R
波的检测算法中采用了对信号具有更加优良分析效果的小波包算法,通过Matlab 实验仿真验证了这种方法的优良性能,
并对检测结果给出了更为直观的图形表示。 |