Java程序的设计数据库综合应用学生教师信息管理系统041440516董迎顺.docx
- 文档编号:10535668
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:75
- 大小:617.81KB
Java程序的设计数据库综合应用学生教师信息管理系统041440516董迎顺.docx
《Java程序的设计数据库综合应用学生教师信息管理系统041440516董迎顺.docx》由会员分享,可在线阅读,更多相关《Java程序的设计数据库综合应用学生教师信息管理系统041440516董迎顺.docx(75页珍藏版)》请在冰点文库上搜索。
Java程序的设计数据库综合应用学生教师信息管理系统041440516董迎顺
综合性设计性实验报告
实验项目名称:
_数据库综合应用
所属课程名称:
__ Java程序设计
学生姓名/学号:
_董迎顺
学生所在班级:
_网络五班__
依托实验室:
__综C601_
实验学期:
__大二下学期_
计算机科学技术学院
实验名称
Java程序设计综合实验——数据库综合应用
实验地点
综c601
实验日期
2016-6-15
一、实验目的:
●锻炼学生综合使用所学过的Java语言程序设计知识,运用面向对象程序设计的基本思路和方法进行程序设计的能力。
●进一步掌握用JDBC连接数据库和编程
●以小项目的形式完成GUI(或控制台)和数据库的综合应用
●通过查阅文献和资料,培养学生独立分析问题和解决实际问题的能力。
●锻炼学生的团队合作能力。
二、实验内容:
设计一个学生成绩管理系统,要求实现以下功能:
1.输入正确的学号和口令,单击【登录】按钮,跳转到登录成功窗口。
2.单击【学生信息录入】按钮,出现填写信息窗口。
填写信息后,单击【添加】按钮,若信息添加成功,跳转到成功窗口。
3.单击【学生信息查询】按钮,分页显示所有学生信息。
4.单击学生信息后面的【删除】按钮,提示用户是否要删除该学生,以免误操作。
单击【确定】按钮删除该学生信息。
5.修改学生信息要首先跳转到修改学生信息窗口,获得学生信息。
单击学生后面的【修改】按钮,显示该学生的信息,可以修改除学号外的其他信息。
修改后,单击【修改】按钮,若成功修改,则跳转到修改成功窗口。
三、实验要求:
1.要求利用Java面向对象程序设计方法完成系统的设计;
2.要求必须建立数据库表文件,程序必须连接数据库。
3.学生所选课题必须上机调试通过,并提交实验报告和程序源码;
4.程序书写风格:
锯齿型书写格式,变量和函数要尽量见名知意,适当添加
四、设计过程:
1.设计思路
由通用的学生相关数据分析可知,系统包括学生基本信息管理、课程管理、学生成绩管理等主要功能。
实现以上各模块的功能,需要以下子功能:
1数据库连接的建立与断开
2数据库的数据操作,包括插入、查询、删除、修改
3系统操作界面与数据库操作相关联
2.创建数据库表文件
(1)创建教师表
CREATETABLE`teacher`(
`教师号`doubleDEFAULTNULL,
`姓名`varchar(255)DEFAULTNULL,
`密码`varchar(255)DEFAULTNULL
)
(2)创建学生表
CREATETABLE`student`(
`学号`doubleDEFAULTNULL,
`姓名`varchar(255)DEFAULTNULL,
`密码`varchar(255)DEFAULTNULL,
`籍贯`varchar(255)DEFAULTNULL,
`班级`varchar(255)DEFAULTNULL,
`性别`varchar(255)DEFAULTNULL,
`生日`varchar(255)DEFAULTNULL,
`住址`varchar(255)DEFAULTNULL,
`个人简历`varchar(255)DEFAULTNULL,
`奖惩记录`varchar(255)DEFAULTNULL,
`手机`doubleDEFAULTNULL,
`邮箱`varchar(255)DEFAULTNULL,
`QQ`doubleDEFAULTNULL
)
(3)创建学科表
CREATETABLE`sc`(
`学号`doubleDEFAULTNULL,
`姓名`varchar(255)DEFAULTNULL,
`英语`doubleDEFAULTNULL,
`自然`varchar(255)DEFAULTNULL,
`语文`varchar(255)DEFAULTNULL,
`物理`varchar(255)DEFAULTNULL,
`地理`doubleDEFAULTNULL,
`生物`varchar(255)DEFAULTNULL,
`JAVA`doubleDEFAULTNULL
)
(4)创建教师课程表
CREATETABLE`course`(
`课程号`doubleDEFAULTNULL,
`课程名`varchar(255)DEFAULTNULL,
`教师号`doubleDEFAULTNULL
)
(5)创建宿舍表
CREATETABLE`zhusu`(
`学号`doubleDEFAULTNULL,
`姓名`varchar(255)DEFAULTNULL,
`楼号`varchar(255)DEFAULTNULL,
`宿舍号`varchar(255)DEFAULTNULL
)
3.主要功能的处理流程
学生信息管理系统登录界面
4.运行结果
登陆界面
个人中心
左侧显示个人信息,右侧显示成绩
左下角点击修改个人简历
右上角菜单可以注销登陆和修改登陆密码
教师端登陆界面
录入学生相关科目成绩
五、总结:
本次课程设计的题目是学生信息管理系统,经过几天的学习,巩固了之前学到的知识,并且体验了数据库系统开发的基本流程:
从可行性分析开始,分析一个系统开发的技术可行性,经济可行性和操作可行性分析,接着分析系统需要具备怎样的功能,了解用户的具体需求,其次是概念结构设计,反应事物和实物之间的联系,满足用户对数据的处理要求,首先是逻辑结构设计,然后要确定数据库的物理结构。
通过一个或几个表建立相关的视图从而透过视图查看相应的数据。
通过做课设的整个流程,我的逻辑思维更加清晰了,在设计过程中,有很多地方做的不够好,比如界面设计的不够清晰整洁美观,使系统对数据的控制能力不够精细和强大,存在安全隐患,在以后的课程设计中,我会努力完善设计上的不足。
六、教师评语:
实验成绩:
教师:
年月日
注意事项:
1.本次实验分组进行,每组由组长进行分工和实验的组织,即要注意工作量的均匀分配,又要考虑到组员的能力不同。
2.在规定期限前完成实验,每组提交一份打印的实验报告和完整的程序源码。
3.实验成绩构成如下:
程序功能和代码质量占40%,实验报告40%,小组成员互评20%。
4.设计过程中,组员之间要经常互相讨论,每个组员在完成自己分配的任务的同时对其他组员的工作也要有充分的了解和认识。
源代码:
admin包
packageadmin;
publicclassadminviewextendsJFrameimplementsActionListener,MenuListener,TableModelListener,MouseListener
{
privatestaticfinallongserialVersionUID=-5521764455482148346L;
JPanelpanel,panel1,panel2,panel3,panel4,panel5,panel6;
JMenuBarmenu;
JMenum1,m2,m3,m4,m5;
JMenuItemitem1,item2,item3,item4,item5,item6;
JTextFieldtext1,text2,text3,text4,text5,text6,text7;
JButtonbutton1,button2,button3,button4,button5,button6,button7;
JTextFieldfile1,file2,file3,file4,file5,file6,file7;
JButtonbut1,but2,but3,but4,but5,but6,but7;
JComboBoxbox;
JScrollPanescoro;
JTabletable;
ResultSetrs;
JPopupMenujmenu;
DefaultTableModelmodel1,model2,model3;
JTableHeaderheader;
publicadminview(Stringstr)
{
doublewidth=Toolkit.getDefaultToolkit().getScreenSize().getWidth();
doubleheight=Toolkit.getDefaultToolkit().getScreenSize().getHeight();
this.setBounds((int)(width*0.1),(int)(height*0.1),(int)(1366*0.8),(int)(800*0.8));
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setResizable(false);
this.setForeground(Color.black);
this.setLayout(newBorderLayout());
this.setIconImage(newImageIcon("image\\denglu-image\\zhang.jpg")
.getImage());
//PopupMenupopupMenu1=newPopupMenu();
menu=newJMenuBar();
m1=newJMenu("菜单");
m3=newJMenu("帮助");
menu.add(m1);
//menu.add(m2);
menu.add(m3);
item1=newJMenuItem("查看所有课程");
item1.setIcon(newImageIcon("image\\admin-image\\m.png"));
item2=newJMenuItem("查看所有教师");
item2.setIcon(newImageIcon("image\\admin-image\\m.png"));
item3=newJMenuItem("查看所有学生");
item3.setIcon(newImageIcon("image\\admin-image\\m.png"));
item4=newJMenuItem("修改密码");
item4.setIcon(newImageIcon("image\\admin-image\\key.png"));
item5=newJMenuItem("退出");
item5.setIcon(newImageIcon("image\\admin-image\\delete.png"));
item6=newJMenuItem("打印");
item6.setIcon(newImageIcon("image\\admin-image\\print.png"));
m1.add(item1);
m1.add(item2);
m1.add(item3);
m1.add(item4);
m1.add(item6);
m1.add(item5);
item1.addActionListener(this);
item2.addActionListener(this);
item3.addActionListener(this);
item4.addActionListener(this);
item5.addActionListener(this);
item6.addActionListener(this);
this.setJMenuBar(menu);
//
ImageIconicon1=newImageIcon("image\\admin-image\\a-4.jpg");
panel=newBackgroundPanel(icon1.getImage());
panel.setLayout(null);
this.add(panel,BorderLayout.CENTER);
panel1=newJPanel();
panel1.setBounds(0,0,500,282);
panel1.setBorder(BorderFactory.createLineBorder(Color.white,4));
panel1.setBorder(BorderFactory.createTitledBorder("教师课程"));
panel1.setOpaque(false);
panel.add(panel1);
//
panel2=newJPanel();
panel2.setOpaque(false);
panel2.setBounds(0,282,500,310);
panel2.setBorder(BorderFactory.createLineBorder(Color.white,4));
panel2.setBorder(BorderFactory.createTitledBorder("学生模块"));
panel.add(panel2);
panel2.setOpaque(false);
//
panel1.add(newJLabel("课程号:
"));
text1=newJTextField(20);
text1.setOpaque(false);
panel1.add(text1);
panel1.add(newJLabel("课程名:
"));
text2=newJTextField(20);
text2.setOpaque(false);
panel1.add(text2);
button1=newJButton("增加课程");
panel1.add(button1);
panel1.add(newJLabel("课程号:
"));
text3=newJTextField(20);
text3.setOpaque(false);
panel1.add(text3);
panel1.add(newJLabel(""));
button2=newJButton("删除课程");
panel1.add(button2);
panel1.add(newJLabel("----------------------------------------------------------------------------------"));
panel1.add(newJLabel("----------------------------------------------------------------------------------"));
panel1.add(newJLabel("教师号:
"));
text5=newJTextField(20);
text5.setOpaque(false);
panel1.add(text5);
panel1.add(newJLabel("姓名:
"));
text6=newJTextField(20);
text6.setOpaque(false);
panel1.add(text6);
//panel1.add(newJLabel("课程号:
"));
//text7=newJTextField(11);
//panel1.add(text7);
button3=newJButton("新增教师");
panel1.add(button3);
panel1.add(newJLabel("教师号:
"));
text4=newJTextField(20);
text4.setOpaque(false);
panel1.add(text4);
//panel1.add(newJLabel("----------------------------------------------------------------------------------"));
panel1.add(newJLabel(""));
button4=newJButton("删除教师");
panel1.add(button4);
panel1.add(newJLabel("----------------------------------------------------------------------------------"));
panel1.add(newJLabel("----------------------------------------------------------------------------------"));
button5=newJButton("查看教师");
panel1.add(button5);
button6=newJButton("查看课程");
panel1.add(button6);
button7=newJButton("课程安排");
panel1.add(button7);
panel1.add(newJLabel("----------------------------------------------------------------------------------"));
panel3=newJPanel();
panel3.setOpaque(false);
panel3.setPreferredSize(newDimension(500,140));
panel3.setBorder(BorderFactory.createLineBorder(Color.white,2));
panel3.setBorder(BorderFactory.createTitledBorder("录入模块"));
panel2.add(panel3);
panel3.add(newJLabel("学号:
"));
file1=newJTextField(15);
file1.setOpaque(false);
panel3.add(file1);
panel3.add(newJLabel("姓名:
"));
file2=newJTextField(15);
file2.setOpaque(false);
panel3.add(file2);
panel3.add(newJLabel("性别:
"));
box=newJComboBox();
box.addItem("男");
box.addItem("女");
//box.setOpaque(false);
panel3.add(box);
panel3.add(newJLabel("班级:
"));
file3=newJTextField(10);
file3.setOpaque(false);
panel3.add(file3);
panel3.add(newJLabel("籍贯:
"));
file4=newJTextField(72);
file4.setOpaque(false);
panel3.add(file4);
but1=newJButton("确认录入");
panel3.add(but1);
panel3.add(newJLabel("----------------------------------------------------------------------------------"));
panel3.add(newJLabel("----------------------------------------------------------------------------------"));
//
panel4=newJPanel();
panel4.setOpaque(false);
panel2.add(panel4);
panel4.setPreferredSize(newDimension(500,210));
panel4.setBorder(BorderFactory.createLineBorder(Color.white,2));
panel4.setBorder(BorderFactory.createTitledBorder("删除模块"));
panel4.add(newJLabel("学号:
"));
file5=newJTextField(15);
file5.setOpaque(false);
panel4.add(file5);
panel4.add(newJLabel("=========================================="));
but2=newJButton("确认删除");
panel4.add(but2);
panel4.add(newJLabel("----------------------------------------------------------------------------------"));
panel4.add(newJLabel("----------------------------------------------------------------------------------"));
but3=newJButton("查看所有学生信息");
but4=newJButton("查看所有学生住宿");
panel4.add(but3);
panel4.add(but4);
panel4.add(newJLabel("----------------------------------------------------------------------------------"));
panel5=newJPanel();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 程序 设计 数据库 综合 应用 学生 教师 信息管理 系统 041440516 董迎顺