1、需求调研
-
初步了解用户需求,罗列系统功能模块;
-
系统功能需求文档,初步给出相关界面及功能;
-
再次与用户确认需求,
2、概要设计
-
-
处理流程
-
组织结构
-
模块划分
-
功能分配
-
接口设计
-
运行设计
-
数据结构设计
-
出错处理设计
-
3、详细设计
-
每个模块主要算法、数据结构、类的层次结构、调用关系
-
各层次中每个程序的设计考虑
-
保证需求完全分配给整个软件
-
足够详细,能根据详细设计文档进行编码
4、编码实现
-
根据详细设计文档,编写程序实现各功能模块,实现对系统功能、性能、接口、界面等要求
5、测试
-
对每个功能、接口做好测试
-
单元测试
-
功能测试
-
性能测试
-
容灾测试
-
6、交付
-
整理提供安装文档、使用文档、需求报告、设计报告、测试报告等
-
使用文档:
-
各项功能的使用流程、操作步骤、相应业务介绍、特殊提示和注意事项等方面的内容,在需要时还应举例说明
-
7、验收
互联网产品开发流程
主要分为五个阶段:项目启动,需求阶段,产品设计,开发上线,版本迭代
1、立项 启动 评估
立项:确定要做一个什么产品
启动:确定项目相关人员,项目需求,产品原则,时间排期
评估:评估产品机会
2、需求阶段
-
需求收集
来源:老板提出,项目需求,产品优化,业务需求,用户需求,运营需求,增长需求,商业化需求等
方式:头脑风暴、用户调研、用户反馈、竞品分析和数据分析
-
市场分析
-
盈利分析
-
需求分析&筛选
-
需求优先级评审
3、产品设计
战略层:产品目标及其目标用户(做什么、为谁而做?) 范围层:功能及其内容需求整合(需要做哪些?) 结构层:交互设计及其信息架构(怎样做?) 框架层:界面设计、导航设计和信息设计(怎样做?) 表现层:视觉设计(要做成什么样子?)
产品设计过程:
-
将需求归纳整理成用户任务
-
多个用户任务交织成信息架构
-
将信息架构具象化为页面流程图,并通过界面草图的形式表达出来
-
接着根据设计原理,让界面草图进化为页面原型
-
最后加点调料,通过情感化设计和游戏化设计,赋予产品魔力
4、开发上线
-
开发排期
-
项目跟进
-
进度管理
-
团队协作
-
项目管理
-
需求管理
-
测试验收
5、版本迭代
流程:
-
用户教育
-
销售培训
-
推广方案
-
运营策略
-
产品定价
-
发布公告
-
发布
迭代
-
发现问题&需求收集
-
用户反馈
-
功能改进
-
数据分析
-
运营策略调整
-
数据挖掘
以往经验的流程
基于开源项目的二次开发流程
-
需求调研
-
方案对比与选择
-
详细设计文档
-
架构设计
-
核心功能实现方法
-
-
系统实现
-
工期、计划确认
-
开发资源确认
-
分任务进行开发
-
单元测试
-
功能测试
-
性能测试
-
容灾测试
-
-
-
测试服发布
-
开发过程遇到不确定及时与用户确认改正
-
-
架构文档、接口文档、使用文档、部署文档整理
-
正式服发布
-
后续
-
迭代维护
-
稳定性保证
-
监控告警
-
-
参考
https://zhuanlan.zhihu.com/p/26870041