公交查询系统分析报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

西安市公交查询系统
学生姓名:____
学号:—
专业: 计算机科学与技术班级:_____________
目录
1 •引言.................................
1.1设计目标..............................
1.2采取的策略............................
1.3设计依据..............................
1.4参考资料..............................
2 •系统总体结构设计............................
2.1系统逻辑结构设计..........................
2.2系统物理结构设计..........................
3. ..................................................................................... 子系统设计(模块设计)............................
4 •数据库系统设计..................
4.1设计要求....................
4.2数据库设计..................
5 .网络通信设计....................
5.1设计要求....................
5.2网络设计方案..................
6. 信息编码设计....................
7. 关键技术......................
7.1提高查询速度..................
7.2系统安全....................
8. 系统配置..............................
8.1 硬件和网络配置........................
8.2 数据库和软件配置.........................
9. 限制.................................
9.1通信线路选择............................
1
1
1
1
1
1
2
4
6 错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

错误!未定义书签。

20
20
20
20
20
20
20
20
9.2数据库在线容量限制........................
10. 组织机构和人员配置 .........................
11. 参考和引用资料 ...........................
20
1. 引言
1.1设计目标
在网络环境的支撑下建立城市公交信息查询系统,实现管理者对车辆信息、站点信息、线路信息、公交新闻、用户建议等进行管理的能力,方便管理者在后台对公交运营情况的掌握和管理,做出未来发展的决策;为用户提供实时更新的公交信息,可以让用户迅速了解准确的公交动态;为用户提供车次查询、站点查询、站站查询三种查询模式,利于用户选择最优的乘车路线及方案,方便用户出行,节约乘车时间。

1.2采取的策略
1. 在软件工程生命周期法的大框架下,结合原型法和瀑布法进行城市公交查询系统软件的开发。

2. 使用UML建模工具Rational Rose进行系统的详细设计,既可以保证设计
工作的规范性,又可以提高详细设计工作的效率。

3. 采用面象对象的程序设计方法,确保系统的可靠性和以维护性。

4. 严格的模块测试和集成测试,为系统的正确性提供保证。

1.3设计依据
1. 系统可行性分析报告
2. 用户需求分析规格说明书
1.4参考资料
《信息系统分析与设计(第三版)》王晓敏、邝孔武编著清华大学出版社2. 系统总体结构设计
2.1系统逻辑结构设计
该公交查询系统要管理的信息是很庞大的,要同时开发出全部的系统是不现实的,所以可按照公交管理部门的业务需求以及用户的使用需求将系统划分为
两个大的子系统,通过良好的设计把各个子系统集成为一个整体。

同样的,在各个子系统中仍然可以做进一步细分,以使开发工作更容易展开,并能够随时监视用户的需求变更等情况。

下图为公交信息查询的类图。

公交查询系统分为公交信息查询和后台管理两个子系统。

分析则有主界面类与登陆界面类之间是关联关系,而查询界面、后台管理界面、会员权限界面、会员注册界面和密码找回界面都是主界面的一部分,所以它们和主界面之间是组合关系。

会员信息管理界面与提意见界面与会员权限界面是组合关系,它们都依赖于会员进行操作。

会员与游客是继承的关系,会员权限在游客查询权限的基础上有所增加。

会员可以修改会员信息和提意见,他们都依赖于会员进行操作,会员表和意见表都是通过修改会员信息和提意见两个接口类实现的,所以他们是实现关系。

会员继承成了游客的查询权限,其中,车次查询、站点查询、线路查询之间有很多相同的操作,于是将它们抽象出来形成一个抽象类--公交信息查询。

车次表、站点表和线路表通过车次查询、站点查询和线路查询三个接口实现。

公交信息管理界面和消息管理界面与后台管理界面是组合关系,他们都依赖于管理员进行操作。

公交信息查询离不开后台管理,所以它们之间是依赖关系。

公交信息管理和消息管理之间有很多相同的操作,于是将它们抽象出来构成一个抽象类--后台管理。

