目录
第1章 概述 1
1.1毕业设计的核心任务 1
1.2毕业设计工作进程 1
(1) 第一个阶段主要实现项目需求分析的编写、业务逻辑的分析、E-R图、用列图、系统架构图的设计。 1
第2章 需求分析 3
2.1用户需求 3
2.1.1业务需求 3
2.1.2商业需求 3
2.2可行性分析 3
2.2.1技术可行性 3
2.2.2经济可行性 3
2.3系统功能 4
第3章 概要设计 5
3.1系统E-R图 5
3.2系统用列图 6
3.3系统架构图 7
第4章 详细设计与系统实现 8
4.1 业务逻辑设计与实现 8
4.2 表现层设计与实现 8
4.3 项目难点及解决方案 8
4.4 典型代码片段与设计过程 8
第5章 测试与部署 10
5.1 系统测试 10
5.2 系统部署 17
第6章 毕业设计总结 18
6.1 系统基本软件度量数据 18
6.2 毕业设计项目的收获与展望 19
第2章需求分析
2.1用户需求
2.1.1业务需求
我们项目的主要业务需求有以下几点:
(1)作为用户可以选择餐桌、选择菜系、查看菜单、搜索菜名、加入餐车、查看订单、取消订单、完成订单。
(2)作为商家可以实现登陆功能、增减餐桌、增减菜系种类、增减菜品信息、查看用户点餐信息。
(3)作为管理员实现对食堂信息、食堂商户信息以及用户信息的管理与统计方便食堂的管理。
2.1.2商业需求
考虑到当下网络的发达以及智能设备的普及,很多人都更加偏爱于在网上平台点餐,浏览所有的商品之后再选择自己想要,而不需要匆忙的去排队点餐并且还没有时间看清楚所有的餐品信息,此外一个食堂和商家拥有这样一个平台也方便了商家对于菜品等信息的管理,也方便了对食堂的管理。基于这样一个痛点我们打算开发一个基于Java web与MySQL的食堂点餐系统来解决这样一个痛点。
2.1.3 特殊需求
本系统是专门为食堂提供服务的系统,考虑到用户多数都是学生和食堂的商家因此我们的系统必须保证信息的准确性,以及信息的及时性;针对用户(学生)可以制定更加完善的服务。比如在点餐的前一天可以邀请用户(学生)参与投票选择自己想在哪一个食堂哪一个商户吃什么,便于食堂商家准备餐品从而可以避免不必要的浪费和不足等问题。
2.2可行性分析
2.2.1技术可行性
本项目是一个基于Java web的食堂点餐系统,用到的主要技术是Java web与MySQL。Java EE体系作为当下最流行的Java web技术拥有完善的文档和生态环境;MySQL作为当下最流行的高性能数据库同样拥有完善的技术文档和生态环境;对此可以保证我们项目的开发质量和开发进度。在项目开发过程中使用到的主要软件与平台有,代码编写使用Eclipse、数据库的实现使用MySQL数据库、项目的打包构建使用maven、项目的本地测试部署使用Tomcat、项目的开发使用Windows平台、项目的最终部署使用腾讯云服务器centos7操作系统。
2.2.2经济可行性
本项目的开发所使用的Eclipse是免费的,使用的数据库MySQL是开源免费的,使用的构建打包工具Maven是免费的,本地部署测试使用Tomcat是开源免费的。最终部署的服务器时采用的腾讯云服务器以及域名的购买都是在我们现有的经济基础之上可以承受的。在项目的后期维护上面的费用一级开发阶段的经济都是可行的。
2.3系统功能
本系统主要是基于Java web与MySQL的食堂点餐系统,系统的主要功能包括商家后台:食堂商家可以实现登陆功能、增减餐桌、增减菜系种类、增减菜品信息、查看用户点餐信息,用户可以选择餐桌、查看菜单、搜索菜名、加入餐车、查看订单、取消订单、完成订单,系统的管理员能够实现对食堂信息、商户信息、用户信息的管理。
2.4领域逻辑
商家每天在点餐系统上提供的餐品数量是有限的,如果用户选择了一样菜品那么相应的菜品数量就会从当天售卖的总数中减少一份,如果由用户点了餐并且付了款但又想退款,那么这个事务就会回滚到他最初始的状态,商品减少的数量会重新加一。
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<script type="text/javascript" src="${pageContext.request.contextPath }/app/detail/style/js/jquery.js"></script>
<%-- <link href="${pageContext.request.contextPath }/app/detail/style/css/bootstrap.min.css" rel="stylesheet" type="text/css"> --%>
<title>登录</title>
</head>
<body>
<div style="margin-top: 100px; margin-left: 45%;align-content: center;">
<h3>登录信息</h3>
<form>
<label for="email">邮箱</label>
<input id="email" name="email" type="text">
<br> <br>
<label for="password">密码</label>
<input id="password" name="password" type="password">
<br> <br>
<button id="login" type="button" onclick="userLogin();">登录</button>
<button type="reset" id="reset" style="margin-left: 120px;">重置</button>
</form>
</div>
<script type="text/javascript">
function check() {
var email = $('#email').val();
var password = $('#password').val();
var emailTest = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;
if (!emailTest.test(email)){
alert("邮箱格式不正确");
return false;
}
if (password.length < 5) {
alert("密码长度不能小于5");
return false;
}
return true;
}
function userLogin() {
if (check()){
var email = $('#email').val();
var password = $('#password').val();
$.ajax({
url:'${pageContext.request.contextPath }/login',
data:{email:email,password:password},
type:'POST',
success:function (res) {
if (res == 200){
window.location.href='${pageContext.request.contextPath }/admin'
}
}
});
}
}
</script>
</body>
</html>