软件质量控制

前言:寻找写作灵感?中文期刊网用心挑选的软件质量控制,希望能为您的阅读和创作带来灵感,欢迎大家阅读并分享。

软件质量控制

一、进度管理流程

如下图所示:

进度管理流程

流程说明:

制定项目进度计划

主要过程

由项目管理小组组织制定项目进度计划。

项目进度计划由项目管理小组提交给项目领导小组审批。

过程的要点:

虽然是由项目管理小组主导项目进度计划的制定,但是项目领导小组和有经验的技术人员是要参与项目进度计划的制定过程的。

审批项目进度计划

项目领导小组负责审批项目进度计划,项目领导小组通常是以项目进度计划审批会议的形式共同商讨是否批准项目进度计划的实施。当所有项目领导小组成员一致确认项目进度计划通过审批后,才最终批准此项目进度计划的实施。

审批考虑的方面主要包括:

是否满足客户明示的要求;

是否满足本项目的项目目标;

进度安排是否合理、可行;

是否具有满足需要的资源配备水平;

进度控制

主要过程

每周由负责汇报工作开展进度的人员将工作开展的情况以报告的形式汇报给项目管理小组。

质量管理小组根据接收的工作开展情况的汇报,分析项目的进度。判断项目的进度是否处于可控的范围。

如果项目进度处于可控范围内,则整理出项目进度报告并汇报给项目领导小组,让其了解整个项目进度情况,对项目的进度进行监控。

如果项目失控,向相关的项目执行人询问情况,对问题进行处理,根据实际情况修改项目进度计划,并交于项目领导小组审批。

过程的要点

判断项目进度是否失控:项目管理小组根据工作进展情况报告,采用挣值法(EVM,EarnedValueManagement,是用来度量项目执行绩效的一种最常用的方法。EVM把项目执行的计划值和挣值进行比较,以测定项目的成本和进度执行绩效。下同)和关键路径法,判断实际进度是否落后于项目计划进度,落后的程度是否在之前设定的可控范围内。

进度报告的内容包括:项目的实际进度;与项目的计划进度的比照;分析项目的开展情况;总结项目开展过程中遇到的问题,对问题的分析以及应对的措施。

在项目实施过程时,在我公司进行前期的代码开发,根据客户要求,在每周的固定时间以周报的形式进行汇报,周报的主要内容为每周的开发进度,以及在开发过程中碰到的问题。

在每个阶段都应有一个阶段性的汇报,主要是汇报项目的整体进度与演示已完成的系统的功能,并听取客户意见进行修改。

在项目实施的后期阶段,为了保证系统的测试、调试和验收的顺利进行,将会在客户现场进行系统测试、调试以及验收工作。

二、人员投入

二、项目质量保障措施

1.质量保障体系

为了向客户提供高品质的软件产品,我们采取了强有力的措施来保障软件的品质。公司依据ISO9001和CMMI的规范以及有关规范,并结合科研生产单位的实际以及自身的特点,制定了一整套详尽实用的质量管理措施并使之规范化,包括技术标准、质量手册、安装操作规程等并予以严格执行。

2.质量管理体系

(1)严格按照系统的实施方案和该项目的质量保证体系进行实施,建立和健全项目质量管理体系,并使之保持有效运行。其目的在于使全员、全面、全过程地重视质量,提高质量意识,严把质量关。

(2)做好技术准备工作,技术将深入到具体操作手册。严格按照设计要求、软件技术规范和用户、总工程师的指令施工。如果发生质量事故,及时向有关部门迅速查明原因,制订对策,并及时处理以免造成更大的返工。

(3)选用正版软件平台和世界先进的优质可靠应用软件,并提高软件人员的编制质量,做到“精简、实用、灵活、可靠”。

3.统一的软件开发流程

流程重于项目,要保证项目的质量,首先必须有一个规范、有效的开发流程。保证每个开发阶段的品质,从而保证了整个软件系统的品质。

4.完备的软件文档规范

做到有法可依。我们参照了RUP和国际知名公司的文档规范,制定了我们的文档规范。对系统中出现的文档进行详细的规范,保证每份文档都符合要求。

5.明确的岗位职责

针对项目开发过程中的所有技术、管理岗位,进行了明确的岗位职责描述。并对每位员工进行系统的培训,使其明确自己在项目中的位置和职责,从而使项目中职责明晰,提高项目开发的效率。

6.严密的系统测试

系统的测试是保证软件品质的重要一环。我们制定了详细的软件测试计划和测试案例,按照计划和案例对系统进行完整的测试。并制定了测试的工作流程,将Bug最大限度地减少。

7.规范的项目管理

项目的管理是公司项目开发经验的积累,对项目前、中、后的文档进行详细的归档,可以为将来的项目提供详尽的依据,不断地在项目开发中发现问题并解决问题,逐步提高项目开发的水平。

