《项目管理:软件质量的可靠保证.docx》由会员分享,可在线阅读,更多相关《项目管理:软件质量的可靠保证.docx(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、工程管理:软件质量的可靠保证管理软件开发的各个阶段,加强软件开发的控制能力,提 高软件开发的质量,是软件工程管理的根本目的。软件的质量取决于它是否满足六个方面的要求,包括功能 性、可靠性、易用性、效率、可维护性和可移植性。为了满 足这六个方面的质量要求,需要在软件开发的各个环节进行 工程管理的全过程,从需求分析、设计、编码、测试到上线 验收控制。根据软件工程的生命周期,软件工程可以分为九 个阶段:立项、启动、需求分析、系统设计、系统开发、系统 测试、系统上线、工程验收和上线后评估。加强软件工程管 理,就是要把软件工程的各个环节作为管理的主线,贯穿动 态工程管理。通过对工程范围、工程进度、工程质
2、量、工程 沟通、人力资源、工程本钱等软件开发六大核心要素的集成 管理,可以最大限度地提高软件开发管理的效率,从而大大 提高软件开发的质量。准确把握软件需求软件开发工程的提出,应由迫切的业务需求来驱动。很 多不成功的软件工程,往往是由信息技术部门提出,按照技 术人员的思路主导开发,并理所当然地被认为能够在业务部 门取得良好的应用效果。这样的工程由于得不到业务部门的 理解和支持,脱离业务需求,多数面临失败或半途而废的命 运。因此软件工程业务需求的迫切性、技术实现的成熟性、 经济效益的可行性等方面的因素,都是考虑的要素,将对项 目的成败产生直接影响。正确的做法应该是,软件需求单位根据自身的业务需求,
3、 向信息技术管理部门提出软件工程立项建议书,对工程立项 目的、业务需求范围、技术经济指标、开发周期要求等进行简要概述。,然后由信息科技管理部组织业务专家和信息科 技专家组成联合专家组,对工程立项的可行性进行论证。经 专家组验证后,工程提出单位需要进行开放设计,进一步明 确软件开发范围、技术路线、进度、预算、研究人员和合作 团队的构成,并在此基础上编制开放设计书。信息技术管理 部组织专家组对开放设计进行论证。只有业务需求合理、技 术路线可行、开发团队实施的工程才能通过专家组的审核, 进入工程启动阶段。软件开发过程的监督和管理软件开发工程具有建设范围界定难、技术含量高、人员流 动快、合作性强、开发
4、成功率低等特点。目前,我国软件项 目的监管体系还不规范,对软件开发还缺乏有效的控制。因 此,企业的信息技术管理部门设立软件监理岗位,加强对软 件工程开发过程的管理是非常必要的。软件监督的主要职责是在工程的进行过程中,协调业务 需求部门和软件开发方的关系,监控软件开发任务的执行情 况,给开发人员和管理层提供反映软件过程质量的信息和数 据,提高工程透明度,从而保证工程按照计划实施,实现预 期目标。软件监督应具备以下三方面的基本素质:具有较强的工作责任感和良好的沟通能力;熟悉业务管理流程,掌握软件开发流程、开发规范以 及相关标准;具有软件开发工程的建设和管理经验,掌握工程管理 知识;软件监督的工作任
5、务主要有: 确保软件按照业务需求方确认的范围进行开发。保证软件开发进度符合双方确认的计划指标。保证软件开发过程中存在的不符合要求的问题能够及 时得到沟通和处理,必要时需要将问题反映给管理层。确保工程组中软件开发人员队伍相对稳定。保证软件开发过程和开发出来的软件符合相应标准和 规范。收集软件开发过程中的成功经验,为企业提供软件开 发过程的有效控制方法和规范。1 .监督管理的范E需求分析说明书是对软件开发范围的书面表达依 据。由于需求分析说明书往往是采用软件设计的术语编 写,因此常常令计算机背景知识较少的业务需求方难以理 解,也就很难发现需求报告中与实际需求不符之处,更难提 出建设性的意见。软件监
6、督要对软件开发范围进行管理,首先要确定双方都能认可的需求分析说明书。如要求软件开发方对需 求分析说明书做出进一步更详细的解释,编制业务模型, 以便用户方准确地理解需求分析说明书的内容,能及早 地发现需求与实际的偏差。这也是对需求分析工作的总结与 确认。在工程需求分析阶段,双方必须全面地、尽可能细致地 讨论工程的应用背景、功能要求、性能要求、操作界面要 求、与其他软件的接口要求,以及对工程进行评估的各种评 价标准。需求分析说明书完成后,软件监督应组织工程组与业务需求方共同讨论,听取业务需求方的意见和建议,并进行相应的修改完善。各方确认需求分析说明书内容后, 需在说明书上签字确认。在软件开发过程中
7、,双方应严格按照签字确认的需求 分析说明书中规定的业务范围进行开发。有些需求可能在 工程初期很难确定,在开发过程中需要不断地加以修正,项 目软件监督要及时与用户充分沟通,建立可以直接联系的渠 道,共同进行需求确认,保证工程范围可控。2 .进度管理为确保工程按时、按量、保质完成,必须控制任务和跟 踪里程碑。按照软件工程的开发规律,将软件开发过程分为 几个重要阶段,对这几个阶段的关键事件设立里程碑进行跟 踪管理。工程进度管理可以通过以下方式完成:制定工程里程碑管理运行表。定期举行工程状态会议,由软件开发方报告进度和问 题,用户方提出意见。比拟各项任务的实际开始日期与计划开始日期是否吻 合。确定正式
8、的工程里程碑是否在预期完成。从软件工程实施的过程来看,很少有一个工程是完全按 照实施计划来进行的,因为再好的计划也不能完全预见所有 的问题,并事先制订出对策。计划可以调整,但是调整必须 合理,并得到业务需求方和管理层的批准。当有问题发生 时,其直接的表现就是实施结果偏离了原来的计划和目标, 在这种情况下,软件监督就要及时发现这种偏离,并分析这 种原因,如果是因为原来的计划和目标制订的不合理,或者发生了预料之外的情况而又无法克服,这样就必须调整计划 和目标。3 .沟通管理信息系统本身就是交流的产物。软件开发的过程实际上是 将手工工作转化为计算机程序的过程。软件开发的原材料和 产品是信息,中间过程
9、传递信息,信息的产生、收集、传播 和保存是沟通管理的内容。可见,沟通不仅是软件工程管理 的必要手段,更重要的是沟通是软件生产的手段,是生产过 程中必不可少的过程。软件开发的柔性标准需要沟通来弥补。与加工螺丝螺母不 同,软件开发有具体的标准和检验方法。软件的标准非常灵 活。比方在用户心目中好用是软件成功的标准,这在软件开 发之前很难准确完整的表达出来。因此,工程组与用户在开 发过程中的沟通是解决这一实际问题的必由之路。软件主管应有效安排开发方软件人员与需求方用户之间的 沟通,并确保沟通渠道的畅通。建立健全工程报告制度,明 确沟通时间、频率和渠道。根据工程汇报制度,组织工程组 定期向业务需求方和管
10、理层汇报,包括工程进度、已完成的 工作、与计划的比照、存在的问题、措施和建议、下一步工 作计划等。4 .软件版本管理目前的软件开发是团队开发的时代,软件开发技术更新迅速,开发人员流动频繁,因此对软件版本的管理就显得尤 其重要。在软件开发的过程中,在多人共同开发一个软件 时,会出现多人同时修改软件的情况,这是不可防止的,由 于局部功能模块版本可能要进行不断地升级完善,而老的软 件版本又没有即使更新,随着时间的推移,开发人员对自己 机器上的不同版本间的差异就会模糊不清。另外由于软件开 发工期的压力,开发人员只将注意力集中在设计和编码上, 未将文档纳入到版本控制中。为了解决这些问题,软件监督 就要注
11、意跟踪记录整个软件的开发过程,包括软件本身及其 相关文档,重视代码的一致性。这一工作可以通过应用软件 版本管理的工具软件实现,如Microsoft公司的 VisualSourceSafe等对源代码和整个工程进行管理,从而建 立正常的软件版本管理机制。把握正确的验收方法软件工程验收是对软件工程成果的检查和确认,也是对软 件工程范围的再确认。软件验收应该是一个过程概念,包括 验收前系统测试、数据迁移、系统上线、正式验收四个阶 段。1 .系统测试系统测试是对系统进行全面的测试,应在测试环境中进 行,以确保系统的功能和技术设计满足企业的业务需求,并 能正常运行。系统测试阶段应包括以下主要流程和工作内容
12、:(1)制订测试计划,包括编制测试用例,建立测试环境。(2)测试。在测试环境中,工程组将根据需要对系统进行 单元测试、集成测试、压力测试和用户验收测试,记录测试 结果,由相关测试人员签字确认,并准备相应的测试报告。 对于测试失败的内容,工程组要找出失败的原因,修改相应 的程序或设置,重新测试。除充分的系统功能测试外,测试 应包括与内部控制相关的测试内容,如系统认证和授权、交 易完整性和数据真实性和完整性。(3)提交测试报告并经用户确认和签字。工程组应撰写测 试报告并提交给所有相关用户,用户应在测试报告上签字确 认。2 .数据移植新系统上线时如需要将原始数据移植到新系统,那么应完 成以下主要工作
13、内容:(1)制订数据移植/转换计划。除了要定义数据提供的格式、范围、进度外,还要考虑系统接口的影响,并建立了数 据移植完整性和准确性测试方法以及意外事件处理程序。(2)数据收集。如果工程的实施涉及数据收集,数据收集 小组应根据数据收集格式收集数据。数据收集团队在收集数 据时,应对业务部门的数据提供者进行培训,确保数据提供 者了解并掌握数据提供的规定和要求。(3)数据迁移前的测试。在测试环境中测试数据迁移方 法,书面记录测试结果,解决测试中发现的问题,并将问题 记录存档。(4)数据导入并核查结果。工程组成员将数据导入系统,导入后根据预先制定的数据 迁移完整性和准确性测试方法进一步检查系统中的数据
14、,确 保导入数据的质量。如果发生事故,按照事先制定的事故处 理程序进行处理,并做好记录。数据迁移完成后,用户应签 字确认数据迁移结果。(5)数据移植后,需要进行适当时间的试运行,以确认数 据移植的真实性和完整性。调试时间取决于具体系统的规模 和影响程度。对于影响较大的系统,至少应测试三个完整的 月度结算周期。3 .系统上线系统上线阶段应包括以下的主要流程和工作内容:(1)上线前准备工作。在上线前,软件开发方应制定系统上线计划,包括上线检查清单、上线支持人员、退回机制 等,并提交上线申请表。系统上线计划和上线申请 表应经过信息技术部门和业务部门管理层的正式批准,并 通知各相关部门。(2)系统上线
15、。所有上线准备工作完成后,软件主管将确 认上线系统版本的正确性,与用户确认系统上线时间,并发 布上线指令。在线操作员将把系统程序的最终版本移植到生 产环境中。4 .正式验收 正式验收前,软件开发方应向信息技术管理部门提交软件开发过程中各阶段性文档,包括需求分析说明书、概要设 计说明书、详细设计说明书、数据库设计说明书、源程序代 码、可供安装使用的系统安装程序、系统管理员手册、用户 使用手册、测试计划、测试报告、用户报告、数据移植计划 及报告、系统上线计划及报告、用户意见书、验收申请等。收到验收申请后,信息管理部门将组织专家对工程进行初 审。初审通过后,组织管理领导、业务经理和信息技术专家 成立
16、工程验收委员会,负责软件工程的正式验收。软件监督应根据软件开发方在整个软件开发过程中的表 现,向验收委员会提出全面的软件监督报告,并根据开题设 计书、软件开发合同以及需求分析说明书,制定验收标 准,提交验收委员会。信息技术管理部门组织由验收委员、软件监督、软件开发方参加的工程验收会,软件开发方以工程汇报、现场应用演示等方式汇报工程完成情况,验收 委员会根据验收标准对工程进行评审,形成最终验收意见。链接:软件质量的六个考核要素1 .功能性:满足用户的要求,在预定环境下能够完成预期 的功能。2 .易用性:用户容易理解和使用功能,操作方便,符合用 户业务习惯。3 .可靠性:软件按照设计要求,在规定时间和条件下不出 故障,具有异常捕获功能并提供异常处理与恢复功能。4 .效率:降低系统资源的开销,响应时间快,提高用户工作效率。5 .可维护性:遵从统一的标准和规范,编码具有良好的可 读性。为满足用户新的要求,或当环境发生了变化,或运行 中发现了新的错误时,能够对一个已投入运行的软件进行相 应诊断和修改。6 .可移植性:一个软件(或软件的局部功能模块)能再次用 于其他相关联的应用。