华中科技大学校园导航系统
概要设计说明书
华中科技大学校园导航系统
概要设计说明书目录
1. 引言    3
1.1. 编写目的    3
1.2. 软件开发项目背景    3
1.3. 相关定义    3
1.4. 参考资料    3
2. 总体设计    4
2.1. 需求规定    4
2.2. 运行环境    4
2.3. 基本设计概念和处理流程    4
2.4. 结构    5
2.5. 功能需求与程序的关系    6
2.6. 人工处理过程    7
2.7. 尚未解决的问题    7
3. 接口设计    7
3.1. 用户接口    7
3.2. 外部接口    8
3.3. 内部接口    8
4. 运行设计    8
4.1. 运行模块组合    8
4.2. 运行控制    9
5. 系统数据结构设计    9
5.1. 逻辑结构设计要点    9
5.2. 物理结构设计要点    10
5.3. 数据结构与程序的关系    10
1. 引言
1.1. 编写目的
    本概要设计说明书基于之前建立的软件需求设计基础上,对“华中科技大学东校区校园导航系统”做出概要分析。主要解决了实现该系统需求的程序模块设计问题。包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、
模块结构的设计等。在以下的概要设计报告中将对在本阶段中对系统所做的所有概要设计进行详细的说明。
    在下一阶段的详细设计中,程序设计员可参考该概要设计说明书,对系统进行详细设计。在以后的软件测试以及软件维护阶段也可参考该说明书,以便于了解在概要设计过程中所完成的各模块设计结构,或在修改时出在本阶段设计的不足或错误。
本说明书的预期读者为:软件课程设计指导老师,其他相关软件开发设计人员等。
1.2. 软件开发项目背景
软件系统名称:华中科技大学东校区校园导航系统。
任务提出者:
软件开发者:
软件面向用户:
软件开发平台或网络:Microsoft Visual Studio 2008
特此声明:此软件的开发目的仅为提高软件开发人员的项目开发能力、学习能力及团队合作意识。该软件开发全部源代码仅供学习交流,不用于任何商业目的。
1.3. 相关定义
MFC全称为Microsoft Foundation Classes,是一个微软公司提供的类库,以C++类的形式封装了WindowsAPI,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。
Tsp:实现遍历算法以及图形展示的界面。
Shortest:实现最短路径算法以及图形展示的界面。
Change:实现节点文件修改的Win32 控制台程序。
Initial:实现初始节点文件载入的Win32 控制台程序。
1.4. 参考资料
计算机软件产品开发文件编制指南GB 8567-88,百度文库,
wenku.baidu/view/2f8a766fb84ae45c3b358c9b.html
参考书目:
1. VC++深入详解。孙鑫,余安萍。上海:电子工业出版社。20064月。
2. 深入浅出MFC侯俊杰。武汉:华中科技大学出版社19989月。
本项目相关任务书或报告说明:
1. 软件需求说明书;
2. 详细设计说明书;
3. 测试分析报告;
4. 项目开发总结报告。
2. 总体设计
2.1. 需求规定
    该华中科技大学东校区校园导航系统为解决用户遍历人文景点以及实现最短路查询的目的,其输入即为起始出发点或包括到达的目的地,而输出即为地图上显示的行走路径。为实现该目的,可将输入通过下拉菜单的方式进行显示,以方便用户进行选择。而输出以逐段行走路径的显示方式进行显示,以帮助用户能更好的使用该系统进行路经查询。
2.2. 运行环境
一台Pentium 4以上的微机及兼容;
操作系统为Window XP
需要的软件为Microsoft Visual Studio
软件环境为MFC
2.3. 基本设计概念和处理流程
    在本校园导航系统中,为实现用户的方便使用,采用多层界面的方式进行设计。主界面提供校园简介信息、遍历人文景点、经过至少一个人文景点的最短路径、拓扑图修改、文件初始化、版权信息以及退出程序等7个功能,而在遍历人文景点、经过至少一个人文景点的最短路径这两个功能中,分别计算出两种情况下的最短路径,并在地图上进行描绘。其基本设计概念示意图如下图1所示:
1. 基本设计概念示意图
2.4. 结构
    本系统中,主界面主要包含了4项功能:学校简介、遍历人文景点的路经查询、经过至少
