公司软件开发管理规定文件编码(008-TTIG-UTITD-GKBTT-PUUTI-WYTUI-8256)X X公司软件开发管理制度XX公司软件开发管理制度版本:SDM审批:QA经理[时间]CTO [时间]目录1.目的和作用 32.适用范围: 33. 参考文件 34.适用对象 35.软件开发流程 4可行性研究与计划 4实施 4文档 4应交付的文档 4提交步骤 4需求分析 4实施 4要求 5交付文档 5审批 5概要设计 5实施 5要求 6交付文档 6补充说明 6审批 6详细设计 7实施 7要求 7文档 7审批 7实现 7实施与要求 7交付文档 8审批 8组装测试 8实施 8要求 8交付文档 8审批 8确认测试 9实施 9要求 9交付文档 9补充说明 9审批 9发布 10过程 10文档 10审核 10交接 106. 附录1:项目文档清单 11 1.目的和作用本流程详细规定软件开发程的各个阶段及每一阶段的任务、要求、交付文件,使整个软件开发过程阶段清晰、要求明确、任务具体,实现软件开发过程的标准化。
2.适用范围:公司的软件开发产品均适用。
3. 参考文件各种文档模板文档命名规则交接流程4.适用对象软件管理人员,软件开发人员,软件维护人员5.软件开发流程可行性研究与计划实施软件开发部分析人员进行市场调查与分析,确认软件的市场需求在调查研究的基础上进行可行性研究,写出可行性报告评审和审批,决定项目取消或继续若项目可行,制订初步的软件开发计划,建立项目日志根据市场环境、公司软硬件情况预测十大风险因素文档应交付的文档1)可行性研究报告*2)初步的软件开发计划3)十大风险列表*4)软件项目日志*提交步骤1) 适用于以后各阶段的文档提交。
2) 项目相关文档用sourcesafe进行版本管理,相关书写人员可根据各文档模板形式撰写文档,正式提交的文档以存入软件管理服务器相关目录时间为准。
以后每次修改都应注明修改内容。
需求分析实施调查被开发软件的环境软件开发提出的需求进行分析并给出详细的功能定义做出简单的用户原型,与用户共同研究,直到用户满意对可利用的资源(计算机硬件、软件、人力等)进行估计,制定项目进度计划(可有相应的缓冲时间)制定详细的软件开发计划QA部门制订质量控制计划和测试计划编写初步的用户手册评审要求必须以运行环境为基础应有用户指定人员参加需求说明书必须明确,并经过用户确认交付文档1)软件需求说明书2)用户手册(概要)*3)更新后的软件开发计划4)项目进度计划*5) QA计划6)测试计划*7)更新后的十大风险列表*8)软件日志*审批经评审通过的各项内容形成相应的文档后,提交给项目经理审核确认软件需求说明书经项目经理确认后再提交给CTO进行审核确认。
概要设计实施确定目标系统的总体结构l 对于大型系统,可按主要的软件需求划分成子系统,然后为每个系统定义功能模块及各功能模块间的关系,并描述各子系统的接口界面l 对于一般系统,可按软件需求直接定义目标系统的功能模块及各功能模块间的关系给出每个功能模块的功能描述,数据接口描述,外部文件及各功能模块部的关系设计数据库或数据结构制定各阶段开发的目标(以下称里程碑)计划制订第一个里程碑的测试计划评审要求在设计目标系统的整体结构时,应力争使其具有好的形态,各功能模块间应满足低耦合度,而各功能模块内应满足高内聚度。
功能模块的作用范围应在其控制范围之内。
在设计目标系统的总体结构时,应降低模块接口的复杂性,提高目标系统的可靠性交付文档1)概要设计说明书2)数据库/数据结构设计说明书3)更新后的用户手册*4)更新后的项目进度计划*5)更新后的十大风险列表*6)更新后的软件开发计划7)更新后的软件项目日志*补充说明测试程序的编写需与项目经理协商根据开发小组和QA小组的工作量确定由QA组还是由开发组完成每一个里程碑又可分为详细设计、实现、组装测试、确认测试、发布、交接等阶段。
审批经评审通过的各项内容形成相应的文档后,提交给项目经理审核确认数据库/数据结构设计说明书、概要设计说明书经项目经理确认后还须提交给CTO进行审核确认。
详细设计实施将概要设计产生的构成软件系统的各个功能模块逐步细化,形成若干个程序模块(可编程模块)确定各程序模块之间的详细接口信息撰写拟定单元测试计划评审要求确定程序模块内的数据流或控制流,对每个程序模块必须确定所有输入、输出和处理功能。
规定符号的使用,确定命名规则。
文档1) 详细设计说明书2) 单元测试计划*审批经评审通过的各项内容形成相应的文档后,提交给项目经理审核确认.详细设计说明书经项目经理确认后还须提交给CTO进行审核确认。
实现实施与要求对每个程序模块用所选定的程序设计语言进行编码,写出的程序应该是结构良好、清晰易读、且与设计一致,符合公司编码规范单元测试:开发人员按单元测试计划对自己编写的程序进行测试编程及单元测试过程用sourcesafe进行版本管理,主要由项目组长负责管理。
交付文档单元测试报告审批所有文档必须提交给项目经理审核确认。
组装测试实施开发组单元自测完成后,填写测试申请单连同要测试产品清单交给QA相关QA人员根据提交申请单将源程序、文档等拷贝到测试中产品目录执行测试计划中所有要求的组装测试对测试结果进行分析,生成当前问题列表(BUGLIST),返回项目组长开发人员经过分析,修复并自测完毕,生成BUG修复报告,返回QA完成:反复直至QA通过。
要求组装测试应保证模块间无错误的连接应对软件系统或子系统的输入/输出能力进行测试,使其达到设计要求应测试软件系统或子系统正确能力和经受错误的能力交付文档1)运行的软件系统源程序清单2)组装测试计划*3)当前问题列表(BUGLIST)4) BUG修复报告5)组装测试分析报告审批所有文档必须提交给项目经理审核确认。
确认测试实施模拟的环境中进行强度测试,即在事先规定的一个时期内运行软件的所有功能,以证明该软件无严重错误执行测试计划中的所有确认测试使用用户手册,以进一步证实其实用性和有效性,并改正其中的错误对测试结果进行分析,生成当前问题列表(BUGLIST)反复查找BUG原因,直到修复对所有文件进行整理要求全部系统存储量、输入及输出通道,以及处理必须有足够的余量全部预期结果、测试结果及测试数据全部存档交付文档1) 确认测试计划2) 更新后的用户手册3) 更新后的项目进度计划*4) 更新后的十大风险列表*5) 更新后的软件项目日志*6) 测试产品清单7) 当前问题列表(BUGLIST)8) BUG修复报告补充说明QA部门将测试清单中缺少的文档也列入BUGLIST对于测试中重现与未重现的BUG均要有说明审批所有文档完成后须提交给项目经理审核确认。
发布过程经测试合格的产品QA填写发布申请表连同发布文档一起提交给QA经理、项目经理、CTOQA经理、项目经理、CTO审核发布申请QA人员将发布产品(包括源程序、执行文件及相关文档)放入发布中产品目录并生成安装程序文档1) 当前版本说明2) 发布文档3) 用户手册4) 安装手册5) 发布产品检查清单CHECKLIST6) 发布产品审批文档7) 更新后的软件日志*审核所有发布文档须经QA部、项目经理、CTO审核确认。
交接参见交接流程。
注:带*号文档可根据项目大小、时间要求适当增减6. 附录1:项目文档清单文档名称编写阅读审批项目跟踪文档软件项目日志项目经理 CTO十大风险列表项目经理 CTO项目进度列表项目经理 CTO当前问题列表测试项目经理,QA,开发技术工作文档可行性研究报告分析项目经理,开发,QA,测试,维护项目经理,CTO 软件需求说明书开发项目经理,开发,QA,测试,维护项目经理,CTO 用户手册 QA 项目经理,QA,测试,维护,用户项目经理,QA经理,CTO 概要设计说明书开发项目经理,开发,QA,测试,维护项目经理,CTO数据库设计说明书开发项目经理,开发,QA,测试,维护项目经理,CTO 详细设计说明书开发项目经理,开发,QA,测试,维护项目经理,CTO BUG修复报告开发项目经理,开发,QA,测试,维护项目经理测试分析报告测试项目经理,开发,QA,测试,维护项目经理项目计划软件开发计划项目经理 CTO质量控制计划 QA 项目经理,开发,QA,测试,维护项目经理,QA经理测试计划开发,测试项目经理,开发,测试,维护项目经理配置管理计划项目经理项目经理,开发,QA,测试,维护项目经理,CTO 项目交付文档当前版本说明 QA 项目经理,QA,CTO,用户项目经理,QA经理,CTO发布文档 QA 项目经理,QA,CTO,用户项目经理,QA经理,CTO安装手册 QA 项目经理,QA,CTO,维护项目经理,QA经理,CTO发布产品检查清单 QA 项目经理,QA,CTO 项目经理,QA经理,CTO发布审批文档 QA 项目经理,QA,CTO 项目经理,QA经理,CTO。