8.质量保证体系

工程建设质量保证体系应遵循国家相关的法律、法规及标准制定,如《GB/T8566信息技术软件工程生存期过程》、《GB/T12504-90计算机软件质量保证计划规范》等。

9.质量控制措施

质量控制工作的目的对本项目的实施过程规定各种必要的质量控制手段,以保证项目组所交付的产品能够满足招标书中规定的各项具体需求,同时提供适当的项目可视性评测文档,能够对项目执行的各个阶段有客观的、量化的了解和认识。

10.制定质量保证计划

SQA人员在参与制定项目策划的同时制定软件质量保证计划。

软件质量保证计划应包括如下内容:

(1)明确质量保证的目的、范围及质量保证计划与其它项目计划的关系;

(2)描述软件质量保证的组织、权限和责任;

(3)描述质量保证人员如何参与支持项目策划和开发活动;

(4)确定SQA人员实施评审的过程,其中应写明需要评审的过程、该过程的进入退出条件以及评审时需要的相应检查列表;

(5)确定SQA人员实施审计的工作产品,其中应写明需要审计的工作产品及审计时所需规范;

(6)制定有关处理不符合项的规程;

(7)确定SQA人员向相关小组汇报有关活动的方法和频度;

(8)制定项目SQA活动的进度表;

(9)SQA组的资源需求(包括人员、工具、设备、设施和培训);

(10)软件质量保证计划编写完成后,应与其他项目计划一道进行审批;

(11)批准后的软件质量保证计划应通知到所有相关的组和个人。

11.制定项目计划

软件质量保障活动在项目一启动时就要开始,在策划阶段SQA(质量保证人员)要与项目组通力协作,并在需要时给项目组提供指导和帮助。

当项目与质量管理部为项目所属的部门经理下发《任务通知书》后,项目与质量管理部经理可与项目所属部门经理协商确定项目的SQA人员。项目所属部门经理应根据项目的规模和具体情况指定一个或几个具有相应资格的人员来负责项目的质量保证工作,SQA人员应满足以下要求:

(1)必须独立于项目之外。

(2)必须具有向高层经理报告的渠道,这个渠道应独立于项目负责人、项目软件工程组、软件相关小组等。

(3)SQA人员应接受执行项目SQA活动所需的培训,培训可包括:

a.软件工程组和其它软件相关组的任务和责任;

b.用于软件项目的标准、过程和方法;

c.软件项目的应用领域;

d.软件质量保证的目标、过程和方法等。

(4)SQA人员应组织项目组成员接受有关SQA组的任务、职责、权限和作用等方面的培训:

a.以本程序文件和项目质量保证计划中描述的SQA的过程作为培训的基础;

b.在项目计划期间,SQA人员应根据项目组本身的特点制定与之相适宜的具体的培训过程。

当项目进入策划阶段,SQA人员首先应验证相关的标准和规程已到位并可用于评审和审计软件项目。在客户需求获取阶段,SQA人员应参与对客户需求的评审,并作为CCB的成员参与对项目需求基线的审批。

SQA人员还需帮助项目负责人针对项目的具体情况对公司的标准软件过程进行裁剪,协助项目负责人定义项目的软件过程,为工作产品确定验收标准,并参与项目计划的制定。当项目计划制定完成后,SQA人员还要验证项目计划的可行性。同时SQA人员也可提供项目组所需的技术支持。

SQA人员要确保项目策划过程的有效执行,并检查这些活动与相关程序文件要求的一致性。

12.制定软件系统测试﹑考核制度

(1)拟制测试大纲,并严格按测试大纲进行系统测试;

(2)详细记录系统测试过程,并保留记录。对于测试中发现的问题认真记录并形成问题报告。指定专人对问题进行跟踪、解决;

(3)系统测试后,检验人员要依据检验规范写出检验报告,保证产品满足用户的要求。

13.促进同行评审的实施

当需要进行同行评审的工作产品完成后,SQA人员要根据《软件开发计划》中的日程安排,提前2天,采用如发E-mail的方式提醒项目负责人及时准备对工作产品进行同行评审。同时还要协助项目负责人进行同行评审,SQA人员应监督整个评审活动,必要时可为参加同行评审的人员进行培训。

多数情况,项目负责人都会指定SQA人员在同行评审中充当主持人,其职责基本包括:

(1)与被评审的产品作者建立联系,协商、组织同行评审;

(2)制定同行评审计划,参与制作同行评审检查表;

(3)检查参加评审的人员是否为评审做了充分的准备;

(4)在评审过程中,确保评审会的焦点放在对工作产品缺陷的识别上;

(5)确保所有发现的缺陷都被记录并在工作产品审批之前得到解决;

(6)在同行评审结束后,SQA人员作为主持人应对同行评审的数据进行收集、整理、分析。

