网上选课系统设计与实现Word文件下载.docx
- 文档编号:22236710
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:26
- 大小:589.13KB
网上选课系统设计与实现Word文件下载.docx
《网上选课系统设计与实现Word文件下载.docx》由会员分享,可在线阅读,更多相关《网上选课系统设计与实现Word文件下载.docx(26页珍藏版)》请在冰豆网上搜索。
•视图View-界面设计人员进行图形界面设计。
•模型Model-程序员编写程序应有的功能(实现算法等等)、数据库专家进行数据管理和数据库设计(可以实现具体的功能)。
JSP介绍
JSP是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
该技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。
JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序能够与各种Web服务器,应用服务器,浏览器和开发工具共同工作。
JSP规范是Web服务器、应用服务器、交易系统、以及开发工具供应商间广泛合作的结果。
在传统的网页HTML文件(*htm,*.html)中加入Java程序片段(Scriptlet)和JSP标记(tag),就构成了JSP网页(*.jsp)。
Web服务器在遇到访问JSP网页的请求时,首先执行其中的程序片段,然后将执行结果以HTML格式返回给客户。
程序片段可以操作数据库、重新定向网页以及发送email等等,这就是建立动态网站所需要的功能。
所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,对客户浏览器的要求最低,可以实现无Plugin,无ActiveX,无JavaApplet,甚至无Frame。
JSP技术在多个方面加速了动态Web页面的开发:
1.3.1将内容的生成和显示进行分离
使用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面。
使用JSP标识或者小脚本来生成页面上的动态内容(内容是根据请求来变化的,例如请求帐户信息或者特定的一瓶酒的价格)。
生成内容的逻辑被封装在标识和JavaBeans组件中,并且捆绑在小脚本中,所有的脚本在服务器端运行。
如果核心逻辑被封装在标识和Beans中,那么其他人,如Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容的生成。
在服务器端,JSP引擎解释JSP标识和小脚本,生成所请求的内容(例如,通过访问JavaBeans组件,使用JDBCTM技术访问数据库等),并且将结果以HTML(或者XML)页面的形式发送回浏览器。
这有助于作者保护自己的代码,而又保证任何基于HTML的Web浏览器的完全可用性。
1.3.2强调可重用的组件
JSP作为一个很好的动态网页开发语言得到了越来越广泛的使用,在各类JSP应用程序当中,JSP+JavaBean的组合成为了一种事实上最常见的JSP程序的标准。
JavaBean[4]是描述Java的软件组件模型,有点类似于Microsoft的COM组件概念。
在Java模型当中,通过JavaBean可以无限扩充Java程序的功能,通过JavaBean的组件可以快速地生成新的应用程序。
对于程序员来说,最好的一点就是JavaBean可以实现代码的重复利用。
JavaBean是一种基于Java的软件组件。
JSP对于在Web应用中集成JavaBean组件提供了完善的支持。
这种支持不仅能缩短开发时间(可以直接利用经测试和可信任的已有组件,避免了重复开发),也为JSP应用带来了更多的可伸缩性。
JavaBean组件可以用来执行复杂的计算任务,或负责与数据库的交互以及数据提取等。
如果我们有三个JavaBean,它们分别具有显示新闻、股票价格、天气情况的功能,则创建包含所有这三种功能的Web页面只需要实例化这三个Bean,使用HTML表格将它们依次定位就可以了。
利用跨平台运行的JavaBean组件,JSP为分离处理逻辑与显示样式提供了卓越的解决方案。
2系统开发工具及容器
开发工具
本系统使用的开发工具,后台java代码编写使用MyEclipseEuropaworkbench,前台页面编辑使用DreamWaver8。
2.1.1MyEclipse简介
MyEclipse企业级工作平台(MyEclipseEnterpriseWorkbench,简称MyEclipse)[5]是对EclipseIDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。
它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。
2.1.2DreamWaver简介
Dreamwaver是美国MACROMEDIA公司(现为Adobe收购)开发的集网页制作和管理网站于一身的所见即所得网页编辑器,它是第一套针对专业网页设计师特别发展的视觉化网页开发工具。
数据库的选择
2.2.1MySQL简介
MySQL是一个开放源码的关系数据库管理系统[6],MySQL由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,被广泛地应用在中小型网站中。
随着MySQL的不断成熟,它也逐渐用于更多大规模网站和应用。
MySQL是一个真正的多用户、多线程的SQL数据库服务器。
MySQL是现在流行的关系数据库中其中的一种,相比其它的数据库管理系统,MySQL具有小巧、功能齐全、查询迅捷等优点,MySQL主要目标是快速、健壮和易用,关键的是它是免费的。
JDK版本的选择
JavaDevelopmentKit(JDK)是Sun公司针对Java开发员的软件开发工具包。
自从Java推出以来,JDK已经成为使用最广泛的JavaSDK(Softwaredevelopmentkit)。
本系统采用JDK6editionupdate7版本。
容器
本系统页面采用JSP,所以对应的容器采用ApacheTomcat。
既然JSP/Servlet,那么它当然是不能直接运行的,必须把它放到某种运行环境当中,它才能发挥它的作用。
这个环境就是我们讲的"
容器"
。
容器也是java程序,它的主要功能除了为Servlet提供运行环境,还有更重要的就是提供网络传输协议与java程序实体的相互转换。
客户端向服务器发送数据,遵循的是HTTP协议的数据格式,服务器向客户端发送数据也是遵循HTTP协议的。
在客户端和服务器端,可能存在着不同的编程语言编写的程序,比如java,C++等等。
各种语言都有自己用于处理HTTP协议数据的方法(类),为了使用java提供的各种HTTP处理相关的类,必须将HTTP协议下的数据做一定的转换,转换成一些javaobject,这样才能使用java的方法进行数据处理。
同理,当这些处理完成,又需要将这些javaobject转换回HTTP协议下的数据,反馈给客户端(JSP/Servlet当然存在与服务器端)。
JSP/Servlet容器就扮演了完成这个双向转换的角色。
2.4.1Tomcat简介
Tomcat[7]是由Apache软件基金会下属的Jakarta项目开发的一个Servlet容器,按照SunMicrosystems提供的技术规范,实现了对Servlet和JavaServerPage(JSP)的支持,并提供了作为Web服务器的一些特有功能,如Tomcat管理和控制平台、安全域管理和Tomcat阀等。
由于Tomcat本身也内含了一个HTTP服务器,它也可以被视作一个单独的Web服务器。
但是,不能将Tomcat和ApacheWeb服务器混淆,ApacheWebServer是一个用C语言实现的HTTPwebserver;
这两个HTTPwebserver不是捆绑在一起的。
ApacheTomcat包含了一个配置管理工具,也可以通过编辑XML格式的配置文件来进行配置。
3需求分析
可行性分析
(1)技术可行性
学生选课系统是一款管理系统,系统包含课程管理的基本过程。
系统覆盖学生的选课、查看、修改密码等各个环节,软件的各个模块操作界面简单、实用,用户可以在最短的时间内掌握系统的使用方法。
用户可以在最短时间内找到自己所需要的信息。
系统采用如今已广泛被人们接受的B/S结构,可以通过Internet协同工作,数据共享。
系统软件采用现在流行且技术很成熟的框架Struts+MySQL平台进行开发并实现。
可以进行高效的管理,提高工作效率。
本系统具有以下特点:
具有良好的系统性能,友好的用户界面。
较高的处理效率,便于使用和维护。
采用成熟的技术开发,全系统具有较高的技术水平
尽可能地简化选课的管理工作,提高工作效率
(2)经济可行性
由于本系统是为学生选课管理使用的系统,该系统可以容易实现学生,老师与学校之间的联系,在Internet上实现完成部分教务工作,提高办事效率和周期。
系统成本主要集中在系统软件的开发上,当系统投入运行后可以为学校节约大量的人力和物力,所带来的效益远远大于系统软件的开发成本,在经济上完全可行。
(3)操作可行性
界面设计时充分考虑管理人员的习惯,使得操作简单;
数据录入迅速、规范、可靠;
统计准确;
制表灵活;
适应力强;
容易扩充。
功能模块分析
在本系统中,有两类用户:
系统管理员和学生。
两种不同的用户所具有的操作权限以及操作内容均不一样。
本选课系统给予管理员很大的自主权,负责向系统中添加学生和教师的个人信息以及教学楼教室信息以及开设课程等。
学生登录网站可选择课程。
系统超级管理员设置一个选课时间段,在到达时间段以前,普通管理员可以开设课程;
到达选课时间段以后,学生可以登陆网站选择课程。
管理员登陆网站后可以开设课程,为课程编辑上课时间和地点,当系统中出现时间地点冲突的时候,系统报告并推荐一个时间地点。
对于学生用户,到达选课时间段以后,每个学生除了必须选择必修课程外,至少还要选择两门选修课程。
当时候超过选课时段后,系统自动锁定学生的选课课程[8]。
系统可以根据学生的选课信息,生成一份学生自己的课表[9]。
根据上面的要求,从操作功能上可以分为两个类:
一个是通用操作,主要实现用户的登录注销和修改密码等;
另一种是为不同用户定制不同操作。
1.通用操作
(1)登录与注销
每个用户都可以用自己的帐号登录系统[10]。
用户操作完成后退出系统,注销后可以重新登录系统。
(2)修改密码
每个用户第一次登录都用默认密码[11](初始密码为8888)。
2.用户功能
(1)系统管理员
设置选课时间段:
系统管理员通过此项功能设置选课时段[12],只有在选课时间段里,学生才可以选择课程,超过次时间段,学生选课信息被自动所定,不得修改。
录入学生与教师个人信息:
通过此项功能可以实现对教师和学生的个人信息添加删除。
录入教学楼教室信息:
通过此项功能可以把学校里所有的教学楼教室的信息录入到系统中,以便给教师开设课程时候设置上课的教室。
开设课程{[13]:
可以设置该课程教师、教室、时间、地点、最大人数和剩余人数,开设了课程后,可以灵活地设置上课时间和地点。
(2)学生用户
显示和修改个人信息:
学生登录系统后,可以查看和修改学生的个人信息,如姓名,性别,电话等。
查看开设课程:
学生登录后,可以查看所有开设的课程。
查看该课程的信息,上课时间地点,开课教师信息等。
查看最终选课信息:
学生登录系统后,可列出已选择的课程[14],若选课信息未被锁定,则可以退选。
选课功能用例图如图3-1所示:
图3-1选课功能用例图
查看已选课程用例图如图3-2所示:
图3-2已选课程用例图
账号管理用例图如图3-3所示:
图3-3账号管理用例图
软硬件环境需求
硬件平台:
CPU:
P4以上;
内存:
256MB以上。
软件平台:
操作系统:
Windows2000/WinXP/Win2003
数据库:
JSP服务器:
Tomcat;
开发工具包:
JDKVersion
4概要设计
系统功能结构
学生选课系统的功能结构如图4-1所示
图4-1学生选课系统功能结构图
系统流程图
根据学生选课系统的操作流程,系统的流程图如图4-2、4-3所示
图4-2学生选课系统流程图
图4-3学生选课系统流程图
系统数据库E-R模型
学生信息表:
包含学号、姓名、性别、密码、学院、专业等基本信息。
课程信息表:
包含课程号、课程名、教师、上课时间、上课地点、总人数等基本信息。
管理员信息表:
包含管理员编号、密码等其他信息。
选课表:
包含选择的课程号,课程名,任课教师等。
各分E-R图及总E-R图分别如图4-4至4-8所示:
图4-4管理员实体及属性
图4-5选课表实体及属性
图4-6学生实体及属性
图4-7课程实体及属性
添加
管理员
学生
选修
1
n
m
讲授
教师
课程
p
图4-8系统关系E-R图
数据库表设计
分析上述各实体的属性集,从中找出关系的主键,然后用关系式来表示实体(其中下划线的属性为主键)。
表4-1至表4-5分别给出了主要表结构各实体的属性如下:
表4-1admin
表名称
主要字段
数据类型
长度
属性
输入方式
描述
备注
管理员表
Id
字符串
10
NN
输入
用户名(主键)
Name
50
管理员名字
Password
密码
用于定义登录系统的管理员,只有获得权限的管理员才能登录。
表4-2Checkin
用户表
姓名
用于学生的登录信息,只有注册的学生才能登录系统选课。
表4-3select_course
选课表
ID
生成
CID
课程号(主键)
Teacher
用于定义学生所选的课程,可以存储学生选择的所有课程
表4-4student_infor
学生表
S_id
8
S_name
major
选择
专业
grade
年级
College
学院
用于存储学生的基本信息
表4-5Course
课程表
bigint
编号(主键)
系统自动生成
200
课程号
Cname
150
课程名
Place
教室
Time
时间
Sum
int
总人数
Spare
剩余人数
存储所有开设课程的基本信息
5详细设计
界面设计
(1)对于已注册用户通过如下的登录界面,能够保护系统的安全性,界面如图5-1所示:
图5-1登录页面
(2)下面是管理员主页面如图5-2所示,通过菜单可以实现各个功能模块:
图5-2管理员主页面
(3)下面是学生的主页面图5-3,通过菜单实现各个功能:
图5-3学生主页面
系统功能模块设计
5.2.1公共模块
(1)用户公共模块流程图如下图5-4所示:
用户登录
输入登录信息
验证用户名密码
判断用户身份
管理模块首页
学生模块首页
图5-4用户流程图
用户登录JSP页面[15]图5-5所示
图5-5用户登录页面
(2)密码修改流程图如下图5-6所示:
密码修改
从当前会话中获取登录账号
验证用户身份
更新密码
生产提示信息返回
输入验证身份信息与新密码
图5-6密码修改流程图
密码修改JSP页面,用户选择密码修改连接进入密码修改JSP页面[16]图5-7所示
图5-7修改密码界面
5.2.2管理员模块
管理模块主要实现了管理学生信息,课程信息以及对学生选课情况进行统计输出的功能。
在此模块中使用了一个框架[17]页面,其代码如下:
<
framesetrows="
240,*,80"
frameborder="
no"
border="
0"
framespacing="
>
<
framesrc="
manager/"
name="
top"
scrolling="
No"
noresize="
noresize"
id="
topFrame"
/>
framesetcols="
*,955,*"
<
main"
/frameset>
bottom"
noresize="
bottomFrame"
<
其中topFrame部分用于显示管理模块的主菜单页面,页面运行结果如下图5-8所示:
图5-8管理模块的主菜单
(1)学生管理流程如下图5-9所示:
学生管理
增加新学生
设置为已毕业
输入新学生信息
显示出未毕业学生
写入数据库
设置为毕业
更新数据库
图5-9学生管理流程图
在页面中单击“学生管理”超链接,将进入页面[18],其中显示了所有的学生信息。
如下图5-10所示。
图5-10学生信息页面
在页面中单击“新增”超链接,将进入页面,如下图5-11所示
图5-11增加学生页面
主要代码:
try
{
ResultSetrt=("
select*fromstudent_inforwhereID='
"
+ID+"
'
);
if()){%>
<
scriptlanguage="
javascript"
alert("
数据库库中已有该学生信息,请查询后再添加!
("
<
/script>
%}else{
Stringsql="
insertintostudent_inforvalues('
+college+"
'
+profession+"
+class_infor+"
+name+"
)"
;
intresult=(sql);
Stringsql1="
insertintocheckinvalues('
+password+"
intresult1=(sql1);
if(result!
=0&
&
result!
=0){
%>
%
}}
}
catch(Exceptione){(e);
(2)课程管理流程如下图5-12所示:
课程管理
增加新课程
根据条件查询课程
选举课程所属专业,输入课程信息
显示课程详细信息
设置为不可选
图5-12课程管理流程
在页面中单击“课程管理”超链接,将进入页面[1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网上 选课 系统 设计 实现