无线点餐项目启动

无线点餐项目启动

最近在与高校合作培训的时候,做了一个小项目,无线点餐系统。该系统主要用于学习用途,综合了JavaWeb开发的底层技术,采用JSP+Servlet+MySQL数据库实现开发,虽然这种开发模式在现在的开发中已经很少使用了,但对于初学者来说,学习JavaWeb底层技术还是有一定的帮助的。项目采用MVC思想进行项目的开发,适合入门级JavaWeb的各位朋友们,大神请略过。今天写的第一篇博文主要是关于项目的启动,介绍项目的背景、项目中所用到的技术、软件等等。话不多说,我们先看博文。

无线点餐平台项目实战课程


版本说明


Rev


Date


By


Comment


V1.0


2014-11-18


Leo Chen


文档创建


V2.0


2014-11-30


Leo Chen


文档完善

1、项目前期

1.1 项目背景

随着我国国民经济的快速发展,人民生活水平不断提高,生活节奏的加快促使越来越多的人外出点餐。传统的餐饮行业,一般都是餐厅服务员人工完成的,过程为顾客进入餐厅坐下后,服务员点菜,然后菜单交给厨师,厨师开始做菜,这过程在小饭馆可以,大饭馆就不行了。中国传统的餐饮行业由于其差强人意的服务品质和复杂的点菜程序,亟待进行信息化的改造。通过信息化的手段不仅能提升餐饮行业的服务质量和工作效率,还可以降低成本增加收益。无线点餐项目平台包括餐厅管理员后台管理、顾客自助点餐服务、厨房下单管理、网上餐厅服务等子系统。主要功能包括:菜系管理、菜品管理、餐桌管理、会员管理、订单管理、顾客点餐、结账、网上餐厅服务。

1.2 需求分析

需求分析就是分析软件用户的需求是什么.如果投入大量的人力,物力,财力,时间,开发出的软件却没人要,那所有的投入都是徒劳.如果费了很大的精力,开发一个软件,最后却不满足用户的要求,从而要重新开发过,这种返工是让人痛心疾首的.(相信大家都有体会)比如,用户需要一个for linux的软件,而你在软件开发前期忽略了软件的运行环境,忘了向用户询问这个问题,而想当然的认为是开发for windows的软件,当你千辛万苦地开发完成向用户提交时才发现出了问题,那时候你是欲哭无泪了,恨不得找块豆腐一头撞死.

需求分析之所以重要,就因为他具有决策性,方向性,策略性的作用,他在软件开发的过程中具有举足轻重的地位.大家一定要对需求分析具有足够的重视.在一个大型软件系统的开发中,他的作用要远远大于程序设计.

无线点餐平台项目的需求分析参见:无线点餐需求文档.doc

2.开发

2.1技术、技能分析

2.1.1项目中的技术技能点

①JSP/Servlet(JavaEE技术)

②反射技术实现web应用程序架构解耦

③餐品图片上传(文件上传)

④MySql数据库技术

⑤餐厅订单、网上下单,餐车的实现

⑥SVN项目项目管理

2.1.2 项目所用技术、软件


编号


工具


版本


说明


1.


Servlet


2.2


作为web控制器


2.


JSP


2.2


显示页面数据信息


3.


c3p0


0.9.2


管理数据库连接


4.


DbUtils


1.4


进行数据库持久化操作


5.


Apache fileupload


1.2.1


文件上传工具


6.


Junit


4.0


单元测试


7.


MySql


5.5.X


存数数据


8.


SVN


1.6


开发版本控制软件

2.2 开发环境


操作系统


Windows 7


开发工具


MyEclipse 2014


数据库


mysql-5.5.67-win32


Web容器


Tomcat 7.0


JDK


1.7


浏览器


Firefox

2.3开发约定

2.3.1 关于编码

工程、页面、数据库编码统一编码为UTF-8

WindowàPreferencesàGeneralàWorkspace里面可以修改工作空间的缺省编码

2.3.2 包结构命名约定

公司名称+项目名称+用途命名 具体命名如下:


包名


说明


cn.wirelessplatform.dao


Dao接口


cn. wirelessplatform.dao.impl


Dao的实现类


cn. wirelessplatform.service


Service接口


cn. wirelessplatform.service.impl


Service的实现类


cn.wirelessplatform.web.controller


