Java web期末项目第一阶段成果发表
摘要
我们做的系统是一个基于Java web与MySQL的食堂订餐系统
班级: 计科二班
小组成员:李鉴宣、袁超
我们的第一阶段主要完成以下三件事:
- 完成项目的需求分析
- 完成项目的领域逻辑(domain logic)
- 完成项目的E-R图、用列图、系统架构图
其中我们的需求分析中主要包含了以下类容:
GitHub仓库链接(包含需求分析文档):https://github.com/Love-LG/-
- 1、概述
- 1.1 课程项目设计的核心任务
课程设计的核心任务主要是通过对Java web和MySQL两门课程的学习之后,运用Java web和MySQL技术实现一个食堂点餐系统。完成课程设计报告的编写和项目源码的实现,最后将项目部署到服务器上。 - 1.2 课程设计的工作进程
第一个阶段主要实现项目需求分析的编写、业务逻辑的分析、E-R图、用列图、系统架构图的设计;第二个阶段编写相应代码实现系统的各个功能;第三个阶段实现系统项目的最终测试和部署。
- 1.1 课程项目设计的核心任务
- 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、项目的本地测试部署使用glass fish、项目的开发使用Windows平台、项目的最终部署使用腾讯云服务器centos7操作系统。 - 2.2.2 经济可行性
本项目的开发所使用的Eclipse是免费的,使用的数据库MySQL是开源免费的,使用的构建打包工具是免费的,本地部署测试glass fish是开源免费的。最终部署的服务器时采用的腾讯云服务器以及域名的购买都是在我们现有的经济基础之上可以承受的。在项目的后期维护上面的费用一级开发阶段的经济都是可行的。
- 2.2.1 技术可行性
- 2.3 系统功能
本系统主要是基于Java web与MySQL的食堂订餐系统,系统的主要功能包括食堂商家可以实现菜品信息的录入员工信息的管理以及处理用户的订单,用户可以浏览食堂商家的信息以及商家提供的菜品信息并且能够完成订单操作,系统的管理员能够实现对食堂信息、商户信息、用户信息的管理。 - 2.4 领域逻辑
商家每天在点餐系统上提供的餐品数量是有限的,如果用户选择了一样菜品那么相应的菜品数量就会从当天售卖的总数中减少一份,如果由用户点了餐并且付了款但又想退款,那么这个事务就会回滚到他最初始的状态,商品减少的数量会重新加一。
- 2.1 用户需求
- 3 概要设计图
- 3.1 系统E-R图
- 3.2 系统用列图
- 3.3 系统架构图
以下是三个设计图的展示
系统E-R图

系统用列图

统架构图

