MVC 停车场管理系统java jsp 程序设计 课程设计 毕业设计-附源码02141

因上传问题  只上传了文案 图片未上传

 点赞+收藏+关注  →  私信领取本源代码、数据库

           

摘  要

    如今,我国现代化发展迅速,人口比例急剧上升,在一些大型的商场,显得就格外拥挤,私家车的数量越来越多,商场停车难得问题凸显,对于停车场的合理利用有助于缓解用户停车压力,鉴于这样的背景;初步设定系统功能主要包括,用户信息管理,违规车辆信息管理,刷卡停车牌管理,停车位信息管理,停车计费,信息查看管理等功能模块。本系统采用JAVAEE开发形式,利用数据库来完成数据存储功能,运用了B/S形式的开发模式,严格按照了软件工程的开发模式进行开发,保证系统的良好运行。

关键词:停车场系统;Java;Tomcat

                JAVAEE - based parking management system

Abstract

Nowadays, our country modernization is developing rapidly, urban population and the rapid increase of floating population in some large shopping malls, supermarkets appear very crowded, The number of private cars is increasing, shopping malls supermarket parking difficult problem, for the rational use of the parking lot helps to alleviate the pressure of the users of parking, in view of this background; Preliminary setting system function mainly includes user information management, illegal traffic information management, management of credit card the stop sign, Parking spaces information management, parking billing, information viewing management and other functional modules This system adopts the JAVAEE development form, sing the database to complete the data storage function, is in the form of web development model, system design to follow the software engineering development mode, ensure the system perform well .

Keywords:Parking system ; Javaee ; tomcat

                              目  录

摘  要

Abstract

第1章   

1.1  课题背景

1.2  目的和意义

1.2.1  课题目的

1.2.2  课题意义

1.3  相关工具和技术介绍

1.3.1  SQLSERVER2005的相关介绍

1.3.2  eclipse的相关介绍及tomcat配置

1.3.3  Servlet的运行原理

1.3.4  JSP的相关介绍

第2章  系统可行性分析

2.1  国内外研究现状

2.2  经济可行性

2.3  技术可行性

2.4 法律可行性

2.5 社会可行性

2.6  操作可行性

2.7  业务流程图

本章小结

第3章  系统需求分析

3.1  功能需求分析

3.2  性能需求分析

3.2.1  数据流图

3.2.2  数据字典

3.3  用例图

3.3.1  管理员用例图

3.3.2  用户用例图

本章小结

第4章  系统总体设计

4.1  系统模块设计

4.2  数据库分析步骤

4.3  数据库设计

4.3.1  E-R图设计

4.3.2  表结构设计

4.4  数据库链接代码部分

本章小结

第5章  系统详细设计

5.1  系统运行平台设置

5.2  系统的实现

5.2.1  登录模块的实现

5.2.2  用户主界面的实现

5.2.3  管理员主界面实现

5.2.4  密码修改模块的实现

5.2.5  公告功能模块的实现

5.2.6  车位功能模块的实现

5.2.7  违规管理模块的实现

5.2.8  注册模块的实现

本章小结

第6章  系统测试

6.1  测试目的

6.2  测试方法

6.3  测试内容及需求

6.3.1  界面测试

6.3.2  功能测试

6.3.3  需求测试

6.4  测试用例和结果

本章小结

结  论

致  谢

参考文献

附录一  外文文献(原文)

附录二  外文文献(译文)

第1章  绪 论

1.1  课题背景

大多数城市繁华区域比如商业区、贸易区,都是停车较为困难的地带,为此,停车场构建可以解决繁华区域停车难的问题。目前,在我国大中城市的大型区域,都建立有地上或地下的停车场,极大缓解用户去停车难问题。同时,停车场的管理设施也在不断更新,从以往的刷卡进入,到如今的刷车牌就可以进出,无时无刻不在提供给用户便利性。

1.2  目的和意义

1.2.1  课题目的

在国内的许多城市会遇到停车难的问题,这给人们出行停车带来麻烦,在现实生活中,去大型、商场购物是人们常去的地方,往往人们都是选择开车自驾过去,为此这就给停车带来很大压力。很多时候,人们来到因无法停车而经过长时间的等待车位,寻找车位,使得大量的时间都浪费在找车位上,而且对汽车的停车安全也没有保障;还有许多是通过人工来管理,人工收费,造成管理混乱,停车费不知去向的问题发生,鉴于当前国内购物停车问题,开发一套成熟高效的停车场系统正满足社会的需求。

1.2.2  课题意义

在21实际信息科技无疑是生产力的重要支柱,已经在长久的时间里对人们的生活经济起着极为关键的作用,在企业的信息管理体系中如何运用信息科技,并且高效率高收益的应用,是在计算机诞生后的五十年代的事情了。

现在人们所指的管理信息系统,就是指我们通过运用计算机来完成信息的收集整理,检索查询,信息处理和传递等等功能。并且将这些应用到企业或者其他组织中去,有人机交互操作完成,这样的大规模运用系统发生在七十年代初期,不少企业刚刚运用到信息管理系统,这样的系统往往并不复杂,效率低所以对于对管理的作用有限。

自2 0世纪80年代末,计算机网络技术蓬勃发展,相关的通信行业也大有起色,企业运用信息系统来管理也随之迎来了网络化的黄金时期。世界经济较为发达的国家率先完成了成熟便利的管理信息系统体系,而且对于社会经济还有生活质量的大步提高起到了必不可少的作用。

我国的管理信息系统的迎来高速发展是在八十年代末期开始直至九十年代,国家支持下成立了“金卡、关、桥“工程,很多的企业单位建立了局域网还有广域网管理的信息系统。因为我国的经济发展方向越来越知识化,所以不管是管理信息系统的工业经济底蕴,还是专家和管理人员使用的决策系统专领域系统,处理事务和数据的能力都有了很大的提高。

停车场车辆管理已经有了很多运用。仔细思考在生活中我们是如何管理自己车辆的相关内容,在不自主的情况下很多时候我们已经运用了科学的管理方式和策略。科学管理知识的运用首先要树立正确的管理观念和规则,搞清楚科学管理的意义。

如何科学管理?正确的管理观念是首要的,科学管理方式的不同将成为决定车辆贫富差距的主要因素。

