浅探软件工程系统项目开发的质量控制

进修社 人气:1.79W

摘要:依据GB/T16260<信息技术软件产品评价质量特性及其使用指南》,结合某软件工程的项目开发,通过过程质量控制,认识质量特性,选择适当开发控制模型,对工作内容在质量控制方法、控制措施和控制流程的一点认识。

浅探软件工程系统项目开发的质量控制

关键词:质量控制 内容 方法 措施

1、项目概况

整个工程项目要完成两个系统的建设:

1.1 行政办公自动化系统

行政办公自动化系统基于WEB,采用B/S多层结构设计。以JAVA、JSP、XML、等为核心编程技术。整个系统能够充分保证数据的安全,可根据需要提供数字签名、电子印章、加密验证,保证系统安全。具有灵活的权限设置功能。系统能满足长时间稳定运行的要求,具有高度容错性,能够为办公提供科学高效的工作计划管理和监督检查功能及方便的数据收集查询服务。同时提供高度的系统自适应性。

1.2 行政网站系统

本网站定位在电子政务门户网站,其基本功能有:信息发布、对外宣传、信息查询、便民服务、网上办事等。整个网站着重于先进性、实用性、安全性、可扩充性、兼容性、经济性和科学性等原则。

 2、软件产品质量特性

软件产品质量特性一般分6类:功能性、可靠性、易使用性、效率、可维护性和可移植性。

2.1 功能性

与一组功能及其指定的性质有关的一组属性。这里的功能是指满足明确或隐含的需求的那些功能。

2.2 可靠性

与在规定的一段时间和条件下,软件维持其性能水平的能力有关的一组属性。

2.3 易使用性

与一组规定或潜在的用户为使用软件所需作的努力和对这样的使用所作的评价有关的一组属性。

2.4 效率

与在规定的条件下,软件的性能水平与所使用资源量之间关系有关的一组属性。

2.5 可维护性

与进行指定的修改所需的努力有关的一组属性。

2.6 可移植性

与软件可从某一环境转移到另一环境的能力有关的一组属性。

 3、软件产品开发模型

软件产品常用的开发模型有:瀑布模型(V模型、喷泉模型)、螺旋模型、原型模型(锯齿模型、快速原型)、构件组装模型(增量模型)、统一软件过程RUP模型等。在实际开发不是使用单一模型,本项目中就使用了多模型的集合控制的方法。

 4、质量控制工作内容、方法和措施

1.质量控制是项目开发过程的重点,开发过程中的质量控制是把好质量关的重要一环。质量工程师必须熟悉设计方案,熟悉施工规范、软件规范和质量验收规范。

2.在本项目开发中,质量人员应采用软件工程的思想,对所开发的软件、系统、网站进行一系列的软件测试。

3.软件测试是在一定控制的条件下,围绕一个系统或应用的操作并且评价其结果(一个最简单的.例子:如果用户使用硬件A,在应用接口B上做了操作C,那么结果D应当出现),控制的条件应当包括正常和异常的条件。测试企图使事情变得很糟糕,从而来检测出一些应当发生而没有发生,或者不应当发生而发生的事情。

4.关于如何安排QA和测试的任务时,不同的承包方变化是很大的。有时它们可以有一个组或一个人来负责,共同的是一个项目组混合了测试人员和开发人员,并且他们一起紧密的工作,而QA过程有项目经理来监督。所有这些是同承包方的大小和商业结构有关的。在本项目中,质量人员会与承包方南京擎天科技有限公司进行充分的沟通,确认他们在软件开发中惯用的测试组织和测试手段,并力图将质量人员的质量行动和软件质量意图渗透到整个项目的开发过程中去。

5、本项目中可能出现问题或者缺陷的来源

(1)缺乏或者没有进行沟通,如对于一些我们在开发过程中应当或者不应当实现的细节问题。

(2)软件复杂度—— 在当今的软件开发中,对于一些没有经验的人来说,软件复杂性可能是难以理解的。图形化界面,客户/服务器和分布式的应用,数据通信,大规模的关系数据库,应用程序的规模等指数般的增加了软件的复杂度。面向对象技术也有可能增加软件复杂度,除非能够被很好的工程化。

(3)编程错误——任何一个编程人员都可能产生错误。

(4)不断变更的需求——用户可能不知道变更的影响,或者知道影响却还是需要进行变更,这些会引起重新设计与重新安排,并对其它项目产生影响,使已完成的工作可能不得不重做或推翻,硬件需求可能也会受到影响。如果存在许多小的变更或者任何大的改动,由于项目中不同部分间可知和不可知的依赖关系,这样就会产生问题,跟踪变更的复杂性也可能引入错误。项目开发人员的积极性也会受到打击。在这种情况下,质量人员必须了解结果的风险,必须适应和计划进行大规模的测试来防止不可避免的BUG出现无法控制的局面。

(5)时间的压力——软件项目的时间安排是最难的,通常是需要很多猜测的工作。当最后期限来临的时候,错误也就伴随发生了。

(6)缺乏文档的代码——维护和修改很差的代码或缺乏文档的代码是很困难的。最终结果将导致BUG的出现。

(7)软件开发工具——视图工具,类库,编译器,脚本工具等等通常会把它们自身的BUG 引入到本项目中。

6、质量人员视情况应该实施的测试类型

(1)黑盒测试— —不是基于内部代码和设计的知识,而是基于需求和功能。

(2)白盒测试——基于应用程序的内部逻辑的知识,通过语句,分支,路径和条件的覆盖率。

(3)单元测试——测试中的最小单位,测试特殊的功能或代码模块。由于需要对内部代码和设计的详细知识,该测试一般由开发者完成而不是由质量人员完成。该测试的容易程度同代码设计的好坏直接相关。

(4)增量型的集成测试——随着新功能的增加,不断的对应用程序进行测试。在程序的所有部分完成之前,需要一个应用程序的各个部分之间能够相对独立的进行工作。这类型测试可以由开发者或质量人员完成。