Skip to content

2)研发流程和交付物

前后端将需求原型转为开发,需要哪些流程和步骤,这些流程和步骤中会有哪些交付物产生?

注意事项

  1. 需求文档的一致性

    前后端开发人员以及测试人员需要确保需求文档(由产品经理提供)的一致性,这份文档贯穿开发的始终,要避免出现需求理解偏差。
    【需求文档】

    • 1)需求文档版本管理:意义在于不能随便改,保持严谨严肃性。
    • 2)需求文档更新通知:意义在于需要及时通知到相关人员。
    • 3)需求文档更新记录:意义在于需要记录需求文档的更新记录,以便追溯。
  2. 技术方案的最优解:

    前后端开发人员需要根据需求文档,制定出最优的技术方案,并提交给技术负责人(比如技术总监、CTO)进行确认。
    【技术方案】

    • 1)技术方案需要包含技术选型、技术架构、技术难点等。
    • 2)技术方案需要经过技术负责人的确认,确保方案的可行性和合理性。

      举例来说:我们有一次做新需求,前后端准备把新需求的状态和代码融合到现有流程中去,但是技术负责人认为这样会破坏现有流程,最终确认 Copy 一份现有流程,再进行融合(原流程保持不变)。后来,新需求上线几个月后就下线关闭了,我们意识到技术负责人是对的,这样确实能保证现有流程的稳定性,且大大降低了开发难度和工作量,避免了潜在的风险。

  3. 开发过程中的风险把控

    前后端开发人员需要关注开发过程中的风险,比如需求变更、技术难题、项目延期等,并及时向技术负责人汇报,确保项目的顺利进行。
    【项目风险一览表】

    • 1)需求变更:需要及时与产品经理沟通,确认需求变更的合理性。
    • 2)技术难题:需要及时与技术负责人沟通,寻求解决方案。
    • 3)项目延期:需要及时与技术负责人沟通,调整项目进度。

      切记:工作中一定要留痕,记录下所有沟通记录,以便追溯。
      你不提前暴露风险,那风险的责任人就是你。

  4. 代码质量的保证

    前后端开发人员需要关注代码质量,确保代码的可读性、可维护性和可扩展性,并及时进行代码审查和优化(可以定期组织【代码学习借鉴会议】)。

    • 1)代码审查:需要定期进行代码审查,确保代码质量。
    • 2)代码优化:需要及时进行代码优化,提高代码性能。
    • 3)代码规范:需要遵循代码规范,确保代码风格一致。
  5. 测试的全面性

    前后端开发人员需要关注测试的全面性,确保测试覆盖所有功能模块和边界条件,并及时修复测试中发现的问题。
    【测试验证报告】

    • 1)功能测试:需要确保所有功能模块都能正常运行。
    • 2)边界测试:需要确保所有边界条件都能正常处理。
    • 3)性能测试:需要确保系统性能满足需求。
  6. 上线前的准备

    前后端开发人员需要关注上线前的准备,确保系统稳定运行,并及时进行上线后的监控和优化。
    【上线流程审批】

    • 1)系统部署:需要确保系统部署成功,并确保系统稳定运行。
    • 2)上线监控:需要确保上线后系统能够正常运行,并及时修复上线后发现的问题。
    • 3)系统优化:需要及时进行系统优化,提高系统性能和稳定性。
  7. 项目总结

    前后端开发人员需要关注项目总结,总结项目过程中的经验和教训,为后续项目提供借鉴。

    • 1)项目总结报告:需要总结项目过程中的经验和教训,为后续项目提供借鉴。
    • 2)项目改进建议:需要提出项目改进建议,提高项目质量和效率。

将需求原型转化为前后端开发实现的过程中,涉及多个环节,包括需求分析、架构设计、开发实现、测试和上线等,每个环节都有对应的交付物。下面是详细的流程和步骤,以及在每个步骤中会产生的交付物。

1. 需求分析阶段

需求评审阶段

关键词:需求确认、需求澄清、需求原型分析。

简单来说,就是参与者需要清晰知道 “做什么”,“怎么做”,以及“为什么这样做”

  • 目标:将业务需求原型转化为系统功能需求,明确项目的核心需求、功能模块、技术要求等。

流程与步骤

  1. 需求确认与调研

    • 与产品经理、业务人员沟通,了解产品需求,进行需求澄清。
    • 深入分析需求原型,确保技术团队对需求的理解准确。
  2. 需求文档编写

    • 交付物
      • 需求规格说明书(SRS)或功能需求文档:详细描述系统的功能、用户场景、数据流、输入输出等。
      • 用例图:描述系统的用例和交互。
      • 流程图或业务流程图(如 BPMN):展示业务流程或功能流程。
  3. 系统设计初步沟通

    • 与架构师和团队讨论技术可行性,评估是否有特殊技术需求或限制。
    • 确定使用的技术栈、开发框架、第三方服务等。

交付物

  • 需求规格说明书(SRS)
  • 用例图、业务流程图
  • 初步技术选型报告

2. 系统设计阶段

技术评审阶段

关键词:系统架构、数据库设计、接口设计。

简单来说,就是开发人员需要明确 “系统架构如何搭建”,“数据库如何设计”,以及“前后端接口如何定义”

  • 目标:基于需求分析结果,设计系统架构和数据库结构,确定技术细节。

