《开发流程规范按角色》由会员分享,可在线阅读,更多相关《开发流程规范按角色(36页珍藏版)》请在金锄头文库上搜索。
1、开发流程规范质控测试室交易业务支撑部2014年09月282 开发准备开发准备开发准备开发准备01 编码调试编码调试编码调试编码调试02 单元测试单元测试单元测试单元测试03 代码审查代码审查代码审查代码审查04 系统集成系统集成系统集成系统集成05目录3开发准备概述细化开发计划:包括编程计划、单元测试计细化开发计划:包括编程计划、单元测试计划、代码审查计划、系统集成计划划、代码审查计划、系统集成计划制定开发规范:从展示系统上取组织级的规制定开发规范:从展示系统上取组织级的规范(范(C+C+编程规范、编程规范、JavaJava开发规范、开发规范、shellshell开开发规范等)进行裁剪后确定项
2、目组的开发规发规范等)进行裁剪后确定项目组的开发规范。范。开发环境的准备:包括对代码审查、单元测开发环境的准备:包括对代码审查、单元测试的要求试的要求4 制定开发计划沟通计划沟通计划系统资源计划系统资源计划单元测试计划单元测试计划代码审查计划代码审查计划配置计划配置计划系统集成计划系统集成计划开发总体开发总体计划计划项目经理依据项目规模确定项目开发小组,确定每个项目开发小组的小组负责人(开发组长),对小组的工作目标进行明确,细化开发总体计划编程计划编程计划5 开发计划评审开发总体计划评审开发总体计划评审评审,一般分为三种形式进行:正式的技术评审,一般会议评审和邮件评审。总体测试计划为正式的技术
3、评审流程如右图:参与评审的人员有:1.项目经理2.开发组员3.设计组长4.需求组长5.测试组长6.QA6 开发计划入库SVN入库内容:评审结束前需制定评审计划,并入库到SVN上开发总体计划评审结束需要归档入库 SVN上评审结束后输出评审报告,并入库到SVN上SVN入库路径:u开发总体计划入库到SVN的目录: XXXX项目trunkdoc02_管理文档01_项目管理01_项目计划u评审计划以及评审报告入到SVN的目录: XXXX项目trunkdoc03_技术文档15_评审记录07_计划评审开发计划入库开发计划入库7Java开发规范C+编程规范shell开发规范开发组长组织开发小组确定编程规范,例
4、如C+编程规范、Java开发规范、shell开发规范等。制定开发规范8开发规范入库SVN入库内容:开发规范制定后需经过评审后入到SVN库上SVN入库路径:u开发规范入库到SVN的目录: XXXX项目trunkdoc02_管理文档06_开发规范开发过程规范说明:如果机构已经存在相应的编程规范且符合项目的实际情况,则采用之如果机构不存在相应的编程规范或与项目实际情况有所差异,则由开发小组共同制定开发规范入库开发规范入库9 质量控制质量控制内容内容问题跟踪缺陷跟踪控制代码走查单元测试制定开发质量控质办法开发组长牵头组织开发小组、质量控制组共同确定开发过程开发质量控制办法。10开发质量控制办法入库SV
5、N入库内容:开发质量控制办法制定后需经过评审后入到SVN库上SVN入库路径:u开发质量控制办法入库到SVN的目录: XXXX项目trunkdoc 02_管理文档06_开发规范u会议评审记录SVN的目录: XXXX项目trunkdoc 03_技术文档14_评审记录08_其它评审记录说明:如果机构已经存在相应的质量控制办法且符合项目的实际情况,则采用之如果机构不存在相应的质量控制办法或与项目实际情况有所差异,则由开发小组共同制定质量控制办法入库质量控制办法入库11开发组长协调集成组协助开发小组完成开发环境的准备开发组需要整理开发环境的需求并提交给集成组,包括对主机、存储、 第三方软件等方面的需求集
6、成人员完成开发环境部署开发人员需确认开发环境的正确性和完备性开发环境准备过程开发环境准备过程开发环境准备12开发培训开发组长根据小组开发的范围和要求,了解组员的技能、业务背景,确定开发培训的内容和计划。根据培训计划,组织给开发人员的培训,内容一般包括业务背景、技术技能、框架知识、开发工具、开发环境等。u培训材料入库到SVN的目录: XXXX项目04_培训文档13 开发准备开发准备开发准备开发准备01 编码调试编码调试编码调试编码调试02 单元测试单元测试单元测试单元测试03 代码审查代码审查代码审查代码审查04 系统集成系统集成系统集成系统集成05目录14编码调试概述架构设计和模块设计已经完成
7、之后,由开发组长组织开发人员进入编码编码调试包括:代码编写、代码调试,并且通常需要反复迭代编码调试过程中要注意缺陷跟踪和改错15详细设计文档编程日志编译通过、可以启动的程序和相应代码代码编写与调试开发人员根据“编程计划”编写软件的代码开发人员在编写完成每个模块时,必须对自己的代码进行必要的审查和调试开发人员在编写完成每个模块时,必须对自己的代码进行必要的审查和调试16代码入库SVN入库内容:编译通过、可以启动的程序和相应代码需库到SVN上;开发编写详细设计文档经评审后需要归档入库 SVN上;SVN入库路径:u编译通过的代码入库到SVN的目录: XXXX项目trunkcodeu详细设计文档入到S
8、VN的目录: XXXX项目trunkdoc03_技术文档04_详细设计u会议评审记录SVN的目录: XXXX项目trunkdoc03_技术文档14_评审记录04_IDD评审记录代码入库代码入库17 开发准备开发准备开发准备开发准备01 编码调试编码调试编码调试编码调试02 单元测试单元测试单元测试单元测试03 代码审查代码审查代码审查代码审查04 系统集成系统集成系统集成系统集成05目录18单元测试概述详细设计文档完成之后,开发组长可组织详细设计文档完成之后,开发组长可组织单元测试案例的编写;单元测试案例的编写;编码调试结束后,则执行单元测试案例,编码调试结束后,则执行单元测试案例,记录单元测
9、试结果,开发人员记录单元测试结果,开发人员根据测试根据测试结果结果则进行相应的修改。则进行相应的修改。19编写并执行单元测试用例单元测试用例需保证覆盖到一定百分比(参看质量目标)以上修改的单元测试用例需保证覆盖到一定百分比(参看质量目标)以上修改的或增加的代码或增加的代码如果项目有详细设计文档,则编写单元测试用例在编写代码前进行;如果项目有详细设计文档,则编写单元测试用例在编写代码前进行;否则编写单元测试用例在编写代码之中或之后进行否则编写单元测试用例在编写代码之中或之后进行由开发组和测试组共同挑选出优先级较高和较典型的一部分案例作为由开发组和测试组共同挑选出优先级较高和较典型的一部分案例作为
10、开发阶段的预测试案例,并纳入开发阶段单元测试案例范围开发阶段的预测试案例,并纳入开发阶段单元测试案例范围单元测试案例需要模块负责人审核通过单元测试案例需要模块负责人审核通过用例编写要求用例编写要求20执行单元测试开发人员对自己编写的代码进行单元测试:开发人员对自己编写的代码进行单元测试:l执行单元测试案例,记录相应的处理结果执行单元测试案例,记录相应的处理结果l如有单元测试案例不通过,则修改相关的缺陷如有单元测试案例不通过,则修改相关的缺陷l单元测试阶段,开发人员必须保证测试组提供的预测试案例可以全部通过单元测试阶段,开发人员必须保证测试组提供的预测试案例可以全部通过 单元测试案例执行情况需要
11、模块负责人跟踪并确保质量单元测试案例执行情况需要模块负责人跟踪并确保质量用例执行说明用例执行说明21单元测试交附件入库SVN入库内容:单元测试案例编写后开发内部需进行评审,并将评审后的案例入库到SVN上;评审产生的会议纪要和用评审结果报告需入库到SVN库上;执行后的用例结果表同样需入到SVN库上;SVN入库路径:u单元测试用例入库到SVN的目录: XXXX项目03_技术文档05_单元测试01_单元测试用例u单元测试报告SVN的目录: XXXX项目03_技术文档05_单元测试03_单元测试报告u会议评审记录SVN的目录: XXXX项目03_技术文档14_评审记录06_测试用例评审记录案例入库案例
12、入库22 开发准备开发准备开发准备开发准备01 编码调试编码调试编码调试编码调试02 单元测试单元测试单元测试单元测试03 代码审查代码审查代码审查代码审查04 系统集成系统集成系统集成系统集成05目录23代码审查概述代码审查包括两种方式:代码静态工具检代码审查包括两种方式:代码静态工具检查和代码人工评审查和代码人工评审代码静态检查子过程包括以下活动:安装代码静态检查子过程包括以下活动:安装代码静态检查工具、对代码进行静态检代码静态检查工具、对代码进行静态检查并输出检查报告、检查缺陷修改情况。查并输出检查报告、检查缺陷修改情况。代码人工评审子过程包括以下活动:确定代码人工评审子过程包括以下活动
13、:确定审查范围、编写代码审查列表、代码审审查范围、编写代码审查列表、代码审查。查。单元测试完成后,开发组长确定代码审查的人员,制定代码审查计划,组织单元测试完成后,开发组长确定代码审查的人员,制定代码审查计划,组织进行代码审查,输出相应的报告。进行代码审查,输出相应的报告。24制定代码审查计划制定代制定代制定代制定代码审查计码审查计划划划划开发组长结合项目的裁剪报告以及项目的实际情况,制定代码审 查计划代码审查计划的内容应包括:代码审查方式、范围以及时间安排确定后提交项目组进行审核代码审查方式和范围制定的标准代码审查方式和范围制定的标准所有开发人员入库的代码必须进行静态检查。如果复用之前的代码
14、则无须进行,避免代码修改影响到老系统在项目裁剪时人工评审活动属于可裁剪项,当项目紧急时,可以不做人工评审或者只选取部分核心代码进行审查25准备环境准备环境检查代码并输出检查代码并输出报告报告检查缺陷修改情况检查缺陷修改情况开发组长组织进行代码静态检查,相关开发人员按照代码静态工具检查指南安装相应的代码静态检查工具。目前C+代码使用CppCheck进行检查,JAVA代码使用FindBugs进行检查,圈复杂度使用SourceMonitor进行统计使用相应的工具对代码进行静态检查,工具自动生成报告,采集报告中的数据,按照代码静态检查报告模板输出相应的检查报告,QA在审计时会检查相关报告;代码静态检查
15、需要至少进行两轮的检查,在开发阶段完成后,QA会对代码静态检查活动以及检查报告的完整性以及准确性进行审计,必要时,QA会抽查部分项目的检查结果开发人员对于检查出来的问题进行修改,其中:l高级警告必须进行修改; l低级警告视实际情况选择是否进行修改; l对于圈复杂度高的模块,如果没有特殊要求需要进行优化; l检查出来的问题修改完后应再进行一次代码检查,并且按照要求输出相应的检查报告。静态工具检查26确定审查范围确定审查范围人工评审需要在每个开发人员用代码静态检查工具检查自己的代码无高级警告之后再开始进行。编写代码审查列表编写代码审查列表代码审查代码审查开发组长(或者架构师)组织项目主要技术人员,
16、对于项目中技术和模块的重要程度进行分析,结合当前项目实际情况,确定代码评审的范围和评审的方式。例如,核心技术和核心模块必须代码评审,非核心模块走查等。对于需要纳入的部门技术资源池的核心代码,需要严格按照部门技术资产管理相关流程进行代码评审。根据项目的实际情况编写代码审查列表,列表中可以涉及对代码各个方面的问题,如业务需求点、改造点、格式、算法效率、内存使用等等。此外,代码审查列表页可以直接用公共既定的审查列表,或者在之前的审查列表上进行更新。开发组根据项目需求以及模块的重要性,确定代码审查范围、方式和计划,开发人员进行代码审查,并将结果填入代码审查列表中。如发现代码审查不通过,记录在代码评审报
17、告中,并且开发人员修改相关的缺陷。人工评审27代码审查文档入库代码审查代码审查入库入库SVN入库内容:开发人员需对评审后的代码入库到SVN上;SVN入库路径:u代码评审记录入库到SVN的目录: XXXX项目trunkdoc 03_技术文档14_评审记录05_代码评审记录28 开发准备开发准备开发准备开发准备01 编码调试编码调试编码调试编码调试02 单元测试单元测试单元测试单元测试03 代码审查代码审查代码审查代码审查04 系统集成系统集成系统集成系统集成05目录29系统集成概述完成单元测试、代码审查后,即模块开发完成单元测试、代码审查后,即模块开发已基本完成,由开发组长指定开发人员已基本完成
18、,由开发组长指定开发人员搭建集成环境,进行系统集成,确保模搭建集成环境,进行系统集成,确保模块、组件之间的接口兼容性,编写块、组件之间的接口兼容性,编写Deployguide,并形成可以交付测试组,并形成可以交付测试组的程序和组件。的程序和组件。系统集成子过程包括以下活动:系统集成子过程包括以下活动:制定系统集成计划、搭建集成环境、系统集制定系统集成计划、搭建集成环境、系统集成。成。30制定系统集成计划系统集成计划应该与项目总体计划、开发计划中的进度、资源安排等系统集成计划应该与项目总体计划、开发计划中的进度、资源安排等一致一致根据各组件、模块的可用性、模块之前的依赖性、测试设备、规程、根据各
19、组件、模块的可用性、模块之前的依赖性、测试设备、规程、集成环境及人员技能等选择相应集成顺序方案以及集成阶段完成的标集成环境及人员技能等选择相应集成顺序方案以及集成阶段完成的标准准由项目经理、设计人员、开发人员、测试人员评审集成计划由项目经理、设计人员、开发人员、测试人员评审集成计划集成计划包括前期的模块集成计划、以及后期的系统集成计划包括前期的模块集成计划、以及后期的系统/外围接口集成计外围接口集成计划划制定系制定系制定系制定系统统集成集成集成集成计计划划划划31开发人员识别产品集成环境需求,包括数据库、主机、产品环境、数据开发人员识别产品集成环境需求,包括数据库、主机、产品环境、数据迁移等迁
20、移等集成人员根据开发人员提交的集成环境需求进行环境搭建,环境搭建不集成人员根据开发人员提交的集成环境需求进行环境搭建,环境搭建不仅包括系统本身环境搭建,还需要包括外部系统的集成环境搭建仅包括系统本身环境搭建,还需要包括外部系统的集成环境搭建开发人员部署应用开发人员部署应用开发人员检查、验证测试环境开发人员检查、验证测试环境搭建集成搭建集成搭建集成搭建集成环环境境境境搭建集成环境32功能模块集成开完完成并完成单元测试后,以模块为单为进行集成;功能模块集成包括数据库、中间件、公共组件、子模块之间的集成,确保模块内部接口的准确性和健壮性;编写该模块的Deploy guide,包括环境变量设置、创建路
21、径、新建数据库对象、部署应用等内容;评审并修订该模块的deploy guide提交功能模提交功能模提交功能模提交功能模块块测试测试功能模功能模功能模功能模块块集成集成集成集成根据功能规格说明书和可运营系统的现有实现编写用户手册、帮助文档、培训教材;手册编写完成之后,开发组长应组织人员对手册进行评审;模块集成完以后,程序提交测试前,需要给测试提供模块实现的相关培训;开发完成模块的开发、单元测试,并且完成了模块内部的集成测试以后,提交代码和Deploy guide给测试组进行模块功能测试33系统系统/ /外围接口集成外围接口集成模块开发和集成完成后需对整个系统进行集成,一般包括:后台集成、前台集成
22、、前后台集成,确保整个系统业务功能的实来;系统集成完成之后,需对该系统与其它系统外围接口进行集成,确保与其它系统交互的准确性;根据系统集成结果采用模板完善系统的Deploy guide,包括环境变量设置、创建路径、新建数据库对象、部署应用等内容;评审并修订该模块的deploy guide提交功能模提交功能模提交功能模提交功能模块块测试测试功能模功能模功能模功能模块块集成集成集成集成根据功能规格说明书和通过模块测试的系统完善用户手册、帮助文档、培训教材;手册编写完成之后,开发组长应组织人员对手册进行评审;系统集成完以后,程序提交测试前,需要给测试提供模块实现的相关培训;开发完成系统集成测试和外部
23、接口的测试以后,提交代码和系统集成Deploy guide给测试组进行系统集成测试34系统集成交附件入库SVN入库内容:系统 集成完成后需提供给测试组使用的deploy guide 入库到SVN上;deploy guide需经评审,评审产生的会议纪要和评审结果报告需入库到SVN库上;用户手册、帮助文档、培训教材等同样经评审需入至SVN库上SVN入库路径:udeploy guide入库到SVN的目录: XXXX项目trunkdoc 03_技术文档12_部署文档u用户手册、帮助文档入到SVN的目录: XXXX项目trunkdoc03_技术文档11_系统割接u评审记录入库到SVN的目录: XXXX项目trunkdoc 03_技术文档14_评审记录08_其它评审记录系统集成交附件入库系统集成交附件入库35Q&A在哪里可以查看标准规范?在哪里可以查看标准规范? 统一工单系统一工单系统统快速导航快速导航部门制度部门制度相关交附件文档模版在哪?相关交附件文档模版在哪?XXXX项目项目tags文档模板文档模板2024/9/2436谢谢 谢谢 !