项目开发流程

server/2024/9/24 13:14:53/

项目开发流程

img

👩‍🦳项目立项

估计项目的花费,确定大致的所需开发人员数,确定项目是否可行;

👩‍🦰需求分析

整体过程:

  • 项目背景和目标,即项目的目的是什么
  • 用户需求,即甲方所需要的功能需求,准确记录甲方的要求,防止后期需求不对,项目重做;
  • 功能需求,从甲方的需求中剥离出来功能需求,以及一些必须性的功能(登录注册等)
  • 非功能需求,性能要求,安全要求,可靠性要求,应有一个大致的了解(比如可能需要支持百万并发,可能需要绝对可靠),为下一步设计提供参考。

其他:…

🤲设计

通过需求分析,知道大致的功能,需要对其抽象成业务场景,即拆分成多个独立的业务模块,这些业务和甲方需求比,更加偏向于程序员的理解,例:登录业务,订单管理和支付业务,基础增删改查业务,私信和群聊业务,外卖购买与支付业务,点赞评论业务等等。

对项目中出现的业务模块进行优先级的划分,优先级高的先将人力物力投入进去开发。(通常表现为依赖性较高,用户体验影响较大,风险难度较大,市场需求较高的模块,-比如登录注册,用户聊天等)(小项目对该概念并不深刻,但要知道企业项目中业务是有优先级划分的)

对这些单独的业务进行逻辑探究和分析,制定出较合理的实现方式,然后对这个业务进行模拟实现~~(流程图,时序图的绘制,大型项目最好是要有,有些文字并不直观~~),具体表现为抽离出实现这个业务的具体接口。

在此处对技术进行待选,例如:点赞评论的业务实现,需要使用到redis的缓存功能,那么便引入redis;

再例如,一些多高并发场景,使用go进行开发更便捷等等;最终选出最合适的技术栈和应用;

应考虑极端环境下的实现,以及安全性的实现。

(例如,高并发,高流量,事务,锁等)可以代码中先不加上,但要有这个意识,留有余地,在后期进行优化;

实现这个业务的接口抽离出后,再判断这些接口中涉及到的数据库字段,依次列出这些业务所需要的数据库字段和关联的数据,为建表做准备,分析完全部的业务后,将所需的表进行创建汇总和分析,指定主键,外键等数据,再总体过一遍项目流程以保证项目整体的合理性;

进行项目框架和技术栈的选择,例如对于go-web项目,可能会选择gin中的gin-vue-admin当作框架或go-admin框架,或者自建脚手架(对于成熟开发者还是使用成熟框架的好,有助于学习一个非常完整的框架流开发),在企业中大多会使用企业框架或者成熟的开源框架,以及gorm,mysql,redis等各种技术选型。

之后规范开发文档的编写,以及项目中各种规范化的注意事项和命名的要求,前后端统一文档格式,做到阅读零压力。

开发

分发接口责任到人,各开发人员对负责的接口文档持续更新(推荐使用实时更新的markdown工具记录,例如有道云,共同工作,可以实时查看到各开发人员的接口状态,上级负责人应实时监测,不合理时及时调整),接口开发完成后,后端进行项目接口测试,成功后与前端进行联调测试,压力测试等,完全通过后进行项目上线工作。

之后还有很多过程,如上线,维护,更新等,不在此一一说明。

在实际项目中,需求分析和设计阶段的质量和深度对于整个项目的成功至关重要。如果需求分析和设计做得充分和准确,可以大大减少后续开发和编码阶段的时间和资源投入,提高项目开发的效率和质量。

在高质量的需求分析和设计阶段,开发人员可以更清晰地理解项目的需求和目标,更快地编写出高质量的代码。好的设计可以提供清晰的架构和接口定义,有助于降低开发过程中的复杂度和错误率。

在一个合理的项目开发过程中,应该重视需求分析和设计阶段,并在此阶段投入适当的时间和资源。这样可以为后续的开发和编码阶段奠定良好的基础,以提高整个项目的成功率和效率。

以上观点仅代表个人意见,如有疑问,请在评论区回复。


http://www.ppmy.cn/server/8457.html

相关文章

Android14 - WindowManagerService之客户端Activity布局

Android14 - WindowManagerService之客户端Activity布局 一、主要角色 WMS作为一个服务端,有多种客户端与其交互的场景。我们以常见的Activity为例: Activity:在ActivityThread构建一个Activity后,会调用其attach方法,…

Python学习笔记 - 正则表达式

前言 正则表达式(Regular Expression,在代码中常简写为 regex、regexp、RE 或 re)是预先定义好的一个“规则字符串”,通过这个“规则字符串”可以匹配、查找、替换那些符合“规则”的文本,也就是说正则表达式针对的目标…

STM32 HAL库F103系列之ADC实验(二)

多通道ADC采集(DMA读取)实验 这个实验与单通道ADC(DMA读取)实验大致相同 实验简要: 1,功能描述 通过DMA读取数据 通过ADC1通道0/1/2/3/4/5(PA0/1/2/3/4/5)采集测试电压&#xf…

腾讯EdgeOne产品测评体验——多重攻击实战验证安全壁垒:DDoS攻击|CC压测|Web漏洞扫描|SQL注入

腾讯EdgeOne产品测评体验——实战验证安全壁垒:DDoS攻击|CC压测|Web漏洞扫描|SQL注入 写在最前面一、产品概述1.1 什么是边缘安全加速平台 EO?1.2 EdgeOne产品功能 二、准备工作2.1 选择:NS(Name Server)接入模式或 CN…

Arrow, 一个六边形的 Python 时间库

文章目录 Arrow, 一个六边形的 Python 时间库第一部分:背景介绍第二部分:库是什么?第三部分:如何安装这个库?第四部分:库函数使用方法第五部分:场景应用第六部分:常见Bug及解决方案第…

控制台程序设置

该篇博客主要是对下一篇博客《贪吃蛇游戏》的设计做铺垫,大家可以持续关注(点个关注哦😊)等待更新,以下是个人主页: 敲上瘾-CSDN博客 在我们写的程序运行起来后弹出的框就是控制台程序。而这个窗口我们是可以对它进行设置的&…

(CDA数据分析师笔记)第六章 业务分析方法二

基准比计算方法 各个不同维度项下的汇总值和某个基准值之间的比较。 基准值:一个公认的可以衡量此类汇总值的数值。如考试几个成绩60分等。 用于描述各个维度项的表现水平与基准值的差异程度。进行分类,了解各个维度项的表现水平的好坏程度。 在基准…

今日八股-01

一、mysql的主从同步原理: 答:Mysql主从复制的核心就是二进制文件binlog(DDL和DML)。主库在事务提交的时候,会将数据变更记录在二进制日志文件binlog中,从库读取主库的binlog文件,写入到从库的中继日志Rel…