搜索
您的当前位置:首页JAVA平台系统的开发方法及相关技术

JAVA平台系统的开发方法及相关技术

来源:爱问旅游网


图2-2 Spring的特性

车辆管理列出所有车辆数据YES添加车辆数据NO,弹出错误信息YES修改这个车辆NO删除这个车辆YES添加成功修改成功删除成功

图4-10 站点流程图

车辆查询流程图如图4-11所示:

毕业论文(说明书)

车辆查询……………………………装……………………………………订…………………………………线……………………………输入查询信息列出所有车辆数据

图4-11用户查询流程图

4.3.6 监控管理

监控车辆管理可以让用户在线的查看这个车辆的所有数据,并显示为车辆运行图。

车辆查询输入车辆信息列出车辆监控数据

图4-12用户查询流程图

监控数据查询流程图如图4-13所示:

监控查询输入查询信息列出所有满足条件数据 图4-13 用户查询流程图

毕业论文(说明书)

4.4本章小结

……………………………装……………………………………订…………………………………线……………………………本章详细描述了系统的软件详细设计,包含了系统的软件框架,软件的程序结构图,以及系统的各个模块的数据流程图。

第5章 软件的开发与实现

5.1 数据设计

5.1.1 车辆表格设计

车辆信息:包括车牌号、车辆类型、车辆类型、车辆状态、所属线路。

表5-1车辆表

字段名 车辆ID 车牌号 车辆类型 车辆状态 所属线路 数据类型 int nvarchar (10) nvarchar (10) nvarchar (10) int 含义说明 车辆的ID号 车牌号 车辆的类型 车辆的使用类型 车辆在城市中属于哪条线路 空值情况 自增主键 非空 非空 非空 可为空 5.1.2 站点表格设计

站点信息:包括站点名称、站点状态。

表5-2站点表 字段名 站点ID 站点名称 站点状态 数据类型 int nvarchar (10) nvarchar (10) 含义说明 站点的ID号 站点名称 站点的类型 空值情况 自增主键 非空 非空 毕业论文(说明书)

……………………………装……………………………………订…………………………………线……………………………5.1.3 设备表格设计

设备信息:设备名称、设备类型、设备参数、设备个数。

表5-3设备表 字段名 设备ID 设备名称 设备类型 设备参数 设备个数 数据类型 int nvarchar (10) nvarchar (10) nvarchar (10) int 含义说明 设备的ID号 设备的名称 设备的类型 设备的参数 设备的个数 空值情况 自增主键 非空 非空 可为空 可为空 5.1.4权限表格设计

设备信息:权限名称、权限类型。

表5-4权限表 字段名 权限ID 权限名称 权限类型 数据类型 int nvarchar (10) nvarchar (10) 含义说明 权限的ID号 权限的名称 权限的类型 空值情况 自增主键 非空 非空 5.1.5 用户表格设计

用户信息:包括姓名、性别、所属部门、工作岗位、身份证号码、联系电话、家庭住址。

表5-5用户表 字段名 用户ID 姓名 密码 性别 所属部门 工作岗位 身份证号码 联系电话 住址 权限 数据类型 int nvarchar (10) nvarchar (10) nvarchar (10) nvarchar (10) nvarchar (10) nvarchar (10) nvarchar (10) nvarchar (10) int 含义说明 用户的ID号 用户的姓名 用户的密码 用户的性别 用户的所属部门 用户的工作岗位 用户的身份证号码 用户的联系电话 用户的住址 对应的权限 空值情况 自增主键 非空 非空 非空 可为空 可为空 可为空 可为空 可为空 可为空 毕业论文(说明书)

5.2 GPRS数据获取

……………………………装……………………………………订…………………………………线……………………………本系统用java来收发AT指令控制GPRS CDMA,本文通过串口连接GPRS收发模块,具体的代码如下: 1 获取串行端口COM2

