技术项目完整研发流程
2021-07-02 14:48:17 13 举报
技术项目完整研发流程(敏捷开发)
作者其他创作
大纲/内容
用户需求
邮件邀请用户测试
设计
否
是
测试
概要设计概要设计的目的是描述系统的每个模块的内部设计,对总体设计和详细设计承担承上启下的作用。概要设计按照结构化设计方法进行设计。结构化设计方法的基本思路是:按照问题域,将软件逐级细化,分解为不必再分解的的模块,每个模块完成一定的功能,为一个或多个父模块服务(即接受调用),也接受一个或多个子模块的服务(即调用子模块)。模块的概念,和编程语言中的子程序或函数是对应的。概要设计阶段把软件按照一定的原则分解为模块层次,赋予每个模块一定的任务,并确定模块间调用关系和接口。在这个阶段,设计者会大致考虑并照顾模块的内部实现,但不过多纠缠于此。主要集中于划分模块、分配任务、定义调用关系。模块间的接口与传参在这个阶段要制定得十分细致明确,需要编写严谨的数据字典,避免后续设计产生不解或误解。概要设计一般不是一次就能做到位,而是反复地进行结构调整。典型的调整是合并功能重复的模块,或者进一步分解出可以复用的模块。在概要设计阶段,应最大限度地提取可以重用的模块,建立合理的结构体系,节省后续环节的工作量。概要设计文档最重要的部分是分层数据流图、结构图、数据字典以及相应的文字说明等。以概要设计文档为依据,各个模块的详细设计就可以并行展开了。
修订记录
bug修复
原型图定了先快速出接口文档
产品阶段-原型
jira创建任务敏捷周期
产品经理:用户手册
项目经理:向需求部门申请生产环境等资源
需求评审
设计阶段-设计图、技术方案设计
是否通过
对接口
项目经理:监控项目进度及时上报、处理风险
开始
概要评审
UI设计
需求文档流程图
总体设计设计阶段的目标主要是对待开发系统的构架进行分析和设计,并建立系统构架的基线,以便为之后的实施工作提供一个稳定的基础。设计阶段包括了系统架构的输出,一个好的系统架构设计可以帮助人类梳理业务逻辑且抓住核心需求,设计稳定可扩展的业务系统,评估业务开发周期和开发成本,有效的规避风险。例如盖房子的时候得有建筑图纸,有了图纸,才能核算施工周期。总体设计是整个系统的框架型设计,意义及其重大,一般情况下不能省略(只有维护项目可以省略总体设计,因为基准项目已经设计完毕),所有的产品开发项目均需要首先进行总体设计,它是设计首要步骤,决不允许本末倒置,不能出现先编码后设计的情况,这是软件开发的第二大痛点(第一大是需求不明确、任意变更需求)。总体设计分为三个阶段:第一阶段:初始设计。在对给定的数据流图进行复审和精化的基础上,将其转化为初始的模块结构图。第二阶段:精化设计。依据模块“高内聚低耦合”的原则,精化初始的模块结构图,并设计其中的全局数据结构和每一模块的接口。第三阶段:设计复审阶段,对前两个阶段得到的高层软件结构进行复审,必要时还可能需要对软件结构做一些精化工作。
问题反馈
评审
交付阶段
项目经理
技术负责人组织技术评审项目经理评审开发排期
代码评审
提测
阶段
集成测试
需求文档、数据样例等
是否有必须修改的需求?
评审组由产品经理、项目经理、前后端负责人组成
产品经理:验收发起邮件需求方:验收通过邮件
项目复盘
如何按需求点报价:项目基础搭建方案选型项目实施...测试部署环境搭建基数+区间+可选项
研发
需求部门
是否完成敏捷周期?
收集、整理相关资料
v0.8 流程大优化
概要设计
后端:运维文档
版本拆分(里程碑)
功能是否通过?
产品经理:1.需求文档2.流程图3.数据样例
产品经理:1.产品文档2.原型图3.测试数据
项目经理:JIRA任务:代码评审问题测试问题
项目经理:开发排期表
用户测试
生产部署
产品需求
阶段交付件
2020-08-131.需求阶段拆分为需求和产品两个阶段2.增加说明:总体设计、概要设计、详细设计;竞标报价3.增加总体设计及交付件4.开发排期从详细设计前置到总体设计后5.交付件改动:增加概要设计、详细设计内容;修改产品经理需求阶段和原型阶段;* 产品经理在开发前需要拿到测试数据设计阶段产品经理制作用户手册
详细设计详细设计阶段就是依据概要设计阶段的分解,设计每个模块内的算法、流程,为每个模块完成的功能进行具体的描述,要把功能描述转变为精确的、结构化的过程描述。详细设计这个阶段,各个模块可以分给不同的人去并行设计。设计者的工作对象是一个模块,根据概要设计赋予的局部任务和对外接口,设计并表达出模块的算法、流程、状态转换等内容。这里要注意,如果发现有结构调整(如分解出子模块等)的必要,必须返回到概要设计阶段,将调整反应到概要设计文档中,而不 能就地解决,不打招呼。详细设计文档最重要的部分是模块的流程图、状态图、局部变量及相应的文字说明等。一个模块对应一篇详细设计文档。概要设计阶段通常得到软件结构图,详细设计阶段常用的描述方式有:流程图、N-S 图、PAD 图、伪代码等。而详细设计的目的是描述某一个模块内部的处理流程、开发方法和编码技巧。一般来说,详细设计由项目简介、模块说明(具体说明每一个模块内部的流程、功能、逻辑、消耗以及未解决问题)、接口设计(包括内部接口和外部接口)、数据结构设计(包括物理结构和逻辑结构)、特殊处理等几个部分构成。软件的详细设计,最终是将软件系统的各个部分的具体设计方法、逻辑、功能采用文字方式进行表述。这样在实现过程中,编码人员原则上严格按此进行代码实现即可。
时间预估
jirabug创建
集成测试阶段
时间初步评估按照需求点报不报总价
人员及交付件
自测
研发阶段(敏捷)
原型评审
后端先出demo数据接口保证前端可用再实现具体业务逻辑
需求确认
验收通过邮件
持续运维
项目启动会
总体设计
技术调研
评审组
设计:设计图
项目经理:记录需求变更及影响
后端:测试环境
结束
hotfix
详细设计
上线
项目经理:报价(按功能点)
自测、交叉测试
原型确认
需求阶段
设计评审
原型排期
产品经理
出原型图
详细设计评审
维护阶段
技术leader:接口文档.json前后端:模块结构图、模块接口
概要设计:目标:划分模块-细化分解;确定模块间调用关系和接口1.严谨的数据字典;2.分层数据流图;3.结构图;4.文字说明详细设计:1.流程图;2.状态图;3.局部变量;4.文字说明后端:数据库文档;测试用例
项目经理:向需求部门申请测试环境等资源
角色
收藏
收藏
0 条评论
下一页