论文知识案例-江南小区停车场管理系统的设计与实现-CNKI知网查重网站

论文知识案例-江南小区停车场管理系统的设计与实现

2021-06-18 11:32:46
作者:杭州千明

现代化进程正在快速的发展,私家车的数量也随着经济的发展在不断增加,这样很明显看到城市中比较大型的公共场所停车场车流量是在急剧增加的,对于小区的生活中,机动车的日常管理这一方面变得相当的重要。为了帮助这些停车场更好的管理日常的事物,减轻工作压力,设计的一款停车场管理系统。江南小区停车场管理系统是以java语言为基础,mysql作为数据库,实现了用户信息的基本维护,还提供进出场的IC卡管理,针对临时车辆进出场的模块管理,还设计了对固定车主信息以及车辆管理,以及合理的收费管理。

从19世纪到21世纪,特别是到了21世纪,我国的国民生活发生了前所未有的改变,时代的发展改变了人们的生活,当人们的生活质量提高了,人们自然而然会对物质方面有更高的要求,尤其突出的是人们的出行方式,为了方便生活出行和节约出行的时间,很多人都买了小汽车,电车来上班,对于人们来说生活各种方面是便捷了,但是“停车难”已然是国内城市各小区的一个难题,很多人由于找停车位而浪费了许多时间,也由于停车位的乱收费问题而造成各种各样的人事矛盾。目前城市里的大多数停车场存在的问题依然很多,管理上存在着大大的缺陷,目前有些系统的可操作性非常麻烦且不具实用性,特别是收费过程相当繁琐,增加了很多的劳动力,停车场利用也尤其低下,但是要跟上如今的生活发展水平,解决让人们感觉烦恼的“停车”问题,让人们的生活更便利,一个设施俱全的停车场是不可或缺的。

1.2 课题研究的目的

所谓的信息化且智能化的管理,其本质就是利用现有的网络技术进行自动化管理的科学方法,在减少劳动力的前提下,还能够增强管理上的安全性、及时性、有效性以及可靠性。而目前的信息化停车管理系统需要的相关技术想要运用于当前的生活仍然处于逐步成熟的发展阶段,有些其实只是实现了局部的管理性,我国的大部分停车场管理程度还很低。随着快速增长的汽车拥有量,停车场管理的难度也加大了很多,如何能够快速提高停车场的利用效率,如何能够充分利用各种的管理工具来达到合理分配的目标等问题,尤其是如何才能保证每一辆进入停车场的汽车安全是现代停车场在安全性层面所面临的一个巨大的挑战和重大考验。另外,随着停车场规模不断扩大,对于停车用户在停车场泊车的合理性管理也更显的尤为重要,如果不能及时的去管理,极有可能会引起停车场的秩序混乱,影响到内部停车场的正常运行,不仅浪费了用户的时间,同时也相当程度降低了对停车场的使用。因此对于曾经让人无比头疼的小区停车问题,一个停车场管理系统的设计和开发在小区的停车场管理这方面中扮演重要的角色和有着一定的地位。

2 开发使用的技术

2.1 JavaScript语言

JavaScript,它的简称是JS。在现代,网络技术开发无非是跟时代潮流一样,不断的进步,热爱开发的设计者们也创造了几种不同的编程语言,而JavaScript,可谓是最为广泛应用的,它是一种基于java的脚本语言,在现在各种的前端开发脚本语言中,JavaScript也是相当受开发者欢迎的,在与其他的语言一定的对比中,JavaScript是一种典型的弱数据类型的语言,首先在时间这一方面,它很大程度的可以节约一定的时间,同时它的速度也是比较令人满意的,当开发者写好了程序的代码时,代码功能是能够立即正常去运行的,例如可以它立刻创建HTML网页,对COOLIE设置,而基于WEB的相关应用程序它也会很快的创建,由于它的功能多样性,所以许多编码语言都可以去与它兼容,相对于其它编程语言来说,这是JavaScript语言的一个优势,它的代码让人看起来也许是简单的,但也需要一行一行去敲打,当然实现的功能不仅强大,而且是相当灵活的,无论开发者身在哪里,只要他的电脑能够正常使用浏览器,当打开这个程序的时候,它执行结果肯定是正常的。在网站和页面的开发这一方面,它无非是最适合的语言之一,在安全性方面,它是基于对象和事件驱动且具有相对安全性的客户端脚本,它只能通过浏览器去实现网页的浏览或者动态交互。当用户响应时,JavaScript就以事件驱动的方式去对用户进行相应的回复。在网页中执行后产生的一系列动作,被称为“事件”,当它发生后,javacript就会开启它的工作,去执行对应的代码。如今人们对网页开发要求越来越高,想实现美观的页面,功能的强大,简单不复杂的操作,Java Script就可以做到。