意见表1
1
T '1 1
合员建册畀面
=lr3-

底垂发车喬
登录疑血
后台它連界面
+
1
銭路喪1 1
采用“包”的分组形式将公交查询系统分解成公交信息查询和后台管理两个
“子系统”组成的层次结构,可以将复杂问题简单化,以简洁、清晰地体系结构描述整个系统。

分析可知系统中的主要实体类为:游客、会员和管理员。

主要辅助类为:车次查询、站点查询、线路查询,这几个类可以抽象出父类“查询” 公交信息管理和消息管理这两个类可以抽象出父类“后台管理”。

分析可知用户界面类为:主界面、登录界面、查询界面、注册会员界面、密码找回界面、会员权限操作界面、后台管理界面。

公交查询系
管理员
毛依赖>
公交倍息查

会员信息查

消息信息查

站点倍患查

2.2系统物理结构设计
公交查询系统的各子系统在空间上是分布在不同的地点,在不同的节点上
运行系统不同的部分。

合理的物理结构设计有助于更好的实现系统的功能。

物理结构设计可参见构件图建模和部署图建模部分。

(1)构件图
构件图提供当前模型的物理视图,对系统的静态实现视图建模。

构件图显示 一个系统物理设计时,构件所映射的类和对象的配置。

公交查询子系统的类: 1、 游客类 2、 会员类 3、 管理员类 4、 角色类 5、 会员信息类 6消息信息类 7、 线路信息类 8、 站点信息类 9、 公交信息类
依赖怜
I
消息管理
公交查询系统的系统界面类
10、公交查询用户界面类
11、公交查询子系统类
类的关系:
①角色类是游客类、会员类和管理员类的基类,存在从派生类到基类的依赖关系。

②公交查询用户界面类要使用到会员信息类、消息信息类、线路信息类、站点
信息类和公交信息类,公交查询用户界面类依赖会员信息类、消息信息类、线路信息类、站点信息类和公交信息类。

③公交信息类是线路信息类和站点信息类的基类,所以线路信息类和站点信息类依赖公交信息类。

④主程序类要依赖公交查询用户界面、管理员类。

(2) 部署图
公交查询系统中的节点:
1、数据库服务器
2、公交信息查询:驻留的构件是公交查询子系统
3、后台管理:驻留公交管理子系统
4、2台PC机
节点间的连接:
1、PC机1通过ETHERNE与公交信息查询节点连接。

2、 PC 机2通过ETHERNE 与后台管理节点连接。

3、 公交信息查询节点和后台管理节点都是通过 Ethernet 方式与数据库服务器连
接。

4、 公交信息查询节点和后台管理节点通过 TCP/IP 方式连接。

3. 子系统设计(模块设计)
1. 系统总体结构设计
公交查询系统有两个主要组成部分,一是面向用户的公交信息查询子系统, 一
是面向管理人员的对整个页面信息进行维护的后台管理一公交信息管理子系 统。

城市公交查询系统的功能模块结构分为查询模块和后台管理模块。

用户可以 按线路查询、站点查询和起点一终点查询三种查询方式,使用户快速便捷的掌握 公交行驶的路线信息、公交经过站点的信息、以及一次转换乘公交的乘车方法, 方便用户出行。

而在后台管理模块中,系统管理员可以实现对公交信息、 公交线路、发车时 间
查饲
PCF12
交壹曲予暮统
唇台管理手毛统
公交查询系统部署图
表以及公交新闻、最新动态的新增修改和删除操作,方便管理员准确的更改信息,与实际公交线路或信息相符,方便人们查询公交信息。

2. 系统功能模块设计
公交信息查询子系统包含游客类、会员类、线路类、站点类、路线类
1) 游客类
操作:查询车次、查询站点、查询线路、注册会员。

游客登录系统查询公交信息界面中,具体操作过程描述如下:
(1) 游客进入公交信息查询界面,系统提示用户输入需要查询的内容;
(2) 游客输入查询内容提交系统后,验证其输入内容是否存在和正确;
(3) 若正确,则公交信息查询界面反馈正确的查询结果;若错误,系统提示输入错误或查询内容不存在。

