Skip to main content

项目开发流程

kaifa1

如何加强对软件研发工作的管理,缩短开发周期,提高开发质量,降低开发成本,提高开发效率?

第一章、总体原则

  • 需求明确: 在项目启动之前,需求方和开发方应充分沟通和协商,确保项目需求和目标清晰明确,以避免后期出现误解和变更。

  • 项目规划:在项目启动之前,应进行详细的项目规划,包括项目时间、预算、人员配备、任务分配等,以确保项目能够按时按质量要求完成。

  • 风险管理:在项目执行过程中,应对潜在的风险进行预警和管理,包括项目进度延迟、成本增加、质量问题等,及时采取措施加以解决。

  • 质量保证:在项目开发过程中,应严格按照质量标准进行开发、测试和验证,确保项目交付的产品具有高质量和可靠性。

  • 沟通协作:在项目开发过程中,需求方和开发方应充分沟通和协作,及时交流和解决问题,以保证项目进展和质量。

  • 技术创新:在项目开发过程中,应关注新技术和新方法的应用和创新,以提高项目的效率和质量。

  • 持续改进:在项目开发结束后,应进行项目总结和回顾,发现和解决项目中存在的问题和不足,以提高下一次项目的开发效率和质量。

第二章、阶段成果

根据软件工程的过程理论并结合公司目前的实际情况,制定以下工作流程,并规定了各个重要环节需要提交的交付物。

1、立项:市场需求合同或项目立项单。

2、需求分析:软件需求分析报告。

3、总体设计:概要设计说明书或功能模块描述。

4、详细设计:详细设计说明书,包括数据库设计、软件接口说明等。

5、软件实现:软件源代码、源代码说明或者注释。

6、产品测试:测试报告。

7、产品发布:产品说明书或使用手册。

软件过程成果表:

阶段形成文档职责及文档成果描述负责人备注
需求阶段项目立项报告(Word)明确甲乙双方责任及义务项目经理大部分业务建模和需求,少部分分析设计
业务需求说明书(Word)需求定义,阐述业务范围及内容项目经理/需求分析工程师
设计阶段业务流程总体设计书、详细设计说明书(Word/Visio)讨论项目的技术架构和可能存在的技术难点,梳理业务流程,统一开发规则和风格等项目经理/架构师大部分分析设计,开始考虑部署
数据库关系设计图 (PowerDesigner)项目所需要使用的数据库的结构图和流程图数据库设计工程师
任务分配文档(Word)明确每个组员的开发任务及职责项目经理
业务变更文档(Word)记录开发过程中用户提出的业务需求变更情况项目经理/需求分析工程师
实现阶段源代码及代码注释可以部署的成果,以及生成成果的源代码以及数据库文件软件开发工程师最终软件开发的成果
测试阶段项目测试报告(Word)验证系统功能与性能的记录测试工程师反复测试直至系统稳定
用户使用手册(Word)方便用户使用软件而提供的使用说明书测试工程师
上线项目验收报告(Word)记录甲乙双方签订项目验收报告项目经理部署及维护

第三章、岗位设置

根据软件开发过程,主要分为分析、开发和测试三个阶段。分析阶段完成用户需求文档的编写,系统概要设计的编写;开发阶段完成设计文档的编写,代码的编写;测试阶段完成系统的测试,测试文档及其他材料。通过逐渐的调整岗位,明确工作职责,逐步实现项目经理,需求分析工程师,软件开发工程师和测试工程师的岗位设置。

岗位工作内容责任
项目经理1、选定项目组成员,成立项目组,安排任务分工。2、与客户进行沟通和协调(业务需求或非业务需求方面),以及需求调研工作。3、制定项目开发计划,包括需求,设计,编码,测试这几个阶段的计划。4、制定小组开发进度表, 对组内人员工作进度监控。5、对文档的质量进行检查、把关。6、定期召开项目会议,把控项目进度。1、对客户的沟通协调工作负责。2、对软件的开发效率、质量负责。3、对文档质量负责。4、对整个项目的进度,质量等负责。
需求分析工程师1、与客户进行沟通,负责需求调研工作,汇总需求分析文档,并编写系统总体设计方案。2、遇见需求变更时,分析需求变更内容,并与项目经理一起负责对需求变更进行评估。3、与软件开发工程师一起完成详细设计文档的编写。1、对用户需求分析的质量负责。2、对项目组所有成员正确理解项目需求负责。
软件开发工程师1、与项目经理沟通和确认某个模块的需求和实现方法。2、负责某个模块的代码编写、维护。3、对其他模块的代码的维护。4、负责与测试人员的交互,处理测试人员的问题。1、对项目整体设计流程负责。2、对自己模块的开发效率和质量负责。
测试工程师1、根据用户需求分析和系统总体设计,对系统的功能、性能异常进行测试。2、编写测试文档和软件操作手册。1、对测试的质量负责。2、对测试文档和操作手册的质量负责。

