项目 点餐

1 学习方法

1) 需要写很多代码, 有可能会出现跟不上节奏(落课): 优先保证听课
2) 可以复制,但是一定要知道复制的是啥(弄明白复制的每一行代码)
忌讳: 不要粘贴完啥都不看 直接运行.......
3) 一定要在弄明白的基础上赶进度
4) 报错了....(5-15 分钟解决不了)一定要问
忌讳: 熬夜..花了两个小时,解决了一个问题( 成本太高了)
5) 前面的东西忘了,前面没学好 :
5.1) 用到的地方会复习
5.2) 可以留言,需要补充内容(晚自习,自习等事件进行复习)

1.1 如何写代码

总结的步骤

1) 分析 url 是啥?
2) 搭建Controller 架子 ,Servcie,dao, 实体类
3) 分析,写思路
4) 晚上代码
1) 设计产品原型
2) 表结构设计
------------------------------
3) 约定 URL (文档)
请求方式,请求数据格式,参数列表,响应格式,响应列表
方式1: 开会
方式2: 后端负责编写,前端提出微调意见
---------------------------------
4) 编写文档 URL
5) 前端按照 URL 编写页面
------------------------------
5) 后端按照 URL编写功能

-----
6) 测试(联调测试)
1) 先分析参数如何接受,完善Controller 骨架
-------------------------------------
2) 分析 写思路:
如果我要完成这个功能 需要干啥
登录为例
1) 接受参数
2) 参数是否需要处理
3) 根据用户名密码查询数据库 ---->service--->dao
4) true --->
5) false--->

1.2 如何分析URL


项目背景

时间:某年寒假

地点:菩提阁餐厅

人物:软件工程专业大学生小王,菩提阁餐厅老板老王,父子关系

事件:小王在寒假期间帮忙打理父亲的餐厅,发现每天客户订餐量非常大,但是餐厅还是传统的电话接单方式,效率低下而且容易漏单,所以决定利用学校所学知识开发一套在线订餐系统,并且系统开发完成后,还可以推销给其他餐厅,可以赚点外快

问题:由于小王在学校学习的知识以后端开发为主,对于前端页面的编写并不熟练,所以决定联系一下在软件公司做前端开发的表姐帮忙来编写页面

  • 软件开发整体介绍

  • 瑞吉外卖项目介绍

  • 开发环境搭建

  • 后台登录功能开发

  • 后台退出功能开发

瀑布开发

以一个功能(一个需求)为单位进行开发

需求开发(程序员要知道的)

1)搜集需求.提出需求 (系统的使用者)
2)分配任务 给具体的小组/人员
---------------------------------------------
3) 分析需求 (1/5)
1)看不懂,打电话给提需求的人问 或问组长, 开会等
2)确认需求,打电话给提需求的人确认(自己理解的是否正确)
4)分析代码 (1/5)
4.1) 以前有没有类似的功能,(修改还是新增)
4.2) 设计代码(表,字段是否需要新增),(如果需要新增字段,需要确认)
5) 写代码 (1/5)
6) 自己测试 (2/5)
<<开发测试报告>> --- 看团队
7) 提交给测试组人员 再次测试
8) 修改bug
-------------------------------------------
9) (系统的使用者) 再次测试:确认需求
10)上线
真正的开发
一周5天, 可能只有两天在写代码
开发, 看文档,学习,bug修复,写文档
对程序员的要求
1) 沟通能力,
2) 表达能力,
3) 文档能力,
4) 编码能力(命名规范,良好的注释)

4 人员

学习了软件开发的流程之后, 我们还有必要了解一下在整个软件开发过程中涉及到的岗位角色,以及各个角色的职责分工。

岗位/角色

职责/分工

项目经理

对整个项目负责,任务分配、把控进度

产品经理

进行需求调研,输出需求调研文档、产品原型等

UI设计师

根据产品原型输出界面效果图

架构师

项目整体架构设计、技术选型等

开发工程师

功能代码实现

测试工程师

编写测试用例,输出测试报告

运维工程师

软件环境搭建、项目上线


1.3 软件环境

在我们日常的软件开发中,会涉及到软件开发中的三套环境, 那么这三套环境分别是: 开发环境、测试环境、生产环境。 接下来,我们分别介绍一下这三套环境的作用和特点。

1). 开发环境(development)

我们作为软件开发人员,在开发阶段使用的环境,就是开发环境,一般外部用户无法访问。