游客登录注册会员界面注册会员,具体活动过程描述如下:
(1) 游客进入注册会员界面,系统提示用户输入需要填写的内容;
(2) 游客填写身份信息内容提交系统后,验证其输入内容格式是否正确;
(3) 若正确,则注册会员界面提示注册成功;若错误,系统提示输入填写内容的格式错误,需要重新填写。

2) 会员类属性:会员ID、会员登陆姓名、会员登录密码操作:查询公交信息、修改信息、提建议。

在会员验证身份成功后,进入会员权限操作界面中,具体活动过程描述如下:
(1) 会员进入会员权限操作界面,可以选择会员信息管理或提出意见选项;
(2) 若会员选择会员信息管理,则在其下方显示会员信息,会员可以输入要修改的内容并提交系统;若会员选择提出意见,则在其下方会显示建议框,会员可以输入意见内容并提交;
(3) 若会员信息修改的内容符合要求,则系统提示修改成功,或修改内容不符合要求,则系统提示填写内容格式错误;若会员填写的意见标题、内容不为空,则系统提示提交成功,若填写内容有一项为空,则系统提示输入内容不能为空。

3) 站点类属性:站点ID、站点名称、线路ID。

操作:站点查询、修改和删除。

4) 线路类属性:线路ID、公交车次、站点名称、站点序列。

操作:线路查询、修改和删除。

下图为公交车站点查询中的一次换乘模块查询模块。

一次换乘功能:用户在客户端界面输入起点站和终点站,系统判断输入是否为空,输入为空则重新输入,若不为空则判断输入站点是否相同,相同则返回重新输入,否则继续判断站点是否存在,不存在则返回重新输入,否则系统查找经
过起点站的所有线路和经过终点站的所有线路并判断两线路是否相等、是否存在交点,相等或存在交点则记录信息并计算最短站点数得到换乘路线并按照默认优先顺序显示于客户端界面。

公交查询一次换乘功能模块图
用户可以根据起点站点和终点站点进行线路查询,也可以根据所在站点查询 经过该站点的所有路线信息和车次信息,方便用户确定自己的位置以及如何选择 车次到达目的地,如下图分别为站站查询和线路查询功能模块分析图。

站点查询:用户在客户端界面输入站点名,系统判断输入是否为空,输入为 空则重新输入,若不为空则判断输入站点是否存在, 不存在则返回重新输入,否
是否一
査询经过起
点的所有线
,依次取一条
路线直到所
记录信息 —*
找出最短站
点数
==
显示直连路 Y
N
Y
N
Y
记录信息
存在交
N
-结_,
显示所有换 乘一
则系统查找经过该站点的所有线路并按照默认优先顺序显示于客户端界面。

线路查询:用户在客户端界面输入线路名,系统判断输入是否为空,输入为空则重新输入,若不为空则判断输入线路是否存在,不存在则返回重新输入,否则系统查找该线路所经过的站点并按照默认优先顺序显示于客户端界面。

公交换乘算法的实现:
在SQL Server2008数据库中建立三个基本表
1. 站名表stop ( stop_id,stop_name )
2. 线路表line ( line_id,line_name )
3. 路线站点表linestops ( line_id,stop_id.seq )此处的seq指某站点在某线
路中的顺序。

1、直达线路
首先根据两个站点名获取两个站点各自的id,这里定义为id1,id2。

然后查询
Y .查找经过■依次显示L .......... F
该站点的
■这些线路-—►
..结束J 开始
Y
N
是否为
否存
站点查询流程图
select line id from (select line_id from lin estops where stop_id = id1) A,
(select line_id from lin estops where stop_id = id2) B where A.line_id = B.line_id
即得到可直达的线路列表
2、一次换乘
首先根据两个站点名获取两个站点各自的id ,这里定义为id1,id2。

然后搜寻两个站点通过直达方式各自能够到达的站点集合,最后他们的交集就是我们所需要的换乘站点。