2.2 jQuery框架

对于如今的Web前端的开发,jQuery框架占了一定的重量,它是以javascript作为基础,通过JavaScript 去搭建项目的编程框架,它是javascript中的一个库,与原生JavaScript相比,原生JavaScript代码比较繁琐,代码量也是比较大的,而jQuery却是可以解决这个问题的,它可以用相对较少的代码去实现大量的设计。这个框架很实用和适用于如今的前端开发,在设计方面,它是一个相对强大的元素选择器,当我们想获取封装了html元素中的jQuery对象时,那么jQuery就可以派上用场了。对于css样式操作的支持,它是可以去提供的,例如如果我们想对class的属性进行增加、或者删除、更或者是切换等一系列的操作,那么jQuery也是可以实现的。jQuery语法不仅简洁,它的兼容性也是几乎接近完美的,对于HTML、前端事件的处理、对象元素操作,组件变换的实现等,用户可以轻松的去进行这些操作。在现在的关于网站应用方面,jQuery功能很突出,它可以提供AJAX的交互,如果想让用户的HTML的页面代码和它的内容去实现分离,那么我们调用脚本的时候可以直接定义它的ID,而不需要另外在它的HTML的文件中插入相应的JavaScript代码。jQuery使用起来是特别灵巧轻便的,只需要引入一个JS文件即可,它同时是一个强大的选择器,如果想便捷和快速的找到特定的DOM元素,并且为它们添加对应的行为,也不用担心浏览器是否能兼容这一选择器,而jQuery是可以做到的,但是,它的前提是获取元素后,行为规则才能生效。如果深度学习jQuery这个框架,其实会发现它有一个特色,那就是它的操作方式是链式的,简单来说的话,在对于同一个jquery的时候,当它的上一个对象发生的一组操作,jQuery是不用再次获取的,但很多编程语言都会对获取对象进行再一次的获取,而它是可以直接写出操作连续的。因为这个独特的特点,所以jQuery的代码看起来让人觉得简单易懂。最后,对于DOM操作的封装这一方面也是让开发者比较满意的,当开发者在编写DOM操作一些程序的时候,由于jQuery本身封装了许多常用的DOM操作,所以开发者可以在编写的时候可以得心应手。也相对提高工作效率和节约劳动成本。

2.3 JAVA语言

软件开发在当今这个时代已经占据了非常重要的地位,而软件的开发,很多人都有一些了解,它是通过编程语言来实现的,一个用编程语言写好的程序,可以在里面作出各种各样的命令,当下的编程技术人员之所以选择去使用JAVA编程语言,是因为它有着很大的优点,正因为这样,它在计算机软件的设计和应用中尤为广泛,相信很多开发者都知道C++语言,而JAVA语言是在C++基础上所发展而来的一种编程语言,C++的各种优点它肯定会相应的继承,从某一方面来说,java对C++相应进行了一定的继承和它的发展,当然,C++的不足,Java做到了掘弃。Java语言的功能性是有一定的强度的,对于很多开发者来说,用的时候是比较容易理解和利用的,它是属于一种静态面对对象编程语言。Java的语言结构相对来说是比较简单的,多线程是它的一个特点,当然还有动态性和独立性、安全性、可移植性等,开发者可以利用这些特点,用来编写桌面应用程序、web应用程序,也可以进行分布式系统和嵌入式系统的开发,java的语言结构也让人出乎意料的简单,也可以说它根本不具备一定的结构,当在应用的过程中,它的数组和串就是直接面向对象的,所以开发人员在编程时,想要进行对指针的设计,就不需要花费太多精力和时间。同时,java语言对运行环境方面的要求是不严格的,它可以在不同系统中移植,却不会损伤它原有的功能,所以在软件开发的过程中,编程人员可以通过系统与系统之间的移植来更好的去收集数据,因此这就大大提高了软件开发的效率。而且,编程人员可以选择基于数据和数控去进行开发,而不用再根据系统运行的习惯去进行开发。随着互联网技术不断的发展和进步,在网络应用这方面,java语言将会更加实际化和效率化,在IT界中,它是难得又无法或缺的一种编程语言。