portId = CommPortIdentifier.getPortIdentifier(\"COM2\"); sPort = (SerialPort) portId.open(\"commsms\

2 设置串口通讯参数

sPort.setSerialPortParams(9600,SerialPort.DATABITS_8,SerialPort.STOPBITS_1,SerialPort.PARITY_NONE); 3 初始化方法

public boolean init() {

portList = CommPortIdentifier.getPortIdentifiers(); // 遍历端口

while (portList.hasMoreElements()) {

portId = (CommPortIdentifier) portList.nextElement(); // 串行端口

if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) { System.out.println(portId.getName()); // 端口号

if (portId.getName().equals(\"COM3\")) { try {

serialPort = (SerialPort) portId.open(this.getClass().getName(), 5000);/ // 添加端口事件监听

serialPort.addEventListener(this); serialPort.notifyOnDataAvailable(true); }

catch (PortInUseException e) { e.printStackTrace(); return false; }

catch (TooManyListenersException e) { return false; } try {

is = serialPort.getInputStream();

outputStream = serialPort.getOutputStream();

br = new BufferedReader(new InputStreamReader(is));

毕业论文(说明书)

……………………………装……………………………………订…………………………………线…………………………… // 初始化串口

serialPort.setSerialPortParams(9600,SerialPort.DATABITS_8,

SerialPort.STOPBITS_1,SerialPort.PARITY_NONE);

System.out.println(\"端口COM3初始化成功\");

outputStream.write(\"AT\\r\".getBytes()); System.out.println(is.read()); return true;

} catch (IOException e) { return false; }

catch (UnsupportedCommOperationException e) { return false; } } } }

return false; }

4 发送方法

public bool send_msg(string msg) { try {

outputStream = serialPort.getOutputStream(); outputStream.write(msg.getBytes()); System.out.println(is.read()); return true; }

catch (IOException e) { return false; }

catch (UnsupportedCommOperationException e) { return false; }

return true; }

5 获取消息

public string read_msg() { String msg;

毕业论文(说明书)

……………………………装……………………………………订…………………………………线…………………………… try {

inStream = serialPort.getInputStream(); inStream.write(msg); System.out.println(msg); }

catch (IOException e) { msg=null; }

catch (UnsupportedCommOperationException e) { msg=null; }

return msg; }

5.3 SSH框架移植

5.3.1 系统Model层实现 1类UserBean: 包名 类名数据库表名 OR映射文件 com.carsystem.model UserBean.java<>TB_USER UserBean.hbm.xml private Integer userId; private String userName; private String userPassword; private String userSex; private String userDepartment; private String userJob; private String userIdentity; private String userPhone; private String userAddress; private String userRight; USER_ID USER_NAME USER_PASSWORD USER_SEX USER_DEPARTMENT USER_JOB USER_IDENTITY USER_PHONE USER_ADDRESS USER_RIGHT 字段名 方法 public void setUserId(Integer adminId); public Integer getUserId(); public void setUserName(String userName); public String getUserName(); 毕业论文(说明书)

public void setUserPassword(String userPassword); public String getUserPassword(); public void setUserSex(String userSex); public String getUserSex(); public void setUserDepartment(String userDepartment); public String getUserDepartment(); public void setUserJob(String userJob); public String getUserJob(); public void setUserIdentity(String userIdentity); public String getUserIdentity(); public void setUserPhone(String userPhone); public String getUserPhone(); public void setUserAddress(String userAddress); public String getUserAddress(); public void setUserRight(String userRight); public String getUserRight(); ……………………………装……………………………………订…………………………………线……………………………2类RightBean 包名 类名 数据库表名 OR映射文件 字段名 com.carsystem.model RightBean.java<>TB_RIGHT RightBean.hbm.xml private Integer rightId; private String rightName; private String rightType; RIGHT_ID RIGHT_NAME RIGHT_TYPE 方法 public Integer getRightId(); public void setRightId(Integer rightId); public String getRightName(); public void setRightName(String rightName) ; public String getRightType(); public void setRightType(String rightType);

3类EquipmentBean: 包名 类名 数据库表名 OR映射文件 字段名 com.carsystem.model EquipmentBean.java<>TB_EQUIPMENT EquipmentBean.hbm.xml private Integer equipmentId; private String equipmentName; private String equipmentType; EQUIPMENT_ID EQUIPMENT_NAME EQUIPMENT_TYPE 毕业论文(说明书) private String equipmentPara; private int equipmenNum; EQUIPMENT_PARA EQUIPMENT_NUM ……………………………装……………………………………订…………………………………线……………………………方法 public Integer getEquipmentId() ; public void setEquipmentId(Integer equipmentId); public String getEquipmentName(); public void setEquipmentName(String equipmentName) ; public String getEquipmentType(); public void setEquipmentType(String equipmentType) ; public String getEquipmenPara(); public void setEquipmenttParaString equipmentPara) ; public Integer getEquipmentNum() ; public void setEquipmentNum(Integer equipmentNum); 4类SiteBean 包名 类名 数据库表名 OR映射文件 字段名 com.carsystem.model SiteBean.java <>TB_SITE SiteBean.hbm.xml private Integer siteId; private String siteName; private String siteType; SITE_ID SITE_NAME SITE_TYPE 方法 public Integer getSiteId() ; public void setSiteId(Integer siteId); public String getSiteName() ; public void setSiteName(String siteName) ; public String getSiteType() ; public void setSiteType(String siteType) ;

5类CarBean 包名 类名 数据库表名 OR映射文件 com.carsystem.model CarBean.java<>TB_CAR CarBean.hbm.xml private Integer carId; private Strring carIdentity; private String cartType; private String carState; private Integer carLine; public Integer getCarId(); public void setCarId(Integer carId) ; CAR_ID CAR_IDENTITY CAR_TYPE CAR_STATE CAR_LINE 字段名 方法 毕业论文(说明书)

public String getCarIdentity(); public void setCarIdentity(String carIdentity) ; public String getCarType(); public void setCarType(String carType); public String getCarState(); public void setCarState(String carState); public Integer getCarLine(); public void setCarLine(Integer carLine) ; ……………………………装……………………………………订…………………………………线……………………………5.3.2系统数据访问对象DAO层实现 DAO层中实现的接口和公共的类 接口:IBaseHibernateDAO 接口名 方法 类名 方法 IBaseHibernateDAO public Session getSession(){} BaseHibernateDAO (实现IBaseHibernateDAO接口) public Session getSession(){} DAO层中用到的公共类:BaseHibernateDAO 1类UserBeanDAO: 类名 UserBeanDAO(继承于 BaseHibernateDAO) public void save(UserBeantransientInstance); public void delete(UserBean persistentInstance); public UserBean findById(java.lang.Integer id); public List findByProperty(String propertyName, Object value); public List findAll(); 通过这个类实现对数据库的操作,可以通过相应的方法实现数据的增删改查。 主要的方法 功能描述 2类RightBeanDAO:

类名 RightBeanDAO(继承于 BaseHibernateDAO) public void save(RightBeantransientInstance); public void delete(RightBean persistentInstance); public RightBeanfindById(java.lang.Integer id); public List findByProperty(String propertyName, Object value); public List findAll(); 通过这个类实现对数据库的操作,可以通过相应的方法实现数据的增删改查。 主要的方法 功能描述 毕业论文(说明书)

3类EquipmentBeanDAO ……………………………装……………………………………订…………………………………线……………………………类名 EquipmentBeanDAO(继承于 BaseHibernateDAO) public void save(EquipmentBeantransientInstance); public void delete(EquipmentBeanpersistentInstance); public EquipmentBeanfindById(java.lang.Integer id); public List findByProperty(String propertyName, Object value); public List findAll(); 通过这个类实现对数据库的操作,可以通过相应的方法实现数据的增删改查。 主要的方法 功能描述

4类SiteBeanDAO 类名 SiteBeanDAO(继承于 BaseHibernateDAO) public void save(SiteBeantransientInstance); public void delete(SiteBeanpersistentInstance); public SiteBeanfindById(java.lang.Integer id); public List findByProperty(String propertyName, Object value); public List findAll(); 通过这个类实现对数据库的操作,可以通过相应的方法实现数据的增删改查。 主要的方法 功能描述

5类CarBeanDAO: 类名 CarBeanDAO(继承于 BaseHibernateDAO) public void save(CarBeantransientInstance); public void delete(CarBeanpersistentInstance); public CarBeanfindById(java.lang.Integer id); public List findByProperty(String propertyName, Object value); public List findAll(); 通过这个类实现对数据库的操作,可以通过相应的方法实现数据的增删改查。 主要的方法 功能描述

5.3.3系统中的ACTION类

1类AccountAction: 主要方法和相应的功能:

public ActionForward signin(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)

毕业论文(说明书)

……………………………装……………………………………订…………………………………线……………………………账号登陆页面,点击进入,登陆到系统

public ActionForward reSignin(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) 进入重新登陆页面

public ActionForward exit(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) 退出本系统

2类AccountManageAction: 主要方法和相应功能:

public ActionForward view(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) 列出用户信息。

public ActionForward doInfoModify(ActionMapping mapping, ActionForm form,

HttpServletRequest request, HttpServletResponse response) 对用户的基本信息进行修改。

public ActionForward doPasswordModify(ActionMapping mapping, ActionForm

form,HttpServletRequest request, HttpServletResponse response) 用户修改密码。 3类RightAction:

主要方法和相应的功能:

public ActionForward view(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) 列出所有权限数据。

public ActionForward add(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) 增加权限数据。

public ActionForward delete(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) 删除权限数据。

public ActionForward doMod(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)

毕业论文(说明书)

……………………………装……………………………………订…………………………………线……………………………修改权限数据。

4类EquipmentAction: 主要方法和相应的功能:

public ActionForward view(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)

列出相应的设备数据,若有传入设备参数则列出某个设备的信息。 public ActionForward add(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) 增加设备数据。

public ActionForward delete(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) 删除设备数据。

public ActionForward domod(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response) 修改设备数据,根据传入的设备ID。

5类SiteAction:

主要的方法和相应的功能:

public ActionForward view(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)

列出所有站点数据,若传入站点参数则列出某个站点的信息。 public ActionForward add(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) 增加站点数据。

public ActionForward delete(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) 删除站点数据。

public ActionForward domod(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) 修改站点数据。

6类CarAction:

主要方法和相应的功能:

public ActionForward view(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)

列出车辆信息,若有车辆参数传入则列出相应车辆的信息。

public ActionForward add(ActionMapping mapping, ActionForm form,

毕业论文(说明书)

……………………………装……………………………………订…………………………………线……………………………HttpServletRequest request, HttpServletResponse response) 增加车辆数据。

public ActionForward delete(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) 删除车辆数据。

public ActionForward domod(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) 修改车辆数据。

5.3.4 持久层Hibernate实现

1 创建并配置Hibernate映射文件

在进行struts层的功能开发之前,我们需要基于Hibernate开发底层的DAO层。我们将分2个步骤进行开发。

1. 创建Hibernate的持久化类和映射文件,并在applicationContext.xml

中进行配置;

2. 开发并配置Hibernate DAO层UserDAO.java、RightDAO.java、

EquipmentDAO.java、SiteDAO.java、CarDAO.java。

这是Hibernate层开发的第一步,使用MyEclipse的工具Database Explorer来自动创建Hibernate的持久化类和映射文件,对应的数据库分别为user、right、equipment、site、car表。最后生成的类文件包括: 1. 持久化类的抽象类:AbstractUser.java、AbstractRight.java、

AbstractEquipment.java、AbstractSite.java、AbstractCar.java;

2. 持久化类:User.java、Right.java、Equipment.java、Site.java、Car.java; 3. 映射文件:User.hbm.xml、Right.hbm.xml、Equipment.hbm.xml、

Site.hbm.xml、SchCaredule.hbm.xml。 需要在applicationContext.xml中注册该映射文件。

2 开发并配置Hibernate DAO层

到目前为止,系统已经具备了Hibernate的基础访问功能,下面我们要开发Hibernate DAO层,使用HibernateTemplate实现对数据表的增、删、改、查的操作,包括如下三步:

1. 定义接口类:AbstractUser.java、AbstractRight.java、

AbstractEquipment.java、AbstractSite.java、AbstractCar.java; 2. 开发实现类:User.java、Right.java、Equipment.java、Site.java、Car.java; 3. 在applicationContext.xml中配置DAO及其代理。

毕业论文(说明书)

5.3.5 控制层Struts实现

……………………………装……………………………………订…………………………………线……………………………1 开发Struts核心流程代码

在以上经过对Hibernate持久化类、映射文件和DAO类的开发,已经具备了数据层的功能代码,下面我们就要开发Struts层的代码,来调用该数据层实现数据库的操作。要进行Struts层的功能开发,我们需要分4个步骤进行。

1. 开发Struts核心流程代码,包括LoginForm.java和LoginAction.java、

UserForm.java和UserAction.java、RightForm.java和RightAction.java、EquipmentForm.java和EquipmentAction.java、SiteForm.java和SiteAction.java、CarForm.java和CarAction.java、SuperviseForm.java和SuperviseAction.java及配置;

2. 开发JSP页面原型,包括数据列表页面login.jsp、user.jsp、right.jsp、

equipment.jsp、site.jsp、car.jsp;增加页面supervise.jsp,user_add.jsp、right_add.jsp、equipment_add.jsp、site_add.jsp、car_add.jsp;修改页面user_edit.jsp、right_edit.jsp、equipment_edit.jsp、site_edit.jsp、car_edit.jsp;并进行页面文字的国际化和样式修饰;

3. 增加表单校验功能。主要修改增加页面、修改页面和表单类;

4. 调用DAO类操作数据库。修改Actiono类调用DAO类中的函数,进

行数据库的关联。

接下来实现的是通讯录的请求处理流程的配置和类代码。实现的步骤包括如下:

1. 新建并配置表单类:配置元素,并开发AddressForm.java

表单类;

2. 在struts-config.xml中添加请求配置:配置元素,并委托给

Spring进行管理;

3. 在applicationContext.xml中添加请求代理:配置与相匹配的

元素,接收Struts的委托;

4. 在applicationContext.xml中添加日志拦截:为请求地址添加日志拦截

器;

5. 开发Action类原型功能:设计Action类的请求处理函数,这里的函

数现在还只是空架子,只能够进行页面的流转,没有实际的功能,目的是为了在开发完JSP页面后能够进行页面的流转。

2 开发JSP页面原型

在上面配置了元素,并编写了表单类和Action类的原型代码,现在要开发JSP页面,将页面的链接地址、表单请求指向,由Struts和Spring来将该请求转发到Action类的

毕业论文(说明书)

……………………………装……………………………………订…………………………………线……………………………函数中,实现整个页面的流转。实现的步骤如下:

1. 在frame.jsp中添加一个新的菜单:该菜单是通讯录模块的入口,负

责进入通讯录的列表页面;

2. 开发数据列表页面:新建一个通讯录的HTML列表页,该页面提供

增加、修改、删除的按钮,负责跳转到不同的页面;

3. 开发增加页面:新建新增通讯录的HTML表单页,负责添加通讯录; 4. 开发修改页面:新建修改通讯录的HTML表单页,负责修改通讯录; 5. 进行页面文字的国际化:将以上3个JSP页面中的中文文字提取出来,

在资源文件中为这些文字定义国际化标签,并在JSP页面中引用这些标签,实现页面文字的国际化显示;

6. 定义页面样式表stytle.css:新建一个样式表文件stytle.css,为以上3

个JSP页面定义几个样式表以美化页面。

3 增加表单校验功能

经过以上两步的开发,在重启Tomcat后,进入此模块,此时的页面都可以进行正常的流转了,只不过显示的数据都还是假的数据,没有经过数据的校验,以及数据库的交互。在这里要首先来进一步完善JSP页面的表单验证功能,包括如下的步骤:

1. 为增加页面和修改页面表单增加长度限制; 2. 为表单类添加校验功能;

3. 为增加页面和修改页面添加错误标签; 4. 为增加页面和修改页面维持表单输入。

5. 其中后面的3个部分是Struts的表单校验技术所完成的功能。

4 调用DAO组件操作数据库

现在JSP页面、表单类的代码都已经开发完善了,接下来需要修改Action类中的请求处理函数,来调用Hibernate层的DAO类,实现与数据库的交互。主要包括以下几个功能: 1. 显示列表页面数据; 2. 实现增加功能; 3. 实现修改功能; 4. 实现删除功能。

5.3.6 业务层Spring实现

Spring提供的HibernateTemplate是对Hibernate功能的封装,通过封装的代码实现Spring IoC容器的有机结合。要使用HibernateTemplate进

毕业论文(说明书)

……………………………装……………………………………订…………………………………线……………………………行开发,需要在Bean配置文件中添加一系列的组件,这些组件相互注入。由此,我们共需要配置如下的7个Bean组件。 1. dataSource:为sessionFactory提供数据源;

2. sessionFactory:Hibernate管理工厂,为DAO为的事务管理策略对象

transactionManager提供SessionFactory;

3. transactionManager:为DAO类的事务管理策略对象DAOProxy提供

事务管理器对象;

4. DAO类:为DAO提供POJO类;利用被注入的数据源,定义一系列

的业务操作函数,使用JdbcTemplate来操作POJO类,实现对数据库的操作;

5. DAOProxy:DAO的事务管理策略对象,该对象规定了DAO的管理

策略,因此它需要注入DAO作为被管理的对象。进行事务管理也需要提供事务管理器,因此也需要注入transactionManager作为事务管理器;

6. Action类:该类是响应处理类,负责调用DAO函数即可实现数据库

的访问,而对于DAO的访问都将在DAOProxy的监管之下。 这些Bean组件的注入过程如图5-1所示:

图5-1 Bean注入过程图

1 数据源配置

开发数据库代码的第一步,就是配置与数据的连接。配置的过程很简单,只需要在applicationContext.xml中添加一个名称为dataSource的,指向的类为DBCP的数据源类,并指定4个数据参数。

1. driverClassName:指定数据库连接的驱动org.gjt.mm.mysql.Driver; 2. url:指定数据库连接的URL地址jdbc:mysql://localhost:3306/MyOA; 3. username:指定访问数据库的用户名root;

毕业论文(说明书)

4. password:指定访问数据库的密码(为空)。

……………………………装……………………………………订…………………………………线……………………………2 配置SessionFactory

配置SessionFactory对象,为DAO层提供Hibernate的数据库连接对象。其中需要注入上面配置的dataSource对象。 3 配置事务

为SessionFactory对象增加事务配置事件,并注入上面配置的SessionFactory对象。

4 配置DAO组件

在这里我们先对上面开发的基于HibernateTemplate的DAO类配置Bean对象,并为该对象注入SessionFactory对象。

5 配置DAO事务

为上面配置的DAO对象配置事务组件,使得对DAO类的访问都在Spring的事务监管之下。该组件需要注入上面配置的事务对象transactionManager、DAO对象,并配置事务管理的策略。

5.4功能实现

5.4.1系统管理功能实现

1 登录功能

系统创建了登录界面,用户在界面中输入用户名和密码就可以成功的登录系统,还可以选择自动登录。

毕业论文(说明书)

……………………………装……………………………………订…………………………………线……………………………

图5-2 系统登录界面

2 修改密码

用户可以通过进去修改密码界面,输入用户名和旧密码以及新密码等信息后提交,系统在完成提交到数据后,回复成功界面。

毕业论文(说明书)

图5-3 系统修改密码界面

……………………………装……………………………………订…………………………………线……………………………3 寻找密码

在用户忘记登录密码后,可以通过输入用户名后回答问题,系统跟数据库中的记录比较后,回复密码给用户。

图5-4 系统寻找密码界面

5.4.2 设备管理功能实现

1 设备查询

用户可以在系统的设备界面中通过设备名称或者设备类型查询到相应的设备.如果没有输入,系统会展示所有的设备信息。

图5-5 设备查询界面

2 设备管理

毕业论文(说明书)

用户可以在系统设备管理界面中,通过设备ID,修改设备的名称,类型,数量等信息。

……………………………装……………………………………订…………………………………线……………………………

图5-6 设备修改界面

2 设备增加

用户可以在系统设备增加界面中,通过输入设备ID,设备名称,设备类型,设备数量等信息,创建相应的设备信息。

图5-7 增加设备界面

5.4.3 用户管理功能实现

1 用户信息

用户可以在系统的用户界面中通过点击详细信息按钮,进入如下界面,展示了用户的详细信息。

毕业论文(说明书)

……………………………装……………………………………订…………………………………线……………………………

图5-8 用户详细信息界面

2 增加用户

用户可以在系统的增加用户界面中通过输入用户的姓名,性别,年龄,职务,家庭住址等信息创建一个新的用户。

图5-9 增加用户界面

3 查询用户

用户可以在系统的用户查询界面中通过性别,年龄,使用车型等查询到相应的用户如果没有输入,系统会展示所有的用户信息。

毕业论文(说明书)

……………………………装……………………………………订…………………………………线……………………………

图5-10 查询用户界面

5.4.4 站点管理功能实现

1 站点查询

用户可以在系统的站点界面中通过站点名称或者站点类型查询到相应的站点.如果没有输入,系统会展示所有的站点信息。

图5-11 查询站点界面

2 站点增加

用户可以在系统的站点增加界面中通过输入站点名称或者站点类型创建相应的站点信息。

毕业论文(说明书)

……………………………装……………………………………订…………………………………线……………………………

图5-12 增加站点界面

3 修改站点

用户可以在系统的站点修改界面中修改站点名称或者站点类型修改某个ID的站点的信息。

图5-13 修改站点界面

5.4.5 车辆管理功能实现

1 车辆查询

用户可以在系统的车辆查询界面中通过车辆最大载量,车型等信息型查询到相应的车辆.如果没有输入,系统会展示所有的车辆信息。

毕业论文(说明书)

……………………………装……………………………………订…………………………………线……………………………

图5-14 车辆查询界面

2 增加车辆

用户可以在系统的增加车辆界面中通过车辆最大载量,车型类型,车辆号码等信息型创建相应的车辆。

图5-15 增加车辆界面

5.4.6权限管理功能实现

1 权限浏览

用户可以在系统的权限界面中查看到系统中所有的权限,并可以通过点击详细信息获取到权限的详细信息。

毕业论文(说明书)

……………………………装……………………………………订…………………………………线……………………………

图5-16 权限浏览界面

2 修改权限

用户可以在系统的权限修改界面中通过输入权限ID,权限名称,类型等修改系统中的某个权限的信息。

图5-17 权限修改界面

3 权限查看

用户可以在自己的详细信息中点击权限获取到自己的权限类型,管理员也可以通过该界面中的修改按钮,修改系统中某个用户的权限。

图5-18 用户权限界面

毕业论文(说明书)

5.4.7 车辆监控功能实现

……………………………装……………………………………订…………………………………线……………………………

1 监控数据查看

用户可以系统的监控界面中输入某个车辆的车牌号码,就可以看到最近这辆车的经过的站点信息,通过如下界面可以直观的展示车辆的运营情况。

图5-19 车辆监控界面

2 监控数据查看

用户可以系统的监控界面中看到所有的监控数据,可以通过日期,车辆号码,站点关键字等查询到监控数据,如下图所示。

毕业论文(说明书)

图5-20 监控数据查询界面

……………………………装……………………………………订…………………………………线……………………………

2 监控高级查看

用户可以系统的实时监控界面中看到所有的站点的数据,包含了站点中情况,车辆内部情况,运营关键节点的车辆发送情况等。

图5-21 监控高级界面

5.5 本章小结

本章详细描述了软件实现的各个部分,首先设计了系统的数据库表格,然后从数据库的表格设计推导出模型设计,并设计了系统的SSH的structs层和spring层,最后通过各种界面详细描述了系统的各种功能。

第五章 基于3G网络和VPN技术的AFC系统应急通信网络

第六章 总结与展望

6.1 总结

本文设计并实现了基于RFID的车辆监控系统采用RFID无线射频技术,结合GPRS通讯传输技术,清晰明确的记录了车辆在每个站点的进站时间,出站时间,停留时间,违规停留记录。有效的解决了车辆管理中存在的问题,加强了对车辆管理,增加了效益,减少了矛盾。结合本文的撰写过程,总结如下:

1、概述本文的研究背景、研究现状、选题的意义及本文的主要工作及组织结构。

2、描述了本系统的关键技术,在SSH框架技术方面介绍了SSH框架的流程,详细介绍了Spring,Structs,Hibernate技术,在GPRS方面介绍了GPRS标准以及JAVA与GPRS通信的技术。

3、描述了本系统的整体方案设计及器件选型,对系统的各个器件做了详细描述,选择2.45G全向读写器(DC0301A)做为RFID阅读器选取,选择2.45G有源电子标签(DC8320A)做为车辆标签选取,选择GRPS通讯模块(DC0317A)做为无线数据传输模块。

4、描述了本系统的软件实现,首先设计了系统的各种数据表格,介绍了JAVA与GRPS通信技术的实现,介绍了SSH框架的HIBERNAGE,ACTION,JSP的实现,最后介绍了系统的各种功能实现。

6.2 展望

本文设计的基于RFID的车辆管理系统是整个物联网技术的一个具体应用,通过实际的系统运行,发现了很多不足的地方,希望可以在以后的升级中得到提高,概括起来有如下几个方面:

1、本系统中重点关注了车辆的监控功能,对车辆的调度等功能没有关注,而调度功能是目前物流企业中比较重视的功能模块,所以以后的系统需要增加很多的精力在开发调度系统上。

2、所谓的物联网是物物相连,本文设计的系统中还没有完全做到这点,如系统中没有跟手机通信相连,也就是没有通过移动平台管理系统,也就没有最大化的方便用户。

3、目前的系统中对视频的要求不是很高,所以系统中基本没有采集视频数据,而现在物流企业对这块的要求也是越来越高,这个需要在以后的系统中增加采集

第五章 基于3G网络和VPN技术的AFC系统应急通信网络

视频设备,通过视频信息更好的展示系统中车辆的状态。

参考文献

参考文献

[1] 赵苏.车辆监控系统上层软件设计[D].南京理工大学2005 年2

[2] 陈新河.无线射频识别(RFID)技术发展综述.信息技术化与标准化2005.7 20-21

[3] 游战清,李苏剑.无线射频识别技术(RFID)理论与应用.电子工业出版社2004 P61,P71-73,P77,P139.

[4] 蒋皓石,张成,林嘉宇.无线射频识别技术及其应用和发展趋势.电子技术应用 2005.5

[5] Landt, Jerry. “Shrouds of Time: The history of RFID” . AIM, Inc. Retrieved 2006-05-31

[6] 康秀光,刁宏轩,刘立峰.基于RFID技术的车辆管理系统设计[J].黑龙江科技信息 2009年第03期

[7] 何立阳,蒋国华,吕明.基于ZigBee无线定位技术的小区车辆管理系统[J].网络安全技术与应用 2009年 第06 期

[8] 王世君.基于GPS/GIS 的车辆监控调度系统设计与实现[D].西南交通大学 2006年

[9] 管宏庆.基于GPS 和GPRS 的大庆测井公司动态车辆管理系统[J].计算机应用 2009 年第S1 期

[10] 余焕明,庞志峰,王妞.基于GPRS 的嵌入式无线车辆管理系统的设计[J]. 软件导刊2008年第11期

[11] 孙弋,张晓刚,基于嵌入式Linux的车载终端的设计与实现[J].微计算机信息 2009年第17期

[12] 周洪波.物联网:技术、应用、标准和商业模式.电子工业出版社2010.7 [13] 普鲁斯.车联网与安吉星的过去、现在和未来[EB/OL].[2011].http://hao.cngold.org/c525097.html

[14] 未来车联网的技术挑战与机遇[EB/OL],[2011-06-01].http: //www.nternetofthings.net.cn/

[15] 朱燕民,李明禄,倪明选.车辆传感器网络研究[J].中兴通讯技术 2009,15(5):28-32

[16] 彭四伟, 朱群雄. 形式化描述驱动的数据帧解析与处理. 计算机工程与应用2006,(5):179 -182

[17] 南春丽, 张生瑞, 严宝杰. 异构数据源城市道路仿真模型接口.计算机工程与应用 2008,44(36):212-215

[18] Wen. An intelligent traffic management expert system with RFID technology. Expert Systems with Applications 2010,(37):3024 3035

参考文献

[19] Aloul F. GuideME:An Effective RFID-based traffic monitoring system. Proc.of the IASTED International Conference On Advances in Computer Science and Engineering, ACSE 2012. 2012: 353 -359

[20] Mandal K. Road traffic congestion monitoring and Measurement using active RFID and GSM technology , Proc. of 2011 14th International IEEE Conference on Intelligent Transportation Systems ITSC 011. 2011. 1375-1379

[21] Karmakar PS. Chipless RFID for intelligent traffic information system. Proc.of IEEE Antennas and Propagation Society,AP-S International Symposium (Digest).2011: 992 -995

[22] Chattaraj,Anuran.An intelligent traffic control system using RFID. IEEE Potentials 2009,28(3):40 -43

[23] Basile F, Chiacchio P, Teta D. A hybrid model for real time simulation of urban traffic. Control Engineering Practice 2012,20(2):123-137

[24] Bazghandi A, Pouyan AA. An agent - based simulation model for Urban traffic system. Computer and Information Science 2011,4(4): 72-82.

[25] 游战清.无线射频识别技术(RFID)理论与应用[M]. 电子工业出版社2004. [2] [26] 李毅,李洪波.基于RFID技术的车辆综合自动管理系统的设计研究[J]. 微计算机信息2005. 29: 153-154,146.

[27] 李军.RFID在智能交通中的应用.RFID技术与应用[J] 2009(1): 46-48 [28] 田利梅,谭杰,关强,等. RFID测试标准和测试技术研究[J]. 信息技术与标准2009(5):45-48

[29] V.Derbek, C. Steger OVE, R. Weiss OVE. A UHF RFID measurement and Evaluation test system[J].electrotechnics&Informations-technic 2007,124(11): 384-390

[30] 洪卫军 李书芳. 超高频RFID与其他无线网络的电磁兼容性研究[J]. 中兴通讯技术2007(4).38-42

[31] 古卓,李书芳,曹坷,等.UHF频段RFID射频自动测试系统设计[J].电子测量技术 2009. 32(10)

[32] Wen. An intelligent traffic management expert system with RFID technology. Expert Systems with Applications, 2010, (37):3024 -3035. [32] Aloul F. GuideME: An effective RFID- based traffic monitoring system. Proc. of the IASTED International Conference on Advances in Computer Science and Engineering, ACSE 2012. 2012: 353 -359. [33] Mandal K. Road traffic congestion monitoring and measurement using active RFID and GSM technology. Proc. of 2011 14th International IEEE Conference on Intelligent Transportation Systems, ITSC 2011. 2011.

参考文献

1375-1379.

[34] Karmakar PS. Chipless RFID for intelligent traffic information system. Proc. of IEEE Antennas and Propagation Society, AP- S International Symposium (Digest). 2011: 992 -995.

[35] Chattaraj, Anuran. An intelligent traffic control system using RFID. IEEE Potentials, 2009,28(3):40 -43.

[36] Basile F, Chiacchio P, Teta D. A hybrid model for real time simulation of urban traffic. Control Engineering Practice, 2012,20(2):123-137.

[37 Bazghandi A, Pouyan AA. An agent - based simulation model for Urban traffic system. Computer and Information Science, 2011,4(4): 72-82.

参考文献

致谢

在论文完成之际,首先我要感谢我的导师***老师。*老师为人谦逊,平易近人。在我的论文的开始选题阶段,*老师给我提供了很大的帮助,让我可以尽快的确定最适合自己的研究课题。在搜集资料和写作阶段,*老师又倾注了极大的关怀和鼓励,特别是在论文的写作过程中,每当我有所疑问或遇到不能理解的相关知识,*老师总会放下手中繁忙的工作,不厌其烦地给我指点,帮我查找相关的技术资料;在我完成初稿之后,*老师又在百忙之中抽出空来对我的论文进行了详细的审阅和认真的批改,字字句句把关,对其中出现各种小问题一一进行了批注,提出许多关键性的指导意见,使我在研究和写作过程中少走了很多弯路,大大缩短了论文的编写时间。***老师这种严谨的治学之风和对事业的孜孜追求给我留下了深刻的印象,他对我的关心和教诲我更将永远铭记。谨借此机会,我向金老师表示深深地感谢。

最后,我还要感谢参与我论文评审和答辩的各位老师,正是他们给了我这样的一个机会,可以检验我这两年多来的学习实践成果,让我能够明确把我自己的定位和未来的发展方向,他们给予帮助将是我的一笔无价的财富。我将在今后的工作、学习中加倍努力,以期能够取得更多成果回报老师、回报学校、回报社会。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top