20XX 届 毕 业 文(设计)
文(设计)题目
基WEB停车场理系统
设计实现
院系名称
计算机科学技术系
专业(班级)
计算机科学技术
2005级科班
姓名(学号)
指导教师
系负责
二O O九年X月X日
摘
着现代社会快速发展民生活水快速提高汽车数量飞速增加时停车问题越越受关注实现停车场进行效理结合停车场模式现状开发出停车场理系统
停车场理系统典型信息理系统停车场理系统设计功包括场车辆理台数库理中场车辆理分出入场理模块收费模块户理模块停车场参数停车场数理模块系统理模块等系统设计功实现方面阐述理系统软件开发程
系统采BS架构Tomcat60作运行服务器基J2EE标准JSP技术利Hibernate31Struts12框架作开发工具MyEclipse60开发环境数库采Microsoft SQL Server 2000开发程利MVC开发模式层次分明成功实现该系统试运行结果表明该系统具良性扩展性较高响应速度效率该系统符合实际停车场理系统停车场理供快速简单规范理台提高信息化程度降低力成着重意义
关键词:停车场理系统J2EEHibernate31Struts12
Abstract
With the rapid development of modern society people's living standards improve and the number of vehicles increases rapidly People pay more attention to parking problems at the same time In order to manage the parking lots more efficiently we have developed a Parking Management System with some modes and the actuality of present parking lots considered
Parking Management System is typically one of the information management systems The main functions in the Parking Management System include vehicle management and background database management and vehicle management is divided into the passing in and out module the charging module the user management module the parking parameters parking data management module and the system management module We discussed the management systems development process from the system design and function of the realization in the Papers
Tomcat60 as a running server is used in this system on the basis of BS structure Based on J2EE standards JSP technology as development tools which is taken advantage of Hibernate31 and Struts12 framework and MyEclipse60 as development environment are applied in the system Microsoft SQL Server 2000 is used as background database We develop the use of MVC pattern in development process Test results show that the system has good performance and scalability high response speed and efficiency which is in line with the actual park management system and can provide a fast simple and standardized management platform It is important to improve the information level and reduce labor costs
Key words parking management system J2EE Hibernate3x Struts12
目 录
摘 I
Abstract II
目 录 III
第章 绪 1
11 选题背景 1
12 相关技术 1
121 Struts技术 1
122 Hibernate 2
123 JSP(Java Server Pages)技术 2
124 J2EE 2
125 MVC 2
126 JavaScript技术 3
第二章 系统分析 4
21 系统分析 4
211 功需求分析 4
212 系统流程分析 5
22 技术行性分析 5
221 系统数模型层分析设计 6
222 系统视图层设计分析 6
223 系统控制层分析设计 6
第三章 系统总体设计 8
31 系统设计 8
311 总体设计 8
312 业务流程分析 8
312 系统功模块 9
313 系统模块设计 10
32 数库设计实现 10
321 数库需求分析 10
322 数库逻辑设计 11
323 数库实现脚 14
第四章 系统详细设计实现 18
41 登录模块 18
411 功说明 18
412 程序描述 19
42 授权理模块 19
421 功说明 20
422 程序功描述 20
43 系统设置模块 20
431 功说明 20
432 程序功描述 21
44 操作员档案理模块 21
441 功说明 21
442 程序功描述 22
45 数理模块 22
451 功说明 22
452 程序功描述 23
46 档案理 24
461 功说明 24
462 程序功描述 25
47 入场理模块 25
471 功说明 25
472 程序功描述 26
48 出场理 27
481 功说明 27
482 程序功描述 28
49 收费理模块 28
491 功说明 28
492 程序功描述 29
第五章 系统测试运行维护评价 30
51 测试概况测试例 30
511 添加户信息 30
52 系统维护 31
521 系统维护需求起目 31
522 系统维护容 31
523 系统维护工作考虑素 32
524 系统维护工作理 32
53 系统评价 32
结 33
参考文献 34
致谢 35
第章 绪
11 选题背景
年着国济快速发展生活水断提高物质需求生活方式发生着深刻变化前属奢侈品汽车逐步走入市民日常生活伴汽车消费众化种机动车辆范围迅速普车辆配套设施特停车场提出更高求停车速度零交通停车场附属相关设施静态交通重组成部分停车场收费理系统伴着公收费停车场新生事物诞生
目前数停车场存着问题理漏洞系统性独立性强收费程较繁琐劳动强度高停车场利率低票款易流失等针问题该停车场系统方面进行设计针理进行优化采划卡消费现金支付相结合系统计时计费采Java高级编程语言WEB相关技术开发设计理系统软件实现网络理操作优化系统方便服务高效收费透明防止票款流失提高性时提高操作者工作效率
12 相关技术
121 Struts技术
Struts英文建筑飞机中金属支架支持支撑含义时说明WEB设计中重作Struts基Sun J2EE台MVC框架StrutsServletJSP定义标签信息资源(Message Resources)整合统框架中开发员利进行开发时编码实现全套MVC模式极节省时间[4][11]
图 11 Struts工作原理
基Struts框架Web应程序客户端浏览器发出请求时请求会控制器截获调Web应启动时加载初始化核心控制器组件ActionServlet然通ActionServletStrutsconfigxml文件中读取预先设置配置信息存放配置象中控制器根配置文件中信息者选择合适Action象者直接选择合适View象返回浏览器Action象身没逻辑功控制器模型层间接口控制器通Action调匹配模型象模型象根执行结果选择合适View象返回浏览器控制器时整程序执行流程调度者Struts中基控制器组建ActionServlet类ActionServlet类包含控制信息程序调度信息需Strutsconfigxml配置文件中设置
122 Hibernate
Hibernate[2]目前流行ORM(ObjectRelational Mapper)连接Java象模型关系数库模型桥梁JDBC进行轻量级封装仅提供ORM映射服务提供数查询数缓查询功HibernateSQL操作完全封装成象化操作开发员方便通Hibernate访问数库
123 JSP(Java Server Pages)技术
JSP种动态网页技术标准种服务器端嵌入Java代码脚语言容生成显示分离生成重组件应标记简化页面开发具Java特点
124 J2EE
1 J2EE介绍
J2EE(Java 2 Platform Enterprise Edition)SUN公司定义开放式企业级应规范提供层次分布式应模型系列开发技术规范层次分布式应模型根功应逻辑分成层次层次支持相应服务器组件组件分布式服务器组件容器中运行Servlet组件Servlet容器运行EJB组件EJB容器运行容器间通相关协议进行通讯实现组件相互调遵规范开发者行业广泛支持企业级应开发变简单快速
2 构建系统J2EE开发工具
Java虚拟机:J2SDK16Java开发工具:MyEclipse60WEB服务器采:Tomcat 60环境配制程:安装J2SDK16MyEclipse60中选择新建J2EE Project>Web ProjectWeb Project中Add StrutsHibernate31
125 MVC
MVC英文全称ModelViewController应程序输入层业务处理层控制流程ViewModelController方式进行分离样应程序划分成相独立协工作3层视图层模型层控制层MVC设计模式中客户端WEB浏览器会提交种户请求请求控制器进行处理控制器根时间类型改变模型视图视图接受模型层发出数更新通知数更新结果调整视图效果呈现户模型通视图获户提交数进行具体业务逻辑处理
126 JavaScript技术
JavaScript语言前身LiveScript语言[5]美国Netscape(网景)公司布瑞登·艾克(Brendan Eich)1995年发布Navigator 20 浏览器应开发脚语言JavaScript种基象语言意味运已创建象系统JavaScript程序代码做客户端登陆验证页面选择控制
第二章 系统分析
21 系统分析
211 功需求分析
根停车场理系统需求确定该系统例图图21示
图21 停车场理系统例图
图21示该系统超级理员理员操作员三种角色角色基务述
超级理员具高权限系统权限操作权超级理员授权理员赋予理员应权限
理员根需维护角色信息授权相应操作员进行系统设置权限设置数理操作员档案理
操作员行理员权限行档案理(车辆档案卡档案理户档案理)入场理收费理出场理
根例图部分类图图 22
图 22 类图
212 系统流程分析
停车场理系统分入场停车出场取车两部分图23示
图 23 系统流程图
1入场停车流程
(1)入场
根系统提示停车场现信息控制车辆入场停车场车位情况方停车
(2)卡审核
审核户卡类型判断卡效性
(3)停车
指定停车位置提示户
2出场取车流程
(1)出场审核
卡审核卡车辆匹配审核
(2)收费
根车辆信息卡类型停车时间等收费标准计算收费额度实施收费环节
(3)出场
交费出场相关信息提示完成停车理程
22 技术行性分析
停车场理系统设计中MVC(ModelViewControl)分层设计模式贯穿整设计流程系统开发框架采Struts12 +Hibernate31组合结构
l 模型层
模型层包括数逻辑业务逻辑 系统中Hibernate提供处理数持久化JavaBean业务逻辑Service封装
l 视图层
系统采JSP实现视图层
l 控制层
采Struts技术处理前台请求Service业务逻辑调
221 系统数模型层分析设计
MVC设计模式中M(Model)包括数逻辑业务逻辑
l 数逻辑
数逻辑作Model层面中组成部分设计优劣会系统整体性表现产生关重影响
Hibernate提供强高性象关系型数库持久化服务利HibernateJava基础定义进行持久化层开发Hibernate象关系型数库间构建条快速高效便捷沟通渠道系统中数库增加修改删查询操作通Hibernate数表进行相应操作
l 业务逻辑
业务逻辑业务系统实现组成部分业务逻辑层负责方面实现
(1)理应业务逻辑业务校验添加数时数表中没该项记录允许添加
(2)理业务级象间赖性
(3)理层进行交互接口
(4)事物代理数库插入删时调事物处理物理执行数表更新操作
(5)错误理
222 系统视图层设计分析
MVC设计模式中V(View)视图层(表现层)系统采JSP技术实现系统页面通技术实现
223 系统控制层分析设计
MVC设计模式中C(Control)控制层采Struts框架技术实现控制层控制层需负责功:
(1) 接受客户端HTTP请求
(2) 调M层模型组件执行相应业务逻辑
(3) 获M层业务逻辑处理结果
(4) 根处理结果选择合适视图层呈现客户端
第三章 系统总体设计
31 系统设计
311 总体设计
首先判断登录身份进入相应操作页面通需操作终完成目操作功系统UML活动图图31示
关系数库程序控制
图31 UML活动图
312 业务流程分析
系统者停车场工作员便理鉴现停车场理模式划分成三角色户工作员首先登陆系统系列身份验证登陆成功进入相应操作界面实现理功总体功分析业务流程图图 32业务流程图
图32 业务流程图
中模块应添加修改删功
312 系统功模块
图 33 系统功模块划分
图 33 系统功模块划分
313 系统模块设计
(1)授权理模块 具高理权限超级理员该模块进行操作理员进行授权添加删修改理员
(2)系统设置 超级理员授权理员行该功停车场参数进行设置
(3)操作员档案理 理员行改功停车场业务操作员进行理添加删修改操作员信息
(4)数理模块 该模块显示停车场日常运行产生数场车辆进出数收费金额交班记录相关信息
(5)档案理 该部分功操作员停车场发放卡进行理车档案理停车场顾客信息档案理添加删改修改功
(6)入场理 该模块系统重功模块采集汽车入场时候必参数参数进行处理判断获参数提交台进行相关处理
(7)出场理 汽车离场前进行离场验证停车时间数收集收费模块提供数
(8)收费理 该模块系统重模块根出入场提供参数结合该模块收费标准设置计算出收费金额完成收费印出收费清单
32 数库设计实现
321 数库需求分析
数库设计ER图图 34系统数库ER图制定收费标准卡类型收费标准(时收费次收费)确定停车场顾客户唯条卡信息车信息绑定停车场总车位数决定车位表总车位车位存放部车收费根时入场时信息出场时信息收费标准综合出交班记录记该员工工作时间操作记录班时间段时间操作
图 34 系统数库ER图
根系统需求系统需设计13张表
(1) 卡信息表:存放卡相关信息
(2) 停车场参数表:存放停车场基参数
(3) 户表:存放户基信息
(4) 车信息表:存放车基信息
(5) 权限表:存放应权限信息应行该权限员相关信息
(6) 时收费表:存放时收费时间段
(7) 次收费表:存放次收费时间段
(8) 入场表:存放入场时候信息
(9) 出场表:存放出场时相关信息
(10) 交班表:存放操作员交接班相关信息
(11) 收费表:存放停车段时间收费信息
(12) 车位表:存放车位停车状态
(13) 收费标准表:存放收费统标准
322 数库逻辑设计
面出表详细结构
表31 卡信息表
字段名
描述
类型
长度
否空
否键
id
增
int
4
否
cardid
卡编号
varchar
20
否
cardno
卡号
varchar
20
否
cardtype
卡类型
varchar
20
否
cardmoney
余额
money
8
否
sendtime
发卡时间
datetime
8
否
activetime
效时间
datetime
8
否
sendflag
已发
tinyint
1
否
loseflag
挂失
tinyint
1
否
表32 停车场参数表
字段名
描述
类型
长度
否空
否键
id
增
int
4
否
parkname
停车场名字
varchar
20
否
parktotal
总车位
int
4
否
entertotal
入口车道数
int
4
否
exittotal
出口车道数
int
4
否
parktel
停车场电话
varchar
20
否
parkadd
停车场址
varchar
20
否
表33 户表
字段名
描述
类型
长度
否空
否键
id
编号
varchar
20
否
name
户名
varchar
20
否
sex
性
char
2
否
tel
电话
varchar
20
否
cardno
卡号
varchar
20
否
carno
车牌
varchar
20
否
address
址
varchar
20
否
表34 车信息表
字段名
描述
类型
长度
否空
否键
id
增
int
4
否
carid
编号
varchar
20
否
carno
车牌号
varchar
20
否
cartype
车类型
varchar
20
否
表35 权限表
字段名
描述
类型
长度
否空
否键
id
增
int
4
否
poperatorid
编号
varchar
20
否
poperatorname
姓名
varchar
20
否
poperatorsex
性
char
10
否
poperatorpsw
密码
varchar
20
否
poperatorright
权限
varchar
20
否
表36时收费表
字段名
描述
类型
长度
否空
否键
id
增
int
4
否
timeno
时间号
int
4
否
starttime
开始时间
char
10
否
endtime
结束时间
char
20
否
表37 次收费表
字段名
描述
类型
长度
否空
否键
id
增
int
4
否
times_no
时间号
int
4
否
starttime
开始时间
char
10
否
endtime
结束时间
char
10
否
表38 入场表
字段名
描述
类型
长度
否空
否键
id
增
int
4
否
encardid
入场编号
varchar
20
否
否
encardno
卡号
varchar
20
否
encarno
车牌
varchar
20
否
enway
入场车道
varchar
20
否
entime
入场时间
datetime
8
否
enposition
指定车位
varchar
20
否
表39 出场表
字段名
描述
类型
长度
否空
否键
id
增
int
4
否
exited
出场编号
varchar
20
否
否
excardno
卡号
varchar
20
否
excarno
车牌
varchar
20
否
exway
出场车道
varchar
20
否
extime
出场时间
datetime
8
否
表310 交班表
字段名
描述
类型
长度
否空
否键
id
增
int
4
否
tnoperator
操作员
varchar
20
否
否
tnlogintime
登录时间
datetime
8
否
tnturntime
交班时间
datetime
8
否
entimes
进场次数
int
4
否
extimes
出场次数
int
4
否
totalmoney
金额总计
money
8
否
表311 收费表
字段名
描述
类型
长度
否空
否键
id
增
int
4
否
chargeid
收费编号
varchar
20
否
否
chcardno
卡号
varchar
20
否
chcarno
车牌
varchar
20
否
chmoney
收费金额
money
8
否
表312 车位表
字段名
描述
类型
长度
否空
否键
id
增
int
4
否
cpcarno
车牌
varchar
20
否
positionstate
车位状态
varchar
20
否
表313 收费标准表
字段名
描述
类型
长度
否空
否键
id
增
int
4
否
chargestid
标准编号
int
4
否
cardtype
卡类型
varchar
20
否
cartype
车类型
varchar
20
否
chargetype
收费类型
varchar
20
否
timeno
时间编号
int
4
否
unittime
单位时间
int
4
否
unitsum
单位金额
int
4
否
mostsum
金额
int
4
否
323 数库实现脚
1 卡信息表
CREATE TABLE [dbo][pcard] (
[id] [int] IDENTITY (1 1) NOT NULL
[cardid] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL
[cardno] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[cardtype] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[cardmoney] [money] NULL
[sendtime] [datetime] NULL
[activetime] [datetime] NULL
[sendflag] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL
[loseflag] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
2 停车场参数表
CREATE TABLE [dbo][parkparameter] (
[id] [int] IDENTITY (1 1) NOT NULL
[parkname] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL
[parktotal] [int] NULL
[entertotal] [int] NULL
[exittotal] [int] NULL
[parkadd] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL
[parktel] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
3 户表
CREATE TABLE [dbo][users] (
[id] [int] IDENTITY (1 1) NOT NULL
[userid] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL
[username] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[usersex] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[usertel] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[u_carid] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[u_cardid] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[useradd] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
4 车信息表
CREATE TABLE [dbo][car] (
[id] [int] IDENTITY (1 1) NOT NULL
[carid] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL
[carno] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[cartype] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
5 权限表
CREATE TABLE [dbo][rateright] (
[id] [int] IDENTITY (1 1) NOT NULL
[poperatorid] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL
[poperatorname] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[poperatorsex] [char] (10) COLLATE Chinese_PRC_CI_AS NULL
[poperatorright] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[poperatorpsw] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
6 时收费表
CREATE TABLE [dbo][ptime] (
[id] [int] IDENTITY (1 1) NOT NULL
[timeno] [int] NOT NULL
[timestart] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL
[timeend] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
7 次收费表
CREATE TABLE [dbo][ptimes] (
[id] [int] IDENTITY (1 1) NOT NULL
[timesno] [int] NOT NULL
[timesstart] [char] (8) COLLATE Chinese_PRC_CI_AS NULL
[timesend] [char] (8) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
8 入场表
CREATE TABLE [dbo][entrance] (
[id] [int] IDENTITY (1 1) NOT NULL
[encardno] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL
[encardtype] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[encarno] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[encartype] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[enway] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[entime] [datetime] NULL
[enposition] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[enchargetype] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL
[enoperator] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
9 出场表
CREATE TABLE [dbo][pexit] (
[id] [int] IDENTITY (1 1) NOT NULL
[excardno] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL
[excarno] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[exway] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[extime] [datetime] NULL
) ON [PRIMARY]
10 交班表
CREATE TABLE [dbo][turn] (
[id] [int] IDENTITY (1 1) NOT NULL
[tnoperator] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL
[tnlogintime] [datetime] NULL
[tnturntime] [datetime] NULL
[entimes] [int] NULL
[extimes] [int] NULL
[totalmoney] [money] NULL
) ON [PRIMARY]
11 收费表
CREATE TABLE [dbo][charge] (
[id] [int] IDENTITY (1 1) NOT NULL
[cardid] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL
[cardtype] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[cartype] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[carno] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL
[money] [money] NULL
) ON [PRIMARY]
12 车位表
CREATE TABLE [dbo][carposition] (
[id] [int] IDENTITY (1 1) NOT NULL
[cpcarno] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[positionstate] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
13 收费标准表
CREATE TABLE [dbo][standardcharge] (
[id] [int] IDENTITY (1 1) NOT NULL
[chargestid] [int] NOT NULL
[cardtype] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[cartype] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[chargetype] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[timeno] [int] NULL
[unittime] [int] NULL
[unitsum] [int] NULL
[mostsum] [int] NULL
) ON [PRIMARY]
第四章 系统详细设计实现
41 登录模块
图41 登录界面图
411 功说明
登陆页面需户名密码户登录类型分超级理员理员操作员登录类型中进行区进入根理级行功登陆时进行验证首先进行页面级验证输入信息户名密码空次进行数库验证系统中没该理员信息时错误信息抛出页面提示户出错原户已登录时账号密码登陆该系统定程度提高系统安全性
数流图图42示
图42 登录模块数流程图
412 程序描述
loginjsp提供登录户名密码登陆类型三属性通loginForm采集数交loginAction进行登录信息验证根验证信息进入相应界面
try{
byte[] bufferlogintypegetBytes(ISO88591)中文处理
logintypenew String(bufferGBK)
}
catch(UnsupportedEncodingException e)
{eprintStackTrace()}
boolean bool rightDAOisLogin(username passwordlogintype)
if(bool){
if(logintypeequals(1))判断时权限类型登录超级理员
{PlublicStradministratorsuccess
}
else if(logintypeequals(2))理员
{
PlublicStradminsuccess
}
else if(logintypeequals(3))操作员
{
PlublicStroperatorsuccess
}
}
else果输入账号时非法账号页面进行提示
{
ActionMessages errors new ActionMessages()
requestgetSession()setAttribute(errors账号存没该登陆权限)
return (new ActionForward(mappinggetInput()))}
return mappingfindForward(PlublicStr)
42 授权理模块
图43 授权理界面
421 功说明
模块超级理员进行相关操作般户法进入该页面进行操作理员级户该超级理员进行授权产生授权理模块数流图44:
图44 授权理数流图
422 程序功描述
超级理员进入该模块查询理员信息进行理员信息编辑编辑添加删修改
添加理员信息前提保证数库中没该理员信息添加时候首先添加理员理员表中进行检查果存提示添加该理员信息修改理员信息作规定理员ID号时允许修改项目修改修改前复选框中选中利JavaScript代码控制选择理员信息进行修改删时候选择项选择理员进行删
43 系统设置模块
图 45 系统设置界面
431 功说明
理员进入该功界面进行停车场参数设置数流图46
图 46 停车场参数数流图
432 程序功描述
根理员输入停车场参数参数理员停车场参数进行初始化通查询停车场参数显示停车场参数信息
SystemsetForm systemsetForm (SystemsetForm) form
Parkparameter pp new Parkparameter()
ppsetParkname(systemsetFormgetParkname())
Systemoutprintln(systemsetFormgetParkname())
ppsetParktotal(IntegerparseInt(systemsetFormgetParktotal()))
ppsetEntertotal(IntegerparseInt(systemsetFormgetEntertotal()))
ppsetExittotal(IntegerparseInt(systemsetFormgetExittotal()))
ppsetParkadd(systemsetFormgetParkadd())
ppsetParktel(systemsetFormgetParktel())
ParkparameterDAO ppDao new ParkparameterDAO()
requestsetAttribute(parkparameter pp)
try{ppDaosave(pp)}catch(Exception e){eprintStackTrace()}
return mappingfindForward(systemsetsuccess)
44 操作员档案理模块
图47 操作员档案理界面
441 功说明
理员进入该界面查询操作员权限档案信息进行添加删修改数流程图48
图 48 操作员档案理数流程图
442 程序功描述
理员进入该模块查询操作员信息进行操作员信息编辑编辑添加删修改
添加操作员信息前提保证数库中没该操作员信息添加时候首先添加操作员操作员表中进行检查果存提示添加该操作员信息修改操作员信息作规定操作员ID号时允许修改项目修改修改前复选框中选中利JavaScript代码控制选择操作员信息进行修改删时候选择项选择操作员进行删
45 数理模块
图 49 数理交班记录界面
451 功说明
数理页面停车场数进行理场车辆理信息查询进出场数查询操作员收费金额信息查询操作员交班记录查询设计交班数表中数时候考虑该表中记录会班程中时发生变化系统中该表数关联模块中实现交班记录表数更新记录会出现页面进行分页显示实现停车场操作员综合理图410 数理流程图
图410 数理流程图
452 程序功描述
实现数库读数操作停车场日常理进行监理综合数信息便理者进行必商业决策事理等该分页设计思想符合条件数记录集取出然根记录总数页显示记录数进行分页
分页显示查询记录
int intPageSize页显示记录数
int intRowCount记录总数
int intPageCount总页数
int intPage显示页码
String strPage
int mpagecounter
int j1
intPageSize10设置页显示记录数
int lenintPageSize
Turn turn
strPagerequestgetParameter(page)取显示页码
if(strPagenull)表明QueryString中没page参数时显示第页数
{
intPage 1
}
else字符串转换成整型
{
intPage javalangIntegerparseInt(strPage)
}
if(intPage< 1)
{
intPage 1
}
获取记录总数
intRowCount turnlistsize()
记算总页数
intPageCount (intRowCount+intPageSize1) intPageSize
调整显示页码
if(intPage >intPageCount)
intPage intPageCount
if(intPageCount >0){
记录指针定位显示页第条记录
len(intPage1)*intPageSize
turnlistget((intPage1)*intPageSize)
turn(Turn)turnlistget((intPage1)*intPageSize)
显示数
}
m0
while(m< intPageSize && len{
turn(Turn)turnlistget(len)
len++
m++
>
<} >
20XX 届 毕 业 文(设计)
文(设计)题目
基WEB停车场理系统
设计实现
院系名称
计算机科学技术系
专业(班级)
计算机科学技术
2005级科班
姓名(学号)
指导教师
系负责
二O O九年X月X日
摘
着现代社会快速发展民生活水快速提高汽车数量飞速增加时停车问题越越受关注实现停车场进行效理结合停车场模式现状开发出停车场理系统
停车场理系统典型信息理系统停车场理系统设计功包括场车辆理台数库理中场车辆理分出入场理模块收费模块户理模块停车场参数停车场数理模块系统理模块等系统设计功实现方面阐述理系统软件开发程
系统采BS架构Tomcat60作运行服务器基J2EE标准JSP技术利Hibernate31Struts12框架作开发工具MyEclipse60开发环境数库采Microsoft SQL Server 2000开发程利MVC开发模式层次分明成功实现该系统试运行结果表明该系统具良性扩展性较高响应速度效率该系统符合实际停车场理系统停车场理供快速简单规范理台提高信息化程度降低力成着重意义
关键词:停车场理系统J2EEHibernate31Struts12
Abstract
With the rapid development of modern society people's living standards improve and the number of vehicles increases rapidly People pay more attention to parking problems at the same time In order to manage the parking lots more efficiently we have developed a Parking Management System with some modes and the actuality of present parking lots considered
Parking Management System is typically one of the information management systems The main functions in the Parking Management System include vehicle management and background database management and vehicle management is divided into the passing in and out module the charging module the user management module the parking parameters parking data management module and the system management module We discussed the management systems development process from the system design and function of the realization in the Papers
Tomcat60 as a running server is used in this system on the basis of BS structure Based on J2EE standards JSP technology as development tools which is taken advantage of Hibernate31 and Struts12 framework and MyEclipse60 as development environment are applied in the system Microsoft SQL Server 2000 is used as background database We develop the use of MVC pattern in development process Test results show that the system has good performance and scalability high response speed and efficiency which is in line with the actual park management system and can provide a fast simple and standardized management platform It is important to improve the information level and reduce labor costs
Key words parking management system J2EE Hibernate3x Struts12
目 录
摘 I
Abstract II
目 录 III
第章 绪 1
11 选题背景 1
12 相关技术 1
121 Struts技术 1
122 Hibernate 2
123 JSP(Java Server Pages)技术 2
124 J2EE 2
125 MVC 2
126 JavaScript技术 3
第二章 系统分析 4
21 系统分析 4
211 功需求分析 4
212 系统流程分析 5
22 技术行性分析 5
221 系统数模型层分析设计 6
222 系统视图层设计分析 6
223 系统控制层分析设计 6
第三章 系统总体设计 8
31 系统设计 8
311 总体设计 8
312 业务流程分析 8
312 系统功模块 9
313 系统模块设计 10
32 数库设计实现 10
321 数库需求分析 10
322 数库逻辑设计 11
323 数库实现脚 14
第四章 系统详细设计实现 18
41 登录模块 18
411 功说明 18
412 程序描述 19
42 授权理模块 19
421 功说明 20
422 程序功描述 20
43 系统设置模块 20
431 功说明 20
432 程序功描述 21
44 操作员档案理模块 21
441 功说明 21
442 程序功描述 22
45 数理模块 22
451 功说明 22
452 程序功描述 23
46 档案理 24
461 功说明 24
462 程序功描述 25
47 入场理模块 25
471 功说明 25
472 程序功描述 26
48 出场理 27
481 功说明 27
482 程序功描述 28
49 收费理模块 28
491 功说明 28
492 程序功描述 29
第五章 系统测试运行维护评价 30
51 测试概况测试例 30
511 添加户信息 30
52 系统维护 31
521 系统维护需求起目 31
522 系统维护容 31
523 系统维护工作考虑素 32
524 系统维护工作理 32
53 系统评价 32
结 33
参考文献 34
致谢 35
第章 绪
11 选题背景
年着国济快速发展生活水断提高物质需求生活方式发生着深刻变化前属奢侈品汽车逐步走入市民日常生活伴汽车消费众化种机动车辆范围迅速普车辆配套设施特停车场提出更高求停车速度零交通停车场附属相关设施静态交通重组成部分停车场收费理系统伴着公收费停车场新生事物诞生
目前数停车场存着问题理漏洞系统性独立性强收费程较繁琐劳动强度高停车场利率低票款易流失等针问题该停车场系统方面进行设计针理进行优化采划卡消费现金支付相结合系统计时计费采Java高级编程语言WEB相关技术开发设计理系统软件实现网络理操作优化系统方便服务高效收费透明防止票款流失提高性时提高操作者工作效率
12 相关技术
121 Struts技术
Struts英文建筑飞机中金属支架支持支撑含义时说明WEB设计中重作Struts基Sun J2EE台MVC框架StrutsServletJSP定义标签信息资源(Message Resources)整合统框架中开发员利进行开发时编码实现全套MVC模式极节省时间[4][11]
图 11 Struts工作原理
基Struts框架Web应程序客户端浏览器发出请求时请求会控制器截获调Web应启动时加载初始化核心控制器组件ActionServlet然通ActionServletStrutsconfigxml文件中读取预先设置配置信息存放配置象中控制器根配置文件中信息者选择合适Action象者直接选择合适View象返回浏览器Action象身没逻辑功控制器模型层间接口控制器通Action调匹配模型象模型象根执行结果选择合适View象返回浏览器控制器时整程序执行流程调度者Struts中基控制器组建ActionServlet类ActionServlet类包含控制信息程序调度信息需Strutsconfigxml配置文件中设置
122 Hibernate
Hibernate[2]目前流行ORM(ObjectRelational Mapper)连接Java象模型关系数库模型桥梁JDBC进行轻量级封装仅提供ORM映射服务提供数查询数缓查询功HibernateSQL操作完全封装成象化操作开发员方便通Hibernate访问数库
123 JSP(Java Server Pages)技术
JSP种动态网页技术标准种服务器端嵌入Java代码脚语言容生成显示分离生成重组件应标记简化页面开发具Java特点
124 J2EE
1 J2EE介绍
J2EE(Java 2 Platform Enterprise Edition)SUN公司定义开放式企业级应规范提供层次分布式应模型系列开发技术规范层次分布式应模型根功应逻辑分成层次层次支持相应服务器组件组件分布式服务器组件容器中运行Servlet组件Servlet容器运行EJB组件EJB容器运行容器间通相关协议进行通讯实现组件相互调遵规范开发者行业广泛支持企业级应开发变简单快速
2 构建系统J2EE开发工具
Java虚拟机:J2SDK16Java开发工具:MyEclipse60WEB服务器采:Tomcat 60环境配制程:安装J2SDK16MyEclipse60中选择新建J2EE Project>Web ProjectWeb Project中Add StrutsHibernate31
125 MVC
MVC英文全称ModelViewController应程序输入层业务处理层控制流程ViewModelController方式进行分离样应程序划分成相独立协工作3层视图层模型层控制层MVC设计模式中客户端WEB浏览器会提交种户请求请求控制器进行处理控制器根时间类型改变模型视图视图接受模型层发出数更新通知数更新结果调整视图效果呈现户模型通视图获户提交数进行具体业务逻辑处理
126 JavaScript技术
JavaScript语言前身LiveScript语言[5]美国Netscape(网景)公司布瑞登·艾克(Brendan Eich)1995年发布Navigator 20 浏览器应开发脚语言JavaScript种基象语言意味运已创建象系统JavaScript程序代码做客户端登陆验证页面选择控制
第二章 系统分析
21 系统分析
211 功需求分析
根停车场理系统需求确定该系统例图图21示
图21 停车场理系统例图
图21示该系统超级理员理员操作员三种角色角色基务述
超级理员具高权限系统权限操作权超级理员授权理员赋予理员应权限
理员根需维护角色信息授权相应操作员进行系统设置权限设置数理操作员档案理
操作员行理员权限行档案理(车辆档案卡档案理户档案理)入场理收费理出场理
根例图部分类图图 22
图 22 类图
212 系统流程分析
停车场理系统分入场停车出场取车两部分图23示
图 23 系统流程图
1入场停车流程
(1)入场
根系统提示停车场现信息控制车辆入场停车场车位情况方停车
(2)卡审核
审核户卡类型判断卡效性
(3)停车
指定停车位置提示户
2出场取车流程
(1)出场审核
卡审核卡车辆匹配审核
(2)收费
根车辆信息卡类型停车时间等收费标准计算收费额度实施收费环节
(3)出场
交费出场相关信息提示完成停车理程
22 技术行性分析
停车场理系统设计中MVC(ModelViewControl)分层设计模式贯穿整设计流程系统开发框架采Struts12 +Hibernate31组合结构
l 模型层
模型层包括数逻辑业务逻辑 系统中Hibernate提供处理数持久化JavaBean业务逻辑Service封装
l 视图层
系统采JSP实现视图层
l 控制层
采Struts技术处理前台请求Service业务逻辑调
221 系统数模型层分析设计
MVC设计模式中M(Model)包括数逻辑业务逻辑
l 数逻辑
数逻辑作Model层面中组成部分设计优劣会系统整体性表现产生关重影响
Hibernate提供强高性象关系型数库持久化服务利HibernateJava基础定义进行持久化层开发Hibernate象关系型数库间构建条快速高效便捷沟通渠道系统中数库增加修改删查询操作通Hibernate数表进行相应操作
l 业务逻辑
业务逻辑业务系统实现组成部分业务逻辑层负责方面实现
(1)理应业务逻辑业务校验添加数时数表中没该项记录允许添加
(2)理业务级象间赖性
(3)理层进行交互接口
(4)事物代理数库插入删时调事物处理物理执行数表更新操作
(5)错误理
222 系统视图层设计分析
MVC设计模式中V(View)视图层(表现层)系统采JSP技术实现系统页面通技术实现
223 系统控制层分析设计
MVC设计模式中C(Control)控制层采Struts框架技术实现控制层控制层需负责功:
(1) 接受客户端HTTP请求
(2) 调M层模型组件执行相应业务逻辑
(3) 获M层业务逻辑处理结果
(4) 根处理结果选择合适视图层呈现客户端
第三章 系统总体设计
31 系统设计
311 总体设计
首先判断登录身份进入相应操作页面通需操作终完成目操作功系统UML活动图图31示
关系数库程序控制
图31 UML活动图
312 业务流程分析
系统者停车场工作员便理鉴现停车场理模式划分成三角色户工作员首先登陆系统系列身份验证登陆成功进入相应操作界面实现理功总体功分析业务流程图图 32业务流程图
图32 业务流程图
中模块应添加修改删功
312 系统功模块
图 33 系统功模块划分
图 33 系统功模块划分
313 系统模块设计
(1)授权理模块 具高理权限超级理员该模块进行操作理员进行授权添加删修改理员
(2)系统设置 超级理员授权理员行该功停车场参数进行设置
(3)操作员档案理 理员行改功停车场业务操作员进行理添加删修改操作员信息
(4)数理模块 该模块显示停车场日常运行产生数场车辆进出数收费金额交班记录相关信息
(5)档案理 该部分功操作员停车场发放卡进行理车档案理停车场顾客信息档案理添加删改修改功
(6)入场理 该模块系统重功模块采集汽车入场时候必参数参数进行处理判断获参数提交台进行相关处理
(7)出场理 汽车离场前进行离场验证停车时间数收集收费模块提供数
(8)收费理 该模块系统重模块根出入场提供参数结合该模块收费标准设置计算出收费金额完成收费印出收费清单
32 数库设计实现
321 数库需求分析
数库设计ER图图 34系统数库ER图制定收费标准卡类型收费标准(时收费次收费)确定停车场顾客户唯条卡信息车信息绑定停车场总车位数决定车位表总车位车位存放部车收费根时入场时信息出场时信息收费标准综合出交班记录记该员工工作时间操作记录班时间段时间操作
图 34 系统数库ER图
根系统需求系统需设计13张表
(1) 卡信息表:存放卡相关信息
(2) 停车场参数表:存放停车场基参数
(3) 户表:存放户基信息
(4) 车信息表:存放车基信息
(5) 权限表:存放应权限信息应行该权限员相关信息
(6) 时收费表:存放时收费时间段
(7) 次收费表:存放次收费时间段
(8) 入场表:存放入场时候信息
(9) 出场表:存放出场时相关信息
(10) 交班表:存放操作员交接班相关信息
(11) 收费表:存放停车段时间收费信息
(12) 车位表:存放车位停车状态
(13) 收费标准表:存放收费统标准
322 数库逻辑设计
面出表详细结构
表31 卡信息表
字段名
描述
类型
长度
否空
否键
id
增
int
4
否
cardid
卡编号
varchar
20
否
cardno
卡号
varchar
20
否
cardtype
卡类型
varchar
20
否
cardmoney
余额
money
8
否
sendtime
发卡时间
datetime
8
否
activetime
效时间
datetime
8
否
sendflag
已发
tinyint
1
否
loseflag
挂失
tinyint
1
否
表32 停车场参数表
字段名
描述
类型
长度
否空
否键
id
增
int
4
否
parkname
停车场名字
varchar
20
否
parktotal
总车位
int
4
否
entertotal
入口车道数
int
4
否
exittotal
出口车道数
int
4
否
parktel
停车场电话
varchar
20
否
parkadd
停车场址
varchar
20
否
表33 户表
字段名
描述
类型
长度
否空
否键
id
编号
varchar
20
否
name
户名
varchar
20
否
sex
性
char
2
否
tel
电话
varchar
20
否
cardno
卡号
varchar
20
否
carno
车牌
varchar
20
否
address
址
varchar
20
否
表34 车信息表
字段名
描述
类型
长度
否空
否键
id
增
int
4
否
carid
编号
varchar
20
否
carno
车牌号
varchar
20
否
cartype
车类型
varchar
20
否
表35 权限表
字段名
描述
类型
长度
否空
否键
id
增
int
4
否
poperatorid
编号
varchar
20
否
poperatorname
姓名
varchar
20
否
poperatorsex
性
char
10
否
poperatorpsw
密码
varchar
20
否
poperatorright
权限
varchar
20
否
表36时收费表
字段名
描述
类型
长度
否空
否键
id
增
int
4
否
timeno
时间号
int
4
否
starttime
开始时间
char
10
否
endtime
结束时间
char
20
否
表37 次收费表
字段名
描述
类型
长度
否空
否键
id
增
int
4
否
times_no
时间号
int
4
否
starttime
开始时间
char
10
否
endtime
结束时间
char
10
否
表38 入场表
字段名
描述
类型
长度
否空
否键
id
增
int
4
否
encardid
入场编号
varchar
20
否
否
encardno
卡号
varchar
20
否
encarno
车牌
varchar
20
否
enway
入场车道
varchar
20
否
entime
入场时间
datetime
8
否
enposition
指定车位
varchar
20
否
表39 出场表
字段名
描述
类型
长度
否空
否键
id
增
int
4
否
exited
出场编号
varchar
20
否
否
excardno
卡号
varchar
20
否
excarno
车牌
varchar
20
否
exway
出场车道
varchar
20
否
extime
出场时间
datetime
8
否
表310 交班表
字段名
描述
类型
长度
否空
否键
id
增
int
4
否
tnoperator
操作员
varchar
20
否
否
tnlogintime
登录时间
datetime
8
否
tnturntime
交班时间
datetime
8
否
entimes
进场次数
int
4
否
extimes
出场次数
int
4
否
totalmoney
金额总计
money
8
否
表311 收费表
字段名
描述
类型
长度
否空
否键
id
增
int
4
否
chargeid
收费编号
varchar
20
否
否
chcardno
卡号
varchar
20
否
chcarno
车牌
varchar
20
否
chmoney
收费金额
money
8
否
表312 车位表
字段名
描述
类型
长度
否空
否键
id
增
int
4
否
cpcarno
车牌
varchar
20
否
positionstate
车位状态
varchar
20
否
表313 收费标准表
字段名
描述
类型
长度
否空
否键
id
增
int
4
否
chargestid
标准编号
int
4
否
cardtype
卡类型
varchar
20
否
cartype
车类型
varchar
20
否
chargetype
收费类型
varchar
20
否
timeno
时间编号
int
4
否
unittime
单位时间
int
4
否
unitsum
单位金额
int
4
否
mostsum
金额
int
4
否
323 数库实现脚
1 卡信息表
CREATE TABLE [dbo][pcard] (
[id] [int] IDENTITY (1 1) NOT NULL
[cardid] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL
[cardno] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[cardtype] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[cardmoney] [money] NULL
[sendtime] [datetime] NULL
[activetime] [datetime] NULL
[sendflag] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL
[loseflag] [varchar] (10) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
2 停车场参数表
CREATE TABLE [dbo][parkparameter] (
[id] [int] IDENTITY (1 1) NOT NULL
[parkname] [varchar] (50) COLLATE Chinese_PRC_CI_AS NOT NULL
[parktotal] [int] NULL
[entertotal] [int] NULL
[exittotal] [int] NULL
[parkadd] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL
[parktel] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
3 户表
CREATE TABLE [dbo][users] (
[id] [int] IDENTITY (1 1) NOT NULL
[userid] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL
[username] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[usersex] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[usertel] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[u_carid] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[u_cardid] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[useradd] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
4 车信息表
CREATE TABLE [dbo][car] (
[id] [int] IDENTITY (1 1) NOT NULL
[carid] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL
[carno] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[cartype] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
5 权限表
CREATE TABLE [dbo][rateright] (
[id] [int] IDENTITY (1 1) NOT NULL
[poperatorid] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL
[poperatorname] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[poperatorsex] [char] (10) COLLATE Chinese_PRC_CI_AS NULL
[poperatorright] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[poperatorpsw] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
6 时收费表
CREATE TABLE [dbo][ptime] (
[id] [int] IDENTITY (1 1) NOT NULL
[timeno] [int] NOT NULL
[timestart] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL
[timeend] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
7 次收费表
CREATE TABLE [dbo][ptimes] (
[id] [int] IDENTITY (1 1) NOT NULL
[timesno] [int] NOT NULL
[timesstart] [char] (8) COLLATE Chinese_PRC_CI_AS NULL
[timesend] [char] (8) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
8 入场表
CREATE TABLE [dbo][entrance] (
[id] [int] IDENTITY (1 1) NOT NULL
[encardno] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL
[encardtype] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[encarno] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[encartype] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[enway] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[entime] [datetime] NULL
[enposition] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[enchargetype] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL
[enoperator] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
9 出场表
CREATE TABLE [dbo][pexit] (
[id] [int] IDENTITY (1 1) NOT NULL
[excardno] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL
[excarno] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[exway] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[extime] [datetime] NULL
) ON [PRIMARY]
10 交班表
CREATE TABLE [dbo][turn] (
[id] [int] IDENTITY (1 1) NOT NULL
[tnoperator] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL
[tnlogintime] [datetime] NULL
[tnturntime] [datetime] NULL
[entimes] [int] NULL
[extimes] [int] NULL
[totalmoney] [money] NULL
) ON [PRIMARY]
11 收费表
CREATE TABLE [dbo][charge] (
[id] [int] IDENTITY (1 1) NOT NULL
[cardid] [varchar] (20) COLLATE Chinese_PRC_CI_AS NOT NULL
[cardtype] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[cartype] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[carno] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL
[money] [money] NULL
) ON [PRIMARY]
12 车位表
CREATE TABLE [dbo][carposition] (
[id] [int] IDENTITY (1 1) NOT NULL
[cpcarno] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[positionstate] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
13 收费标准表
CREATE TABLE [dbo][standardcharge] (
[id] [int] IDENTITY (1 1) NOT NULL
[chargestid] [int] NOT NULL
[cardtype] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[cartype] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[chargetype] [varchar] (20) COLLATE Chinese_PRC_CI_AS NULL
[timeno] [int] NULL
[unittime] [int] NULL
[unitsum] [int] NULL
[mostsum] [int] NULL
) ON [PRIMARY]
第四章 系统详细设计实现
41 登录模块
图41 登录界面图
411 功说明
登陆页面需户名密码户登录类型分超级理员理员操作员登录类型中进行区进入根理级行功登陆时进行验证首先进行页面级验证输入信息户名密码空次进行数库验证系统中没该理员信息时错误信息抛出页面提示户出错原户已登录时账号密码登陆该系统定程度提高系统安全性
数流图图42示
图42 登录模块数流程图
412 程序描述
loginjsp提供登录户名密码登陆类型三属性通loginForm采集数交loginAction进行登录信息验证根验证信息进入相应界面
try{
byte[] bufferlogintypegetBytes(ISO88591)中文处理
logintypenew String(bufferGBK)
}
catch(UnsupportedEncodingException e)
{eprintStackTrace()}
boolean bool rightDAOisLogin(username passwordlogintype)
if(bool){
if(logintypeequals(1))判断时权限类型登录超级理员
{PlublicStradministratorsuccess
}
else if(logintypeequals(2))理员
{
PlublicStradminsuccess
}
else if(logintypeequals(3))操作员
{
PlublicStroperatorsuccess
}
}
else果输入账号时非法账号页面进行提示
{
ActionMessages errors new ActionMessages()
requestgetSession()setAttribute(errors账号存没该登陆权限)
return (new ActionForward(mappinggetInput()))}
return mappingfindForward(PlublicStr)
42 授权理模块
图43 授权理界面
421 功说明
模块超级理员进行相关操作般户法进入该页面进行操作理员级户该超级理员进行授权产生授权理模块数流图44:
图44 授权理数流图
422 程序功描述
超级理员进入该模块查询理员信息进行理员信息编辑编辑添加删修改
添加理员信息前提保证数库中没该理员信息添加时候首先添加理员理员表中进行检查果存提示添加该理员信息修改理员信息作规定理员ID号时允许修改项目修改修改前复选框中选中利JavaScript代码控制选择理员信息进行修改删时候选择项选择理员进行删
43 系统设置模块
图 45 系统设置界面
431 功说明
理员进入该功界面进行停车场参数设置数流图46
图 46 停车场参数数流图
432 程序功描述
根理员输入停车场参数参数理员停车场参数进行初始化通查询停车场参数显示停车场参数信息
SystemsetForm systemsetForm (SystemsetForm) form
Parkparameter pp new Parkparameter()
ppsetParkname(systemsetFormgetParkname())
Systemoutprintln(systemsetFormgetParkname())
ppsetParktotal(IntegerparseInt(systemsetFormgetParktotal()))
ppsetEntertotal(IntegerparseInt(systemsetFormgetEntertotal()))
ppsetExittotal(IntegerparseInt(systemsetFormgetExittotal()))
ppsetParkadd(systemsetFormgetParkadd())
ppsetParktel(systemsetFormgetParktel())
ParkparameterDAO ppDao new ParkparameterDAO()
requestsetAttribute(parkparameter pp)
try{ppDaosave(pp)}catch(Exception e){eprintStackTrace()}
return mappingfindForward(systemsetsuccess)
44 操作员档案理模块
图47 操作员档案理界面
441 功说明
理员进入该界面查询操作员权限档案信息进行添加删修改数流程图48
图 48 操作员档案理数流程图
442 程序功描述
理员进入该模块查询操作员信息进行操作员信息编辑编辑添加删修改
添加操作员信息前提保证数库中没该操作员信息添加时候首先添加操作员操作员表中进行检查果存提示添加该操作员信息修改操作员信息作规定操作员ID号时允许修改项目修改修改前复选框中选中利JavaScript代码控制选择操作员信息进行修改删时候选择项选择操作员进行删
45 数理模块
图 49 数理交班记录界面
451 功说明
数理页面停车场数进行理场车辆理信息查询进出场数查询操作员收费金额信息查询操作员交班记录查询设计交班数表中数时候考虑该表中记录会班程中时发生变化系统中该表数关联模块中实现交班记录表数更新记录会出现页面进行分页显示实现停车场操作员综合理图410 数理流程图
图410 数理流程图
452 程序功描述
实现数库读数操作停车场日常理进行监理综合数信息便理者进行必商业决策事理等该分页设计思想符合条件数记录集取出然根记录总数页显示记录数进行分页
分页显示查询记录
int intPageSize页显示记录数
int intRowCount记录总数
int intPageCount总页数
int intPage显示页码
String strPage
int mpagecounter
int j1
intPageSize10设置页显示记录数
int lenintPageSize
Turn turn
strPagerequestgetParameter(page)取显示页码
if(strPagenull)表明QueryString中没page参数时显示第页数
{
intPage 1
}
else字符串转换成整型
{
intPage javalangIntegerparseInt(strPage)
}
if(intPage< 1)
{
intPage 1
}
获取记录总数
intRowCount turnlistsize()
记算总页数
intPageCount (intRowCount+intPageSize1) intPageSize
调整显示页码
if(intPage >intPageCount)
intPage intPageCount
if(intPageCount >0){
记录指针定位显示页第条记录
len(intPage1)*intPageSize
turnlistget((intPage1)*intPageSize)
turn(Turn)turnlistget((intPage1)*intPageSize)
显示数
}
m0
while(m< intPageSize && len
turn(Turn)turnlistget(len)
len++
m++
>
<} >