select stop_id from
(
select disti net stop_id from lin estops where line_id in
(select line_id from lin estops where stop_id = id1)
)A,
(
select disti net stop_id from lin estops where line_id in
(select line_id from lin estops where stop_id = id1)
)B
where A.stop_id= B.stop_id
得到换乘站(可能有多个或0个)后,剩下的就是显示能够到达换乘站的两边线路,这通过前面的直达查询即可。

3、二次换乘
首先根据两个站点名获取两个站点各自的id,这里定义为id1,id2
算法的中心思想是:站点1能够通过直达到达的所有站点集合A,站点2能够通过直达到达的所有站点集合B,A和B之间有直达的线路。

一■步一步来:
站点1能够通过直达到达的所有站点集合A:
select disti net stop_id from lin estops where line_id in
(select line_id from lin estops where stop_id = id1)
站点2能够通过直达到达的所有站点集合B: select disti net stop_id from lin estops where line_id in
(select line_id from lin estops where stop_id = id2)
而直达的查询是
select line_id from
(select line_id from lin estops where stop_id = id1) C,
(select line_id from lin estops where stop_id = id2) D
where C.line_id = D.li ne_id
我们把=id1 和=id2 换成in (select ....)A 和in (select ...)B
这样最后我们的查询是
select line_id from
(select distinct line_id from linestops where stop_id in 【A】)C, (select distinct
line_id from linestops where stop_id in 【B]) D where C.line_id =D.li ne_id
其中【A]是
(select disti net stop_id from lin estops where line_id in
(select line_id from lin estops where stop_id = id1))
其中【B]是
(select disti net stop_id from lin estops where line_id in
(select line_id from lin estops where stop_id = id2))
这样子我们找到了作为中间换乘的线路(可能有多条或者0条),对列举的的每一条假设命名为X线,下一步就是找出可以从站点1到达X任意一个站点的直达线路、和
可以从站点2到达X任意一个站点的直达线路即可。

那么与前面的算法相似,我们在站点1所有能够到达的站点中去寻找和线路X相交的站点,然后再去找这两个点的线路
select stop_id from
(select disti net stop_id from lin estops where line_id in
(select line_id from lin estops where stop_id = id1))A,
(select stop_id from lin estops where line_id = X ) B
where A.stop_id = B.stop_id
找到站点了,下面就是根据已经解决的直达查询找线路了。

站点2类似。

以上的算法有一个优点,全部是sql完成搜寻,所以asp代码只需几行循环就可以实现公交查询功能。

公交信息管理子系统
1.管理员类属性:登陆ID、登陆姓名、登录密码。

操作:添加车次线路信息、修改车次信息、删除车次站点信息、发布公交新闻、删除公交新闻、查看意见、删除意见。

管理员登录管理权限界面,可以实现如下操作过程:
(1) 管理员进入后台管理登陆界面,系统提示用户输入用户名和密码;
(2) 管理员输入用户名和密码提交系统后,系统查询其输入的用户名是否存在并
验证密码是否与用户名匹配;
(3) 若正确,则管理员登陆成功并自动跳转至后台管理界面;若错误,系统提示输入的身份信息有误,需要重新填写登录。

在管理员验证身份成功后,进入后台管理界面中,可以实现如下操作过程:
(1) 管理员进入后台管理界面,可以选择更新车辆信息或消息管理选项;
(2) 若管理员选择消息管理,则在其下方会显示消息信息,管理员可以查看或更新消息内容并提交;
(3) 若公交信息需要更新的内容符合要求,则系统提示修改成功,或修改内容不符合要求,则系统提示填写内容错误;若管理员更新的消息内容正确,则系统提示提交成功,若更新的消息内容错误,则系统提示输入内容错误。

4. 数据库系统设计
4.1设计要求
数据库系统通过对信息的分类和概括,建立抽象的概念数据模型。

明确各实体及其属性、实体间的联系以及对信息的制约条件等在数据库里给出所需信息的局部视图。

再将前面得到的多个用户的局部视图集成为一个全局视图。

