软件开发流程总览
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
目录 (1)
1.目的 (2)
2.适用范围(必写) (2)
3.定义 (2)
4.过程概要 (2)
4.1项目开发流程介绍 (3)
4.1.1活动目的 (3)
4.1.2启动条件 (3)
4.1.3输入 (3)
4.1.4角色与职责 (3)
4.1.5软件研发流程大致步骤 (3)
4.1.6输出 (5)
4.1.7退出条件 (5)
4.1.8方法 (6)
5.实施建议 (6)
6.涉及到的相关文件和表单 (6)
1.目的
指导软件开发过程相关活动。
2.适用范围(必写)
适用于本公司所有软件开发项目。
3.定义
裁剪:可根据项目情况增加或者删除开发流程的某些活动、文档等。
4.过程概要
为指导本公司项目更科学的进行项目研发和管理,公司项目开发部负责建立了一套流程体系。本体系主要从“软件开发流程”和“支持及跟踪管理流程”两条线路来分别建立了众多子流程以指导各环节的工作。
其中,“软件开发流程”主要是描述从项目售前支持、立项,经历需求开发、需求管理、系统设计、编码与集成、系统测试、部署上线、结项并直到维护各环节的具体流程的实施过程。“支持及跟踪管理流程”主要是描述贯穿整个研发流程的管理和支持过程:项目监控、风险管理、同行评审、缺陷管理、配置管理、质量保证、度量以及组织级培训、过程改进过程。
在此,我们分别简述各流程的主要内容,详细的过程细节活动均请参考各子流程。
项目整体流程图如下(中间开发阶段流程可迭代):
c
4.1项目开发流程介绍
4.1.1活动目的
规范项目从商机识别,到售前阶段、研发、实施、直到维护结束的整个开发过程。
4.1.2启动条件
客户商机线索
4.1.3输入
项目商机
4.1.4角色与职责
4.1.5软件研发流程大致步骤
1、业务部或销售部发掘商机。
2、技术部评估项目商机,并派遣售前工程师支持。
3、售前调研客户需求,根据招标书完成解决方案,并给客户展示。
4、售前与销售参与客户竞标,商务谈判通过后,签订合同。
5、项目正式立项,部门经理确定项目经理和项目组成员。
6、由项目经理协助,SQA依据《组织标准过程裁剪指南》对项目进行裁剪,制定《项目裁剪报告》。
7、由PM制定初步项目计划。
8、由PM指派的需求分析员通过与客户会面、调查问卷、直接参观现有流程等各种方式进行需求调
研,了解客户需求以及取得需求相关资料,调研过程中可用问答分析法(参见《需求开发过程》中需求调研的方法),也可结合原型法将客户的需求快速开发形成页面原型并与客户反复讨论,最终形成《需求调研报告》。
9、根据《需求调研报告》和其他客户需求资料,需求分析员进行需求分析并形成《需求规格说明
书》,PM负责组织开发组(需求、设计、测试和QA人员)与客户方相关负责人对需求规格说明书进行评审确认(参见《需求管理过程》的“需求确认”活动)。
10、需求评审通过后,PM根据项目情况选择合适开发模型,估算工作量和进度,并制定详细的
项目进度计划(mpp格式)和《项目管理计划》,评审《项目进度计划》和《项目管理计划》。识别项目存在的风险和问题,完成《风险管理列表》和《问题管理列表》,之后PM负责监控项目执行,定期发布《项目周报》、《风险管理列表》和《问题管理列表》(视问题和风险严重程度选择及时或者定期发布),同时通过《需求跟踪矩阵》管理、跟踪《需求规格说明书》中分解的功能点。
11、注意:需求评审之后的任何阶段,客户提出的任何需求变更均要按照公司《需求管理过程》
中“4.3变更控制流程”进行申请和审批,之后才能由PM组织开发组实施、测试并验证。PM也要在《需求规格说明书》中添加变更的功能点,并在《需求跟踪矩阵》中对需求变更的功能点进行管理。
12、需求评审后,系统设计人员根据《需求规格说明书》和相关资料进行概要设计,搭出项目
开发构架,产出《概要设计说明书》,之后由PM组织项目组内外资深需求、设计和编码人员对《概要设计说明书》进行评审并修订。
13、需求评审后,测试人员根据项目经理的安排,根据《需求规格说明书》完成《测试计划》
并设计系统测试用例,产出《测试计划》(可在项目计划中完成)和《测试用例》,之后由PM组织需求、测试人员对《测试计划》和《测试用例》进行评审。
14、按照各模块优先级以及PM的安排,开发组成员逐个完成各个模块的详细设计、编码和评审
工作。如选择迭代开发各个模块,那么首先需求分析员将根据评审后的《需求规格说明书》就单个模块进行详细需求调研并完善《需求规格说明书》,然后模块的设计人员根据模块需求完成
《详细设计说明书》和《数据库设计说明书》;编码人员根据设计进行代码开发及单元测试。在每次《详细设计说明书》完成后,PM均要组织客户及开发组相关人员进行评审;模块代码完成后,PM要组织设计、编码人员和测试人员(视测试人员具体情况而定)对代码进行评审。
15、单个模块完成后,可视项目情况让测试人员介入并进行单个模块的系统测试。
16、所有模块代码完成后,即实现了模块的集成,此时要进行联调并修改BUG。
17、设计完成后,由开发人员根据设计文档进行集成测试用例设计,在各模块集成后,由开发
人员进行集成测试并产出《集成测试报告》。
18、集成测试完成后,由测试人员根据系统测试用例进行系统测试并产出《测试报告》。
19、系统测试ok后,由PM安排人员负责上线准备,完成《上线计划》(可在项目计划中完成)
和其他必要文档。
20、PM安排人员给客户安装部署和培训,并由客户确认,之后由部署人员完成《上线报告》。
21、部署上线完成后,由PM负责打包提交客户要求的各种开发文档,客户需要试运行一段时间,
Close试运行阶段Bug后,由PM协助客户完成《试运行报告》(或PM完成报告,由客户签字),进入终验时期,一段时间的试运行后无问题,完成《终验报告》并完成收款。
22、项目结项(研发组),进行结项评审,形成《项目总结书》。
23、项目进入维护期。
24、维护期结束,项目结束。
注意:
●整个开发过程中的活动均要项目组QA直接或间接的参与,在项目计划制定时,QA也要制定
《XX项目QA计划》并评审,指导项目组按照项目裁剪的流程执行。
●项目所有的工作产物和版本均要由项目的配置管理员SCM在配置管理工具(SVN或VSS)中
统一管理,SCM 也要根据《项目计划》完成《SCM计划》并评审。
4.1.6输出
客户要求的各种文档和公司要求文档(见流程图中各活动的输出):
《SOW》、《解决方案》、《项目合同》、《立项意见表》、《项目启动报告》《项目裁剪报告》《需求调研报告》、《需求规格说明书》、《概要设计说明书》、《详细设计说明书》、《数据库设计说明书》、《需求跟踪矩阵》、《问题管理列表》、《风险管理列表》、《项目计划》、《项目周报》、《上线报告》、《测试用例》、《测试报告》、《试运行报告》、《项目总结书》等
4.1.7退出条件
维护期合同到期。