软件开发整体介绍:
开发流程:
需求分析:
需求规格说明书
产品原型
设计:
UI设计, 数据库设计, 接口设计
编码:
项目代码, 单元测试
测试:
测试用例, 测试报告
运维:
环境安装, 软件部署和配置
角色分工:
项目经理:负责整个项目, 任务分配, 进度把控
产品经理: 进行需求分析, 输出需求分析文档, 产品原型
UI设计师: 根据产品原型输出界面效果图
系统架构师:项目整体架构设计, 技术选型
开发工程师:编码
测试工程师:编写测试用例, 输出测试报告
运维工程师:软件环境搭建, 部署,运行维护
软件环境:
开发环境:开发阶段使用的环境
测试环境:测试人员测试的环境
生产环境:对外服务的线上环境
苍穹外卖项目介绍:
项目简介:
定位: 为餐饮企业定制的软件产品
业务功能架构:
管理端
分类管理, 菜品管理, 套餐管理,
订单管理, 工作台,
员工管理,数据统计与分析,
用户端
用户管理
注册
登录
浏览记录
收藏
购买记录
商品浏览
账单管理
购物车
下单支付
地址管理
催单
需要订单
退货
产品原型:
展示项目的业务功能架构, 一般由产品经理设计
技术选型:
选择和展示项目中使用到的技术框架和中间件等
用户层: node.js, vue.js, elementUI, 微信小程序, apache echarts
网关层: nignx
应用层: Spring Boot, Spring MVC, Spring Task, Spring Cache,
httpclient, JWT, 阿里云OSS, swagger, POI, webSocket
数据层: MySql, Redis,mybatis, pagehelper, spring data redis
工具: Git, maven, junit postman
开发环境搭建:
前端-管理端(web),用户端(小程序) 后端-后端服务(java)
前端环境搭建:
前端工程基于nginx运行
将前端源码部署到nginx文件夹下的html中即可
双击nginx.exe, 在浏览器输入localhost/80即可访问前端页面
后端环境搭建:
后端工程基于maven进行搭建, 分模块开发
熟悉项目架构
sky_take_out: maven父工程, 统一管理依赖版本, 聚合其他子模块
sky-common:子模块, 存放公共类, 例如:工具类, 常量类, 异常处理类
sky-pojo:子模块, 存放实体类,VO(数据传输对象), DTO(视图对象)等, 这三个同属于pojo类
sky-server:子模块, 存放逻辑处理类, 配置文件等
利用git进行版本控制:
创建git本地仓库
创建git远程仓库, 此处使用gitee
将本地工程推送到git远程仓库中
数据库搭建
扩展:
maven是什么?
在我个人看来, maven相当于我们的一个工程管家, 负责初始文件的构建, jar包导入, 项目测试, 导出项目, 部署项目, 原本这些工作需要人来一步步完成, 使用maven可以让我们全心投入到编码中, 节省我们的精力
为什么要用git进行版本控制呢?
依我看来, 将代码托管到gitee和github类似的托管平台, 可以托管很多不同时间段, 不同开发进度的源代码,
1.源码托管起来后, 开发团队的人员都可以进行修改, 可以同时进行不同部分的开发, 加快工作进度
2.当某一阶段开发出现错误时, 可以使用之前版本的源码, 相当于对代码进行回溯, 节省开发成本, 增加容错
3.当项目上线后, 如果出现问题, 可以根据版本和长传记录, 精确定位错误和准确追责