如何网站做专题,自己建网站难吗,wordpress 首页 静态,网站开发体会范文目录
1.系统的受众说明
2.相关技术与方法
3.系统分析
3.1 可行性分析
3.1.1 技术可行性
3.1.2 经济可行性
3.1.3 操作可行性
3.2 需求分析
3.2.1 系统功能描述
3.2.2 用例图分析
4. 系统设计
4.1 系统类分析
5. 系统详细设计与实现
5.1 用户登录
5.2 系统信…目录
1.系统的受众说明
2.相关技术与方法
3.系统分析
3.1 可行性分析
3.1.1 技术可行性
3.1.2 经济可行性
3.1.3 操作可行性
3.2 需求分析
3.2.1 系统功能描述
3.2.2 用例图分析
4. 系统设计
4.1 系统类分析
5. 系统详细设计与实现
5.1 用户登录
5.2 系统信息管理
5.3 车位信息管理
5.4 IC卡管理
5.5 临时车主管理
5.6 固定车主管理
5.6 收费管理
5.7 打印管理
5.8系统功能操作 1.系统的受众说明 1 在校学习的学生可用于日常学习使用或是毕业设计使用 2 毕业一到两年的开发人员用于锻炼自己的独立功能模块设计能力增强代码编写能力。 3 亦可以部署为商化项目使用。 4 需要完整资料及源码请在文末获取联系方式领取。 2.相关技术与方法 J2EE介绍 J2EE作为一个企业级的开放式应用规范为公司和企业提供了大量的开发技术规范和一个多层次的分布式应用模型具有良好的兼容性、安全性和可移植性。 不同的开发商遵循J2EE的开发规范由于J2EE兼容性使得数据信息具有很好良好的兼容性、安全性和可移植性。适用于各个平台。现如今得到了大家的一致肯定被大多数企业应用提高开发效率。而停车场管理系统采用这个规范其优良的可移植性和兼容性得到了很好的应用易操作和学习。 2. 构建本系统J2EE开发工具 Java虚拟机JDK1.8 java开发工具Eclipse4.6 web服务器Tomcat8.0 环境配置过程安装好JDK1.8后选择Eclipse4.6的Project-Web Project, 构建工程。 MVC设计模式 MVC是Model View Controller 模型-视图-控制器的简称。其用于设计Web程序的模式。Model(模型)是程序处理代码逻辑的部分。View(模型)是程序处理数据部分。Controller(控制器)是处理数据传输过来与业务逻辑进行交互的部分。停车场管理系统采用MVC设计模式方便开发人员修改或者调试代码避免代码杂糅在一起。遇到问题时无法快速定位。而且MVC分层也简化了开发。不同的开发人员可以同时开发这三个逻辑提高了开发效率为开发商节约时间。 3.JSP介绍 JSP其实是一个简单化的Servlet设计一种面向对象的动态网页技术标准。其以Java为脚本语言可以将java代码嵌入jsp页面将代码和业务逻辑分离开来实现动态交互。用户通过表单或者超链接提交数据数据传到对应的Servlet中通过Java代码处理形成动态交互。JSP现今被大多数企业所应用对于J2EE来说必不可缺。它使Web开发简化提高效率减少企业支出。 4.jQuery Query就是查询的意思更加方便快捷的查询页面控件语法简单。jQuery是继prototype之后有一个优秀的JavaScript框架兼容了多种browse(IE6.0)不但能够方便的操作文档和DOM、处理事件、实现动画效果而且很方便的实现AJAX交互、兼容CSS3[4]。jQuery也提供了给开发人员在其上创建插件的能力封装了JavaScript的函数write less ..do more ...就是jQuery的宗旨。 5.智能化功能介绍 RFID卡技术 RFID即为射频识别是一种无线通信技术它是通过将无线电的电信号转化成无线电频率的电磁场把在物品上标签附着的数据传输出去用此来达到自动识别和追踪。它与条形码不同的是不需要再识别器范围之内也可以加入追踪器之内。 现今大多数行业多运用了RFID技术。将数据标签附着在一套正在生产中的机器便于厂家在线跟踪生产进度。当前也可以将其应用在图书馆中便于管理和阅读者寻找书籍等等方面。停车场上也可以使用汽车上装载的射频应答器可便于进出车场的收费管理避免难以预测的问题。提高停车场的效率。 2.车牌识别功能介绍 车牌识别技术是通过监控车辆并自动提取车牌信息进行处理的技术。车牌识别在在现在交通系统中扮演着重要的角色它以图形化处理、模式识别等技术作为基础对得到定位车辆图像进行分析从而得到每辆车的车牌号码完成识别过程。再通过一些手段的处理可以实现停车场收费管理。停车场管理系统采用该项技术可以更加方便快捷的管理进出场车辆。 3.系统分析 3.1 可行性分析 3.1.1 技术可行性 在停车场管理系统的设计中MVCModel-View-Control设计模式贯穿了整系统框架采用SpringMVCJDBC组合结构。 模型层 模型层主要是逻辑处理。 在本系统中提供处理数据持久化JavaBean对业务逻辑Service封装。 2.视图层 停车场管理系统采用JSP来实现视图层。 3.控制层 采用SpringMVC技术来处理前台请求与业务逻辑层的交互。 在停车场管理系统的设计中应用MVC设计模式便于开发人员设计代码由于这三个逻辑可以同时进行提高了效率节省时间且由于分层将代码隔离开来方便开发人员操作。且停车场管理系统采用RFID卡等等技术方便车辆出入增加智能化便于管理。可以从这个角度得出开发智能停车场是可行的。 3.1.2 经济可行性 主要是对开发本系统的经济效益进行评价。根据调查了解到大多数公共场所出现停车难、车位少等问题停车场的效率十分低下导致停车场的收益降低且不安全。针对这种情况有必要对停车场低效率的原因进程分析并为提高停车场的效率提出改进的对策。经过分析调查我们得出的停车场管理系统相当的有用从这个角度来说开发智能停车场管理系统是可行的。根据花费的查阅资料时间和框架设计时间基本的功能实现需要差不多3个月左右从2017年1月到4月实现再加上相关功能的测试以及代码实现要两个2星期左右对于那些智能化功能写的接口待技术引进再后期磨合实现需待定。总的来说4月份可设计完毕。根据系统要求规定系统需要配合摄像头、引进RFID卡技术等需要花费一笔费用再预估计范围之内从此看来开发智能停车场是可行的。 3.1.3 操作可行性 开发所用的开发工具是eclipse这个软件在各种计算机上都可以支持运行并且操作方便用户易上手。操作员经过简单的讲解就可以使用此系统从这个方面而言开发智能停车场管理系统是可行的。 3.2 需求分析 3.2.1 系统功能描述 系统信息管理包括添加角色、管理角色、添加用户、管理用户、管理角色和管理用户模块可以对角色和用户进行增、删、改。 IC卡信息管理添加IC卡类型管理IC卡类型。管理IC卡信息可以对车主的IC卡信息进行增、删、改。 车位信息管理管理车位、添加车位管理车位信息模块可以对车主车位信息进行增、删、改。 固定车主停车管理出入场设置、停车场信息管理。出入场设置可以设用户的入场和出场相应的在停车信息中有一个展现。停车信息管理可以对车主的停车信息进行查询和删除。 临时车辆信息管理车主入场信息车主出场设置。设置车主入场在相应的表中展现在车主出场时进行收费临时车主停车信息管理可以对临时车主的信息进行删除和查询。 收费管理管理收费、添加收费信息。管理收费信息可以对车主的费用进行一个收费可以对车主的收费信息进行查询和删除。 打印报表查看报表信息对固定车主和临时车主相关信息进行打印。 系统功能操作修改密码、退出系统。 3.2.2 用例图分析 根据停车场管理系统的功能描述系统权限为管理员。管理员主要功能包括车位信息管理系统信息管理、IC卡管理、车主管理、固定车主管理等功能。用例图椭圆代表用例线条人代表用户[1]用户与功能之间是关联关系停车场管理系统的用例图如图3.1所示 图3.1停车场管理系统用例图 4. 系统设计 本章内容包括系统类分析、核心业务设计、数据库设计三个部分其中系统类分析需要给出系统类图和类的说明需要注意在给出类图的时候只需要给出核心业务类对辅助类如界面类、数据库连接类这种类型的不需要给出如果所涉及的类包括类当中的内容较多时应首先给出类间关系图图中的类只有名称没有属性和方法之后在单个类说明中给出具体类的类图类图同样需要用WORD进行绘制。 核心业务设计主要描述的是完成某项具体业务时类之间的消息配合用时序图进行表述时序图可以用其他工具绘制但不能够有其他的颜色出现。 数据库设计主要描述在系统中需要持久化的对象需要给出ER图如果系统所涉及的实体(或实体的属性)较多时同样采用分层绘制的方法顶层图给出实体间关系下层图针对每一个实体进行具体绘制。 4.1 系统类分析 经分析该系统核心业务类见下图 USER类 USER类用于记录系统的用户信息并完成登陆和注销的操作。具体说明如表4-2所示。 USER类功能表 类功能描述 处理和用户相关的业务操作 所在包名称 DAL 继承对象 无 实现对象 类属性 保护属性 类型 名称 描述 备注 Public String ID 用户ID 长度限制20位 Public String Name 姓名 长度限制20位 public String Password 密码 长度限制20位 主要实现方法 保护属性 方法名 输入参数 输出参数 方法功能描述 Public login string idstring pwd String 登陆系统用户输入ID和PASSWORD后进行验证验证通过返回用户名并登记日志验证失败返回空串。 public logout string id Void 注销系统注销成功清理用户的相关信息并登记日志。 JOURNAL类 JOURNAL类由5个类组成。分别是Fixed类、Temp类、Role类、Card类、Seat类 。 Fixed类记录固定车主信息具体情况下如表4-3所示。 FIxed类功能表 类功能描述 处理和固定车主的业务操作 所在包名称 DAL 继承对象 无 实现对象 表4-3FIxed类功能表 类属性 保护属性 类型 名称 描述 备注 Public String Fix_id 记录编号 长度限制20位 Public String Card_id IC卡号 长度限制20位 主要实现方法 保护属性 方法名 输入参数 输出参数 方法功能描述 Public Update string Fix_idstring pwd int 进入固定车主信息中点击编辑可修改固定车主信息 public Delete string Fix_id Void 进入固定车主信息中点击删除可删除固定车主信息 Temp类记录临时车主信息具体情况如表4-4所示。 Temp类功能表 类功能描述 处理临时车主的业务操作 所在包名称 DAL 继承对象 无 实现对象 类属性 保护属性 类型 名称 描述 备注 Public String Temp_id 记录编号 长度限制20位 主要实现方法 保护属性 方法名 输入参数 输出参数 方法功能描述 Public Update string Temp_id int 进入临时车主信息中点击编辑可修改固定车主信息 public Delete string Temp Void 进入固定车主信息中点击删除可删除固定车主信息 Role类管理角色信息具体情况如表4-5所示。 Role类功能表 类功能描述 角色管理 所在包名称 DAL 继承对象 无 实现对象 类属性 保护属性 类型 名称 描述 备注 Public String Role_id 记录编号 长度限制20位 主要实现方法 保护属性 方法名 输入参数 输出参数 方法功能描述 Public Insert string Role_id int 增加角色 public Delete string Role_id Void 删除角色 Card类记录IC卡信息具体情况如表4-6所示。 Card类功能表 类功能描述 处理IC卡相关业务 所在包名称 DAL 继承对象 无 实现对象 类属性 保护属性 类型 名称 描述 备注 Public String Card_id 记录编号 长度限制20位 主要实现方法 保护属性 方法名 输入参数 输出参数 方法功能描述 Public Update string Card_id int 进入IC卡信息中点击编辑可修改IC卡信息 public Delete string Card_id Void 进入IC卡信息中点击删除可删除IC卡信息 Seat类记录车位信息具体情况如表4-7所示。 Seat类功能表 类功能描述 处理车位信息相关业务 所在包名称 DAL 继承对象 无 实现对象 类属性 保护属性 类型 名称 描述 备注 Public String Seat_id 记录编号 长度限制20位 主要实现方法 保护属性 方法名 输入参数 输出参数 方法功能描述 Public Update string Seat_idstring Seat_name int 进入车位信息中点击编辑可修改车位信息 public Delete string Seat_id Void 进入车位哦信息中点击删除可删除车位信息 关键业务设计 系统登录 管理员通过UI界面输入用户名密码调用USER类LOGIN方法在LOGIN方法中调用DATABASE的checklogin方法最后返回成功。 数据库设计 数据需求分析 系统E-R图表明了实体与实体之间的关系根据系统的功能需求系统有用户、IC卡、临时车主、固定车主、车位、收费信息六个实体。一个固定车主拥有一张IC卡和一个车位一个临时车主拥有一个车位和临时IC卡。固定车主和临时车主产生收费信息。实体关系属性图如图4.3所示[11] 图4.3停车场管理系统E-R图 数据库的实现 根据系统需求确定系统有如下7张表。 用户表储存用户信息。 角色表储存角色信息。 车位管理表管理车位信息以及车位状态。 IC卡管理表管理IC卡信息。 临时车辆记录表记录临时车辆的信息。 固定车主表记录固定车主信息及出入场信息。 收费表记录用户们的收费信息。 用户表用于记录用户的编号、姓名、电话等属性信息如表4-8所示。 表4-8用户表 序号 列名 数据类型 长度 小数位 标识 主键 允许空 外键 说明 1 user_id Varchar2 50 0 是 是 否 2 role_id Varchar2 50 0 否 是 3 user_name Varchar2 50 0 否 4 real_name Varchar2 50 0 否 5 user_pwd Varchar2 20 0 否 6 user_phone Varchar2 50 0 是 角色表储存角色的编号、名字等信息如表4-9所示。 表4-9角色表 序号 列名 数据类型 长度 小数位 标识 主键 允许空 外键 说明 1 role_id Varchar2 50 0 是 是 否 2 role_name Varchar2 50 0 否 车位管理表记录车位的编号、ID、状态等属性信息如表4-10所示。 表4-10车位管理表 序号 列名 数据类型 长度 小数位 标识 主键 允许空 外键 说明 1 seat_id Varchar2 50 0 是 是 否 2 seat_num Varchar2 50 0 否 3 seat_setion Varchar2 50 0 否 4 seat_state int 11 0 否 5 seat_tag Varchar2 50 0 是 IC卡表记录IC卡的ID、车位ID、姓名、车牌号等属性信息如表4-11所示。 表4-11 IC卡表 序号 列名 数据类型 长度 小数位 标识 主键 允许空 外键 说明 1 card_id varchar2 50 0 是 是 否 2 seat_id Varchar2 50 0 否 是 3 user_name Varchar2 50 0 否 4 user_gender Varchar2 1 0 否 5 user_addr Varchar2 50 0 否 6 car_num Varchar2 50 0 否 临时车辆记录表用于记录临时车主的编号、车牌号、出入场时间等属性信息用户如表4-12所示。 表4-12临时车辆表 序号 列名 数据类型 长度 小数位 标识 主键 允许空 外键 说明 1 temp_id Varchar2 50 0 是 是 否 2 card_id Varchar2 50 0 否 3 car_num Varchar2 50 0 否 4 entry_date date 0 0 否 5 entery_time time 0 0 否 6 out_date date 0 0 是 7 out_time time 0 0 是 8 temp_money float 0 4 是 固定车主表用于记录固定固定车主的编号、IC卡编号、出入场时间等属性信息如表4-13所示。 表4-13固定车主表 序号 列名 数据类型 长度 小数位 标识 主键 允许空 外键 说明 1 fixed_id Varchar2 50 0 是 是 否 2 card_id Varchar2 50 0 否 是 3 entry_date date 0 0 否 4 entery_time time 0 0 否 5 out_date date 0 0 是 6 out_time time 0 0 是 收费表用于记录收费的编号、车主姓名、车牌号、收费金额等属性信息如表4-14所示。 表4-14收费表 序号 列名 数据类型 长度 小数位 标识 主键 允许空 外键 说明 1 role_id Varchar2 25 0 是 是 否 2 role_name Varchar2 255 0 是 3 role_type Varchar2 255 0 是 4 car_num Varchar2 25 0 是 5 car_money Varchar2 255 0 是 6 car_time Varchar2 255 0 是 5. 系统详细设计与实现 5.1 用户登录 登录模块界面如图5.1所示 图5.1 用户登录 代码流程如图5.2。 图5.2 用户登录 功能描述登陆页面需要用户名、密码进行登录。登录的同时对输入的用户名和密码进行验证首先我们要保证用户名和密码不能为空。其次是对数据库的验证系统在数据库中搜索用户输入的用户名是否存在若不存在则提示出错。并且重新登录系统不允许两个用户同时登录该操作在一定程度上使系统的安全性有所提高。 登录主要代码位置TestPark/src/DAL/login.java。主要封装了对登录数据的操该类中有三个方法分别用于检查用户登录信息是否合法根据用户编号和角色编号获取用户名和角色信息。 publicclass Login { publicboolean checkLogin(String user_id,String user_pwd) { String sqlCmdselect count(*) from user where user_id? and user_pwd?; Object[] objListnew Object[2]; objList[0]user_id; objList[1]user_pwd; String resultSQLUtil.excuteScalar(sqlCmd,objList).toString(); if(result.equals(1)) { returntrue; } else { returnfalse; } } public String getName(String user_id) { String sqlCmdselect user_name from user where user_iduser_id; String resultSQLUtil.excuteScalar(sqlCmd, null).toString(); return result; } public String getSysLevel(String user_id) { String sqlCmdselect role_id from user where user_iduser_id; String resultSQLUtil.excuteScalar(sqlCmd, null).toString(); return result; } } 5.2 系统信息管理 添加角色信息如图5.3所示 图5.3 添加角色信息 管理角色如图5.4所示 图5.4 管理角色信息 添加用户信息界面如图5.5所示 图5.5 添加用户信息 管理用户信息界面如图5.6所示 图5.6 管理用户信息 功能描述该模块是对系统信息的一个管理添加角色输入编号和名称后台数据库进行验证若角色没有存在则添加数据成功跳转到管理界面。管理角色信息可以根据用户的编号角色名称进行查询操作、编辑、和删除操作。添加用户信息输入用户编号、名称、昵称、姓名、密码电话点击确定进行后台数据库的验证若成功添加则跳转到管理界面。管理用户界面可根据用户编号、角色名称、用户名称、真实姓名进行查询、编辑和删除操作。 系统信息模块流程图如图5.7所示 图5.7 停车场管理系统信息流程图 5.3 车位信息管理
添加停车位信息如图5.8所示
图5.8 添加车位 管理车位信息如图5.9所示 图5.9 管理车位信息页面 功能描述该模块是对车位的一个管理。点击添加车位信息输入编号选择是A区还是B区添加成功则会跳转到管理界面。管理界面可根据车位ID、车位编号、所属区域、车位备注进行查询还可对车位信息进行编辑和删除。
对车位数据的操作封装在seat.java类中。该类中主要封装了分页和对车位信息的增、删、改、查等方法。首先获取车位信息列表然后获取未分配的车位列表根据查询条件获取获取分页后的信息列表数据的更新、插入、删除获取分页总数根据查询条件获取分页总数。
publicclass Seat {
public ListObject getEntity()
{
String sqlCmdselect *from Seat;
return DBUtil.SQLUtil.executeQuery(sqlCmd, null);
}
public ListObject getNoUseSeat()
{
String sqlCmdSELECT *FROM Seat WHERE seat_id NOT IN(SELECT seat_id FROM card);
return DBUtil.SQLUtil.executeQuery(sqlCmd, null);
}
public ListObject getEntity(int page)
{
int size(page-1)*15;
String sqlCmdselect *from Seat limit size,15;
return DBUtil.SQLUtil.executeQuery(sqlCmd, null);
}
public ListObject getEntityByWhere(String sqlWhere,int page)
{
int size(page-1)*15;
String sqlCmdselect *from Seat where sqlWhere limit size,15;
return DBUtil.SQLUtil.executeQuery(sqlCmd, null); }
publicint deleteEntity(String seat_id) { String sqlCmddelete from Seat where seat_idseat_id;
return DBUtil.SQLUtil.executeNonQuery(sqlCmd, null); }
public ListObject getEntityById(String seat_id) { String sqlCmdselect *From Seat where seat_idseat_id;
return DBUtil.SQLUtil.executeQuery(sqlCmd, null); }
publicint updateEntity(String seat_id,String seat_num,String seat_section,String seat_state,String seat_tag) { String sqlCmdUpdate Seat set seat_num seat_num ,seat_section seat_section ,seat_state seat_state ,seat_tag seat_tag where seat_idseat_id;
return SQLUtil.executeNonQuery(sqlCmd, null); }
publicint insertEntity(String seat_id,String seat_num,String seat_section,String seat_state,String seat_tag) { String sqlCmdInsert into Seat values( seat_id , seat_num , seat_section , seat_state ,seat_tag);
return SQLUtil.executeNonQuery(sqlCmd, null); }
publicboolean checkExist(String seat_id) { String sqlCmdselect count(*) from Seat where seat_idseat_id;
if(1Integer.parseInt(SQLUtil.excuteScalar(sqlCmd, null).toString()) ) {
returntrue; }
returnfalse; }
public Object getPageCount()
{
String sqlCmdSELECT CEIL( COUNT(*)/15.0) FROM Seat ;
return SQLUtil.excuteScalar(sqlCmd, null);
}
public Object getPageCountByWhere(String sqlWhere)
{
String sqlCmdSELECT CEIL( COUNT(*)/15.0) FROM Seat where sqlWhere;
return SQLUtil.excuteScalar(sqlCmd, null);
} }
车位信息流程图如图5.10所示 图5.10 车位信息流程图
5.4 IC卡管理
添加IC卡界面如图5.11所示 图5.11 添加IC卡界面 管理IC卡信息界面如图5.12所示 图5.12 管理IC卡界面
功能描述该功能模块是对IC卡信息的管理点击添加IC卡输入如图5.11所示的信息添加成功后跳转到图5.12的界面。管理界面可根据IC卡编号、车位编号、用户名称、车牌号码进行查询。也可进行相应的编辑和删除操作。
IC卡管理模块流程图如图5.13所示 图5.13 IC卡管理流程图
5.5 临时车主管理
临时车主入场信息界面如图5.14所示 图5.14临时车主入场页面 车主出场信息界面如图5.15所示 图5.15临时车主出场页面
结算页面如图5.16所示 图5.16 结算页面 功能描述该模块是对临时车主出入场的管理。点击入场管理出现如图5.14所示的界面输入信息如果输入成功就会跳转到如图5.15的界面出场日期日期显示未出场停车费用显示待结算。点击结算出现如图5.16界面。
临时车主流程图如图5.17所示 图5.17临时车主流程图 5.6 固定车主管理 固定车主出入场设置界面如图5.18所示 图5.18 固定车主出入场设置界面 停车信息管理界面如图5.19所示 图5.19管理停车场信息界面
功能描述该模块是对固定车主的出入场设置以及停车信息进行管理。如图5.18所示对车主进行入场设置点击确定后就会在下面的表格中显示点击停车信息管理按钮就会出现如图5.19所示。设置出场出场时间就会出现在停车信息表中。
固定车主流程图如图5.20所示 5.6 收费管理
管理收费信息如图5.21所示: 图5.21管理收费信息
功能描述临时用户是一小时3元收费固定用户是按次数收费。
5.7 打印管理
查看打印信息如图5.22所示 图5.22打印信息 功能描述该模块可以将用户的消费情况进行打印公开透明清楚。
5.8系统功能操作
密码修改、退出系统界面如图5.23所示 5.23 系统功能操作界面 功能描述该模块是对系统功能的一个操作可进行修改密码。点击退出系统则会跳转到如图5.1的登录界面。