软件开发工作规范章程
软件开发工作规范章程软件开发工作规范章程 1 1编写目的编写目的 本文档是开发团队的日常工作规范, 主要侧重开发工作流程的控制, 明确软件工程的各 阶段开发团队应完成的工作。开发技术和策略等问题不在本文档描述范围内。 2 2开发团队构成开发团队构成 2.12.1职职责责 肩负着如下责任: 负责开发项目的系统分析、研发与组织实施。 负责开发符合要求的软件。 制定软件开发规范。 协助相关应用软件的安装调试工作。 2.22.2角角色划分色划分 在人力资源有限的情况下,一个团队成员可能会同时承担多个角色。 角色名称角色名称相关主要责任相关主要责任 负责研发团队建设 负责研发项目的工作分工、实施、监控及后续完善工作 参与确定研发产品的种类,并制定研发产品的相关标准及 研发工作计划 开发组长 负责技术路线与方向 完成研发过程中的其他任务 超出能力权限向上一级汇报 根据项目情况,向所属组制定技能提升计划并实施 负责研发特性的工作分工、实施、监控及后续完善工作 特性负责人制定特性的软件开发技术规范及研发工作计划 负责《详细设计》的编写。 按期、按预算交付高质量的产品 建设有凝聚力团队环境,并促使高效的团队协作 负责软件实施规范执行 根据开发规范实施开发工作 软件的程序设计、代码编写与单元测试。 协助《详细设计》的编写。 软件研发工程师承担开发任务,按计划完成任务目标。 配合系统分析人员完成软件系统以及模块的需求调研、需 求分析。 协助测试人员完成软件系统及模块的测试。 3 3工作流程及规范工作流程及规范 3.13.1需需求澄清求澄清 过程要点过程要点 输入条件 工作内容 详细说明详细说明 需求规格说明书和里程碑 软件研发工程师按照需求规格说明书要求,分析并且划分出各个功 能点,分析出以后与需求、设计人员进行需求的澄清与反澄清 , 编 制开发计划 退出标准 责任人 开发人员对需求无异议,输出《开发计划》 、 《功能说明》 需求分析师、特性负责人、软件研发工程师、特性测试负责人、客 户 3.23.2编编码阶段码阶段 3.2.13.2.1开发规范开发规范 过程要点过程要点 输入条件 工作内容 详细说明详细说明 《需求规格说明书》 、 《概要设计》 、 《开发计划》 、 《功能说明》 开发规范的学习,开发环境的搭建及培训,开始工程建立。 退出标准开发规范学习完成,开发环境搭建完成,开发工程建立完成,并完 成培训 责任人特性负责人、软件研发工程师、架构师 3.2.23.2.2开发环境准备开发环境准备 过程要点过程要点 输入条件 工作内容 退出标准 责任人 详细说明详细说明 开发环境的搭建及培训,开始工程建立 开发环境建设完成,开发工程建立完成,并完成培训 开发环境建设完成 特性负责人、软件研发工程师 3.2.33.2.3详细设计详细设计 过程要点过程要点 输入条件 工作内容 详细说明详细说明 《需求规格说明书》 、 《概要设计》 根据《需求规格说明书》 、 《概要设计》对负责模块进行《详细设计》 和完成《业务流程图》 退出标准 责任人 完成《详细设计》和《业务流程图》 特性负责人、软件研发工程师 3.2.43.2.4编码编码 过程要点过程要点 输入条件 详细说明详细说明 《需求规格说明书》 、 《概要设计》 、 《开发计划》 、 《功能说明》 、开 发环境、开发规范 工作内容对模块进行编码实现,完成《详细设计》 , 《业务流程图》 。编码需 遵循《开发规范》等。 退出标准 责任人 完成编码,输出源代码、 《详细设计》 , 《业务流程图》 特性负责人、软件研发工程师 3.2.53.2.5单元测试单元测试 过程要点过程要点 输入条件 工作内容 退出标准 详细说明详细说明 模块源码 对开发模块进行单元测试,如果测试不通过,对程序进行缺陷修复 单元测试的代码行和条件覆盖率达到 80%以上,所有的单元测试都 通过。 责任人特性负责人、软件研发工程师 3.2.63.2.6代码走查代码走查 过程要点过程要点 输入条件 工作内容 详细说明详细说明 单元测试完成 按各类规范文档与《需求规格说明》 ,对开发模块的编码进行代码 走查,如有问题,退回到编码阶段进行缺陷修复 退出标准 责任人 代码走查完成,提交代码 特性负责人、软件研发工程师 3.2.73.2.7持续集成测试持续集成测试 过程要点过程要点 输入条件 工作内容 详细说明详细说明 提交代码 持继集成环境对提交的代码进行持续集成测试。如果出现失败,立 即进行修复。直到持续集成环境通过。 退出标准 责任人 完成模块的集成并且集成测试通过 特性负责人、软件研发工程师、配置管理员、测试负责人 3.33.3交交付测试付测试 过程要点过程要点 输入条件 工作内容 详细说明详细说明 通过持续集成测试 通知测试组,由测试组进行其他测试。并根据测试报告对程序进行 修复。 退出标准 责任人 测试报告通过项目组评审 开发组组长、特性负责人、软件研发工程师、测试负责人、需求负 责人、QA 3.43.4缺缺陷修复陷修复 过程要点过程要点 输入条件 工作内容 退出标准 责任人 详细说明详细说明 测试报告 根据测试报告修复程序相应缺陷 缺陷修复完成,单元测试、集成测试通过 开发组组长、特性负责人、软件研发工程师、测试负责人、需求负 责人、QA 3.53.5开开发验收发验收 过程要点过程要点 输入条件 工作内容 退出标准 详细说明详细说明 通过所有测试 约定的验收组成员,对本次开发进行验收 验收内容包括: 开发效果验收——开发是否达到预期目的 开发文档验收——开发过程文档是否齐全,符合标准 开发评估——从总体对开发的质量进行评估 开发建议——对本次开发工作指出不足,需要在以后工作中改 进的地方 宣布开发结束——开发验收组成员签字宣布本次开发结束 责任人 QA、开发组长、测试组长、特性负责人、需求负责人、客户 3.63.6运运维阶段维阶段 过程要点过程要点详细说明详细说明 输入条件 工作内容 已上线 根据运维人员提供的问题反馈单,修改程序缺陷 根据运维人员提供的需求变更单,对新功能进行开发 配合测试进行新增功能和缺陷的测试 配合配置管理员进行版本的维护 退出标准 责任人 运维合同期满 特性负责人、软件工程师、运维人员、测试人员、配置管理员 4 4SVNSVN 管理工作流程规范说明管理工作流程规范说明 开始结束 否 trunk提交运行维护 否 是否完成 是否有紧急 需求/缺陷 否 是是 从问题tags中拉 出分枝 branches 转tag 交付测试 是否测试通 过 branches修复 提交 是否 发布正常版本是否完成 否 转tags 交付测试 是否测试通 过 是 发布紧急版本 合并代码到 trunk 解决冲突 ProjectA Code Trunk BranchesBranch_20150408001_1.0.1 Branch_20150403001_1.0.0 Tags1.0.1 1.0.0 如上 2 图所示,软件开发工程师首先在 Trunk 库中进行开发,开发完成后转 到 Tags 交付测试,如果不通过,继续返回到 Trunk 库中进行修复,如果通过, Tags 发布一个正常版本。 正常版本如果有新需求