14.协助统计、分析项目质量数据

(1)数据分析的策划

在项目策划阶段,SQA人员应与项目负责人和相关人员一起根据公司的度量要求、公司标准的软件过程确定项目的软件过程和项目的质量目标,从而确定出在项目过程中需要收集哪些度量数据,它们是否对这个项目有价值。主要应确定以下内容:

a.项目所需的度量数据;

b.度量数据应在项目的哪些阶段产生;

c.度量数据收集的方式和频度;

d.度量数据分析的方法;

e.数据结果存储的方法。

讨论确定出的结果应反映在《软件项目度量计划》之中。

(2)数据的收集

在软件的实施阶段,SQA人员应协助项目负责人收集所需的度量数据,确保所收集的数据是计划中所需的,并且对于数据的分析是充分的。这些度量数据包括同行评审产生的数据、软件测试缺陷、项目的规模、成本、进度等数据。

(3)数据的分析

SQA人员协助项目负责人根据所收集到的数据和计划安排进行度量数据的分析,可采用GQM(Goal-Question-Metric)的分析方法。

报告结果

(1)SQA人员确定报告评审结果的时机及报告对象。SQA报告的种类及报告时机和频度见下表:

表8.2-1报告的种类及报告时机和频度表

(2)工作产品审计报告分两类,一类是对重点产品单独发布审计报告,比如项目计划、软件需求分析报告等。另一类是按阶段发布,比如对详细设计文档、源代码的审计报告。因为SQA对每个产品都要审查和批准,发现的问题会及时反馈给作者。所以,工作产品审计报告只是对阶段产品问题的总结。具体分类如下表:

表8.2-2报告的种类及报告时机和频度表

(3)在每次过程评审和工作产品审计结束后,SQA人员应编写《过程评审报告》《工作产品审计报告》,记录发现的不符合项及解决措施,同时可通过配置管理工具或E-mail等形式将报告发布给相关的人员。

(4)当评审过程中发现的不符合项在项目组内部无法解决时,SQA人员应向项目负责人所属的部门经理及质量管理部经理提交《不符合项报告》。

(5)SQA人员每周应向项目负责人及质量管理部经理提交《SQA状态周报》,汇报SQA人员的工作及项目遇到的问题和风险。

以上所有报告完成后都应受到版本控制。

15.处理不符合项

(1)在每次进行过程评审和工作产品审计时,如果发现存在不符合项,在评审结束后,SQA人员负责在评审报告中总结发现的不符合项,然后通过访谈、会议的形式与项目负责人及相关的项目组成员讨论,澄清发现的问题。

(2)如果双方共同认为发现的不符合项没有影响项目的质量,可以选择不作更改。没有必要更改的不符合项可以认为通过;如果双方确认发现的不符合项影响项目的质量,项目负责人应和SQA人员确认不符合项的严重程度。一般我们将不符合项分为:

严重不符合项:严重影响了产品的质量或后续阶段的工作,并且不及时纠正会带来较大的风险。对于严重不符合项项目组应在3个工作日之内予以解决。

一般不符合项:对产品的质量或后续阶段的工作有一定的影响,必须得到纠正。对于一般不符合项项目组应在5个工作日内予以解决。

(3)项目负责人根据不符合项的严重程度提出解决办法,并得到SQA人员的认可。解决办法一般包括以下三种:

改进项目的实施过程或修改工作产品,使其符合适用的组织标准;

修改组织的标准使其满足项目的实施过程或工作产品;

在特殊情况下认可不符合项。

(4)当需改进项目的实施过程或修改工作产品时,SQA人员应在《过程评审报告》/《工作产品审计报告》中记录确认的不符合项、对其的纠正措施、指定的责任人及计划完成的日期,同时要将其记录到《SQA项目问题日志》中。

(5)SQA人员负责检查《SQA项目问题日志》,识别到期的问题并向项目负责人询问问题的解决情况,在每周的项目组例会上,SQA人员应了解每个问题的当前状况,直至问题关闭。

(6)如果不符合项不能在项目组得到满意的解决,即:SQA人员与项目负责人无法在不符合项的处理上达成一致意见,或者,在约定的期限内项目组没有解决不符合项,则SQA人员应编写书面的《不符合项报告》,由项目负责人签字确认后,将其提交给质量管理部经理及项目负责人所属的部门经理。

(7)质量管理部经理及项目负责人所属的部门经理应将处理意见填写在《不符合项报告》中,签字后通知SQA人员。

(8)若质量管理部经理与项目负责人所属的部门经理对不符合项的处理无法达成一致意见,则需将《不符合项报告》提交给公司主管总裁,由其提出处理意见并签字确认。

(9)SQA人员负责将高层经理的处理意见传达给项目负责人。

16.软件质量保障措施

