加强软件项目管理提高软件开发质量

加强软件项目管理提高软件开发质量
加强软件项目管理提高软件开发质量

加强软件项目管理提高软

件开发质量

标准化文件发布号:(9312-EUATWW-MWUB-WUNN-INNUL-DQQTY-

加强软件项目管理提高软件开发质量

软件质量与项目管理的关系

软件质量的高低,由符合软件质量要素要求的程度来决定。软件的质量要素包括功能性、可靠性、易用性、效率、可维护性、可移植性等六个方面:

(1)功能性:软件的功能要满足用户的要求,在预定环境下能够完成预期的功能。

(2)易用性:用户容易理解和使用功能,操作方便,符合用户业务习惯。

(3)可靠性:软件按照设计要求,在规定时间和条件下不出故障,具有异常捕获功能并提供异常处理与恢复功能。

(4)效率:降低系统资源的开销,响应时间快,提高用户工作效率。

(5)可维护性:遵从统一的标准和规范,编码具有良好的可读性。为满足用户新的要求,或当环境发生了变化,或运行中发现了新的错误时,能够对一个已投入运行的软件进行相应诊断和修改。

(6)可移植性:一个软件(或软件的部分功能模块)能再次用于其它相关联的应用。

由以上软件质量要素相对应的要求可以看出,软件开发过程中从需求、设计、编

码、测试到上线验收的任何一个环节,都将对软件质量产生重要影响,因此为了开发

出符合软件质量要素要求的软件产品,必须加强对软件开发全过程的项目管理。

软件项目的建设按软件工程的生命周期法可分为项目立项、启动、需求分析、系统设计、系统开发、系统测试、系统上线、项目验收和上线后评估等9个阶段进行。加强软件项目管理,就是以软件工程的各个环节为管理主线,将动态项目管理贯穿其中,通过对软件开发的项目范围、项目进度、项目质量、项目沟通、人力资源、项目成本六大核心要素的集成管理,实现软件开发管理效能的最大化,从而大大提高软件开发质量。

把握需求,准确立项

软件开发项目的提出,应由迫切的业务需求来驱动。很多不成功的软件项目,往

往是由信息技术部门提出,按照技术人员的思路主导开发,并理所当然地认为能够在业务部门取得良好的应用效果。这样的项目由于得不到业务部门的理解和支持,脱离业务需求,多数面临失败或半途而废的命运。因此软件项目业务需求的迫切性、技术实现的成熟性、经济效益的可行性等方面的因素,将对项目的成败产生直接影响。

软件项目的立项,应由软件的需求单位根据自身业务的工作需要,向信息技术管理部门提出软件项目的立项建议,对立项目的、业务需求范围、技术经济指标、开发周期要求等方面做简要概述,由信息技术管理部门组织业务专家和信息技术专家组成联合专家组,进行项目立项的可行性论证。通过专家组论证审核后,项目提出单位需要进行开题设计,进一步明确软件开发范围、技术路线、进度安排、经费预算、研究人员组成、合作队伍,并以此为基础编制完成开题设计书。信息技术管理部门组织专家组对开题设计进行论证,只有业务需求合理、技术路线可行、开发队伍落实的项目,才能通过专家组审核,进入项目启动阶段。

建立软件监督队伍,加强软件开发过程管理

1.软件监督

软件开发项目具有建设范围难界定、技术含量高、人员流动快、协作性强、开发成功率低等特点,目前国内对软件项目的监理制度尚不规范,对软件开发仍然缺乏有效控制。因此由企业的信息技术管理部门设立软件监督岗位,加强对软件项目的开发过程管理,就显得尤为重要。

软件监督的主要职责是在项目的进行过程中,协调业务需求部门和软件开发方的关系,监控软件开发任务的执行情况,给开发人员和管理层提供反映软件过程质量的信息和数据,提高项目透明度,从而保证项目按照计划实施,实现预期目标。

软件监督应具备以下三方面的基本素质:

(1)具有较强的工作责任感和良好的沟通能力。

(2)熟悉业务管理流程,掌握软件开发流程、开发规范以及相关标准。

(3)具有软件开发项目的建设和管理经验,掌握项目管理知识。

软件监督的工作任务:

(1)确保软件按照业务需求方确认的范围进行开发。

(2)保证软件开发进度符合双方确认的计划指标。

(3)保证软件开发过程中存在的不符合要求的问题能够及时得到沟通和处理,必要时需要将问题反映给管理层。

(4)确保项目组中软件开发人员队伍相对稳定。

(5)保证软件开发过程和开发出来的软件符合相应标准和规范。

(6)收集软件开发过程中的成功经验,为企业提供软件开发过程的有效控制方法和规范。

2.项目范围管理

《需求分析说明书》是对软件开发范围的书面表达依据。由于《需求分析说明书》往往是采用软件设计的术语编写,因此常常令计算机背景知识较少的业务需求方难以理解,也就很难发现需求报告中与实际需求不符之处,更难提出建设性的意见。

软件监督要对软件开发范围进行管理,首先要确定双方都能认可的《需求分析说明书》。要求软件开发方对《需求分析说明书》做出进一步更详细的解释,编制业务模型,以便用户方准确地理解《需求分析说明书》的内容,能及早地发现需求与实际的偏差。这也是对需求分析工作的总结与确认。

在项目需求分析阶段,双方必须全面地尽可能细致地讨论项目的应用背景、功能要求、性能要求、操作界面要求、与其他软件的接口要求,以及对项目进行评估的各种评价标准。

《需求分析说明书》完成后,软件监督应组织项目组与业务需求方共同讨论,听取业务需求方的意见和建议,并进行相应的修改完善。各方确认《需求分析说明书》内容后,须在说明书上签字确认。

在软件开发过程中,双方应严格按照签字确认的《需求分析说明书》中规定的业务范围进行开发。有些需求可能在项目初期很难确定,在开发过程中需要不断地加以修正,项目软件监督要及时与用户充分沟通,建立可以直接联系的渠道,共同进行需求确认,保证项目范围可控。

3.进度管理

为确保项目按时、按量、保质完成,必须控制任务和跟踪里程碑。按照软件项目

5.软件版本管理

目前的软件开发是团队开发的时代,软件开发技术更新迅速,开发人员流动频繁,因此对软件版本的管理就显的尤其重要。在软件开发的过程中,在多人共同开发一个软件时,会出现多人同时修改软件的情况,这是不可避免的,由于部分功能模块版本可能要进行不断地升级完善,而老的软件版本又没有及时更新,随着时间的推移,开发人员对自己机器上的不同版本间差异的了解也变得模糊不清。另外由于软件开发工期的压力,开发人员只将注意力集中在设计和编码上,未将文档纳入到版本控制中。

为了解决这些问题,软件监督就要注意跟踪记录整个软件的开发过程,包括软件本身及其相关文档,重视代码的一致性,应用软件版本管理的工具软件,如Microsoft 公司的Visual SourceSafe等对源代码和整个项目进行管理,从而建立正常的软件版本管理机制,

把握要点,有效验收

软件项目验收是对软件项目成果的检验和确认,也是对软件项目范围的再确认。软件验收应是一个过程的概念,包括验收前的测试、数据移植、上线和正式验收四个阶段。

1.系统测试

系统测试是对系统进行全面的测试,应在测试环境中进行,以确保系统的功能和技术设计满足企业的业务需求,并能正常运行。

系统测试阶段应包括以下主要流程和工作内容:

(1)制订测试计划,编制测试用例,建立测试环境:

(2)测试:在测试环境中,项目组根据需要,对系统依次进行单元测试、集成测试、压力测试和用户接受测试,记录测试结果并由相关测试人签字确认,编制相应的测试报告。对于未通过测试的内容,项目组应查找失败的原因,并修改相应程序或设置,重新进行测试。除了进行充分的系统功能测试,测试应包含与内部控制相关的测试内容,如系统认证和授权、交易完整性及数据真实、完整性的有关功能。

(3)提交测试报告、用户确认签字:

项目组撰写测试报告,将测试报告提交给各相关用户,用户应在测试报告上签字确认。

2.数据移植

新系统上线时如需要将原始数据移植到新系统,则应完成以下主要工作内容:

(1)制订数据移植/转换计划:

除了要定义数据收集的格式、范围、进度外,还要考虑系统接口的影响,并建立了数据移植完整性和准确性测试方法以及意外事件处理程序。

(2)数据收集:

如果项目实施涉及到数据收集,应由数据收集小组根据数据收集格式,对数据进行收集,数据收集小组在收集数据时应培训业务部门的数据提供人员,以确保数据提供人员了解和掌握对数据收集的各项规定和要求。

(3)数据移植前,在测试环境中对数据移植方法进行测试,书面记录测试结果,解决测试中发现的问题,进行问题记录并归档;

(4)数据导入并核查结果:

项目组成员将数据导入系统,并在导入后按照事先制定的数据移植完整性和准确性测试方法对系统中的数据做进一步的核查,确保导入数据的质量。如有意外,按照事先制定的意外事件处理程序处理,并留下记录。数据移植完成之后,用户应对数据移植结果签字确认。

(5) 数据移植后要进行适当时间的试运行,确认数据移植的真实性和完整性。试运行时间视具体系统的规模、影响程度而定。对影响较大的系统,至少应试运行三个完整的月结周期。

3.系统上线

系统上线阶段应包括以下的主要流程和工作内容:

(1) 上线前准备工作:在上线前,软件监督要组织软件开发方制定系统上线计划,包括上线检查清单、上线支持人员、退回机制等,并提交《上线申请表》;系统

上线计划和《上线申请表》应经过信息技术部门和业务部门管理层的正式批准,并通知各相关部门;

(2)系统上线:所有的上线准备工作做好之后,由软件监督确认上线系统版本正确性后,与用户确认系统上线时间,下达上线指令。系统上线操作人员将最后版本的系统程序移植到生产环境。

4.正式验收

正式验收前,软件开发方应向信息技术管理部门提交软件开发过程中各阶段性文档,包括需求分析说明书、概要设计说明书、详细设计说明书、数据库设计说明书、源程序代码、可供安装使用的系统安装程序、系统管理员手册、用户使用手册、测试计划、测试报告、用户报告、数据移植计划及报告、系统上线计划及报告、用户意见书、验收申请等。

信息技术管理部门接到验收申请后,组织专家对项目进行初审。初审通过后,组织管理层领导、业务管理人员和信息技术专家成立项目验收委员会,负责对软件项目进行正式验收。

软件监督应根据软件开发方在整个软件开发过程中的表现,向验收委员会提出全面的软件监督报告,并根据开题设计书、软件开发合同以及《需求分析说明书》,制定验收标准,提交验收委员会。信息技术管理部门组织由验收委员会、软件监督、软件开发方参加的项目验收会,软件开发方以项目汇报、现场应用演示等方式汇报项目完成情况,验收委员会根据验收标准对项目进行评审,形成最终验收意见。

在信息技术和现代管理学知识飞速发展和普及应用的今天,软件项目的规模和复杂程度不断增加。对软件项目的管理人员来说,把项目管理的理论和方法落实到软件工程的实践中去,是提高软件开发质量的有效手段。

(作者单位系新疆油田公司技术发展处)

相关主题
相关文档
最新文档