软件的项目开发流程最早是来自建筑行业的流程,当然现在也有了很多变化。
从完整的流程来讲,一开始是市场调研,但这种一般是针对产品项目,我们现在很多公司做的是客户项目,就是客户告诉你要做什么事情,所以这个过程并不是一定就有。
需求分析是必须的开发阶段,主要的产出物是需求文档,就是明确本次项目的目标,软件的开发形式,使用人群,主要的功能。
项目方案和功能设计也是必须经历的过程。主要产出物包括数据结构设计,项目物理和逻辑的整体部署图,数据流图,选用的一些产品说明,功能模块的详细说明和交互(复杂系统会要求有原型产出)
开发阶段。就是所谓的编码阶段,根据设计文档完成项目开发。主要产出物就是可部署的应用包(可以是app,war包),
测试阶段。测试会分单元测试和集成测试。跟开发阶段是互相交叉迭代的,只有所有功能测试完毕,开发阶段才算完成。这个阶段的产出物包括测试方案,测试用例,测试报告。
试运行阶段。测试完毕后,就可以部署生产环境进行试运行。这个阶段会根据用户的要求和软件的质量而定如果项目开发质量没有问题,一般1到3个月就能完成项目验收。产出物就是项目初验报告。
后面就是产品完成上线,一般也是1到3个月。用户会召开终验会议,评估项目是否符合验收标准。产出物是项目终验报告,操作说明书,管理员手册等
一.提出需求
1.PM(产品经理)提出产品需求,评估产品技术问题。
2.开发、测试等协同合作,确定产品上线时间。
二.开发项目阶段
2.1产品设计>>>PM、UE、UI
产品经理(PM)画出需求产品原型草图,这部分属于产品核心
交互式设计师(UE)根据草图画出产品原型图,结合用户感受,设计人性化,让用户爽,不要反人类化。
视觉设计师(UI)美化产品界面。
ps:
PM如果不画草图,就会:交互(UE)搞不懂产品,UI搞不懂交互,技术搞不懂UI逻辑
2.2前端设计>>>FD
理清楚需求,拿到UI设计图,设计出需要实现的效果
2.3后端开发>>>PD
首先设计数据库,把业务流层转换成表结构,理清表与表之间的关系,确定开发项目整体结构,前端、程序、数据库之间的对接方式。
考虑其他技术关键点,定制排期表、开发规范、代码规范、源码管理、版本管理、安全管理。
2.4开发
前后端各自开发,合并协调产品,进行自测,提交给测试人员。
2.5测试人员》》》QA
设计好测试环境用例,提出测试。一旦测试出bug,需要开发人员修复,不可接受耗时大的需求。
2.6运维人员》》》OP
运维人员准备上线,测试线上环境,如有bug,提交开发人员修改bug。上线以后,做好数据备份、监控、做好系统优化。