城市公交查询系统的设计与实现_第1页
城市公交查询系统的设计与实现_第2页
城市公交查询系统的设计与实现_第3页
城市公交查询系统的设计与实现_第4页
城市公交查询系统的设计与实现_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、公交查询系统是城市道路交通的重要组成部分,是城市发展的必然产物,是 联系国民生活、社会生产和流通领域的关键环节。公交车查询管理系统是典型的 信息管理系统(mts)。本论文详细介绍y整个系统的已实现的功能。首先,它实现公交线路、日常 站点、和任意两个站点查询乘车路线。其次,该系统提供丫用户留言的功能。接 着是提供用户管理功能和后台车次管理功能;后台车次管理功能主要包含添加车 次和站点功能、更新车次和站点功能、删除车次和站点功能,这样做到系统实时 更新,为用户查询提供更为准确的信息。此外,该系统是运用sql server数据库 和powerbuilder开发工具进行系统开发的。关键词sql ser

2、ver; mis;公交查询系统abstractcity public traffic inquiry system is an important part in traffic and transportation domain,and its also the inevitable result of social economys development in urban areas. it is one of typical msi (management information system)this paper has introduced the realized functio

3、ns of entire system in detail. firstly, the system has realized many inquiry functions. the system can search bus route by the name of business station,the number of public transport,ordinary bus station and two arbitrary stations. secondly,the system provides the functions of consumer message. and

4、then, it supplies bus number managing on the backstage and consumer managing. the functions of bus number managing are mainly to add,update and delete the number of bus and the station on the backstage. these can enable the system have the quality of real-time updating to provide the accurate inform

5、ation for user. besides, the system design by the tool of sql server database and powerbuilder 9.0keywords sql server; mis; city public traffic inquiry system目录iabstractii弓ibi1.1背景11.2研宂的内容1第二章开发的相关技术32. 1开发工具32.2 sql server 2000 的介绍3第三章公交查询系统的需求分析43.1现行业系统描述43.2现行系统存在的主耍问题分析43.3用例分析43.4系统需求53.5功能需求

6、63.6性能要求7第四章公交查询系统的设计84.1总体设计结构84.2实体关系分析94.3数据库设计104. 3.1数据流分析104.3.2数据库数据表说明104.3.3数据库设计关系图144.4换乘算法的思路与设计154.4.1研究方法、手段及步骤154.4.2算法的步骤15第五章公交查询系统的实现175. 1数据库连接175.2登录界面与用户注册的实现175.2.1登录界面的实现175.2.2用户注册的实现185.3用户公交查询模块的实现195.3. 1站点查询功能195.3.2线路查询功能205.3.3站站查询功能215.4用户信息更改模块的实现235.5公交管理模块的实现265.5.1

7、公交信息的更改265.5.2增加删除线路功能285.6用户管理模块的实现295.6. 1新用户管理295.6.2用户删除305.7权限角色管理模块的实现305. 7. 1角色管理315.7.2权限设置305.8留言薄模块的实现335.8.1留言管理功能335.8.2留言薄的功能34第六章公交查询系统的功能测试356.1测试的目的以及意义356.2测试的方法356.3测试的过程36第七章结束语37醐38参考文献39第一章引言1.1背景随着社会的进步和科学技术的发展,人们衣、食、住、行的条件都有了很大 的改善,同时对衣、食、住、行的质量有了更高的要求,特别是在“行”这一方 面。人类社会的出行方式经

8、历的无数的变迁,随着科学技术的进步,最终形成了 今天的错综复杂的城市公交,并建立起城市公交系统,自然也就产生了对城市公 交系统的查询,称之为城市公交查询系统m。随着我国经济的高速发展,人们生活水平的提高,越来越多的人开始热衷于 到外地旅游。那么对于这些外来旅游者,首先搞清这个城市的公交路线显的很重 要!而城市公交路线查询成为旅客与城市的重要纽带。城市经济发展,城市规模 越来越大,相应的城市公交系统也越来越庞大。许多新建小区大量出现,公交线 路也日渐增多,给人们的出行带来了极大便利,但是由于城市规模的不断发展, 给人们选择出行乘车线路造成了一定的困难。因此在这里公交查询系统发挥了其 较重要的作用