在本项目中,由项目负责人制订质量保证计划,项目质量控制组进行审核。审核方面包括:质量保证方案是否足够、各个成员的质量责任是否明确合理,测试方法是否适用。

17.范围管理

(1)范围定义

所谓范围定义就是将项目可交付成果分成几个小的、更容易管理的单元。在项目范围定义中,通常采用工作分解结构的方法(WBS),将项目分解为一系列主次分明的、比较小型易管理的任务,以达到预期的项目目标。作为在此项目中占有重要地位的应用系统,我们将采用分解功能块的方式,将整体的应用系统分解为多个功能块,各功能块的分析方法将采用WBS的方法进行分阶段实施。

我们通过多年项目的实践,积累了大量不同项目的工作分解结构图,在整个结构图中,每一项任务都有其明确的范围、工作时间、完成任务所需的资源和具体的任务成果。在合同签署后,我们将组织人员决定本项目的工作分解结构,项目负责人将在技术人员的参与下,为完成任务所需要的资源和时间表做出计划。在项目负责人之下,将针对具体任务设置任务主管,每一个分解结构将分配给小组组长,该小组组长将全权负责在规定的时间和费用内完成任务。

(2)范围确认

范围确认是客户等项目干系人正式验收并接受已完成的项目可交付物的过程。也称范围确认过程为范围核实过程。

项目范围核实就是范围被正式接受的过程。在项目的各阶段都要进行范围核实。

在本项目,每阶段的评审以及特定的评审和检查时进行范围确认。为保证评审的准确客观,项目组成员将由我单位与用户共同组成。范围确认的记录必须反映在评审记录中。项目范围确认应该贯穿项目的始终。

(3)范围控制

范围控制是监控项目状态如项目的工作范围状态和产品范围状态的过程,也是控制变更的过程。控制项目范围以确保所有请求的变更和推荐的纠正行动,都要通过整体变更控制过程处理。当变更发生并且集成到其他控制过程时,项目范围控制也被用来管理实际的变更。

在项目执行过程中,根据项目需要,项目有关各方可以要求对项目进行变更,凡是影响项目范围的变更,必须以文件的形式提出变更申请,项目各方共同对变更申请做出评估,确认后,修改项目的范围。在必要的时候,需要调整成本、时间进度和项目质量等因素。

三、知识产权和保密措施

严格履行国家和军队的保密法规、条例。未经采购人审查批准,不会擅自在互联网、通讯媒体等发表涉及此次采购项目相关内容或咨询。具体保密管理措施如下:

1.项目部把保密工作为一项重要的工作与其他工作同步进行。项目部成立以项目经理为首的保密工作小组,抓好本工程的保密工作。

2.项目开工前,针对本项目的特点组织项目管理人员进行全面的、系统的保密知识的学习及保密技能的培训。加强管理人员的保密工作管理,提高管理人员的政治思想和业务素质,以适应本项目保密任务的需要。工程师进场前,由项目部组织所有进场人员进行学习,签订保密工作协议书。坚持经常性的保密教育。

3.建立健全保密规章制度,严格保密纪律并严格执行,经常督促检查,堵塞泄密漏洞。

4.项目部管理人员的设置应经单位严格把关。选择政治觉悟高、工作作风严谨的管理人员到本项目工作。项目部的管理人员要固定,不要随意调动以减少知情人的范围。资料档案室固定一名管理人员负责。

5.资料档案室与其它办公区隔离并装防盗门防护窗栏。购置保密柜、保密报警装置。

6.会议涉密文件资料必须下发时,从三个方面严格管理。一是文件资料上要标明编号;二是领取人要实施登记签名;三是要明确要求参加会议人员及时交资料档案室保管,不得个人留存。

7.对实施过程中所发的文件、技术资料实行严格受控管理。对作废的文件应及时全数收回并消毁。

8.资料档案室设置一台专用电脑存储所需资料、文件并确保不上网,电脑应设置密码保护。

9.接待参观、考察,必须避开保护区。不得在保密要害部位接待来访资料档案室应当与其他办公室保持相应安全距离,并根据根据现场的实际情况设立控制区,无关人员不得进入。

10.保证采购单位在使用该物资或其任何一部分时,不受第三方侵权指控。同时,不向第三方泄露采购机构提供的技术文件等材料。

11.基于项目合同履行形成的知识产权和其他权益,其权属归采购单位所有,法律另有规定的除外。

12.签订保密协议踏勘现场、查看建设标准等技术文件(含《执勤中队信息节点(终端)设备集成融合建设指南》《武警部队执勤信息系统(中队终端软件)技术方案》《武警部队执勤信息系统数据融合建设规范》《执勤中队信息节点(终端)设备集成融合建设规范表》等);中标后重新签订保密协议,施工全程使用甲方提供终端,确需自带终端的,经甲方保密部门审查并专机专用,按照部队保密要求管理。