2.4 MYSQL数据库

相信现在很多的开发者都会对数据库方面有比较深的了解,特别是MYSQL,现在也是比较常见的,不可否认MySQL数据库在开发这一行是最流行的开放源码SQL数据库管理系统,就像一个记事本,数据是怎么样的,大小之类,是由个人去定义的,有些人会问,它需不需要考虑成本之类的问题呢,答案是不用考虑的,选择用它的原因有一部分是因为它是免费的,当开发者使用它的时候,它的便捷性也会让开发者有着轻松的感受。它的工作原理将研究的内容各实体之间联系并且用模型去进行展现,MySQL适用于个人和中小型企业,因此比较适合对项目进行数据管理。MySQL使用的是标准的SQL数据语言,简便的SQL让写出的语句清晰易懂,具有很强的语义性,也便于编程人员学习,若是遇到优化的SQL算法语句,也可以有效的提高数据库的操作速度。

3 系统分析

3.1 功能模块需求分析

3.1.1 系统功能描述

系统信息管理:每个停车场都有相应的管理员去管理,当管理员想要管理停车场的时候,江南小区停车场管理系统具备主要包括角色的添加,删除,更新,模糊查询等操作,还可以对停车场里的用户的信息进行增删改查,并且可以为用户分配权限等操作。

IC卡信息管理:IC卡对于现在的人来说,是非常重要的,一张小小的IC卡里面包含了用户的基本信息,管理员可以对IC卡类型进行增加,删除,修改,查询等操作。如果你是IC卡信息的管理者,那么就可以进行对车主拥有IC卡的信息去进行增加、删除、修改等操作。

车位信息管理:偌大的小区停车场若是没有相应的管理,那么这个停车场岂不是让人感觉非常乱,对于一个小区的生活氛围也受到相应的影响,而江南小区停车场管理系统可以对车位信息管理,包括车位的添加,模糊查询,删除,更新操作,还能对车主、车位的信息进行增删改查的操作。

固定车主停车管理:本系统的管理员可以添加车主入场的相关信息,当车子入场时,系统就会记录车主进入的时间,或者车子出场的有关设置。入场的话在相应的表中都有展现出来,当车主出场时我们可以进行收费,如果车主有IC卡可以直接消费,可以对固定车主的信息进行删除和查询等操作。

临时车辆信息管理:不是那个小区里面进来的所有车就是属于小区里面的业主的,有些车主是临时停车在小区停车场的,这是管理员可以添加车主入场的相关信息,车主出场的有关设置。当然入场的话在相应的表中都会有展现,于是当车主出场时管理员就可以进行收费,还可以对临时车主的信息进行修改和查询等操作。

收费管理:这个模块主要为了方便金钱的结算,它可以添加车主的相关收费信息,而且也可以对车主停车的费用进行一个合理的收费,当想去进行查询和删除相关收费信息时,那么就可以启动这一模块。

打印报表:这个功能主要是统计报表的相关信息,当我们对固定车主的信息和临时车主的相关信息想进行管理和了解时,这里可以进行打印,方便管理。

基础功能:可以修改用户登录的密码,或者想退出当前的系统,也是可以去操作的。

3.1.2 用例图分析