9、。乘客只需选择车次或输入要查询的站点,系统会快速的给出结果。大家都知道城市公交致力于为人们提供快捷,方便,和经济的出行条件,城 市公交查询就显得尤为重要,在走访了街头的站点之后发现,联系乘客和公交的 主要方式是国标式站牌和豪华站牌,而真正意义上的公交查询系统却很少见,我 们的城市急切的需要公交查询系统的出现,因为它承载着向用户提供信息和吸收 用户反馈的双项任务。有了这样的城市公交查询系统,乘客可以方便,快捷地查 询公交信息,或提出有关于城市公交的建议和意见;公交公司也能够迅速获取乘 客意见,对现有公交系统进行改善,推进城市公交系统的发展。1.2研究的内容此系统条用c/s架构,项目完成后发布到互

10、联网上,供所有注册用户访问。 系统分为前台与后台两部分。前台能够供所有用户访问,后台由公交公司管理人 员进行维护。实施此项目后,公交公司可以随时把公交最新信息发布到系统里,乘客可以 在世界的任何地点随时杳询公交信息,也提供一些以便为乘客为主r的便民服务, 也便于乘客提供一些好的意见与建议。系统的核心功能为公交车的信息奔询,奔询公为站站奔询、站点奔询与线路 査询。线路杳询,用户输入线路号,斉询出此线路车的详细信息;站点斉询,用 户输入站点名称,斉询出经过此站点的所的车次,并能够斉看车次的详细信息; 站站查询,用户输入起止站点,查询出如何乘车到达,耍求能够查询出所有直达 车次与转乘可到达车次。系统

11、前台提供的主要功能除了公交车斉询外还包括:用户留言、会员注册、 会员登录、会员密码修改、会员信息维护。系统后台由公交公司人员来维护。耍 提供的功能有线路维护、站点维护、车次/站点关系维护、线路斉询、留言管理、 会员管理、平台信息维护、系统权限管理。公交奔询系统做为一个典型的management information system系统,它是包 含降低成本的战略要求。因此,它是符合开发者对系统的要求3。城市交通信息化 管理的目的就是为人服务,为社会服务。它不仅仅只是为政府管理部门提供信息决 策支持和管理规划,它还应具备为广大民众提供交通信息服务及出行指导的功4。管理信息系统的作用主要有三个方而:

12、辅助分析、规范化管理、节省人力5。 在当今的信息时代,网上资源己成为人们获取信息的重要来源。而这种信息的传 递与交流只有在标准化与规范化的前提下方能快速有效的进行6。这就对以往的数 据编fi格式提出了挑战。而公交斉询系统就是这样的信息管理系统。第二章开发的相关技术2.1开发工powerbuilder是一种面向对象的快速开发工具。m大多数的windows应用程 序一样,采用事件驱动工作地方式71。在这种方式k,程序的运行没有绝对固定的 流程,程序屮的代码均是为所有可能发生的各种事件而编写的81。当程序开始运行 以后,它就可以接受来自系统、用户或其他应用程序所触发的吋间,然后根据不 同的事件执行相

13、应的代码。powerbuilder最人的特点是采用独一无二的数据窗门技术。这种技术对定 义和开发数据库连接进行了抽象,使得程序开发人员能够完全可视化地完成应用 系统屮有关数据库的编程工作。它并且提供了对目前几乎所有的流行人型数据库 系统和桌面数据库系统的支持。对于sybase、oracle、sqlserver、informix这 些人型的数据库管理系统,powerbuilder提供了专用数据库接口。2.2 sql server 2000 的介绍sql server 2000是microsoft公司推出的sql server数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点,它是一

14、个全面的数据库 平台,使用集成的商业智能(bi)工具提供了企业级的数据管理。sql server 2000 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,可以构建 和管理用于业务的高可用和高性能的数据应用程序。sql server 2000数据引擎 是木企业数据管理解决方案的核心。此外sql server 2000结合了分析、报表、 集成和通知功能。用sql server 2000作为后台数据库是既经济又能保证安全性 的最佳选择。第三章公交查询系统的需求分析3.1现行业系统描述随着现代社会的发展,交通也越来越发达,人们也开始不断外出旅游了,当 我们去一个不熟悉的城市时,看交通地

