需求分析
随着我国社会经济发展中城市化水平的不断提高,城市轨道交通建设逐步兴起,在长三角地区16个城市中,除上海、南京已有建成地铁外,苏州、杭州已进入建设阶段,多个城市相继引入轨道交通系统来改善日益恶化的市内路面交通状况。使用计算机代替或辅助人工进行售票、检票、票务处理,以及信息采集处理,可以在很大程度上减轻人工售检票带来的问题,是轨道交通运营企业提高运营效率和服务水平的有效途径。
票务组织管理是城市轨道交通(简称轻轨)运营管理企业票款收入的直接管理单元,关系到运营企业的收益,是企业生存发展的关键。在轻轨运营管理中,票务组织管理对车票流向、票款收入和自动售检票系统(简称AFC系统)的运行情况进行总的监视、控制、协调、指挥和调度。票务工作的好坏直接影响到运营公司的收入和经济效益,因此必须重视票务组织管理工作,将其定位为运营组织管理的核心[1]。
本文通过对目前的轻轨票务管理系统的分析,提出基于WEB的票务管理系统。它的作用是使管理人员根据不同的需要进行售票、退票、验票、站台等管理以及对票务的查询、统计和分析,从而可以有效的弥补目前轻轨票务管理机制的众多不足,对轻轨的运营管理提供切实有效的数据依据。
2.系统功能分析与设计
轻轨票务管理系统主要包括系统管理和票务统计两大模块,如图2.1所示。其中系统管理又分成管理员管理、站台线路管理、票务类型管理、售票信息管理、验票信息管理、客户信息管理等数据管理子功能模块,全面涵盖了企业票务管理的各个方面。票务统计又分成日票务统计、月票务统计、季票务统计、年票务统计等统计分析子功能模块。各个模块既相互联系,又各自有着较完善和细致的独立功能,最大限度地满足用户全面深入的管理需要,又能融会贯通,有机地结合为整体应用。
2.1系统管理模块的功能设计
系统管理模块主要实现各种信息的添加、删除和维护管理等工作,它由下列管理子模块组成。
(1)管理员管理:管理员必须注册登录后才可以进行系统管理,管理员的角色有0、1、2和3,分别对应于高级管理员、普通管理员、售票员和验票员,不同的角色根据轻轨企业的工作责任制订不同的操作权限。
(2)站台线路管理:由普通管理员进行站台或线路的添加、删除、修改和查询等工作。
(3)票务类型管理:由普通管理员进行票务类型的添加、删除、修改和查询等工作。
(4)售票信息管理:由售票管理员进行售票信息的添加(或由AFC系统完成)、删除、修改和查询等工作。
(5)验票信息管理:由验票管理员进行验票信息的添加(或由AFC系统完成)、删除、修改和查询等工作。
(6)客户信息管理:由普通管理员进行客户信息的添加、删除、修改和查询等工作。
2.2票务统计分析模块的功能设计
由各管理员对日、月、季和年票务数据进行统计分析,对站台、线路、时间段分别进行统计分析,从而为轻轨企业的运营管理决策提供切实的依据。具体功能如下:
(1)提供票务收银报表,当每一个售票员当班结束后,将票款交至财务部时,财务即可从电脑中输出应交款的票务销售明细表。
(2)可按班次、日输出详细的各经营部门售票员的票务收银明细表、日营业收入报表和出票情况汇总表。
(3)能够按月、季、年来统计已销售且已检票的车票情况。可汇总出售数量和总金额,包括可按票种、售票窗等分别统计,统计结果可打印。
(4)提供按团体统计的票务结算报表,财务可从电脑中输出所有团体的票务结算汇总表及明细表。
(5)提供票务综合查询,可实时查询车票出售人次和收入情况,包括分售票窗、车票种类等。实时查询乘客的乘车情况等。
(6)决策分析,提供对票务数据的直观的图形表示,如直方图、折线图、圆饼图以及二维或三维的图形,使管理者能够更加形象地对数据加以分析,对比[2]。
3.主要功能模块的实现
系统开发技术采用微软的ASP.NET,开发语言是C#,数据库选用SQLServer2005。C#是微软公司.NET中的一种编程语言,它是一种面向网络、支持各种用户端的开发平台环境。ASP.NET是继ASP(活动服务器页面)之后推出的用于创建管理和部署WEB应用程序的新平台,基于Windows认证技术和应用程序配置,可以确保源程序的安全性[3]。系统使用ADO.NET实现数据库的连接与访问。下面重点介绍系统安全性和数据库访问性能优化的实现[4]。
3.1系统安全性的实现
ASP.NET应用程序的配置信息都存放于Web.config配置文件中,Web.config配置文件是基于XML格式的文件类型,由于XML文件的可伸缩性,使得ASP.NET应用配置变得灵活、高效、容易实现。同时,ASP.NET不允许外部用户直接通过URL请求访问Web.config,以提高应用程序的安全性。此外我们还在Web.config文件中通过节配置ASP.NET用来识别进入用户的安全身份验证模式,以阻止非法用户进入系统,同样提高系统的安全性。
Web.config的文件中的节的部分代码如下:
3.2数据库访问性能优化的实现
系统访问数据库资源需要创建连接、打开连接和关闭连接几个操作。这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源。ASP.NET中提供了连接池(ConnectionPool)改善打开和关闭数据库对性能的影响[5]。系统将用户的数据库连接放在连接池中,需要时取出,关闭时收回连接,等待下一次的连接请求。本系统连接池的实现在Web.config文件中进行配置。
系统访问数据库资源的主要操作涉及到执行SQL语句,创建DataSet对象、DataView对象或DataReader对象等,这些操作需要经常执行,因此,我们将这些需要反复执行的代码封装在DBAccess.cs基础类中,以便在需要时调用此代码,以实现代码的重复使用,提高编程效率。DBAccess.cs的主要代码如下:
publicclassDBAccess
{publicSqlConnectionconnstr;//连接字符串
publicstringgetconnstr()//获取连接字符串
{stringconstr;
constr=ConfigurationManager.ConnectionStrings["strConn"].ConnectionString;
returnconstr;
}
publicvoidopen()//打开数据库
{stringconstr;
constr=getconnstr();
connstr=newSqlConnection(constr);
connstr.Open();
}
publicvoidclose()//关闭数据库
{connstr.Dispose();
connstr.Close();
}
publicvoidexecsql(stringsql)//执行sql语句
{open();
SqlCommandcmd=newSqlCommand(sql,connstr);
cmd.ExecuteNonQuery();
close();
}
publicDataSetdataset(stringsql)//返回DataSet对象
{open();
SqlDataAdapterrs=newSqlDataAdapter(sql,connstr);
DataSetds=newDataSet();
rs.Fill(ds);
returnds;
}
publicDataViewdataview(stringsql)//返回DataView对象
{DataSetds=newDataSet();
ds=dataset(sql);
DataViewdv=newDataView(ds.Tables[0]);
returndv;
}
publicSqlDataReaderdatareader(stringsql)//返回DataReader对象
{open();
SqlCommandcmd=newSqlCommand(sql,connstr);
SqlDataReaderdr=cmd.ExecuteReader();
returndr;
}
}
4.结束语
本文在参考三层B/S体系结构的基础上,以.NET为开发工具,实现了一个基于WEB的轻轨票务管理系统。通过将常用逻辑操作如数据库连接与访问等封装在基础类中,来达到代码重用、避免重复开发的目的。通过配置Web.config文件,提高系统的安全性和优化数据库的访问性能。系统实现了售票、退票、验票、站台等票务管理功能以及对票务的查询、统计和分析功能,可以有效地提高轻轨运营管理中票务管理的效率。