Java web期末项目第一阶段成果发表的更多相关文章
- JAVA WEB期末项目第二阶段成果
我们做的系统是一个基于Java web与MySQL的食堂订餐系统 班级: 计科二班 小组成员:李鉴宣.袁超 1.开发环境 开发编辑器使用:Visual Studio Code 数据库使用:MySQL8 ...
- JAVA Web期末项目第三阶段成果
我们做的系统是一个基于Java web与MySQL的食堂点餐系统 班级: 计科二班 小组成员:李鉴宣.袁超 项目的测试 在系统部署到云服务器之前,已经在本机上进行了部署测试,通过mvn打包生成war文 ...
- IDEA Java Web(Spring)项目从创建到打包(war)
创建Maven管理的Java Web应用 创建新项目,"create new project",左侧类型选择"maven",右侧上方选择自己的SDK,点击&qu ...
- 【转】IntelliJ IDEA 创建 hello world Java web Maven项目
学Java的大部分吧都是要整Java web开发项目的,那么最好用的编辑器估计就是这个 IntelliJ IDEA,然后现在maven管理项目是很流行的.然后我就示范一下,如何使用这个IntelliJ ...
- IntelliJ IDEA 创建 hello world Java web Maven项目从头到尾都有图有真相2017版本
学Java的大部分吧都是要整Java web开发项目的,那么最好用的编辑器估计就是这个 IntelliJ IDEA,然后现在maven管理项目是很流行的.然后我就示范一下,如何使用这个IntelliJ ...
- docker简单入门之使用docker容器部署简单的java web开源项目jpress博客程序
一.在centos7.3上安装docker 前置条件 x86_64-bit 系统 kernel 3.10+ .检查内核版本,返回的值大于3.10即可 [root@node1 ~]# uname -r ...
- 学生信息的添加 Java web简单项目初试(修改)
错误原因: 1.Java web 的Servlet类没有配置好,并且缺少一个 Dao类(Date Access Object通常用于操作数据库的). 2.代码的某些名称错误,导致数据库数据存储错误. ...
- 第一次正式java web开发项目的总结
去年下半年到现在,因为公司人员流动,也有好几个新进的员工分给我来带领,也有刚从学校出来的,在和他们交流的过程中,不由的想起自己刚刚进入这行的一些感想. 记得自己当初写过一篇总结的,我想这些对于刚出校门 ...
- 电子商务系统+java+web+完整项目+包含源码和数据库Java实用源码
鸿鹄云商大型企业分布式互联网电子商务平台,推出PC+微信+APP+云服务的云商平台系统,其中包括B2B.B2C.C2C.O2O.新零售.直播电商等子平台. 分布式.微服务.云架构电子商务平台 java ...
随机推荐
- 洛谷 P5017 摆渡车
题目传送门 解题思路: 个人感觉DP这东西,只可意会,不可言传 AC代码: #include<iostream> #include<cstdio> #include<cs ...
- python——print函数
.print()函数概述 print() 方法用于打印输出,是python中最常见的一个函数. 该函数的语法如下: print(*objects, sep=' ', end='\n', file=sy ...
- Linux inode 理解
inode 硬盘的最小存储单位叫做"扇区"(Sector).每个扇区储存512字节(相当于0.5KB).操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性读取一 ...
- column命令
grep -E "car_flag|feaname" s_35926_uid_psi_table_20170407.csv | column -t -s, -o'|'
- Linux 使用rpm方式安装最新mysql(5.7)步骤以及常见问题解决
第一步:下载rpm包 mysql官网下载:http://dev.mysql.com/downloads/mysql/ 但如果你的下载网速不好的话也可以点下面的链接下载自己想要的版本 http://mi ...
- ZJNU 1138 - 小兔的棋盘——中级
二维图的动态规划因为不能穿越对角线,则选取对角线的一边dp即可选取对角线右下侧则x轴上每个点只能由其左侧的点走过去(只有1条)对角线上的点只能由对角线下方的点走过去其他点可以由左侧和下侧两种方式到达因 ...
- 黑科技如何制造人类V2.0?
黑科技泛指人类尚未成熟但具有巨大潜力的科学技术,智能手机.大数据.扫码支付.电子地图等等都曾属于黑科技范畴,随着时间的推移,它们慢慢成熟,且展现出巨大的能力,影响人类进程,最终黑科技转变成人类伟大的创 ...
- shell_clean_log
apache日志每天进行轮转: vim /usr/local/apache2/conf/extar/httpd-vhosts.conf...ErrorLog "| /usr/local/ap ...
- 客户端和后台交互日期注意点 sqlite日期字段使用Date类型的情况下
不要直接传递时间类型 一般把时间格式化字符串后传递 不要传递Date().getTime() 毫秒数 非要使用的话需要在后台处理 传递的毫秒数 - TimeZone.getDefault().get ...
- n的m划分
n的m划分: dp[i][j]表示j的i划分,也就是将j颗球放入i个袋子里面,最后的答案是dp[m][n] 状态转移方程为dp[i][j]=dp[i-1][j]+dp[i][j-i]; 划分方法有两种 ...