停车场管理系统的主要目的就是完成车辆信息的统计和停车场地资源的合理分配,使使用者得到便利,投资者的利益最大化。在系统的开发和现实的管理中,多种软硬工具相互结合,满足安全性,高效性,收益最大化的种种要求。停车场管理系统的建立满足市场的需求,对于公共交通的管理还有居民的外出生活提供了巨大的便利。

停车场管理系统的设计包含两方面的意义:首先,停车场给在停车管理方有着非常大的效益,人们能够按照安排有序停车,还能够得到额外收益,对于大多商业场所良好的管理能够吸纳更多的人流量,从而提高了相应的销售业绩;另一方面,解决了人们的停车难题,人们购物的热情和滞留时间都会有相应的增长,再不会因为停车难而影响原本的购物或者闲逛计划,这样一来节省了大量的闲暇时间,也能够带来良好的出行心情。停车管理系统的开发,对于持久发展,良好秩序管理都有巨大帮助。

1.3  相关工具和技术介绍

1.3.1  SQLSERVER2005的相关介绍

Microsoft SQL Server系统中,在相应的服务器中添加登陆名称。添加完成后登录名将拥有相应的原有服务器的一干权限。

数据库用户是登录名在数据库中的具体连接对象,也是数据库操作和执行的主要对象。

在Microsoft SQL Server 2005系统中,一般用户并不直接去操作表或者视图,往往通过相应的架构来完成。我们可以在管理模块中对用户信息进行相应的增删改查操作,十分便捷。

CREATE USER命令可以用来新建用户。用户的登录名备份在数据库中,所以在新建的时候我们需要指定好相应的登录名称。多个拥有单个命名空间的数据库实体组成了架构。

Microsoft SQL Server 2005系统的以架构作为大量数据库对象的存储区域,也是它的一大特性。用户可以自由的管理架构,包括架构的增删改差操作。

数据库用户的相关集合被称为数据库角色。所以作为数据库的用户往往能够使用数据库角色的绝大多数功能。而数据库的角色可以通过相关的权限设置来限制不同用户的操作权限,从而达到管理用户的目的。

Microsoft SQL Server 2005系统支持很多的数据库角色和公用角色,以下是数据库角色的特点还有我们怎么样来管理它们。

管理数据库角色可以通过数据库角色的增删改查操作,相应的我们还可以对数据库角色的成员进行管理,比如添加和删除数据库成员。

新建角色的时候我们一般使用CREATE ROLE命令。sp_addrolemember的功能可以帮助我们把新的成员添加到指定的角色中去。当我需要更新或者修改数据角色名称的时候可以使用ALTER ROLE语句。DROP ROLE语句可以用来删除空闲的无用的角色。和固定数据库服务器类,一些提前定义好的权限被赋予了数据库角色。在数据库中使用定义好的数据库角色将会方便角色的权限管理工作。 

1.3.2  eclipse的相关介绍及tomcat配置

Eclipse是自由集成的开发环境拥有优良的跨平台特性。刚开始的时候被用来做Java语言开发,现在也支持C++/PHP/Python等语言。

Eclipse的兼容性和灵活性都很高支持非常多的插件。很的软件开发商都会使用它作为自己的开发环境。

Eclipse其实是作为Visual Age for Java的替代品生产出来的。这个IBM公司研发的新一带IDE开发环境于2001年11月开源面向大众,现在属于eclipse基金会名下。 最新的eclipse已经更新到4.6版本,受到大众的喜爱。

Eclipse的架构是根据富客户机平台完成的。涵盖了之下的部分:

1.核心平台用来启动eclipse属于运行时的重要插件。

2.OSGi(标准集束框架)。

3.SWT(可移植构件工具包)。

4.JFace(文件缓冲,文本处理,文本编辑器)。

5.将tomcat集成到java EE版本的eclipse中。点击Window--show View---Other---输出Servers进行过滤,选中Services,点击Ok.在该Services窗口中新建一个新的Server。双击新建的Server进行配置,修改web应用保存的位置鼠标右击启动Server,打开浏览器访问Tomcat。

1.3.3  Servlet的运行原理

Servlet运行原理与JSP的运行原理基本相同,不同之处在于JSP需要先转换成Java代码,而Servlet本身就是Java代码。Servlet的运行原理如图1—1所示:

               图1—1  Servlet的运行原理图

创建servlet对象的创建分为两种情况:

a.延迟加载(默认):就是在服务器第一次接收到请求访问servlet时,会根据url查找对应的servlet_name,然后再根据servlet-name找到对应的servlet-class,找到之后,调用该servlet对象的无参构造方法进行构造。

b.立即加载:在服务器一启动就将调用servlet的无参构造器构建对象。控制servlet对象是延迟加载还是立即加载的方式是在web.xml文件中配置servlet时添加一个配置选项,例如:

lifeServlet2

com.briup.life.LifeServlet2

2

整数

中间的整数可以是正整数,负整数和0.如果是负数代表延迟加载.如果是0或者正整数代表立即加载。值越小越先被加载,0最先加载。无论以哪一种方式加载的Servlet对象,在当前应用范围之内(或者我们可以说在web容器范围之内)只有一个实例对象存在,这个对象在第一次被访问(延迟加载)或者服务器启动(立即加载)时被创建,今后如果有请求访问这个Servlet对象,那么都会从web容器中取这个Servlet对象调用。所以Servlet对象只会被构建一次。

    每当有请求过来访问的时候,就调用一次指定servlet对象的service方法执行。所以service方法可以被多次调用,而且可以并发调用。

    在Service方法中可以接收两个参数一个叫ServletRequest,一个叫做ServletResponse,在HttpServlet中封装的叫做HttpServletRequest和HttpServletResponse。 

Servlet中的三个容器:服务器在处理请求的时候,接收到一个请求就构建一个Request和Response来处理用户请求,如果在多个servlet之间需要进行信息的传递,

那么就需要有这样一些(容器)范围能够帮助我们保存数据,以及对数据信息进行传递。

对象 类型          作用域(应用范围)

request  HttpServletRequest        一次请求                                     

session  HttpSession       一次会话(数据在多个请求中共享)

application  ServletContext        当前应用(最大的对象)  

   

1.3.4  JSP的相关介绍

