城市公交查询软件

上传人:m**** 文档编号:513799592 上传时间:2023-05-04 格式:DOC 页数:45 大小:471.50KB
返回 下载 相关 举报
城市公交查询软件_第1页
第1页 / 共45页
城市公交查询软件_第2页
第2页 / 共45页
城市公交查询软件_第3页
第3页 / 共45页
城市公交查询软件_第4页
第4页 / 共45页
城市公交查询软件_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《城市公交查询软件》由会员分享,可在线阅读,更多相关《城市公交查询软件(45页珍藏版)》请在金锄头文库上搜索。

1、长 沙 学 院课程设计说明书题目城市公交查询软件系(部)数学与计算机科学系专业(班级)姓名学号指导教师起止日期课程设计任务书课程名称:软件工程基础实训II设计题目:城市公交查询软件已知技术参数和设计要求:需求说明及要求1.主要功能模块:(1)用户管理用户管理模块为用户提供用户信息管理的功能,包括用户注册、用户登陆、用户信息修改、用户密码修改、用户注销等功能。用户注册:用户可以利用此功能完成注册,用户在界面输入注册信息,回车后,软件将注册信息保存到用户信息数据文件中。用户登陆:用户可以利用此功能完成登陆,用户在界面输入登陆信息,回车后,软件验证登录信息,登陆成功后,软件进入主功能选择界面。用户信

2、息修改:用户可以利用此功能完成用户信息修改。用户密码修改:用户可以利用此功能完成密码修改。用户注销:用户可以利用此功能完成用户信息注销,某用户注销后,便不能再次登录。(2)线路管理线路管理模块为用户提供公交线路数据的管理和维护,包括线路添加、线路修改、线路删除等功能。线路添加:用户可以利用此功能增加一条线路。线路修改:用户可以利用此功能修改一条线路。线路删除:用户可以利用此功能删除一条线路。(3)站点管理站点管理模块为用户提供公交站点数据的管理和维护,包括站点添加、站点修改、站点删除等功能。站点添加:用户可以利用此功能增加一个站点。站点修改:用户可以利用此功能修改一个站点。站点删除:用户可以利

3、用此功能删除一个站点。(4)公交查询公交查询模块为用户提供公交信息查询的功能,包括站点查询、线路查询、站站查询、最短距离查询、最少换乘查询等功能。站点查询:用户可以利用此功能查看某个站点所停靠的公交线路。线路查询:用户可以利用此功能查看某条线路所路经的公交站点。站站查询:用户可以利用此功能查询出发地和目的地之间的所有公交乘车方案。最短距离查询:用户可以利用此功能查询出发地和目的地之间最短距离的公交乘车方案。最少换乘查询:用户可以利用此功能查询出发地和目的地之间最少换乘的公交乘车方案。2.要求:界面友好,易于操作;数据结构运用灵活,编码规范,设计合理。各阶段具体要求:1、需求分析阶段(1)写出需

4、求分析(做什么) (2)要求问题分析和功能定义准确2、系统设计阶段(1)根据问题描述,设计系统的结构(3)完成数据结构中各个函数的定义(4)用户界面的设计(5)要求数据结构定义合理,类层次结构清晰3、编码实现阶段(1)完成代码编写 (2)要求代码编写规范4、系统测试阶段(1)完成功能调试(2)要求完成必要的测试工作5、交付实施阶段(1)提交可正常执行的系统(2)提交系统需求说明书、设计说明书、程序代码(3)撰写实训报告书(4)要求规范地书写文档设计工作量:(1)软件设计:完成问题陈述中所提到的所有需求功能。(2)论文:要求撰写不少于3000个文字的文档,详细说明各阶段具体要求。工作计划:安排两

5、周时间进行课程设计,软件开发步骤如下,2天完成13,3-5天完成46,论文同步进行;1)选定题目2)需求分析3)系统设计4)编码实现5)系统测试6)交付实施注意事项n 提交文档 长沙学院实训任务书(每学生1份) 长沙学院实训说明书(每学生1份) 长沙学院实训鉴定表(每学生1份)指导教师签名: 日期: 教研室主任签名: 日期:系主任签名: 日期:长沙学院课程设计鉴定表姓名学号专业班级设计题目城市公交查询软件指导教师指导教师意见:评定等级: 教师签名: 日期: 答辩小组意见:评定等级:答辩小组长签名:日期:教研室意见:教研室主任签名: 日期: 系(部)意见:系主任签名:日期:说明课程设计成绩分“优

6、秀”、“良好”、“及格”、“不及格”四类;目 录一、引言61.1编写目的61.2参考资料6二、需求规约62.1需求分析62.2功能需求62.3出错处理需求72.4输入输出需求72.5环境需求7三、设计83.1程序流程图83.2抽象数据类型93.3存储结构103.3.1公交路线的存储结构103.3.2公交站点的存储结构10四、编码测试104.1 测试用例104.1.1 站站查询104.1.2 线路查询104.1.3站站查询114.1.4 最短距离查询114.1.5 最少换乘查询114.2程序运行结果12五、总结15六、附录15query.h15query.c16station.h23statio