Web中的Servlet控制器


cn.wirelessplatform.web.listener


Web监听器


cn.wirelessplatform.util


存放工具类


cn.itcast.wirelessplatform.model


实体类

2.3.3 页面相关

l JSP、CSS、JS文件独立分开、命名相同

l 在HTML代码中不要嵌入任何的JS代码

l 管理员后台页面建议把页面放到Web-INF下

l 用户页面建议放到WebRoot下, 通过防盗链解决安全性问题

2.3.4 数据库相关

建立表注意事项说明:

1. 如果MySQL是绿色版,则先设置MySQL的编码,把编码配为UTF8

2. 数据库中建议不要设置自定义约束,和非空约束, 这样可能会给开发和测试带来不便, 而且在真正投入使用时, 数据的非空约束是依靠前台和后台的验证来实现,数据库只负责存储

3. 数据库数据尽量不要删除, 可以增加一个状态列, 这样方便以后恢复数据

4. 软件开发中,为了提高表性能,尽量不要设置外键, 表关系也更灵活

5. 在编写SQL语句的时候最好写完整语法 (列名,列名) values (值,值) 有利于维护, 否则后期增加字段前面的语句就用不了

2.4.软件三层架构回顾以及MVC开发模式

2.4.1 三层架构模式图

分层注意事项:

1. 上面调用下面,即View调用Service,Service调用Dao。

2. 层与层之间用接口。除定义的接口外,不能使用其它层的特有类或接口。

3. 使用实体作为DTO(Data Transfer Object,数据传输对象)

4. 要做到任一层换掉后,其他层不受影响。

2.4.2 MVC开发模式剖析:

MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。MVC编程模式详解参见:MVC开发模式详解.doc

3.项目开发环境搭建

3.1 安装JDK

我们做java程序的开发就需要为java程序提供编译和运行的环境,这时候就需要用到JDK(Java Development Kit)Java开发工具包,我们使用的版本是1.7。【安装教程参照:JDK1.7安装教程.doc】

3.2安装开发工具MyEclipse2014

项目程序开发就需要用到专业的集成开发工具,我们使用MyEclipse,目前的版本是2014版。【安装教程参考:MyEclipse2014安装教程.doc】

3.3安装Web服务器Tomcat

当我们的程序开发好后,我们需要将程序提供给外界访问,那么怎么提供给外界访问呢?这时候就需要一台服务器了,我们使用Tomcat,版本是7.

Tomcat的安装很简单,直接解压就可以了。

3.4安装数据库服务器MySQL

程序开发好后,我们的数据存放在哪里呢?在软件行业中有一句话叫“数据是无价的”,那么数据放在哪里好呢?这时候我们就需要使用到MySQL数据库服务器来存储数据了。【安装教程参考:MySQL安装图解.doc】

3.5安装MySQL数据库管理工具SQLyogEnt

程序直接解压即可。

3.6安装项目版本控制工具SVN(学习项目开发可以不用安装)

SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。项目开发中使用SVN作为团队协同开发以及项目版本控制 【安装教程参考:svn服务器端安装说明.doc,MyEclipse安装svn插件的方法.doc】

4.在MyEclipse中搭建项目

4.1修改MyEclipse的workspace编码

WindowàPreferencesàGeneralàWorkspace里面可以修改工作空间的缺省编码

4.2 新建项目

项目名称为:wirelessplatform

FileàNewàWeb Project新建web项目

点击Next进入下一步的配置:

点击Next下一步配置

最后配置要注意:

红色框起来的要勾上,让其生成web.xml配置文件,点击Finish生成项目。

4.3 添加项目所需的jar包

项目中所采用的开发软件等安装教程,请点击这里下载

项目中所用到的jar包请点击这里下载。

时间: 2024-11-05 22:58:35

无线点餐项目启动的相关文章

spring配置与Web 项目启动

今天打算学习下spring继承quartz的用法,然后想搭建一个纯净的spring项目用来做相关的实验,虽然只是寥寥几行配置文件,但突然选择性失忆忘了这其中容器加载的过程和配置的意义.复习了下此刻写个随便记录下刚刚的领悟. web.xml配置 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instanc

java web项目启动加载顺序