JSP是以java语言为基础的web应用开发技术所以它也继承了相当优秀的跨平台性实现了部分业务逻辑和代码的分离,代码和组件的重复使用,同事也具有servlet的相关功能,自动预编译的实现。

1.jsp是什么?
jsp全称Java Server Pages,也就是我门常说的动态网页开发技术。

.Jsp、servlet、php 等属于动态网页技术。

.jsp页面是以.jsp结尾的文件。

.html文件是静态页面。

.jsp 文件是动态页面。

.jsp页面允许我们在html代码中嵌入java代码。

这样我们就可以在html中使用java代码来完成的功能了。简单的理解,jsp就是html页面+java代码。但是jsp中能写的内容还不止这些,可以包含如下内容:

1.html标签

2.css

3.javascript

4.java代码

5.EL表达式

6.引入并使用其他标签库,例如jstl标签库、struts2标签库等

所以jsp页面里面除了能写之前在html里面写东西之外,还可以写很多和java相关的东西,java代码、el表达式、动态标签库等(这些东西的本质都是执行java代码)。

注意:jsp页面中可以只有java代码,也可以一句java代码也没有,也可以一句html页面也没有。

2.jsp的运行

浏览器可以直接运行html页面,但是不能直接运行jsp页面,jsp是需要在拥有jsp引擎的服务器中运行的,例如tomcat服务器。所以jsp是运行在服务器端的,运行完之后,把动态生成的html页面再使用io流写回给浏览器,浏览器接收并且解析后再呈现出来效果。

3.jsp和servlet的关系

简单的讲,一个jsp页面就是一个servlet。jsp页面第一次被访问的时候,会被tomcat服务器编译成一个java类,这个java默认继承HttpJspBase类,而HttpJspBase类是HttpServlet的子类。

我们编写的jsp页面最终就被tomcat服务器编译成了一个HttpServlet的子类,所以说jsp本身就是一个servlet,那么jsp为什么是需要运行在tomcat服务器中原因也就很好理解了。jsp页面被tomcat服务器编译成的java文件及其class文件保存在tomcat服务器里面的work目录中,在这里的代码中。我们还可以看见它是如何使用io流把生成的html页面代码一行一行写回给浏览器的。

            图1-2 请求转发示意图

4.jsp的生命周期

客户端第一次访问jsp的时候,服务器会把这个jsp页面翻译成对应的java文件,之后java文件需要编译成对应的class文件,具体的流程如下:

TestServlet.java--->TestServlet.java.class        

hello.jsp--->hello_jsp.java--->hello_jsp.class

第2章  系统可行性分析

可行性分析总体概况为项目开发是否可行,通常是从技术方面,经济方面,操作方面等来进行判断的;通过以上三个层面分析,可以大大降低项目开发所产生的风险,在项目开发前期预测出可能存在的困难,并做出相应的解决方案。 

目标系统应该达到以下要求:

1、时间经济性的要是使逻辑物理的双重设计都达到一定程度的优化,系统的运行速率和响应时间大大提高。

2、可靠性指的是处理业务是能够精确,偏差值小。

3、可理解性指的是顾客容易上手和了解系统的内容。

4、可维护性和适应性,系统能够在不同环境下顺利运行,并且具有较好的扩展能力方便后期功能的添加和软件的维护和更新

5、可用性。系统是否满足顾客和业务的要求,相应功能是否完全实现。

6、安全保密性。系统的数据安全保证,包括输入输出数据的安全校验,还有数据持久化后的保存和传递的安全性,以及相应的管理员权限设定。

  

                         图2-1 系统可行性分析图

2.1  国内外研究现状

停车场管理系统开发出来的目的是为了方便公共场所或者企业等单位的停车管理,管理系统的高效和经济优势巨大,现如今已经有不少的高档次场所都已经引入了这种管理方式,停车场的管理人员和使用人员无需去关注它的内部设计,只需要关注相关信息的呈现和操作,如车辆信息,车位情况,而直观的了解这些无疑可以使管理者迅速的掌握停车场的实施情况,使车辆的停留和出入管理都更加的方便快捷。

管理信息系统(简称MIS)将计算机网络和通信技术相互结合,其中包括了对于数据的采集、传输、存储、加工还有维护和使用五大部分。但是由于数据的精准处理能力并不足以搭配现如今优良的硬件设备,并且打击对于管理系统的期待值很高希望尽早能够有相对成熟稳定的系统面世,而在开发当中不可避免的陷入了一些歧路,所以至今管信息系统的进步一直较为缓慢,在计算机技术的飞速发展期,尽可能快的研发出多种类的管理信息系统,并且迅速的推广无疑是重中之重,在不少发达国家,高信息化和现代化的设备已经融了社会生活,节省了大量的人力物力,人们能够从繁重的信息处理和管理中解脱出来,大大推进了生产力和经济的进步,而在我国信息化管理才刚刚起步,不过随着技术的更新和生活质量的提高,像停车场管理系统这样高效的信息管理系统势必蓬勃发展,占据极大的市场。

随着中国现代化步伐的快速前行,多数繁华地段停车场的车流量与日俱增,相应的安保与管理工作也更加的任重道远。现如今不少的发达国家都通过了停车场管理系统这样的管理方式,来加强管理和安保工作,停车场管理系统的内容和模式也愈加丰富了起来。

我们常见的智能管理系统是一卡通系统。其包括:自动考勤系统,自动打卡系统,安全监控系统,洗衣店管理系统,地铁交通服务系统,货物运输系统,物流系统,收费站管理系统,通过各个系统的互相结合构成了我们当今的信息化生活,提高了我们的生活质量,节省时间创造出更多的价值,广泛的应用于各大公共场所,如学校,医院等事业单位还有商业贸易中心等等。

2.2  经济可行性

经济可行性主要考虑的是项目开发成本是否可以接受,对于项目的后期收益是否可观等问题进行分析;这关系到企业的发展利益;一般来讲,项目开发主要的花费都是一些小的开销,比如,开发人员工资,网络设备,服务器,项目操作培训,后期维护等问题;本次系统开发主要考虑的是毕业设计,不需要考虑这些,但是对于企业项目开发,通常都是没有问题的。

                      表2-1 停车场管理系统投资情况

序号