第四章、项目立项

1、需求分析工程师进行应用调查与分析,确认软件的应用需求。

2、根据项目可行情况成立项目开发小组,制定软件开发计划,确定项目经理,并由所领导和项目经理共同确定具体项目配置,知识技能要求,团队成员及团队的角色。

第五章、项目计划与监控

1、以项目为单位,项目经理负责整个项目的计划、组织和控制。

2、在整个项目过程中,项目经理定期检查项目进度和完成情况,调整人员分工和安排。

3、项目计划需要变更时,需要明确变更内容并及时汇报。项目经理需要说明变更原因并及时告知所领导审核,以便根据变更内容及时调整计划。

kaifa1

第六章、需求分析

1、对用户提出的需求进行分析汇总,梳理用户的业务流程和详细的功能定义。

2、做出简单的界面原型,与客户进行有效的沟通,编写需求详细说明书。

3、遇见需求变更时,分析需求变更内容,并与项目经理一起负责对需求变更进行评估并及时告知所领导审核,以便根据变更内容及时调整计划。

第七章、总体设计

1、在该阶段确定总体结构和软件开发架构,文件命名规范等。可按软件需求划分子系统,也可直接定义目标系统的功能模块及各个功能模块的关系。

2、确定软件模块结构,给出每个功能模块的功能描述,并完成系统概要设计说明书。

3、完成数据库的设计,并编写数据库设计说明书。

4、完成的文档需提交公司进行归档管理。

第八章、详细设计

1、调整前一步设计的不足,确认各模块之间的详细接口信息。

2、设计功能使用的具体描述、行为者、前置条件、后置条件、UI描述、业务流程/子流程/分支流程,界面说明等。

3、汇总并提交所有相关文档,审核确认质量和进度。

第九章、软件实现

1、项目组根据概要设计说明书、详细设计说明书制定系统实现计划。

2、选择软件工具,明确项目成员的职责分工,按照编码规范和详细设计实现软件功能。

3、代码应满足结构良好,清晰易读,且与设计一致,符合编码规范。

4、开发人员需要在软件实现过程中编写软件功能说明或源代码注释。

5、开发人员处理测试人员反馈的测试问题,直至系统运行稳定。

6、汇总并提交所有相关文档,并连同源代码一并及时提交git保存。

第十章、软件测试

1、制定测试计划,按阶段设计进行测试,并将测试结果记录,反馈给开发人员调整。

2、完成测试文档、操作手册、安装手册的编写。

第十一章、系统上线

1、根据软件特点、客户需求进行软件部署。

2、项目组根据系统运行情况对系统进行优化,记录系统问题和处理后的版本。

第十二章、用户培训

1、确定培训时间、培训地点,向用户进行系统使用培训、操作指导及提供软件操作手册。

2、保留培训签到表,用户意见等存档。

第十三章、产品维护

1、按照合同要求,安排项目主要开发人员做为维护人员对系统进行技术支持。

2、若系统存在需求变更或调整,记录变更原因,并按照合同内对软件变更的要求对系统进行维护。

第十四章、源码和文档

1、源代码/文档管理采用版本控制软件git。

2、按项目的阶段性及时上传源代码和相关文档。项目经理负责检查跟进,所领导不定时抽查。

第十五章、质量检查

1、项目经理按工作计划定期跟踪检查各成员的工作完成情况,并根据业务需求、概要设计等审核各功能模块完成质量,特别是新员工的工作进展。

2、若在开发过程中遇到疑难问题,项目经理负责组织项目成员,通过集体讨论等方式获得最终解决方案以保证项目质量。若存在重大问题,需及时上报所领导。

第十六章、文档规范

1、需按照软件实施的阶段落实成果,参照第二章《软件过程成果表》。

2、如果客户有特殊要求,可按照客户要求的规范完成。并将最终成果上传SVN归档。

第十七章、软件变更

为规范软件变更与维护管理,特制定本章办法。该办法适用于应用系统开发完毕并正式上线、移交给客户方之后的运行支持及系统变更工作。

1、系统变更工作可分为功能完善维护和系统缺陷修改。

2、客户提出系统变更需求,项目经理同开发人员一起根据重要性和紧迫性做判断,确定其优先级和影响程度进行相应处理,同时将变更需求整理成书名文档。

3、系统变更实现过程按照软件开发过程规定进行,遵循软件开发过程统一的编码标准和版本控制,并经过测试通过才能完成部署和上线。

4、在系统变更完成并经过客户确认后,开发人员将系统变更文档上传git归档。