JSP课程设计论文.docx
- 文档编号:25614515
- 上传时间:2023-06-10
- 格式:DOCX
- 页数:34
- 大小:669.06KB
JSP课程设计论文.docx
《JSP课程设计论文.docx》由会员分享,可在线阅读,更多相关《JSP课程设计论文.docx(34页珍藏版)》请在冰豆网上搜索。
JSP课程设计论文
JavaWeb开发(JSP)
课程设计报告
题目:
学生信息管理系统
2014年7月2日
河南理工大学计算机学院
学生信息管理系统
一、系统需求背景
1.1背景
目前在学校学生人数开学时剧增,毕业时学生人数巨减,学生信息变化浮动更新量大的前提下,以及学校对学生信息管理的自动化与准确化的需求日益剧增的背景下,开发出一款运用新科技管理学生信息的软件势在必行。
学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校决策者和管理者来说都至关重要。
学生信息管理系统应该能够为用户提供充足的信息和快捷的查询方式。
一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式不但效率低、保密性差,而且对于数据查找和维护都不方便。
随着科技的不断提高,计算机科学日益成熟,其强度的功能已经被人们深刻认识,它已经进入人类社会的各个领域并发挥着越来越重的作用,利用计算机对学校信息进行管理有很多优点,比如:
检索迅速、查询方便、效率高、可靠性好、储存量大、保密性好、成本低等。
这些优点能够极大地提高学生信息管理的效率,也是一个单位化、正规化管理与世界接轨的重要条件。
1.2系统需求
学生一直是学校管理中十分重要又相当复杂的管理工作之一,单纯的采用传统的手工处理已经不符合教育和管理的要求,而计算机具有运算速度快,处理能力强等特点,很自然地进入到这一应用领域中。
因此为了信息流畅,工作高效,有必要设计一个学生信息管理系统系统。
这不但能使教务人员从复杂的数据中解脱出来,而且对于推动学校管理事业的发展也起到非常重要的作用。
学生信息管理系统早期的工作都是采用传统的手工管理,传统人工的管理方式存在着许多缺点,如:
效率低,保密性差,一方面导致管理人员任务繁重而复杂,有时对信息流通不了解,是管理人员对管理工作倍感头痛,因为时间一长,将产生大量的文件和数据,这对于查找,删除,及时更新和维护都带来了不少的困难,耗费大量劳动力,难于避免错误的产生。
在计算机中,用Eclipse+数据库开发的学生信息管理系统,能帮助广大教师提高工作效率,实现管理工作流程的系统化、规范化和自动化。
本系统是一个学生管理系统,主要应用于大学的学生管理。
由于对系统的分析可能不够全面,只能是模拟一下学生管理系统。
每个学生都有一个学号,且没有相同的,所以可以以学号为帐号,这样,同学们就可以自行登陆学生管理系统了,并可以对密码进行更改。
老师也要进行登陆,所以,还要给分配老师帐号,密码,同样,老师可以自己更改密码。
输入帐号,密码,无误后,并可登陆了。
老师登陆后与学生登陆后有不同的权限。
学生登陆后,可以修改自己的登陆密码,可以查看个人信息,考完试后查看自己的考试成绩。
而老师则可以把学生的成绩输入进来,以便学生查询自己的考试成绩,老师也可查看学生的学籍,当然也可以修改自己的帐号密码。
另外,本系统还设立了唯一的一个管理员,他有的权限最高,可以对此系统所有用户、所有学生学籍以及学生成绩进行增删改查四种操作。
目前,对需求进行分析,能想到的基本功能就这些了,这些功能基本能够实现学生管理,对于系统的不足,以后将不断对其进行改进。
1.3需求的收集及分析
学生信息管理系统应该完成以下几个方面的内容:
管理员、教师用户管理、学生用户管理,每个用户都要实现提供各自需求的功能。
学生信息管理系统在开发过程中应充分收集到学生的详细信息(比如:
姓名、性别、出生年月、联系方式、父母姓名、父母职业、父母联系方式、入学时间等等)。
而且由于各类用户的权限不一样,例如教师用户管理员可以实现登陆、添加、修改、修改、查询学生用户档案资料,学生用户只能实现登陆、查询自己的成绩和档案。
所以不同人员信息的收集各部相同。
二、系统所涉及的一些知识
2.1JSP技术:
JavaServerPages(JSP)技术为创建显示动态生成内容的Web页面提供了一个简捷而快速的方法。
它使软件开发者可以响应客户端请求,而动态生成HTML、XML或其他格式文档的Web网页的技术标准。
JSP技术是以Java语言作为脚本语言的,JSP网页为整个服务器端的Java库单元提供了一个接口来服务于HTTP的应用程序。
JSP使Java代码和特定的预定义动作可以嵌入到静态页面中。
JSP句法增加了被称为JSP动作的XML标签,它们用来调用内建功能。
JSP可用一种简单易懂的等式表示为:
HTML+Java+JSP标记=JSP。
JSP技术也有很多技术强势,比如:
一次编写,到处运行。
除了系统之外,代码不用做任何更改;系统的多平台支持;强大的可伸缩性;多样化和功能强大的开发工具支持;支持服务器端组件等。
本系统之所以运用JSP就是基于以上这些优点,使得开发出的软件更能符合用户的需求和满意。
2.2JavaScript语言:
JavaScript是一种基于对象和事件驱动并具有安全性能的脚本语言,使用它的目的是嵌入HTML页面文件中,实现以下功能:
是页面产生动态效果;根据访问者操作执行相应的任务;获取用户和网页的信息;改变网页的属性,如浏览器窗口的尺寸、页面的背景色或者字体颜色等;控制各种表单(Form),可以在访问者机器上检查表单填写项的错误,这是最重要的一个功能。
2.3SQLSever2000
SQLServer是一个关系数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
该版本继承了SQLServer7.0版本的优点同时又比它增加了许多更先进的功能,具有使用方便,可伸缩性好与相关软件集成程度高等优点,可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows2000的大型多处理器的服务器等多种平台使用。
其主要优点有一下几个方面:
1、高性能设计,可充分利用WindowsNT的优势。
2、系统管理先进,支持Windows图形化管理工具,支持本地和远程的系统管理和配置。
3、强壮的事务处理功能,采用各种方法保证数据的完整性。
4、支持对称多处理器结构、存储过程、ODBC,并具有自主的SQL语言。
SQLServer以其内置的数据复制功能、强大的管理工具、与Internet的紧密集成和开放的系统结构为广大的用户、开发人员和系统集成商提供了一个出众的数据库平台。
2.4JDBC
JDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
JDBC提供了一种基准,据此可以构建更高级的工具和接口,使数据库开发人员能够编写数据库应用程序。
简单的说,JDBC可做三件事:
与数据库建立连接、发送操作数据库的语句并处理结果。
三、功能需求分析
3.1功能需求分析背景
一套软件是否有市场,满足用户需求是关键因素,所以搞清楚用户到底需要什么是软件开发的头等大事。
通过该系统,用户可以查看学生的基本资料、学习成绩等各方面的资料,能够方便了解学生总体的情况。
学生用户通过输入学生基本信息、课程基本信息等,由于系统自行生成相应的数据以供学生查询。
另外人事处的管理用户还可以对这些基本信息进行更新和删除。
学校学生管理系统力求给用户方便快捷的途径去管理这些繁琐的数据。
3.2功能需求分析角色的设计
学生信息管理系统要求设计三个角色:
管理员、教师用户、学生用户;管理员:
享有所有信息的更改、查询、掌握权;教师用户实现功能:
用户登陆、教师用户添加、删除、修改(包含:
教师用户修改自己的信息)、查询学生用户信息及成绩;学生用户实现功能:
用户登陆、查询自己的成绩;系统中要实现“XX分页”。
(注:
功能重复的实现一次即可。
)
3.3各角色的功能流程图
画出各个模块功能的流程图如下:
3.31用户登录功能流程图
3.32管理员功能层次图
3.33教师用户功能流程图
3.34学生用户功能流程图
四、系统设计方案
4.1结构设计
根据功能需求分析,本系统将分为3个模块:
☆管理员:
管理学生、老师的基本信息,包括个人信息的添加、删除、以及修改等。
☆教师用户:
用户登陆、添加、删除、修改自己的信息、查询学生用户信息及成绩。
☆学生用户:
用户登陆、添加、删除、修改自己的信息、查询自己的成绩。
4.2功能结构图
(1)画出各个模块功能图如下:
4.2.1添加功能图4.2.2修改功能图
4.2.3对学生的相关操作图
4.2.4管理员的操作图
(2)画出各个实体之间的关系及其属性和行为的E-R图如下:
五、系统涉及的数据库表
5.1数据库介绍
本系统使用的数据库名称为学生信息管理系统数据库,数据库共有四个表,用户表users,学生信息表student,教师信息表teacher,成绩表score。
5.2数据库详细设计
用户表:
users
字段名
类型
是否为Null
大小
说明
no
varchar
No
50
用户名
password
varchar
Yes
50
用户密码
rank
int
Yes
4
用户等级
学生表:
student
字段名
类型
是否为Null
大小
说明
sno
varchar
No
50
学号
sna
varchar
Yes
50
姓名
class
varchar
Yes
50
班级
birth
Char
Yes
10
出生年月
sex
Char
Yes
10
性别
add
varchar
Yes
50
家庭住址
tel
char
Yes
50
电话号码
state
char
Yes
10
备注
成绩表:
score
字段名
类型
是否为Null
大小
说明
sno
varchar
No
50
学号
sna
varchar
Yes
50
姓名
course
varchar
No
50
课程名
term
int
Yes
10
学期
grade
float
Yes
8
分数
notes
Int
Yes
4
备注
教师表:
teacher
字段名
类型
是否为Null
大小
说明
tno
varchar
No
50
教师工号
tname
char
Yes
10
教师姓名
course
varchar
No
50
所教课程名
5.3数据库数据的设计(其中划横线的为主关键字)
1.学生表(学号,姓名,性别,地址,电话,班级,生日,简历);
Student(sno,sna,class,birth,sex,add,tel,state);
2.成绩表(学号,姓名,课程名,学期,成绩,备注);
Score(sno,sna,course,term,grade,notes);
3.用户表(用户名,密码,级别);
Uers(no,password,rank);
4.教师表(教师工号,教师姓名,所教课程名);
Teacher(tno,tname,course);
5.4数据库表数据的设计的操作语句
1、数据表Uers的数据库操作语句
CreatetableUers(
Novarchar(50)primarykey,
Passwordvarchar(50),
Rankint(4),
);
2、数据表Student的数据库操作语句
CreatetableStudent(
Snovarchar(50)primarykey,
Snavarchar(50),
Classvarchar(50),
Birthchar(10),
Sexchar(10),
Addvarchar(50),
Telchar(50),
Statechar(10),
);
3、数据表Score的数据库操作语句
CreatetableScore(
Snovarchar(50)primarykey,
Snavarchar(50),
Coursevarchar(50),
Termint(10),
Gradefloat(8),
Notesint(4),
);
4数据表Teacher的数据库操作语句
CreatetableTeacher(
Tnovarchar(50)primarykey,
Tnamevarchar(10),
Coursevarchar(50),
);
5.5建立数据库
在SQLSever2000中创建数据库CY03,如图所示
Users表的相关截图
建立字段:
给里面添加记录:
Student表的相关截图
建立字段:
给里面添加记录:
Teacher表的相关截图
建立字段:
给里面添加记录:
Score表的相关截图
建立字段:
给里面添加记录:
六、具体功能分析
1、具体功能描述
(1)增加学生信息
系统操作人员打开学生信息添加界面,输入相关信息(姓名、性别、民族、籍贯、出生日期、入学年份、专业和学院等),在数据库中添加相关数据。
(2)修改学生信息
根据学生学号查询出该学生的相关信息,修改相关条目后保存在数据库中。
(3)删除学生信息
根据学生学号查询出该学生相关信息,确定删除后,在数据库中删除该信息。
(4)增加教师信息
系统操作人员打开教师信息添加界面,输入相关信息(姓名、性别、民族、籍贯、出生日期、入学年份、专业和学院等),在数据库中添加相关数据。
(5)修改教师信息
根据教师编号查询出该教师的相关信息,修改相关条目后保存在数据库中。
(6)删除教师信息
根据教师编号查询出该教师相关信息,确定删除后,在数据库中删除该信息。
(7)查询学生成绩
根据学生学号,登陆查询成绩页面,输入学号进入查询成绩。
(8)修改学生成绩
根据学生学号,管理员或老师对学生成绩进行录入与修改。
2、系统的实现
系统运行后即可看到此界面,用户类型有学生、老师和管理员三种,默认为学生。
若是其他用户类型登陆就先点击下拉条选择相应类型,然后输入用户名和密码,验证正确后就进入其相应界面了。
可供选择的登陆页面
(1)教师登陆后实现功能的界面
6.11老师登陆界面
6.12教师修改密码
6.13教师查看学籍
6.14老师添加学生成绩
(2)管理员登陆后实现功能的界面
6.21管理员登陆后的界面
6.22学生信息管理
6.23课程信息管理
6.24成绩信息管理
6.25用户信息管理
(3)学生登陆后实现功能的界面
6.31学生登陆后的界面
6.32学生个人信息查询
6.33学生个人成绩查询
6.34个人信息管理
7、部分源代码
1、登陆功能的源代码
//packagesrc;
importjava.awt.*;
importjava.awt.event.*;
importjava.sql.*;
importjavax.swing.*;
publicclassLoginextendsJFrame{
staticLoginfrm;
Stringuserpassword=null;
staticStringusername;
staticResultSetrs;
privateJLabeluserLabel;
finalJTextFielduserName=newJTextField();
finalJPasswordFielduserPassword=newJPasswordField();
privateJLabelpassLabel;
privateJLabelrankLabel;//定义三个标签
privateJComboBoxrankBox;
privateJButtonexit;
privateJButtonlogin;
privateObjectuserRank[]={"学生","老师","管理员"};//下拉列表
publicLogin(Strings){setTitle(s);}
publicLogin(){
setTitle("学生成绩管理系统");
finalJPanelpanel=newJPanel();
panel.setLayout(null);
Containerc=getContentPane();
c.add(panel);
setBounds(300,200,panel.getWidth()+250,panel.getHeight()+250);
rankLabel=newJLabel();
rankLabel.setText("用户类型:
");
rankLabel.setBounds(90,105,200,18);
panel.add(rankLabel);
rankBox=newJComboBox(userRank);
rankBox.setBounds(150,105,200,22);
panel.add(rankBox);
userLabel=newJLabel();
userLabel.setText("用户名:
");
userLabel.setBounds(90,135,200,18);
panel.add(userLabel);
finalJTextFielduserName=newJTextField();
userName.setBounds(150,135,200,22);
panel.add(userName);
passLabel=newJLabel();
passLabel.setText("密码:
");
passLabel.setBounds(90,165,200,18);
panel.add(passLabel);
/*userPassword.addKeyListener(newKeyAdapter(){//监听键盘事件
publicvoidkeyPressed(KeyEvente){
if(e.getKeyCode()==10)
login.doClick();
}
});*/
userPassword.setBounds(150,165,200,22);
panel.add(userPassword);
login=newJButton();
login.addActionListener(newActionListener(){
publicvoidactionPerformed(ActionEvente){
userpassword=userPassword.getText();
username=userName.getText();
intuserrank=(int)rankBox.getSelectedIndex()+1;
if(username==null||userpassword==null){
if(username==null)
{
JOptionPane.showMessageDialog(null,"用户名为空,请重新输入");
userName.setText(null);
userPassword.setText(null);
}
else
{
JOptionPane.showMessageDialog(null,"密码为空,请重新输入");
userName.setText(null);
userPassword.setText(null);
}
}
else
{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}catch(ClassNotFoundExceptionce){
System.out.println("SQLException:
"+ce.getMessage());
}
try{
Connectioncon=DriverManager
.getConnection("jdbc:
odbc:
xs");
Statementstmt=con.createStatement();
Stringsql;
sql="select*fromuserswhereno='"+username+"'andpassword='"+userpassword+"'andrank='"+userrank+"'";
rs=stmt.executeQuery(sql);
//System.out.println(username+userpassword+userrank);
if(rs.next())
{
if(userrank==1)
{
JOptionPane.showMessageDialog(null,"登录成功,当前用户为学生");
frm.setVisible(false);
Teacher.createStudent();
}
elseif(userrank==2)
{
JOptionPane.showMessageDialog(null,"登录成功,当前用户为老师");
frm.setVisible(false);
Teacher.createTeacher();
}
else
{
JOptionPane.showMessageDialog(null,"登录成功,当前用户为管理员");
frm.setVisible(false);
Administrate.creatAdministrate();
}
}
else
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JSP 课程设计 论文
![提示](https://static.bdocx.com/images/bang_tan.gif)