任务

人员

工作日

日(元)

总计(元)

1

需求分析

1

3

1000

5000

2

总体设计

2

2

1000

9000

3

系统详细设计

3

3

1000

8000

4

数据库实现

2

5

1000

8000

5

编码实现

2

6

2000

30000

6

单体测试

1

3

1500

7000

7

系统集成测试

1

3

1000

2000

8

说明手册编制

1

2

1000

5000

9

总计

70000

2.3  技术可行性

技术可行性分析主要是考虑到项目开发涉及到的技术部分是否可以解决系统开发存在的问题,这个关系到系统能够顺利开发完成,因此,在对技术上的分析占据主要部分;本次系统开发主要的开发模式是web形式,即网页版程序设计,是通过网络来访问的程序,系统主要采用的开发语言是Java,这门语言已经是开发语言中最为有效的语言之一,功能强大,灵活性好,数据库采用的是SQLSERVER数据库,二者搭配是最佳组合,在TOMCAT环境下进行项目开发,这个项目中,技术的使用都是有可靠性的,都可以实现用户的设计需求;因此,对于系统开发,在技术层面上是没有问题的。

硬件环境:网络环境:以太网

传输介质:5类双绞线

服务器:专用服务器或PC机

工作站:每个部门至少1台工作站

软件环境:操作系统:Windows 7

数据库:SQL Server 2005

2.4 法律可行性

合同责任:合同明确规定甲乙方责任,双方签署后,一旦违约,所有后果由违约方承担。关于相应的软件和技术专利权使用权问题解决:我们应当采用付费正版;开发过程中版权侵犯等问题问题,严格按照法律规定进行处理。

2.5 社会可行性

凡是使用本管理系统的人员不需要参加相应的培训,也不需要具有专业知识能力,只需有基本的文化教育素养即可操作。系统便易操作简单不需要很高的文化水平和专业技能的支持,所以各个公司都能够很方便的安排系统的使用人员。

操作人员只需将大量的数据输入系统,需要支付一定的时间和耐心即可解决。

另外根据场所的大小还需要安排相应的进出车登记员、财务员、系统维护人员和安保人员。

2.6  操作可行性

操作可行性首先指的就是界面是否让顾客或者说操作者感到舒适,同时在操作的同事系统应当保持流畅无卡顿现象,在数据的录入和处理上要有相应的规范性,并且便以之后的系统维护和功能拓展。而这些在当前的系统中基本都能够很好的实现。

由以上经济、技术、法律、社会情况、操作四方面的分析可以看出、此时开发的系统是完全符合社会生活需要,并且被社会的基本原则支持的,采用本系统,采用本系统能够高效的处理停车业务,使实时情况的查询,停车事件的处理,还有收费等行为大大方便快捷,而且能够减少手动计入的失误和安全隐患问题,使信息快速高效运行。

2.7  业务流程图

通过对停车场管理系统的业务分析,业务流程图如图2-2所示。

图2-2 业务流程图

本章小结

本章主要是对停车场管理系统的需求分析,通过可行性分析及系统业务流程图的制作,深入的了解了停车场管理系统开发的可行性和必要性,也为下面开发做出准备工作。

 第3章  系统需求分析

需求分析是软件开发前期一项非常关键的步骤,它主要的用途就是确定用户的基本需求,用户对系统设计的期望,针对用户的个性化定做需求制定妥善的开发方案,明确系统具有哪些功能,估算开发成本预算,与客户讨论预算细节,初步统计系统开发涉及的各项费用。 

3.1  功能需求分析

停车管理信息系统主要功能如下简述:

1、系统设置模块:记录用户基本信息,系统权限分配,密码修改等。

2、违规车牌模块:主要是记录一些违规车辆信息,对车主处罚。

3、会员停车模块:记录会员卡信息,会员卡积分情况,停车信息。

4、车牌停车模块:顾客还可以进行无卡进出,通过车牌记录,记录停车信息。

5、车位管理模块:记录其当前车位剩余状态,及使用情况。

6、停车收费模块:主要是记录顾客本次停车的收费信息,支付方式等。

7、统计查询模块:主要是可查询停车场所有的消费记录,车位记录等信息并能打印表单。

8、停车场资讯模块:这个模块主要提示一些停车场信息,促销活动信息。

3.2  性能需求分析

本次系统开发着重在系统权限及系统性能方面上做出说明,具体表述如下:

系统权限分配环节:系统通常分配两个权限,一个是用户,一个是管理员,二个权限的不同操作的功能模块就不同;用户主要是操作一些基本的功能,管理员权限拥有着系统最高的管理权限,都系统可以全面的管理,同时,对安全性能的要求也是有管制权限的。

管理员:对当前系统的设计有着充分的了解,有权利对相应的数据库数据进行增删改操作。

停车人员:在系统中只能够进行停车还有取车相应的操作。

最高管理员:本系统的最高权限拥有者。

系统性能分析,系统性能分析考虑的是系统的安全性,灵活性,稳定性,可维护性等几个方面,安全性通常指系统的安全要素是否具备,系统是否存在信息泄露风险;灵活性主要是指系统模块之间操作是否灵活,用户使用是否便利问题;稳定性主要是指,系统运行状态是否良好,是否存在死机,系统卡主等情况;可维护性主要是指,系统是否具备二次开发的条件,后期修改模块是否便利等问题。

精度问题:

a. 计费单位精确到小数点后两位。

b.停车取车中间的时间差精确到分钟数。

时间特性要求:

a.对时间的统一性,全部采用服务器当前时间作为标准。

b.在多个用户同时进行操作的时候,有一定几率发生数据并发的问题。如用户查询到当前是有空闲车位的,但是在到达指定车位前,车位被占领,但是在查询之后的时间内有可能随之发生改变,有人占据了车位,这很类似于我们的数据库重复读问题。所以我们要保证我们的系统具有数据的实时更新和提醒。

性能灵活性:

该自动化停车场管理系统同用适应于其他Microsoft公司的windows产品。

此系统是采用B/S架构设计的,可以直接在浏览器上访问,但要求装有符合要求的 

浏览器如谷歌搜狐,或是其它的网页浏览器工具。于是在设计出来的系统应该能在不同类型的浏览器上成功访问。

3.2.1  数据流图

