一个软件项目开发的流程汇总java版

一个软件项目开发的流程汇总java版

1.软件开发整体介绍
软件开发流程
角色分工
软件环境

2.xxx项目介绍
项目介绍:
功能架构(管理端,用户端):体现项目中的业务功能模块
产品原型:用于展示项目的业务功能,一般由产品经理进行设计
技术选型(用户层,网关层,应用层,数据层):展示项目中使用到的技术框架和中间件等

3.开发环境搭建
3.1前端环境搭建:管理端web,用户端小程序
3.2后端环境搭建:后端服务java
3.3数据库环境搭建及完善登录功能

xxx-yyy-zzz:maven父工程,统一管理依赖版本,聚合其他子模块
xxx-common:子模块,存放公共类,例如:工具类、常量类、异常类等
xxx-pojo:子模块,存放实体类、VO、DTO等
Entity 实体,通常和数据库中的表对应
DTO 数据传输对象,通常用于程序中各层之间传递数据,上层传向底层
VO 视图对象,为前端展示数据提供的对象,底层传向上层

xxx-server:子模块中存放的是 配置文件、配置类、拦截器、controller、service、mapper、启动类等

数据库环境搭建:
序号 表名 中文名
1 employee 员工表
2 category 分类表
3 dish 菜品表
4 dish_flavor 菜品口味表
5 setmeal 套餐表
6 setmeal_dish 套餐菜品关系表
7 user 用户表
8 address_book 地址表
9 shopping_cart 购物车表
10 orders 订单表
11 order_detail 订单明细表

业务表中的公共字段:自定义注解 AutoFill,用于标识需要进行公共字段自动填充的方法
序号 字段名 含义 数据类型
1 create_time 创建时间 datetime
2 create_user 创建人id bigint
3 update_time 修改时间 datetime
4 update_user 修改人id bigint

后端环境搭建 – 前后端联调
controller:
接收并封装参数
调用service方法查询数据库
封装结果并响应

service:
调用mapper查询数据库
密码比对
返回结果

Mapper:
select * from employee where username = ?

nginx 负载均衡策略:
轮询 默认方式
weight 权重方式,默认为1,权重越高,被分配的客户端请求就越多
ip_hash 依据ip分配方式,这样每个访客可以固定访问一个后端服务
least_conn 依据最少连接方式,把请求优先分配给连接数少的后端服务
url_hash 依据url分配方式,这样相同的url会被分配到同一个后端服务
fair 依据响应时间方式,响应时间短的服务将会被优先分配

4.导入接口文档
http://yapi.mglicai.com/ yapi接口管理
https://apifox.com/ 接口管理
制定接口:
前端开发
后端开发
连调
提测
上线

== 接口设计:
4.1基本信息:
Path:/admin/dish
Method:Delete
接口描述:批量删除xx

4.2请求参数:

4.3返回数据:

5.Swagger
使用Swagger你只需要按照它的规范去定义接口及接口相关的信息,就可以做到生成接口文档,以及在线接口调试页面。
官网:https://swagger.io/

Knife4j 是为Java MVC框架集成Swagger生成Api文档的增强解决方案。
导入 knife4j 的maven坐标
在配置类中加入 knife4j 相关配置
设置静态资源映射,否则接口文档页面无法访问

注解 说明
@Api 用在类上,例如Controller,表示对类的说明
@ApiModel 用在类上,例如entity、DTO、VO
@ApiModelProperty 用在属性上,描述属性信息
@ApiOperation 用在方法上,例如Controller的方法,说明方法的用途、作用

二。员工管理、分类管理
新增员工
需求分析和设计
代码开发
功能测试
代码完善

员工分页查询
启用禁用员工账号
编辑员工
导入分类模块功能代码

注意:当前端提交的数据和实体类中对应的属性差别比较大时,建议使用DTO来封装数据

posted @ 2024-01-26 11:09  大树2  阅读(27)  评论(0编辑  收藏  举报