公交查询系统_第1页
公交查询系统_第2页
公交查询系统_第3页
公交查询系统_第4页
公交查询系统_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

1、南京航空航天大学计算机实践实验报告课程名称:软件技术基础专 题: 学生成绩管理系统学生姓名: 孟宁 罗龙城班级学号:0 . 0专业名称:探测制导与控制2011年11月一、引言编写目的在当今社会中,交通问题已经成为很重要的社会性问题,而公交成为解决交通问题 的一个关键因素。大力发展公共交通是解决城市交通拥挤问题的首选措施。但是一种公交 是不能满足所有人的出行需求的,人们可能无法通过乘坐一辆公交车到达目的地,这时候 就需要换乘来解决该问题,经调查路程最短和换乘次数是人们最关心的问题。根据这些问 题,需要开发一套公交查询系统,从而方便人们出行前进行查询。项目背景本系统主要面向广大的城市居民和外来的旅

2、游者,为不同需求的用户提供全面、准 确的公交信息。在该系统中还需要提供多种公交查询方式,并且该系统中要给出管理功能, 方便公交发生变化后及时对路线进行调整。根据需求我们可以将系统分为两大功能模块,分别是前台查询公交模块和后台公交管理 模块。下面分别来看一下两个模块的具体功能。前台公交查询模块:该模块是被普通用户使用的,其中包括线路查询、站点查询、站站 查询等多种核心公交查询功能。后台公交管理模块:该模块是由系统管理员操作的,包括站点管理和路线管理两大功能。 在站点功能中包括向新线路中添加站点和修改原线路站点的功能。在线路管理中包括修改线 路原有信息的功能,其信息包括起始和结束时间、起始站和终点

3、站等。开发软件名称:南京市公交线路查询系统项目任务提出者:计算机指导老师储剑波项目开发者:罗龙成孟宁用户:暂无实现软件单位:南京航空航天大学项目与其他软件系统关系:本项目以Microsoft Visual C+为开发环境。定义(1)数据流图:描绘系统的逻辑模型,图中没有任何具体的物理元素,只是描绘 信息在系统中流动和处理的情况,它表示了数据和处理过程的关系。 数据流图有四种基本符号:正方形(或立方体)表示数据的源点或终点。圆角矩形(或圆形)代表变换数据的处理。处理不一定是一个程序。一个处理框可以代表一系列程 序,单个程序或者程序的一个模块;它甚至可以代表一种人工处理过程。开口矩形(或两条平行横

4、线)代表数据存储。数据存储可以表示一个文件,文件的一部分,数据库的 元素或纪录的一部分等等。数据存储是处于静止状态的数据。箭头代表数据流,即特定数据的流动方向。数据流是处于运动中的数据。还有几种附加符号:星号表示数据流之间是“与”关系加号表示“或”关系异或符号表示只能从中选一个(2)数据字典:是对系统中各类数据描述的集合,是各类数据属性清单,是进行 详细的数据收集和数据分析所获得的主要结果。它通常包括以下五个部分:数据项,是数据的最小的单位。数据结构,是若干数据项有意义的集合。数据流,可以是数据项,也可以是数据结构,表示某 一处理过程的输入或输出。数据存储,处理过程中存取的数据。常常是手工凭证

5、, 手工文档,计算机文件。处理过程。它们的描述内容如下:数据项描述=数据项名,数据项含义说明,别名,类 型,长度,取值范围,与其他数据项的逻辑关系取值范围,与其他数据项的逻辑关系定义了数据的完整性 约束条件,是设计数据检验功能的依据。数据结构描述=数据结构名,含义说明,组成:数据结构或数据项数据流=数据流名,说明,流出过程,流入过程,组 成:数据结构或数据项流出过程,说明该数据流由什么过程来。流入过程,说明该数据流到什么过程去。数据存储=数据存储名,说明,输入数据流,输出数据流,组成:数据结构或数据项,数据量,存取方式数据量,说明每次存取多少数据,每天(或每小时, 或每周)存取几次的信息。存取

6、方法,指的是批处理,还是联机处理;是检索还是更新;是顺序检索还是随机检索;尽可能详细收集并加 以说明。处理过程=处理过程名,说明,输入:数据流,输 出:数据流,处理:简要说明简要说明中主要说明该处理过程的功能,艮“做什么”(不 是怎么做);处理频度要求,如每小时(或每分钟)处理多少事务,多少数据量;响应时间要求等。这些处理要求是后面 物理设计的输入及性能评价的标准。参考资料1、软件技术基础教程,万晓东、施玉霞、孔德明,南京 航空航天大学。2、C+程序设计教程,皮德常,机械工业出版社。3、ML 用户指南,Grady Booch James Rumbaugh Ivar Jacobson著,邵维忠等