数据库系统基本要求:
①能够保证数据的独立性。

数据和程序相互独立有利于加快软件开发速度,节省开发费用。

②冗余数据少,数据共享程度高。

④能够确保系统运行可靠,出现故障时能迅速排除;能够保护数据不受非受权
者访问或破坏;能够防止错误数据的产生,一旦产生也能及时发现。

⑤有重新组织数据的能力,能改变数据的存储结构或数据存储位置,以适应用
户操作特性的变化,改善由于频繁插入、删除操作造成的数据组织零乱和时空性能变坏的状况。

⑥具有可修改性和可扩充性。

⑦能够充分描述数据间的内在联系。

4.2数据库设计
(1) 数据库概念结构设计
通过对公交查询过程的内容和数据流图分析,设计如下面的数据项和数据结
①管理员表(登陆ID,登录姓名,登录密码)
②站名表(站名编号,站名)
③车辆线路编号表(车次,车线类型)
④线路表(线路编号,车次,站名,次序)
⑤车辆表(车辆编号,车次,车辆类型,服务类型,票价, IC卡类型,运行区间)
⑥冬季发车时间表(编号,车次,首班时间,末班时间)
⑦夏季发车时间表(编号,车次,首班时间,末班时间)
(2)数据库物理结构设计
数据库的物理结构设计是对于给定的逻辑数据模型,选取一个最合适应用环境的物理结构。

数据库的物理结构指的是数据库在物理设备上的存储结构与存取方法。

城市公交管理系统的各子系统在空间上是分布不同的的地点,在不同的节点上运行系统不同的部分。

合理的物理结构设计有助于更好地实现系统的功能。

基于B/S的城市公交查询系统系统的数据库表结构如下表所示。

管理员表:存放登陆系统所需要的用户名和密码,登录后台时需要访问此表。

表1
会员表:存放会员登录系统所需要的用户名和密码,会员若忘记密码可回答设置的会员问题找回密码,会员登录需访问此表。

表2 会员表
夏季发车时刻表:存放夏季发车的时间,修改夏季发车时间需要访问此表表3
冬季发车时刻表:存放冬季发车的时间,修改冬季发车时间需要访问此表表4
车辆表:存放车辆的相关信息,修改车辆等相关信息需要访问此表
表5
站名表:存放站名等数据,修改站名需要访问此表
表6
车辆线路编号表:存放线路编号等数据,修改车辆线路编号将要访问此表表7
5. 网络通信设计
5.1设计要求
公交查询系统的设计,主要考虑下列基本原则;
1 )保证网络的先进性,同时要兼顾网络的经济性和可行性。

2 )保证网络的开放性和可互连性。

3 )保证网络系统的可靠性和安全性。

4 )保证网络的可扩展性和可升级性。

5 )充分考虑和利用现有网络设施,降低网络建设成本。

基于上述基本原则,考虑到企业已经建立了覆盖各部门的主干局域网,所以综合信息管理系统网络只需要对现有网络进行必要的补充。

网络扩充设计应充分考虑其特点,并且要兼顾到网络建造费用、网络运行费用、网络通信速度、信息传输可靠性等因素。

5.2网络设计方案
为了找出比较好的实现方案,要对各种可能的组网方案的优点及存在的问题做分析比较,并与企管部的技术人员进行了讨论交流,提出了一套可行的实现方案。

6. 信息编码设计
公交查询系统涉及的信息相当庞杂,使用信息编码可以方便各种信息的分类和使用,有利于系统的开发和日后的升级维护。

以下列出几个主要的信息分类编码:(1)车辆编号编码a:代码结构:xxxx
识别号
b:代码长度:4
c:代码类型:整型d:应用范围:查询子系统、管理子系统
(2)车次编码
a:代码结构: xxxx
序列号
b:代码长度:4
c:代码类型:整型
d:应用范围:查询子系统、管理子系统
(3)登录人员编码
a:代码结构:xxxx
ID
b:代码长度:4
c:代码类型:整型
d:应用范围:管理子系统
(4)公交线路编码
a:代码结构:采用国标码
b:应用范围:查询子系统、管理子系统
7. 关键技术
7.1提高查询速度
(1)为了能提高非常大的表的查询速度,采用分区表及索引技术,该技术将
大表分成若干较小的较易管理的子分区。

