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