首页 > 代码库 > 无线点餐项目启动

无线点餐项目启动

     无线点餐项目启动

       最近在与高校合作培训的时候,做了一个小项目,无线点餐系统。该系统主要用于学习用途,综合了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/ServletJavaEE技术)

②反射技术实现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程序提供编译和运行的环境,这时候就需要用到JDKJava Development KitJava开发工具包,我们使用的版本是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(学习项目开发可以不用安装)

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

4.MyEclipse中搭建项目

4.1修改MyEclipseworkspace编码

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

4.2 新建项目

项目名称为:wirelessplatform

FileàNewàWeb Project新建web项目

 技术分享

 

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

 技术分享

点击Next下一步配置

最后配置要注意:

 技术分享

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

4.3 添加项目所需的jar

 技术分享

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

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


无线点餐项目启动