这样对该表进行查询时,并不是访问具
有同样的字段名,约束定义及其他属性,即所有的子分区具有相同的逻辑分区,
而实际上位于不同的物理分区(甚至可以位于不同的表空间)。

采用分区表技术并不增加最终用户的负担,而且用户可以完全透明地访问数据。

其优点是不但可大大加快查询速度,而且当某一分区发生故障时,并不影响其他分区的操作,便于各分区的独立备份和恢复,另外可根据情况,适当将各分区放在不同硬盘上,从而可平衡I/O负数。

(2)使用MTS技术
为了提高整个系统的响应速度,我们使用了MTS( Microsoft Tran saction Server)技术。

MTS可有效地利用计算机资源,特别是系统所需使用的三种系统资源(线程、对象、ODBC连接)都提供了缓冲池(Pooling ),而这三种系统资源的
合理调用直接影响系统的执行效能。

MTS能建立一个所有用户能分享的对象实例库来避免系统资源的浪费。

另外MTS将从客户端移走数据访问而将其转移到一个单独的商务对象中,以便其他支持DCOM的应用程序可重复使用该商务逻辑,从而达到ODBC勺集成库。

1)合理分配服务器和客户端的负载。

2)使用批提交成本。

3)使用自动序列号技术。

7.2保证系统安全
(1)采用多级口令保证系统安全(关封匿名用户)
为了保证系统安全运行,防止非法用户侵入,通过设置多级口令来加强防范。

首先任何用户想登陆到数据库服务器,必须有合法的用户名和口令,数据库服务器不支持匿名登录。

其次数据库系统根据该用户的操作级别(对记录的读、修改、插入、删除等)授予用户不同的程序界面。

对一些重要操作(如插入、修改、删除)都自动记录其用户名及操作时间,根据这些操作记录,可迅速追踪操作事故的责任人。

(2)检查客户端IP地址
为了进一步加强上网用户计算机的管理,在数据库服务器上设置了客户端
IP地址核查工作。

任一台登陆的计算机必须在设定的IP地址范围之内,从而避
免了非法IP地址的侵入。

8. 系统配置
8.1系统和网络配置
服务器操作系统:Windows NT 4.0 SP3以上
服务器硬件配置:因为服务器为图形系统服务器,且要完成高密度的运算量,所以应采用较高档的服务器。

考虑到与软件的兼容性,我们建议采用Intel Pentium II多处理器系统256M RAM,10G以上硬盘。

客户机操作系统:Win dows/95/NT
客户机硬件配置:客户端只需安装WWW浏览器,所以没有特殊要求,
586/133/8MB以上即可。

网络配置:10M共享以太网
8.2数据库和软件配置
Microsoft SQL Server 2000。

9•限制
9.1通信线路选择
对于系统中使用广域网的网络来说,目前解决方案很多。

例如卫星通信,ATM DDN帧中继,xDSL等都是很好的实现方法,技术成熟,迅速可靠。

系统采用ADSL 这种方法造价最便宜,并有较高的网络速度和较可靠的传输等方面。

9.2数据库在线容量限制
公交查询系统的数据库是一个大型数据库系统,数据表实体非常多,且有的表容量很大,这对任一台主机来说,查询都是非常费时的工作。

所以适当确定在线数据库是一项很重要的工作,这有待于系统运行后,根据所选主机加以适当设置。

10. 组织机构和人员配置
系统开发人员
项目经理:1人次;
系统开发人员:4人次;
文档管理员:3人次;
系统测试人员:7人次;
系统后期支持:7人次。

11. 参考和引用资料
《信息系统分析与设计(第三版)》王晓敏、邝孔武编著清华大学出版社。

相关文档
最新文档