目录一、引言 (2)1.编写目的 (2)2.项目背景 (3)3.定义 (4)4.参考资料 (4)二、任务概述 (5)1.系统简介 (5)2.软件用户特点 (5)3.开发方法 (5)三、需求规定 (6)四、运行环境规定 (8)五、数据库初步设计 (8)六、程序功能及实现方法概述 (9)一、引言随着科技的进步,时代地发展,计算机已越来越深入到人民的生活、工作当中,极大的方便了人民的日常生活和工作。
特别是随着科技的不断发展,智能化也不是一个名词,而是实在的随处可见的。
算法设计与分析对于程序的实现骑着非常重要的作用,思路才是程序的核心。
这个校园导航系统,利用算法设计里的图来解决,它将校园景点作为图的结点,将景点间的路径作为图的边,路径距离作为边的权值。
这样一来,求两景点间最短路径的问题就抽象成了求图中一结点到另一结点的问题。
这也是计算机代替人工的一个实例,也充分体现算法的重要。
针对校园现代化的实现,对于来访我校的访客和新生能够更方便的了解学校的景点,便于参观,也减少导游人员的数量,于是我们编写了这个校园导航系统,为刚入学的新生或是初次到学校参观的人提供一个校园自主导航器引导他们出行。
1.编写目的目的:校园导航系统的目的:a.现在的大学占地面积越来越大,建筑物越来越多,功能越来越多样,校内的道路也是纵横交错,校园导航系统可以帮助用户更加快速的了解学校的道路,建筑布局等(用户主要是新生、家长、在小学生、教职工等)。
b.在帮助用户了解学校道路、实现导航功能的基础上。
校园导航还录入学校各个建筑物的相关信息,如名称、占地面积、历史、功能等。
2.项目背景A.委托单位:黄山学院信息工程学院开发单位:黄山学院信息工程学院主管单位:黄山学院信息工程学院✧软件开发者:徐伟恒、蔡训雅、姜蓉✧软件面向用户:黄山学院新生、在校生、教职员工等✧软件开发平台或网络:Eclipse。
✧特此声明:此软件的开发目的仅为提高软件开发人员的项目开发能力、学习能力及团队合作意识。
该软件开发全部源代码仅供学习交流,不用于任何商业目的。
B.软件产品名称:校园导航系统C.开发背景:面对广阔的校园环境,刚入学的新生或是初次到学校参观的人往往不清楚怎样才能到达自己的目的地,需要一个校园自主导航器引导他们出行。
目前在国内,真正能够称的上自主导航器,并且拥有足够地图精度的产品几乎没有,更不要说是专门针对校园的自主导航系统了。
因此,在校园中设置一些旅游景区中的自主导航器十分必要。
本次设计其实就是数据结构中图类的问题。
将校园景点作为图的结点,将景点间的路径作为图的边,路径距离作为边的权值。
这样一来,求两景点间最短路径的问题就抽象成了求图中一结点到另一结点的问题。
这也是计算机代替人工的一个实例,也是软件工程必不可少的基础。
以下是针对本次校园导航系统所做的一些陈述:校园导航查询系统是典型的校园导游查询系统,其设计主要根据学校的各个景点和场所所设计的导航系统。
本系统是一个涉及黄山学院相关景点和场所查询系统,是为了方便人们能够更快更准地获得学校各个景点和场所的详细信息。
3.定义校园导航系统是一个以人为主导,利用计算机硬件,软件,网络通信设备以及其他办公设备,进行信息收集,传输,加工,更新和维护,以用户需要为优先,满足用户和方便用户为目的,使用户拥有自主导航的能力。
4.参考资料【1】黄明,梁旭,周绍斌.Java课程设计.北京:电子工业出版社.2006 【2】朱福喜.Java语言程序设计.北京:清华大学出版社.2005 【3】耿祥义,张跃平.Java2实用教程.北京:清华大学出版社.2006 【4】袁绍欣,赵祥模,葛玮.Java面向对象程序设计.北京:清华大学出版社.2007【5】徐明浩,武传海.Java编程基础、应用与实例.北京:人民邮电出版社.2005【6】黄山学院北区校园导航系统二、任务概述1.系统简介软件工程是计算机程序设计的重要理论技术基础。
本课程的学习过程是复杂程序设计的训练过程,要求编写的程序结构清楚和正确意读,符合软件工程的规范。
以下是针对本次校园导航系统所做的一些陈述:校园导航查询系统是典型的校园导游查询系统,其设计主要根据学校的各个景点和场所所设计的导航系统。
本系统是一个涉及黄山学院相关景点和场所查询系统,是为了方便人们能够更快更准地获得学校各个景点和场所的详细信息。
2.软件用户特点本软件主要针对黄山学院南(北)校区师生的路径查询提供便利性服务,以友好的界面、快速的计算方法,为不同层次用户均提供了较好的服务。
对于希望能通过较短时间完成路径行走的用户,该软件有其频繁适用的价值。
3.开发方法校园导航查询系统的开发方法总结如下:(1) 调查,了解学校各个场所与场所或者是各个景点与景点之间的信息,路径和距离,从外来人员或者参观者和走访者的角度出发,该如何设计才能满足用户需求。
(2) 分析,对调查得到的数据进行分析,根据其要求实现的功能分析系统结构和界面将实现的基本功能。
(3) 设计与开发,设计系统界面并编辑实现其各个功能的代码。
(4) 调试,在设计完成后,调试系统运行的状况,修改完善系统,然后进行测试。
三、需求规定1.软件功能1.提供一种解决方案,规划一条最短路线,使用户可以不重复地游览各校内建筑物;2.提供一种解决方,在寻求最短路径的同时,用户可以查询校内各关键建筑物和地理位置的相关信息。
3.校园各关键位置信息储存在数据库中,通过修改数据库可加入或减少校园的场所;4.界面友好。
2.软件性能2.1. 软件精度要求用户能够通过该软件的使用,直观的得到最短路径的行走路线。
用户可以直观的得到,关键建筑物的信息,如:功能、年份、历史等。
2.2. 时间特性要求✧响应时间:界面按键的操作以及地图重要地点信息的显示能够达到即时响应;✧数据的传送与转换:完成数据的传送与转换能够达到即时响应;2.3. 灵活性要求当增加或减少校园的场所时,该软件对其的变化适应能力如下:✧操作方式上,无任何变化;✧运行环境上,无任何变化;✧同其他软件的接口,无任何变化;✧精度与有效实现上,无任何变化;✧界面处理上,会通过添加或减少下拉菜单选项以实现添加或减少校园场所的功能;✧校园拓扑图的编辑上,会在数据库中重新统计添加或减少的场所与其他场所的存储情况。
3.输入输出要求✧即输入人文景点,教室,或宿舍中的某一地点,输出为在实际地图上的一条最短路径。
而不是地图上的任意点。
✧用户想要得到的相关建筑物信息可以直观的在界面上进行输出。
文字、图像或音频。
4.数据管理能力要求需要管理的数据包括该地图上校内关键建筑物,宿舍或教室这些重要地点所对应的拓扑结构图,以及每两个地点间的实际行走路线。
数据库中个关键信息点的坐标、名称、相关信息等。
5.故障处理要求当修改数据库内容时,可能会出现定位不精确等情形而导致新的拓扑结构图不准确。
某些边界点可能无法识别导致无法寻路。
此时界面能够提示错误信息。
只需稍许更改起始位置即可。
6.其他方面要求✧要求软件能够实现大众普及的要求,即普适性强;✧要求软件的可维护性、可补充性强;✧软件的可靠性高;✧程序的可读性强;✧能够通过外部EXE.文件运行程序。
四、运行环境规定1.设备与支持软件要求✧一台Pentium 4以上的微机及兼容;✧彩色显示器;✧操作系统为Windows ;✧需要的软件为Eclipse;✧软件环境为Eclipse。
2.软件接口该软件在Microsoft Visual Studio进行编译与测试,与其他软件无接口,为一独立软件。
3.软件控制该软件可用打包生成的外部JAR或EXE文件运行,也可以通过Eclipse重新编译进行运行;通过右上角的关闭键退出程序。
五、数据库初步设计本软件使用MYSQL数据库。
用以存储黄山学院南区校园拓扑图的相关图片信息,以及校园图上的道路、建筑等信息。
大致设计如下。
DATABASE ApplyMapImageInfo表图像信息字段表:ImageInfo` (`ApplyMap_ImageInfo_ID` int(11) NOT NULL,`ApplyMap_ImageInfo_ObjectID` varchar(20) NOT NULL, #映射为物体对应的ID,如建筑、树等`ApplyMap_ImageInfo_X` int(11) NOT NULL, #图片上某点的x坐标 `ApplyMap_ImageInfo_Y` int(11) NOT NULL, #图片上某点的y坐标`ApplyMap_ImageInfo_Flag` int(4) NOT NULL, #表示是不是路,以及是哪种情况下的路,如:大路、小路、可能湿的路、可能成为终点的路等PRIMARY KEY(`ApplyMap_ImageInfo_ID`)ObjectInfo表物体信息字段表:ObjectInfo`(`ApplyMap_ObjectInfo_ID` int(11) NOT NULL,`ApplyMap_ObjectInfo_Name` varchar(20) NOT NULL, #事物所对应的名称,如图书馆、教学楼等`ApplyMap_ObjectInfo_History` varchar(3000) DEFAULT NULL, #该事物所具有的历史(注:这两个表可能有其他属性,根据需要,后续添加)六、程序功能及实现方法概述本软件实现校内关键点与点之间的导航(寻路),并非所有地理位置均可。
同时实现对校内主要建筑物的信息储存及界面显示。
寻路实现依靠TreeMap数据结构实现寻路算法。
校园拓扑结构图人为制作,将资源图(黄山学院南区地图)的主要路径用鲜艳的颜色涂抹(如红、绿、蓝)用JAVA图像相关类获取RGB判断颜色,再用一个二维数组储存RGB为相应道路颜色的所有点的坐标。
在获得用户输入的起点和终点坐标之后,利用这个数组,即可在界面上的图像控件上绘制路径。
显示关键建筑物的信息,数据库中需要储存相关信息,如、名称、历史、功能等。
在图像控件上、如果用户触发该建筑物的范围(ImageInfo表中定义),即可在见面上显示相关信息(ObjectInfo 表)。