一个人文景点的最短路经查询、拓扑图的初始化与修改四个部分。以下4张图分别反映了这四项功能的结构内容:
2. 学校简介功能结构
3. 遍历人文景点的路经查询功能结构
4. 经过至少一个人文景点的最短路经查询功能结构
5. 拓扑图的初始化与修改功能结构
其中,各功能的实现均由主界面直接控制,图3、图4所示的查询功能是通过相应的搜索算法控制得到。
2.5. 功能需求与程序的关系
    在本程序中,主要源文件为HustguideDlg.cppXuexiao.cppTsp.cppShortest.cppinitial.cppchange.cpp其中,上述7种功能(顺次为功能1-7)所对应的源文件如下表1所示:
1. 功能需求与程序关系表
HustguideDlg.cpp
Xuexiao.cpp
Tsp.cpp
Shortest.cpp
initial.cpp
change.cpp
功能1
功能2
功能3
功能4
功能5
功能6
功能7
导航页源码
2.6. 人工处理过程
    在本系统中,由于每两个地点间的线路是实际线路,而非拓扑线路,因此,需要人为地将每两个地点间的重要点,例如十字路口点,丁字路口点等进行存储,以方便最终的线路描绘。
2.7. 尚未解决的问题
如何将拓扑线路以及每两地点间的行走线路进行存储;
搜索算法计算量庞大,如何缩短计算时间,提高计算效率。
3. 接口设计
3.1. 用户接口
    用户首先需要通过鼠标点击主页面的7项功能中的一种,进而进行功能选择:
1. 学校简介:用鼠标左键单击主界面的“学校简介”按钮,软件将会显示华中科技大学相关信息;
2. 遍历路经查询:用鼠标左键单击主界面的“遍历路经查询”按钮,进入遍历查询系统界面,在下拉菜单中选择起始点,点击“查询”按钮,实现遍历路经查询功能;
3. 最短路径查询:用鼠标左键单击主界面的“最短路径查询”按钮,进入最短路径查询系统界面,在下拉菜单中选择起始点,点击“查询”按钮,实现最短路径查询功能;
4. 节点文件修改:用鼠标左键单击主界面的“节点文件修改”按钮,进入节点信息的控制台,在控制台上直接修改节点信息;
5. 文件初始化:用鼠标左键单击主界面“文件初始化”按钮,将修改过的节点文件重新初始化为原情况;
6. 关于版权:用鼠标左键单击主界面“关于版权”按钮,软件将会显示本软件的相关版权信息;
7. 退出:用鼠标左键单击主界面“退出”按钮,软件弹出退出的提示信息。
3.2. 外部接口
    本软件是基于Microsoft Visual Studio 2008编程平台的一款软件,其功能与其他软件独立,不与其进行接口。
3.3. 内部接口
界面跳转接口:
实现界面的跳转时,需要对相关按键进行定义,将当前界面关闭,同时打开另一界面,实现的代码如下例所示,ChustguideDlg为主界面窗口
this->EndDialog(0);
CHustguideDlg  dlg;
dlg.DoModal();
算法实现接口:
实现算法的接口时,需要对两路经查询界面的“查询”按键进行定义,可直接将算法移植入“查询”按键中,实现路径的查询;
绘图功能接口:
实现绘图功能接口时,同样的,将绘图功能的相关代码移植入“查询”按键中,实现路径的描绘。
初始化与修改功能接口设计
实现初始化与修改功能时,调用WinExec函数进行接口。
4. 运行设计
4.1. 运行模块组合
如下图6所示,本软件主要分为最短环路计算模块和最短经历风景点模块,而两个大的模块中间又分为两个小的子模块。
当进行最短环路计算时,系统首先调用基本环计算模块,然后依据输入的参数进行最优环路计算;当进行最短连线导航计算时,首先调用情况分类模块进行分类,然后进行最优中间路径点的搜索。
图6. 运算模块组合示意图
4.2. 运行控制
基本环计算的操作步骤
1. 选择遍历路径查询按钮;
2. 在下拉菜单中选择起始点;
3. 点击查询按钮进行查询。
最短路径查询操作步骤
1. 选择最短路径查询按钮;
2. 在下拉菜单中选择起始点和目的地;
3. 点击查询按钮进行查询   
5. 系统数据结构设计
5.1. 逻辑结构设计要点
本程序的数据关键为风景点和非风景点的数据信息。本程序定义了一种结构数据分别将这两种类型的点存储于两个数组中。该结构的成员包括:该点的坐标,对应于各个风景点的路径信息结构数组。这个数组的成员包括:目标点的系统名称,到达目标点的距离,到达目标点的关键点坐标数组,具体结构见示意图如下。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。