版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、摘 要公交查询系统是城市道路交通的重要组成局部,是城市开展的必然产物,是联系国民生活、社会生产和流通领域的关键环节。公交车查询管理系统是典型的信息管理系统(MIS)。本论文详细介绍了整个系统的已实现的功能。首先,它实现公交线路、日常站点、和任意两个站点查询乘车路线。其次,该系统提供了用户留言的功能。接着是提供用户管理功能和后台车次管理功能;后台车次管理功能主要包含添加车次和站点功能、更新车次和站点功能、删除车次和站点功能,这样做到系统实时更新,为用户查询提供更为准确的信息。此外,该系统是运用SQL Server数据库和PowerBuilder开发工具进行系统开发的。关键词 SQL Server
2、;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 functions
3、 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 info
5、rmation for user. Besides, the system design by the tool of SQL Server database and PowerBuilder 9.0 Keywords SQL Server; MIS; City Public Traffic Inquiry System目录 TOC o 1-3 h z u HYPERLINK l _Toc232417020 摘 要 PAGEREF _Toc232417020 h I HYPERLINK l _Toc232417021 ABSTRACT PAGEREF _Toc232417021 h II HY
6、PERLINK l _Toc232417022 第一章 引言 PAGEREF _Toc232417022 h 1 HYPERLINK l _Toc232417023 1.1 背景 PAGEREF _Toc232417023 h 1 HYPERLINK l _Toc232417024 1.2 研究的内容 PAGEREF _Toc232417024 h 1 HYPERLINK l _Toc232417025 第二章 开发的相关技术 PAGEREF _Toc232417025 h 3 HYPERLINK l _Toc232417026 2.1 开发工具 PAGEREF _Toc232417026 h
7、 3 HYPERLINK l _Toc232417027 2.2 SQL Server 2000的介绍 PAGEREF _Toc232417027 h 3 HYPERLINK l _Toc232417028 第三章 公交查询系统的需求分析 PAGEREF _Toc232417028 h 4 HYPERLINK l _Toc232417029 3.1 现行业系统描述 PAGEREF _Toc232417029 h 4 HYPERLINK l _Toc232417030 3.2 现行系统存在的主要问题分析 PAGEREF _Toc232417030 h 4 HYPERLINK l _Toc2324
8、17031 3.3 用例分析 PAGEREF _Toc232417031 h 4 HYPERLINK l _Toc232417032 3.4 系统需求 PAGEREF _Toc232417032 h 5 HYPERLINK l _Toc232417033 3.5 功能需求 PAGEREF _Toc232417033 h 6 HYPERLINK l _Toc232417034 3.6 性能要求 PAGEREF _Toc232417034 h 7 HYPERLINK l _Toc232417035 第四章 公交查询系统的设计 PAGEREF _Toc232417035 h 8 HYPERLINK
9、l _Toc232417036 总体设计结构 PAGEREF _Toc232417036 h 8 HYPERLINK l _Toc232417037 4.2 实体关系分析 PAGEREF _Toc232417037 h 9 HYPERLINK l _Toc232417038 4.3 数据库设计 PAGEREF _Toc232417038 h 10 HYPERLINK l _Toc232417039 4.3.1 数据流分析 PAGEREF _Toc232417039 h 10 HYPERLINK l _Toc232417040 4.3.2 数据库数据表说明 PAGEREF _Toc2324170
10、40 h 11 HYPERLINK l _Toc232417041 4.3.3 数据库设计关系图 PAGEREF _Toc232417041 h 14 HYPERLINK l _Toc232417042 4.4 换乘算法的思路与设计 PAGEREF _Toc232417042 h 15 HYPERLINK l _Toc232417043 4.4.1 研究方法、手段及步骤 PAGEREF _Toc232417043 h 15 HYPERLINK l _Toc232417044 4.4.2 算法的步骤 PAGEREF _Toc232417044 h 15 HYPERLINK l _Toc23241
11、7045 第五章 公交查询系统的实现 PAGEREF _Toc232417045 h 17 HYPERLINK l _Toc232417046 5.1 数据库连接 PAGEREF _Toc232417046 h 17 HYPERLINK l _Toc232417047 5.2 登录界面与用户注册的实现 PAGEREF _Toc232417047 h 17 HYPERLINK l _Toc232417048 5.2.1 登录界面的实现 PAGEREF _Toc232417048 h 17 HYPERLINK l _Toc232417049 5.2.2 用户注册的实现 PAGEREF _Toc23
12、2417049 h 18 HYPERLINK l _Toc232417050 5.3 用户公交查询模块的实现 PAGEREF _Toc232417050 h 19 HYPERLINK l _Toc232417051 5.3.1 站点查询功能 PAGEREF _Toc232417051 h 19 HYPERLINK l _Toc232417052 5.3.2 线路查询功能 PAGEREF _Toc232417052 h 20 HYPERLINK l _Toc232417053 5.3.3 站站查询功能 PAGEREF _Toc232417053 h 21 HYPERLINK l _Toc2324
13、17054 5.4 用户信息更改模块的实现 PAGEREF _Toc232417054 h 23 HYPERLINK l _Toc232417055 5.5 公交管理模块的实现 PAGEREF _Toc232417055 h 26 HYPERLINK l _Toc232417056 5.5.1 公交信息的更改 PAGEREF _Toc232417056 h 26 HYPERLINK l _Toc232417057 5.5.2 增加删除线路功能 PAGEREF _Toc232417057 h 28 HYPERLINK l _Toc232417058 5.6 用户管理模块的实现 PAGEREF _
14、Toc232417058 h 29 HYPERLINK l _Toc232417059 5.6.1 新用户管理 PAGEREF _Toc232417059 h 29 HYPERLINK l _Toc232417060 5.6.2 用户删除 PAGEREF _Toc232417060 h 30 HYPERLINK l _Toc232417061 5.7 权限角色管理模块的实现 PAGEREF _Toc232417061 h 30 HYPERLINK l _Toc232417062 5.7.1 角色管理 PAGEREF _Toc232417062 h 31 HYPERLINK l _Toc2324
15、17063 5.7.2 权限设置 PAGEREF _Toc232417063 h 30 HYPERLINK l _Toc232417064 5.8 留言薄模块的实现 PAGEREF _Toc232417064 h 32 HYPERLINK l _Toc232417065 5.8.1 留言管理功能 PAGEREF _Toc232417065 h 32 HYPERLINK l _Toc232417066 5.8.2 留言薄的功能 PAGEREF _Toc232417066 h 34 HYPERLINK l _Toc232417067 第六章 公交查询系统的功能测试 PAGEREF _Toc2324
16、17067 h 35 HYPERLINK l _Toc232417068 6.1 测试的目的以及意义 PAGEREF _Toc232417068 h 35 HYPERLINK l _Toc232417069 6.2 测试的方法 PAGEREF _Toc232417069 h 35 HYPERLINK l _Toc232417070 6.3 测试的过程 PAGEREF _Toc232417070 h 36 HYPERLINK l _Toc232417071 第七章 结束语 PAGEREF _Toc232417071 h 37 HYPERLINK l _Toc232417072 致谢 PAGERE
17、F _Toc232417072 h 38 HYPERLINK l _Toc232417073 参考文献 PAGEREF _Toc232417073 h 39第一章 引言1.1 背景随着社会的进步和科学技术的开展,人们衣、食、住、行的条件都有了很大的改善,同时对衣、食、住、行的质量有了更高的要求,特别是在“行这一方面。人类社会的出行方式经历的无数的变迁,随着科学技术的进步,最终形成了今天的错综复杂的城市公交,并建立起城市公交系统,自然也就产生了对城市公交系统的查询,称之为城市公交查询系统1。随着我国经济的高速开展,人们生活水平的提高,越来越多的人开始热衷于到外地旅游。那么对于这些外来旅游者,首先
18、搞清这个城市的公交路线显的很重要!而城市公交路线查询成为旅客与城市的重要纽带。城市经济开展,城市规模越来越大,相应的城市公交系统也越来越庞大。许多新建小区大量出现,公交线路也日渐增多,给人们的出行带来了极大便利,但是由于城市规模的不断开展,给人们选择出行乘车线路造成了一定的困难。因此在这里公交查询系统发挥了其较重要的作用。乘客只需选择车次或输入要查询的站点,系统会快速的给出结果。大家都知道城市公交致力于为人们提供快捷,方便,和经济的出行条件,城市公交查询就显得尤为重要,在走访了街头的站点之后发现,联系乘客和公交的主要方式是国标式站牌和豪华站牌,而真正意义上的公交查询系统却很少见,我们的城市急迫
19、的需要公交查询系统的出现,因为它承载着向用户提供信息和吸收用户反应的双项任务2。有了这样的城市公交查询系统,乘客可以方便,快捷地查询公交信息,或提出有关于城市公交的建议和意见;公交公司也能够迅速获取乘客意见,对现有公交系统进行改善,推进城市公交系统的开展。1.2 研究的内容此系统条用C/S架构,工程完成后发布到互联网上,供所有注册用户访问。系统分为前台与后台两局部。前台能够供所有用户访问,后台由公交公司管理人员进行维护。实施此工程后,公交公司可以随时把公交最新信息发布到系统里,乘客可以在世界的任何地点随时查询公交信息,也提供一些以便为乘客为主旨的便民效劳,也便于乘客提供一些好的意见与建议。系统
20、的核心功能为公交车的信息查询,查询公为站站查询、站点查询与线路查询。线路查询,用户输入线路号,查询出此线路车的详细信息;站点查询,用户输入站点名称,查询出经过此站点的所的车次,并能够查看车次的详细信息;站站查询,用户输入起止站点,查询出如何乘车到达,要求能够查询出所有直达车次与转乘可到达车次。系统前台提供的主要功能除了公交车查询外还包括:用户留言、会员注册、会员登录、会员密码修改、会员信息维护。系统后台由公交公司人员来维护。要提供的功能有线路维护、站点维护、车次/站点关系维护、线路查询、留言管理、会员管理、平台信息维护、系统权限管理。公交查询系统做为一个典型的Management Inform
21、ation System系统,它是包含降低本钱的战略要求。因此,它是符合开发者对系统的要求3。城市交通信息化管理的目的就是为人效劳,为社会效劳。它不仅仅只是为政府管理部门提供信息决策支持和管理规划,它还应具备为广阔民众提供交通信息效劳及出行指导的功4。管理信息系统的作用主要有三个方面: 辅助分析、标准化管理、节省人力5。在当今的信息时代, 网上资源已成为人们获取信息的重要来源。而这种信息的传递与交流只有在标准化与标准化的前提下才能快速有效的进行6。这就对以往的数据编目格式提出了挑战。而公交查询系统就是这样的信息管理系统。第二章 开发的相关技术2.1 开发工具PowerBuilder 是一种面向
22、对象的快速开发工具。同大多数的Windows应用程序一样,采用事件驱开工作地方式7。在这种方式下,程序的运行没有绝对固定的流程,程序中的代码均是为所有可能发生的各种事件而编写的8。当程序开始运行以后,它就可以接受来自系统、用户或其他应用程序所触发的时间,然后根据不同的事件执行相应的代码。PowerBuilder 最大的特点是采用 独一无二的数据窗口技术。这种技术对定义和开发数据库连接进行了抽象,使得程序开发人员能够完全可视化地完成应用系统中有关数据库的编程工作。它并且提供了对目前几乎所有的流行大型数据库系统和桌面数据库系统的支持。对于Sybase、Oracle、SQL Server、Infor
23、mix这些大型的数据库管理系统,PowerBuilder 提供了专用数据库接口。2.2 SQL Server 2000的介绍SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统。具有使用方便可伸缩性好与相关软件集成程度高等优点,它是一个全面的数据库平台,使用集成的商业智能 (BI) 工具提供了企业级的数据管理。SQL Server 2000 数据库引擎为关系型数据和结构化数据提供了更平安可靠的存储功能,可以构建和管理用于业务的高可用和高性能的数据应用程序。SQL Server 2000 数据引擎是本企业数据管理解决方案的核心。此外 SQL Ser
24、ver 2000 结合了分析、报表、集成和通知功能。用SQL Server 2000作为后台数据库是既经济又能保证平安性的最正确选择。第三章 公交查询系统的需求分析3.1 现行业系统描述随着现代社会的开展,交通也越来越兴旺,人们也开始不断外出旅游了,当我们去一个不熟悉的城市时,看交通地图,向熟人打听等传统方式查询公交信息,这样会浪费我们很多时间、精力和财力,而且得到的信息也不一定是可靠的。这是公交网络系统还不兴旺的过去会出现的情况,虽然我国的公交网络系统起步较晚,不过近几年来正在不断的开展,公交查询系统也在此环境下开展兴起。3.2 现行系统存在的主要问题分析虽然近年来公交查询系统开展迅速,不过
25、开展的同时也存在着一些问题,还需要不断的标准和完善。1有一局部公交查询系统,它们只是把各条线路和线路的信息一一罗列,这样的公交查询根本不方便、快捷。一个真正完善的公交查询系统应该实现用户输入想查询的内容,系统自动查询出结果,而不是让用户手动去翻找查询;2也有一局部公交查询系统,它们的系统功能不完善,只实现了站点的查询和线路的查询,而没有实现站点到站站查询的功能,这不能完全满足用户的需求;3还有一局部公交查询系统,它们系统功能还算完善,但是结构复杂,而且布满了广告和各种与公交查询无关的信息,影响了系统在用户心目中的良好形象。因此公交查询系统的开展还有待进一步的标准和改良。3.3 用例分析用户可以
26、执行线路查询、站点查询、站站查询包括:直接到达、一次换乘的操作,还可以对系统留言,更改自己的信息。用户的用例分析如图3-1所示:图3-1 用户用例图管理员可以新增、修改、删除数据记录,以保证公交车线路的是正确用的。也可以适当对留言删除。管理员的用例分析如图3-2所示: 图3-2 管理员后台用例图3.4 系统需求根据查询系统的业务流程,以及所需要实现的目标,我们拟定出以下诉求目标:建立线路查询,实现查询出目标线路所经过的所有站点建立站点查询,实现查询出经过目标站点的所有公交线路建立站站查询,实现两站点之间的所有换乘线路的查询包括:直达车次,一次换乘实现公交线路的管理实现权限设置,对不同角色进行管
27、理留言薄3.5 功能需求随着城市的高速开展,公交线路的不断扩充,人们要从错综复杂的公交线路中找出到达目的地的理想线路,不是一件容易的事。从而基于计算机的公交车查询系统应运而生。该系统打破的传统查询的弊端,实现了自动的线路查询、站点查询、站站查询、线路站点的管理等功能。具体包括:线路查询:方便用户了解到最快最新的线路信息,如:此线路经过哪些站点,和站点在线路中的位置等。站点查询:用户如果对线路不清楚,只知道自己要去的地方,那么站点查询会帮你快速找出可以搭乘哪些线路的公交车到达此地,和各线路的相关信息,并注明了此站点在相应线路中的顺序,方便用户了解该站点在线路中所处的位置。站站查询:如果没有直达线
28、路,那么找出转乘的公交路线。用户输入起始站和终点站作为查询关键字,即可查询到的到达目的地址的公交线路。可以为用户节省更多的时间,也提高了效率。公交线路管理:包括了对公交线路和站点的增加、删除、修改。也包括管理员的创立、删除和权限管理。实现权限设置,对不同角色进行管理:创立角色,设置该角色对应的权限。也可以删除用户。留言薄:用户能对系统的使用反应,管理员管理用户提交的留言。3.6 性能要求在最低配置的情况下,系统的性能往往不尽如人意,现在的硬件性能已经相当出色,而且价格也很廉价,因此可以给效劳器端配置高性能的硬件。最低配置如下:处理器:Pentium III 1G 内存:512MB 硬盘空间:1
29、G 软件环境:操作系统:Windows 2000/2003软件:数据库:SQL server 2000第四章 公交查询系统的设计该系统要求为一个C/S 结构的工程。该系统由六个主要功能模块组成,分别是权限角色模块、用户公交查询模块、公交管理模块、用户信息管理模块、用户管理模块、留言薄模块。参考的系统结构图如图4-1所示: 公交查询系统 公交查询系统 权限角色管理 用户公交查询 公交管理 用户信息管理 留言薄模块权限设置角色管理线路查询站点查询新增删除公交线路更名票价更改用户名更改密码更改站点更改用户留言留言管理站站查询用户管理 新用户管理删除用户图4-1系统结构图权限角色模块是由管理员操作,用
30、于管理用户的角色信息和权限信息。主要功能:添加、删除、修改用户角色,添加、删除、修改角色,用户权限设置设置用户使用自己账户登录后能使用的菜单项。用户公交查询模块是系统的核心局部。在这里用户可以进行公交查询。它包括站点查询、线路查询、站站查询。公交管理模块是由管理员操作,包括公交数据的更改、新线路的增加、修改、删除。用户管理模块也是由管理员操作的。它的主要功能是对新注册的用户进行角色分配和删除用户。用户信息管理模块是注册用户自己操作的,用于修改自己的用户名或者密码。 留言薄模块中用户留言是管理员与用户可以一起参与的。它主要提供一个交流的平台。留言管理是由管理员操作的,管理员可以对留言进行删除。4
31、.2 实体关系分析公交查询系统有两个不同的实体关系图。一个是涉及公交查询本身,另一个是涉及用户管理。公交查询管理的实体有三个:站点、线路、站点线路。用户管理的实体也有三个:留言、角色、用户。它们的实体关系图如图4-2,图4-3所示:1 1 n 线 路 站 点 线 路 所 属 站 点 所 属 n 1 图 4-2 公交查询管理的实体关系图11n n留 言 1 用 户 注 册 角 色 所 属 图 4-3 用户管理的实体关系图4.3 数据库设计4.3.1 数据流分析在之前的系统需求根底上,绘制出公交查询系统顶层图与0层图。顶层流图只包含一个加工,用以表示被开发的系统,然后考虑该系统有哪些输入数据、输出
32、数据流。顶层图的作用在于说明被开发系统的范围以及它和周围环境的数据交换关系。而0层图是把顶层图的加工分解成假设干个加工,并用数据流将这些加工连接起来,使得顶层图的输入数据经过假设干加工处理后,变成顶层图的输出数据流。公交查询系统的顶层图如图4-4所示:系统管理员 系统管理员 0 公交查询系统 用 户 角色表 公交信息表 公交信息 用户角色信息 公交查询请求 留言信息 用户表 留言表 用户信息 查询结果 图 4-4 公交查询系统的数据流图顶层图它的0层数据流图如4-5所示:图 4-5 公交查询系统的数据流图0层图4.3.2 数据库数据表说明表4-1是数据库中所有表的汇总:表4-1 数据库汇总表表
33、名功能说明表line线路名表表station站名表表stationline线路名、站名表表twostationresult站站查询结果表表users用户表表newusers新注册用户表表role角色表表rolename角色名表表liuyan留言表线路表主要保存线路的根本信息字段,包括线路号、线路的价格。(见表4-2所示)表4-2 线路line表字段名称数据类型精度范围约束字段说明Line_nameVarchar(20)主键/不允许空线路名priceVarchar(10)允许空线路价格站点表主要保存站点的根本信息字段,包括线路名。(见表4-3所示)表4-3 站点station表字段名称数据类型精
34、度范围约束字段说明station_nameVarchar(20)主键/不允许空主键/公交站名线路站点表主要保存线路、站点的根本信息字段,包括线路名、站点名、站点所在线路的顺序。它与站点表和线路表有关联。它的数据变化随之使站点表或者线路表发生改变。(见表4-4所示)表4-4 线路站点stationline表字段名称数据类型精度范围约束字段说明Station_nameVarchar(20)主键/不允许空线路表Line_nameVarchar(20)不允许空公交线路名ShunxuVarchar(10)允许空该站在线路中的顺序站站查询结果表主要保存站站查询后结果的根本信息字段,包括方案编号、乘车的线路
35、、终点站。如果要转车它还要求有中转站名、再乘车的线路名。(见表4-5所示)表4-5 站站查询结果twostationresult表字段名称数据类型精度范围约束字段说明caseidVarchar(10)主键/不允许空方案编号station_name1Varchar(20)允许空起点站line_name1Varchar(20)允许空乘车的线路line_name2Varchar(20)允许空再乘的线路名mid_stationVarchar(20)允许空中转站点名station_name2Varchar(20)允许空终点站用户表主要保存用户的根本信息字段,包括用户名、角色名、密码、性别。其中与角色表相
36、关联。(见表4-6所示)表4-6 用户users表字段名称数据类型精度范围约束字段说明user_nameVarchar(20)主键/不允许空用户名role_nameVarchar(20)不允许空角色名PasswordVarchar(20)不允许空密码sexVarchar(10)允许空性别新用户表主要保存新注册用户的根本信息字段,包括用户名、角色名、密码、性别。这表仅供用设置等级时用的,属于临时放置数据的表。(见表4-7所示)表4-7 新用户newusers表字段名称数据类型精度范围约束字段说明user_nameVarchar(20)主键/不允许空用户名role_nameVarchar(20)不
37、允许空角色名PasswordVarchar(20)不允许空密码sexVarchar(10)允许空性别角色表主要保存角色的根本信息字段,包括角色名、角色等级、权限码。(见表4-8所示)表4-8 角色role表字段名称数据类型精度范围约束字段说明role_nameVarchar(20)主键/不允许空角色名role_classinteger(4)允许空角色等级AuthVarchar(20)允许空权限码角色名表主要保存角色名的根本信息字段,包括角色名。这表仅供用设置角色名时用的,只做数据下来用的(见表4-9所示)表4-9 角色名rolename表字段名称数据类型精度范围约束字段说明role_nameV
38、archar(20)主键/不允许空角色名留言表主要保存用户留言的根本信息字段,包括留言编号、用户名、留言内容、留言时间。(见表4-10所示)表4-10 留言liuyan表字段名称数据类型精度范围约束字段说明liuyan_idinteger(4)主键/不允许空留言编号user_nameVarchar(20)不允许空用户名liuyan_contentVarchar(30)允许空留言内容liuyan_timeDatetime(8)允许空留言时间4.3.3 数据库设计关系图在公交查询系统中,有两个完全独立的模块。一个就是公交查询本身而言的,像站点与线路的联系。另一个是关于用户管理的角色分配,想角色与用
39、户之间的联系。很显然,站点与角色用户,线路与角色用户是无联系的。因此,在这个系统中会有两个相对独立的关系图。这是由表导出来的关系图公交查询系统的公交查询的表关系图如图4-6所示:图4-6 公交查询关系图公交查询系统的用户的表关系图如图4-7所示:图4-7 用户管理关系图4.4 换乘算法的思路与设计首先,换乘算法是参考了“城市公交查询的设计与实现的根本思想。在那么,设计系统时,也充分利用了PowerBuilder的数据窗口的优势。而在“城市公交查询的设计与实现中核心的思想就是只有当不同线路之间具有公共站点时才能够进行转车。根据这个的思想,分别在起始站点和终点站寻找公共的线路,假设没有,那么进行公
40、共站点的查找,再没有就对通过该站点的线路所经过的站点的线路集合进行交集。公交换乘的示意图如4-8所示:图4-8 公交线路换乘方案示意图4.4.1 研究方法、手段及步骤分别从起点 A 、终点 B 出发,通过比拟公交网络上各车站的可换乘车站,追索 A 到B 的可能路径 ,然后比拟各可能路径的距离 ,来确定最小本钱路径9。设 S(I) (I = 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) (
41、V = 1 ,2 , ,q ,q为正整数)为线路 T(J) 上的站点。4.4.2 算法的步骤算法的根本步骤如下:输入乘车的起始站点 A 及目的站点B;求经过站点 A 的所有线路集S(I) 和经过站点B 的所有线路集 T(J);判断 S(I) = T(J) 吗?如果有,那么找到了从站点 A 到站点B 的直达线路S(I) 即T(J),输出结果,结束运算,如果没有那么进行下一步。求线路 S(I) 上的站点 E(I ,U) 以及线路 T(J) 上的站点 F(J ,V);判断是否存在相同站点,即 E(I ,U) = F(J ,V); 如果满足 E(I ,U) = F(J ,V),那么线路 S(I),T(
42、J) 即为一次转车的线路,E(I ,U) 即为转车站点且换车时不用更换站点10。如果没有,再执行下面。在上述情况搜索结束后 ,输出结果。算法的流程图如图4-9所示:开 始 开 始 E (I,U)=F(J,V) S (I) = T (J) 输出S(I) or T (J) 输出S(I), T (J), E (U, I) 结 束 Y Y N 获 取 起 点 获 取 终 点 获取起点对应 的公交线 S (I) 获取终点对应 的公交线 T (J) S(I)的所有公交站点 T(J)的所有公交站点 处理变更请求 返回成功 保存数据 去除数据 结束 Y失败 成功 图4-9 站站查询算法流程图处理变更请求 返回
43、成功 保存数据 去除数据 结束 Y失败 成功 第五章 公交查询系统的实现5.1 数据库连接公交查询系统是通过MSS Microsoft SQL server连接的。因此,首先在PowerBuilder中的Database中的MSS Microsoft SQL server中新建一个Profile。填上连接的信息。然后在PowerBuilder中新建application,在application的Open事件中写下以下连接代码:SQLCA.DBMS = MSS Microsoft SQL ServerSQLCA.Database = laSQLCA.LogPass = 1234SQLCA.Se
44、rverName = .SQLCA.LogId = saSQLCA.AutoCommit = FalseSQLCA.DBParm = connect;5.2 登录界面与用户注册的实现5.2.1 登录界面的实现登录界面中要求用户输入用户名与密码。以下列图5-1为登录界面:图5-1 用户登录界面局部代码如下:select password into :Is_password_table from newusers where user_name=:Is_username;s_password_table=trim(Is_password_table)select password into :Is
45、_password_table from users where user_name=:Is_username;s_password_table=trim(Is_password_table)/接下来判断用户输入的密码与数据库中的密码是否相等/ 5.2.2 用户注册的实现未注册的用户在登录窗口中点“新用户注册按钮,然后弹出以下列图5-2所示窗口。用户只要填上信息就可。其中“状态一栏是系统默认的,都为普通用户。只有管理员有这个权利来修改他的角色状态。在用户管理模块我们会详细说明时怎样实现的。用户注册地设计窗口如图5-2所示图5-2 用户注册界面5.3 用户公交查询模块的实现公交查询系统模块是该系
46、统的核心模块,在这里系统实现站点查询,线路查询,站站查询这三个功能。5.3.1 站点查询功能站点查询就是当用户想要知道某个站点有哪些公交线路经过时,只需要在站点查询的界面中,输入所想要查询的站点按一下“查询,就可以清晰的查看到经过该站点的所有线路。它的窗口设计如图5-3所示:图5-3 公交站点查询界面站点查询功能流程图如下:图5-4 站点查询数据流程图首先,在这个窗口的open事件中,写入代码,实现将对应数据库的数据检索一遍。然后,在“公交查询按钮中的click事件中写入代码。在这里,它的查询功能是模糊查询。用户只用写几个关键字就可以进行查询。比方用户要查询的精确站名“浙江科技学院,它只用写“
47、浙江科技就能查到与浙江科技有关的字段。以下是该功能的代码:string Is_station_name,sIs_station_name=trim(sle_1.text)s=stationline_station_name like %+Is_station_name+% dw_1.setfilter(s) dw_1.filter()5.3.2 线路查询功能线路查询是当用户想要知道某条公交线路所经过的站点时,只需要在线路查询的界面中,输入所想要查询的线路按一下“查询就可以清晰的查看到要查询的线路所经过的站点。在这里,用户也可以进行模糊查询。它的窗口设计如图5-5所示:图5-5 公交线路查询界面
48、线路查询功能流程图如下:图5-6 公交线路查询流程图它的“公交查询按钮的Click事件的代码如下:string Is_line_name,sIs_line_name=trim(sle_name.text)s=stationline_line_name like %+Is_line_name+%dw_1.setfilter(s)dw_1.filter()dw_1.setsort(stationline_shunxu)dw_1.sort()5.3.3 站站查询功能当用户知道起点站名与终点站名时,就可以使用这个系统。在站站查询中输入自己所在的站点并输入想要到达的终点,按一下“查询,系统就会清晰的列出
49、你想要的线路等。它的窗口设计如图5-7所示:图5-7 站站查询界面站站查询功能流程图如5-8所示:图5-8 公交站站查询流程图它的“公交查询按钮的Click事件的局部代码如下:/直达车/for i=1 to dw_1.rowcount()Is_line_name1 = dw_1.GetItemstring(i,stationline_line_name)for j=1 to dw_2.rowcount()Is_line_name2 = dw_2.GetItemstring(j,stationline_line_name)if Is_line_name1 = Is_line_name2 then
50、insert into twostationresult (caseid,station_name1, line_name1,station_name2) values (:max_caseid, :Is_station_name1, :Is_line_name2, :Is_station_name2);nextreturnElse/一次换乘的代码与上面类似,只是再加数据窗口,用来检索线路所对应的站,看是否有相等/5.4 用户信息更改模块的实现用户更改模块是用户对用户名以及密码的修改。是用户保护自己信息的有效途径。用户名更改与密码更改中,系统会自动将登入的用户名传入窗口中,这些数据都是保存在结
51、构化变量中的。用户名更改窗口设计如图5-9所示:图5-9 用户名更改界面用户名“确定按钮的Click事件中,写下以下代码局部:select password into :Is_password1 from userswhere user_name=:Is_oldusername;select password into :Is_password1 from newuserswhere user_name=:Is_oldusername;if Is_password=Is_password1 thenupdate usersset user_name=:Is_newusernamewhere u
52、ser_name = :Is_oldusername;end if 密码更改窗口设计如图5-10所示:图5-10 用户密码更改界面用户名“确定按钮的Click事件中,写下以下代码局部:if Is_pass old_pass thenmessagebox(提示,旧密码错误)sle_old_password.text = sle_old_password.setfocus( )returnif new_pass new_pass1 thenmessagebox(提示,新密码不一致)sle_new_password.text = sle_new_password1.text=sle_new_pass
53、word.setfocus( )returnend ifend ifupdate users set password=:new_passwhere user_name=:Is_user_name ;用户名与密码更改功能流程如图5-11所示:输入数据 输入数据 是否更改数据 处理变更请求 Y返回成功 失败 成功 保存数据 去除数据 N 结束 获取登陆的用户名 用 户 名 修 改 密 码 更 改 图5-11 用户信息更改流程图5.5 公交管理模块的实现公交管理就是管理员对公交线路、站点、票价进行修改,以及增加删除线路。5.5.1 公交信息的更改公交线路更改的窗口设计如图5-12所示:图5-12
54、线路更改界面公交站点更改的窗口设计如图5-13所示:图5-13 站点更改界面公交票价更改的窗口设计如图5-14所示:图5-14 票价更改界面公交线路、站点、票价的修改功能流程图如图5-15所示:图5-15 公交信息更改流程图5.5.2 增加删除线路功能增加删除线路功能的窗口设计如图5-16所示:图5-16 增加删除线路界面在“删除记录按钮中,管理员可以按“shift键来选择多条来进行删除。而点击“新增记录会弹出另一个窗口,在这个窗口中,管理员可以依次添加站点。“新增记录的窗口设计如图5-17所示:图5-17 增加公交线路界面图片按钮,是表示添加下一个站点,它的Click会实现站点顺序自增,将不
55、存在的站点录入station表中,数据提交。图片按钮,是表示对前个站点的查看或者修改,它的代码如下:string Is_line_name ,Is_station_nameint m,nm=integer(sle_shunxu.text)Is_line_name=trim(sle_line.text)sle_shunxu.text=string(m - 1)n=m -1select station_name into :Is_station_name from stationlinewhere line_name=:Is_line_name and shunxu = :n;sle_statio
56、n.text=Is_station_name5.6 用户管理模块的实现用户管理模块分用户角色分配以及用户删除的功能。用户角色分配主要是将新注册的用户给与角色分配,最终形成权限的设置。用户删除功能主要是删除用户。5.6.1 新用户管理新用户管理窗口设计中,左边数据窗口是所有新注册的用户,在“角色名这一栏中,管理员可以直接右击,它会弹出所有角色名,供管理员选择。它的按钮,就是将分配好角色的用户添加到右边的数据窗口即添加到users表中。它的按钮是取消之前的操作。具体的窗口设计如图5-18所示:图5-18 新用户管理界面图5.6.2 用户删除该功能与前面的公交删除有点类似。它也可以对要查询的对象进行
57、多个查询。它的窗口设计如图5-19所示:图5-19 用户删除界面图5.7 权限角色管理模块的实现系统分为普通用户与系统用户。在权限角色管理中,权限为角色表中的一个字段,被以“0或“1的形式存入数据库,例:管理员角色的权限字段为“,从第一位至最后一位,分别为管理员对菜单第一项至最后一项的权限。“1表示可以对该菜单操作,“0表示不可对该菜单操作。登陆后读取权限字段数据,并将不可操作项加灰处理。在系统管理菜单中的角色与权限管理,管理员角色用户可设置所用角色权限。5.7.1 角色管理角色管理就是是否需要增加或者删除角色。在增加删除的操作中,role表与rolename在新用户管理中用到表都要同时进行修
58、改。它的窗口设计如图5-20所示:图5-20 角色管理界面5.7.1 权限设置权限设置就是管理员对各个角色的权限设置。在下拉窗口中,管理员点击下来框中的值,系统会讲已经设定好的权限再复选框中显示出来。假设想要重设对应用户的权限,可以按“重置按钮。它的窗口设计如图5-21所示:图5-21 权限设置管理界面权限设置的功能流程图如图5-22所示:开始 开始 获 取 角 色 名 是否为新角色名 是否保存角色权限 Y 显示角色权限 N 设置角色权限 Y 是否修改角色权限 保存数据 去除数据 Y N N 图5-22 权限设置功能流程图首先,在“确定按钮的click事件中,写下以下局部代码:int is_l
59、en,n string mm21,ls_auth,ls_rolels_role=trim(ddlb_1.text) select auth into :ls_auth from role where role_name= :ls_role; is_len=len(ls_auth) for n=1 to is_len mmn=mid(ls_auth,n,1) nextif mm1=1 thencbx_1.checked=true /下面依次类推,有几个菜单就写几个/else cbx_1.checked=falseend if然后,在w_main主窗口的open事件中,写下以下局部代码:if mm
60、1=0 then /表示菜单是否可用,有几个菜单写几个/ m_menu.m_用户公交查询.m_1.enabled=false end if 5.8 留言薄模块的实现留言薄模块包括用户留言以及管理员对留言的管理。留言薄是提供用户与用户,用户与系统管理员沟通的一个平台。5.8.1 留言管理功能在留言管理中管理员可以对用户留言进行操作。管理员可以查询某个用户的留言记录。它的窗口设计如图5-23所示:图5-23 留言管理界面5.8.2 留言薄的功能留言薄的功能中,它的窗口设计如图5-24所示:图5-24 用户留言界面“提交按钮的click事件中的代码如下:string Is_liuyan_conten
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《模具设计与制造课程设计》教学大纲
- 建筑防火教研室教案
- 玉溪师范学院《数字电子技术》2021-2022学年期末试卷
- 数据终端设备账务处理实例-做账实操
- 冬季防火教育课件
- 房地产 -宋风古城商业景观氛围营造设计
- 2024年矿业测量仪器项目综合评估报告
- 2023年湿法加工合成云母粉项目评价分析报告
- 草坪地毯购买协议书范本
- 彩砖铺设协议书
- 2024年国家公务员考试《行测》真题卷(行政执法)答案和解析
- 消化内科五年发展规划
- 生猪屠宰兽医卫生检验人员理论考试题库及答案
- 《陆上风电场工程设计概算编制规定及费用标准》(NB-T 31011-2019)
- 大葱栽培技术.ppt
- 列管式冷却器、GLC型冷却器尺寸表(共3页)
- 国家开放大学《数学思想与方法》形考任务参考答案
- SAPO_34分子筛表面酸性质的研究
- 货运证明范本
- 电机常用公差配合
- 幕墙使用、保养、维修说明书
评论
0/150
提交评论