15、图,向熟人打听等传统方式查询公交信息, 这样会浪费我们很多时间、精力和财力,而且得到的信息也不一定是可靠的。这 是公交网络系统还不发达的过去会出现的情况,虽然我国的公交网络系统起步较 晚,不过近几年来正在不断的发展,公交查询系统也在此环境k发展兴起。3.2现行系统存在的主要问题分析虽然近年来公交查询系统发展迅速,不过发展的同吋也存在着一些问题,还 需要不断的规范和完善。1.有一部分公交查询系统,它们只是把各条线路和线路 的信息一一罗列,这样的公交查询根本不方便、快捷。一个真正完善的公交查询 系统应该实现用户输入想查询的内容,系统自动查询出结果,而不是让用户手动 去翻找查询;2.也有一部分公交查

16、询系统,它们的系统功能不完善,只实现了站 点的查询和线路的查询,而没奋实现站点到站站查询的功能,这不能完全满足用 户的需求;3.还有一部分公交查询系统,它们系统功能还算完善,但是结构复杂, 而且布满了广告和各种与公交查询无关的信息,影响了系统在用户心目中的良好 形象。因此公交查询系统的发展还奋待进一步的规范和改进。3.3用例分析用户可以执行线路查询、站点查询、站站查询(毡括:直接到达、一次换乘) 的操作,还可以对系统留言,更改自己的信息。用户的用例分析如图3-1所示:图3-1用户用例图管理员可以新增、修改、删除数据记录,以保证公交车线路的是正确图3-2管理员后台用例图3. 4系统需求根据查询系

17、统的业务流程,以及所需要实现的目标,我们拟定出以k诉求目标:1)建立线路杳询,实现杳询出目标线路所经过的所有站点2)建立站点杳询,实现斉询出经过目标站点的所有公交线路3)建立站站杳询,实现两站点之间的所有换乘线路的杳询(包括:直达车 次,一次换乘)4)实现公交线路的管理5)实现权限设置,对不同角色进行管理6)留言薄3.5功能需求随着城市的高速发展,公交线路的不断扩充,人们要从错综复杂的公交线路 屮找出到达目的地的理想线路,不是一件容易的事。从而基于计算机的公交车查 询系统应运而生。该系统打破的传统查询的弊端,实现了白动的线路查询、站点查询、站站查 询、线路站点的管理等功能。具体包括:1)线路查

18、询:方便用户了解到最快最新的线路信息,如:此线路经过哪些站 点,和站点在线路屮的位置等。2)站点查询:用户如果对线路不清楚,只知道自己要去的地方,那么站点查 询会帮你快速找出可以搭乘哪些线路的公交牟到达此地,和各线路的相关 信息,并注明了此站点在相应线路屮的顺序,方便用户了解该站点在线路 屮所处的位置。3)站站查询:如果没有直达线路,则找出转乘的公交路线。用户输入起始站 和终点站作为查询关键字,即可查询到的到达目的地址的公交线路。可以 为用户节省更多的时间,也提高了效率。4)公交线路管理:包括了对公交线路和站点的增加、删除、修改。也包括管 理员的创建、删除和权限管理。5)实现权限设置,对不同角

19、色进行管理:创建角色,设置该角色对应的权限。 也可以删除用户。6)留言薄:用户能对系统的使用反馈,管理员管理用户提交的留言。3.6性能要求在最低配罝的情况下,系统的性能往往不尽如人意,现在的硬件性能已经相 当出色,而且价格也很便宜,因此可以给服务器端配置高性能的硬件。最低配置如下:1)处理器:pentium iii 1g2)内存:512mb3)硬盘空间:1g 软件环境:1)操作系统:windows 2000/20032)软件:powerbuilder9.03)数据库:sql server 2000第四章公交查询系统的设计4.1总体设计结构该系统要求为一个c/s结构的项0。该系统由六个主要功能模