层级数据流图一般来说分为顶层数据流图、中层还有底层数据流图。忽略顶层流图,我们从0号开始编制

系统数据流图如图3-1所示。

图3-1 数据流图

3.2.2  数据字典

1. 数据项定义

系统数据项定义如表3-1所示。

   表3-1 系统数据项定义

编号

名称

别名

类型

长度(字符)

I1-01

ID

管理员编号

Int

4

I1-02

username

管理员名称

nvarchar

50

I1-03

password

管理员密码

nvarchar

50

I1-04

Gg_titile

公告标题

nvarchar

50

I1-05

Gg_neirong

公告内容

nvarchar

500

I1-06

shijian

时间

datetime

8

I1-07

username

用户

nvarchar

50

I1-08

chepaihao

车牌号

nvarchar

50

I1-09

states

状态

nvarchar

50

I1-10

shuoming

说明

nvarchar

500

I1-11

chewei_no

车位编号

nvarchar

50

I1-12

chewei_type

车位类型

nvarchar

50

I1-13

chewei_state

车位状态

nvarchar

50

I1-14

chewei_didian

车位地点

nvarchar

50

I1-15

username

用户名

nvarchar

50

I1-16

password

密码

datetime

50

I1-17

chepaihao

车牌号

nvarchar

50

I1-18

jine

金额

nvarchar

50

I1-19

truename

真是姓名

nvarchar

50

I1-20

tel

电话

nvarchar

50

I1-21

jianjie

简介

nvarchar

50

I1-22

quanxian

权限

nvarchar

50

2. 数据流定义

数据流编号:D1—02

数据流名称:用户注册信息

数据流来源:用户

数据流去向:P1-01

数据流组成:I1-15+I1-16+I1-17+I1-18+I1-19+I1-20+I1-21+I1-22

数据流编号:D1-03

数据流名称:用户登录信息

数据流来源:用户

数据流去向:P1-2

数据流组成:I1-02+I1-03

数据流编号:D1-04

数据流名称:公告信息

数据流来源:P6-5

数据流去向:F2-4

数据流组成:I1-04+I1-05

数据流编号:D2-05

数据流名称:车位信息

数据流来源:F3-5

数据流去向:P6-3

数据流组成:I1-11+I1-12+I1-13+I1-14

3.3  用例图

3.3.1  管理员用例图 

管理员权限主要包括对用户信息进行相应的管理,违规车辆管理,车位信息管理,咨询管理,收费管理等,如图3-2所示。

图3-2管理员用例图

3.3.2  用户用例图

用户主要操作权限有,可以查看咨询信息,查看车位信息,了解收费情况等操作。如图3-3所示。

图3-3用户用例图

本章小结

本章主要简单介绍了停车场管理系统功能模块分析,深入了系统的功能分析,制定出系统的数据流图。本需求分析对停车场管理系统的设计和实现做了阐述和分析。用UML建模给了该系统更详尽的阐述。模型、视图和控制器,承担了MVC中的不同任务,将业务逻辑,视图,和数据处理相互分开便于系统的功能扩展和维护。系统使用时,我们需要有相应的浏览器和服务器配置,启动服务器后访问相应的路径地址进行系统的登录。系统内实现了出入停车场的管理记录和收费标准定制,完善了用户的注册查询和使用功能,车辆信息也可以成功的录入,由于个人的能力和精力有限,时间并不充足有很多的系统性能和功能需要提高和完善。

第4章  系统总体设计

4.1  系统模块设计

停车管理信息系统主要功能如下简述:

  1. 权限设置模块:记录用户基本信息,系统权限分配等。
  2. 停车场资讯模块:这个模块主要提示一些停车场系统公告信息。
  3. 车位管理模块:记录其当前车位剩余状态,及使用情况。

4、停车收费模块:主要是记录顾客本次停车的收费信息,支付方式等。

5、违规车辆模块:主要是记录一些违规车辆信息,对车主处罚。

6、统计查询模块:主要是可查询停车场所有的消费记录,车位记录等信息。

         

                             图4-1 系统功能模块图

4.2  数据库分析步骤

(1)需求分析阶段:需求收集和分析,得到数据字典和数据流图。

(2)概念结构设计阶段:抽象用户需求形成相应的实体,并完成E-R图的设计。

(3)逻辑结构设计阶段:将概念模型中的相应实体转化为数据。

(4)数据库物理设计阶段: [16]将逻辑结构中的数据模型存入相应的物理组织中。

(5)数据库实施阶段:建立相应的数据库并调试,将数据录入数据库,并且运行程序示范。

(6)数据库运行和维护阶段:对数据库进行优化和内容的维护。

4.3  数据库设计

4.3.1  E-R图设计

图4-2 E-R图

4.3.2  表结构设计

根据实际管理需求,经过分析将停车管理系统的数据库设计是系统开发的关键环节,这个环节会影响到系统整体的运行所以非常重要。

根据E-R模型,停车管理信息系统系统建立了多个表数据,具体细节如下介绍:

用户信息表如表4-1所示。

     表4-1 用户信息表(reg)

列名

数据类型

长度

允许空

是否主键

说明

id

int

4

编号

username

nvarchar

50

账号

password

nvarchar

50

密码

chepaihao

nvarchar

50

车牌号

jine

nvarchar

50

金额

truename

nvarchar

50

姓名

tel

nvarchar

50

电话

jianjie

nvarchar

500

简介

quanxian

nvarchar

50

权限

shijian

datetime

8

时间

  公告信息表如表4-2所示。

表4-2 公告信息表(gg)

列名

数据类型

长度

允许空

是否主键

说明

id

Int

4

编号

Gg_titile

nvarchar

50

公告标题

Gg_neirong

nvarchar

500

公告内容

shijian

datetime

8

发布时间

  违规信息表如表4-3所示。

    表4-3 违规信息表(weigui)

列名

数据类型

长度

允许空

是否主键

说明

id

Int

4

编号

username

nvarchar

50

账户

chepaihao

nvarchar

50

车牌号

states

nvarchar

50

状态

shuoming

nvarchar

500

说明

车位信息表如表4-4所示。

       表4-4 车位信息表(chewei)

列名

数据类型

长度

允许空

是否主键

说明

id

Int

4

编号

