软件工程项目管理是一个系统工程,软件工程项目管理的主要目标是保证项目在规定时间内高质量地完成。项目管理包括了项目组开发各阶段的人员结构的配置,质量控制的实施方略,内部文档和产品文档的组织编写等多项工作,其中质量控制方法具有软件开发的特点。
项目开发根据进度分为需求、设计、开发、测试等各个阶段,质量保证工作始终贯穿各阶段,同时又必须根据每个阶段特点采取相应的措施。
需求分析
从系统分析的经验来看,这个过程往往是个循序渐进的过程,一次性对系统形成完整的认识是困难的。只有不断地和客户领域专家进行交流确认,方能逐步明了用户的需求。从系统开发的过程得知,系统分析时犯下的错误,会在接下来的阶段被成倍放大,越是在开发的后期,纠正分析时犯下的错误所花费的代价越是昂贵,也越发影响系统的工期和系统的质量。
在具体项目中,一般的做法有两种:一是请该领域内专家参与到系统开发的早期阶段;二是开发系统原型,原型包括功能性的原型和用户界面性的原型,也可以是二者混合的原型,用这些原型确认用户的需求。
监督计划
按照监督计划分配相应的资源来保证某阶段的开发质量。分析阶段的监督计划会在分析任务之前被项目经理、项目负责人、系统分析员以及技术支持所了解。为保证分析工作高质量进行,同时又不被过分打扰,质量监督组则主要针对《系统分析报告》进行复审,并在认为确实有必要的情况下才召开质量复审会议。质量复审会议的主要参与者是项目经理、项目负责人、分析人员和质量监督组组长。会议主要是对质量质疑,给出改进建议即可。具体是否存在质量问题、是否需要改进,不在会议中进行讨论,以此保证了会议参与的人数较少,会议的时间尽可能短。
系统实现,实现也就是代码的生产过程。生产的类别有组件的生产,构件的生产,应用系统的整合,以及各种测试用例的生产。为了能够提高生产的质量,应将生产的程序人员按职能分成两组,也就是说如果某个程序员生产了某个组件,则不能再由该程序员来生产,但他可以生产其他组件。这样交叉生产更容易发现组件存在的问题。
测试指标
测试人员按照各项指标提出测试报告。指标分别包括如下几点:软件的正确性,正确性测试主要是测试软件的功能是否被正确地实现。测试的方式主要是按照功能的要求按照给定的输入,看是否有给定的输出,在非标称输入时,输出是否异常等。同时也可以测试软件的功能是否实现或完整实现。
性能指标:该项目对性能的要求非同一般的软件项目。性能测试往往包含了压力测试、攻击性测试等测试,软件所能承受的极限是多少,一般来说,软件的极限应当高出用户要求的性能,各种指标也应当为用户所了解。
易用性:软件的使用界面在设计时,应当设法使之与功能的实现相脱离。脱离的原因在于易用性是通过友好的界面实现的。然而让开发人员以使用者的角度,来确定软件是否易用是件非常困难的事情,在确定使用界面时,往往需要多次反复修改,甚至只能在软件的最后交付之前或用户使用一段时间之后才被提出来。