根据对停车场管理系统的各种的功能深入分析和描述,主要的功能包括车位基本信息的管理,系统的一些基本信息维护、车主的IC卡管理、车主主要信息的管理、固定车主的管理以及临时车辆的统计,报表的打印等功能。根据这些东西之间的关联和关系,本论文分析的江南小区停车场管理系统的用例图如图3-1所示。

图3-1江南小区停车场管理系统的用例图

3.2 系统设计规则

无论怎样的系统,一开始设计的时候都需要考虑各种因素,比如它的设计原则,它不仅要考虑原则问题,同时它自己也要遵循这些设计规则。江南小区停车场管理系统也不会例外,本系统的主要设计规则有以下方面:

首先是它的简单性:当系统功能实现的时候,我们如果让系统变得简单,就会让人感觉这是一个容易理解的系统,而不是让他们觉得自己一点也看不懂这个系统,从而使用者也不想花太多的时间去刻意了解熟悉本系统,因此,在实现我们系统功能的同时,尽量让系统变得简单并且让人容易理解,是我们所向往和追求的,当然同时这对于一个系统的设计来说,也是非常重要的。

针对性:由于考虑各种因素和各种语言的对比,本系统认为采用JAVA语言是最合适的,在对功能模块的划分这一方面,也是比较详细的,而且具有很强的逻辑思路,分析也相对比较到位的,所以具有很强的针对性。

实用性:该系统使用起来比较简单,没有繁杂的步骤,停车场管理者也不需要刻意花费时间学习和了解这个系统的构造,这样对于停车场的管理过程将更加清楚且操作方便,具有良好的实用性。

4 系统数据库设计

4.1 数据库概念模型

目前系统肯定是要有相关的一个库来储存大量的数据的,而目前数据库的类型相对来说也是比较多的,但应用最广泛的,我想大多数开发者都会有一定的了解,那就是关系型数据库的应用。而JAVA在系统设计的这一点上,它是面向对象的,当我们要选择数据库时,肯定也要是面向对象的。现在主要考虑的是我们该如何对代码的中的类进行持久化的操作,即该怎么样去将对象类映射到关系数据库的二维表。江南小区停车场管理系统设定数据库的相关概念设计整体的属性E-R图如下图4-1所示。

图4-1 系统的E-R图

4.2 数据库表的设计

江南小区停车场管理系统采用的是MySQL数据库管理系统,而它建立的数据库名叫parkings。以下是MySQL的逻辑架构图:

图4-2 数据库逻辑架构图

它主要分为三层:

1.第一层是负责客户端的连接,首先:客户端会与数据库服务层创建TCP连接,于是连接管理模块会给出响应,于是它们建立连接,并请求连接线程,若是在连接池里有空闲的连接线程,就会把它分配到这个连接。

2.第二层是核心服务。一旦当连接线程接收到相应的SQL语句后,马上就会将语句交给执行语句分析的模块去进行处理。

3.第三层是数据库引擎程。如果想储存数据的话,这一层是相当重要的,它也可以用来处理和保护数据。

江南小区停车场管理系统中使用到的主要数据表有user_sel、role_sel、card_sel、fixed_sel、temp_sel、seat_sel等。具体展示部分如下所示:

(1)相关用户的信息表(user_sel)

此用户信息表名为user_sel,它是用来存储用户的基本信息,该表的相关信息如表4-1。

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

字段的名称 类型及长度 是否为主键 字段的描述

user_ida varchar(50) 是 个人编号

role_ida varchar(50) 否 角色id

user_names varchar(50) 否 用户名称

real_names varchar(50) 否 真是名称

user_pwds varchar(50) 否 用户密码

user_phones varchar(50) 否 用户电话

(2)角色信息表(role_sel)

角色信息表为role_sel,存储角色的基本信息,该表的相关信息如表4-2。

表4-2 角色信息表(role_sel)

字段的名称 类型及长度 是否为主键 字段的描述

role_ids varchar(50) 是 角色编号

role_names varchar(50) 否 角色名称

(3)车位管理表(seat_sel)

车位管理表为seat_sel,存储车辆的基本信息,该表的相关信息如表4-3。

表4-3 车辆管理表(seat_sel)