7、n.c25station_manage.h31station_manage.c31bus.h33bus.c36bus_manage.h41bus_manage.c42一、引言1.1编写目的此公交查询软件主要是对不熟悉公交线路,而又要外出的人提供方便的查询服务,当你想到某个站点去却不知道如何走的话,那就可以使用这款软件,它能满足大多数人的需求,查询最方便的乘车方案。1.2参考资料表1.1 参考资料表资料名称作者文件编号、版本数据结构C语言版严蔚敏 吴伟民编著978-7-113-12943-9C语言版入门经典霍顿(Ivor Horton)第五版算法导论Thomas H.Cormen、Charles

8、 E.Leiserson等第二版二、需求规约2.1需求分析需要构建一张站点的图,然后建立起这些站点的关系,另外还需要保存每一个不同线路的信息,其中经过的站点,构建完这些就可以方便的查询各种信息了。2.2功能需求查询功能:站点查询:查询一个站点所经过的所有线路。线路查询:查询一个线路所经过的所有站点。站站查询: 查询两个站点之间的所有公交乘车方案。最短距离查询:查询两个站点之间的最短距离乘车方案。最少换乘查询:查询两个站点之间最少换乘的乘车方案。2.3出错处理需求当用户查询路径时,输入不存在的站点,程序应当提示用户重新输入,而不是毫无提示或程序崩溃。用户输入操作指令时,若用户输入了非法的指令,应

9、当提示用户重新输入。若两站点之间没有连通,需保证程序不会出错。 管理员添加站点或公交线路时,若添加的站点或线路已经存在,须提示管理员输入有误重新输入。2.4输入输出需求输入的城市名为一字符串,除汉字外不包含任何字符,包含任何字符的都输入非法输入。输出为一字符串和一个数值,该字符串包含最短路径上的所有城市名,城市名之间用一个箭头隔开,额外的一行输出当前的最短路径的里程。表2.1输入输出要求表测试编号测试功能输入输出GJCX-01站点查询一个站点的名字该站点所经过的所有公交GJCX-02线路查询公交的名字改公交所经过的所有站点GJCX-03站站查询起点站和终点站所有可能的乘车方案GJCX-04最短

10、距离查询起点站和终点站最短距离的乘车方案GJCX-05最少换乘查询起点站和终点站最少换乘的乘车方案2.5环境需求此系统是以c语言的C99标准编写的,测试时注意好编译器的版本,检查编译器是否支持C99以免编译器版本不符,造成错误。另外此系统是在DEV-C+4.9.9.2环境下编写。三、设计3.1程序流程图图3.1查询流程图图3.2 站点管理流程图图3.3 线路管理流程图3.2抽象数据类型station.hinit();/初始化free(t);/销毁clear(t);/清空isempty(t);/是否为空count(t);/返回站点的数量add(t,station_name);/添加一个站点add

11、_bus(t,index,bus_name);/往一个站点添加经过的路线remove(t,index);/删除一个站点remove_bus(t,index,bus_name);/删除一个站点经过的路线set(t,index,station_name);/修改一个站点get(t,index);/返回一个站点的名字set_bus(t,index,old_bus_name_new_bus_name);/修改一个站点经过的路线lookup(t,station_name);/判断站点是否存在lookup_bus(t,index,bus_name);/判断站点是否有该线路经过get_bus_count(t

12、,index);/返回一个站点所经过的线路数量get_bus_name(t,index_station,index_bus);/返回一个站点所经过的线路名称save(t);/将站点的信息保存到文件read(t);/从文件中读取信息print(t,index);/打印一个站点的所有线路信息bus.hinit();/初始化free(t);/销毁clear(t);/清空count(t);/返回isempty(t);/是否为空add(t,bus_name);/添加一条线路add_station(t,index,station_naem,distance);/在线路上添加一个站点set_station(

13、t,index,old_station,new_station);/在线路上修改一个站点remove_station(t,index,station_name);/在线路上删除一个站点lookup_station(t,index,station_name);/判断一条线路上是否存在某个站点get_station_count(t,index);/返回一条线路所经过的站点数量get_station_name(t,index_bus,index_station);/返回线路上一个站点的名字get_station_distance(t.index_bus,index_station);/返回一个站点距上一个站点的距离remove(t,index);/删除一条线路lookup(t,bus_name);/判断一条线路是否存在indexof(t,bus_name);/返回一条线路的下标get(t,index);返回一条线路的名称save(t);/将线路的信息保存到文件中read(t);/从文件中读取信息print(t,index);/将公交线路的信息打印出来3.3存储结构3.3.1公交路线的存储结构公交路线采用的是邻接链表的存储方式,每个链上存储的是该公交经过的

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号