1、代 号名 称 软件开发规范单 位 航天恒星编 写校 对审 核标 审批 准航天恒星科技有限公司编 号密 级阶 段页 数 6文档控制变更记录版本号 日期 作者 段落、图 或表 增加/ 修改/删除 简单描述 更改申请单号I目 录1 编写目的.22 开发团队构成.22.1 职责 22.2 角色划分 23 工作流程及规范.33.1 需求澄清 33.2 编码阶段 33.2.1 开发规范 33.2.2 开发环境准备 43.2.3 详细设计 43.2.4 编码 43.2.5 单元测试 53.2.6 代码走查 53.2.7 持续集成测试 53.3 交付测试 63.4 缺陷修复 63.5 开发验收 63.6 运维
2、阶段 74 管理办法.75 标准文档.86 SVN 管理工作流程规范说明 .92软件开发工作规范1 编写目的本文档是开发团队的日常工作规范,主要侧重开发工作流程的控制,明确软件工程的各阶段开发团队应完成的工作。开发技术和策略等问题不在本文档描述范围内。2 开发团队构成2.1 职责肩负着如下责任: 负责开发项目的系统分析、研发与组织实施。 负责开发符合要求的软件。 制定软件开发规范。 协助相关应用软件的安装调试工作。2.2 角色划分在人力资源有限的情况下,一个团队成员可能会同时承担多个角色。角色名称 相关主要责任 负责研发团队建设开发组长 负责研发项目的工作分工、实施、监控及后续完善工作 参与确
3、定研发产品的种类,并制定研发产品的相关标准及研发工作计划 负责技术路线与方向 完成研发过程中的其他任务 超出能力权限向上一级汇报 根据项目情况,向所属组制定技能提升计划并实施特性负责人 负责研发特性的工作分工、实施、监控及后续完善工作 制定特性的软件开发技术规范及研发工作计划 负责详细设计的编写。3 按期、按预算交付高质量的产品 建设有凝聚力团队环境,并促使高效的团队协作 负责软件实施规范执行软件研发工程师 根据开发规范实施开发工作 软件的程序设计、代码编写与单元测试。 协助详细设计的编写。 承担开发任务,按计划完成任务目标。 配合系统分析人员完成软件系统以及模块的需求调研、需求分析。 协助测
4、试人员完成软件系统及模块的测试。3 工作流程及规范3.1 需求澄清过程要点 详细说明输入条件 需求规格说明书和里程碑工作内容 软件研发工程师按照需求规格说明书要求,分析并且划分出各个功能点,分析出以后与需求、设计人员进行需求的澄清与反澄清, 编制开发计划退出标准 开发人员对需求无异议,输出开发计划 、 功能说明责任人 需求分析师、特性负责人、软件研发工程师、特性测试负责人、客户3.2 编码阶段3.2.1 开发规范过程要点 详细说明输入条件 需求规格说明书 、 概要设计 、 开发计划 、 功能说明工作内容 开发规范的学习,开发环境的搭建及培训,开始工程建立。4退出标准 开发规范学习完成,开发环境
5、搭建完成,开发工程建立完成,并完成培训责任人 特性负责人、软件研发工程师、架构师3.2.2 开发环境准备过程要点 详细说明输入条件 开发环境的搭建及培训,开始工程建立工作内容 开发环境建设完成,开发工程建立完成,并完成培训退出标准 开发环境建设完成责任人 特性负责人、软件研发工程师3.2.3 详细设计过程要点 详细说明输入条件 需求规格说明书 、 概要设计工作内容 根据需求规格说明书 、 概要设计对负责模块进行详细设计和完成业务流程图退出标准 完成详细设计和业务流程图责任人 特性负责人、软件研发工程师3.2.4 编码过程要点 详细说明输入条件 需求规格说明书 、 概要设计 、 开发计划 、 功
6、能说明 、开发环境、开发规范工作内容 对模块进行编码实现,完成详细设计 , 业务流程图 。编码需遵循开发规范等。退出标准 完成编码,输出源代码、 详细设计 , 业务流程图责任人 特性负责人、软件研发工程师53.2.5 单元测试过程要点 详细说明输入条件 模块源码工作内容 对开发模块进行单元测试,如果测试不通过,对程序进行缺陷修复退出标准 单元测试的代码行和条件覆盖率达到 80%以上,所有的单元测试都通过。责任人 特性负责人、软件研发工程师3.2.6 代码走查过程要点 详细说明输入条件 单元测试完成工作内容 按各类规范文档与需求规格说明 ,对开发模块的编码进行代码走查,如有问题,退回到编 码阶段
7、进行缺陷修复退出标准 代码走查完成,提交代码责任人 特性负责人、软件研发工程师3.2.7 持续集成测试过程要点 详细说明输入条件 提交代码工作内容 持继集成环境对提交的代码进行持续集成测试。如果出现失败,立即进行修复。直到持续集成环境通过。退出标准 完成模块的集成并且集成测试通过责任人 特性负责人、软件研发工程师、配置管理员、测试负责人3.3 交付测试过程要点 详细说明输入条件 通过持续集成测试6工作内容 通知测试组,由测试组进行其他测试。并根据测试报告对程序进行修复。退出标准 测试报告通过项目组评审责任人 开发组组长、特性负责人、软件研发工程师、测试负责人、需求负责人、QA3.4 缺陷修复过
8、程要点 详细说明输入条件 测试报告工作内容 根据测试报告修复程序相应缺陷退出标准 缺陷修复完成,单元测试、集成测试通过责任人 开发组组长、特性负责人、软件研发工程师、测试负责人、需求负责人、QA3.5 开发验收过程要点 详细说明输入条件 通过所有测试工作内容 约定的验收组成员,对本次开发进行验收退出标准 验收内容包括: 开发效果验收开发是否达到预期目的 开发文档验收开发过程文档是否齐全,符合标准 开发评估从总体对开发的质量进行评估 开发建议对本次开发工作指出不足,需要在以后工作中改进的地方 宣布开发结束开发验收组成员签字宣布本次开发结束责任人 QA、开发组长、测试组长、特性负责人、需求负责人、
9、客户3.6 运维阶段7过程要点 详细说明输入条件 已上线工作内容 根据运维人员提供的问题反馈单,修改程序缺陷 根据运维人员提供的需求变更单,对新功能进行开发 配合测试进行新增功能和缺陷的测试 配合配置管理员进行版本的维护退出标准 运维合同期满责任人 特性负责人、软件工程师、运维人员、测试人员、配置管理员4 管理办法 所有成员必需遵守软件开发规范、编码规范。由项目管理组、技术委员会负责监督执行。特性负责人需要对特性及特性小组成员负责。 特性负责人需对组内成员进行开发规范、编码规范进行培训,如发现由于特性负责人的原因造成特性小组内成员违反相关规范,由特性负责人组织相关人员培训(非工作时间) ,并支
10、付培训活动经费(50 元标准,上不封顶,用于培训人员的零食) 。 提交到 SVN 库时,必需按 SVN 库提交规范。如违反本条,处以 10 元/次罚款。 提交的代码必需符合部门的编程规范,必需通过单元测试,代码行、条件覆盖率达到 80%以上,代码完成的业务必需与需求相符。如违反本条,加班学习规范并处以 10-20 元/次罚款。代码走查,每漏掉 5 个问题,处 10 元罚款。 如持续集成环境宕掉的,经分析,对造成宕机的主要责任人视情况处以0-20 元罚款。 每月对特性组和个人进行考核,对排在前列的特性组及个人,予以表扬(物质?绩效?) ,对最末的组织培训与考试(非工作时间) 。 所有的罚款均用做
11、部门活动经费。85 SVN 管理工作流程规范说明开始t r u n k 提交是否完成否是转 t a g交付测试是否测试通过否是发布正常版本运行维护是否有紧急需求 / 缺陷是从问题 t a g s 中拉出分枝b r a n c h e sb r a n c h e s 修复提交是否完成否转 t a g s交付测试是否测试通过是发布紧急版本否合并代码到t r u n k解决冲突否结束9C o d eT r u n kB r a n c h e sT a g sB r a n c h _ 2 0 1 5 0 4 0 8 0 0 1 _ 1 . 0 . 1B r a n c h _ 2 0 1 5 0 4 0 3 0 0 1 _ 1 . 0 . 01 . 0 . 11 . 0 . 0P r o j e c t A如上 2 图所示,软件开发工程师首先在 Trunk 库中进行开发,开发完成后转到 Tags 交付测试,如果不通过,继续返回到 Trunk 库中进行修复,如果通过,Tags 发布一个正常版本。正常版本如果有新需求和缺陷,从问题 Tags 中拉出一个 Branchs,软件开发工程师在这个 Branchs 中进行新需求、缺陷的开发和修复,开发完成后转Tags 交付测试,测试通过后发布紧急版本。最后,在软件组长或特性负责人的指导下,合并代码到 Trunk。