jsp+sql学生网上选课课程设计.docx
《jsp+sql学生网上选课课程设计.docx》由会员分享,可在线阅读,更多相关《jsp+sql学生网上选课课程设计.docx(15页珍藏版)》请在冰豆网上搜索。
![jsp+sql学生网上选课课程设计.docx](https://file1.bdocx.com/fileroot1/2022-11/29/7d152c94-a844-4e78-8264-7ace9798fc36/7d152c94-a844-4e78-8264-7ace9798fc361.gif)
jsp+sql学生网上选课课程设计
辽宁工业大学
JAVAIDE可视化设计课程设计(报告)
题目:
网上选课系统
院(系):
专业班级:
班
学号:
学生姓名:
指导教师:
褚治广
教师职称:
起止时间:
2010.6.28至2010.7.11
程序设计专题(报告)任务及评语
院(系):
软件学院教研室:
软件教研窒
学号
学生姓名
专业班级
程序设计(报告)题目
网上选课系统
程序设计(报告)任务
程序设计专题的任务与要求:
(1)掌握Java编程、面向对象的基础知识。
(2)较熟练地编写Java应用程序Application、小程序Applet。
(3)了解Java的常用标准类库、编程技巧、异常处理及高级编程。
(5)联系已学过的内容,巩固所学的理论,增强独立工作能力。
(6)通过设计主要使学生有一个独立编写程序的过程,对理论学习及动手能力都有一个很大的提高。
(7)通过本次设计,进一步培养学生热爱专业的思想,同时对本专业综合素质的提高起一个积极的推动作用。
程序设计过程中,要严格遵守实践环节的时间安排,听从指导教师的指导。
正确地完成上述内容,记录实习日记,规范完整地撰写出实训报告。
指导教师评语及成绩
该生在课程设计过程中,积极努力,态度端正,团结同学,遵守纪律,针对JAVA程序设计语言特点和所设计项目的需求,查阅较多资料,并进行市场调研,对具体设计要求和JAVAIDE环境操作掌握较好。
设计各部分设计较好,具有较好的文档和注释内容,程序逻辑性较好,所设计功能满足需求分析要求,软件实用性强,并具有较好的扩展性。
设计报告规范完整,逻辑性较好,标识符合要求。
较好地完成了JAVAIDE设计任务。
成绩:
指导教师签字:
2010年7月12日
目录
第1章程序设计专题目的与要求1
1.1程序设计目的1
1.2程序设计的实验环境1
1.3程序设计的预备知识1
1.4程序设计要求1
第2章程序设计内容2
2.1需求分析2
2.2概要设计2
2.3程序整体设计说明3
2.3.1程序设计内容………………………………………………………………3
2.3.2程序所用类说明……………………………………………………………7
2.3.3实现接口方法………………………………………………………………7
2.3.4线程应用……………………………………………………………………8
2.3.5程序异常处理说明…………………………………………………………8
2.3.6程序运行效果及存在问题…………………………………………………9
2.4程序部分源代码及注释9
2.5测试结果12
第3章程序设计总结14
参考文献15
第1章程序设计目的与要求
1.1程序设计目的
《JAVA程序设计》是计算机科学与技术专业的必修专业基础课程,其实践性、应用性很强。
实践教学环节是必不可少的一个重要环节。
本课程的程序设计专题实际是软件技术专业学生学习完《JAVA程序设计》课程后,进行的一次全面的综合训练,JAVA程序设计的设计目的是加深对理论教学内容的理解和掌握,使学生较系统地掌握程序设计及其在网络开发中的广泛应用,基本方法及技巧,为学生综合运用所学知识,利用软件工程为基础进行软件开发、并在实践应用方面打下一定基础。
1.2程序设计的实验环境
硬件要求能运行Windows9.X操作系统的微机系统。
JAVA程序设计语言及相应的集成开发环境,J2SDK和ECLIPSE开发工具。
1.3程序设计的预备知识
熟悉JAVA语言及ECLIPSE开发工具。
1.4程序设计要求
按程序设计指导书提供的课题,要求学生在自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个项目解决一类问题。
要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和判断;能编写出具有良好风格的程序;掌握JAVA程序设计的基本技能和面向对象的概念和方法;了解多线程、安全和网络等编程技术。
同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。
第2章程序设计内容
2.1需求分析
随着无纸化办公的普遍实现,信息的自动处理以及网络式的信息交互方式已经被人们广泛应用。
让计算机来管理学生的信息是现在各个高校都在积极进行的工作之一,也是高校教学管理工作的重要内容之一。
网上选课与传统的选课方式相比更加节约资源,增加了学生选课自主权。
学生选课系统作为一种现代化的教学技术,以越来越受到人民的重视,是一个学校不可缺少的部分,学生选课系统就是为了管理好选课信息而设计的。
学生选课系统的将使选课管理工作规范化,系统化,程序化,避免选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。
与传统的选课方式相比,网上选课系统利用局域网为学生选课带来了便利。
学生在学校的公共机房或者宿舍的个人电脑上通过网络来选课,只要选课还没有截止,学生能够灵活的修改自己的选课情况,大大提高了学校选课工作的效率。
教务处的教师则通过选课系统的管理员子系统来管理学生的选课情况,使得学生选课工作达到系统化和自动化,大大提高了学校的工作效率。
2.2概要设计
网上选课系统就是为了方便学生和老师所开发出来的系统,本系统采用Jsp+SQL2000设计模式,系统中有管理员(老师)对学生选课的管理包括添加课程,删除课程及录入成绩等功能,学生可以登录到该系统,登录该系统之后可以查看学校所开的课程的基本信息,学生可以选修其中的一些比较喜欢的课程,当学生又有其它想法对某课程不感兴趣的时候也可以退选已选的课程,然后重新选择喜欢的课程,选课结束后老师就给同学们上课,最后老师根据各个学生的表现或通过考试给同学们相应的考试分数(通过系统录入),最后学生可以通过此系统来查询所选课程的考试成绩。
如果学生发现成绩或其他信息出现问题,可以通过提供的教师电话联系该开课老师,老师核对后可以进行相应的修改。
2.3程序整体设计说明
2.3.1程序设计内容
本系统主要有三大模块组成:
学生模块、教师模块、管理员模块。
教师模块包括:
个人管理和课程信息管理,在个人管理中可以查看个人资料和修改密码,课程信息管理可以查看学生列表和教师自己的课程。
学生模块包括:
用户管理,课程查看,我的选择,其他管理。
管理员模块包:
用户管理、课程管理、选课管理、新闻管理。
1.管理员模块的功能模块如下图所示:
图2.1管理员模块图
Fig2.1Administratormodulechart
2.网上选课系统的总体E-R图实现了各个实体与属性的联系,具体的网上选课系统的总体E-R图如下:
图2.2总体E-R图
Fig2.2OverallE-Rdiagram
3.数据库表的设计
(1)学生表,此表中记录了学生的全部信息,表的具体设计如表2.1所示:
表2.1学生表
Tab2.1student
列名
数据类型
长度
允许空
num
varchar
50
否
password
varchar
50
否
name
varchar
50
否
age
int
4
否
college
varchar
50
是
sex
varchar
50
是
dep
varchar
50
是
class
varchar
50
是
(2)作业表,在此表中记录了教师布置给学生的作业情况,表的具体设计如表2.2所示:
表2.2作业表
Tab2.2homework
列名
数据类型
长度
允许空
id
int
4
不
title
varchar
50
不
link
varchar
50
不
date
datetime
8
允许
type
char
1
不
course_code
varchar
10
不
user_id
varchar
50
不
status
char
10
允许
4.网上选课系统流程图如图2.3所示:
图2.3网上选课系统流程图
Fig2.3Onlinecoursessystemflowcharts
2.3.2程序中所用类说明
(1)用户自定义类
网上选课系统中包括opuser这个类,其中几个类的作用、继承的父类如下
类名:
opuser*
作用:
主类*
继承的父类:
无*
(2)管理员操作类:
管理员模块:
包括添加学生信息、查看学生信息、添加教师信息、查看教师信息、添加新课程、查看课程信息、发布新闻。
(3)计算机执行类
系统管理模块:
包括添加、修改、删除、查询系统用户名、口令、身份、数据备份、数据恢复等功能。
2.3.3、实现接口方法
Java中的接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。
接口的两种含义:
一,Java接口,Java语言中存在的结构,有特定的语法和结构;二,一个类所具有的方法的特征集合,是一种逻辑上的抽象。
前者叫做“Java接口”,后者叫做“接口”。
在Java语言规范中,一个方法的特征仅包括方法的名字,参数的数目和种类,而不包括方法的返回类型,参数的名字以及所抛出来的异常。
在Java编译器检查方法的重载时,会根据这些条件判断两个方法是否是重载方法。
但在Java编译器检查方法的置换时,则会进一步检查两个方法(分处超类型和子类型)的返还类型和抛出的异常是否相同。
2.3.4、线程应用
所有的操作都发生在线程体中,在Java中线程体是从Thread类继承的run()方法,或实现Runnable接口的类中的run()方法。
当线程产生并初始化后,实时系统调用它的run()方法。
run()方法内的代码实现所产生线程的行为,它是线程的主要部
分。
线程化是允许多个活动共存于一个进程中的工具。
大多数现代的操作系统都支持线程,而且线程的概念以各种形式已存在了好多年。
Java是第一个在语言本身中显式地包含线程的主流编程语言,它没有把线程化看作是底层操作系统的工具。
有时候,线程也称作轻量级进程。
就象进程一样,线程在程序中是独立的、并发的执行路径,每个线程有它自己的堆栈、自己的程序计数器和自己的局部变量。
但是,与分隔的进程相比,进程中的线程之间的隔离程度要小。
它们共享内存、文件句柄和其它每个进程应有的状态。
进程可以支持多个线程,它们看似同时执行,但互相之间并不同步。
一个进程中的多个线程共享相同的内存地址空间,这就意味着它们可以访问相同的变量和对象,而且它们从同一堆中分配对象。
尽管这让线程之间共享信息变得更容易,但您必须小心,确保它们不会妨碍同一进程里的其它线程。
2.3.5、异常处理说明
JAVA语言认为可预料的和没有预料的出错称为异常。
提供统一的程序出口,把异常作为一种对象,在程序运行出错时被创建,异常处理指的是对程序运行时出现的非正常情况进行处理,是Java语言处理程序出错的有效机制。
Java将异常处理内嵌到产生异常的方法中。
强迫编程时使用它,否则编译很难通过,这有助于出错处理标准化。
Java异常处理机制的目标,是用最少的程序代码,提高程序的容错性。
try{con=DriverManager.getConnection(Sc);
Statementstmt=con.createStateent();
result=stmt.executeUpdate(sql);}
catch(SQLExceptionex)
{Try
{if(con!
=null)
con.close();}
catch(Exceptione)
{System.out.print(e);}Try
{if(rs!
=null)
rs.close();}
catch(Exceptione)
{System.out.println(e);
}
}
2.3.6、程序运行效果及存在的问题
经测试分析,本系统基本满足用户需求,系统界面友好,操作简单,系统的配置要求不高,实现可行,因此经济可行。
该系统可以容易实现学生,老师与学校之间的联系,在Internet上实现完成部分教务工作,提高办事效率,和周期。
学生进行查看课程信息的时候出现了错误,在数据库设计中,如果输入超出需求所说明的字符串长度的内容,看系统是否检查字符串长度,会不会出错。
2.4程序部分源代码及注释
1.系统的首页面index.jsp在页面左边显示出三种身份登录的链接。
便于不同用户清晰的看清登录的位置。
不同身份的用户登录提交的用户名和密码提交到不同身份的数据库认证页面中。
如学生用户登录提交到login.jsp。
当验证通过时,跳到学生用户的页面。
并把信息保存进session,以供其他页面判断用户是否已经登录。
系统首页如图2.4所示。
图2.4学生网上选课系统图
Fig2.4Studentsonlinecoursessystemdiagram
if(seed>100)
{seed-=1;
varcmd="Helpor_net("+seed+")";
timerTwo=window.setTimeout(cmd,speed);}
elseif(seed<=100&&seed>0)
{for(c=0;c{out+="";}
out+=msg;seed-=1;
varcmd="Helpor_net("+seed+")";
window.status=out;
timerTwo=window.setTimeout(cmd,speed);}
elseif(seed<=0)
{if(-seed{
out+=msg.substring(-seed,msg.length);
seed-=1;
varcmd="Helpor_net("+seed+")";
window.status=out;
timerTwo=window.setTimeout(cmd,speed);}
else{window.status="";
timerTwo=window.setTimeout("Helpor_net(100)",speed);
2.管理员登录学生选课系统时,会出现如下界面,此模块可分为用户管理,课程管理,系统公告及系统帮助和用户退出,用户管理可以修改密码,添加新用户,添加学生记录,查看所有学生信息,查看所教师信息,添加教师记录。
课程管理分为查看课程信息,添加新课程两个连接。
系统公告也有两个子模块包括浏览新闻,发布新闻。
其中添加学生信息模块有两个单选按钮,提交和重设,这样可以方便信息的更改。
如图所示
图2.5添加学生信息图
Fig2.5Addstudentinformation
16px;font-weight:
bold;color:
9933FF">添加课程信息
课程号
*
2.5测试结果
此测试结果只针对学生网上选课系统中的管理员管理功能测试进行总结,具体测试结果如表2.3所示:
表2.3测试结果表
Tab2.3Testresults
功能
项目
测试
管理员登录
用户管理
管理员进入登录界面,输入账号和密码,点击“登录”,则成功登陆。
然后点击“用户管理”则显示学生管理和教师管理,点击“学生管理”则显示添加和删除,点击“添加”则可以添加一些相关的学生和教师信息,点击“删除”则可以删除一些学生和教师的相关信息
课程管理
管理员进入登录界面,输入账号和密码,点击“登录”,则成功登陆,然后点击“分配课程”则显示如何要分配给教师分配课程,点击“修改课程”则显示需要修改的内容,修改后点击“修改”则修改成功
选课管理
管理员进入登录界面,输入账号和密码,点击“登录”则成功登陆,然后点击“添加课程”则显示需要添加课程的一些相关信息,在点击“添加”则添加成功,点击“删除课程”则把想要删除的课程成功删除
新闻管理
管理员进入登录界面,输入账号和密码,点击“登录”则成功登陆,然后点击“发布新闻”在则会显示发布成功,点击“修改新闻”则选择要修改的新闻信息,修改成功,点击“删除新闻”则显示新闻删除成功
测试结论:
开发人员在开发的过程中更多的考虑学生和教师的使用便捷性、系统的友好性、稳定性,安全性等。
由于jsp编程技术尚浅,有很多功能实现的不够全面。
模块设计合理,管理员,教师,学生分别以不同身份登录,进行系统管理,查询,选课等操作。
第3章程序设计总结
通过最后两个星期的课程设计,我对Eclipse、JSP、SQLserver2000、Tomcat等系列知识都有了一定的了解。
使用JSP开发页面的能力也有了很大提高。
由于在此之前对于JAVA和JSP知识的了解几乎是一片空白,所以从一开始就碰到许多困难。
一开始我和我们小组人员在选择软件服务器方面就遇到了困难,因为没有做过关于网上选课系统的课设,所以不知道该用什么服务器比较好,后来通过老师的指导、同学的帮助、以及去图书馆或者在网上查阅一些有关的资料后,对于软件服务器的选择有了明确的目标,运用JSP、JAVA、以及SQLserver2000来首先解决了服务器的问题,通过在网上寻找有关资料以及同学的帮助下最后都得到了解决。
在整个设计阶段感受最为深刻的是掌握学习的方式和解决问题的方法。
首先是解决问题的方式,虽然面临的信息很多,但是如何从大量的信息中筛选出所需的信息,有用的信息,才是解决问题的关键,另外一个就是解决问题的方法,就像我在解决设计中的很多问题一样,一开始总是在看书,和书上的进行比对,虽然书本上的只是大部分都是有价值,正确的,但实际上每个人编程的思路和对数据处理的方法、思想都是不同的,这就要求我们一定要通过实践才能找到解决问题的方案。
在整个毕业设计的过程中,我深刻的体会到了这一点的重要性,也牢记住了这一点,在今后的学习和研究中我也会继续将这种方法延续下去。
参考文献
1.[美]Cay.Horstmann.JAVA2核心技术.机械工业出版社.2003-06
2.姜利群.JAVA网络编程实例教程清华.北交大出版社.2005-01
3.李荣贵.JAVA编程实例教程.北京希望电子出版社.2003-09
4.旭日工作室.Java1.1使用大全.电子工业出版社.1998-02
5.吴晨.JSP.NET+SQLServer-数据库开发与实例.清华大学出版社.2006-7
6.屈武江.JSP.NET程序设计.大连理工大学出版社.2007-9
7.(美)内格尔.C#高级编程(第4版).清华大学出版社.2006-10
8.(美)solid.SQLServer2005从入门与精通(应用技术基础).清华大学出版社
2006-09
9.(美)保罗.JSP.NET2.0经典教程C#篇.人民邮电出版社.2007-5
10.陈世明.ASP从入门到精通.中国铁道出版社.2003-08
统一字体、段落格式
展开阅读全文
相关搜索
|