chewei_no

nvarchar

50

车位编号

chewei_type

nvarchar

50

车位类型

chewei_state

nvarchar

50

车位状态

chewei_didian

nvarchar

50

车位地点

管理员信息表:主要记录的管理员的账号信息,包括用户名和密码。管理员信息表如表4-5所示。

表4-5管理员信息表(login)

列名

数据类型

长度

允许空

是否主键

说明

Id

int

4

编号

username

nvarchar

50

用户名

password

nvarchar

50

密码

4.4  数据库链接代码部分

public class DB {

private Connection con;

private String  classname="com.microsoft.sqlserver.jdbc.SQLServerDriver";

private String url="jdbc:sqlserver://localhost:1433;DatabaseName=tingchechang";

public Connection getCon(){       

try{

Class.forName(classname);

con=DriverManager.getConnection(url,"sa","123");

}

catch(Exception e){

e.printStackTrace(System.err);

con=null;

}

return con;

}

public void closed(){

try{

if(con!=null)con.close();

}

catch(Exception e){e.printStackTrace();}     }}

本章小结

系统设计阶段是对系统功能模块的细化流程,对每个模块进行详细的说明,制作出对应的数据库,建立表之间的依存关系。

第5章  系统详细设计

5.1  系统运行平台设置

系统开发离不开开发的相关设施,对于软硬件的介绍具体如下:其中硬件如下介绍:

硬件配置环境:计算机一台,网络服务器,如表5-1所示。

表5-1 运行环境硬件配置

硬件

配置

电脑处理器

AMD FX-8300

电脑内存

2G以上

电脑硬盘空间

300G以上

软件配置环境:

系统软件开发则采用eclipse开发工具,数据库SQLSERVER2005,tomcat6.0服务器,在XP系统或者win7上运行均可,浏览器要高于IE7.0。

5.2  系统的实现

5.2.1  登录模块的实现

登陆界面是系统比较安全的模块之一,它的安全性比较重要,它是确保用户安全进入系统的通道,因此,设计起来需要额外的重视;本次系统对登陆模块的设计进行了严谨的规划;首先,确立登陆页面设计风格,选择优质图片,切图加入到登陆页面的表格当中,调整合理位置,加入相应的文本框及按钮控件,对其进行标识username,password;其次,当点击登陆button时候前台会将表单内的相应数据提交大后台,后台处理模块会对数据与相应表中用户名和密码字段数据比较,如果存在符合数据,即可认为是可信用户,允许进入系统;如果没有吻合数据,提示登陆失败,重新登陆;最后,考虑系统的安全性,在制作过程中,要对账户和密码的输入进行条件限制,避免一些不正规字符进入系统,造成系统存在安全隐患,因此这一点要额外重视,下图是登录主界面如图5-1所示。

图5-1 登录主界面

登录流程图,如图5-2所示。

图5-2 登录流程图

5.2.2  用户主界面的实现

下面截图是用户的主界面设计,主要的色调选用了相对来说较为淡雅的墨绿色调,使使用人员不至于因为长时间的观看而产生过度的视觉疲劳。整体分为三个部分,上面为标题栏,左边为功能模块相应的操作信息,右边为功能展示区域,之所以这样设计是为了方便之后的功能扩展,提高软件系统的可扩展性。整体的界面设计风格偏向于简洁,有利于客户的阅读。功能栏内每一个小条目都有相应的点击事件返回不同的图形界面从而实现了一个界面展示不同表单的视觉效果。同时提高了页面的复用效率。我们可以看到主要的功能有:查看讯息、违规车辆模块,查看车位信息模块,停车支付信息模块,不同的模块功能又有不同的细分:如图5-3所示。

图5-3用户主界面

图5-4会员用户支付图

图5-5普通用户支付图

5.2.3  管理员主界面实现

下面截图是管理员的主界面设计,相对于用户的主界面来说,管理员主要注重查询的操作,主要的色调依旧选用了相对来说较为淡雅的墨绿色调,使使用人员不至于因为长时间的观看而产生过度的视觉疲劳。整体分为三个部分,上面为标题栏,左边为功能模块相应的操作信息,右边为功能展示区域,之所以这样设计是为了方便之后的功能扩展,提高软件系统的可扩展性。整体的界面设计风格偏向于简洁,有利于客户的阅读。功能栏内每一个小条目都有相应的点击事件返回不同的图形界面从而实现了一个界面展示不同表单的视觉效果。同时提高了页面的复用效率。我们可以看到主要的功能有:查看讯息、违规车辆模块,查看车位信息模块,停车支付信息模块,不过因为权限问题各个模块中的操作与用户模块有区别;下图是主界面设计截图。如图5-6所示。

图5-6 管理员主界面的用户信息管理图

   图5-7 管理员主界面的用户权限管理图

5.2.4  密码修改模块的实现

密码修改是系统中非常重要的模块之一,通常情况下,用户的账户信息非常重要,一旦被恶意窃取将会造成很大的损失,因此,每一个系统开发过程中,都会开发密码修改这个模块,目的就是更好去管理用户的基本信息,本系统的开发也设立的密码修改功能模块,处于项目较小,因此,密码修改相对简单些,具体实现过程如下:先是构建密码修改画面,包括了账户,密码选项,插入文本框,按钮等,再则就是绑定账户信息,通过登录时记录的账户信息,将其赋值到账户文本框上,并设置为不可更改,最后,进行代码处理工作,用户操作只需要输入新密码点击修改按钮即可完成操作,密码修改如图5-8所示。

图5-8密码修改页面

5.2.5  公告功能模块的实现

下图是公告添加模块,内容有公告公告内容,公告名称,点击按钮就可以完成公告的添加操作,公告添加管理如图5-9所示。

图5-9公告添加管理界面

下图是公告模块的相关信息展示,主要包括了不同的公告的标题展示和部分的内容展示,管理员可以通过增删操作把账户的信息更改掉,这里还采用了采用分页技术管理数据自动增长,如图5-10所示。

图5-10管理员公告查询管理模块

图5-11用户公告查询管理模块

5.2.6  车位功能模块的实现

