javaweb课程设计文档.docx
- 文档编号:27625050
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:35
- 大小:1.15MB
javaweb课程设计文档.docx
《javaweb课程设计文档.docx》由会员分享,可在线阅读,更多相关《javaweb课程设计文档.docx(35页珍藏版)》请在冰豆网上搜索。
javaweb课程设计文档
停车场管理系统的设计与实现
邓润虎
(学院计算机系,253023)
摘要:
随着中国物流业的不断发展,物流运输行业成为推动国民经济快速发展必不可少的基础产业。
物流停车场管理系统已经成为中国物流中心管理调度部门急需的工具。
本文所实现的停车场管理系统是基于STRUTS+Hibernate框架为软件架构的,系统实现采用MVC模式,降低了后期系统的维护和整合成本,同时系统预留了丰富的功能扩展空间,可进行了二次开发。
同时本文对STRUTS和Hibernate的研究具有很大的理论和运用价值。
停车场管理系统不仅给人们的生活带来了很大的便利,而且对社会秩序和安定有着重要的意义。
不仅提高了现代人们的工作效率,也大大的节约了人力物力,降低了社会成本,节省了资源,而且安全可靠。
关键字:
停车场;车辆调度;MyEclipse;ApacheTomcat
1引言
随着商品经济的迅速发展,人们生活水平的提高,车辆是人们生活工作必需的交通工具。
城市由于车辆的增加造成的交通拥挤甚至混乱给人们的生活带来极大的不便;昔日街头巷尾、路边草地都可以成为车辆的落脚点,车辆停放不当,不仅大大影响交通秩序,而且对物业环境、人身财产安全造成了重大损失;并且如今,人们对生活环境和楼宇系统的科学化、规化要求越来越高,随便停车再也不被允许;所以,管理高效、安全合理、快捷方便的停车场便应运而生。
停车场是指由专人管理,供车辆停放,实行有偿服务的场所。
由于它是由英语“Park”引译而来的,所以,许多停车场都以“P”作牌示标志。
车辆的密集行使已成为当今世界的一大景观,停车管理随之被日益提到重要日程。
因此,这就迫使人们去寻找高技术的有效手段去解决以上种种不便。
停车场管理系统即是顺应这一时代需求的高技术产物。
停车场管理系统不仅可以有效地解决乱停乱放造成的交通混乱,而且可以促进交通设施的正规化建设,保障人身、财产安全;同时也有效防止车辆被偷、被盗、被毁造成的经济财产损失。
尽可能地减少车主失车被盗的忧虑。
另外,在技术方面,具有很好的开放性,易于与其它智能化系统组合成更强大的综合系统,顺应各种综合方式的高级管理。
本系统是在MyEclipse集成开发环境开发、编译和运行,后台数据库使用Oracle10g,使用ApacheTomcat6作为服务器,系统开发首先进行了系统需求分析和系统可行性分析,确定了项目详细开发方案,然后根据需求分析设计数据库表,在表设计好后,进入代码编写,其中代码的整体结构采用了MVC模式,采用白盒和黑盒测试方式对系统进行了测试,最后是系统的运行、维护。
论文的基本结构:
引言主要介绍本文的写作目的,系统开发环境和系统开发的基本流程,论文的结构。
第一章停车场管理系统的需求分析,分别介绍了系统的需求分析和系统的可行性分析。
第二章停车场管理系统的相关技术的介绍,主要对STRUTS框架、Hibernate、Java和系统开发环境进行了介绍。
第三章停车场管理系统的系统设计,本章详细的讲述系统的模型分析、子模块的分析和系统各层的设计。
第四章停车场管理系统的设计与实现,这一章描述数据库的设计,每个子模块的功能实现。
第五章运行与测试,主要容是如何使用黑盒和白盒测试方法对本系统进行测试,并对测试结果进行分析和总结。
第六章总结和展望,在这一章我总结了我在本次毕业设计过程中体会和收获。
2停车场管理系统的需求分析
2.1可行性分析
可行性研究是系统开发阶段的第二项活动。
它是对系统进行全面、概要的分析。
从技术、经济和运行三个方面对停车场管理系统可行性进行分析,从而为确定项目开发决策提供科学依据。
2.1.1技术可行性
本系统使用MyEclipse集成开发环境,采用STRUTS+Hibernate技术,服务器使用ApacheTomcat6,这些工具只需从相关下载安装就可以使用,具备了开发Web平台系统的基本条件,为系统的顺利开发提供了有力的技术条件。
2.1.2经济可行性
开发本系统所使用的工具和资源都是免费开源,系统开发投资相对较小,若开发成功本系统,它所带来的效益将远高于系统投入。
2.1.3运行可行性
系统采用B/S架构,保持了客户端的优点。
装入客户机的软件可以采用统一的WWW浏览器。
而且由于WWW浏览器和网络综合服务器都是基于工业标准,WWW浏览器在个人计算机都已存在,可以在所有的平台上工作。
通过以上的研究和分析,认为系统开发所产生的效益将大于投入,所以开发本系统。
2.2系统需求分析
随着经济的日益增长,信息化时代已经到来,生活中各种信息趋向数字化、清晰化,同时各地区的车辆数量增长迅速,由此各地的车辆管理所需要保管的机动车档案资料增加迅速,随着档案资料的增加,工作人员劳动强度增大,档案资料的存储、查询等工作与办公高效率的要求矛盾日渐突出,本系统发挥计算机的庞大的存储空间,高性能的处理能力,高度可靠的数据安全,清晰的可视化数据等这些优势来辅助管理人员对车辆进行管理和调度,实现了计算机资源的合理利用,真正实现了减少劳动力提高劳动质量的目的。
伴随着时代的变迁,全球社会经济进入了高速发展阶段,对汽车的需求量也在不断增加。
公司企业过去仅仅依靠人工管理车辆,效率低下、管理漏洞很多,因此有必要使用一个完整的车辆管理信息系统来管理复杂的各种车辆信息数据,以满足车辆管理系统化、规化、自动化的需求。
目前,在国外,停车场管理系统在很多公司和企业包括小区都得到了很广泛的普与。
所以,停车场管理系统在国和国外都有很明朗的发展前景和深远的社会意义!
2.3系统运行的环境需求
经多次测试确定了本系统基本运行环境:
pentiumIII2.0以上的CPU,512M以上的存,10G以上的可用磁盘空间,Windows/Linux操作系统都可运行该系统。
目前大多数个人计算机系统都能支持停车场管理系统的正常运行。
3实现停车场管理系统的相关信息介绍
3.1系统开发环境简介
系统开发环境Windows/Linux操作系统、MyEclipse和Tomcat服务器。
Linux系统是一个开源的操作系统,并且提供了对操作系统、数据库、服务器、动态网页的一整套架设支持,系统的稳定性好支持多用户,它也是现时提供务供应商最常使用的平台。
MyEclipse和Tomcat也是开源的应用软件,而Myeclipse是在Eclipse之上架构起来的,拥有超强的可拔插性,可剪裁性,能完成很多功能,并且集成了很多开发工具,在系统卡发时无需另外导包就可以直接自动导入,从而提高了系统开发效率。
3.2相关技术简介
3.2.1Hibernate
在今日的企事业环境中,把面向对象的软件和关系数据库一起使用可能是相当麻烦、浪费时间的。
Hibernate是一个面向Java环境的对象/关系数据库映射工具。
对象/关系数据库映射(object/relationalmapping(ORM))这个术语表示一种技术,用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去。
Hibernate不仅仅管理Java类到数据库表的映射(包括Java数据类型到SQL数据类型的映射),还提供数据查询和获取数据的方法,可以大幅度减少开发时人工使用SQL和JDBC处理数据的时间。
Hibernate的目标是对于开发者通常的数据持久化相关的编程任务,解放其中的95%。
对于以数据为中心的程序来说,它们往往只在数据库中使用存储过程来实现商业逻辑,Hibernate可能不是最好的解决方案;对于那些在基于Java的中间层应用中,它们实现面向对象的业务模型和商业逻辑的应用,Hibernate是最有用的。
不管怎样,Hibernate一定可以帮助用户消除或者包装那些针对特定厂商的SQL代码,并且帮用户把结果集从表格式的表示形式转换到一系列的对象去。
图1Hibernate体系结构概览图
下面是图中一些对象的定义:
SessionFactory:
对属于单一数据库的编译过的映射文件的一个线程安全的,不可变的缓存快照。
它是Session的工厂,是ConnectionProvider的客户。
可能持有一个可选的(第二级)数据缓存,可以在进程级别或集群级别保存可以在事物中重用的数据。
可能持有事务之间重用的数据的缓存。
Session(会话):
单线程,生命期短促的对象,代表应用程序和持久化层之间的一次对话。
封装了一个JDBC连接。
也是Transaction的工厂。
保存要有必需的(第一级)持久化对象的缓存,用于遍历对象图,或者通过标识符查找对象。
持有持久化对象的缓存。
持久化对象(PersistentObject)与其集合(Collection):
生命期短促的单线程的对象,包含了持久状态和商业功能。
它们可能是普通的JavaBeans/POJOS,唯一特别的是他们现在从属于且仅从属于一个Session。
一旦Session被关闭,他们都将从Session中取消联系,可以在任何程序层自由使用(比如,直接作为传送到表现层的DTO,数据传输对象)。
临时对象(TransientObject)与其集合(Collection):
目前没有从属于一个Session的持久化类的实例。
他们可能是刚刚被程序实例化,还没来得与被持久化,或者是被一个已经关闭的Session所实例化。
事务(Transaction):
(可选)单线程,生命期短促的对象,应用程序用它来表示一批工作的原子操作。
是底层的JDBC,JTA或者CORBA事务的抽象。
一个Session某些情况下可以跨越多个Transaction事务。
ConnectionProvider:
(可选)JDBC连接的工厂和池。
从底层的Datasource或者DriverManager抽象而来。
对应用程序不可见,但可以被开发者扩展/实现。
TransactionFactory:
(可选)事务实例的工厂。
对应用程序不可见,但可以被开发者扩展/实现。
3.2.2STRUTS
STRUTS是一个技术框架,有很多组织和个人参与STRUTS框架的开发,使得STRUTS保持高速成长,同时,利用STRUTS开发的应用越来越多,使其成为Web应用MVC模式中VC部分上的标准。
STRUTS有一组相互协作的类、Serlvet以与JSPTagLib组成。
基于STRUTS构架的Web应用程序基本上符合JSPModel2的设计标准,可以说是MVC设计模式的一种变化类型。
但STRUTS也包含了丰富的标记库和独立于该框架工作的实用程序类。
STRUTS有其自己的控制器(Controller),同时整合了其他的一些技术去实现模型层(Model)和视图层(View)。
在模型层,STRUTS可以很容易的与数据访问技术相结合,包括E,JDBC和ObjectRelationBridge。
在视图层,STRUTS能够与JSP,VelocityTemplates,XSL等等这些表示层组件相互结合。
图2STRUTS体系流程图
视图角度(View)来说,STRUTS提供了Java类org.apache.STRUTS.action.ActionForm,Java开发者将该类细分来创建表单bean。
在运行时,该bean有两种用法:
(1)当JSP准备相关的HTML,表单以进行显示时,JSP将访问该bean(它保存要放表单中的值)。
那些值是从业务逻辑或者是从先前的用户输入来提供的。
(2)当从Web浏览器中返回用户输入时,该bean将验证并保存该输入以供业务逻辑或(如果验证失败的话)后续重新显示使用。
另外STRUTS提供了许多定制JSP标记,它们的使用简单,可功能非常强大。
不仅避免了在JSP页面中嵌入大量的脚本语言,而且提高了开发效率。
例如,除了bean名称和给定bean中每个段的名称之外,页面设计者不需要知道有关表单bean的更多信息。
从模型角度(Model)来说,STRUTS虽然不直接有助于模型开发。
在STRUTS中,系统模型的状态主要由ActiomFormBean和值对象体现。
从控制器角度(Controller)来说,在STRUTSFramework中,Controller主要是ActionServlet,但是对于业务逻辑的操作则主要由Action、ActionMapping、ActionForward这几个组件协调完成(也许这几个组件,应该划分到模型中的业务逻辑一块)。
其中,Action扮演了真正的控制逻辑的实现者,而ActionMapping和ActionForward则指定了不同业务逻辑或流程的运行方向。
3.3MVC模式简介
MVC是一种设计模式,它强制性地把应用程序的数据展示、数据处理和流程控制分开。
MVC把应用程序分成3个核心模块:
模型、视图和控制器,它们分别担当不同的任务。
图3显示了几个模块各自的功能与它们的相互关系。
图3MVC设计模式
视图:
视图是用户看到并与之交互的界面,视图向用户显示相关的数据,并能接收用户的输入数据,但是它并不进行任何实际的业务处理。
视图可以向模型查询业务状态,但不能改变模型,视图还能接受模型发出的数据更新事件,从而对用户界面进行同步更新。
模型:
模型是应用程序的主体部分。
模型表示业务数据和业务逻辑,一个模型能为多个视图提供数据。
由于同一个模型可以被多个视图重用,所以提高了模型的可重用性。
控制器:
控制器负责应用的流程控制。
所谓流程控制,是指接受用户的输入并调用相应的模型和视图去完成用户的需求。
当Web用户单击Web页面中的[提交]按钮来发送HTML表单时,控制器会接受请求并调用相应的模型组件去处理请求,然后再调用相应的视图来显示模型返回的数据。
4停车场管理系统的系统设计
4.1车辆调度模型设计
停车场管理问题可以描述为:
在一个存在供求关系的系统中,有若干个停车区,若干台车辆、一个调度中心和若干个调度员,要求合理安排车辆和出行时间,从而在给定的约束条件下,让车辆合理出行和停放。
主要组成元素:
停车场管理系统问题主要包括客户、用户、车辆、车辆调度、报表统计等要素。
(1)客户:
客户是消费者;客户泊车时进行泊车登记,出车时进行出车登记。
客户的属性主要包括:
、、联系、车牌号等;客户在出车时得缴纳停车费用。
(2)用户:
从管理角度来讲,用户是对车辆进行管理和调度的。
用户的属性主要包括:
、、年龄、性别、联系、详细地址等;每个用户的权限不同,所处理的业务就不同。
(3)车辆:
车辆是货物的运载工具。
其主要属性包括:
车辆的车辆、类型、装载量、司机(泊车登记人可是司机也可是客户)、车辆状况等属性。
(4)车辆调度:
根据系统设置权限的不同,调度人员可分为系统管理员和普通的调度人员。
普通的调度人员只能根据调度中心接到客户的需求,审查核实后,处理业务。
当车辆驶入停车场时,登记车辆的车主、车牌、车辆类型、载重量等,然后根据该车辆的条件分配该车辆的停车区和停车位,对停车区和停车位进行登记以便出车查询登记;当车辆驶出停车场时,根据泊车登记查询出要出车的车辆信息,计算车停车费用,客户缴纳停车费用后才可将车驶出停车场。
(5)统计报表:
根据系统业务、运作情况,将所有的业务明细以表格形式统计并打印出来,便于查询和预算。
4.2系统设计
系统分析采用目前国外较为流行的面向对象系统分析技术进行,其静态架构由对象层、结构层、主题层和属性层构成。
最后,给出由静态架构反射出来的用例视图,用于表示系统功能的高层逻辑模型。
本系统的空间定义如下:
停车场管理系统={客户,用户,车辆,申请记录,出车记录,回车记录}。
4.2.1主题层设计
系统主题层定义如下:
图4系统主题层定义
该系统以实现对用户需求进行车辆调度为核心的两层系统结构。
两层系统结构如下:
(1)以客户需求为对象构成底层基本信息。
(2)以对客户需求进行车辆调度核心层。
4.2.2系统功能设计
系统功能分为四大模块,四大模块分别为用户注册登陆、基础档案、车辆调度和统计报表,其中基础档案中的权限管理只有管理员才有访问权限,各个模块实现功能图5所示:
图5系统功能图
4.2.3系统用例图
图6系统用例图
其中:
系统用例包括:
(1)用户注册登陆
(2)基础档案管理
(3)车辆调度
(4)统计报表
用户注册、登陆属于系统外部项:
(1)用户:
系统用户注册和用户信息的修改。
(2)密码:
当注册用户忘记密码时,可以通过密码提示问题和答案获得新密码。
4.2.4系统时序图
本系统中各层所涉与到的主要对象的生命周期,以与这些对象在系统中的活动顺序和相互作用关系如图7所示:
图7系统时序图
4.3数据库设计
停车场管理系统根据需求分析设计客户、用户、车辆、申请记录、泊车记录和出车记录6个类,每一个类对应于数据库中的一个表,所以根据类的属性在数据库中设计了6个表,这些表之间的相互关系如图8所示:
图8系统ER图
5停车场管理系统的设计与实现
5.1系统详细设计
系统设计采用目前国外较为流行的面向对象系统设计进行,其容包括数据库管理设计、任务管理设计和人机交互设计。
5.1.1数据库管理设计
系统数据采用广为流行的关系数据库管理系统(RDBMS)对其进行管理,对象模型向关系模型转换的基本原则:
(1)一个主题对应一个数据库;
(2)一个类对应一个表;
(3)一个实例对应一个记录;
(4)一个属性对应一个字段。
由于停车场管理系统是一个以调度车辆为核心的管理系统。
因此,在该系统中只需要建立一个数据库。
关系数据库在理论上存在两个不可能解决的问题:
删除异常和更新异常。
为了解决这两个问题,在进行表设计时,采用Hibernate来解决对象的增、删、改、查操作。
对象的基本操作包括:
编辑、浏览和查询,对于系统中的各个对象,设计包括表,用于支持对象的持久化和编辑操作。
系统数据字典设计如下:
(1)motorcar:
记录车辆的详细信息
表1车辆数据字典表
字段名
字段类型
约束或索引
描述
ID
Number(Sequence)
PK
记录流水号
Carnumber
Varchar2(20)
notnull
车牌
cartype
Varchar2(10)
notnull
车辆类型(大小中型)
Capacity
number
notnull
车辆最大负载量
Driverid
number
Fk
驾驶员的id信息
Registerdate
Date
notnull
车辆的登记日期
status
Varchar2
(1)
default=待命
车辆状况
Descripe
varchar2(100)
备注
(2)user:
记录调度人员的个人信息和操作权限
表2用户数据字典表
字段名
字段类型
约束或索引
描述
Id
Number(Sequence)
PK
记录操作人员编号
NickName
Varchar2(20)
NotNull
操作人员登录的昵称
Password
Varchar2(20)
NotNull
登录的密码
Name
Varchar2(20)
NotNull
用户的真实
Dentitycard
Number
NotNull
号
PasswordQuestion
Varchar2(200)
NotNull
密码提示问题
PasswordAnswer
Varchar2(200)
NotNull
密码提示问题答案
Gender
Varchar2
(1)
NotNull
性别(0男或1女)
Address
Varchar2(200)
地址
Phone
Varchar2(50)
联系
Age
Number
年龄
power
Number
Default=0
2为超级管理员,1为调度员,0为一般用户
IsOnline
Number
Default=0
在线状态
icon
varchar2
等级路径
(3)driver:
驾驶人员(客户)信息表
表3员工数据字典表
字段名
字段类型
约束或索引
描述
ID
Number(Sequence)
PK
驾驶员(客户)编号
name
Varchar2(20)
NotNull
驾驶员真实
Gender
Varchar2
(1)
NotNull
性别,’男’或’女’
Age
Number
NotNull
年龄
educationlevel
varhcar2(10)
NotNull
文化程度
position
varhcar2(10)
公司职务
licensenum
varchar2(20)
uniquenotnull
驾驶证号
cartype
varhcar2(10)
准驾车型
Address
varchar2(20)
notnull
家庭详细住址
Phone
varchar2(100)
notnull
联系
descripe
varchar2(100)
备注
(4)apprecord:
记录用车申请记录的详细信息
表4申请记录数据字典表
字段名
字段类型
约束或索引
描述
ID
Number(Sequence)
PK
申请单流水
userid
Number
FK
调度员id
appdate
Date
NotNull
申请时间
cartype
varchar2(10)
NotNull
车辆类型
customer
varchar2(20)
notnull
驾驶员(客户)
phone
Varchar2(20)
notnull
驾驶员(客户)
(5)backrecord:
泊车明细,记录泊车记录的详细信息。
表5泊车明细数据字典表
字段名
字段类型
约束或索引
描述
outid
Number
PKFK
泊车车位号
backdate
Date
NotNull
泊车时间
cartype
varchar2(10)
NotNull
车辆类型
customer
varchar2(20)
notnull
驾驶员(客户)
(6)outrecord:
出车明细,记录出车记录的详细信息。
表6出车明细数据字典表
字段名
字段类型
约束或索引
描述
ID
Number
PK
出车车位号
userid
Number
FKnotnull
出车时调度员id号
outdate
Date
NotNull
出车时间
carid
number
FKnotnull
车辆编号
5.1.2任务管理设计
根据需求述,停车场管理系统是一种由各个管理环节(结点)构成的动作单一序列,简单明确。
车辆调度管理工作流程与各管理员的职责如图9所示:
图9系统工作流程图
车辆动态架构:
由调度系统工作流程图映射出来的停车场管理系统动态架构如图10所示:
图10系统动态架构
5.1.3人机交互设计
系统交互设计采用目前广为流行的,基于B/S的架构设计,人机交互界面主要使用当今流行的JSP(JavaServletPage)技术,以网页的形式展现给系统用户。
方便快捷的人机交互界面,整个浏览器分成三个子框体,最上面的一个框体显示系统的Log和系统名称;左边的框体主要是系统功能导航;右边的框体主要是显示第一个功能的操作界面。
5.2系统
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- javaweb 课程设计 文档