比如,我们在开发中使用的MySQL数据库和其他的一些常用软件,我们可以安装在本地, 也可以安装在一台专门的服务器中, 这些应用软件仅仅在软件开发过程中使用, 项目测试、上线时,我们不会使用这套环境了,这个环境就是开发环境。

2). 测试环境(testing)

当软件开发工程师,将项目的功能模块开发完毕,并且单元测试通过后,就需要将项目部署到测试服务器上,让测试人员对项目进行测试。那这台测试服务器就是专门给测试人员使用的环境, 也就是测试环境,用于项目测试,一般外部用户无法访问。

3). 生产环境(production)

当项目开发完毕,并且由测试人员测试通过之后,就可以上线项目,将项目部署到线上环境,并正式对外提供服务,这个线上环境也称之为生产环境。

拓展知识:
准生产环境: 对于有的公司来说,项目功能开发好, 并测试通过以后,并不是直接就上生产环境。为了保证我们开发的项目在上线之后能够完全满足要求,就需要把项目部署在真实的环境中, 测试一下是否完全符合要求啊,这时候就诞生了准生产环境,你可以把他当做生产环境的克隆体,准生产环境的服务器配置, 安装的应用软件(JDK、Tomcat、数据库、中间件 ...) 的版本都一样,这种环境也称为 "仿真环境"。
ps.由于项目的性质和类型不同,有的项目可能不需要这个环境
本项目(瑞吉外卖)是专门为餐饮企业(餐厅、饭店)定制的一款软件产品,包括 系统管理后台 和 移动端应用 两部分。
其中系统管理后台主要提供给餐饮企业内部员工使用,可以对餐厅的分类、菜品、套餐、订单、员工等进行管理维护。
移动端应用主要提供给消费者使用,可以在线浏览菜品、添加购物车、下单等。

本项目共分为3期进行开发:

阶段

功能实现

第一期

主要实现基本需求,其中移动端应用通过H5实现,用户可以通过手机浏览器访问

第二期

主要针对移动端应用进行改进,使用微信小程序实现,用户使用起来更加方便

第三期

主要针对系统进行优化升级,提高系统的访问性能

2.2 产品原型

产品原型,就是一款产品成型之前,由产品经理绘制的一个简单的框架,就是将页面的排版布局展现出来,使产品的初步构思有一个可视化的展示。通过原型展示,可以更加直观的了解项目的需求和提供的功能。

注意事项: 产品原型主要用于展示项目的功能,并不是最终的页面效果。

在课程资料的产品原型文件夹下,提供了两份产品原型。

1). 管理端

餐饮企业内部员工使用。 主要功能有:

模块

描述

登录/退出

内部员工必须登录后,才可以访问系统管理后台

员工管理

管理员可以在系统后台对员工信息进行管理,包含查询、新增、编辑、禁用等功能

分类管理

主要对当前餐厅经营的 菜品分类 或 套餐分类 进行管理维护, 包含查询、新增、修改、删除等功能

菜品管理

主要维护各个分类下的菜品信息,包含查询、新增、修改、删除、启售、停售等功能

套餐管理

主要维护当前餐厅中的套餐信息,包含查询、新增、修改、删除、启售、停售等功能

订单明细

主要维护用户在移动端下的订单信息,包含查询、取消、派送、完成,以及订单报表下载等功能

2). 用户端

移动端应用主要提供给消费者使用。主要功能有:

模块

描述

登录/退出

在移动端, 用户也需要登录后使用APP进行点餐

点餐-菜单

在点餐界面需要展示出菜品分类/套餐分类, 并根据当前选择的分类加载其中的菜品信息, 供用户查询选择

点餐-购物车

用户选中的菜品就会加入用户的购物车, 主要包含 查询购物车、加入购物车、删除购物车、清空购物车等功能

订单支付

用户选完菜品/套餐后, 可以对购物车菜品进行结算支付, 这时就需要进行订单的支付

个人信息

在个人中心页面中会展示当前用户的基本信息, 用户可以管理收货地址, 也可以查询历史订单数据

2.3 技术选型

关于本项目的技术选型, 我们将会从 用户层、网关层、应用层、数据层 这几个方面进行介绍,而对于我们服务端开发工程师来说,在项目开发过程中,我们主要关注应用层及数据层技术的应用。

产品原型展示

产品原型,就是一款产品成型之前的一个简单的框架,就是将页面的排版布局展现出来,使产品的初步构思有一个可视化的展示。通过原型展示,可以更加直观的了解项目的需求和提供的功能。

课程资料中已经提供了产品原型:

管理端

用户端

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值