下面截图是本系统的车位添加管理界面设计截图,主要是由系统管理员进行发布管理,其模块包括的选项包括了车位编号,车位类型,状态,位置等信息;其中制作的流程是先建立车位添加界面,插入表格,设定行数与列数,拖入相应的文本框与按钮,之后对处理页面的制作,这里要注意的是,对信息要进行过滤操作,避免进入数据库出现乱码,扰乱数据的准确性,车位添加一览管理如图5-12所示。

图5-12 车位管理界面

图5-13 车位管理的车位信息统计

图5-14 停车收费管理图

图5-15 通过检索信息图

5.2.7  违规管理模块的实现

下面截图是本系统的违规管理界面设计截图,是有管理员来进行违规管理信息

的,从截图上能够看到,包括用户账户,车牌号码,车牌状态,违规说明等,这个画面设定后,需要慎重决定,如图5-16所示

图5-16违规车牌管理页面

图5-17恢复车牌管理页面

图5-18恢复车牌管理查询页面

5.2.8  注册模块的实现

注册界面是用户成为系统会员的通道,因此,系统注册界面也需要额外的注意;本次注册界面设计主要注重的是设计及安全性能;初步设定的字段有账户,密码,性别,电话,邮箱,备注等信息;系统设计主要采用的是背景图片当作底色,将table加入界面当中,设定相应的位置,拖入文本框,并标注标识,加入注册按钮,接着制定注册界面的处理表单,编写相应的代码;注册界面在设计过程中要注意安全问题,比如说账户信息审核,是否唯一值,对非法字符要做出过滤或者屏蔽,在防止恶意注册方面也要做出防备等;用户在注册过程中要准确填写个人信息,切勿虚假填写,需要管理员进行审核后才可以使用。以下是注册界面的设计截图,如图5-19所示。

图5-19注册页面

本章小结

这章节主要是介绍了系统的各个模块实现过程,主要采用的,图,表,文字等实现模式,对系统模块的实现原理,实现方法都详细介绍。

第6章  系统测试

系统测试环节是系统开发后期最重要的环节,主要的任务就是检测程序员开发的系统中是否存在未曾发现的瑕疵,及时发现并对其错误进行及时的处理,然后可以通过修改来弥补系统的不足之处,提高系统的整体性能。

6.1  测试目的

系统测试的根本目的在于,开发出来的系统在正式投入使用之前,尽可能的及时发现软件开发时可能存在的疏漏,并进行处理;程序员在开发过程中,会遇到着很多的错综复杂问题,所以,系统在开发的每个环节都有可能存在着错误,程序员通常在开发过程中会对自己开发的程序进行自测,也会及时解决掉一部分问题,但是不能全部发现,所以,系统测试环节必不可少,需要认真的对待。

6.2  测试方法

程序的测试方法有很多,我主要采用了较为主流也是比较便捷的黑盒和白盒测试。这两种方法可以很好的帮助我们检验系统的功能完整性和代码的完整性准确性。

白盒测试:白盒测试并不关注系统的界面性问题,而是通过对于代码的调试来发现逻辑中的错误,如条件判断的不足,由于对象未回收或者多次创建造成的内存的溢出算法的复杂度过高造成程序运行缓慢,死锁问题的产生,等等,白盒测试可以发现这些问题然后加以修正。

  1. 对程序模块的所有独立的执行路径最少测试一遍
  2. 判断程序中的条件循环,用不同的真假条件来一一测试保证代码在不同情况下的健壮性
  3. 再循环的边界和界限内执行循环体
  4. 测试内部数据的有效性,等等

黑盒测试:我们也把它称为功能测试或者数据驱动测试也。严格意义上老说它是一种基于规格说明的测试方法我们通过检测当前系统的某一部分功能或者整体的功能来检测。 而不是选择去查看或者校验源码,黑盒测试并不关注系统的内部逻辑有没有错误,而是使用大量的数据覆盖多的可能性,来测试是否能输出同样正确逻辑结果。然后我们就可以了解软件是怎么样正确运行的。

  1. 是否有不正确的或遗漏功能?
  2. 在接口上,输入输出能否正确的接受?能否输出正确的结果?
  3. 数据文件等外部信息能否正确的访问?
  4. 性能上能否满足要求?
  5. 是否有初始化或终止性错误?

单元测试是在编程过程当中我们经常食用的的一种代码测试方式,我们通常假定一种情况,编写一段相应的代码来满足某段程序的运行条件,从而来检测相应的程序持否能够正确运行,这种方法便捷简易,而且效果直观,但是由于缺乏逻辑性,很难覆盖所有的可能性,有时会出现疏漏。

集成测试或者叫做组装测试,我们可以把它理解为将单元测试合并在了一起进行规模测试。在测试环节中,进行完相应的单元测试,我们通常要把相应的关联单元模块合并在一起,进行统一的功能测试,来检查是否符合预期功能的完整性。这需要对不同模块之间的接口有着相应的了解,由小及大将组件慢慢结合在一起最终形成一个完整的系统功能模块。在最后所有的功能模块会结合在一起完成我们的系统测试。检查功能的完整性。

系统测试是将将我们之前测试的不同模块结合在一起,检验是否达到系统设计初期的功能效果,是我们程序人员用来检验成果的重要环节。

验收测试是我们在软件提交给客户和正式运行前的最后一个测试环节。我们要保证软件可以成功的在相应的环境下顺利运行,并且达到预期的功能效果完成目标。验收测试更多的是面向用户表明我们的系统确实能够满足用户的需求。经过我们之前的单元、集成测试、系统测试我们项目中的所有模块都已经正确的完整的实现了功能,也验证了系统整体的运行情况,此时要做的就是最后一步的用户验收工作,检查是否满足顾客的期待。

6.3  测试内容及需求

6.3.1  界面测试

界面是一个软件系统最直观的反应,顾客们往往并不关注系统内部的逻辑结构,反而会从界面出发形成对于软件系统的直观印象。所以针对界面我们有许多需要处理的环节,包括编码格式的问题,页面在不同浏览器中的自适应问题,图片表单的排版是否正确等等,下面我们来简单介绍下常见的界面问题:

  1. 错别字问题是我们最容易忽略也是最容易更改的问题i,这种问题并不涉及逻辑结构的相关知识,往往是因问程序员的一时粗心造成的只需要我们耐心的排查,就可以解决。