字段的名称 类型及长度 是否为主键 字段的描述

seat_ida varchar(50) 是 车辆编号

seat_numa varchar(50) 否 车辆座位数

seat_setiona varchar(50) 否 车辆位置

seat_statea varchar(50) 否 车辆状态

seat_taga varchar(50) 否 车辆标志

(4)IC卡管理表(card_sel)

IC卡管理表为card_sel,存储IC卡的基本信息,该表的相关信息如表4-4。

表4-4 IC卡管理表(card_sel)

字段的名称 类型及长度 是否为主键 字段的描述

card_ida varchar(32) 是 卡编号

seat_ida varchar(50) 否 车位编号

user_namea varchar(50) 否 车主姓名

user_gendera varchar(10) 否 车主性别

user_addra varchar(50) 否 车主地址

car_numa datetime 否 车的数量

(5)临时车辆记录表(temp_sel)

临时车辆记录表为temp_sel,存储临时车辆的基本信息,该表的相关信息如表4-5。

表4-5 临时车辆表(temp_sel)

字段的名称 类型及长度 是否为主键 字段的描述

temp_ida varchar(50) 是 临时编号

card_ida varchar(50) 否 IC卡编号

car_numa varchar(50) 否 车的数量

entry_datea varchar(50) 否 进入日期

entery_timea varchar(50) 否 进入时间

out_datea varchar(50) 否 出去日期

out_timea varchar(50) 否 出去时间

temp_moneya varchar(50) 否 收费

(6)固定车主表(fixed_sel)

固定车主表为fixed_sel,存储固定车辆的基本信息,该表的相关信息如表4-6。

表4-6 固定车主表(fixed_sel)

字段的名称 类型及长度 是否为主键 字段的描述

fixed_ida varchar(50) 是 固定编号

card_ida varchar(50) 否 IC卡编号

续表表4-6 固定车主表(fixed_sel)

entry_datea varchar(50) 否 进入日期

entery_timea varchar(50) 否 进入时间

out_datea varchar(50) 否 出去日期

out_timea varchar(50) 否 出去时间

5 系统的详细设计与实现

5.1 用户登录

一个系统用户登录和输入密码在这个时代已经形成一种固定的模式了,设想一下,若是每个系统都不需要登录,那么系统无法确定你是谁,这样会给个人信息和财产安全造成相当大的隐患,那么当一个系统没有基本的安全保障时,用户基本是不考虑去使用这个系统的,只有当用户输入了自己的用户名和密码,系统才能给你分配相应的权限,你才能继续在系统执行相应的操作。

功能描述:登录界面首先需要输入登录的用户名和密码才能进行登录,同时会对用户名和密码进行前端和后端的校验,前端校验用户名和密码不能输入空的,其次就是对数据库的校验,系统会在数据库中查询用户名和密码是否存在,若不存在,则提示错误的信息,并且重新载入登录界面。

图5-1 登录界面

登录的部分代码如下:

public void doPost(HttpServletRequest req, HttpServletResponse res)throws ServletException, IOException {

res.setCharacterEncoding("UTF-8");//设置输出编码格式

res.setContentType("text/html;charset=UTF-8");

HttpSession sess=request.getSession();

String user_id=req.getParameter("user_ids");//获取前台url传过来的uName参数

String user_pwd=req.getParameter("user_pwds");//获取前台url传过来的uPwd参数

DAL.Login _login=new DAL.Login();//实例化Login对象,来至DAL包

boolean results=_login.checkLogin(user_ids, user_pwds);//检查登录用户是否合法

if(results)//登录正确{

sess.setAttribute("user_ids", user_ids);//将用户userId保存在session对象中全局使用

String user_names=_login.getName(user_ids);//获取用户名

sess.setAttribute("user_names", user_names);

String role_ids=_login.getSysLevel(user_id);

sess.setAttribute("role_ids", role_ids);

req.getRequestDispatcher("/Index.jsp").forward(req, res);

}else {//登录错误

PrintWriter out=response.getWriter();

out.write("");}}

5.2 系统信息管理

