基于jspjava学生选课系统的方案设计书和开发.docx
- 文档编号:24765368
- 上传时间:2023-06-01
- 格式:DOCX
- 页数:18
- 大小:325.93KB
基于jspjava学生选课系统的方案设计书和开发.docx
《基于jspjava学生选课系统的方案设计书和开发.docx》由会员分享,可在线阅读,更多相关《基于jspjava学生选课系统的方案设计书和开发.docx(18页珍藏版)》请在冰豆网上搜索。
基于jspjava学生选课系统的方案设计书和开发
姓 名
系别、专业
导师姓名、职称
完成时间
基于JSP的学生选课系统
张三
内容摘要:
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
学生选课系统作为一种现代化的教案技术,以越来越受到人民的重视,是一个学校不可缺少的部分,学生选课系统就是为了管理好选课信息而设计的。
学生选课系统的将使选课管理工作规范化,系统化,程序化,避免选课管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改选课情况。
关键词:
选课、课程信息发布、B/S、JSP
第五章总结
第一章引言
随着国内高校校园网的建设,基于互联网的应用系统的开发正在蓬勃发展并发挥着较大的作用。
例如,我国许多高校的网上招生系统,学校的各种管理信息系统,学校选课系统,还有一些医学院校开发出的网上诊所、远程诊断系统等等,都是基于校园网的应用系统。
学生选课系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生选课系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:
效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。
作为计算机应用的一部分,使用计算机对选课信息进行管理,有着手工管理所无法比拟的优点.例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高人事劳资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
第二章相关技术介绍
第一节Java技术
Java是由SunMicrosystems公司于1995年5月推出的Java程序设计语言和Java平台的总称。
用Java实现的HotJava浏览器(支持Javaapplet)显示了Java的魅力:
跨平台、动态的Web、Internet计算。
从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Javaapplet。
Java平台由Java虚拟机(JavaVirtualMachine)和Java应用编程接口(ApplicationProgrammingInterface、简称API)构成。
Java应用编程接口为Java应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。
在硬件或操作系统平台上安装一个Java平台之后,Java应用程序就可运行。
现在Java平台已经嵌入了几乎所有的操作系统。
这样Java程序可以只编译一次,就可以在各种系统中运行。
Java应用编程接口已经从1.1x版发展到1.2版。
目前常用的Java平台基于Java1.4,最近版本为Java1.7。
Java分为三个体系JavaSE(Java2PlatformStandardEdition,java平台标准版),JavaEE(Java2Platform,EnterpriseEdition,java平台企业版),JavaME(Java2PlatformMicroEdition,java平台微型版)。
Java的诞生是对传统计算机模式的挑战,对计算机软件开发和软件产业都产生了深远的影响:
(1)软件4A目标要求软件能达到任何人在任何地方在任何时间对任何电子设备都能应用。
这样能满足软件平台上互相操作,具有可伸缩性和重用性并可即插即用等分布式计算模式的需求。
(2)基于构建开发方法的崛起,引出了CORBA国际标准软件体系结构和多层应用体系框架。
在此基础上形成了Java.2平台和.NET平台两大派系,推动了整个IT业的发展。
(3)对软件产业和工业企业都产生了深远的影响,软件从以开发为中心转到了以服务为中心。
中间提供商,构件提供商,服务器软件以及咨询服务商出现。
企业必须重塑自我,B2B的电子商务将带动整个新经济市场,使企业获得新的价值,新的增长,新的商机,新的管理。
(4)对软件开发带来了新的革命,重视使用第三方构件集成,利用平台的基础设施服务,实现开发各个阶段的重要技术,重视开发团队的组织和文化理念,协作,创作,责任,诚信是人才的基本素质。
总之,目前以看到了Java对信息时代的重要性,未来还会不断发展,Java在应用方面将会有更广阔的前景。
第二节Servlet技术
Servlet是建立基于Web的应用程序接口的基石。
Servlet技术提供了一种普遍的编程模型,它也是JSP的基础。
Servlet由支持Servlet服务器的Servlet引擎负责管理运行。
当多个客户端请求一个Servlet时,引擎为每个客户端启动一个线程而不是启动一个进程,这些线程由Servlet引擎服务器来管理,与传统的CGI为每个客户端启动一个进程相比较,效率要高得多。
Servlet的生命周期主要有下列三个过程组成:
(1)初始化ServletaServlet第一次被请求加载时,服务器初始化这个Servlet,即创建一个Servlet对象,这个对象调用init方法完成必要的初始化工作。
(2)诞生的Servlet对象调用service方法响应客户的请求。
(3)当服务器关闭时,调用destroy方法,销毁Servlet对象。
HttpServlet类的主要方法:
(1)init方法
Servlet第一次被请求加载时,服务器初始化一个Servlet,即创建一个Servlet对象,这个对象调用init方法完成必要的初始化工作。
init()是HttpServlet类中的方法,我们可以在Servlet中重写这个方法。
方法描述为:
publicvoidinit(ServletConfigconfig)throwsServletException
该方法在执行时,Servlet引擎会把一个ServletConfig类型的对象传递给init()方法,这个对象就被保存在Servlet对象中,直到Servlet对象被销毁。
这个ServletConfig对象负责向Servlet传递服务设置信息,如果传递失败就会发生ServletException,Servlet将不能正常工作。
当多个客户端请求一个Servlet时,引擎为每个客户端启动一个线程,那么Servlet类的成员变量会被所有的线程共享。
(2)service方法
当Servlet成功创建和初始化之后,Servlet就调用service方法来处理用户的请求并返回响应。
service()是HttpServlet类中的方法,可以在Servlet中直接继承该方法或重写这个方法。
方法描述为:
publicvoidservice(HttpServletRequestrequest,HttpServletResponseresponse)
throwServletException,IOException
Servlet引擎将两个参数传递给该方法,其中一个参数对象是HttpServletRequest类型的对象,该对象封装了用户的请求信息,此对象调用相应的方法可以获取封装的信息,也就是说使用这个对象可以获取用户提交的信息。
另外一个参数对象是HttpServletResponse类型的对象,该对象用来响应用户的请求。
service方法和init方法不同的是,init方法只被调用一次,而service方法可能被多次调用,当后续的客户请求Servlet服务时,Servlet引擎将启动一个新的线程,在该线程中,Servlet调用service方法响应客户的请求,也就是说,每个客户的每次请求都导致service方法被调用执行,调用过程运行在不同的线程中,互不干扰。
(3)destroy方法
当Servlet引擎终止服务时,比如关闭服务器等,destroy()方法会被执行,销毁Servlet对象。
Servlet可直接继承这个方法,一般不需重写。
方法描述为:
publicdestroy()。
优点与不足:
我们已经简单了解了Servlet的存活期和HttpServlet类,但是并没有深入探索ServletAPI。
事实上,JavaServletAPI既简单又有强大的功能,它使得我们能够在一个简单的编程模型的帮助下扩充任何Web服务器的功能。
但是,Servlet的最大缺点是不能有效的管理页面的逻辑部分和页面的输出部分,导致Servlet代码非常混乱,不易于编写,用Servlet来管理网站是一件很困难的事情。
为了克服Servlet的缺点,Sun公司将JavaServlet作为基础,推出了JSP技术,JSP让我们觉得开发网站是如此的简单容易。
第三节Jsp技术
JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。
用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。
网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。
JSP将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序段,然后将执行结果连同JSP文件中的HTML代码一起返回给客户。
插入的Java程序段可以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。
JSP与JavaServlet一样,是在服务器端执行的,通常返回该客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
JSP的1.0规范的最后版本是1999年9月推出的,12月又推出了1.1规范。
目前较新的是JSP1.2规范,JSP2.0规范的征求意见稿也已出台。
JSP页面由HTML代码和嵌入其中的Java代码所组成。
服务器在页面被客户端请求以后对这些Java代码进行处理,然后将生成的HTML页面返回给客户端的浏览器。
JavaServlet是JSP的技术基础,而且大型的Web应用程序的开发需要JavaServlet和JSP配合才能完成。
JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。
JSP可用一种简单易懂的等式表示为:
HTML+Java=JSP。
第四节开发软件介绍
4.1eclipse平台
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。
虽然大多数用户很乐于将Eclipse当作JavaIDE来使用,但Eclipse的目标不仅限于此。
Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。
由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。
这种平等和一致性并不仅限于Java开发工具。
尽管Eclipse是使用Java语言开发的,但它的用途并不限于Java语言;例如,支持诸如C/C++、COBOL和Eiffel等编程语言的插件已经可用,或预计会推出。
Eclipse框架还可用来作为与软件开发无关的其他应用程序类型的基础,比如内容管理系统。
基于Eclipse的应用程序的突出例子是IBM的WebSphereStudioWorkbench,它构成了IBMJava开发工具系列的基础。
例如,WebSphereStudioApplicationDeveloper添加了对JSP、servlet、EJB、XML、Web服务和数据库访问的支持。
4.2Tomcat服务器
Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta工程中的一个核心工程,由Apache、Sun和其他一些公司及个人共同开发而成。
由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现,Tomcat5支持最新的Servlet2.4和JSP2.0规范。
因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器。
目前最新版本是6.0。
Tomcat是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选。
对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache服务器,可利用它响应对HTML页面的访问请求。
实际上Tomcat部分是Apache服务器的扩展,但它是独立运行的,所以当你运行tomcat时,它实际上作为一个与Apache独立的进程单独运行的。
这里的诀窍是,当配置正确时,Apache为HTML页面服务,而Tomcat实际上运行JSP页面和Servlet。
另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。
不过,Tomcat处理静态HTML的能力不如Apache服务器。
4.3SQLserver2000
SQLServer是一个关系数据库管理系统,它最初是由MicrosoftSybase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本。
在WindowsNT推出后,Microsoft与Sybase在SQLServer的开发上就分道扬镳了。
Microsoft将SQLServer移植到WindowsNT系统上,专注于开发推广SQLServer的WindowsNT版本;Sybase则较专注于SQLServer在UNIX操作系统上的应用。
在本书中介绍的是MicrosoftSQLServer以后简称为SQLServer或MSSQLServer。
SQLServer2000是Microsoft公司推出的SQLServer数据库管理系统的最新版本。
该版本继承了SQLServer7.0版本的优点同时又比它增加了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点,可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用。
第三章系统分析
第一节系统功能模块划分
本系统包括3个管理模块用户管理模块、课程管理模块、选课管理模块,用户模块分为3类用户,管理员、学生、老师。
管理员实现课程管理、学生、教师管理、和新闻发布管理。
本系统主要实现学生管理模块,而学生管理模块、课程管理模块、选课管理模块的与管理员和学生相关的主要模块。
学生用户功能模块由四部分组成:
个人信息、网上平台、系统公告和其他。
个人信息:
显示出用户的所有个人信息并提供密码修改功能
网上平台:
提供学生用户查看所有选课信息,用户可以查询自己想找的课程,通过课程名和上课时间两种方式查找。
当用户点选课时,该课程就会添加到我的课表中,在数据库中选课表会添加一条记录。
用户在我的课表中可以退选课程
系统公告:
用户可以浏览系统通知。
其他功能:
退出系统
学生用户界面设计用框架实现。
页面头放在上框架,功能导航放在左框架,具体功能放在右框架。
学生功能设计所有页面都放在student的文件夹中,所以以下所提到的页面均在student文件夹中。
设置学生界面框架结构主页index.htm。
其中左框架中的功能导航页面为student_left.jsp,右框架中的功能页面为student_body.jsp。
系统用session保存用户的学号。
第二节系统功能类别划分
(1)用户类别:
登录系统的身份定为三种,一是超级管理员(校领导),二是一般管理员(普通老师),三是学生,只有被授权的用户才可以使用本系统的资源。
(2)权限管理:
系统需要经过有效的身份验证可以登录。
用户的身份不同,使用的系统资源也不同。
学生只可以选择网上选课,重选网上选课,及修改自己的密码。
一般管理员(普通教师)为添加课程题目,修改课程题目,查询课程题目,留言等功能。
超级管理员(校领导)拥有整个系统的全部使用权。
(3)教师管理:
校领导才有此功能,可添加教师,及教师信息查询及编辑。
(4)添加系别:
一般管理员(教师)可以添加系别信息。
(5)添加课程题目:
添加新的课程名称,在添加之前可根据条件先查询。
(6)查询课程题目:
普通老师可根据一定条件课程题目,并可对及修改,但要求只能修改及删除本人所出的题目。
(7)查询学生所选课程:
可根据条件查询所有课程,状态,被哪些学生所选中。
(8)留言管理:
用户可以在线留言,及查看留言。
从而达到师生时时交流。
(9)学生选课:
学生可根据普通老师所出的课程题目,进行选择(修改)。
但只能选一个作为自己的课程题目。
第三节系统维护
网上平台由两部分组成:
选课信息和我的课表
选课信息:
学生用户查看所有选课信息,并提供用户模糊查询,使用户可以查询自己想找的课程,模糊查询通过课程名和上课时间两种方式查找。
在课程列表中当用户点选课栏时,该课程就会添加到我的课表中,在数据库中选课表会添加一条记录。
我的课表:
学生选课后可以通过查看我的课表清楚的看到自己的选课情况,以及上课的时间、地点、学分等信息。
当学生用户发现修要改动时可以选择退选项,取消选择。
选课信息:
courseInfo.jsp我的课表:
noticeList.jsp
输出:
教师基本资料报表。
3.1课程基本资料维护
1、课程基本资料维护目标:
针对课程的基本资料今天添加、删除、更新、查询。
2、课程基本资料维护概述:
前提条件:
管理员要对课程基本资料进行添加、删除、更新或查询。
角色:
二级系统管理员。
输入:
课程基本资料(课程号、课程名、课程简介、上课时间、上课地学时、学分、人数上限、当前人数、教师号)。
基本流程:
登陆管理员系统è验证当前用户权限è选择【课程基本资料维护】è管理员添加、删除或修改更新è验证输入或修改的数据è验证通过:
更新数据库,验证不通过:
给出提示信息要求用户重新输入。
输出:
课程详细资料。
3.2系部维护
1、系部资料维护目标:
针对系部资料进行添加、删除、更新、查询。
2、系部维护概述:
前提条件:
管理员要对系部资料进行添加、删除、更新或查询。
角色:
一级系统管理员。
输入:
各系部资料(系部号、系部名称)。
基本流程:
登陆管理员系统è验证当前用户权限è选择【系部资料维护】è管理员添加、删除或修改更新è验证输入或修改的数据è验证通过:
更新数据库,验证不通过:
给出提示信息要求用户重新输入。
输出:
无。
3.3管理员维护
1、管理员维护目标:
设置各级管理员权限。
2、管理员维护概述:
角色:
一级管理员。
输入:
管理员权限。
基本流程:
登陆系统è验证权限è设置管理员权限è验证设置è成功更新或失败返回。
第四节学生选课
4.1课程预览
1、课程预览目标:
让学生可以详细的了解课程情况。
3.1.2课程预览概述:
前提条件:
学生正确登陆。
角色:
学生。
输入:
无。
基本流程:
登陆学生选课系统è验证当前用户权限è查看课程信息。
输出:
课程详细信息。
4.2选课
1、选课目标:
学生可以选择要选修的课程。
2、选课概述:
前提条件:
正确登陆、点击选课项。
角色:
学生。
输入:
选择要修的课程。
基本流程:
登陆选课系统è验证权限è选择要学的课程è提交表单è验证提交的数据。
输出:
选课情况。
4.3退课
1、退课目标:
由于主观或客观原因要求退课。
2、退课概述:
前提条件:
正确登陆、现在退课项。
角色:
学生。
输入:
选择要退的课程。
基本流程:
登陆选课系统è验证权限è删除要退的课程è验证提交的数据(不能删除空数据)。
输出:
成功或失败的信息。
4.4修改密码
1、修改密码目标:
正确的修改学生的登陆密码。
2、修改密码概述:
前提条件:
用旧的密码正确登陆。
角色:
学生。
输入:
旧密码、新密码、验证密码。
基本流程:
登陆选课系统è验证权限è输入旧密码、新密码、验证密码提交è验证旧密码是否正确、新密码和验证密码是否相同成功或失败。
输出:
成功或失败信息。
第五节教师课程查询
5.1查询课程情况
1、查询课程目标:
正确查找课程人数情况。
2、查询课程概述:
前提条件:
正确登陆。
角色:
教师。
输入:
基本流程:
登陆系统è验证权限è查看某课程报名人数情况。
输出:
课程报名人数情况。
5.2修改密码
1、修改密码目标:
正确的修改密码。
2、修改密码概述:
前提条件:
正确登陆。
角色:
教师。
输入:
旧密码、新密码、验证密码。
基本流程:
登陆选课系统è验证权限è输入旧密码、新密码、验证密码提交è验证旧密码是否正确、新密码和验证密码是否相同成功或失败。
输出:
成功或失败信息
第四章系统功能设计
第一节系统功能设计图
图1系统功能设计图
第二节数据库设计
数据库设计的任务是确定系统所需的数据库。
数据库是表的集合,通常一个系统只需一个数据库。
本次实验,我使用的是MySql数据库管理软件,建立了selectCourse数据库以及admin、student、teacher、course、stuCourse这五个表。
1、教师信息表:
teacher7个字段:
包括教师的工号teaID、姓名teaName、所在学院teaAcademy、办公室teaOffice、联系电话teaPhone、邮箱teaEmail、登录密码:
teaPassword
2、课程信息表:
course10个字段:
课程编号courID、名称courName、上课星期courDay、上课时间courTime、起始周startWeek、结束周endWeek、上课地点courPlace、人数courNumber、任课教师工号courTeaID、学分courScore
3、学生信息表:
student6个字段
学号stuID、姓名stuName、所在学院stuAcademy、专业stuSubject、所在班级stuClass、登录密码stuPassword
4、学生选课表:
stuCourse2个字段
学号stuID、课程编号courID、
5、管理员信息表:
Admin2个字段
管理员用户名adminName、管理员密码adminPassword
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 jspjava 学生 选课 系统 方案设计 开发
![提示](https://static.bdocx.com/images/bang_tan.gif)