(2)页面中有的时候会出现一段类似于乱码或者地址符类似的语句 [5],这往往是因为程序中我们没能做好相应的处理,而把类似于对象地址的东西直接输出了出来。

(3)在不同的界面中或者同一个界面内,有时会因为分辨的不仔细造成字体格式的不统一,虽然对于程序的正确运行没有影响,但是无疑影响了界面的没关系。比如字体粗细和阴影的不统一,我们应该通过界面审核将这些错误改正过来,使用户有整洁的映像。

(4)对于不同功能的模块但是命名类似时,往往会出现相互之间搞混的情况,比如用户的管理界面和管理员的管理界面,很可能由于一时的粗心大意造成代码的混乱,从而致使界面展示出问题,我们应该仔细的审核类似的模块,是否完整的展示了当前模块应有的功能。

6.3.2  功能测试

功能测试的主要目的就是检查系统功能的完整性,各个模块能否正常的运行并且达到预期的功能目标,对于当前系统我们应当注意的功能有以下几个:

(1)查询功能,我们要测试不同的条件下查询功能受否都能够正常查询,并且得到相同的结果,另外还要注意多条件查询的情况是否能够正常得到符合各个要求的数据,在模糊搜索条件上应该能够完成指定条件搜索而不是将全部结果展示出来。。

(2)添加功能中,再添加的时候我们要对指定字段与数据库中的类型进行比较,如果不同则不能添加入库,如果超出了指定字段的规定长度也要报错,这里最好能够用相应的提示来提醒用户主意,避免错误的添加操作。

(3)删除功能,我们最好能在用户执行删除操作的时候进行二次提醒,一对话框的形式展示出来,询问用户是否确认执行删除操作,避免由于操作失误而造成的数据丢失,另外再删除时,我们最好能够按照制指定的条件去进行相应操作,否则可能产生因为数据项相近而删除错误的现象,另外在测试的时候为了保证数据的完整性,我们可以通过增加数据的字段来避免数据的删除,通过改变指定字段的值,来判断是否显示数据,可以达到我们既有删除效果又不会使数据丢失的目的。

(4)修改功能的测试是为了校验修改后的数据是否真正的存入了数据库,而不是单纯的界面上发生改变,这需要我们去清除数据的缓存,同时最好能够深入到数据存储区域去观察这种数据的变化,以确保操作执行成功。

6.3.3  需求测试

需求测试的主要目的就是再一次明确我们系统的需求,并且去检验这些需求在目前的设计中有没有很好的被满足,这要求我们除了当前系统的代码逻辑有足够的了解,还要结合实际的情况角度出发。需求的分析是系统设计的基石,只有我们明确了这一点才能够完成项目。在需求分析时项目中的数据操作和存储结构都应该完整的设计好,这样我们才能明确数据中哪些字段是必要的,哪些字段是可以忽略的,然后我们就不会在数据录入时产生字段不符合或者缺少等问题。我们还需要分析相应的系统内不同的角色,和他们所拥有的权限问题,是否都有了合理的分配

6.4  测试用例和结果

系统运行时均能执行其相应功能,可以完成设计任务要求,确保数据都可以正确显示,读取。

    1.登录测试  

   测试用例如表6-1所示。

   表6-1 登录测试用例

编号

测试数据

预期结果

测试结果

1

账号:admin 密码:admin 权限:管理员

进入管理员界面

与预期结果一致

2

账号:admin 密码:admin 权限:用户

重新输入

与预期结果一致

3

账号:admin 密码:ssx  权限:管理员

重新输入

与预期结果一致

4

账号:ssx 密码:ssx  权限:管理员

重新输入

与预期结果一致

5

账号:ssx 密码:ssx 权限:用户

进入用户界面

与预期结果一致

6

账号:ssx 密码:admin 权限:用户

重新输入

与预期结果一致

    登录系统,输入用户名和密码,正确选择当前用户的身份,输入与数据库中的用户名和密码一致就会进入系统,登录效果图如图6-1,6-2所示。

图6-1 管理员登录效果图

  

                         图6-2 用户登录效果图

  1. 注册添加测试 

    测试用例如表6-2所示。

表6-2 注册添加测试用例

   

编号

   测试数据

预期结果

测试结果

1

用户账号:ssx1

请输入密码

与预期结果一致

2

用户账号:ssx1 用户密码:123

请输入车牌号

与预期结果一致

3

用户账号:ssx1 用户密码:123 车牌号码:3434

请输入姓名

与预期结果一致

4

用户账号:ssx1 用户密码:123 车牌号码:3434 真实姓名:孙善笑

请输入电话

与预期结果一致

5

用户账号:ssx1 用户密码:123 车牌号码:3434 真实姓名:孙善笑 联系方式:123

注册成功,跳转到登录界面

与预期结果一致

     主要测试注册模块的数据添加情况,数据重复验证情况,数据的审核情况,注册测试效果图如图6-3所示。

                         表6-4 车位添加测试用例

   

编号

   测试数据

预期结果

测试结果

1

车位编号:201253

添加成功

与预期结果一致

2

请输入车位编号

与预期结果一致

    管理员添加车位信息,判断账号是否存在,信息填写是否无误,,符合条件进入数据库表,不符合条件提示错误信息,重新录入,如图6-5所示。

  

  图6-5 车位添加效果图

  1. 个人信息修改测试  

     测试用例如表6-5所示。

                                   表6-5个人信息修改测试用例

       

编号

   测试数据

预期结果

测试结果

1

密码:123电话:456简介:看电视

修改成功

与预期结果一致   

2

修改成功

与预期结果一致

3

密码:123电话:456

修改成功

与预期结果一致

4

简介:看电视

修改成功

与预期结果一致

   用户对自己注册的信息进行修改。如图6-6所示。

   

                           图6-6 个人信息修改效果图

  1. 违规添加测试  

    测试用例如表6-6所示。

                                  表6-6违规测试用例

   

编号

   测试数据

预期结果

测试结果

1

用户账户:小红 车牌号码:222违规说明:闯红灯

修改成功

与预期结果一致

2

用户账户:小红

请输入车牌号码

与预期结果一致

对于违规的用户车辆进行测试。如图6-7所示。

                            图6-7 违规添加效果图

你可能感兴趣的:(java,课程设计,servlet)