功能描述:该模块主要用来来维护系统的一些基本信息,当我们添加角色的时候,我们可以设置相应的编号和名称,如果添加的内容数据库实际上不存在则添加成功并且它会跳转到角色管理的界面,此时我们可就以去进行查询、或者删除、更进一步也可以去更新角色的信息。用户信息的管理可以输入编号、账户名称、昵称、姓名、密码和电话等基本信息,添加成功后则跳转到用户的管理界面,用户界面此时可以进行模糊查询,更新,删除等操作[11]。

图5-2 添加角色信息

图5-3 添加用户信息

5.3 车位信息管理

功能描述:该模块主要是对车位基本信息的管理维护,点击添加车位的按钮,我们可以输入编号选择车位的区域、状态以及车位的编号,如果添加成功后则会跳转到车位信息管理界面,此时可以根据车位的ID、车位编号、所属的区域进行模糊查询,还可对车位基本信息进行编辑和删除等操作。

图5-4 车位信息管理

车位信息管理的部分代码如下:

//通过表单post方式传值 将进入doPost函数(method="post")

public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {

this.request=request;

this.response=response;

int handleType=Integer.parseInt(request.getParameter("type").toString());

//将前台页面传过来的type类型转化成整型

switch (handleType) {

case 2://类型2代表表中的数据要更新

updateEntity();

break;

case 3://类型3代表可以向表中添加数据

insertEntity();

break;

default:break;}

}

5.4 临时车主管理

该模块是对临时车主进出场的信息的维护,可以维护添加入场时间、出场时间以及车的基本信息维护,可以进行查询、修改等操作。

图5-5 临时车主管理界面

5.5 IC卡信息管理

功能描述:该功能是对IC卡的基本信息进行维护,IC卡是非常重要的,本系统不仅可以去添加IC卡的基本相关信息,而且还能让管理界面进行更新、删除、编辑等操作。

图5-6 IC卡添加界面

5.6 固定车主管理

功能描述:该模块是对固定车主的进出场设置以及停车信息的基本维护管理,可以对车主进行入场的设置,那么就会在停车的信息维护表里出现,设置出场就会出现在出行的记录,无论是进场还是出场都会进行时间的记录。

图5-7 固定车主管理界面

5.7 收费管理

功能描述:该模块主要是对进出场的临时车辆还有固定车辆的管理,当有车辆进出时,每个地方的小区是肯定要收一定的费用的,江南小区也不例外,当进入停车场时,我们会收取相关的费用,由于车主的进出场都会进行进出时间的记录,所以收费可以清晰的知道车辆的停车时间,那么临时用户是一小时3元收费,固定用户是按次数收费。

图5-8 收费添加界面

收费的部分代码如下:

private void updateEntity() throws UnsupportedEncodingException

{

String temp_id=new String(request.getParameter("temp_id"). getBytes("ISO8859_1"),

"UTF-8");

String card_id=new String(request.getParameter("card_id").getBytes("ISO8859_1"),"UTF-8");

String car_num=new String(request.getParameter("car_num").getBytes("ISO8859_1")

,"UTF-8");

String entry_date=new String(request.getParameter("entry_date").getBytes("ISO8859_1")

,"UTF-8");

String entry_time=new String(request.getParameter("entry_time").getBytes("ISO8859_1")

,"UTF-8");

String out_date=new String(request.getParameter("out_date").getBytes("ISO8859_1")

,"UTF-8");

String out_time=new String(request.getParameter("out_time").getBytes("ISO8859_1")

,"UTF-8");

String temp_money=new String(request.getParameter("temp_money").getBytes("ISO8859_1")

,"UTF-8");

if(temp.updateEntity(temp_id,card_id,car_num,entry_date,entry_time,out_date,out_time,temp_money)==1)

{

try {

response.sendRedirect("/Parking/TempHandle?type=4");//成功更新数据后跳转至TempMsg.jsp页面

} catch (IOException e) {

e.printStackTrace();//异常处理

}

}

}

6 系统测试

