对于一个web APP来说,一个Java程序员最需要关心的是业务逻辑,而不是其他的一些东西。
一、软件开发流程:
- 需求分析:了解产品原型,需求规格说明书
- 设计:基于需求分析,设计产品文档、UI界面、概念设计、数据库设计等
- 编码:项目代码、单元测试
- 测试:使用测试用例进行测试、产生测试报告
- 上线运维:安装软件环境、进行配置
对于我们Java开发者来说,一般我们的任务就是第三部分工作,其他工作由团队内的其他人员来完成,所以很需要考验我们的独立设计能力、合作能力与沟通能力。
1和2一般是由产品经理和架构师来完成,四由测试人员完成,五由运维人员完成。
二、项目介绍
本项目是为餐饮店定制的软件产品,包括系统后台和移动端两个部分。系统后台提供企业内部使用,对菜品,套餐,订单等进行管理,一部分是给用户使用,提供浏览,添加购物车,点单等功能。
2.1产品原型
产品原型是产品成型之前的简单框架,将页面的布局排版展示出来,直观了解产品的需求和需要提供的功能。本项目的产品原型分为两部分,一部分是管理端的产品原型,另一部分是用户端的产品原型。
2.2技术选型
- 用户层技术:如何把我们设计的界面展现给用户APP,H5、VUE、ElementUI、微信小程序
- 网关层:Nginx,负责静态资源的保存与分发,可以理解为一个类似于Tomcat的服务器,但是不完全相同
- 应用层:Spring Boot,Spring MVC,Spring Session(进行服务器集群时如何在服务器之间进行Session共享),Spring,Swagger,Lombok
- 数据层:Mysql、Mybatis、Mybatis Plus、Redis
- 工具:Git、Maven、Junit
2.3功能架构
以下表格展示了管理端和用户端需要完成的功能:
管理端 | 用户端 |
员工管理 | 微信登录 |
分类管理 | 商品浏览 |
菜品管理 | 购物车 |
套餐管理 | 用户下单 |
订单管理 | 微信支付 |
数据统计 | 历史订单 |
来单提醒 | 地址管理 |
工作台 | 催单 |
2.4角色管理
使用系统的主要是这么几类角色:
- 后台系统管理员:拥有所有权限
- 后台普通管理员:管理菜品,订单
- C端用户:浏览、点单、设置地址