1、项目实施保证 为确保项目的顺利开展和实施, 我们分别制定了项目组人员保证方案和软件开发质量保 证方案以及项目 进度保证方案。 1项目组人员保证方案 为确保项目的顺利开展和实施, 项目组的人员配备既有高层次的技术带头人 (专家、 教 授等),也有 中坚力量(博士、工程师、研发经理等) ,还有一般工作人员(具体开发设计工 作的人员、试验人员、管理 人员等) ,并实行项目经理、技术负责人质量负责制,加强技术 管理的有效性和研发过程的科学性、准确性。 2软件开发质量保证方案 2.1质量管理内容 2.2.1编制和评审质量计划 制定质量保证计划: 依据项目计划及项目质量目标确定需要检查的主要过程和工作产品
2、, 识别项目过程 中的干系人及其活动,估计检查时间和人员,并制定出本项目的质量保证计 划。 质量保证计划的主要内容包括: 例行审计和里程碑评审, 需要监督的重要活动和工作产 品,确定审计 方式, 根据项目计划中的评审计划确定质量保证人员需要参加的评审计划。 明 确质量审计报告的报送范围。 质量保证计划的评审: 质量保证计划需要经过评审方能生效,以确保质量保证计划和项 目计划的一致性。 经过批准的质量保证计划需要纳入配置管理。当项目计划变更时, 需要及 时更改和复审质量保证计划。 2.2.2“过程和工作产品” 的质量检查 根据质量保证计划进行质量的审计工作, 并发布质量审计报告。 审计的主要内容
3、包括: 是否按照过程要求执行了相应的活动, 是否按照过程要求产生了 相应的工作产品。本项目中对质量的控制主要体现在不同阶段的审计当中。 2.2.3不符合项的跟踪处理 对审计中发现的不符合项, 要求项目组及时处理, 质量保证人员需要确认不符合项的状 态,直到最终 的不符合项状态为“完成”为止。 2.2质量管理责任分配 我公司在开发项目上按照规范化软件的生产方式进行生产。 每个项目除配备了项目开发 所需角色外,还 专门配备了质量保证小组、配置管理小组、测试小组来确保质量管理的实施,下面针对这三种角色进行说明: (1)质量保证小组职责 质量保证小组作为质量保证的实施小组, 在项目开发的过程中几乎所有
4、的部门都与质量 保证小组有关。 质量保证小组的主要职责是: 以独立审查方式, 从第三方的角度监控软件开 发任务的执行, 分析项目内存 在的质量问题, 审查项目的质量活动,给出质量审计报告。就 项目是否遵循已制定的计划、 标准和规程, 给 开发人员和管理层提供反映产品和过程质量的 信息和数据,使他们能了解整个项目生存周期中工作产品和过程 的情况,提高项目透明度, 从而支持其交付高质量的软件产品。 质量保证人员依据质量保证计划,通过质量审计报告向项目经理及有关人员提出已经识 别出的不符合项, 并跟踪不符合项的解决过程, 通过审计周报或者审计月报向项目经理提供 过程和产品质量数据,并与项目组 协商不
5、符合项的解决办法。 质量保证小组的检测范围主要包括: 项目的进度是否按照项目计划执行, 用户需求是否 得到了用户的 签字确认, 软件需求是否正确的反映了用户的需求, 是否将每一项用户需求都 映射到软件需求; 系统设计 是否完全反映了软件需求; 实现的软件是否正确的体现了系统设 计;测试人员是否进行了较为彻底的和全面 的测试; 客户验收和交接清单是否完备; 对于系 统运行中出现的问题, 维护人员是否记录了详细的维护记 录; 配置管理员是否按照配置管理 计划建立了基线,是否严格控制变更过程,是否对配置库进行了维护。 (2)配置管理小组职责 配置管理活动的目的是通过执行版本控制、 变更控制、 基线管
6、理等规程, 借助配置管理 工具的使用, 来保证整个生命周期过程产生的所有配置项的完整性、 一致性和可追溯性。 配 置管理是对工作成果 (阶段 工作成果和产品成果、 进展状态成果) 的一种有效保护形式,是 反映项目及其工作产品的过去、现在、动态 的资料和数据集中管理体现。 配置管理小组的主要职责包括: 根据项目计划制定配置管理计划, 建立配置库, 为项目 组人员分配配 置库权限,创建需求、设计、开发、测试、交付阶段的基线。当纳入基线库的 工作产品发生变更时,严格按照 配置项变更控制过程执行变更,变更后建立新的基线。 (3)测试小组职责 作为质量控制的主要手段, 如同软件开发一样, 测试在执行之前
7、, 测试小组制定软件测 试计划、测试 用例的编写和执行工作。 本项目中,测试可以分为如下几种类型:代码走查、单元测试、集成测试、系统测试。 为了保证程序的 质量, 开发人员需要对同伴的代码进行代码走查, 同时对自己编写的程序进 行单元测试,确保程序编译、运 行正确。 测试人员根据软件需求分析报告进行软件集成测试用例和系统测试用例的编写。 对编写 完成的测试用例 提交项目组进行评审,同时质量保证人员对评审过程和工作产品进行监 测。 测试人员根据测试计划和测试用例执行测试用例, 并对发现的缺陷进行记录, 只有这样 才能确保项目 组开发的软件产品满足用户需求。 在完成集成测试之后, 可以进行软件系统
8、测 试,系统测试包括对软件进行 功能测试、性能测试、安全测试、压力测试。只有进行了系统 测试软件测试才是完整的。 系统测试在本项目 中占有重要的地位, 性能要求有可能改变软件 的设计,为避免造成软件的后期返工,测试在性能上需要较大 的侧重。 2.3质量保证措施 通过质量管理责任的分配,通过如下几个方面来进行质量保证的实施过程: 2.3.1项目进度 项目计划的制定为工程项目实施、管理和支持工作、项目进度、成本、质量及过程产品 的有效控制打下 了良好的基础, 以便所有相关人员能够按照该计划有条不紊地开展工作; 制 定项目计划 ,必须获得相 关干系人的认可,并以此作为项目跟踪的基础。 项目进度是项目
9、进行是否顺利的最直观表现。 制定合理的项目计划首要前提是选择从事 类似规模和类似 业务项目的有经验的项目负责人参加制定项目进度计划。 项目计划由项目负责人制定,由项目各小组组长、 项目成员、 干系人、 质量保证人员参 加一起进行评 审。 评审过程主要讨论项目计划的可行性, 对其中不合理的地方提出修改意见, 对计划中不合理的地方进行 修改完善, 并由质量保证人员对其结果进行跟踪处理, 以确保项 目计划完整性、可行性,项目计划评审通过 后,交由配置管理人员进行配置管理。 在计划实施过程中, 按项目计划中里程碑为界限, 将整个开发周期划分为若干阶段。 根 据里程碑的完 成情况, 适当的调整每一个较小
10、的阶段的任务量和完成的任务时间, 动态跟踪 和动态调整,以利于项目质量 保证的实施。 实际运作中, 质量保证人员在对项目执行过程进行检查时, 对于发现的项目偏差, 以质 量审计报告的 形式提交项目负责人。 由项目负责人组织人员对计划进行维护, 对于已经变动 的项目计划,由配置管理进行 配置管理。 需求分析 需求分析是开发人员对系统需要做什么和如何做的定义过程。从系统分析的经验来看, 这个过程往往是 个循序渐进的过程, 一次性对系统形成完整的认识是困难的。 只有不断地和 客户领域专家进行交流确认, 方 能逐步明了用户的需求。 从系统开发的过程得知, 系统分析 时犯下的错误, 会在接下来的阶段被成
11、倍的放 大, 越是在开发的后期, 纠正分析时犯下的错 误所花费的代价越是昂贵,也越发影响系统的工期和系统的质 量。 本项目中, 将邀请招标方技术负责人参与需求调研, 以便保证需求调研质量, 同时形成 用户需求说明 书。 需求评审时会同双方管理层、 项目实施层共同进行, 对于通过用户确认的 需求,交由配置管理员形成 需求基线。 用户需求在招标方确认后, 由系统分析人员形成软件需求分析报告, 同时对软件需求分 析报告进行评 审, 对于评审通过的软件需求分析报告可以交由测试人员进行测试计划和测试 用例的编写。 对于开发过程存在的需求变动, 招标方填写变更申请单发给项目经理, 在质量保证人员 参加的情
12、况下, 对这个变更进行评审, 由项目经理组织项目组成员一起讨论实施变更的可行 性及实施后所带来的影响, 对于 影响小的变更直接记录, 大的变更则需要形成正式的变更报 告,无论那种变更都需要对相应的文档实施同步 变更(包括需求分析报告、 系统设计、 安装 手册、操作手册等) 。但是对于无法实现或是变更会带来巨大 的影响而将导致进度的延期, 这时,我们将变更报告提交给招标方并召开协调会议, 讨论变更取舍问题或是 项目进度变更 问题。 决定变更之后, 由项目负责人组织实施变更, 测试人员检测变更结果, 而质量保证人员 监督变更实施 过程, 并协助配置管理员对变更后的成果进行配置管理。 变更实施完后,
13、 运行 前还需要协助用户一同测试 并由招标方签字后同意方可上线。 系统设计 优良的体系结构应当具备可扩展性和可配置性,而好的体系结构则需要好的设计方法, 需要针 对项目的结构、 项目的特征和用户的需求来分析。 本项目中将安排我公司高级系统架 构师担当项目总体设计 师,汇同总体设计组完成系统设计。 另外对公共类模块的开发。 由总体设计组通过对用户需求的仔细研究, 尽可能的识别出 公共类,并进 行定义和设计,以减少重复工作。对于项目组提供的设计文档,由项目经理组 织,质保小组成员参与, 对其 设计文档进行评审, 及时发现设计中可能存在的错误,降低项 目开发风险,同时确保设计文档能为开发人员、 测试
14、人员提供切实的指导。 对于可复用的设计进行提取作为公共库设计和开发, 提供项 目组。最后交 由配置管理员进行设计文档的版本控制。 系统实现 系统实现的目的是依据系统设计文档, 由程序员进行程序编写, 以便实现设计要求, 系 统实现过程中,开发人员需要对模块进行代码走查和交叉单元测试,以保证模块代码质量。软件实现也就是代 码的生产过程。根据上一阶段形成的设计文档,程序员在完成代码之后,可以开始编码并且进行代码走查和单 元测试。 对于测试完成的程序可以交由配置管理人员进 行配置管理。 系统测试 系统开发涉及到一系列的过程,每一个过程都有可能引入缺陷(Bug),本系统质量的好 坏直接关系到正常使用和
15、日后的维护。 在开发过程中, 我们将质量控制贯穿于所有阶段和所 有参与系统的人 员中, 包括系统分析、 设计和编码。 分阶段的评审和测试是软件质量的有力 保障。 系统存在平台测试和应用系统的测试以及最终的测试。 由于测试也存在协调的问题, 如 错误具体定位, 在应用系统发现一个错误, 到底是应用系统的自身的错误还是中间件存在的 错误,需要测试人员进行准确的 判断。 为了达到良好的测试目的, 本系统测试工作由测试组来完成, 主要采用下列方法进行系 统的测试: 从测试方法上来说,分为黑盒测试和白盒测试: 黑盒测试: 着重于测试软件系统的外部特性; 根据系统的设计要求, 每一项功能都要进 行逐个测试
16、, 检查其是否达到了预期的要求, 是否能正确地接受输入, 是否能正确地输出结 果。 白盒测试: 由于软件的所有源代码都要由项目组成员编写, 对其内部的逻辑规则和数据 流程,都要进 行测试,以检查其代码编写是否符合设计要求。 从测试策略上来说分为集成测试和系统测试: 集成测试:在所有模块都通过了单元测试后,将各个模块 组装在一起,进行组装测试, 用于发现与接口相联系的问题。 在通过组装测试后, 将经过单元测试的模块组 装成一个符合 设计要求的软件结构。 系统测试: 在本项目通过了以上的测试步骤后,与其它系统元素(如硬件服务器、 网络 系统等) 进行 集成测试和系统级的确认测试, 将各种可能的缺陷
17、完全排除掉, 从根本上保证 系统的长期稳定运行。 系统维护 本项目中, 技术支持小组的任务一方面是保证对项目客户的跟踪服务, 另一方面是确保 该项目的技术 咨询工作。 系统维护期, 对于一般性的错误, 如操作不当等引起的问题, 全部由技术支持小组执行 完成,但需要 用户测试确认上线。如果较大的修改则需要走变更控制流程,填写变更申请,经项目组讨论分析可行方案在由 技术支持小组实施, 通过测试后方可提交用户。 在这个过程 中质量人员需要对维护过程和维护记录单进行检 查。 3项目进度保证方案 3.1加强项目进度管理 为保证项目按期完成, 通过制定项目里程碑管理运行表、 定期举行项目状态会议、 比较
18、各项任务的实 际开始日期与计划开始日期是否吻合、 确定正式的项目里程碑是否在预期完成 等方式加强项目进度管理。 3.2控制项目进度措施 项目经理一定对整个项目的开发周期有一个清楚的了解, 把任务的划分一定要一天 为单位,不要一模块 为单位,而每天无论是开发人 员还是测试人员,都要对自己的工作有 一个大致的估计。 即每天下午, 有项 目经理组织开发人员进行系统的了解, 并且作好相应的 记录。对已经解决的问题一定要一 个详细的记录。而 对没有解决的问题一定要重视起来。 不要向后退。找到根本的原因所在。 加强沟通和交流,项目经理一定要多多与开发人员进行交流,要调动其的积极性, 让他们学会问题该如 何解决, 不要让他等待问题的解决。 了解其实际的进展以及对开发工具 的熟练程度,这对以后的任务的重新 安排有重要的借鉴意义。 把一些难点提出, 让大家共同克服, 或者有一些技术比较精通的人来解决。 解决完 以后一定, 让大 家都熟悉其编程思路。而对经常用的知识点, 一定有详细的说明。 这样实现 资源的共享。 做好项目的总结,无论是难点还是不难,只要有问题,一定要提出,并且解决完以 后一定让大家都熟悉, 这样有助于大家的技术水平的提高。 做到日清日结,是保证项目进度的关键所在。