每个系统完成前最后一步都要进行测试,看它是否能够成功运行,或者有没有其他的BUG,尽可能的彻底检查出程序中的错误,它是对于整个软件测试来说是非常为之重要的核心步骤。当的前软都要保证它的可靠性、安全性、质量以及性能等,若是这些没有得到保障,那么就不是符合用户的需求。如果不对这个系统去进行测试和一定的分析,那么其软件将会有一定的未知风险,也给用户带来一定的损失。要想大大提高软件质量和可信度,一套非常严谨的、规范化的且完善的测试过程是必不可少的,它不仅可以降低软件的出错率,也可以发现可能存在的用户风险数。

首先,测试并不单单只是要找出错误就不理它了,它还需要通过对错误原因和误差分布进行一定的分析,这样一来不仅可以帮助我们找出当前软件设计时存在的缺陷,从而提高软件的质量。与此同时,如果我们对它的分析做的到位的话,我们还会得到一种针对性的检测方法,让以后的测试更加有效。

当我们进行测试的时候,我们目的是很明确的,那就是为了尽可能多地找出项目中所存在的错误和不足,这时测试就需要针对软件逻辑比较复杂的部分或是之前测试出错比较多的地方,进而去更好的完善整个系统,所以整个测试的过程就是为了找出存在的但又还没被发现的错误而给出相对的解决方法。

6.1 功能测试

功能测试主要包括五项内容:它的适用性、一定的准确性、相对的可操作性和依从性、高度的安全性。

表6-1 停车场管理系统功能测试

测试内容 测试结果

适用性 好

准确性 好

可操作性 好

依从性 好

安全性 好

6.2 安全测试

安全测试主要用来测试系统可能存在的安全隐患,目的是为了提高系统安全防范的等级。本项目安全测试主要从以下几点入手:

1)登录安全测试。在登录停车场管理系统时,不管你是普通用户,或者是属于管理之类的用户,他都必须要使用正确的账号和密码进行登录江南小区停车场管理系统,否则是无法登录的,因为对于无效的账号或密码,肯定是不能登录当前系统的。

2)管理权限安全测试。本系统主要是通过管理员,还有普通用户去操作该江南小区停车场管理系统,将确保没有任何的越权或权限出现混乱等现象。

3)数据安全性。在停车场管理系统中,将对所有用户的账号、密码都进行一定的加密处理。

6.3 可用性测试

可用性测试用于测试江南小区停车场管理系统的可操作性、可理解性、可学习性等主要方面。具体测试方面如表6-2所示。

表6-2 停车场管理系统可用性测试

测试项 测试人员的评价

窗口的移动、大小是否改变、关闭等操作是否正常 是

操作模块是否友好 是

模块、提示内容等文字描述是否正确 是

模块布局是否协调、合理 是

鼠标、键盘操作是否支持 是

所需数据项是否正确显示 是

操作流程是否合理 是

是否提供帮助信息 是

6.4 测试用例

6.4.1 添加临时车主

图6-1 添加临时车主测试

6.4.2 添加角色信息

图6-2 角色信息添加测试

7 总结与展望

7.1 总结

停车管理系统是为了解决进出停车场管理停车信息而设计的,目的是建立一个能够初步实现停车信息管理系统的智能化,提高工作效率。系统主要是基于java语言开发,运用到了CSS样式表来静态修饰网页,Jquery技术给网页增添一些动态功能,项目由车位信息管理、IC卡管理、收费管理、系统信息管理、用户管理、打印管理,以及角色管理等功能模块组成,实现了一个方便好用的信息系统。

为了能够真正地完成这次实战项目开发,我首先在图书馆查阅相关资料信息,参考了一些优秀学者的项目案例,首先做了功能的分模块分析,接着看了数据库的设计,把表之间的关系理解清楚,后来运用MVC设计模式完成本次项目,期间参考了一些文献并且认真地完善了代码部分。虽然途中有些问题令我很头疼,但是经过我的老师耐心的指导我,并给了我一些关于论文哪里不妥,哪里需要改进的建议,最终我按照老师给的这些去不断修改,不断去完善我的系统论文,为答辩做好该做的工作。