【导读】项目开发根据进度分为需求、设计、开发、测试等各个阶段,质量保证工作始终贯穿各阶段,同时又必须根据每个阶段特点采取相应的措施。
软件工程项目管理是一个系统工程,软件工程项目管理的主要目标是保证项目在规定时间内高质量地完成。项目管理包括了项目组开发各阶段的人员结构的配置,质量控制的实施方略,内部文档和产品文档的组织编写等多项工作,其中质量控制方法具有软件开发的特点。
项目开发根据进度分为需求、设计、开发、测试等各个阶段,质量保证工作始终贯穿各阶段,同时又必须根据每个阶段特点采取相应的措施。
需求分析
需求分析是开发人员对系统需要做什么和如何做的定义过程。从系统分析的经验来看,这个过程往往是个循序渐进的过程,一次性对系统形成完整的认识是困难的。只有不断地和客户领域专家进行交流确认,方能逐步明了用户的需求。从系统开发的过程得知,系统分析时犯下的错误,会在接下来的阶段被成倍的放大,越是在开发的后期,纠正分析时犯下的错误所花费的代价越是昂贵,也越发影响系统的工期和系统的质量。。
在具体项目中,一般的做法有两种:一是请领域专家参与到系统开发的早期阶段;二是开发系统原型,原型包括功能性的原型和用户界面性的原型,也可以是二者混合的原型,用这些原型确认用户的需求。让领域专家参与开发的早期阶段,是保证分析人员有充足的时间和领域专家进行充分的交流和确认。在这个阶段,原型可能在提交到用户之前,首先被领域专家确认,这样保证了原型被认可的程度和认可过程耗费的时间尽可能的短,从而在提高效率的同时保证了质量。
在开发方内部还有三项保证措施:系统分析委员会保证系统分析集思广益;质量监督组对分析工作的监督;技术支持人员参与需求调研。
分析委员会的意义在于任何分析人员在提交其所分析部分的分析说明书前,必须通过委员会的共同审议,委员会的成员根据各自的分析经验和自身所分析的部分对他人的分析报告提出质疑。如此审议过后保证了各部分间相互关联的部分被明确定义,避免了由于“疏忽”造成系统在后期进行整合时出现较严重的系统鸿沟或系统重叠。
质量监督组在项目的任何阶段都要提出监督计划。按照监督计划分配相应的资源来保证某阶段的开发质量。分析阶段的监督计划会在分析任务之前被项目经理、项目负责人、系统分析员以及技术支持所了解。为保证分析工作高质量进行,同时分析工作又不被过分打扰,质量监督组则主要针对《系统分析报告》进行复审,并在认为确实有必要的情况下才召开质量复审会议。质量复审会议的主要参与者是项目经理、项目负责人、分析人员和质量监督组组长。会议的主要议题是提出质量质疑,给出改进建议即可。具体是否存在质量问题,是否需要改进,不在会议中进行讨论,以此保证了会议参与的人数较少,会议的时间尽可能的短。
系统实现
实现也就是代码的生产过程。生产的类别有类的生产,组件的生产,构件的生产,应用系统的整合,以及各种测试用例的生产。为了能够提高生产的质量,我们将生产的程序人员按职能分成两组,测试用例的生产和测试用例生产,也就是说如果某个程序员生产了某个组件,则其测试用例不能再由该程序员来生产,但他可以生产其他组件的测试用例。这样交叉生产更容易发现组件的存在的问题。测试人员按照测试用例来测试组件的各项指标提出测试报告。
为了控制系统开发过程中的往复,不至于产生重大过失和往复的泛滥,文档组和质量监督组协同完成软件开发的配置管理。
软件配置管理的目的在于控制软件开发过程中的“变化”,这种变化可能是