基于java的学籍管理系统课程设计.docx
- 文档编号:6627483
- 上传时间:2023-01-08
- 格式:DOCX
- 页数:27
- 大小:107.38KB
基于java的学籍管理系统课程设计.docx
《基于java的学籍管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《基于java的学籍管理系统课程设计.docx(27页珍藏版)》请在冰豆网上搜索。
基于java的学籍管理系统课程设计
成绩评定表
学生姓名
**
班级学号
****
专业
通信工程
课程设计题目
基于java的学籍管理系统
评
语
组长签字:
成绩
日期
20年月日
课程设计任务书
学院
信息科学与工程学院
专业
通信工程
学生姓名
***
班级学号
****
课程设计题目
学籍管理系统
实践教学要求与任务:
1、熟悉学籍管理系统的基本原理
2、熟悉Java的环境
3、在Java环境中仿真实现学籍管理系统
4、运行、调试学籍管理系统
5、对学籍管理系统进行结果验证及分析
工作计划与进度安排:
12月1日熟悉设计任务、查阅资料、进行原理分析及可行性论证
12月2日~3日在Java环境中仿真实现学籍管理系统
12月4日验收、答辩、提交报告
指导教师:
201年月日
专业负责人:
201年月日
学院教学副院长:
201年月日
2.1设计思路.................................................................................2
2.2具体设计.................................................................................2
2.3软件环境.................................................................................3
3.1登陆界面设计.............................................................................4
3.2查询界面设计.............................................................................6
3.3添加学生信息...........................................................................9
3.4删除学生信息...........................................................................15
3.5退出界面设计...........................................................................18
4、结论20
1、背景及意义
专业生产实习是本科教学计划中非常重要的实践性教学环节,是专业培养目标和教学计划、课程设置的有机组成部分,是理论教学的完善和补充。
通过生产实习,使学生通过实践了解和掌握计算机应用的开发、设计、运行等环节;比较深入的了解掌握软件开发技术、系统开发过程、项目管理、系统测试、系统集成等技术和规范。
通过生产实习培养学生掌握从事计算机系统开发的技能,加深对已经学习过的专业理论知识的理解和认识,训练自己观察和分析问题的能力。
通过实践巩固已学知识,并使学生获得组织和管理生产的初步认识。
通过收集阅读和分析理解产品开发的有关资料和现场技术人员讲解培训,及学生自己动手实践,加强学生理论联系实际,提高在生产实践中调查研究、观察问题分析问题以及解决问题的能力和方法。
为学生后续学习打下基础。
本次生产实习本小组选择java语言,通过家具进销管理系统这个项目熟悉java基本操作与开发,完成相应功能。
我主要负责对客户端的一些操作,如添加客户信息、查找客户信息、修改客户信息等。
要求学生初步掌握计算机系统开发过程、可行性分析、用户需求分析、概要设计、详细设计、开发技术和开发环境、编码、测试方法和技术、编码规范、质量控制、各类相关文档的编写和管理等,及涉及到的相关技术、结构设计、开发的组织管理、测试等方面;了解实际产品的实际内容,分析产品的工作原理。
掌握数据库系统、信息系统工程、网络工程的设计、规划和建设及相关标准和政策;质量的控制和验收方法及相关规范。
2、设计原理及设计方案
2.1设计思路
随着社会经济的发展,入学的同学越来越多,为方便对同学学籍信息的的管理,设计学籍管理软家来管理本班级同学的学籍信息。
该软件应支持添加、删除、修改、查询功能。
并且查询功能分为两种情况显示查询的结果:
查询方式主要是支持学号查询,例如:
输入“111”,则显示该学生的信息。
运用流式、卡片、整体布局方式对系统的主界面和各功能界面进行设计;通过连接数据库的方式来实现对数据的存储;各功能实现时访问数据库,并对数据信息进行读取,运用Java语句对其进行输出,学号查询时显示在文本框中;管理员登录、管理员添加信息,系统提示功能用来提醒用户的错误操作和输入时的错误信息,提醒用户进行改正。
2.2具体设计
该系统中的信息存储在数据库中,并实现以下各功能:
1.管理员登录:
管理员帐号admin,密码:
12345,进行增删查改。
2.添加功能:
添加数据信息,当有新同学进入是可以添加该同学的信息。
通过文本框读入添加信息,连接数据库后储存数据。
3.精确查询:
输入要查询同学的学号,显示出该同学的信息。
通过文本框读入要4.查找的信息,用SQL语句在数据库中进行查找。
5.删除功能:
该功能和精确查询功能在同一功能模块中实现,有于删除同学信息并更新数据库信息。
6.修改功能:
当同学的信息改变时,用此功能更新同学信息。
通过对数据库信息的更新保存最新信息。
每种功能通过一个类来实现:
类分分为主类、精确查询类、修改类、添加类、增加类。
主类(Info_manager)实现系统主界面以及和各功能界面的连接;精确查询类(SearchStudent)实现对数据库中数据的精确查询;修改类(MdifyStudent)实现对数据的修改更新;添加类(AddStudent)向数据库中添加新数据;删除类(DeleteStudent)实现对数据的删除。
该系统需要用数据库来实现对信息的存储,每次对信息的操作都要访问数据库,并对数据库的信息作相应的读入和取出。
该系统流程图如下:
系统流程图
程序流程图
2.3软件环境
数据库:
Mysql5.0及以上
JDK:
1.80_25版本及以上
3.设计过程
3.1登陆界面设计
程序代码:
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
publicclassInfo_ManageextendsFrame{
JLabelJL=newJLabel("欢迎登陆");
LabelJLUserName=newLabel("用户名:
");
LabelJLPaw=newLabel("密码:
");
TextFieldJTUserName=newTextField();
JPasswordFieldJPsw=newJPasswordField();
ButtonB1=newButton("登陆");
ButtonB2=newButton("取消");
publicInfo_Manage(){
setLayout(null);
setTitle("学籍管理系统");
setBackground(Color.GRAY);
JL.setBounds(150,40,150,50);
JL.setFont(newFont("TimesRoman",Font.BOLD,24));
JL.setForeground(Color.red);
add(JL);
JLUserName.setBounds(100,100,100,20);
add(JLUserName);
JTUserName.setBounds(200,100,80,20);
add(JTUserName);
JLPaw.setBounds(100,140,60,20);
add(JLPaw);
JPsw.setBounds(200,140,80,20);
add(JPsw);
B1.setBounds(100,200,60,20);
add(B1);
B1.addActionListener(newMonitor());
B2.setBounds(200,200,60,20);
add(B2);
B2.addActionListener(newMonitor());
setVisible(true);
setBounds(10,10,400,250);
addWindowListener(newWindowMonitor());
}
classWindowMonitorextendsWindowAdapter{
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}
}
publicstaticvoidmain(String[]args){
newInfo_Manage();
}
classMonitorimplementsActionListener{
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==B1){
Stringname=JTUserName.getText();
Stringpassword=newString(JPsw.getPassword());
if((name!
=null&&(name.equals("guest")))
&&(password!
=null&&(password.equals("guest")))){
newstudent_manage();
setVisible(false);
}else{
JOptionPane.showMessageDialog(null,"用户名或密码不正确,请重新填写。
。
。
。
");
}
}
}
}
}
3.2查询界面设计
程序代码:
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.JFrame;
importjavax.swing.JMenu;
importjavax.swing.JMenuBar;
importjavax.swing.JMenuItem;
classstudent_manageextendsJFrame{
JMenuBarjm=newJMenuBar();
JMenujm1=newJMenu("学生信息");
JMenuItemjmi1=newJMenuItem("增加信息");
JMenuItemjmi2=newJMenuItem("删除信息");
JMenuItemjmi3=newJMenuItem("修改信息");
JMenujm4=newJMenu("学生成绩");
JMenuItemjm41=newJMenuItem("录入成绩");
JMenuItemjm42=newJMenuItem("删除成绩");
JMenuItemjm43=newJMenuItem("修改成绩");
JMenujm2=newJMenu("学生查询");
JMenuItemjmi21=newJMenuItem("学生信息查询");
JMenuItemjm22=newJMenuItem("学生成绩查询");
JMenujm3=newJMenu("退出");
JMenuItemjmi31=newJMenuItem("退出");
Labellabel=newLabel("欢迎登陆学籍管理信息系统",Label.CENTER);
PanelpCenter=newPanel();
publicstudent_manage(){
setTitle("欢迎登陆学籍管理信息系统");
setBackground(Color.GRAY);
setLayout(newCardLayout());
Containercon=getContentPane();
pCenter.setLayout(newCardLayout());
label.setFont(newFont("TimesRoman",Font.BOLD,24));
label.setForeground(Color.red);
setJMenuBar(jm);
jm.add(jm1);
jm.add(jm4);
jm.add(jm2);
jm.add(jm3);
jm1.add(jmi1);
jm1.add(jmi2);
jm1.add(jmi3);
jm4.add(jm41);
jm4.add(jm42);
jm4.add(jm43);
jm2.add(jmi21);
jm2.add(jm22);
jm3.add(jmi31);
jmi1.addActionListener(newMonitor());
jmi2.addActionListener(newMonitor());
jmi3.addActionListener(newMonitor());
jm41.addActionListener(newMonitor());
jm42.addActionListener(newMonitor());
jm43.addActionListener(newMonitor());
jm2.addActionListener(newMonitor());
jmi21.addActionListener(newMonitor());
jm22.addActionListener(newMonitor());
jm3.addActionListener(newMonitor());
jmi31.addActionListener(newMonitor());
con.add(pCenter,BorderLayout.CENTER);
//con.validate();
setBounds(10,10,500,400);
setVisible(true);
addWindowListener(newWindowMonitor());
}
classWindowMonitorextendsWindowAdapter{
publicvoidwindowClosing(WindowEvente){
System.exit(0);
}
}
classMonitorimplementsActionListener{
publicvoidactionPerformed(ActionEvente){
if(e.getSource()==jmi1){
newAddStudent();
}
if(e.getSource()==jmi2){
newDeleteStudent();
}
if(e.getSource()==jmi3){
newGetStudent();
}
if(e.getSource()==jmi21){
newSetStudent();
}
if(e.getSource()==jmi31){
newUsingExit().setVisible(true);
}
if(e.getSource()==jm41){
newAddGrade();
}
if(e.getSource()==jm42){
newDeleteGrade();
}
if(e.getSource()==jm43){
newGetGrade();
}
if(e.getSource()==jm22){
newSetGrade();
}
}
3.3添加学生信息
程序代码:
importjava.awt.*;
importjava.awt.event.*;
importjava.sql.*;
importjavax.print.attribute.standard.JobName;
importjavax.swing.*;
classAddStudentextendsJFrame{
JLabelJL=newJLabel("添加学生基本信息",JLabel.CENTER);
JLabelJLNumber=newJLabel("学号");
JTextFieldJTNumber=newJTextField();
JLabelJLName=newJLabel("姓名");
JTextFieldJTName=newJTextField();
JLabelJL2=newJLabel("生日");
JTextFieldJT2=newJTextField();
JLabelJLClass=newJLabel("班级");
JTextFieldJTClass=newJTextField();
JLabelJL1=newJLabel("学院");
JTextFieldJT1=newJTextField();
JLabelJLsex=newJLabel("性别");
ButtonGroupBG=newButtonGroup();
JRadioButtonJRB1=newJRadioButton("男");
JRadioButtonJRB2=newJRadioButton("女");
JButtonJBAdd=newJButton("添加");
JButtonJBNext=newJButton("重置");
JButtonJBExit=newJButton("退出");
Stringsql="";
Stringmm="";
publicAddStudent(){
setTitle("添加学生学籍信息");
setLayout(null);
setFont(newFont("TimesRoman",Font.BOLD,24));
setForeground(Color.red);
JL.setBounds(100,30,200,40);
add(JL);
JLNumber.setBounds(100,80,100,20);
add(JLNumber);
JTNumber.setBounds(200,80,80,20);
add(JTNumber);
JLName.setBounds(100,120,60,20);
add(JLName);
JTName.setBounds(200,120,80,20);
add(JTName);
JLsex.setBounds(100,160,100,20);
add(JLsex);
JRB1.setBounds(200,160,40,20);
JRB2.setBounds(300,160,40,20);
add(JRB1);
add(JRB2);
BG.add(JRB1);
BG.add(JRB2);
JRB1.addActionListener(newButtonMonitor());
JRB2.addActionListener(newButtonMonitor());
JL2.setBounds(100,200,80,20);
add(JL2);
JT2.setBounds(200,200,80,20);
add(JT2);
JLClass.setBounds(100,240,60,20);
add(JLClass);
JTClass.setBounds(200,240,80,20);
add(JTClass);
JL1.setBounds(100,280,60,20);
add(JL1);
JT1.setBounds(200,280,80,20);
add(JT1);
JBAdd.setBounds(80,320,90,20);
add(JBAdd);
JBAdd.addActionListener(newMonitor());
JBNext.setBounds(190,320,90,20);
add(JBNext);
JBNext.addActionListener(newMonitor());
JBExit.setBounds(300,320,90,20);
add(JBExit);
JBExit.addActionListener(newMonitor());
setBounds(10,10,500,400);
setVisible(true);
addWindowListener(newWindowMonitor());
}
classButtonMonitorimplementsActionListener{
publicvoidactionPerformed(ActionEvente){
mm=((JRadioButto
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 java 学籍 管理 系统 课程设计