20、块组成,分别 是权限角色模块、用户公交查询模块、公交管理模块、用户信息管理模块、用户 管理模块、留言薄模块。参考的系统结构图如图4-1所示:图4-1系统结构图权限角色模块是由管理员操作,用于管理用户的角色信息和权限信息。主耍 功能:添加、删除、修改用户角色,添加、删除、修改角色,用户权限设置(设 置用户使用自己账户登录后能使用的菜单项)。用户公交查询模块是系统的核心部分。在这里用户可以进行公交查询。它包 括站点杳询、线路斉询、站站杳询。公交管理模块是由管理员操作,包括公交数据的更改、新线路的增加、修改、 删除。用户管理模块也是由管理员操作的。它的主耍功能是对新注册的用户进行 角色分配和删除用户

21、。用户信息管理模块是注册用户自己操作的,用于修改自己 的用户名或荠密码。留言薄模块中用户留言是管理员与用户可以一起参与的。它主耍提供一个交 流的平台。留言管理是由管理员操作的,管理员可以对留言进行删除。4.2实体关系分析公交查询系统有两个不同的实体关系图。一个是涉及公交查询本身,另一个 是涉及用户管理。公交查询管理的实体冇三个:站点、线路、站点线路。用户管 理的实体也有三个:留言、角色、用户。它们的实体关系图如图4-2,图4-3所示:1线路图4-2公交查询管理的实体关系图图4-3用户管理的实体关系图4.3数据库设计 4.3.1数据流分析在之前的系统需求基础上,绘制出公交查询系统顶层图与0层图。

