ASP.NET
课程设计报告
设计题目:校园在线导航系统的设计与实现
学院:信息工程学院
班级:计科076
姓名:高露露 周丽 焦岗
张贵芳 郑雅婷 吕瑞娜
指导老师:王建平
时间:2010.12.19~2010.01.06
目录
1 需求分析 - 3 -
1.1 开发的目的和意义 - 3 -
1.2 要解决的问题 - 3 -
1.3 实现功能 - 3 -
1.4 有待完善的问题 - 3 -
1.5 系统开发难度 - 3 -
2 数据库设计 - 4 -
2.1 数据库软件:ACCESS - 4 -
2.2 核心数据表 - 4 -
3 系统设计 - 5 -
3.1 系统功能描述 - 5 -
3.2 系统功能模块划分 - 5 -
3.2.1 用户查询模块 - 5 -
3.2.2 用户留言模块 - 6 -
3.2.3 系统管理模块 - 6 -
3.2.4 系统的功能模块 - 6 -
3.2.5 核心算法(迪杰斯特拉算法DijkStra) - 6 -
4 软件测试 - 8 -
4.1 测试平台 - 8 -
4.2 测试方案 - 8 -
4.3 测试结果分析 - 9 -
5 结论 - 9 -
5.1 开发小结 - 9 -
5.2 功能模块分工 - 10 -
6 参考文献 - 10 -
此次课程设计题目为《校园导航系统》其目的是为了方便校外人员以及广大入校新生对本校的查询,能了解本校内部概况,使用户可以根据地点名线路名以及编辑线路名进行检索。在检索导航中,种类和限制使用户在检索时可以进行模糊检索功能。当用户对所要查询的地点不太了解时,即可以进行模糊查询。其中,点到点的查询在此次设计中是最核心的环节。
(1)学校各个分布的详细信息采集;
(2)通过线路名查询途径的建筑名;
(3)地点名的模糊匹配;
(4)点到点最优路径选择;
(5)管理员对系统的管理及查询;
(6)界面的美化。
经过小组成员的共同努力.各个模块功能已经基本实现.整体结构清晰.为方便管理,各个网页间采用同一框架.方便用户对各个功能的使用.
未能实现校园区域的地图浏览及地图的基本操作(如放大、缩小、漫游、电子线路浏览及查询)。
此次开发的难度在于数据库的连接以及实现点到点的查询,需用到迪杰斯特拉算法(DijkStra)。通过编程实现最短路径选择。
Microsoft Office Access(前名 Microsoft Access)是由微软发布的关联式数据库管理系统。它结合了 Microsoft Jet Database Engine 和 图形用户界面两项特点,是 Microsoft Office的成员之一。其实Access 也是微软公司另一个通讯程序的名字,想与 ProComm 以及其他类似程序来竞争。可是事后微软证实这是个失败计划,并且将它中止。数年后他们把名字重新命名于数据库软件。另外,Access还是c语言的一个函数名和一种交换机的主干道模式。
本数据库用于记录各数据表的相关定义及信息描述
Admin_Table(管理员用户表)主要存储管理员所用到的相关信息,见表2-1;
表 2-1.Admin_Table
Station_Table(建筑物名表)存储校园内所涉及到的的建筑物,见表2-2;
表2-2 Station_Table
Route_Table(线路表)存储校园内各建筑物所途经的线路,见表2-3;
表2-3 Route_Table
Path_Table(路程表)存储校园内可相互直达的建筑物之间的距离,见表2-4;
表2-4 Path_Table
Liuyan_Table(留言表)存储使用用户反馈的意见及信息,见表2-5。
表2-5 Liuyan_Table
通常,同学们在进入学校之前,最想知道的信息有:本人所在位置、周边最近地点、目的地附近地名、最佳路线等。因此,本次研究以河南科技学院为例,将学校导航系统功能初步设计为:在用户进入主界面后,可以通过导航栏进行各类查询,包括线路的查询、建筑物名查询、点到点的查询等快速地查询出符合用户条件的相关线路信息,用户还可以在留言薄中直接进行留言,留言内容可以是对线路的询问,也可以是对系统的不足地方提出来自己的见解。当管理员进入系统后,可以对数据库中的信息进行、删除、和编辑等操作,还负责管理用户的留言信息,通过对留言信息的审核,然后来判断对留言信息是进行回复还是删除操作。
在了解了系统的功能需求后,可以把该系统划分为以下3个模块:用户查询模块、用户留言模块和系统管理模块:
此模块为整个系统中最主要的功能模块,主要查询用户自己所需要的线路信息。
1). 建筑物查询:输入要查询的某一建筑物进行搜索,可以查询出其周边的建筑物。
2). 线路查询:输入某一线路名,可以查询出此线路所途经的建筑物。
3). 建筑物点到点查询:输入要查询建筑物的起始地和目的地,可以查询出两地之间的最短路径。
在此模块中,用户可以不需要注册即可在网上进行留言,作相关信息的意见反馈。
在此模块中,主要是对此系统中各个模块及表进行管理。主要包括:
1). 建筑物修改:在指定的某一条线路上添加或删除任意建筑物,添加或删除成功后给出相应的操作成功提示,相应的数据表信息会随之改变。
2). 留言簿查看:轻松调出用户的反馈信息,显示内容有三项:反馈者,反馈时间,反馈内容。
3). 数据表查询.
该系统划分为以下3个模块:用户查询模块、用户留言模块和系统管理模块。
迪杰斯特拉(DijkStra)算法求最短路径的实现思想是:设图G=(V,A)其中,V={0,1,2,3……n},COST是表示G的邻接矩阵,G.arcs[i]j].adj的权为无穷大(这里取值为32767),设S是一个集合一,其中的每个元素表示一个顶点,从源点到这些顶点的最短路径已经求出,设顶点V1为源点,集合S的初态只包含顶点V1,数组D[v]记录从源泉点到其他各个场所顶点当前的最短距离,其初值为D[v]=G.arcs[num][v].adj,i=2,3,……,n.从S之外的顶点集合V—S中选出一个顶点W,使D[V]的值最小,于是从原点到达W只通过S中的顶点,把W加入集合S中,调整dist中记录的从单原点到V—S中每个顶点V的距离;从原来的D[V]和min+G.arcs[v][w].adj中选择较小的值作为新的D[V]记录了从原点到V中其作各顶点之间的最短路径顶点,path最短路径的路径数组,其中path[i]表示从原点到顶I之间的最短路径的前驱顶点。
因此,迪杰斯特拉算法可用简单语言描述如下:
初始化S和D,置空最短路径终点集,置初始的最短路径值;S[V1]=TRUE;更新当前最短路径及距离;相应代码如下:
Void ShortesPath(int num) //迪杰斯特拉算法最短路径函数 num 为入口点的编号
{
Int v,w,i,t; // i,w,v为计数变量
Int final[NUM];
Int min;
For(v=1;v
{
Final[v]=0; //假设从顶点num到顶点v没有最短路径
D[v]=G.arcs[num][v].adj; //将与之相关的权值放入D中存放
For (w=1;w
P[v][w]=0;
If(D[v]<32767) //存在路径
{
P[v][num]=1; //存在标志置为一
P[v][v]=1; //自身到自身
}
}
D[num]=0;
Final[num]=1; //初始化num顶点属于S集合
//开始主循环,每一次求得num到某个顶点的最短路径,并将其加入到S集合
For(i=1;i
{
Min=Max; // 当前所知离顶点num的最近距离
For(w=1;w
If(!final[w]) // w顶点在v-s中
If (D[w]
V=w;
Min=D[w];
}
Final[v]=1; //离num顶点更近的v加入到s集合
For(w=1;w
If(!ginsl[w]&&(min+Garcs[v][w].adj
{
D[w]=min+Gracs[v][w].adj;
For(t=0;t
P[W][t]=P[v][t];
P[w][w]=1;
}
}
}
系统详细设计完成后,往往要对系统进行测试,以便检验系统的性能和功能。这是一个严格的过程,必须认真进行。系统测试主要解决各模块之间的数据通信和数据共享问题以及检测系统是否达到用户的实际要求,是在整个系统范围内进行的。
测试前需要做好软件上的一些相关配置,首先操作系统需符合以下要求:Windows XP 或者Windows 2000/2003;后台数据库使用SQL Sever2000;浏览器需要IE6.0及其以上;Web服务器为IIS6.0,其中系统无异常情况下需要认真配置信息服务器,配置中关键所在是设置IIS的默认路径,设置不成功这无法运行该系统。
黑盒测试:软件的黑盒测试也称功能测试,黑盒测试注重于测试软件的功能需求,它是通过测试来检验每个功能是否都能正常使用。它只检查程序功能是否按照规格说明书的规定正常使用,程序是否能适当地接受输入数据而产生正确的输出信息。黑盒测试着眼于程序的外部结构,不考虑内部逻辑结构,主要针对于软件界面和软件功能进行测试。
白盒测试:软件的白盒测试时对软件的过程细节作细致的检查。这种方法法把测试对象看做一个打开的盒子,它允许测试人员利用程序内部的逻辑结构及有关,设计或选择测试用例,对程序所有的逻辑路径进行测试,通过在不同的检查程序状态,确定实际状态是否与预期的状态一致。因此白盒测试又称为结构测试或逻辑驱动测试。
通过认真的黑盒测试,该系统的各功能均能运行正常,模块与模块间连接顺利,无其他的异常情况发生。
学院线路查询模块:根据模块的功能需求,选择精确匹配,其结果均能正常显示,测试结果与预期结果完全一致。
学院建筑物查询模块:输入某个建筑物能够显示其附近的信息,与数据库中存在的信息一致。
学院点到点查询模块:输入起点站和终点站是能够罗列出所有经过这两个建筑物的具体路线信息。如图4-1所示:
图4-1
最后进行的是验收测试,是由王老师协助完成的,测试一致通过。验收测试是系统开发生命周期的最后一个阶段,它是确定一个系统是否满足用户需求的测试。通过对该系统的全面测试,其结果与预想的结果基本相同,完成了大部分的设计功能。其功能作用基本上能满足用户的需求。但是由于设计时间和能力的有限,设计上还是存在一些不足之处,这些问题将在后期的系统维护过程中不断改进与完善。
通过此次项目研发,将ACCESS与ASP.NET相结合,实现了此系统的主要功能模块:用户查询模块、用户留言模块以及系统管理模块等。此次系统设计不仅可以实现各个建筑物的查询以及各建筑物之间的线路查询,而且还采用了迪杰斯特拉(DijkStra)算法,能方便有效的查询校内各个建筑物之间的最短路径。系统内嵌有用户留言簿,能方便用户将意见反馈给我们,完成了系统的预期目标,通过本次课程设计,不仅使我们学到了很多专业知识,而且提高了动手能力和解决实际问题的能力,对我们以后的学习和工作有很大的帮助。通过本学期对《ASP.NET网站设计》这门课程更深入的学习,让我们对asp.net网站开发有了很深的了解,并在王老师的指导下完成本次课程设计。
经过几天的努力,关联度考试系统终于按预期的结果顺利完成了。从系统最初的需求分析、设计、到最后实现的过程中,经过多次反复的修改,功能逐渐完善,已经基本达到了使用、方便,人性化等预期目标。
这次课程设计不仅让我们的专业知识进一步巩固,还培养了计算机多门学科的综合知识。迅速规划并开发出目标系统的能力,而且提高了动手能力和解决实际问题的能力。课题完成到现在,从开始项目流程都不怎么熟悉,到现在完成基本需求功能,遇到了不少问题。本次课程设计不但是我们这次所学知识的总结,而且还让我们从中学到了很多新的内容。在开发过程中,常常由于个人一点失误,或者对某个模块理解的不够充分,导致整个程序的无法进行,经常因为一个问题,知识整个工作无从下手,这时,只有细心的跟踪调试、阅读相关书籍、向老师咨询,仔细检查才能通过。例如,由于自己的编程思想不明确,导致没有明确方向,通过查阅多本参考资料,解决相关问题。整个过程中,大家逐步学会了当遇到问题时应该如何面对,如何需找最有效的解决方案。学习了系统化的开发思想,让大家有了更多的团队合作精神。
以下为小组成员分工表:
高露露:点到点查询(迪杰斯特拉算法)、建筑物的添加删除;30%
周丽、张贵芳、:发布留言、留言信息的查看,课程设计报告;20%
焦岗、郑雅婷、吕瑞娜:数据库信息的搜集、数据库表的建立、学院线路查询、学院建筑周边查询、各表信息的查看功能的实现。50%
1 李正希,胡方霞,陈发吉等. ASP.NET案例开发. 北京:中国水利水电出版社,2004
2 张小潘等. ASP.NET经典范例50讲. 北京:北京希望电子出版社,2004
3 严蔚敏,吴伟民等. 数据结构. 北京:清华大学出版社,2009
本文来源:https://www.2haoxitong.net/k/doc/45d8d4d776eeaeaad1f3302c.html
文档为doc格式