公交查询系统详细设计说明书.docx
《公交查询系统详细设计说明书.docx》由会员分享,可在线阅读,更多相关《公交查询系统详细设计说明书.docx(42页珍藏版)》请在冰豆网上搜索。
公交查询系统详细设计说明书
公交查询系统详细设计说明书
————————————————————————————————作者:
———————————————————————————————— 日期:
1引言
1.1编写目的
该文档为“公交线路查询系统”详细设计说明的文档。
编写目的在于从需求分析已经明确的基础上,为实现需求的功能而阐述自己开发设计思想、方法,逐步开发强壮的系统构架,使设计适合于实施环境,为提高性能而进行设计。
并为下一步的详细设计做基础。
1.2背景说明
开发软件名称:
南京市公交线路查询系统。
项目任务提出者:
南京航空航天大学储剑波老师。
项目开发者:
南京航空航天大学小组。
用户:
南京市公交总公司。
实现软件单位:
南京航空航天大学及南京市公交总公司。
1.3定义
列出本文件中用到的专门术语的定义和缩写词的原词组。
1.4 参考资料
《软件工程导论》,张海藩,清华大学出版社。
《实用软件工程》,郑人杰等,清华大学出版社。
2总体设计
2.1需求规定
1.线路查询:
在线路列表中选择相应的线路,经查询后查询结果会显示该线路上所有经过站点于总站数;
要求输入框不为空;
2.线路选择:
在站点中选择相应的起点站与终点站的编号,点击查询,即在查询结果框显示符合用户选择的路线并提供多种路线的支持。
3. 修改线路:
在线路列表里选择即将修改的线路;
在线路改名框输入要更新的名字,点击修改;
对一条线路上站点进行修改时,在选择站点框进行相应的增加,删除,改名等操作。
4.站点查询:
在站点列表中选择站点,查询后查询结果显示经由该站点的所有线路及具体的站点显示及经过该站点的线路总条数。
输入框必须选择站点。
注:
查询结果框可清空。
2.2运行环境
操作系统:
windows7(x86x64)
编译环境:
.Visual C++
编译软件:
MicrosoftVisualStudio2008
2.3基本设计概念和处理流程
该系统的基本设计概念及主要功能图:
图2.3-1站点查询
图2.3-2线路查询
图2.3-3线路选择
图2.3-4增加路线
图2.3-5删除线路
图2.3-6修改线路
图2.3-7增加站点
图2.3-8删除站点
图2.3-9修改站点
图2.3-10增加用户
图2.3-11 删除用户
图2.3-12用户名修改
2.4结构设计
2.4.1结构
ﻩ
2.4.3人工处理过程
1:
登录界面时,手动输入用户名和密码;
2:
增加路线时,新增线路名和站点名;
3:
修改路线时,将需要修改的路线名和站点名;
4:
新增用户与密码修改时,手动输入要新添的用户与密码。
2.4.4尚未问决的问题
说明在概要设计过程中尚未解决而设计者认为在系统完成之前必须解决的各个问题。
2.5接口设计
2.5.1用户接口
用户登录时,需要输入用户名,密码及是否记住密码(可选),要求输入相匹配的用户名及密码,登录界面后提示登录成功,否则提示登录失败。
登录管理员界面后,增加线路:
输入要新增的线路名,并依次对此线路上的站点名输入;
要求以上两项必须全部输入;系统刷新后线路增加成功。
删除线路:
在线路列表里选择要删除的线路;系统提示是否确认删除。
修改线路:
在线路列表里选择即将修改的线路;在线路改名框输入要更新的名字,点击修改;对一条线路上站点进行修改时,在选择站点框进行相应的增加,删除,改名等操作。
选择站点后,有上移下移操作。
帐号管理:
从选择用户的下拉框中选择进行操作的用户名;如需新增用户,输入用户名,密码和是否为管理员(可选);系统提示添加成功; 删除用户时,选择用户并进行操作;修改用户密码时,需输入用户的新密码及确认密码;修改用户名,输入要修改的名字。
登录普通用户界面后,修改密码:
菜单栏中文件选择修改密码,用户需输入原密码,新密码及确认新密码以进行修改;线路选择:
在站点列表中选择相应的起点站与终点站,显示在起点站框与终点站框,点击查询,即在查询结果框显示符合用户选择的路线并提供多种路线的支持。
注:
起点站与终点站需全部输入;线路查询:
在线路列表中选择相应的线路,经查询后查询结果会显示该线路上所有经过站点于总站数;要求输入框不为空;站点查询:
在站点列表中选择站点,查询后查询结果显示经由该站点的所有线路及具体的站点显示及经过该站点的线路总条数。
输入框必须选择站点。
(注:
查询结果框可清空。
)
2.5.2外部接口
软件接口:
支持所有Windows平台系统;
用户界面;
2.5.3内部接口
登录模块,输入:
用户名、密码。
输出:
登陆成功或失败提示。
增加路线,输入:
新路线名,站点名。
输出:
添加成功。
删除路线,输入:
路线名。
输出:
删除成功。
修改路线,输入:
路线名,站点名。
输出:
系统提示修改成功。
添加账户,输入:
新账户名,密码。
输出:
添加成功。
线路选择,输入:
起点名,终点名。
输出:
查询结果。
线路查询,输入:
路线名。
输出:
查询结果。
站点查询,输入:
站点名。
输出:
查询结果。
2.6其它专门要求
1、软件必须严格按照设定的安全权限机制运行,并有效防止非授权用户进入本系统。
2、软件对用户的所有误操作或不合法操作进行检查,并给出提示信息。
ﻬ3数据库设计
3.1概念结构设计
ﻩ1
mn
ﻩ
ﻩmﻩn
mp
3.2逻辑结构设计
以上E-R图中有实体:
管理员,普通用户,线路,站点。
以下对实体进行分解:
站点映射表(站点序号,站点名,线路名)
注:
该站点映射表具有属性站点序号,站点名,线路名。
主码为站点序号,站点名,线路名。
用户(用户名,密码)
注:
该用户包括管理员与普通用户。
属性为用户名和密码。
主码为用户名,密码。
站点(站点名)
注:
该站点属性是站点名。
主码为站点名。
线路(线路名)
注:
该线路具有属性线路名。
主码为线路名。
3.3物理结构设计
表3-1登录表(user)
字段
类型
说明
是否为空
Uname
char
用户ID
Notnull
Psw
char
密码
Notnull
Role
Boolean
是否为管理员
Not null
表3-2站点信息表(station)
字段
类型
说明
是否为空
Sname
Char(10)
主键
Notnull
表3-3线路信息表(route)
字段
类型
说明
是否为空
Rname
char(10)
主键
Notnull
表3-4线路站点映射表(RSmap)
字段
类型
说明
是否为空
Rname
Int
主键
Not null
Sname
Int
主键
Not null
Rsorder
Int
站点序号
Not null
3.3数据字典设计
用户数据字典:
属性名
存储代码
类型
长度
说明
普通用户名
User
Varchar
30
普通用户登陆时的名称
管理员
Admin
Varchar
30
管理员登录时账户名
密码
Password
int
4
用户登录时所用密码
站点数据字典:
属性名
存储代码
类型
长度
说明
站点名
Station
Varchar
20
站点标志名称
线路数据字典:
属性名
存储代码
类型
长度
说明
线路名
Rname
Varchar
20
线路标志名称
3.4安全保密设计
本系统用户分两种:
管理员及普通用户。
分别对其权限进行了设置,如下:
管理员:
本系统的最高管理者,能对本系统软件进行操作,分别为站点管理(删除站点,增加站点,修改站点),线路管理(删除线路,增加线路,修改线路),账号管理(删除账户,增加账户,修改账户)。
当公交路线出现变更时,管理员可及时对信息进行更换以便用户查询正确的信息。
这个操作仅限管理员。
普通用户:
本系统的广大使用者,能使用本系统密码修改,查询线路信息,站点信息,及最终的线路选择。
4系统出错处理设计
4.1出错信息
。
可能出现的错误和故障
系统输出信息形式
系统输出信息的含意
处理方法
人工操作出错
系统出现大量错误数据
系统数据出现错误
备份还原操作恢复前一段时间的数据;
病毒故障
系统运行过慢,计算机死机等现象
系统受到病毒的入侵,导致数据错误或丢失
备份还原操作恢复前一段时间的数据,并经常杀毒,安装系统防火墙
软件打开故障
系统不能正常打开
系统启动出现问题
需重新安装系统
软件显示错误信息
显示与实际不符的信息
数据转换错误
关闭该系统后重新开启
4.2补救措施
1.周期性地把磁盘信息记录到磁带上,当原始数据丢失后启用此副本。
2.使用手工操作和数据的人工记录作为降效技术。
3.使用回滚技术使软件从故障点开始继续工作。
4.在运行操作本系统前应先进行备份操作,管理员对该软件的数据库进行备份并存档。
并定期进行此操作。
4.3.系统维护设计
说明为了系统维护的方便而在程序内部设计中作出的安排,包括在程序中专门安排用于系统的检查与维护的检测点和专用模块。
各个程序之间的对应关系,可采用如下的矩阵图的形式;
为了系统的安全维护,可以对本系统数据库进行一下维护:
1.全备份---每季度进行一次;
2.差分备份---每个月进行一次;
3.增量备份---每天进行一次。
ﻬ5程序模块1设计说明
从本章开始,逐个地给出各个层次中的每个程序的设计考虑。
以下给出的提纲是针对一般情况的。
对于一个具体的模块,尤其是层次比较低的模块或子程序,其很多条目的内容往往与它所隶属的上一层模块的对应条目的内容相同,在这种情况下,只要简单地说明这一点即可。
5.1程序描述
给出对该程序的简要描述,主要说明安排设计本程序的目的意义,并且,还要说明本程序的特点(如是常驻内存还是非常驻?
是否子程序?
有无覆盖要求?
是顺序处理还是并发处理等)。
该系统用户分为管理员与普通用户。
而管理员权限为站点管理(删除站点,增加站点,修改站点),线路管理(删除线路,增加线路,修改线路),账号管理(删除账户,增加账户,修改账户)。
普通用户权限则是站在用户角度考虑的,即要知道最新的更改信息而且能查询到自己想要的信息。
用户权限为对自身账号的密码修改和查询线路信息,站点信息,及最终的线路选择。
管理员站点管理:
该设计系统为公交查询系统,是针对公交公司及广大乘客为出发点的。
一个比较完善的系统必须有维护者,而管理员的站点管理是针对该系统中当某些站点发生信息变更时,例如增加某一站点,取消站点,修改该站点名,则管理员必须及时输入更新的消息以便用户查询。
所以该站点管理包括删除站点,增加站点,修改站点。
管理员线路管理:
一个城市的公交并不是永远处于固定的状态模式,一个流动的城市随时会有信息的变化,所以我们在设计该系统时会有管理者来进行管理。
当由于某些原因该线路需要更新信息时,例如线路删除,增加某些线路,对线路进行修改。
管理员账户管理:
一个城市使用的公交系统其用户肯定也并不在少数,所以系统设置了专门的账户管理以便增添用户,或注销掉用户以及出于安全的考虑会对密码进行及时的修改。
普通用户站点查询:
上面已经进行了一定描述,该系统使用于广大用户及公交公司,设置此项功能后,用户可以更加方便快捷的进行公交信息的查询,将自己想要到达的站点名输入后,点击查询可以得到经过该站点的所有线路。
普通用户线路查询:
普通用户想知道自己乘坐车的站点信息,只用选择乘坐的线路,点击查询即可得到该线路上所有站点信息。
普通用户线路选择:
经过上述查询后,如果没有显示信息出现,则该系统的设计是失败的,用户不能得到查询的结果,所以此设计是必要的。
普通用户密码修改:
私人信息例如账户密码是需要得到保障的。
所以系统设置了用户的密码修改,当普通用户察觉自己的信息受到威胁时,可以通过此项进行修改自身账户的密码。
5.2功能
说明该程序应具有的功能,可采用IPO图(即输入一处理一输出图)的形式。
IPO表
模块编号:
M1
模块名称:
站点查询
所属子系统:
普通用户管理
调用模块:
输入站点名信息
被调用模块:
普通用户管理
模块描述:
用户输入站点信息进行查询
输入参数:
站点名
输出参数:
线路名,线路条数
变量说明:
文本,数字
相关数据表:
站点映射表
处理:
把要查询的站点名输入,然后返回相应的查询信息,如经过该站点的线路名,和经过该站点的所有线路条数。
备注:
设计人:
设计日期:
IPO表
模块编号:
M2
模块名称:
线路查询
所属子系统:
普通用户管理
调用模块:
输入线路名信息
被调用模块:
普通用户管理
模块描述:
用于用户输入线路名进行信息查询
输入参数:
线路名
输出参数:
线路上所有站点,站点总数
变量说明:
文本,数字
相关数据表:
站点映射表
处理:
把要查询的线路名输入,然后返回相应的查询信息,如该线路上所有站点名,和经过多少站点数。
备注:
设计人:
设计日期:
IPO表
模块编号:
M3
模块名称:
线路选择
所属子系统:
普通用户管理
调用模块:
输入起点站,终点站信息
被调用模块:
普通用户管理
模块描述:
用于用户查询经过起点站和终点站之间的线路详细信息。
输入参数:
起点站,终点站
输出参数:
换乘方案,总站数
变量说明:
文本,数字
相关数据表:
站点映射表
处理:
输入要查询的起点站和终点站,然后返回相应的查询信息,如进过该起点站和终点站 的所有换乘方案及进过的总站数。
备注:
设计人:
设计日期:
IPO表
模块编号:
M4
模块名称:
密码修改
所属子系统:
普通用户管理
调用模块:
修改密码
被调用模块:
普通用户管理
模块描述:
用户出于安全考虑,对自身密码进行修改。
输入参数:
原密码,新密码,新确认密码
输出参数:
修改成功
变量说明:
文本
相关数据表:
用户表
处理:
用户点击修改密码时,输入之前的原始密码,再将要修改的新密码和新的确认密码输入标签,点击修改。
备注:
设计人:
设计日期:
IPO表
模块编号:
M5
模块名称:
站点管理
所属子系统:
管理员管理
调用模块:
删除站点,增加站点,修改站点
被调用模块:
管理员管理
模块描述:
当某些站点发生信息变更时,例如增加某一站点,取消站点,修改该站点名,则管理员必须及时输入更新的消息以便用户查询。
输入参数:
线路名,站点名
输出参数:
站点名
变量说明:
文本
相关数据表:
站点映射表
处理:
首先选择要进行修改的线路,如要进行删除站点设置,则选中该线路上的某个站点进行删除。
要增加新的站点时,输入新的站点名进行增加。
要修改某一站点名时,选中站点,输入要修改的新站点名,点击改名。
然后返回相应的结果,显示成功。
备注:
设计人:
设计日期:
IPO表
模块编号:
M6
模块名称:
线路管理
所属子系统:
管理员管理
调用模块:
删除线路,增加线路,修改线路
被调用模块:
管理员管理
模块描述:
当由于某些原因该线路需要更新信息时,例如线路删除,增加某些线路,对线路进行修改时,管理员及时将变更信息进行修改。
输入参数:
线路名,站点名
输出参数:
线路名,站点名
变量说明:
文本
相关数据表:
站点映射表
处理:
当要增加线路时,首先输入要增加的新线路名,然后依次输入该线路上的站点名,然后返回。
删除线路时,选择要删除的线路,点击删除返回。
修改线路时,选中要修改的线路,可以对该线路上的站点信息进行修改,然后返回相应的结果。
备注:
设计人:
设计日期:
IPO表
模块编号:
M7
模块名称:
账户管理
所属子系统:
管理员管理
调用模块:
删除账户,增加账户,修改账户
被调用模块:
管理员管理
模块描述:
系统中会经常出现用户的信息变更,如要新增用户或用户注销时,管理员就在该流程上进行操作。
输入参数:
密码,用户名
输出参数:
新用户
变量说明:
文本
相关数据表:
用户表
处理:
管理员要对自身密码进行修改时,需首先登录自己的账户,输入要修改的新密码和新确认密码,修改返回。
当新增用户时,输入要增加的用户名及密码,并重复密码,新增返回。
要删除用户时,必须不是当前用户,当前用户对自身的账户名没有删除权限。
备注:
设计人:
设计日期:
5.3算法
详细说明本程序所选用的算法,具体的计算公式和计算步骤。
用图表(例如流程图、判定表等)辅以必要的说明来表示本程序的逻辑流程。
本系统的流程图如下:
图2.3-1站点查询
站点查询说明:
用户输入要查询的站点名,系统判别是否为空,当为空时系统提示重新输入,当输入站点名后,系统会匹配自己的数据库,看该站点名是否存在,当存在时,则显示经过该站点的所有路线信息,点击其中的线路,可显示详细信息。
图2.3-2线路查询
线路查询说明:
用户输入要查询的线路名,系统进行相应的匹配,当存在时,查询结果框显示该线路上的所有站点名。
图2.3-3线路选择
线路选择说明:
用户输入要查询的起点站和终点站,系统判断输入是否为空和输入的起点站和终点站是否一样,最后判断是否存在,当存在时,分别从起点站和终点站出发,系统找出相应的路线,判断是否相等并记录信息,找出最短路径显示直连路线和换乘一次的路线。
图2.3-4 增加路线
增加路线说明:
输入要增加的路线名,系统判别是否为空,如不为空,则依次输入该路线上的站点名,当重复输入站点名时,系统提示重复输入。
图2.3-5删除线路
删除路线说明:
选择要删除的路线,系统会提示是否删除即给了管理员误操作的可能性。
当选择删除时,该线路及该线路上所有站点信息也删除。
图2.3-6修改线路
修改线路说明:
选择要修改的线路名并输入要修改的线路名,系统会提示是否存在要修改的名字。
图2.3-7增加站点
增加站点说明:
选择要增加站点的线路,输入要增加的站点名,如果重复系统提示重复,增加新站点成功时,保存站点信息。
图2.3-8删除站点
删除站点说明:
选择要删除站点的线路,将要删除的站点选定,当该线路上站点小于2个时,系统自动回复到开始阶段,如果站点多余2个时,则删除站点成功。
图2.3-9 修改站点
修改站点说明:
首先选择线路,将线路上要修改的站点名选定时,输入要修改的站点名,当修改名存在时,返回上一阶段,否则修改成功。
图2.3-10增加用户
增加用户说明:
输入要增加的新用户和密码,如果输入的内容已存在则返回上层。
否则保存新用户成功。
图2.3-11 删除用户
删除用户说明:
选择要删除的用户,如果为当前用户则不可进行此操作,而当删除的用户为管理员时,必须输入密码进行删除。
图2.3-12 用户名修改
用户名修改说明:
选择要修改的用户,当不为管理员时,可以直接进行修改。
当要修改的用户为管理员时,需要输入密码。
当密码正确时,即可修改用户名。
5.4注释设计
说明准备在本程序中安排的注释,如:
1.加在模块首部的注释;
2.加在各分枝点处的注释;
3.对各变量的功能、范围、缺省条件等所加的注释;
对使用的逻辑所加的注释等等。