22、顶层流图 只包含一个加工,用以表示被开发的系统,然后考虑该系统有哪些输入数据、输出 数据流。顶层图的作用在于表明被开发系统的范围以及它和周围环境的数据交换 关系。而0层图是把顶层图的加工分解成若干个加工,并用数据流将这些加工连 接起來,使得顶层图的输入数据经过若干加工处理后,变成顶层图的输出数据流。公交查询系统的顶层图如图4-4所示:用广角色信息系统管理员角色表公交信息表用户表用留言表留言信息>户0公交查询系统用户信息公夺杳询l害求查询结果公交信息ti图4-4公交查询系统的数据流图(顶层图)它的0层数据流图如4-5所示:公交信息表图4-5公交查询系统的数据流图(0层图4. 3.2数据库数

23、据表说明表4-1是数据库中所有表的汇总:表4-1数据库汇总表表名功能说明表 line线路名表表 station站名表表 stationline线路名、站名表表 twostationresult站站查询结果表users用户表表 newusers新注册用户表表 role角色表表 rolename角色名表表 liuyan留言表线路表主要保存线路的基木信息字段,包括线路号、线路的价格。(见表4-2 所示)表4-2线路line表字段名称数据类型(精度范围)约束字段说明line namevarchar(20)主键/不允许空线路名pricevarchar(lo)允许空线路价格站点表主要保存站点的基本信息字段

24、,包括线路名。(见表4-3所示)表4-3站点station表字段名称数据类型(精度范围)约朿字段说明station namevarchar(20)主键/不允许空主键/公交站名线路站点表主要保存线路、站点的基本信息字段,包括线路名、站点名、站 点所在线路的顺序。它与站点表和线路表冇关联。它的数据变化随之使站点表或 者线路表发生改变。(见表4-4所示)表4-4线路站点stationline表字段名称数据类型(精度范围)约束字段说明station namevarchar(20)主键/不允许空线路表line namevarchar(20)不允许空公交线路名shunxuvarchar(lo)允许空该站在

25、线路中的顺序站站查询结果表主要保存站站查询后结果的基本信息字段,包括方案编号、 乘车的线路、终点站。如果要转车它还要求冇中转站名、再乘车的线路名。(见表 4-5所示)表4-5站站查询结果twostationresult表字段名称数据类型(精度范围)约束字段说明caseidvarchar(lo)主键/不允许空方案编号station name 1varchar(20)允许空起点站line namelvarchar(20)允许空乘车的线路line一name2varchar(20)允许空再乘的线路名mid stationvarchar(20)允许空中转站点名station name2varchar(2

26、0)允许空终点站用户表主耍保存用户的基本信息字段,包括用户名、角色名、密码、性别。 其中与角色表和关联。(见表4-6所示)表4-6用户users表字段名称数据类型(精度范围)约束字段说明user一namevarchar(20)主键/不允许空用户名role一namevarchar(20)不允许空角色名passwordvarchar(20)不允许空密码sexvarchar(lo)允许空性别新用户表主要保存新注册用户的基木信息字段,包括用户名、角色名、密码、 性別。这表仅供用设置等级时用的,属于临时放置数据的表。(见表4-7所示)表4-7新用户newusers表字段名称数据类型(精度范围)约束字段说

27、明user一namevarchar(20)主键/不允许空用户名role一namevarchar(20)不允许空角色名passwordvarchar(20)不允许空密码sexvarchar(lo)允许空性别角色表主要保存角色的基本信息字段,包拈角色名、角色等级、权限码。(见 表4-8所示)表4-8角色role表字段名称数据类型(精度范围)约束字段说明role一namevarchar(20)主键/不允许空角色名role classinteger(4)允许空角色等级authvarchar(20)允许空权限码角色名表主要保存角色名的基木信息字段,包括角色名。这表仅供用设置角 色名时用的,只做数据下来用

28、的(见表4-9所示)表4-9角色名rolename表字段名称数据类型(精度范围)约束字段说明role一namevarchar(20)主键/不允许空角色名留言表主要保存用户留言的基本信息字段,包括留言编号、用户名、留言内 容、留言时间。(见表4-10所示)表4-10留言liuyan表字段名称数据类型(精度范围)约束字段说明liuyan一idinteger(4)主键/不允许空留言编号user一namevarchar(20)不允许空用户名liuyan contentvarchar(30)允许空留言内容liuyan_timedatetime(8)允许空留言时间4.3.3数据库设计关系图在公交查询系统中

29、,有两个完全独立的模块。一个就是公交查询本身而言的, 像站点与线路的联系。另一个是关于用户管理的角色分配,想角色与用户之间的 联系。很显然,站点与角色用户,线路与角色用户是无联系的。因此,在这个系 统中会有两个和对独立的关系图。这是由表导出来的关系图公交查询系统的公交查询的表关系图如图4-6所示:图4-6公交查询关系图公交奔询系统的用户的表关系阁如阁4-7所示:usersuserenamerole_namesezpasswordav¥rolerole_name人role_classauthvsliuyan1iuyan一i d人一1iuyan一cont ent1iuyan_t imeu

30、serenamev4.4换乘算法的思路与设计首先,换乘算法是参考了 “城市公交查询的设计与实现”的基本思想。在则, 设计系统时,也充分利用了 powerbuilder的数据窗口的优势。而在“城市公交查 询的设计与实现”中核心的思想就是只有当不同线路之间具有公共站点时才能够 进行转车。根据这个的思想,分别在起始站点和终点站寻找公共的线路,若没有, 则进行公共站点的查找,再没有就对通过该站点的线路所经过的站点的线路集合 进行交集。公交换乘的示意图如4-8所示:(a) b达的價况(b)換系一次车的價况图4-8公交线路换乘方案示意图4.4.1研究方法、手段及步骤分别从起点a、终点b出发,通过比较公交网

31、络上各车站的可换乘车站, 追索a到b的可能路径,然后比较各可能路径的距离,來确定最小成本路径91。设s(1=1,2,,m) ( m为正整数)为经过a或其附近的线路集。 t(j)(j=1,2,,n)(n为正整数)为经过b或其附近的线路集。e(i,u) (u = 1,2,p,p为正整数)为线路s(i)上的站点。f(j,v) (v = 1,2,q,q为正整数)为线路t(j)上的站点。4. 4.2算法的步骤算法的基本步骤如下:1) 输入乘车的起始站点a及目的站点b;2) 求经过站点a的所有线路集s(i)和经过站点b的所有线路集t(j);3) 判断s(i)=t(j)吗?如果有,则找到了从站点a到站点b的

32、直达线路 s(i)即t(j),输出结果,结束运算,如果没有则进行下一步。4) 求线路s(i)上的站点e(i ,u)以及线路t(j)上的站点f(j,v);5)判断是否存在相同站点,即e(i,u) = f(j,v);如果满足e(i,u) = f(j,v), 则线路s(i), t(j)即为一次转车的线路,e(i,u)即为转车站点且换车时 不用更换站点llqj。如果没有,再执行下而。在上述情况搜索结束后,输出结果。算法的流程阁如阁4-9所示:图4-9站站查询算法流程图第五章公交查询系统的实现5.1数据库连接公交查询系统是通过mss microsoft sql server连接的。因此,首先在 powe

