项目运行环境配置:
Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。
项目技术:
Springboot + mybatis + Maven +mysql5.7或8.0+html+css+js等等组成,B/S模式 + Maven管理等等。
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 4G内存以上;或者 Mac OS;
5.是否Maven项目: 否;查看源码目录中是否包含pom.xml;若包含,则为maven项目,否则为非maven项目
6.数据库:MySql 5.7/8.0等版本均可;
毕设帮助,指导,本源码分享,调试部署(见文末)
3.1可行性分析
3.1.1经济可行性分析
本系统所需要用到的所以的工具都是开源,不收费的,并且本系统因为不具有太过于复杂的结构,用户维护系统的费用也不高。所以,本系统的经济可行性是可行的。
3.1.2技术可行性分析
该论文中安卓点餐系统将被实现为采用 B/S架构,主要使用java语言进行系统后端开发,同时选用MySQL作为持久层交互的数据库,系统同时使用ssm框架,使开发过程能够变得高效简便。这里采用的MVC 三层架构,将业务逻辑、数据存取、界面显示分离开的程序开发模式,使用这种模式进行开发、组织代码,可以将所有的业务逻辑整合到一个实体类中,这样的话在有新需求提出或者某个需求需要进行变更的时候,不需要大量的修改程序,只需要找到对应的功能模块进行修改,这极大地方便了程序的维护,提高了程序的可扩展性。
3.2系统需求分析
3.2.1功能需求
本论文中实现的安卓点餐系统将以商家和用户核心的日常信息维护工作为主,主要涵盖了个人中心、用户管理、商家管理、菜品分类管理、菜品信息管理、系统管理、订单管理等功能,采用该安卓点餐系统将满足商家和用户日常管理工作的基本需求。本系统与商家和用户操作的全过程相契合,从商家和用户登录开始录入系统,然后记录安卓点餐信息,从而让商家和用户对系统的管理都能够清晰规范,相应信息的检索和维护简单高效,进而提高商家和用户整体工作的效率。系统用户用例如下:
![](https://img-blog.csdnimg.cn/47bdb304e5ca4483b1976545d1dd6de6.png)
图3-1 用户用例图
![](https://img-blog.csdnimg.cn/44f3ec2e092f4ffbb39a2b7aa98b8cf0.png)
图3-2 商家用例图
![](https://img-blog.csdnimg.cn/6158279127d04c7eb27f5c0fc103b191.png)
图3-3 管理员用例图
3.2.2 性能需求
(1)故障率低
低故障率对安卓点餐系统十分重要,如果故障率较高,将会给商家和用户的日常工作和服务带来很大不变。所以系统的实现要尽可能的保证更低的故障率,以保障系统的平稳运行。
因此,除了保证使用系统的硬件较为可靠外,在程序的设计上,我们需要增加一些预防性功能,比如当系统中的某些功能运行出现故障时,提供预防措施,例如给出错误信息告知用户然后结束该功能,否则的话可能因为一个功能的故障导致整个系统瘫痪。
(2)界面友好
安卓点餐系统设计的目的在于帮助商家和用户能够更加高效轻松地进行日常的管理工作,所以作为一个工具,该系统应该被设计得易于上手使用,整个系统界面需要简洁明了、清晰易懂,而且一定要为用户提供必要的提示信息,比如在登录时用户密码或者用户名输入错误时要给予提示。总之一定要从使用者的角度出发,去设计用户操作界面。
3.2.3 安全性需求
首先要保证服务器不受攻击,数据库不能曝露在互联中。对使用系统的不同用户赋予相应的权限,用户只能进行自己权限允许范围内的操作。数据库中进行多用户管理,对用户的敏感信息如身份证信息,只有最高权限的数据库管理员用户可查询,其他用户无权限查看。
3.3系统流程的分析
3.3.1 系统操作流程
系统操作流程如图3-4所示:
![](https://img-blog.csdnimg.cn/cf5ed292de3949eb8521295aa6d2d643.png)
图3-4系统操作流程图
3.3.2 登录流程
登录流程如图3-5所示:
![](https://img-blog.csdnimg.cn/fa578534e1bc48d08d735c5aa91d10a0.png)
图3-5 登录流程
3.3.3个人中心管理流程
个人中心管理流程如图3-6所示:
![](https://img-blog.csdnimg.cn/e02e816487df4a34be61fabab8550cca.png)
图3-6 个人中心管理流程
3.4本章小结
在本章中对本论文要实现的安卓点餐系统要实现的需求进行了详尽的说明,包括系统实现的可行性分析,整个系统在功能、性能和安全方面需求的分析,最后对整个系统不同身份用户的业务流程进行了有序的阐述。通过对以上内容的分析和说明,使得系统要实现的具体功能更加清晰,这给后面系统的设计和实现奠定了良好的基础,有助于整个程序开发的顺利进行。
通过前三章的分析说明,本论文中安卓点餐系统已经具有了良好的实现基础,目前的第四章将对系统的具体实现进行说明介绍。
4.1系统结构设计
随着互联网的兴起以及国内外许多B/S架构的优秀系统被广泛使用而变得流行,B/S架构成为了系统开发的主流。本论文中的安卓点餐系统也同样采用了B/S架构标准的三层架构,即将整个系统划分为表现层、业务层和持久层这三层,并且在表现层采用MVC设计模型。
采用B/S架构,整个系统的核心业务逻辑都被放在服务器端,使得开发过程变得方便。虽然这会使得服务器端的压力较大,但在Ajax等技术兴起后,在前端也就是浏览器端也可以实现部分业务逻辑,一定程度上分担了服务器的压力。
同时,该系统采用的B/S架构,将整个系统进行分层。在表现层,主要负责处理从客户端接收到的请求,根据请求内容进行处理后向客户端响应结果。在业务层中,囊括了整个系统的核心业务逻辑,它位于数据访问层之上表现层之下,表现层的请求发送至业务层,业务层将根据编写好的业务逻辑与数据层进行交互。但是每个层之间是不具有必然联系的,表现层的请求发送至业务层,业务层在接受到后可以不进行处理,这并不会导致整个系统出现错误。所以只要层与层之间交互的接口不发生变化,某一层的变更并不会对其它层产生影响。所以这种架构的系统实际上很易于扩充,只要表现层有新的请求发送给业务层,业务层只要有相应的处理逻辑就好了,所以业务逻辑层的设计是十分重要的。而在持久层,主要进行的就是数据的存取,也就是和数据库打交道。
以上这种对程序进行分层的方式,可以使开发者专注于结构中的某一层,每一层要进行的工作十分明确,降低了耦合性,这种标准化的开发方式,有利于程序的复用,也极大地降低了之后对系统功能扩充和维护的成本。
4.2系统功能模块设计
安卓点餐系统的使用者主要有三类用户,一类是管理员,他拥有整个系统的最高权限,然后是商家和用户,都只能对自己的个人信息进行操作。系统根据这三类用户,划分出了三大功能模块。
4.2.1管理员模块
管理员用户具有整个系统的最高权限,可以使用系统中的所有功能模块,包括查看所有安卓点餐信息,并对这些数据进行管理。在商家和用户模块中可以将新的信息录入系统,还可以查询,删除和编辑权限内的信息。在系统维护管理中可以对用户登录信息、用户权限进行管理。
4.2.2 商家模块
商家的功能模块中主要涵盖:可以根据需要和实际情况修改自己的个人信息,可以对菜品信息和订单进行管理等。
4.2.3用户模块
用户的功能模块中主要涵盖:可以根据需要和实际情况修改自己的个人信息,可以对我的收藏管理、用户充值、购物车、我的订单等功能进行管理。
4.3系统功能结构设计图
以上所涉及到的有关的功能,都是用功能结构图来简洁和清晰的表示出来,功能结构图就是能够把比较复杂的功能结构用图的形式清晰的描绘下来,并且为后续的设计以及测试等模块提供了明确的方向,在构思功能结构图的时候,便可以给设计的过程带来一定的思维导向,不至于在设计过程中有所遗漏,可以尽可能的明确系统所涉及到的功能。
以上所涉及到相关的功能以简洁清晰的方式来表示的,将复杂的结构以图形的形式画清楚,并且为后续的设计和测试模块提供了明确的方向,在构思功能结构图的时候,可以给设计过程带来一定的思维导向,在设计过程中不至于遗漏。可以尽可能明确系统所涉及的功能。
系统的总体功能结构图如图4-1所示。
图 4-1系统总体结构图
4.4数据库设计
数据库对所有信息管理系统来说都十分重要,因为系统中的核心功能大多都依赖于数据库,所以数据库的设计将对系统的性能和功能实现起到重要作用。该系统内总共有三类对象,分别是管理员,商家和用户,数据库设计将根据这些用户的属性来实现,同时,建立表的结构以及表与表之间的关系。
4.4.1 概念模型设计
数据库在程序的设计中扮演了重要的角色,它将系统涉及的数据全部容纳其中,在数据库设计时,为了能够明确思路,清晰明了一般都是先构建E-R图,ER图是由实体及其关系构成的图,通过E/R图可以清楚地描述系统涉及到的实体之间的相互关系。在系统中对一些主要的几个关键实体如下图:
(1) 菜品信息实体属性图如4-2所示
图4-2菜品信息实体属性图图
(2)购物车实体属性图如图4-3所示。
图4-3购物车实体图
(3)网站公告实体属性图如图4-4所示。
图4-4网站公告实体图
(4)订单实体属性图如图4-5所示。
图4-5订单实体图
5.1 App前台功能的实现
5.1.1登录界面的实现
首先双击打开App,连上网络之后会显示出本系统的登录界面,这是进入App的第初始页面“登录”,能成功进入到该登录界面则代表App的开启是成功的,接下来就可以操作本系统所带有的其他所有的功能。登录界面如图5-1所示。
图5-1 登录界面
5.1.2注册界面的实现
第一次使用本app的使用者,首先是要进行注册,点击“注册”,然后就会进入到注册的页面里面,将用户信息录入注册表,确认信息正确后,系统才会进入登录界面,用户登录成功后可使用本app所提供的所有功能。注册界面如图5-2所示。
图5-2 注册界面
5.1.3系统首页功能的实现
系统首页是用户注册登录后进入的第一个界面,用户可通过app端首页的最下面的那一行导航栏进入到相应的网页进行操作;系统首页界面如图5-3所示。
图5-3 app首页界面图
商家:在商家界面可以查看到店铺名、商家账号、负责人、联系电话、建筑面积、店铺地址、店铺简介等详细信息,并根据需要进行评论或收藏操作。商家详情如图5-4所示。
图5-4商家详情界面图
菜品信息:在菜品信息界面可以查看到菜品名称、菜品分类、店铺名、口味、上架时间、商家账号、联系电话、库存、点击次数等详细信息,并根据需要进行加入购物车、立即购买、评论或收藏操作。菜品信息详情如图5-5所示。
图5-5菜品信息详情界面图
5.1.4用户功能
用户登录成功后,点击“我的”进入用户功能页面,在用户功能页面可以对个人中心、我的收藏管理、用户充值、购物车、我的订单等进行详细操作。用户功能界面如图5-6所示。
图5-6用户功能界面图
5.2 APP后台的实现
后台登录,通过填写用户名和密码等信息进行登录操作,如图5-7所示。
图5-7后台登录界面图
5.2.1管理员功能
管理员登录进入app可以对个人中心、用户管理、商家管理、菜品分类管理、菜品信息管理、系统管理、订单管理等功能进行详细操作,如图5-8所示。
图5-8管理员功能界面图
用户管理;在用户管理页面输入账号和姓名进行查询,新增或删除用户列表,并根据需要对用户详细信息进行详情,修改和删除操作;如图5-9所示。
图5-9用户管理界面图
商家管理;在商家管理页面输入店铺名、店铺地址和选择是否通过进行查询,新增或删除商家列表,并根据需要对商家详细信息进行详情,修改和删除操作;如图5-10所示。
图5-10用户管理界面图
菜品信息管理;在菜品信息管理页面输入菜品名称、口味、店铺名和选择菜品分类进行查询或删除菜品信息列表,并根据需要对菜品详细信息进行详情、修改、查看评论或删除操作;如图5-11所示。
图5-11菜品信息管理界面图
系统管理;在网站公告管理页面输入标题进行查询,新增或删除网站公告列表,并根据需要对网站公告详细信息进行详情,修改和删除操作,还可以对关于我们、系统简介和轮播图管理进行详细操作;如图5-12所示。
图5-12系统管理界面图
5.2.2商家功能
商家登录进入app可以对个人中心、菜品信息管理、订单管理等功能进行详细操作,如图5-13所示。
图5-13商家功能界面图
菜品信息管理;在菜品信息管理页面输入菜品名称、口味、店铺名和选择菜品分类进行查询,新增或删除菜品信息列表,并根据需要对菜品详细信息进行详情、修改、查看评论或删除操作;如图5-14所示。
图5-14菜品信息管理界面图
订单管理,在已支付订单页面可以对索引、订单编号、商品名称、商品图片、购买数量、价格、折扣价格、总价格、折扣总价格、支付类型、状态、地址、电话、收货人、备注、商户名称、下单时间等内容进行详情、发货和删除等操作,还可对已完成订单、已发货订单、未支付订单、已取消订单、已退款订单进行相对应操作,如图5-15所示。
图5-15订单管理界面图