软件专业课程设计.docx
- 文档编号:13068082
- 上传时间:2023-06-10
- 格式:DOCX
- 页数:36
- 大小:284.86KB
软件专业课程设计.docx
《软件专业课程设计.docx》由会员分享,可在线阅读,更多相关《软件专业课程设计.docx(36页珍藏版)》请在冰点文库上搜索。
软件专业课程设计
中南民族大学
软件课程设计汇报
电子信息工程学院级
通信工程专业
题目学生学籍管理系统
学生。
。
学号214
指导老师老师
5月29日
学生学籍管理系统
摘要:
该软件可实现对学生学籍管理,并存放到数据库中,列表展示所采集数据。
关键字:
学生数据存放Java编程
1引言
伴随现代社会快速发展,我们已进入信息化时代,管理系统在大家生活中应用越来越广泛,它已深入到我们工作,学习和生活各个方面。
为了适应时代发展,此次课程设计关键任务是设计一个学生学籍管理系统并完成部分基础操作。
2设计依据及框图
2.1设计平台
本系统采取了eclipse开发工具,使用Java语言架设用户界面;使用eclipse建立和数据库连接设计。
2.2设计思想
为了愈加好管理学生学籍信息,特地利用现在所学eclipse软件和相关数据库设计一个集管理员,老师和学生相关学籍查看,修改,删除和添加一系列功效学籍管理系统。
在eclipse中利用JDBC连接到数据库SQLserver,从而达成数据管理和存放,用eclipse写功效Java语言,从而跟简单在界面操作数据库。
2.3设计框图、用户界面
数据库
2.3.1设计框图
2.3.2用户界面
图所表示,这是系统登录界面,登录分为管理员,老师,学生。
2.4数据库表结构
本系统采取Java语言建立对数据库管理以下:
3各模块功效及关键模块步骤图
3.1各模块功效介绍
3.1.1添加信息模块
关键功效:
当用户输入想要添加相关学生信息,只需要直接点击添加按钮进入添加信息界面,填上相关信息即可经过Java程序进行添加并存放到数据库。
3.1.2查询信息模块
关键功效:
当用户需要查询学生相关信息时,只需要输入名字,Java程序即可运行并从数据库中提出相关信息显示在界面中。
3.1.3修改信息模块
关键功效:
当用户需要修改相关信息时,在信息界面点击修改时,Java程序即可就会调出相关信息,用户就能够修改,修改完成后,会直接把修改后信息存放到数据库中。
3.1.4删除信息模块
关键功效:
当用户需要删除信息是,直接点击删除按钮,Java程序会直接把相关信息从数据库中删除掉。
3.2关键步骤图
管理员学生
老师
删除信息
查询信息
修改信息
添加信息
添加信息
修改信息
删除信息
查询信息
4软件调试分析
经过数次调试,在开发时关键碰到以下问题:
Eclipse和数据库连接和相关配置环境
编写java代码和数据库连接时,总是显示会有加载驱动成功,不过连接不到数据库,编码中发觉,这是因为数据库相关配置环境没有设置好。
在编写Java程序时,应该和SQLserver中表名称相同,这么才能够直接在eclipse中利用Java语句结合SQL语言完成对数据相关操作。
5结语
5.1结论和讨论
经过这段时间学习,而且在老师帮助下,最终完成了这个课程设计,即使还有很多不足之处。
在这段时间里,我们碰到过不少问题,使得总是原地踏步,但经过看书和问老师,我们最终处理碰到问题,而且也是学习到了很多相关知识。
经过这次课程设计,使我们处理问题能力得到了提升,知识得到丰富,技能得到提升。
参考文件
[1].张桂珠刘丽陈爱国Java面向对象程序设计(第2版)北京邮电大学出版社[2]毕广吉.Java程序设计实例教程[M].北京:
冶金工业出版社,
[1]何玉洁.数据库原理和应用(第3版)[M].北京:
机械工业出版社,.8
附录
程序代码:
入口程序:
Student.Java
packagepkg;
importjavax.swing.UIManager;
importjava.awt.*;
importjava.sql.*;
//importscreen
publicclassstudent
{
booleanpackFrame=false;
//JFrameframe=newJFrame();
publicstudent()
{
Mainframeframe=newMainframe();
if(packFrame)
{
frame.pack();
}
else
{
frame.validate();
}
DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize();
DimensionframeSize=frame.getSize();
if(frameSize.height>screenSize.height)
{
frameSize.height=screenSize.height;
}
if(frameSize.width>screenSize.width)
{
frameSize.width=screenSize.width;
}
frame.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2);
frame.setVisible(true);
}
publicstaticvoidmain(String[]args)
{
try{
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
}
catch(Exceptione)
{
e.printStackTrace();
}
newstudent();
}
}
界面显示:
Mainframe.java
packagepkg;
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
importjava.sql.*;
publicclassMainframeextendsJFrameimplementsActionListener
{
staticMainframes;
staticJPanelpan=newJPanel();
staticJLabellabel1=newJLabel("用户");
staticJLabellabel2=newJLabel("密码");
staticJTextFieldtextField1=newJTextField();
staticJPasswordFieldpassword=newJPasswordField();
staticJButtonbutton1=newJButton("进入系统");
staticJRadioButtonradioButton1=newJRadioButton("管理员",true);//“管理员”初始状态被选中
staticJRadioButtonradioButton2=newJRadioButton("学生");
staticJRadioButtonradioButton3=newJRadioButton("老师");
ButtonGroupbuttonGroup=newButtonGroup();
publicMainframe()
{
JLabellabel=newJLabel(newImageIcon("E:
\\pictures\\bg.jpg"));
label.setSize(400,400);
pan.add(label);
pan.setLayout(null);
pan.setSize(400,400);
this.setTitle("学籍管理系统");
this.setSize(400,400);
this.setLayout(null);
label1.setBounds(100,25,49,20);
textField1.setBounds(155,24,120,20);
label2.setBounds(100,62,49,20);
password.setBounds(155,61,120,20);
button1.setBounds(150,200,101,22);
radioButton1.setBounds(105,120,80,20);
radioButton2.setBounds(180,120,60,20);
radioButton3.setBounds(240,120,60,20);
button1.addActionListener(this);
buttonGroup.add(radioButton1);
buttonGroup.add(radioButton2);
buttonGroup.add(radioButton3);
this.add(radioButton1);
this.add(radioButton2);
this.add(radioButton3);
this.add(label1);
this.add(label2);
this.add(textField1);
this.add(password);
this.add(button1);
this.add(pan);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
//TODOAuto-generatedconstructorstub
}
publicstaticvoidmain(String[]args)
{
newMainframe();//TODOAuto-generatedmethodstub
}
publicvoidactionPerformed(ActionEvente)
{
if(radioButton1.isSelected())//管理员
{
if(textField1.getText().equals("asd")&&password.getText().equals("123"))
{
interfacb=newinterfac();
this.dispose();
JOptionPane.showMessageDialog(null,"登陆成功");
}elseif("".equals(textField1.getText())||"".equals(password.getText()))
{
JOptionPane.showMessageDialog(null,"用户名或密码不能为空");
}else{
JOptionPane.showMessageDialog(null,"用户名或密码输入有误");
}
}if(radioButton2.isSelected())//学生
{
try{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
}
catch(ClassNotFoundExceptionce)
{
JOptionPane.showMessageDialog(s,ce.getMessage());
}
try{
Connectioncon=DriverManager.getConnection("jdbc:
sqlserver:
//localhost:
1433;DatabaseName=Student","sa","123");
Statementstmt=con.createStatement();
ResultSetrs=stmt.executeQuery("select*frompasswordwhere用户='"+textField1.getText()+"'and密码='"+password.getText()+"'");
if(textField1.getText().equals("用户")||password.getText().equals("密码"))
{
JOptionPane.showMessageDialog(this,"用户名或密码不可为空!
");
}
elseif(rs.next())
{
newinterfac();
}
else
{JOptionPane.showMessageDialog(this,"您输入有误");}
stmt.close();
}
catch(SQLExceptionse)
{
JOptionPane.showMessageDialog(s,se.getMessage());
}
}
}
}
主窗体设计:
Interface.Java:
packagepkg;
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
publicclassinterfacextendsJFrameimplementsActionListener
{
staticJMenuBarjMenuBar=newJMenuBar();//菜单条
staticJMenujMenuFile=newJMenu("文件");//菜单项
staticJMenujMenuExit=newJMenu("退出");
staticJMenuItemjMenuItem1=newJMenuItem("添加信息");//菜单子项
staticJMenuItemjMenuItem2=newJMenuItem("修改信息");
staticJMenuItemjMenuItem3=newJMenuItem("信息查询");
staticJMenuItemjMenuItem4=newJMenuItem("删除信息");
staticJLabellabel3=newJLabel("请选择操作项");
staticJLabellabel4=newJLabel("学籍管理系统");
staticJButtonbutton2=newJButton("添加信息");
staticJButtonbutton3=newJButton("修改信息");
staticJButtonbutton4=newJButton("信息查询");
staticJButtonbutton5=newJButton("删除信息");
publicinterfac()
{
this.setTitle("学籍管理系统");
this.setLayout(null);
this.setSize(400,400);
label3.setBounds(158,92,98,33);
label3.setFont(newFont("Dialog",Font.PLAIN,15));
label4.setFont(newFont("Dialog",Font.BOLD,20));
label4.setBounds(157,37,280,40);
button2.setBounds(74,136,97,33);
button3.setBounds(226,136,97,33);
button4.setBounds(74,185,97,33);
button5.setBounds(226,185,97,33);
this.add(button2);
this.add(button3);
this.add(button4);
this.add(button5);
this.add(label3);
this.add(label4);
setJMenuBar(jMenuBar);
jMenuFile.add(jMenuItem1);//”文件“菜单项中加入子菜单
jMenuFile.add(jMenuItem2);
jMenuFile.add(jMenuItem3);
jMenuFile.add(jMenuItem4);
jMenuBar.add(jMenuFile);//将菜单项加入菜单条
jMenuBar.add(jMenuExit);
button2.addActionListener(this);//本窗口向按钮事件源注册
button3.addActionListener(this);
button4.addActionListener(this);
button5.addActionListener(this);
jMenuItem1.addActionListener(this);//本窗口菜单子项注册
jMenuItem2.addActionListener(this);
jMenuItem3.addActionListener(this);
jMenuItem4.addActionListener(this);
jMenuExit.addActionListener(this);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
//TODOAuto-generatedconstructorstub
}
publicstaticvoidmain(String[]args)
{
interfaca=newinterfac();//TODOAuto-generatedmethodstub
}
publicvoidactionPerformed(ActionEvente)//按钮事件处理
{
if(e.getSource()==jMenuExit)
{
System.exit(0);
}
elseif(e.getSource()==jMenuItem1||e.getSource()==button2)
{
try{
tja=newtj();
}
catch(Exceptionee){}
}
elseif(e.getSource()==jMenuItem2||e.getSource()==button3)
{
try{
xga=newxg();
}
catch(Exceptioned){}
}
else
if(e.getSource()==jMenuItem3||e.getSource()==button4)
{
try{
cxa=newcx();
}
catch(Exceptionec){}
}
else
if(e.getSource()==jMenuItem4||e.getSource()==button5)
{
try{
sca=newsc();
}catch(Exceptiones){}
}
}
}
添加信息:
tj.java:
packagepkg;
importjavax.swing.*;
importjava.awt.*;
importjava.awt.event.*;
importjava.sql.*;
publicclasstjextendsJFrameimplementsActionListener
{
statictjs;
staticJLabellabel1=newJLabel("学号:
");
staticJTextFieldtextField1=newJTextField("");
staticJLabellabel2=newJLabel("姓名:
");
staticJTextFieldtextField2=newJTextField("");
staticJLabellabel3=newJLabel("性别:
");
staticJTextFieldtextField7=newJTextField("");
staticJLabellabel4=newJLabel("出生日期:
");
staticJTextFieldtextField3=newJTextField("");
staticJLabellabel5=newJLabel("政治面貌:
");
staticJTextFieldtextField8=newJTextField("");
staticJLabellabel6=newJLabel("籍贯");
staticJTextFieldtextField4=newJTextField("");
staticJLabellabel7=newJLabel("系别:
");
staticJTextFieldtextField9=newJTextField("");
staticJLabellabel8=newJLabel("专业:
");
staticJTextFieldtextField5=newJTextField("");
staticJButtonbutton1=newJButton("增加");
publictj()
{
this.setTitle("增加学生信息");
this.setLayout(null);
this.setSize(400,400);
label1.setBounds(30,11,51,33);
textField1.setBounds(86,16,74,22);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 专业课程 设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)