7、译。4、软件工程导论(第五版),张海藩著,清华大学出版社。5、Visual C+实用教程,丁有和 郑进 周怡君 著, 电子工业出版社。6、算法设计与分析,王红梅著,清华大学出版社。7、数据库系统概论(第四版),王珊萨师煊 著,高 等教育出版社二 、 可 行 性 分 析可行性研究的前提要求:功能:使用人员通过此软件使出行轻松方便。性能:查询效率尽可能做到精准,信息维护功能做到简单易用。输入:简单、易用。输出:快速、精确。完成期限:4个月基本数据处理流程目标:开发出一套用于公交车查询的软件,帮助出行人员方便、 高效的进行对自己的出行管理,并通过此次软件开发过程全面提高自 身的综合素质。条件、假定和

8、限制:开发时间:5周。最迟完成时间:2011年11月25日决定可行性的主要因素:资金到位、现有技术可完全承担开发 任务、软件能被原有工作人员快速接受。进行可行性研究的方法通过调查分析宝鸡市公交车查询系统现阶段所具备的能力及实 现的方法、确定主体结构。利用JAVA和数据库编程所能达到的能力, 以最简洁、最容易的办法,边开发边测试,实现一个初级应用软件。 即采用面向对象的方法开发此软件。评价尺度以能够达到帮助出行人员提高行程管理效率、减少额外人力、物 力资源开销为评价标准。3.对现有系统的分析目前市场存在的公交查询系统软件,大多是公交公司提供,为网 络版。实时性好是他们的优势,但是存在以下问题:产

9、品的交互界面方面。公交公司所提供的网络版查询系统在很大 程度上只是为了使用,对交互界面的设计并没有从用户的方面过多考 虑。产品的功能方面。在前期的市场调查中,我们发现网络版查询系统具有或 多或少的各方缺陷。如只提供终点起点的查询,在起点和终点之间的中间站没 有提供查询。在起点和终点没有宣达车时,无法提供相关的转车信息。在查询 时显示不直接、明确等问题。产品的优化方面。对一个初级系统是无法做到尽善尽美的,因此要在用户 的使用过程中发现问题,从而进行基本结构的添加、修改,对应用软件进行优 化、升级。网络版的查询系统是无法做到这一点的。技术可行性分析公交查询系统编程已经具备了完备、成熟的理论和体系结

10、构,JAVA编程与 数据库相结合进行开发的技术也日趋成熟,在以上限制条件下利用现有技术和 人员,本系统的开发完全可行。与工程产品相关的关键技术概述本工程产品的关键技术在于JAVA编程的程序设计与数据库的结合,将 所有的数据信息都放入数据库中进行存储,而这些数据信息的调用则完全由程 序来完成,即“程序设计数据化,数据管理程序化”思想。关键技术的理论基础依据“程序设计数据化,数据管理程序化”的设计思想,将数据库文件 与程序设计紧密的集合在一起。技术可行性评价完全可以实现预期目标。投资及效益分析(略)社会因素方面可行性公交车应用普及,对个人的出行参考的合理化是可行的;该产品使用简单方便,略懂计算机的

11、用户就可以没有任何困难地使用该产 品;结论技术、经济、操作都有可行性,可以立即开始进行。三、需求分析随着我国经济的高速发展,人们生活水平的提高,越来越多的人开始热衷 于到外地旅游。那么对于这些外来旅游者,首先搞清这个城市的公交路线显的 很重要!南京,作为一个六朝古都,每年都要吸引大量的游客,为了满足这些 游客熟悉公交路线的需求,特以公交查询系统为设计课题。本软件不仅能给游 客带来方便,也能给广大市民提供方便。我认为这样的系统应该具有很好的实 用性!开发本系统的目标就是立足广大乘客的实际,着眼于公交业的未来发展, 规范公交管理,提高服务质量,方便乘客查询,并为此设计该系统。1用户功能需求分析所有