33、rbuilder 中的 database 中的 mss microsoft sql server 中新建一个 profile。 填上连接的信息。然后在powerbuilder中新建application,在application的 open事件中写下以下连接代码:sqlca.dbms = hmss microsoft sql server"sqlca.database = nla”sqlca.logpass = "1234nsqlca.servername = ".nsqlca.logld = "sa”sqlca.autocommit = falsesq

34、lca.dbparm ="” connect;5.2登录界面与用户注册的实现5.2.1登录界面的实现登录界面中要求用户输入用户名与密码。以下图5-1为登录界面:图5-1用户登录界面部分代码如下:select password into :is_password_table from new users where user name=:is username; s_password_table=trim(is_password_table) select password into :is_password_table from users where user name=:is u

35、sername; s_password_table=trim(is_password_table)/接下来判断用户输入的密码与数据库中的密码是否相等/5.2.2用户注册的实现未注册的用户在登录窗口中点“新用户注册”按钮,然后弹出以下图5-2所 示窗口。用户只要填上信息就可。其中“状态” 一栏是系统默认的,都为齊通用 户。只有管理员有这个权利来修改他的角色状态。在用户管理模块我们会详细说 明时怎样实现的。用户注册地设计窗口如图5-2所示5-2用户注册界面5.3用户公交查询模块的实现公交查询系统模块是该系统的核心模块,在这里系统实现站点查询,线路查 询,站站查询这三个功能。5.3.1站点查询功能站

36、点查询就是当用户想要知道某个站点有哪些公交线路经过时,只需要在站 点查询的界面中,输入所想要查询的站点按一下“查询”,就可以清晰的查看到 经过该站点的所有线路。它的窗口设计如图5-3所示:站点查询功能流程图如下:图5-3公交站点查询界面图5-4站点查询数据流程图la公交查询退出公交站点站点名线路名价格abb2aedhf2aafjdhdhjd22v首先,在这个窗口的open事件中,写入代码,实现将对应数据库的数据检索 一遍。然后,在“公交杳询”按钮中的click事件中写入代码。在这里,它的杳 询功能是模糊斉询。用户只用写几个关键字就可以进行斉询。比如用户要斉询的 精确站名“浙江科技学院”,它只用

37、写“浙江科技”就能查到与浙江科技有关的 字段。以下是该功能的代码:string is_station_name,sis_station_name=trim(sle_l.text)s="stationline一stationname like "+isstation_name+"%dw_l .setfilter(s) dw_l.filter()5. 3.2线路查询功能线路查询是当用户想要知道某条公交线路所经过的站点时,只需要在线路查 询的界面中,输入所想要查询的线路按一下“查询”就可以清晰的查看到要查询 的线路所经过的站点。在这里,用户也可以进行模糊查询。它的窗口设

38、计如图5-5 所示:公交线路193公交查询退出线路名站点名站点顺序 价格4bb22edhfa12fjda12hdhjda12xfga12-'i i >图5-5公交线路查询界面线路齊询功能流程阁如下:图5-6公交线路查询流程图它的“公交杳询”按钮的click事件的代码如下: string is_line_name,s is_line_name=trim(sle_name.text) s=,stationline_line_name like n+isine_name+n%dw_l.setfilter(s)dw_l.filter()dw_l.setsort(stationline_s

39、hunxun)dw_l.sort()5.3.3站站查询功能当用户知道起点站名与终点站名时,就可以使用这个系统。在站站查询屮输 入自己所在的站点并输入想要到达的终点,按一下“查询”,系统就会清晰的列 出你想要的线路等。它的窗口设计如图5-7所示:起点站:终点站:aaf 1公交查询退出方案编号起点乘坐线路转车站点再乘坐线路终点1aak2ak1f图5-7站站查询界面站站查询功能流程图如5-8所示:图5-8公交站站查询流程图它的“公交查询”按钮的click事件的部分代码如下:/直达车/for i=l to dw_l .rowcount()is_linenamel = dw_l .getltemstri

