企业项目研发流程 | 26 年最新零基础到精通一条龙(万人收藏⭐️)PDF下载

企业项目研发流程 | 26 年最新零基础到精通一条龙(万人收藏⭐️)

by 编程导航 下载量 24
大厂项目开发远不止写代码那么简单——从需求评审的撕逼大战到架构设计的层层拆解,技术选型要权衡性能、团队适配和业务场景,资源申请动辄上万的云数据库只是起步。单元测试覆盖率必须达标,代码推送前要过机审和人审双重关卡,灰度发布时心跳加速盯着监控面板。这套流程虽然繁琐,但能确保百万级用户系统的稳定性,也是大...

编程导航学习网站:学编程、做项目、拿 Offer!

企业高频面试题库:开始刷题,面试遇原题!

精选简历模板大全:1 分钟搞定简历!

AI 资源导航网站:获取最新 AI 黑科技!

1 对 1 模拟面试:随时随地提升面试能力

开篇介绍

很多未工作过的小伙伴都很好奇:企业中做项目是怎样的流程?尤其是大厂那些百万用户的项目,和自己学编程时做项目到底有什么区别呢?

实话说,区别可大了!

自己开发项目那是单打独斗,自己掌握命运,不会拖垮队友;但企业中开发项目是开团打本,大家是一根绳上的蚂蚱,每个人都会影响整个项目。

鱼皮自己也在几家公司实习过,不得不说,大厂和其他公司的研发流程也有很大的区别。因此,对于大多数同学,如果没有在大厂工作过,对很多研发环节可能都是一无所知的。

所以这篇文章就来揭秘一下大厂的项目研发流程,帮大家开拓思路。正好之前有同志质疑我的日常工作就只有写代码和摸鱼?这篇文章就作为回击,让他明白,在大厂做项目,可不止写代码那么简单!

如果你想更直观地了解大厂项目开发流程,强烈推荐观看鱼皮的视频:一线大厂项目是怎么做出来的,结合视频和本文一起学习,效果更好。

研发流程全景图

为了规范团队、保证项目的进展,大厂研发流程一般还是比较复杂的。可以分为很多个阶段,用一张思维导图来概括:

需要注意的是,以上阶段并不是完全按从上到下的顺序执行,阶段间可能存在交叉,比如 技术选型 其实在 设计阶段 就应该考虑。

正式工作一年多,我也是经历过多次项目的完整研发流程的。下面就以我的视角,带大家快速过一遍~

(为了内容更有趣,以下故事有虚构成分)

需求阶段

今天是周一,鱼皮像往常一样骑着他的小电动车来到公司,殊不知,等待他的是一场噩梦的开始。

需求产生

上午十点,产品妹子找到鱼皮,告诉他:咱们的系统上线后,用户表示很多功能并不好用,需要大改。

老板也找到鱼皮,告诉他:我今天打开页面竟然加载了十几秒,咱们这个系统的性能太烂了吧!

鱼皮心想:呕豁,完蛋!估计得做个新的项目了,又要开会了。

果然,没过多久,屏幕上弹出了一条 "欢迎加入会议" 的邀请。

需求评审

第二天上午,老板、产品、测试、几位开发大哥和鱼皮一起来到会议室,具体讨论昨天提到的那些需求 是否合理、要不要做

产品妹子打开文档,说到:这一期呢,我们要做这几个需求,下面我来详细讲一下,大家一起评估下有没有问题。

需求分析

接下来,产品妹子正在对着屏幕侃侃而谈、疯狂输出时,旁边的开发大哥坐不住了。

开发大哥:这个需求不合理啊!

产品:为啥不合理?用户就是有这个需求啊!

开发大哥:我知道,实现不了啊!

于是开始了经典的产品开发撕逼大战。。。

而鱼皮正躲在角落冷静分析 这个需求怎么做,过了一会儿,提出了一种改动低、实现快的解决方案,平息了这场战争。

在 AI 时代,我们还可以用 AI 工具(如 ChatGPT、Cursor)来辅助分析需求,快速生成多种技术方案进行对比,大大提升需求分析的效率。

排期

确定需求合理、可实现之后,产品妹子问到:那这个需求啥时候能上线呀?

开发大哥:我这周忙,下周吧。

产品:用户可能比较着急,这周就要呢!

开发大哥:我知道,做不完啊!

于是开始了经典的产品开发撕逼大战。。。

鱼皮:要不我们把这个需求拆解为功能 A 和功能 B,这周我先把功能 A 做了,功能 B 排到下周二测试,下周四上线?

就这样,我们一个个安排了需求的计划完成日期。

设计阶段

终于开完会了,看了下时间,都该下班了!

唉,需求讨论完了,产品的工作是完成了一些,可鱼皮的工作才刚刚开始。

急着开始写代码么?

不,想好怎么写代码比写代码更重要。

架构设计

鱼皮打开写文档软件和画图软件,开始梳理整个系统,从整体到局部,依次设计出系统的层次结构、各层间交互的接口和通讯方式、每层之间包含哪些重要模块、模块选择何种物理部署方式等。

现在有了 AI 工具的加持,我们可以用 AI 辅助生成架构图、分析架构方案的优缺点,甚至让 AI 帮我们做技术调研,大大提升设计效率。建议观看鱼皮分享的 AI 画图保姆级指南和技巧分享视频

概要设计

写完架构设计后,鱼皮开始对着产品妹子写的 PRD(产品需求文档),分析需求,然后依然是从整体到局部,先整理出系统需要的功能模块,再分析每个功能模块内有哪些子模块。

和抽象的架构设计相比,概要设计和需求的关系更紧密,是对架构设计的细化。

打个比方大家就明白了,你要盖一栋楼,架构设计就是从整体来考虑,总共有几层、每层管道怎么接、每层有几户、地基怎么打等;而概要设计就是考虑每户套件的内部怎么划分,哪里是客厅、哪里是卫生间。

很多情况下,概要设计和架构设计可能会在一个文档中进行,划分并不明确。

详细设计

想好系统有哪些功能后,鱼皮就开始具体分析每个功能如何实现,用到哪些算法、需要注重哪些细节等。

方案对齐

写好设计文档后,下次会议上,鱼皮和其他的开发同学(前端、后端等)一起针对自己设计的方案展开讨论,最终产生一个统一的方案,然后大家分工去做就好了。

测试用例设计

为了保证系统功能的正常稳定,测试同学(或者叫 QA)是非常重要的。关于软件测试的详细学习,可以查看 软件测试学习路线。测试不是像我们自己做项目一样对着网页点几下就 ok 了。

在大公司中,为了保证测试的覆盖度、提高测试效率,一般是要设计测试用例的,比如:用户点击 "登录",未传任何数据,期望结果是警告用户输入用户名和密码。

测试用例设计完后,需要其他同学一起来评审把关,而不是只交给测试同学。因为一个人很容易忽略掉很多测试细节,最好让更熟悉代码的开发同学一起帮忙补充。

鱼皮自己也写了几个测试可能会遗漏的用例,和测试同学一起进行了确认,尽量让问题暴露在测试阶段而不是线上。

研发准备

写了快一周的设计文档,终于准备开始动手搭建项目了。但在此之前,还有一些准备工作要进行。

技术预研

如今技术发展太快,新技术层出不穷,所以鱼皮首先对项目中需要或可能需要用到的技术

下载 APP