12、乘客可以使用该系统进行车次及路线的查询。本系统应具有简单易用功能强大特点,有较强的纠错能力(随着软件的版 本升级功能和纠错能力也可以不断得到提高)。如果在网络上运行,应有数据在 线更新的能力以及在线查询的能力。由于毕业设计时间有限,本系统没有设计成 网络运行版的,在以后的时间会进一步完善该系统。由于车次经常会变化所以需要一个管理员身份去管理这个公交查询系统方 便更改车次的信息以及车辆的出行线路。2系统功能分析本系统提供了的车次查询功能、路线查询功能。乘客可以方便的进行查询, 以防乘错车次。同时管理员身份方便管理车辆的车次和出行线路。当然有些功能 的智能化不是很强,系统有待进一步来完善。也希望老

13、师及朋友给予指导,提出 您们的建议!在此,先向您们表示感谢!档案(公交路线信息资料)管理模块:一般浏览者只能查看档案, 不能对档案做任何的修改。不同的用户级别所操作的档案类型是有限 制的。管理员用户可向里面添加、修改和删除档案。也可设置档案级 别,以加强它们的保密性。查询管理模块:是给管理员用的,是为了方便管理员查找档案, 也有关键字搜索和模糊搜索。查到记录后,也可双击记录即可显示详 细信息。系统维护模块:仅限管理员使用。其中可以添加、修改、删除操 作员工,设置他们的权限、级别及密码。对性能的规定数据精确度:查询时要保证查全率,所有相应域包含查询关键字 的记录都应能查到。因为通常有文件的记录会

14、很多,所以本系统采用 了两种方法进行查询:直接查询和模糊查询。时间特性:一般操作的响应时间应在12秒内。基本数据处理流程输入输出要求:输入操作简便,容错性好,输出界面给人以全新的感觉,一目了然。给操作用户带来了极大的便利,对用户友好。对 鼠标和键盘单独支持。数据管理能力要求:系统管理员可以及时对数据进行更新(添加、 修改、删除等),同时对数据进行权限设置、安全设置以及备份等操 作。故障处理要求:正常使用时不应出错,若运行时遇到不可恢复的系统错误,也必须保证数据库完好无损。其他要求系统的容错性:用户输错数据都有提示信息,具有较好的容错性能。系统的封闭性:用户的封闭性较好,用户基本上在提示信息下输

15、数据。数据字典与流图2公交站点查询程图:3公交线路查询流程图:4公交换乘方案流程图:系统数据字典,如下表所示。数据项数据项关键字数据项含义数据类型数据要求系统管理员编号AdminID管理员的唯一编号整型系统管理员用户 名Adiminname管理员用户名字符型2-50系统管理员密码Adminpw管理员密码字符型2-50普通用户编号UserID普通用户的唯一编号整型普通用户用户名Username普通用户用户名字符型2-50普通用户密码Userpw普通用户密码字符型2-50线路编 号RoutelD每一条线路的编号整型线路名 称Routename每一条线路的名称字符型50车次编 号BusID车次编号整

16、型车次名 称BusName每一趟车次的名称字符型50车次种 类Busclass每一车次属于哪条线路整型站点编 号StationlD每一个站点的编 号整型站点名 称StationName每一个站点的名称字符型2-50站点种 类StationClass每一个站点属于哪条线路整型始班车 时间Starttime始班车时间日期末班车 时间Endtime末班车时间日期四概要设计说明书4. 1需求规定表1输入输出需求输入项目处理输 出项 目车次输入要查询的车次即可本车次的停靠立占线 路表站点输入站点,查处经过本站点的所有车次车 次起点&查询出经过这两个站点的直达车或换成车终点 h、八、建议次无(鼠 标)输出

17、公交车运营时间表时 间表4. 2运行环境客户端适用于所有运行JVM的机器上。4. 3基本设计概念和处理流程数据库图2总体处理流程图4. 4结构5功能需求与程序的关系(略)6人工处理过程向数据库插入必要的线路信息。2. 7尚未问决的问题(无)4、5接口设计4.用户接口本系统只实现查询功能,故根据用户在GUI中输入的查询信息提供具体回 答。其中,输入车次为数字型字符,站点为字符串类型。输入信息具体见表1。2外部接口 (略)3内部接口 (略)4、6运行设计运行模块组合程序初始化后,启用输入接受数据。判断接受的数据从而调用不同模块产 生各自进程和功能。实时反馈信息、更新界面。运行控制运行控制以接受键盘