40、ng(i,stationline一line_name”) for j=l to dw_2.rowcount()is_line_name2 = dw_2.getitemstring(j,nstationline_line_name”) if isine_namel = is_line_name2 theninsert into twostationresult (caseid,station_namel,line_namel,station_name2) values (:max_caseid,:is_station_namel,:is_line_name2, :is_station_name2

41、);nextreturnelse/一次换乘的代码与上面类似,只是再加数据窗口,用来检索线路所对应的站,看是否有相等/5.4用户信息更改模块的实现用户更改模块是用户对用户名以及密码的修改。是用户保护自己信息的有效 途径。用户名更改与密码更改中,系统会自动将登入的用户名传入窗口中,这些 数据都是保存在结构化变量屮的。用户名更改窗口设计如图5-9所示:原用户名001现用户名002密码退出确定5-9用户名更改界面用户名“确定”按钮的click事件中,写下以下代码(部分): select password into :is_passwordl from users where user name=:is

42、 oldusername; select password into :is_passwordl from newusers where user name=:is oldusername; if is_password=is_passwordl then update usersset user_name=:is_newusernamewhere user name = :1s oldusername;end if密码更改窗口设计如图5-10所示:001用户名旧您码马辆认新密5马确定 |退出图5-10用户密码更改界面用户名“确定”按钮的click事件中,写下以下代码(部分): if is一p

43、ass <> old一pass thenmessageboxf提示j 口密码错误) sle_old_password.text = sle_old_password.setfocus()returnif new_pass <> new_pass 1 thenmessageboxf提示7新密码不一致) sle_new_password.text = ”sle_new_passwordl .text=” sle_new_password.setfocus()returnend ifend ifupdate usersset password=:new_passwhere u

44、ser name=:is user name ;用户名与密码更改功能流程如图5-11所示:用户信息更改流程5.5公交管理模块的实现公交管理就是管理员对公交线路、站点、票价进行修改,以及增加删除线路。5.5.1公交信息的更改公交线路更改的窗口设计如图5-12所示图5-12线路更改界面公交站点更改的窗口设计如图5-13所示:图5-13站点更改界面公交票价更改的窗口设计如阁5-14所示:票价更改线路名193新票价1确定退出图5-14票价更改界面5.5.2增加删除线路功能增加删除线路功能的窗口设计如图5-16所示:线路名bb查询线路名站名站点顺序价格bbaaa12bb22edhfa12edhfb22&

45、lt;_ 一 j -lj新i曽i己录:|i保存 im出图5-16增加删除线路界面在“删除记录”按钮屮,管理员可以按“shift”键來选择多条来进行删除。 而点击“新增记录”会弹出另一个窗口,在这个窗口中,管理员可以依次添加站 点。“新增记录”的窗口设计如图5-17所示:图5-17増加公交线路界面图片按钮±j,是表示添加下一个站点,它的click会实现站点顺序自增,将不存在的站点录入station表中,数据提交。图片按钮,是表示对前个站点的 奔看或者修改,它的代码如下:string is_line_name,is_station_nameint m,nm=integer(sle_shu

46、nxu.text)is_line_name=trim(sle_line.text)sle_shunxu.text=string(m - 1)n=m -1select station_name into :is_station_name from stationline where line name=:is line name and shunxu = :n; sle_station.text=is_station_name5.6用户管理模块的实现用户管理模块分用户角色分配以及用户删除的功能。用户角色分配主要是将 新注册的用户给与角色分配,最终形成权限的设置。用户删除功能主要是删除用 户。5.

47、6.1新用户管理新用户管理窗口设计中,左边数据窗口是所有新注册的用户,在“角色名” 这一栏中,管理员可以直接右击,它会弹出所有角色名,供管理员选择。它的 按钮,就是将分配好角色的用户添加到右边的数据窗口即添加到users表中。它 的4按钮是取消之前的操作。具体的窗口设计如阁5-18所示:户名性别角色名男昔通用户系统用户<待添加角色用户w伃o取消所有用户退出5.6.2用户删除该功能与前面的公交删除有点类似。它也可以对要查询的对象进行多个查询。 它的窗口设计如图5-19所示:用户名:0011查询用户名性别角色名001女系统用户002女昔通用户003女昔通用户004女昔通用户删除保存退出5-1

