学生管理系统.docx
- 文档编号:27952650
- 上传时间:2023-07-06
- 格式:DOCX
- 页数:27
- 大小:144.38KB
学生管理系统.docx
《学生管理系统.docx》由会员分享,可在线阅读,更多相关《学生管理系统.docx(27页珍藏版)》请在冰豆网上搜索。
学生管理系统
《数据库原理实践》报告
学生管理系统开发
----课程管理系统
专业:
班级:
姓名:
学号:
摘要
关键词:
Java;MySQL;课程管理系统
随着计算机技术日渐成熟,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学校的课程信息进行管理,与手工相比有其无可比拟的优势。
例如:
检索快速。
查找方便、可靠性高、存储量大、保密性好、信息保存时间长等。
这些优点能够极大地提高学校课程管理的效率,也是学校管理科学化。
正规化的重要条件和标志。
本系统是一个学生课程管理系统,它是高校教务管理系统中的一个子系统。
主要用户是学生、教师和管理员。
系统方便了解课程信息。
方便了教师的教学管理和新课程的录入。
更为重要的是,系统方便了学校的教务管理。
本系统采用java语言开发,在Eclipse环境下编写,这是为了使系统的结构更加清晰同时简化开发工作。
学生课程管理系统的产生大大减少了人力上的不便,让整个数据管理更加科学合理。
本系统最有特色的地方就是后台数据库对学生课程统一管理。
系统的界面是运用java中的GUI制作的,后台数据库MsSQL中建有课程表,该表有如下信息:
课程号、课程名、学分、老师四大属性所组成。
其中课程号为主码。
本系统可实现课程信息的查询,还可添加课程信息,修改课程信息,删除课程信。
目录
一.课程管理系统的目标和意义1
1.1学生课程管理系统的目标1
1.1.1三级标题(标题3)1
二.目前国内外相关工作情况1
2.1二级标题(标题2)1
2.1.1三级标题(标题3)1
三.系统的总体设计1
3.1二级标题(标题2)2
3.1.1三级标题(标题3)2
四.课程管理系统的详细规划2
4.1二级标题(标题2)2
4.1.1三级标题(标题3)2
五.测试2
5.1二级标题(标题2)2
5.1.1三级标题(标题3)2
参考文献3
一.1学生课程管理系统的目标
设计一个学生课程管理系统,目标是提高学生课程信息管理工作的效率,围绕此管理所需的课程信息,课程和课程以学院之间的关系及课程信息的管理及维护。
学生可通过此系统进行课程信息的查询以及同过课程信息完成选课。
系统开发的总体任务是实现学生课程管理的系统化、规范化。
该系统是高校教务管理系统中的一个子系统。
主要用户是学生、教师和管理员。
系统方便了课程信息。
方便了教师的教学管理和新课程的录入。
更为重要的是,系统方便了解学校的教务管理。
该项目开发的软件为学校学生课程信息管理系统软件,是鉴于目前学校学生人数剧增,学生课程信息呈爆炸性增长的前提下,学校对课程信息管理的自动化与准确化的要求日益强烈的背景下构思出来的,该软件设计完成后用于所有教育单位(包括学校。
学院等等)的学生课程的管理。
目前社会山的信息管理系统发展飞快,各个企事业单位都引入了信息管理软件来管理软件来管理自己日益增长的各种信息,课程管理系统也是有了很大的发展,商业化的课程信息管理软件也不少,但本系统完全独立开发,力求是系统功能简洁明了,但功能齐全且易于操作。
一.2学生课程管理系统的意义
学生课程信息管理系统是一个教育单位不可缺少的部分。
一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都是至关重要的。
国有课程信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统的人工的方式管理文件文档、统计和查询数据,这种管理方式存在着许多去点,如效率低、保密性差,人力的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新、和维护带来了不少困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识。
它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理所无法比拟的优点,例如:
检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化管理、与世界接轨的重要条件。
二.目前国内外相关工作情况
二.1Java语言的历史及发展
Java是一个由Sun公司开发而成的新一代编程语言。
使用它可在各式各样不同种机器、不同种操作平台的网络环境中开发软件。
不论你使用的是哪一种WWW浏览器,哪一种计算机,哪一种操作系统,只要WWW浏览器上面注明了“支持Java”,你就可以看到生动的主页。
Java正在逐步成为Internet应用的主要开发语言。
它彻底改变了应用软件的开发模式,带来了自PC机以来又一次技术革命,为迅速发展的信息世界增添了新的活力。
Sun的Java语言开发小组成立于1991年,其目的是开拓消费类电子产品市场,例如,交互式电视、烤面包箱等。
Sun内部人员把这个项目称为Green,那时WorldWideWeb还在图纸上呢。
该小组的领导人是JamesGosling,是一位非常杰出的程序员。
他出生于1957年,于1984年加盟SunMicrosystem公司,之前在一家IBM研究机构工作。
他是SunNeWs窗口系统的总设计师。
也是第一个用C实现的EMACS的文本编辑器COSMACS的开发者。
在研究开发过程中,Gosling深刻体会到消费类电子产品和工作站产品在开发哲学上的差异:
消费类电子产品要求可靠性高、费用低、标准化、使用简单,用户并不关心CPU的型号,也不欣赏专用昂贵的RISC处理器,他们需要建立在一个标准基础之上,具有一系列可选的方案,从8086到80586都可以选取。
二.1.1Java语言的优点和优势
1.Java是目前使用最为广泛的网络编程语言之一。
它具有简单,面向对象,稳定,与平台无关,解释型,多线程,动态等特点。
2.简单
3.面向对象
4.与平台无关
5.解释型
6.多线程
7.安全
8.动态
二.2系统功能分析
学生课程管理系统的开发目的是管理全校学生的各种信息,方便学生课程信息的查询。
系统的使用对象是课程管理部门,如教务处工作人员、校院系领导、班主任、教师等。
学生课程管理系统的功能概括起来就是课程信息的录入、维护和查询。
本系统的学生课程管理系统的索要完成的主要功能如下。
(1)课程信息的录入,包括课程号、课程名、学分、任课老师等。
(2)课程基本信息的修改维护。
(3)课程信息的查询。
3.2系统功能模块设计
根据系统所要实现的功能,按照结构化程序设计原则,可将整个系统划分为如图所示的若干功能模块。
二.3数据库设计
数据库系统设计中使用MySQL数据库,创建Course表,该表包括课程号、课程名、学时、学分、开课院系、是否选修属性组成,其中课程号为主码,不能为空,其它可为空。
表结构如下:
数据库设计E-R图如下:
二.4数据库设计
数据库系统设计中使用MySQL数据库,创建Course表,该表包括课程号、课程名、学时、学分、开课院系、是否选修属性组成,其中课程号为主码,不能为空,其它可为空。
表结构如下:
3系统的总体设计
程序如下:
//这是课程查增删改的主界面(图一)
package课程查增删改;
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
publicclassCourseView_mainextendsJFrameimplementsActionListener{
publicstaticvoidmain(String[]args){
CourseView_maincv=newCourseView_main();
}
//处理北面的label
JLabeljblup;
//处理中间的
JLabeljbl1,jbl2,jbl3,jbl4;
JButtonjb1,jb2,jb3,jb4;
JPaneljpl;
publicCourseView_main(){
jblup=newJLabel("课程的查增删修",JLabel.CENTER);
jbl1=newJLabel("课程的查询",JLabel.CENTER);
jbl2=newJLabel("课程的增加",JLabel.CENTER);
jbl3=newJLabel("课程的删除",JLabel.CENTER);
jbl4=newJLabel("课程的修改",JLabel.CENTER);
jb1=newJButton("确定");
jb1.addActionListener(this);
jb2=newJButton("确定");
jb2.addActionListener(this);
jb3=newJButton("确定");
jb3.addActionListener(this);
jb4=newJButton("确定");
jb4.addActionListener(this);
jpl=newJPanel(newGridLayout(4,2));
jb1.setSize(50,50);
jb2.setSize(50,50);
jb3.setSize(50,50);
jb4.setSize(50,50);
//处理中间的东西
jpl.add(jbl1);
jpl.add(jb1,BorderLayout.WEST);
jpl.add(jbl2);
jpl.add(jb2,BorderLayout.WEST);
jpl.add(jbl3);
jpl.add(jb3,BorderLayout.WEST);
jpl.add(jbl4);
jpl.add(jb4,BorderLayout.WEST);
this.add(jblup,"North");
this.add(jpl,"Center");
this.setSize(350,300);
this.setLocation(400,200);
this.setTitle("课程的查增删修系统");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
}
publicvoidactionPerformed(ActionEvente){
//thrownewUnsupportedOperationException("Notsupportedyet.");
if(e.getSource()==jb1){
CourseFindcf=newCourseFind();
this.setVisible(true);
this.dispose();
}elseif(e.getSource()==jb2){
CourseAddca=newCourseAdd();
this.setVisible(true);
this.dispose();
}elseif(e.getSource()==jb3){
CourseDeletecd=newCourseDelete();
this.setVisible(true);
this.dispose();
}elseif(e.getSource()==jb4){
CourseAlterca=newCourseAlter();
this.setVisible(true);
this.dispose();
}
}
}
//课程查找功能(图二)
package课程查增删改;
importjava.awt.GridLayout;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.sql.SQLException;
importjava.util.logging.Level;
importjava.util.logging.Logger;
importjavax.swing.*;
importmodel.ConnectDB;
publicclassCourseFindextendsJFrameimplementsActionListener{
JLabeljbl;
JButtonjb;
JPaneljpl;
JScrollPanejsp;
publicCourseFind(){
try{
jbl=newJLabel("课程查询显示",JLabel.CENTER);
//处理中间
jpl=newJPanel(newGridLayout(1000,3,4,4));
jsp=newJScrollPane(jpl);
ConnectDBcdb=newConnectDB();
Stringstr="select*fromcourse";
cdb.rs=cdb.stmt.executeQuery(str);
intm=0;
while(cdb.rs.next()){
m++;
Stringcn=cdb.rs.getString
(1);
Stringcc=cdb.rs.getString
(2);
Stringct=cdb.rs.getString(3);
Stringccc=cn+""+cc+""+ct;
JLabel[]jbl_course=newJLabel[m];
for(inti=0;i jbl_course[i]=newJLabel(ccc); jpl.add(jbl_course[i]); } m--; } jb=newJButton("返回上一层界面"); jb.addActionListener(this); this.add(jbl,"North"); this.add(jsp,"Center"); this.add(jb,"South"); this.setLocation(400,200); this.setSize(400,400); this.setVisible(true); this.setTitle("课程的查增删修系统"); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); }catch(SQLExceptionex){ Logger.getLogger(CourseFind.class.getName()).log(Level.SEVERE,null,ex); } } publicvoidactionPerformed(ActionEvente){ //thrownewUnsupportedOperationException("Notsupportedyet."); if(e.getSource()==jb){ CourseView_maincv=newCourseView_main(); cv.setVisible(true); this.dispose(); } } } //课程的增加(图三) package课程查增删改; importjava.awt.*; importjava.awt.event.*; importjava.util.logging.Level; importjava.util.logging.Logger; importjavax.swing.*; importjava.sql.*; importmodel.ConnectDB; publicclassCourseAddextendsJFrameimplementsActionListener{ JLabeljb_zhuce,jb_name,jb_credit,jb_teacher,jb_no; JTextFieldjtf_name,jtf_credit,jtf_teacher,jtf_no; JPaneljpl,jpl1,jpl2; JButtonjb,jb1; publicCourseAdd(){ jb_zhuce=newJLabel("请在对应位置填写正确的信息以备增加: "); jpl=newJPanel(newGridLayout(4,2)); jb_no=newJLabel("*课程号",JLabel.CENTER); jb_name=newJLabel("*课程名",JLabel.CENTER); jb_credit=newJLabel("*学分",JLabel.CENTER); jb_teacher=newJLabel("*教师",JLabel.CENTER); jtf_teacher=newJTextField(); jtf_name=newJTextField(); jtf_credit=newJTextField(); jtf_no=newJTextField(); jpl.add(jtf_teacher,JTextField.CENTER); jpl.add(jb_teacher,JLabel.CENTER); jpl.add(jtf_credit,JTextField.CENTER); jpl.add(jb_credit,JLabel.CENTER); jpl.add(jtf_name,JTextField.CENTER); jpl.add(jb_name,JLabel.CENTER); jpl.add(jtf_no,JTextField.CENTER); jpl.add(jb_no,JLabel.CENTER); jb=newJButton("提交"); jb.addActionListener(this); jb1=newJButton("返回上一层界面"); jb1.addActionListener(this); jpl1=newJPanel(newGridLayout(1,2)); jpl1.add(jb); jpl1.add(jb1); this.add(jb_zhuce,"North"); this.add(jpl,"Center"); this.add(jpl1,"South"); this.setTitle("增加课程"); this.setSize(350,400); this.setLocation(400,200); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); this.setVisible(true); } publicvoidactionPerformed(ActionEvente){ if(e.getSource()==jb){ Stringno=jtf_no.getText(); Stringname=jtf_name.getText(); Stringcredit=jtf_credit.getText(); Stringteacher=jtf_teacher.getText(); ConnectDBcdb=newConnectDB(); Stringstr="insertintocoursevalues('"+name+"','"+credit+"','"+teacher+"','"+no+"')"; try{ cdb.stmt.executeUpdate(str); JOptionPane.showMessageDialog(this,"课程增加成功"); }catch(SQLExceptionex){ Logger.getLogger(CourseAdd.class.getName()).log(Level.SEVERE,null,ex); } this.dispose(); CourseView_maincv=newCourseView_main(); cv.setVisible(true); }elseif(e.getSource()==jb1){ CourseView_maincv=newCourseView_main(); cv.setVisible(true); this.dispose(); } } } //课程的删除(图四) package课程查增删改; importjava.awt.BorderLayout; importjava.awt.GridLayout; importjava.awt.event.ActionEvent; importjava.awt.event.ActionListener; importjava.sql.SQLException; importjava.util.logging.Level; importjava.util.logging.Logger; importjavax.swing.*; importmodel.ConnectDB; publicclassCourseDeleteextendsJFrameimplementsActionListener{ JLabeljb_notice,jb_name,jb_credit,jb_teacher,jb_no; JTextFieldjtf,jtf_credit,jtf_teacher,jtf_no; JPaneljpl,jpl1,jpl2; JButtonjb,jb1,jb2; publicCourseDelete(){ //处理北部的物件 jpl1=newJPanel(newGridLayout(1,3)); jb_notice=newJLabel("查找是否存在想要删除的课程: "); jtf=newJTextField(15); jb=newJButton("查找"); jb.addActionListener(this); jb1=newJButton("删除"); jb1.addAc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 管理 系统