道路导航查询系统设计文档_第1页
道路导航查询系统设计文档_第2页
道路导航查询系统设计文档_第3页
道路导航查询系统设计文档_第4页
道路导航查询系统设计文档_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 道路导航查询系统设计文档设计内容本实验的主要任务就是在VC环境下利用C语言来设计一个道路导航系统,程序可实现对部分道路情况数据进行整理,查询,排序操作。设计目的 随着社会生产力不断向前进步,计算机技术正在以日新月异的速度迅猛发展。如今各行各业都越来越多的使用着计算机,其中尤其是各种各样的系统,为人们的工作和生活带来了极大的便利。本程序的功能是对中国导航的数据中的部分道路情况数据进行整理,查询,排序。通过本次综合实验,更进一步熟练掌握了分析、设计等一系列管理信息系统的开发过程,并加强了对团队中协作开发能力的锻炼。需求分析: 排序:根据LinkID重新排序输出到新的二进制文件。查询:a. 根据L

2、inkID查找指定的Link的相关情报并输出到控制台或者文件(文本格式)。b. 查找指定 交叉Link列表示Class番号 的所有Link的集合。c. 查找岔路数> n 的所有Link的集合, n由用户输入。d. 指定道路名称检索。更新:从Link情报输入文件中读取指定的Link情报,插入到GTBL.dat中并保存,如果对应的LinkID已经存在,则替换,否则插入。可行性研究:“逆引表格式”sheet中的顺序读入文件。可以在vc环境通过c语言实现。用户需求分析:功能要求:读取GTBL.dat, 根据LinkID重新排序输出到新的二进制文件,格式同 ”逆引表格式”。 根据LinkID查找指

3、定的Link的相关情报并输出到控制台或者文件(文本格式)。并且能够 查找指定 交叉Link列表示Class番号 的所有Link的集合,查找岔路数> n 的所有Link的集合, n由用户输入。通过指定道路名称检索。在Kiwi格式中,每个道路都是被赋予了独一无二的编号,这个编号叫做LinkID,在GTBL.dat这个文件中存储着部分道路情况的数据,他们是无序存储的(针对LinkID来说是无序的)。边界的确定:#linked=1234;roadnameflag=1;brunch=2;dispclass=3; roadname=青年大街# (如果没有名称(roadnameflag = 0 ),

4、则不输出roadname=青年大街这个条目)如果查到的纪录的个数>5个,则输出到指定文件中(文件放在当前目录中,请用 searchresultxxx.txt 命名, xxx是检索次数的记录,比如第一次检索,则xxx是 001, 以此类推。)系统的性能要求:l硬件环境:内存128M 最好是256M性能最佳。Windows 98(中文版)以上即可,CPU:Pentiun 266或更高;内存:64M或以上;硬盘:5G以上;显示器:VGA或更高l操作系统 XP系统和2000 SERVER 需求规范: 系统名称:道路导航查询系统 用户单位:0527 SIST_(5人)小组 产品概述:指标: 能够需

5、要划分出至少 3个或者以上的模块。具有较高的处理速度,较少的内存消耗。 比如对于道路名称,有的link没有,则不分配空间,具有较好的维护性和易读性, 较好的健壮性(错误的用户输入处理等)开发工具:Visual C+,C语言二进制文件存储 接口方式:通过文件的指针进行操作,使每一个模块都能够有充分的自主权,可以根据需要设计自己的模块。 数据格式:对二进制读取,更新并进行查找,把查找后的结果存入到文本文件中,更新后的操作存入到二进制文件中。使用控制台的程序必须有两个层次的选择菜单系统的逻辑模型: 统一的开始界面,用户输入之后进入分别进入三个模块实现各个模块的功能,并在模块内部判断实现。 验收准则、

6、规定: 通过运行测试对数据进行健壮性测试和合理性测试 测试方式:用黑盒进行其中的功能测试,用白盒测试其中的代码的逻辑错误。数据流程图:总体图:零级图:细节图:查找模块: 排序模块中要实现按LinkID号对原文件排序,排序之后还按二进制形式存在文件中。排序模块:本程序的功能是对中国导航的数据中的部分道路的数据按照LinkID进行排序。原始的数据存储在一个GTBL.dat的二进制文件中。首先将数据从二进制文件中读出。输出格式:#linked=1234;roadnameflag=1;brunch=2;dispclass=3; roadname=青年大街# (如果没有名称(roadnameflag =

7、 0 ), 则不输出roadname=青年大街这个条目)。每条道路都有自己的LinkID,然后按照LinkID的值采用快排序的算法按照升序进行排序。更新模块:更新模块中要实现插入一条新路线到原文件中并将原文件更新。需求规范的作用:能够知道产品验收的依据从Link情报输入文件中读取指定的Link情报,插入到GTBL.dat中并保存,如果对应的LinkID已经存在,则替换,否则插入。(文件的格式参照ReveseTableFormat.xls 中的“Link情报输入文件格式”sheet, sourcelink.txt 是一个例子文件,大家可以自己编写这个文件)。 具体的操作是每按一次回车,就从文件中

8、读取下一个Link的情报,输出到界面,并且执行插入或者替换操作。这些插入的记录需要保存到GTBL.dat和排序后的文件中。总体设计人 机接口设计的指导性原则: 系统的全部接口格式和风格应保持一致;提示或命令名应尽可能短;系统整体可以分成3个模块,在每个模块中有排序、查找、更新的功能,对每个模块中的细节可以根据每个模块的需求不同而进行不同的数据操作。详细设计: 排序模块:对给定的二进制文件进行读取的操作,并用双向链表实现其中的文件记录的链接,通过双向链表,用快速排序的方法对其中的linkID对数据进行快速排序,这样可以短时间内实现排序,首先,从逆序表取出二进制文件中第一条信息的前二个字节,即道路

9、信息所占的大小,同时安逆序表将LinkID取出,然后申请同样大小空间的一个结点存放道路信息,将该结点插在链表的尾部,如此循环到文件结束,链表建成。最后在以二进制的形式存入到文件中完成操作。 查找模块:对排序好的二进制文件按按LinkID查找,按番号查找,按道路岔路口数查找,按道路名称查找,条件进行查找,建立一个单向链表,同上。再建一个链表,用于存放符合条件的道路信息。由用户选择查找方式,然号输入LinkID号(番号,道路岔路口数,道路名称),如果找到就插入到新链表中,链表的结点数大于5就输出到文件中去,小于5就直接输出。在查找的同时对二进制文件进行读取比较,然后按照条件的要求输入文本文件中或者输入到屏幕中。 更新模块:对文本文件中按照一定的格式的纪录,读入内存中,转化成为文本格式然后对原先的数据进行比较并转化成为二进制格式再插入到原二进制文件中或者排序好的二进制文件中。输出屏幕设计: 屏幕每部分都显示输出提示,充分说明各个功能,有一定出错信息行,并进

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论