18、事件和鼠标事件来控制。信息反馈方面通过不同的模块功能,实现信息更新显示等。4.运行时间(略)系统数据结构设计4.逻辑结构设计要点gjc_up公交车上行线路表列 名数据类 型可否为空说明bus_novarchar(3)Not null车次(主键为bus_no和st_no1)st_namevarchar(8)Not null站点名st_ nolvarchar(2)Not null站点号gjc_down公交车下行线路表(可能不需要)列 名数据类 型可否为空说明bus_novarchar(3)Not null车次(主键为bus_no和 st_no2)st_namevarchar(8)Not null站

19、点名st_ no2varchar(2)Not null站点号表3数据库逻辑结构图表4.物理结构设计要点系统的物理结构具体由数据库来设计与生成,此处略。4.数据结构与程序的关系(略)4、8系统出错处理设计4.出错信息1)JTextFieldl输入格式不是数字型字符。2)JTextField2、JTextField3输入格式不是字符串类型。3)JTextFieldl、JTextField2 及 JTextField3 的输入的相关信息不存在。处理:弹出对话框显示“抱歉:xxx站不存在! ”或“抱歉:xx车次不存在! ”。五、测试结果及分析在上述运行环境下运行程序,会相继得到下面的各种运行结果。按提

20、示语进行操作;如在主菜单选项下,选择1会进入“公交线路查询”功能选项下,再次按提示语操输 入要查询的公交路线,如8路就输入8,就会显示8路所经过的站点。六、设计总结这次完成的这个学生成绩管理系统确实给我留下了很深的印象, 也让我更深刻的认识到了动手的必要性。一方面,这次的这个作业锻 炼了我自己的动手能力和动脑能力,使自己可以在电脑前静下心来认 真的思考学习,领会老师讲过的设计思想,从而锻炼自己编程的能力。 虽然平时也会写些小的程序,但都达不到锻炼自己的目的,往往由于 过于急躁而放弃,但是。这次我强迫自己必须静下心一点点做成了, 有一种成就感。但更多的是锻炼了自己的思维能力和动手能力和分析 解决

21、问题的能力。另一方面,我体会最深的那就是一个我们必须学会 调试自己的程序,当遇到输出结果和预想的有出入是,自己经过思考 一点一点的去调试自己的程序,找出问题的所在,然后静下心慢慢的 解决它,我觉得这是一个程序员必须具备的能力。出错了并不可怕, 要自己一点一点的解决。另外,在做之前,一定要先明白目的,这样设计起来才有根据, 设计出来的系统才能是正确的总之,经过我的努力,算是完成了这一次的作业,不能说圆满, 因为有些思想是借鉴的参考书上的,但起码我真真切切的自己实践 了,自己也掌握了一些方法和技巧,对软件的了解也有了更深一层的 认识;比如以前从不认为编程之后还要写文档;但经过这次的文档编 写使得我

22、很快就为编写程序开了一个好头;比没写文档的时候还要 快;因为思路理清楚了;结果编出来的程序也没有太多的错误需要一 个个查;希望老师以后多多举行一些这种独立完成一个系统的作业; 让我们不再对单独完成整套系统不再恐惧。七附录:/源代码*公交查询系统源代码此文件中包含改程序的所有代码;用户模块的子模块包括:公交换乘、公交线路、公交站点.编码主程序主菜单:#include #include #include #include #include ”#define MAX_NUM_OF_BUS_STATIONS 4000 typedef struct char name50;int staNum,staO

23、rd100;ame, staName);elseif(!(staName, order, ignore) ame, staName);(staName, order);g_Lineg_LineNum.staOrd g_Lineg_LineNum.staNum+ = order; ine g_Stationorder.lineNum+ = g_LineNum; ame, g_LinepreL, g_S);ineNum; i+) inei;for(j=0; jg_LinetmpLine.staNum; j+) taOrdj;if(!visitedtmpS

24、ta)visitedtmpSta = true;(tmpSta);pStatmpSta = k;pLinetmpSta = tmpLine;PrintPath(d,pSta,pLine);free(visited);free(pSta);free(pLine);int main()FILE *fi = fopen(,r);char str1024;int ignore,current,destination;while(fgets(str, 1024, fi)SliceOff(str); rd = 0;hashListi.staName0 = 0;usedi = false;taName)!=0)Collision(p);if(strcmp(key, hashListp.staName)=0) e = hashListp.ord; return SUCCESS;elsereturn UNSUCCESS;rd = e;strcpy(hashListp.staName, key); usedp = 1;return SUCCESS;2

温馨提示

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

评论

0/150

提交评论