学生选课系统的设计与实现Word下载.docx
《学生选课系统的设计与实现Word下载.docx》由会员分享,可在线阅读,更多相关《学生选课系统的设计与实现Word下载.docx(55页珍藏版)》请在冰点文库上搜索。
传统的手工选课的一般操作流程如下:
由学校统一发布可选课程表、选课表到各位学生手中,由学生选好课再提交给学校;
而学校还需对这些选课的结果进行人工信息统计以便安排学生的上课计划。
这一传统的手工选课方式比较烦琐和复杂,而且完全靠人工进行,非常麻烦,浪费了很多的人力物力。
随着学校网络设施的完善,学生网上选课,也成为学校课程管理的一个趋势。
基于以上情况,本文构建一个运行在校园网的网上选课系统,借助网上选课系统,提高选课的效率,减轻选课操作的工作量,从而提高教学管理的效率。
2.1.2网上选课系统的优点
所谓网上选课,也就是通过登录学校的选课网站,在该网站中实现对课程的选取。
这样的优点显而易见:
快捷——通常网站服务器都在学校内部,而在校园内网中登录访问选课网站非常快速,只需要点击相应的鼠标就可以完成。
方便——由于是通过国际互联网来进行选课,这样可以在任何一台可以上网的计算机上完成选课,而不受地点的限制。
安全——每个学生都有相应的帐号和密码,根据帐号和密码来访问自己的相关功能,而不会影响其他学生。
(引自文献[12])
2.1.3网上选课系统的必然性与应用情况
网上选课系统的出现是互联网络发展的必然产物,也必然会取代传统的纸上选课方式。
这一点是不用置疑的。
现在,网上选课系统在大学里的应用是非常广泛的,几乎每一所高校都有自己的网上选课系统;
在中学里面,网上选课系统也得到了广泛的应用。
2.2系统实现的技术背景
本系统采用B/S模式,以及公认的优秀动态网站技术JSP来实现。
在此先介绍一下相关的技术背景。
2.2.1三层Browser/Server结构
Browser/Server(B/S)结构是一种以Web技术为基础的新型的MIS系统平台模式。
它把传统的C/S结构中的服务器部分分解为一个数据服务器与一个或多个应用服务器(Web服务器),从而构成一个三层结构的客户服务器体系。
如图2-1所示:
图2-1 B/S三层结构图
采用这种胖服务器端,瘦客户端的运行模式,主要的数据计算操作都在服务器端进行,应用程序在服务器端安装,客户端不用安装应用程序,所有操作均通过浏览器来完成。
与传统的C/S结构相比,B/S模式具有以下的优点:
(1)简化了客户端,客户端软件仅需安装浏览器,客户端硬件配置要求较低。
(2)使用户的操作变得更简单,用户只需了解浏览器的使用,就可访问不同的应用,获取所需的信息。
(3)特别适用于网上信息发布与获取,使得传统的MIS的功能有所扩展。
(引自文献[13])
鉴于B/S模式的诸多优点与本系统的实际需求,最终决定采用B/S模式。
2.2.2JSP的特点与优点
JSP(JavaServerPages)技术有许多惹人喜爱的优点:
WriteOnceRunAnywhere:
JSP技术继承了Java先天的先进概念——“WriteOnce,RunAnywhere”。
这种概念正越来越深远地影响着互联网行业的交互式Webpages的设计理念。
JSP可以非常容易地跨平台、跨web服务器软件来设计和开发源代码。
支持多种动态网页格式:
目前对使用JSP技术设计出来的网页应该采用什么样的格式还没有一个明确的标准。
一般来说,JSP技术目前既可以支持HTML/DHTML的传统浏览器文件格式,又可以支持应用于无线通讯设备例如移动电话、PDA等设备进行网页浏览的WML文件格式,还可以支持其他一些B2B应用的XML格式。
与以往的其他WEB应用技术相比较,JSP技术有它很鲜明的特点:
JSP标签可扩充性
尽管ASP和JSP都使用标签与脚本技术来制作动态WEB网页,JSP技术能够使开发者扩展JSP标签得以应用,JSP开发者能定制标签库,所以网页制作者充分利用与XML兼容的标签技术强大的功能,大大减少对脚本语言的依赖。
由于定制标签技术,使网页制作者降低了制作网页和向多个网页扩充关键功能的复杂程度。
JSP跨平台的可重用性
JSP组件(企业JavaBeansTM,JavaBeans,或定制的JSP标签)都是跨平台可重用的。
企业JavaBeans组件可以访问传统的数据库,并能以分布式系统模式工作于UNIX和WINDOWS平台。
JSP技术的标签可扩充功能为开发人员提供简捷的,与XML兼容的接口即网页的打包功能使其完全的工业标准化。
这种基于组件的模式很有效提高应用程序的开发效率,因为这种模式能够使开发人员利用快捷的子组件快速创建模板应用程序,然后再整合一些附加功能以后便可使用。
像这样有效的方法在JSP中无处不在,并可将其打包成一个JavaBean或一个工业标准化的JavaBean组件。
易于维护性
基于JSP技术的应用程序比基于ASP的应用程序易于维护和管理。
脚本语言都能很好服务于小的应用程序,但不能适应大型的,复杂的应用程序。
因为,JAVA是结构化的,它比较容易创建和维护庞大的,组件化的应用程序。
JSP突出的组件技术使修改内容而不影响逻辑或修改逻辑而不影响内容变得容易实现。
企业级的JavaBeans结构整合了企业逻辑,例如数据库的访问,安全,事务完整性,及独立性即独立于应用程序。
因为JSP是一种开放的,跨平台的结构,因此,WEB服务器,平台,及其他的组件能很容易升级或切换,且不会影响JSP基本的应用程序。
这一特点使JSP能够适应现实世界的各种WEB应用程序不断的变化和发展。
(引自文献[14])
JSP的优势不仅在于它的运行速度上,更在于它完全顺应的JAVA语言所具有的一切优点:
安全、可扩展、跨平台等等,JSP技术的发展也日益完善。
正是由于JSP以上众多优点与特点,所以本选课系统决定采用JSP技术来完成网站的设计。
3.开发工具介绍
本系统在开发过程中需要用到以下开发工具:
Ø
Tomcat5服务器
J2SEDK5.0
MSSQLServer2000数据库管理系统
SQLServer2000ServicePack4(SQLServer2000升级补丁)
jtds-1.2(数据库驱动程序)
JDBCDriverforMSSQL2000(Microsoft公司的JavaSQLServer驱动程序)
JspSmartUpload上传组件。
DreamweaverMX2004
MicrosoftOfficeFrontPage2003
MyEclipse5.1.1GA
3.1Tomcat服务器
Tomcat是ApacheJakarta软件组织的一个子项目,Tomcat是一个JSP/Servlet容器,它是在SUN公司的JSWDK(JavaServerWebDevelopmentKit)基础上发展起来的一个JSP和Servlet规范的标准实现,使用Tomcat可以体验JSP和Servlet的最新规范。
经过多年的发展,Tomcat不仅是JSP和Servlet规范的标准实现,而且具备了很多商业JavaServlet容器的特性,并被一些企业用于商业用途。
一个JavaWeb应用在Tomcat中与一个Context元素对应,也就是说一个Context元素定义了一个JavaWeb应用,它们是一一对应的关系。
在一个JavaWeb应用中可以包含如下内容:
❑Servlet
❑JSP页面
❑Java类
❑静态资源(HTML文档、图片等)
❑描述Web应用的描述文件
客户每次提出请求时指定要访问的资源,如果客户没有指定具体资源,Tomcat使用默认的资源响应客户,显示文件夹中的资源列表或者提示错误。
例如Tomcat安装成功后,会默认配置好了servlets-examples和jsp-examples两个Web应用,如果访问这两个应用,则Tomcat为其服务的过程如图3-1(引自文献[11])所示。
图3-1 多个Web应用时Tomcat服务的过程
3.2J2SEDK5.0(JAVA2开发工具标准版5)
JDK是JAVA开发工具的核心工具,发展到现在JDK已分为以下几个版本:
J2SE(JAVA2标准版),J2EE(JAVA2企业版),J2ME(针对消费性电子产品和嵌入式系统所设计的)等。
本系统采用JAVA2标准版1.5即J2SEDK5.0来开发程序。
它包括了所有编译、运行JAVA程序所需要的工具:
Java基本组件、库、Java编译器、小应用程序浏览器等等。
3.3MSSQLServer2000数据库管理系统
SQLServer2000是Microsoft公司推出的关系型网络数据库管理系统,它的工作环境可以是WindowsNT(Server或Workstation)、WindowsCE、Windows2000、Windows98或WindowsXP。
SQLServer2000与Microsoft公司的其他软件,如MicrosoftOffice或MicrosoftVisualStudio,设计风格一致,并能相互配合。
SQLServer2000支持多层客户机/服务器结构,具有完善的分布式数据库和数据仓库的功能,能够进行分布式事务处理和联机分析处理。
SQLServer2000具有强大的数据库管理功能,它提供了一套功能完善且具备可视化界面的管理工具。
SQLServer2000还具有强大的网络功能,它与Internet高度集成,能够轻易地将Web应用程序与企业营运应用程序集成在一起。
本系统采用MSSQLServer2000数据库管理系统作为后台数据库。
3.4数据库驱动程序
由于Web应用程序要与数据库进行连接及操作,所以需要添加数据库驱动程序。
本系统需要用到两个驱动程序:
JTDS(jtds-1.2.jar)
JDBCDriverforMSSQL2000(包括:
msbase.jar,mssqlserver.jar,msutil.jar)
因为Microsoft公司的JavaSQLServer驱动程序不支持二次查询,而且只能按字段在数据表中的先后位置来读取数据,JTDS则不会出现这样的问题,所以本系统采用了JTDS驱动程序。
又因为JTDS在事务处理和批处理的时候会出现问题,所以本系统也采用了Microsoft公司的JDBCDriverforMSSQL2000来处理事务。
注意,要想驱动程序能够成功地连接与操作数据库,必须在安装SQLServer2000后,确保安装了SQLServer2000ServicePack2以上升级补丁,在本系统中将采用SQLServer2000ServicePack4。
3.5JspSmartUpload上传组件
JspSmartUpload是由网站开发的一个可免费使用的全功能的文件上传下载组件,适用于嵌入执行上传下载操作的JSP文件中。
该组件有以下几个特点:
使用简单:
在JSP文件中仅仅书写三五行JAVA代码就可以实现文件的上传或下载,方便。
能全程控制上传:
利用JspSmartUpload组件提供的对象及其操作方法,可以获得全部上传文件的信息(包括文件名,大小,类型,扩展名,文件数据等),方便存取。
能对上传的文件在大小、类型等方面做出限制,滤掉不符合要求的文件。
3.6网页编辑软件
DreamweaverMX2004是一款专业性的网页设计软件,MicrosoftOfficeFrontPage2003继承了MicrosoftOffice方便易用,轻易上手的特点。
这两款软件各有各自的优点,结合地使用可以为网站的设计更好地服务。
3.7集成开发环境MyEclipse5.1.1GA
Eclipse主要是作为编程工具来使用,Eclipse的设计思想是:
一切皆为插件。
Eclipse的核心是非常小的,其他所有的功能都以插件的形式附加到这个Eclipse核心之上。
这样的功能插件包括它的图形API(称为SWT/JFace)、Java开发环境插件(简称JDT)、插件开发环境(简称PDE)等。
Eclipse还对这些插件的协同工作提供了良好的支持,不仅安装简单,而且还可以无缝结合。
要想在Eclipse进行JSP的Web开发,必须在Eclipse上安装JSP开发插件,比如Lomboz插件,MyEclipse插件。
这里准备使用的是MyEclipse插件。
MyEclipse5.1.1GA已经集成了Eclipse开发环境与MyEclipse插件。
使用该集成开发环境(IDE)可以方便地发现语法错误,快速自动地生成Setter与Getter等等。
4.系统的设计
4.1系统功能设计
网上选课系统应该具有以下基本功能:
学生能够浏览或查询开课安排信息、进行选课、查看成绩,教师给学生登记选课成绩,教务管理员可以管理开课信息、开放或关闭学生选课,系统管理员可以管理这些用户的基本信息、开课管理和成绩管理等等。
经过分析整理,可将其按用户角色不同划分为以下四部分:
学生用户角色部分
教师用户角色部分
教务管理员用户角色部分
系统管理员用户角色部分
如图4-1所示:
图4-1 学生选课系统总体功能模块图
下面将根据上面划分的模块对各模块进行深一步的细化。
4.1.1学生功能模块的设计
网上选课系统对学生来说,最重要的是进行选课、退课和查看成绩。
在进行选课之前应该是先浏览或是查询开课信息表后才进行选课的。
以上这些操作是需要先登录后才可以进行的,所以应开设一个登录验证功能。
有了“登录”就应该有“退出系统”和“重新登录”(通常所说的“注销”),如果只有登录,而没有注销,会加重系统的负担,浪费了系统资源。
登录通常涉及到密码,所以应该给学生一个可以自己修改个人密码的操作,同时还可以浏览个人的基本信息,和修改一些个人信息,因为管理人员在添加或修改学生信息时难免会出现一些错误。
当然以上的一切操作都是在正确登录后方可进行的。
对以上的分析进行总结,可以得到学生功能模块的结构图,如图4-2所示:
图4-2 学生用户角色功能模块图
4.1.2教师功能模块的设计
与学生类似,教师同样需要登录后才可以进行相关的操作。
教师这个用户角色同样具有登录,重新登录,退出系统,修改个人密码,浏览个人基本信息,修改个人资料的功能。
除此之外,最重要的还是给选课的学生登记或修改这一门课程的选课成绩。
在此可以给学生一个一个地登记(或修改)选课成绩,为了方便应开设批量登记(或修改)的功能。
经整理和总结后,可得到以下功能结构图,如图4-3所示。
图4-3 教师用户角色功能模块图
4.1.3教务管理员功能模块的设计
教务管理员同样需要登录后才能进行相应的操作。
于是应该具备登录,重新登录,退出系统,修改个人密码的功能。
同时教务管理员应该具有管理教师基本信息、学生基本信息、课程基本信息以及课程安排等功能。
具体如下:
添加、查询、修改、删除教师基本信息;
添加、查询、修改、删除学生基本信息;
添加、查询、修改、删除专业班级基本信息;
添加、查询、修改、删除教室基本信息;
添加、查询、修改、删除课程基本信息;
添加、查询、修改、删除课程安排信息。
除此之外,教务管理员应该还具有开课管理的权限,包括开放学生选课与关闭学生选课。
另外,教务管理员用户角色同样具有浏览开课信息表和查询开课信息表的功能。
具体功能如图4-4所示:
图4-4 教务管理员用户角色功能模块图
4.1.4系统管理员功能模块的设计
系统管理员具备了教务管理员的所有权限与功能。
与教务管理员相比,系统管理员增加了管理教务管理员基本信息与系统管理员基本信息的权限。
添加、修改、删除教务管理员基本信息;
添加、修改、删除系统管理员基本信息。
另外系统管理员还具有管理学生选课成绩的权限,包括查询、修改、删除学生选课成绩。
其功能结构图如图4-5所示:
图4-5 系统管理员用户角色功能模块图
4.2系统用例图分析
分析以上各功能模块图可以得到系统的用例图,分别如下所示。
学生教师用例图如图4-6所示:
图4-6 学生教师用例图
教务管理员与系统管理员用例图如图4-7,图4-8,图4-9所示:
图4-7 教务管理员与系统管理员用例图-1
图4-8 教务管理员与系统管理员用例图-2
图4-9 教务管理员与系统管理员用例图-3
4.3数据库设计
根据上面的功能设计,可以设计出系统所需的数据库。
4.3.1系统E-R图设计
经过以上的功能设计与分析,可以得到系统总体的E-R图,如图4-10所示:
图4-10 系统的全局E-R图
教师作为一个用户角色,应该具有自己的信息。
作为最基本的信息,应该具有编号,姓名,性别,出生日期,籍贯,职称,家庭住址,电话号码,登录系统的密码和照片。
其E-R图如图4-11所示:
图4-11 教师及其属性的E-R图
同样地,学生应该具有学号,姓名,性别,出生日期,籍贯,家庭住址,宿舍号码,所在班级编码,登录系统的密码,照片等信息。
其E-R图如图4-12所示:
图4-12 学生及其属性的E-R图
专业班级信息的E-R图如图4-13所示:
图4-13 专业班级及其属性的E-R图
教室信息的E-R图如图4-14所示:
图4-14 教室及其属性的E-R图
课程信息的E-R图如图4-15所示:
图4-15 课程及其属性的E-R图
课程安排的E-R图如图4-16所示:
图4-16 课程安排及其属性的E-R图
其他的E-R图与上面的相类似,在此不再一一列举。
4.3.2系统的数据表设计
对E-R图进行整理与分析,可以得到本网上选课系统的各个数据表及其结构,具体如表4-1至表4-10所示:
表4-1 教师信息表TeacherInfo
序号
字段名
字段类型
长度
字段值约束
主键、外码
描述
1
TeacherID
varcher
11
Notnull
PK
教师编号
2
TeacherName
8
教师姓名
3
Sex
4
性别
Nativeplace
20
籍贯
5
Birthday
datetime
出生日期
6
Title
职称
7
FamilyAddress
40
家庭住址
PhoneNo
电话号码
9
Password
32
密码
10
PhotoUrl
35
照片引用地址
表4-2 学生信息表StudentInfo