jsp课程设计 20Word文档格式.docx
《jsp课程设计 20Word文档格式.docx》由会员分享,可在线阅读,更多相关《jsp课程设计 20Word文档格式.docx(17页珍藏版)》请在冰豆网上搜索。
2.2系统设计内容2
2.3需求分析2
2.3.1系统逻辑设计3
2.3.2系统功能需求分析5
2.4系统实现5
2.4.1系统的详细设计7
2.4.2程序源代码8
2.5测试分析10
第3章实训总结12
参考资料13
第1章实训的目的与要求
1.1实训设计目的
《动态网页设计》是计算机相关专业的必修专业基础课程,其实践性、应用性很强。
实践教学环节是必不可少的一个重要环节。
本课程的程序设计专题实际是计算机相关专业学生学习完《JAVA程序设计》及《动态网页设计》等课程后,进行的一次全面的综合训练,JSP动态网页设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。
1.2实训设计的实验环境
硬件要求能运行Windows2000操作系统的微机系统。
JSP动态网页设计语言及相应的集成开发环境:
J2SDK和ECLIPSE开发工具及Tomcat服务器。
1.3实训设计的预备知识
熟悉JAVA语言及ECLIPSE开发工具、Tomcat服务器。
1.4实训设计要求
按JSP动态网页设计的设计指导书提供的课题,要求学生在自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个项目解决一类问题。
要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;
对此能够较好地理解和掌握,能够进行简单分析和判断;
能编写出具有良好风格的程序;
掌握JSP动态网页设计的基本技能和面向对象的概念和方法编程技术。
同时培养学生进行分析问题、解决问题的能力;
培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。
第2章实训设计内容
2.1开发背景简述
我国城市公交乘客信息系统的发展处于一个落后的水平,广大乘客可以获得信息的方式很少,公交信息的完整性和准确性得不到保证,而且还没有专门的机构负责信息的发布和管理。
我国乘客一般获得公交信息的方式局限于电话,交通图,向熟人问讯等常规方式。
乘客可以获得的公交信息较少。
乘客出行中获得信息困难,基本上没有实时信息。
除了几个少数城市,乘客可以通过分布于城市中的若干电子站牌获得一些公交车辆的运营信息以外,在其它城市“出行中”的乘客无法获得任何实时信息。
由上所述,我国公交乘客信息系统总体上处于较低水平。
较低的发展水平既是发展的困难,也是发展的机遇。
我们应将发展公交乘客信息系统作为一个提高公交效率,增强公交吸引力的重要手段。
经济这方面也得到很好的体现,由于现代公交乘客信息系统存在的消息捕获得不到保证,在这个时间就是金钱的时代人们可不愿意乘错车而错失自己的金钱。
准确性是整个公交系统中的一个重点也是人们最希望得到保证的,公交查询系统根据公交线路的调整及时更新数据库使得人们不必为自己的错误记忆或是不熟悉线路而付出时间和金钱的代价,目的才是最终想要的,所以准确性才是最重要的。
2.2系统设计内容
本公交查询系统就是网络上的公交查询网站,它的出现解决了现代公交乘客信息系统中的很多不足的地方,它的主要优势体现在省时、经济、准确,这三个方面。
从省时这个角度讲,根据公交查询系统人们可以选择从出发地到目的地的所有乘坐路线,在所有的的乘车路线中按自己的路线选择。
可以选择直达的,这样节省的是车上时间。
车下时间的节省更是很明显的,不用再在路边或者打电话询问熟人了,由于现代网络的普及使得普通公民上网的时间和机会越来越多,所以人们可以很容易的从公交查询网站捕获到自己需要的信息,这节省的是车下时间。
本系统包括以下功能:
(1)公交终——始站查询。
(2)公交车次路线查询。
(3)公交站点信息查询。
(4)公交车牌信息查询。
(5)登陆用户后,可查询、修改、删除和添加城市公交详细信息。
2.3需求分析
2.3.1系统逻辑设计
在系统设计的开始,我首先考虑的是如何用数据模型来数据库的结构与语义,以对现实世界进行抽象。
目前广泛使用的数据模型可分为两种类型,一种是独立于计算机系统的“概念数据模型”,如“实体联系模型”;
另一种是直接面向数据库逻辑结构的“结构数据模型”。
在本系统中我采用“实体联系模型”(ER模型)来描述数据库的结构与语义。
1.管理员E-R图(登陆ID,登录姓名,登录密码):
图2.1管理员E-R图
2.发车时间E-R图(车次,编号,首班时间,末班时间):
图2.2发车时间E-R图
3.本系统的总体E-R图如图2.3所示:
图2.3总体E-R图
本系统创建的SQL数据库名称为城市公交查询系统。
并将数据文件和日志文件保存在公交查询系统APP_DATA文件夹中。
此数据库包含6个表,我这部分里有2个表:
(1)管理员表:
管理员表存放登陆系统所需要的用户名和密码,登录后台时需要访问此
表2.1管理员表
字段名
数据类型
长度
是否为空
是否为主键
说明
LoginId
int
4
否
是
登陆ID
LoginPwd
varchar
50
登陆密码
Loginname
登陆姓名
(2)发车时刻表:
发车时刻表存放发车的时间,修改发车时间需要访问此表。
表2.2发车时刻表
编号
车次
首班时间
末班时间
2.3.2系统功能需求分析
本系统采用结构化设计的方法来实现系统总体功能,提高系统的各项指标,即将整个系统合理的划分成各个功能模块,正确地处理模块之间和模块内部的联系以及和数据库的联系,定义各模块的内部结构,通过对模块的设计和模块之间关系的系统来实现整个系统的功能。
前台主要有3个模块,线路查询、站点查询、公交换乘模块和后台管理模块。
线路查询:
可以获得要查询公交所通过的各个站点。
站点查询:
通过输入的指定站点查询经过该站点的公交。
公交换乘查询:
分为公交直达、公交一次换乘,主要体现那些不可直达需要转车的路线的所有换法。
(如果用户输入的起始点和终点,有一条及一条以上的公交线可以直达的,则为公交直达;
如果输入的起始点和终点,没有一条公交线可以直接到的,系统将会给出一次换乘的方案,则为公交一次换乘)
后台管理:
用于管理员登陆,添加、修改、删除公交线路,修改信息资料、安全密码,回复留言板等功能。
车次查询功能:
乘客可以方便的进行查询,以防乘错车次。
当然有些功能的智能化不是很强,系统有待进一步来完善。
录入系统模块:
该模块实现数据的新增、修改、删除功能。
系统模块图如图2.4所示:
数据流程图2.5如下:
F1线路信息
F2站点信息
F3单位信息
F5查询报表
F4查询信息
图2.5数据流程图
首先用户准备查询公交车次,在文本框中输入公交车次号,系统判断输入车次号是否有效,如输入错误,系统提示错误信息,要求重新输入,若输入正确启动车次查询,系统从数据库中读取公交车次信息,在新窗口中显示车次经过的站点等详细信息。
在文本框中输入查询的站点关键字,系统判断输入关键字是否有效,如输入错误,系统提示错误信息,要求重新输入,若输入正确启动模糊查询,系统从数据库中读取与站点关键字匹配的站点,在新窗口中显示所有与输入关键字匹配的所有站点。
系统判断输入关键字是否有效,如输入错误,系统提示错误信息,要求重新输入,若输入正确启动模糊查询,系统从从数据库中读取经过与站点关键字匹配的站点的线路,在新窗口中显示所有与输入关键字匹配的所有线路,即与关键字相关的车次及详细信息。
若输入正确启动模糊查询,系统从数据库中读取与关键字匹配的站点,然后启动换乘查询,系统先判断是否有直达车,如果有直达车直接给出换乘信息,如没有直达车则在数据库中查找换乘线路和中转站,再给出换乘信息,在新窗口中显示显示换乘信息查询结果。
管理员维护整个系统,管理员输入用户名和密码后,登陆后台管理系统,在后台管理系统,管理员可以进行添加车次信息,修改车次信息,删除车次信息等操作。
2.4系统实现
2.4.1系统的详细设计
本系统有查询公交终始站、查询公交车次路线、查询公交站点信息、查询公交车牌信息。
并且登陆用户后,可查询、修改、删除和添加城市公交详细信息。
我所负责的是公交终始站点查询模块。
此模块为用户查询公交终始站点所设,在空中输入想要到达的站点。
点击查询。
图2.6公交终始站点查询
查询后会出现如下的界面。
图2.7公交终是站点查询结果
用户可以选择适合自己的交通路线和公交。
在本系统中,用户进入主页面后不但可以得到公交相关信息,而且可以对公交进行查询。
在线路查询中主要实现所属线路具体的信息,获得该线路会经过的站点,起末班时间、价格等等。
管理员通过后台进入系统,按照提示完成,车次、站点的添加、修改和删除。
2.4.2程序源代码
城市公交查询相关代码:
<
%@pagecontentType="
text/html;
charset=gb2312"
language="
java"
import="
java.util.*,java.text.*"
java.sql.*"
%>
jsp:
useBeanid="
dbc"
scope="
session"
class="
MyBean.dbcon"
/>
html>
head>
metahttp-equiv="
Content-Type"
content="
>
title>
城市公交查询<
/title>
styletype="
text/css"
!
--
.style3{
font-family:
"
幼圆"
;
font-weight:
bold;
}
.style5{
font-style:
italic;
.style9{font-family:
.style10
/style>
scriptlanguage="
JavaScript"
type="
text/JavaScript"
{if(theObj.fromStep.value=="
"
&
&
theObj.toStep.value!
="
)
{alert("
始发站不能为空"
);
theObj.fromStep.focus();
returnfalse;
elseif(theObj.fromStep.value!
theObj.toStep.value=="
终点站不能为空"
theObj.toStep.focus();
elseif(theObj.fromStep.value=="
始发站和终点站不能为空"
returntrue;
}<
td>
divalign="
right"
cssstyle17"
divalign="
class="
css"
spanclass="
style9style18"
ahref="
stationsearch.jsp"
终始站点查询<
/a>
spanclass="
style29"
|<
/span>
ahref="
bussearch.jsp"
<
stationinfosearch.jsp"
style28"
车站信息<
查询<
cpsearch.jsp"
车牌信息查询<
style30"
about%20me.jsp"
联系方法<
/div>
/td>
/tr>
/table>
tablewidth="
800"
height="
334"
border="
0"
align="
center"
tr>
tdwidth="
224"
height="
116"
rowspan="
2"
align="
left"
valign="
top"
includepage="
login.jsp"
flush="
true"
/>
tdwidth="
578"
bgcolor="
#FFFFFF"
385"
cellspacing="
cellpadding="
24"
38"
youyuan"
由<
78"
cuyouyuan"
%=fromstep%>
61"
始发<
42"
终到<
83"
%=tostep%>
97"
共有以下车次<
490"
tdalign="
valign="
%while(rs.next()){Stringcc=rs.getString("
cci"
%=cc%>
路<
%}%>
p>
nbsp;
/p>
tdheight="
16"
imgsrc="
images/layout_26.gif"
width="
760"
15"
middle"
tdheight="
45"
2.5测试分析
为了确保本系统能够正常运行,需要在发布之后做一次较全面的测试。
现将具体操作及过程举例说明如下:
创建和测试应用程序应是交替进行的,既要注意开发的效率也要注意它的稳定性。
每编写一个模块,就要对这个模块进行测试,看它能否根据特定的要求工作。
及早发现问题,及早解决,否则到最后再来测试的话,难度会大大增加。
(1)测试数据:
不输入用户名,不输入用户密码。
预期的输出结果:
a.如未输入用户名,则提示“用户名不能为空!
”
实际运行结果如下图2.8所示:
图2.8
b.如未输入用户密码,则提示“用户密码不能为空!
”
图2.9
(2)测试数据:
输入用户名wudong,用户密码wudong。
直接注册成功,跳转到list.jsp页面
运行结果符合预期情况。
实际运行结果如下图2.10所示:
图2.10公交详细信息
第3章实训总结
本系统的特色是方便、快速。
系统的不足与改进方案,在数据库设计方面,还有待改进,数据库设计也可采用别的形式,比如:
我可以用一个字段作为站点字段,另一个字段作为经过该站点的车次字段,我只要找到经过某个站点最多的车次,就可以设计该字段的类型以及长度。
那么就可以避免因数据过长而被截断的问题了。
系统的智能化程度不高,改进方案是根据起点站、终点站来确定那条路线,给出几种乘车方案。
这需要算法的设计!
课程设计的心得体会与收获,从资料查找到课题的设计、分析、数据库的设计、界面的设计、代码的编写、程序的调试等让我深感编写出一个令人满意的系统是那么不容易!
也深感自己的知识还很欠缺。
感到最大的收获就是平时的努力,终于有了收获。
内心当中有一种充实感。
在设计过程中遇到了不少的麻烦,也烦恼过,也想放弃,但最终还是走下来了。
虽然其中有一些困难现在还没有得到解决,但是我却总结了一个比解决这些困难更重要的东西,遇到困难,我们要做的不是去怕它,而是想法去找寻解决困难的方法。
通过这次比较完整的系统设计,我摆脱了单纯的理论知识学习状态,和实际设计的结合锻炼了我的综合运用所学的专业基础知识,解决实际问题的能力,同时也提高我查阅文献资料、设计手册、设计规范以及与实际相结合等其他能力水平,而且通过对整体的掌控,对局部的取舍,以及对细节的斟酌处理,都使我的能力得到了锻炼,经验得到了丰富,并且意志品质力,抗压能力及耐力也都得到了不同程度的提升。
在制作系统的同时,我也深深的体会到了这次实习对我来说收获非常大,真是学有所用,我可以把以前书本上学到的知识和实际工作结合起来,使我对我所学的专业技术有了更大的兴趣,也学到了一个科研工作者应该有的态度,就应该是脚踏实地,吃苦耐劳。
在以后的学习生活中我一定要积极主动学习老师同学的优点和长处。
参考资料
[1]贾素玲,王强.JSP应用开发技术.北京:
清华大学出版社,2008
[2]宣小平,JSP数据库系统开发实例导航.上海:
人民邮电出版社,2003
[3]金银秋,数据库原理与设计.北京:
科学出版社,2003
[4]张海藩,软件工程.北京:
人民邮电出版社,2002
[5]明日科技,JSP程序开发范例宝典.北京:
人民邮电出版社,2006
[6]蒋培,JSPWeb程序设计.北京:
清华大学出版社,2007
[7]沃尔森,JSP揭秘(卷1).北京:
人民邮电出版社,2007
[8]刘乃丽,精通JSP+SQLServer2005项目开发.北京:
[9]郝刚,JSP开发指南.北京:
[10]陈冠军,征服JSP开发技术详解.北京:
[11]曹祖圣,程序设计经典.北京:
科学出版社,2004