流程与步骤

  1. 架构设计

    • 进行系统架构设计,确定是否采用微服务架构、单体架构等。
    • 确定模块划分、服务间通信方式、第三方依赖(如消息队列、缓存等)。
  2. 数据库设计

    • 设计数据库架构(如表结构、索引、关系等),确保高效的查询和存储。
    • 数据库设计文档,包括 ER 图(实体关系图)、表结构说明等。
  3. 接口设计

    • 设计 RESTful API 或 GraphQL 接口,定义接口规范、请求参数、响应数据格式等。
    • 设计接口文档,并与前端团队沟通,确保对接无误。
  4. 安全性设计

    • 设计身份认证与权限管理方案,如 OAuth 2.0、JWT 等。
    • 考虑数据加密、日志审计、安全防护措施等。
  5. 性能与扩展性设计

    • 设计系统的负载均衡、缓存、分布式架构等性能优化方案。

交付物

  • 系统架构设计文档
  • 数据库设计文档(ER 图、表结构设计)
  • API 接口文档(接口规范、请求/响应示例)
  • 安全设计文档(身份认证、权限管理、加密方案等)
  • 性能设计报告(负载均衡、缓存、扩展性等)

3. 开发阶段

需求开发执行阶段

关键词:编码、单元测试、调试。

简单来说,就是开发人员需要根据需求文档和系统设计文档进行编码实现,并进行单元测试和调试。

项目管理者需要对项目开发周期、进度、质量进行监控和优先级以及人员等方面进行协调。

  • 目标:根据需求和设计文档实现系统功能,进行编码和单元测试。

流程与步骤

  1. 开发任务分配

    • 将开发任务按模块、功能分配给各个开发人员。
    • 确定开发周期、里程碑、优先级。
  2. 编码实现

    • 按照设计文档进行系统功能实现。
    • 开发时要注重代码的可维护性、效率和安全性。
  3. 单元测试与调试

    • 开发完成后,进行单元测试,验证各模块功能是否正常。
    • 使用调试工具和日志系统帮助定位和解决问题。
  4. 代码评审与版本控制

    • 在 Git 等版本控制系统中进行代码提交和版本管理。
    • 进行代码评审,确保代码质量符合团队标准。

交付物

  • 代码仓库(Git 仓库)
  • 单元测试报告
  • 代码评审记录

4. 测试阶段

测试阶段

关键词:集成测试、性能测试、安全性测试。

简单来说,就是测试人员根据 需求文档 对开发人员提供过来的系统进行测试,确保系统功能符合需求,并且系统稳定、性能良好、安全性高。

这里需要注意的是,如果 需求文档 中途有变更,一定要通知测试人员,确保测试人员能够及时更新测试用例。否则测试人员一般会把变更后的需求当做 BUG 来处理,从而造成不必要的麻烦。

  • 目标:验证系统功能是否符合需求,并确保系统的稳定性和性能。

流程与步骤

  1. 集成测试

    • 将各个模块进行集成,验证不同模块间的协作是否正常。
    • 测试系统整体功能,确认各项需求是否得到满足。
  2. 性能测试

    • 进行负载测试、压力测试等,确保系统在高并发、高负载情况下的稳定性。
    • 进行数据库性能调优,确保查询和存储高效。
  3. 安全性测试

    • 进行安全漏洞扫描、数据加密验证等,确保系统的安全性。
  4. 验收测试

    • 进行验收测试,确认产品是否符合需求规格,进行最终确认。

交付物

  • 集成测试报告
  • 性能测试报告
  • 安全性测试报告
  • 验收测试报告

5. 部署阶段

部署阶段

关键词:部署环境、数据迁移、监控日志。

简单来说,就是将系统从开发环境部署到生产环境,确保系统能够稳定运行。

这里需要注意的是,部署过程中一定要做好备份,以防万一。同时,部署完成后,一定要进行系统监控和日志配置,以便及时发现和解决问题。

  • 目标:将系统从开发环境部署到生产环境,确保系统能够稳定运行。

流程与步骤

  1. 环境配置与部署

    • 配置生产环境所需的服务器、数据库、缓存、消息队列等。
    • 部署后端服务到生产环境,并配置 CI/CD 管道。
  2. 数据迁移与备份

    • 如果是系统迭代,需要迁移历史数据,确保数据一致性。
    • 配置数据备份和恢复机制。
  3. 系统监控与日志配置

    • 配置系统监控和日志记录,确保能够实时监控系统健康。
    • 配置报警机制,及时发现系统问题。

交付物

  • 部署文档(包括服务器配置、环境变量、数据库配置等)
  • 数据迁移计划与执行记录
  • 监控与日志配置文档

6. 上线与维护阶段

上线与维护阶段

关键词:上线监控、版本迭代、问题修复。

简单来说,就是系统上线后,进行日常维护和优化,确保系统持续稳定运行。

记住:部署、上线、维护,是软件开发过程中的三个重要环节,一般来说,是需要经过 流程审批 的,而不能随意进行。

  • 目标:系统上线后,进行日常维护和优化,确保系统持续稳定运行。

流程与步骤

  1. 上线监控

    • 监控系统性能,及时发现和修复潜在问题。
    • 跟踪用户反馈,持续优化系统。
  2. 版本迭代与更新

    • 根据反馈和新需求,进行版本更新和功能迭代。
  3. 问题修复与优化

    • 处理线上问题,进行热修复和性能调优。

交付物

  • 版本发布记录
  • 维护日志(包括问题修复、性能优化等)

总结

在将需求原型转化为后端开发过程中,主要的流程包括需求分析、系统设计、开发实现、测试、部署和维护等,每个阶段都有对应的交付物。在实际操作中,每个阶段的交付物不仅帮助团队协作,还可以为后续的迭代与优化提供必要的支持。