第22章软件工程监理
在当今数字时代,软件工程在各类信息系统建设中发挥着至关重要的作用。为确保项目的顺利进行和高质量完成,软件工程监理成为不可或缺的环节。软件工程在招标、设计、实施和验收过程中,从需求分析、设计、编码、测试到部署等多个方面如何进行有效监管,需要监理人员掌握监理服务的关键活动、主要内容和要求,以及软件监理服务的监理要点、监理主要输出文档等。本章对监理人员开展软件工程监理工作,对监理机构编制监理大纲、监理规划和监理实施细则,以及项目作业指导书或监理文档等起到必要的指导作用。
22.1概述
软件工程各阶段和支持过程的监理工作,应符合软件工程建设要求和监理合同所约束的监理服务要求,严格执行强制性国家标准、行业标准和地方标准,并按照监理规范、有关建设内容的技术标准及规范开展必要的监理活动,落实监理内容,提出监理意见或建议,做好监理工作记录。
22.1.1基本概念
1.软件工程
应用计算机科学理论和技术以及工程管理原则和方法,按预算和进度,实现满足用户要求的软件产品的定义、开发、发布和维护的工程或进行研究的科学。
2.就绪可用软件产品
可供任何用户使用,不需要经过实施开发活动的软件产品。
3.单元测试
对软件中的最小可测试单元进行检查和验证。对于单元测试中单元的含义,一般来说,要根据实际情况去判定其具体含义,如C语言中单元指一个函数,Java中单元指一个类,图形化软件中单元可以指一个窗口或一个菜单等。总的来说,单元就是人为规定的最小的被测功能模块。单元测试是在软件开发过程中要进行的最低级别的测试活动,软件的独立单元将在与程序的其他部分相隔离的情况下进行测试。
4.集成测试
集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求(如根据结构图)组装成为子系统或系统,进行集成测试。
5.系统测试
对整套系统的测试,将硬件、软件、操作人员看作一个整体,检验它是否有不符合系统说明书的地方。
6.验收测试
部署软件之前的最后一个测试操作,是在软件产品完成了单元测试、集成测试和系统测试之后,在产品发布之前所进行的软件测试活动。它是技术测试的最后一个阶段,也称为交付测试。
22.1.2软件工程建设阶段划分及监理任务
1.软件工程规划阶段的监理任务
软件工程规划的主要监理任务是为业主单位提供咨询服务,在业主单位的要求下,可以包含如下内容:
(1)协助业主单位梳理业务目标,制定软件系统建设目标;
(2)协助业主单位开展软件系统需求分析工作;
(3)协助业主单位对软件系统建设方案进行可行性分析、必要性分析,确定软件系统的技术架构和建设方案;
(4)协助业主单位确定软件系统的工程造价。
2.软件工程实施阶段的监理任务
软件工程建设过程中,结合软件开发的一般要求,将软件工程监理过程分布于4个阶段,可划分为13个活动,如表22-1所示。
3.软件工程支持过程的监理任务
在软件工程招标、设计、实施和验收阶段,对软件生存周期支持过程也应进行监理,包括对文档编制过程的监理、对配置管理过程的监理和对质量保证过程的监理。
22.2招标阶段监理工作
本节重点介绍监理单位在软件工程招标阶段需要执行的监理活动和主要监理内容。
22.2.1监理活动
软件工程招标阶段的主要监理活动如下:
(1)招标前收集相关资料,了解软件工程项目建设相关的业务目标、软件系统建设目标、现行和预期的业务模式、信息化基础和发展规划、软件系统建设需求等信息,协助业主单位开展招标准备工作,参与编制招标文件,或审核招标文件技术需求、招标实施合规性等;
(2)接受业主单位委托参加招标活动,协助业主单位开展招标工作、选定软件工程的承建单位;
(3)参与业主单位与承建单位合同谈判,协助业主单位签订承建合同,提出必要的监理意见。
22.2.2监理内容
1.招标准备的监理
招标准备的监理内容具体如下:
(1)收集软件工程的相关资料,了解和掌握软件需求。监理机构应取得必要的资料,了解并与业主单位沟通软件工程项目的相关信息,将其作为监理工作的依据之一。这些资料包括:
•软件工程项目建设方案;
•软件工程项目相关的业务现状和业务流程;
•软件系统的功能和性能指标;
•实现软件系统建设目标所必需的资源;
•如适用,还应包括信息资源规划、业务流程再造的策略、业务持续改进计划、业务指标评价体系、业主单位信息化人力资源规划等。
(2)梳理软件工程建设需求,明确监理质量、进度等控制目标。
协助业主单位初步定义软件系统的建设范围、系统需求和约束条件,应包括:
•业务、组织和用户需求;
•系统规模、投资和进度要求;
•安全保密性要求;
•应遵循的标准、规程;
•与测试有关的要求和验收准则;
•知识产权要求;
•数据所有权要求。
(3)参与招标文件的编制,或审核招标文件技术需求、招标实施合规性等。明确招标文件应包括:
•建设内容的完整性;
•适用的法律法规及标准的要求;
•软件主要功能和性能指标要求;
•合同执行的里程碑节点;
•关键节点文档提交、审核及确认的要求;<