学生信息管理系统.docx
- 文档编号:24588737
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:31
- 大小:328.18KB
学生信息管理系统.docx
《学生信息管理系统.docx》由会员分享,可在线阅读,更多相关《学生信息管理系统.docx(31页珍藏版)》请在冰豆网上搜索。
学生信息管理系统
《数据库》
课程设计报告
课程设计题目:
学生信息管理系统
课程设计日期:
2012/5/19
姓名:
专业:
班级:
学号:
指导老师:
1.系统需求分析……………………………………………………………………..1
1.1开发环境和软件………………………………………………………………..1
1.2系统设计与功能分析………………………………………………………1—2
2系统概念结构设计…………………………………………………………..2—3
3.系统逻辑结构设计…………………………………………………………..3—4
4.功能模块详细设计
4.1用户登录模块…………………………………………………………..4—8
4.2教师信息管理模块………………………………………………………..8—10
4.3学生信息管理模块………………………………………………………10—13
4.4教师信息查询模块……………………………………………………………14
4.5学生信息查询模块……………………………………………………………14
4.6教师信息浏览…………………………………………………………………14
4.7学生信息浏览…………………………………………………………………14
5.课程设计总结……………………………………………………………14—15
6.参考文献……………………………………………………………...15
6.附录(代码)……………………………………………………………………15
1.系统需求分析
1.1开发环境和软件
(1)操作系统:
Windows7
(2)数据库软件:
Access
(3)Java开发工具:
Eclipse
1.2系统设计与功能分析
学生信息管理系统,可用于学校等机构的学生信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。
该软件用java语言编写,用Access数据库作为后台的数据库进行信息的存储,用SQL语句完成学生学籍信息的添加,查询,修改,删除的操作以及成绩的录入,修改,删除等。
用ODBC驱动实现前台Java与后台Access数据库的连接。
Java语言跨平台性强,可以在windows,linux等系统下使用,方便简单,安全性好。
Access数据库高效安全,两者结合可相互利用各自的优势。
该系统实现的大致功能:
1.用户登陆界面:
该界面可以选择使用者的身份,“管理员,教师,学生”。
不同的身份有不同的操作界面和功能权限。
ID号和密码输入正确即可登录。
2.学生界面:
提供了学生信息的查询,输入对应的学号即可查询该学生的所有信息,本来要输入相应的姓名和密码才可以查询,由于时间关系,该功能没实现。
3.教师界面:
提供了对学生信息的查询,添加,修改,删除;学生成绩的录入,修改,删除等功能。
4.管理员界面:
拥有最高的权限。
允许添加教师信息和学生信息等。
5.登录的用户信息分别存储在Access数据库的“管理员表”,“教师表”,“学生信息表”中,如果用户信息不存在则三张表中,将会无权利登录本管理系统。
保证了本学生管理系统的安全性。
2.系统概念结构设计
特别说明:
由于时间关系,此系统的功能并不是太完善,有些实体的部分属性也没加上去,所以看起来这些实体间缺少相应的联系,但实则有密切联系,在这个ER图中没显示出来而已。
3.系统逻辑结构设计
管理员表:
教师表:
学生信息表:
说明:
管理员的主键为:
ID,教师的主键为:
教职工号,学生的主键为:
学号。
上述属性是否可为空值请查看附带的Access表。
4.功能模块详细设计
4.1用户登录模块
选择相应的用户角色,接着输入正确的姓名和密码就可以进入到系统界面,如果输入的姓名或密码有错,会弹出如下提示框:
姓名和密码正确时,系统会判断用户的角色并进入相应的界面。
管理员界面:
教师界面:
学生界面:
实现改功能的主要代码如下:
publicvoidjudge(){
Stringname,mima,name1="",mima1="";
name=jtextf1.getText();
mima=jtextf2.getText();
switch(login){
case0:
{
try{
lianjie.rs0=lianjie.s.executeQuery("select*from管理员表");
while(lianjie.rs0.next()){
name1=lianjie.rs0.getString("姓名");
mima1=lianjie.rs0.getString("密码");
if(name.equals(name1)&&mima.equals(mima1))
{
newJiemian(0);
jframe1.setVisible(false);
lianjie.rs0.close();
break;
}
}
if(!
(name.equals(name1))||!
(mima.equals(mima1)))
JOptionPane.showMessageDialog(null,"用户名或密码错误");
}
catch(SQLExceptionSQe){
System.err.println(SQe);
JOptionPane.showMessageDialog(null,"数据库访问错误");
}
break;
}
case1:
{
try{
lianjie.rs1=lianjie.s.executeQuery("select*from教师表");
while(lianjie.rs1.next()){
name1=lianjie.rs1.getString("姓名");
mima1=lianjie.rs1.getString("密码");
if(name.equals(name1)&&mima.equals(mima1))
{
newJiemian
(1);
jframe1.setVisible(false);
lianjie.rs1.close();
break;
}
}
if(!
(name.equals(name1))||!
(mima.equals(mima1)))
JOptionPane.showMessageDialog(null,"用户名或密码错误");
}
catch(SQLExceptionSQe){
System.err.println(SQe);
JOptionPane.showMessageDialog(null,"数据库访问错误");
}
break;
}
case2:
{
try{
lianjie.rs1=lianjie.s.executeQuery("select*from学生信息表");
while(lianjie.rs1.next()){
name1=lianjie.rs1.getString("姓名");
mima1=lianjie.rs1.getString("密码");
if(name.equals(name1)&&mima.equals(mima1))
{
newJiemian
(2);
jframe1.setVisible(false);
lianjie.rs1.close();
break;
}
}
if(!
(name.equals(name1))||!
(mima.equals(mima1)))
JOptionPane.showMessageDialog(null,"用户名或密码错误");
}
catch(SQLExceptionSQe){
System.err.println(SQe);
JOptionPane.showMessageDialog(null,"数据库访问错误");
}
break;
}
}
}
所有用户的界面中都有个使用帮助按钮,点击它会获得如下信息:
4.2教师信息管理模块
由使用帮助可知,该功能仅管理员可以使用,其界面如下:
使用该功能可以实现对教师信息的添加、删除、修改。
实现该功能代码如下:
classjbutton3_ActionListenerimplementsActionListener{
introw;
publicvoidactionPerformed(ActionEvente){
switch(way){
case1:
{
teacher=jtextf1.getText();
name=jtextf2.getText();
sex=jtextf3.getText();
if(!
teacher.equals("")&&!
name.equals("")&&!
sex.equals("")){
try{
lianjie.rs1.moveToInsertRow();
lianjie.rs1.updateString("教职工号",teacher);
lianjie.rs1.updateString("姓名",name);
lianjie.rs1.updateString("性别",sex);
lianjie.rs1.insertRow();
lianjie.rs1.moveToCurrentRow();
}
catch(SQLExceptionSQe){
System.err.println(SQe);
JOptionPane.showMessageDialog(null,"教职工不能添加");
}
jtextf1.setText("");
jtextf2.setText("");
jtextf3.setText("");
youbiao();
}
if(teacher.equals("")||name.equals("")||sex.equals(""))
JOptionPane.showMessageDialog(null,"教职工号、性别、姓名都不能为空");
break;
}
case2:
{
try{
lianjie.rs1.deleteRow();
lianjie.rs1.previous();
if(lianjie.rs1.isBeforeFirst())
lianjie.rs1.first();
JOptionPane.showMessageDialog(null,"删除成功");
row=lianjie.rs1.getRow();
duqu();
youbiao();
lianjie.rs1.absolute(row);//将光标移动到给row行
}
catch(SQLExceptionSQe){System.err.println(SQe);}
break;
}
case3:
{
teacher=jtextf1.getText();
name=jtextf2.getText();
sex=jtextf3.getText();
try{
lianjie.rs1.updateString("教职工号",teacher);
lianjie.rs1.updateString("姓名",name);
lianjie.rs1.updateString("性别",sex);
lianjie.rs1.updateRow();
JOptionPane.showMessageDialog(null,"修改成功");
row=lianjie.rs1.getRow();
duqu();
youbiao();
lianjie.rs1.absolute(row);
}
catch(SQLExceptionSQe){
System.err.println(SQe);
}
}
}
}
}
4.3学生信息管理模块
由使用帮助可知,该功能仅管理员和教师可以使用,其界面如下:
使用该功能可以实现对学生信息的添加、删除、修改。
实现该功能的代码如下:
classjbutton3_ActionListenerimplementsActionListener{
introw;
publicvoidactionPerformed(ActionEvente){
switch(way){
case1:
{
num=jtextf1.getText();
name=jtextf2.getText();
sex=jtextf3.getText();
major=jtextf4.getText();
banji=jtextf5.getText();
xueyuan=jtextf6.getText();
ping_score=jtextf7.getText();
kaosi_score=jtextf8.getText();
nianji=jtextf9.getText();
if(!
num.equals("")&&!
name.equals("")&&!
sex.equals("")&&
!
major.equals("")&&!
banji.equals("")&&!
xueyuan.equals("")&&
!
ping_score.equals("")&&!
kaosi_score.equals("")&&!
nianji.equals("")){
try{
lianjie.rs1.moveToInsertRow();
lianjie.rs1.updateString("密码",num);
lianjie.rs1.updateString("综合成绩",String.valueOf(Integer.valueOf(ping_score)+Integer.valueOf(kaosi_score)*0.6));
lianjie.rs1.updateString("学号",num);
lianjie.rs1.updateString("姓名",name);
lianjie.rs1.updateString("性别",sex);
lianjie.rs1.updateString("专业",major);
lianjie.rs1.updateString("班级",banji);
lianjie.rs1.updateString("学院",xueyuan);
lianjie.rs1.updateString("平时成绩",ping_score);
lianjie.rs1.updateString("试卷成绩",kaosi_score);
lianjie.rs1.updateString("年级",nianji);
lianjie.rs1.insertRow();
lianjie.rs1.moveToCurrentRow();
}
catch(SQLExceptionSQe){System.err.println(SQe);
JOptionPane.showMessageDialog(null,"学生不能添加");}
jtextf1.setText("");
jtextf2.setText("");
jtextf3.setText("");
jtextf4.setText("");
jtextf5.setText("");
jtextf6.setText("");
jtextf7.setText("");
jtextf8.setText("");
jtextf9.setText("");
youbiao();
}
if(num.equals("")||name.equals("")||sex.equals("")||
major.equals("")||banji.equals("")||xueyuan.equals("")||
ping_score.equals("")||kaosi_score.equals("")||nianji.equals(""))
JOptionPane.showMessageDialog(null,"所有输入框都不能为空");
break;
}
case2:
{
try{
lianjie.rs1.deleteRow();
lianjie.rs1.previous();
if(lianjie.rs1.isBeforeFirst())
lianjie.rs1.first();
JOptionPane.showMessageDialog(null,"删除成功");
row=lianjie.rs1.getRow();
duqu();
youbiao();
lianjie.rs1.absolute(row);
}
catch(SQLExceptionSQe){System.err.println(SQe);}
break;
}
case3:
{
num=jtextf1.getText();
name=jtextf2.getText();
sex=jtextf3.getText();
major=jtextf4.getText();
banji=jtextf5.getText();
xueyuan=jtextf6.getText();
ping_score=jtextf7.getText();
kaosi_score=jtextf8.getText();
nianji=jtextf9.getText();
try{
lianjie.rs1.updateString("密码",num);
lianjie.rs1.updateString("综合成绩",String.valueOf(Integer.valueOf(ping_score)+Integer.valueOf(kaosi_score)*0.6));
lianjie.rs1.updateString("学号",num);
lianjie.rs1.updateString("姓名",name);
lianjie.rs1.updateString("性别",sex);
lianjie.rs1.updateString("专业",major);
lianjie.rs1.updateString("班级",banji);
lianjie.rs1.updateString("学院",xueyuan);
lianjie.rs1.updateString("平时成绩",ping_score);
lianjie.rs1.updateString("试卷成绩",kaosi_score);
lianjie.rs1.updateString("年级",nianji);
lianjie.rs1.updateRow();
JOptionPane.showMessageDialog(null,"修改成功");
row=lianjie.rs1.getRow();
duqu();
youbiao();
lianjie.rs1.absolute(row);
}
catch(SQLExceptionSQe){
System.err.println(SQe);
}
}
}
}
}
4.4教师信息查询
点击该按钮会弹出如下输入框:
管理员可输入教师的教职工号、姓名、性别等来查询教师的信息,教师只能根据教职工号(密码)来查询,学生没有该权限。
4.5学生信息查询
点击该按钮会弹出如下输入框:
管理员或教师可输入学生的学号、姓名、性别、专业、班级或年级等来查询学生的信息,学生只能根据学号(密码)来查询。
4.6教师信息浏览
使用该功能可以浏览所有教师的信息,但只有管理员拥有该权限。
4.7学生信息浏览
使用该功能可以浏览所有学生的信息,但只有管理员和教师拥有该权限。
5.课程设计总结
数据库课程设计是在学生系统地学习了“数据库原理与应用”课程后,按照关系型数据库的基本原理,综合运用所学的知识,设计开发一个小型的数据库管理信息系统。
通过对一个实际问题的分析、设计与实现,将原理与应用相结合,使学生学会将书本知识用于解决实际问题,培养学生的动手能力;另一方面,使学生能深入理解和灵活掌握教学内容。
通过这次课程设计,又用到了快要忘记的Java,刚开始总是不习惯,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 信息管理 系统