48、9用户删除界面5.7权限角色管理模块的实现系统分为普通用户与系统用户。在权限角色管理中,权限为角色表中的一个 字段,被以“0”或“1”的形式存入数据库,例:管理员角色的权限字段为 “111111111111111”,从第一位至最后一位,分别为管理员对菜单第一项至最后 一项的权限。“1”表示可以对该菜单操作,“0”表示不可对该菜单操作。登陆 后读取权限字段数据,并将不可操作项加灰处理。在系统管理菜单屮的角色与权 限管理,管理员角色用户可设置所用角色权限。5.7.1角色管理角色管理就是是否需要增加或者删除角色。在增加删除的操作中,role表与 rolename (在新用户管理中用到)表都耍同时进行

49、修改。它的窗口设计如图5-20 所示:角色管理角色名游客1角色级别3添加公交查询线路查询 站点査询 站站查询p用户管理r新用户管理r删除用户用户信息更改 用户名修改密码修改权限角色管理 厂角色管理r权限设置公交管理 r新增删除公交r线路更改 r票价更改 r站名更改留言薄用户留言 r留言管理r角色名角色级别昔通用户1系统用户2删除保存退出图5-20角色管理界面5. 7.1权限设置权限设置就是管理员对各个角色的权限设置。在下拉窗口中,管理员点击下 来框中的值,系统会讲己经设定好的权限再复选框中显示出来。若想要重设对应 用户的权限,可以按“重置”按钮。它的窗口设计如图5-21所示:角色名昔通用户确定

50、重置退出权限设置的功能流程阁如阁5-22所示:图5-22权限设置功能流程图首先,在“确定”按钮的click事件屮,写下以下部分代码:int islen,nstring mm21,ls_auth,lsrole ls_role=trim(ddlb_l .text)select auth into :ls_auth from role where role_name= :ls_role;is_len=len(ls_auth)for n=l to is_lenmmn=mid(ls_auth,n,1)nextifmmllkv thencbx_l.checked=true/下面依次类推,有几个菜牢就写几个

51、/elsecbx_l >checked=false end if然后,在w_main主窗口的open事件中,写下以下部分代码: if mml=of then/表示菜单是否可用,有几个菜单写几个/m_menu.m_ffl 户公交奔询.m_l .enabled=false end if5.8留言薄模块的实现留言薄模块包括用户留言以及管理员对留言的管理。留言薄是提供用户与用 户,用户与系统管理员沟通的一个平台。5.8.1留言管理功能在留言管理中管理员可以对用户留言进行操作。管理员可以查询某个用户的 留言记录。它的窗口设计如图5-23所示:用户名002|查询 |留5编号用户名留5内容2002好好

52、200$3003太悻啦200$4001什么什么200$剷除 |退出 |5.8.2留言薄的功能留言薄的功能中,它的窗口设计如图5-24所示:我要留5:好好提交迟出所有留言:留言编号用户名留言内容留言时间2 002好好2009-5-27 17:07:413 003太棒啦2009-5-27 17:09:074 001什么什么2009-5-27 17:35:5c图5-24用户留言界面“提交”按钮的click事件中的代码如下: string is_liuyan_content,is_user_name string sys_timeint max_liuyan_idis_liuy an_content=

53、trim(sle_ 1 .text)is_user_name=this_about.user_namesys一time=string(now(),"yyyy-mm-dd hh:mm:ss”) select max(liuyan_id) into :max_liuyan_id from liuyan; if isnull(max_liuyan_id) thenmax_liuyan_id=lelse max_liuyan_id+end ifinsert into liuyan (liuyan_id,liuyancontent,liuyan_time,user_name ) values(:max_liuyan_id,:is_liuyan_content,:sys_time, :is_user_name):第六章公交查询系统的功能测试6.1测试的目的以及意义测试就是为了发现在制作中出现的错误,由于种种因素在系统制作中可能会 出现若干错误,而不易被发现。只有在完成时,以用户的身份和眼光去检验完成 的创作,冰能发现它的不足和出现的错误。测试不但是为了发现错误,还是为了进一步完善该系统。争取令用户满意, 并能给用户带来方便和帮助。测试的过程也是自己提高的过程,通过测试不但能 发现系统的不足(比如系统逻辑,数据传输),还能发现自己对哪一方面

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论