web.xml加载过程(步骤):       1.启动WEB项目的时候,容器(如:Tomcat)会去读它的配置文件web.xml.读两个节点: <listener></listener> 和 <context-param></context-param> 2.紧接着,容器创建一个ServletContext(上下文),这个WEB项目所有部分都将共享这个上下文. 3.容器将<context-param></context-param>转

团队组建及项目启动

项目名称:<医天下> 实践目标 利用百度地图API,设计”医天下”这么一款android上的app,我的目标不光只是为了完成这门作业,更多的是要像“饿了么”,“美团外卖”一样来上市,盈利,创业. 团队项目任务 1.团队组建及项目启动(第一周,截止5月24日) 1. 团队成员:    朱云铖(队长):项目的策划,项目总经理 李伟:代码的编写 刘世贤:软件的测试 黄彦潇:界面的设计 2.确定团队成员绩效评估方法  每人每天签到情况: 每人每天提交代码量: 每人新的设计想法和理念: 各自负责自己的分

自我介绍 &amp; 项目启动

我叫邹豪风,性格比较稳(men)重(sao).技术:不强,懂的不多,但学东西比较快.爱好:对编程比较喜爱,除了这个,还有看动漫.Dota等一些颓废的爱好,以及健身.音乐.看电影.旅游等一些正常的爱好. 由于项目还没有启动,我在咱们小组项目开发的里担任的角色还不是很明确.我可能会担当项目的顶层设计.代码架构的工作,项目启动后负责网站后台逻辑部分或者数据库管理.此外,可能做一些关于团队管理.文档撰写.项目展示等一些非技术工作.应该说,我在团队中的定位是多角色的,因为整个项目从开始到最后是多个层次的,

无线点餐系统应用源码

再给大家介绍我做的:sdk :android 1.6  我的方式android手机通过无线wifi连接servlet,然后再servlet中添加代码,然后在写入数据库,我用的数据库是mssql2005,记住驱动用的sqljdbc4.jar,当然我也试过sqljdbc.jar,但是就是连不上,不信可以试试,数据库的代码我放在附件中 tomcat5.0 myeclipse8.5<ignore_js_op><ignore_js_op> <ignore_js_op><ig

团队项目第一周任务之团队组建及项目启动与竞争性需求分析

一.团队项目: 即时聊天工具,编写语言:java.设计知识:java基础,UI,java多线程,java通信,oracle数据库. 二.团队组建 团队组建及项目启动已将完成,成员人数五人,分工明确.各自的准备工作基本完成. 三.竞争需求分析 团队竞争性需求分析应经完成

任务一:团队组建及项目启动

One Piece团队成员: 团队博客: http://www.cnblogs.com/Abby0418/ 组长:管静 计科(高职)13-3 201303014096 github地址     https://github.com/ally0418 博客地址        http://www.cnblogs.com/Abby0418/ 组员:朱春雨 计科(高职)13-3    201303014093 github地址     https://github.com/grace321 博客地址 

衣起秀项目启动

一.   项目简介 一个专注于穿衣搭配的互动交流平台. 旨在分享自己穿衣搭配的同时通过学习别人的穿衣搭配来找到不一样的自己 用户可通过我们的每日推送学习欣赏时下最流行穿衣搭配,潜移默化的提高自己的穿衣品味. 并且可将所学应用于实践,即用户通过网页.手机客户端来发布自己穿衣搭配的图片以征询其他人的意见. 二.项目实施背景 1.需求分析 调研的时候,我们针对中南民族大学各专业学生发布问卷,问卷显示有很多同学有提高自己穿衣搭配审美的渴望,但是却苦于没有一个提高自己审美的平台: 2.市场分析 调查,我们

团队项目——团队组建及项目启动

这次课程设计中,我们小组选择了相对来说比较熟悉的图书管理系统.目的是制定一套更为合理,有效, 规范和实用的图书管理系统,以便对图书进行集中统一的管理. (1)团队成员及分工 组长:张斌负责测试与调试和运行及总结 组员:吕志浩负责团队组建及项目启动和需求分析 田培培负责给出设计类图面向对象程序设计 刘紫璇负责SRS文档和制定测试计划 (2)团队成员绩效评估方法 在团队项目中模块的实现难度不同,所以我们经过讨论根据每个人的能力确定了每个人的分工.为了能让每 个人得到应有的成绩,所以我们实行组内人员互