JAVA学生信息管理系统的设计方案及实现文档格式.docx
- 文档编号:19142645
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:35
- 大小:248.32KB
JAVA学生信息管理系统的设计方案及实现文档格式.docx
《JAVA学生信息管理系统的设计方案及实现文档格式.docx》由会员分享,可在线阅读,更多相关《JAVA学生信息管理系统的设计方案及实现文档格式.docx(35页珍藏版)》请在冰豆网上搜索。
引言
由于学生信息的冗长与繁琐,所以它的管理问题带来的麻烦和不方便也随之而来。
利用计算机进行学生信息管理,不仅能够保证准确、无误、快速输出,而且还可以利用计算机对有关信息进行查询,检索迅速、查找方便、可靠性高、存储量大、保密性好。
要科学地实现信息化管理,开发一个适合学校的,能够进行信息存储、查询、修改等功能的信息管理系统是十分重要的。
1功能设计
正文……(首行缩进两个字,宋体小四号)
1.1需求分析
本系统需要实现的功能:
(1)管理员对学生信息和课程信息进行增加、删除、修改、查找等操作,对选课信息进行管理,对成绩信息和用户信息进行修改、查找等操作。
(2)学生对学生信息和成绩信息进行查看,对个人的密码信息进行修改等。
1.2总体设计
学生信息管理系统主要包括管理员和学生两大模块。
管理员模块包括:
学生信息管理、课程信息管理、选课信息管理、成绩信息管理、用户信息管理等。
用户模块包括:
学生信息查看、成绩信息查看、个人信息管理等。
系统总体结构如图所示。
总体结构图
1.3模块详细设计
(1)学生信息管理模块
学生信息管理模块包括增加、删除、修改、查询、显示全部等。
具体的结构图如图所示。
学生信息管理模块结构图
(2)课程信息管理模块
课程信息管理模块包括增加、删除、修改、查询、显示全部等。
具体的结构图如图所示
课程信息管理模块结构图
(3)选课信息管理模块
选课信息管理模块包括查询、显示全部等。
选课信息管理模块结构图
(4)成绩信息管理模块
成绩信息管理模块包括修改成绩、查询、显示全部等。
成绩信息管理模块结构图
(5)用户信息管理模块
用户信息管理模块包括修改、查询、显示全部等。
用户信息管理模块结构图
2数据库设计
在数据库student中共有4张数据表:
s(学生信息表)、c(课程信息表)、sc(选课信息表)、unpw(用户信息表),下面定义每张表的字段名称和数据类型。
s(学生信息表)
字段名称
数据类型
描述
sno
char(10)
学号,关键字
sn
char(20)
姓名
sa
int
年龄
ss
性别
sd
院系
c(课程信息表)
cno
课程号,关键字
cn
char(30)
课程名
pcno
先行课程号
sc(选课信息表)
g
成绩
unpw(用户信息表)
un
用户名,关键字
pw
密码
qx
角色
3界面库设计
3.1学生信息管理系统的登录
学生信息管理系统可由管理员和学生两种身份的人使用。
管理员和学生身份登录所能操作的功能有很大的区别。
系统初始化一个系统管理员,登录名:
admin密码:
admin
学生登录系统的登录名为学号,密码也为学号(如:
10001),登录后可以修改密码。
3.1.1登陆界面设计
登录界面
界面介绍:
登陆界面的背景图片可以自定义,可设置成学校的宣传图片。
用户和密码初始值为:
admin/admin。
若用户有自己相应的密码,可直接填写。
角色选择中的“管理员”有着最高权限,可以进行删除和修改用户等操作;
用“学生”角色登陆,可以查看和修改学生的个人信息。
“重置”按钮用来清空用户名和密码。
“取消”按钮则直接退出登陆界面。
在输入相应的用户名和密码之后,选择“角色”,点击“登陆”,则会进入角色与之对应的界面。
若输入的用户名或者密码有误,则会弹出“登录名错误!
”或“密码错误!
”的提示。
代码解读:
(1)按钮定义主代码:
JLabeluserName=newJLabel("
用户:
"
)。
JTextFieldtxtUser=newJTextField()。
JLabelpassword=newJLabel("
密码:
JPasswordFieldtxtPwd=newJPasswordField(6)。
JLabelrole=newJLabel("
角色:
JComboBoxcbrole=newJComboBox()。
JButtonbtnLogin=newJButton("
登录"
JButtonbtncz=newJButton("
重置"
JButtonbtnCancel=newJButton("
取消"
解读:
定义Button按钮,设置:
“登陆”、“重置”、“取消”按键,方便用户进行操,同时也显得更加直观;
定义JLabel容器用于用户名、密码的输入。
(2)构造方法主代码:
this.setResizable(false)。
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)。
this.show()。
btnLogin.addActionListener(this)。
cbrole.addItemListener(this)。
btncz.addActionListener(this)。
btnCancel.addActionListener(this)。
定义事件发生器,使每个按钮和容器都能准确的执行用户需要的操作。
btnLogin定义的是“登陆”操作;
cbrole定义的是选择“角色”的操作;
btncz定义的是“重置”操作,可以使用户名和密码删除,让用户重新进行输入;
btnCancel定义的是“取消”操作,点击之后,软件会执行退出命令。
(3)连接数据库主代码:
try{
Class.forName("
com.microsoft.sqlserver.jdbc.SQLServerDriver"
}catch(ClassNotFoundExceptione){
e.printStackTrace()。
}
try{
con=DriverManager.getConnection(
"
jdbc:
sqlserver:
//localhost:
1433。
DatabaseName=student"
stmt=con.createStatement()。
}catch(SQLExceptione){
执行“登陆”命令之后,代码回向SQL数据库对比,若用户名和密码正确,则进入系统,不正确则执行退出命令。
用“try...catch...”命令捕获异常,若用户输入的用户名和密码正确,则执行登陆操作,若不正确,则抛出Exception的异常,禁止登陆界面。
3.1.2管理员登陆界面设计
管理员登录系统后的界面
此界面是管理员登陆后显示的界面,可以进行“学生信息管理”、“课程信息管理”、“选课信息管理”、“成绩信息管理”、“用户信息管理”这五项信息管理操作。
“学生信息管理”可添加和修改学生个人信息,做到不缺不漏学生的个人信息;
“课程信息管理”可方便教师进行排课和选择相应的教室,做到学校资源有效合理的利用;
“选课信息系统”可以方便任课老师调课和安排课程;
“成绩信息管理”可有效的统计任课老师所在班级的学生成绩,直观的得出平均分和及格率;
“用户信息管理”可以管理任课老师的个人信息及登录密码。
JButtonbtns=newJButton("
学生信息管理"
JButtonbtnc=newJButton("
课程信息管理"
JButtonbtnsc=newJButton("
选课信息管理"
JButtonbtng=newJButton("
成绩信息管理"
JButtonbtnu=newJButton("
用户信息管理"
JButtonbtnClose=newJButton("
退出管理系统"
JLabell=newJLabel("
管理员"
“学生信息管理”、“课程信息管理”、“选课信息管理”、“成绩信息管理”、“用户信息管理”、“退出管理系统”按键,方便用户进行操,同时也显得更加直观;
定义JLabel容器用于显示界面处于“管理员”状态。
btns.addActionListener(this)。
btnc.addActionListener(this)。
btnsc.addActionListener(this)。
btng.addActionListener(this)。
btnu.addActionListener(this)。
btnClose.addActionListener(this)。
show()。
btns定义的是“学生信息管理”操作;
btnc定义的是“课程信息管理”的操作;
btnsc定义的是“选课信息管理”操作;
btng定义的是“成绩信息管理”的操作;
btnu定义的是“用户信息管理”的操作;
btnClose定义的是“退出管理系统”,点击之后将会直接退出系统。
3.1.3学生登陆界面设计
学生登录系统后的界面
此界面是学生登录后显示的界面,可以进行“学生信息查看”、“成绩信息查看”“个人信息查看”的操作。
“学生信息查看”仅仅只能查看学生本人的信息,例如:
姓名、班别、出生年月、选修课程等;
“成绩信息查看”可以查看学生本人的学习成绩,包括各个学期的成绩和平时测验成绩;
“个人信息管理”可以修改、添加、删除学生本人的信息。
学生信息查看"
成绩信息查看"
个人信息管理"
“学生信息查看”、“成绩信息查看”、“个人信息查看”、“退出管理系统”按键,方便用户进行操,同时也显得更加直观。
btns.addActionListener(this)。
btng.addActionListener(this)。
btnu.addActionListener(this)。
btnClose.addActionListener(this)。
this.setResizable(false)。
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)。
show()。
btns定义的是“学生信息查看”操作;
btng定义的是“成绩信息查看”的操作;
btnu定义的是“个人信息查看”操作;
btnClose定义的是“退出管理系统”的操作点击之后将会直接退出系统。
3.2实现管理员操作功能的界面
管理员的登录系统后可以进行学生信息管理、课程信息管理、选课信息管理、成绩信息管理、用户信息管理等功能操作,其具体界面设计如下图所示。
3.2.1管理员登陆“学生信息管理”界面设计
学生信息管理功能的界面
此界面为管理员登陆后点击“学生信息管理”产生的界面。
“学生信息管理”可以执行“增加”、“删除”、“修改”、“查询”、“显示”的操作。
其中“增加”操作可以增加学生的信息,比如学号、姓名、年龄、性别、院系;
“删除”操作可以删除指定的学生的信息;
在选定所要修改的学生之后,点击“修改”,可以修改选定学生的相关信息;
点击“查询”,输入学号或者姓名之后,就会查询到指定学生的相关信息。
(1)主界面显示主代码:
rs=stmt.executeQuery("
select*froms"
while(rs.next()){//找出表中的记录数赋给i
al.add(rs.getString("
sno"
))。
sn"
ss"
al.add(rs.getInt("
sa"
sd"
i++。
}
用stmt.executeQuery("
)调用数据库表内容,其中al.add(rs.getString(“sno”))为调用SQL中的“学号”信息;
al.add(rs.getString("
))为调用SQL中的“姓名”信息;
))为调用数据库中的“年龄”信息;
al.add(rs.getInt("
))为调用数据库中的“性别”信息;
))为调用数据库中的“院系”信息。
用“try...catch”语句捕获异常,若不能调用数据库,这会执行e.printStackTrace()语句,并在命令行打印异常信息在程序中出错的位置及原因。
(2)连接数据库主代码:
"
123"
为了能过更直观的显示数据,在学生信息管理系统里需要调用数据库里面的信息。
其中Class.forName("
)为调用系统目录下的SQL程序文件;
(3)关闭数据库主代码:
stmt.close()。
con.close()。
从数据库导入数据到系统之后,就不再需要实时刷新了,则需要关闭数据库连接,避免占用资源。
(4)删除某个学生信息主代码:
intrs1=stmt.executeUpdate("
deletefromswheresno='
+xh+"
'
stmt.executeUpdate("
deletefromunpwwhereun='
+xh+"
JOptionPane.showMessageDialog(null,"
记录删除成功!
this.dispose()。
newSM().display()。
}catch(SQLExceptione){
e.printStackTrace()。
}
}else{
try{
+mxh+"
+mxh
+"
删除某个学生的信息,首先需要选中所要的信息,然后才能执行操作,最后同步到数据库中。
其中intrs1=stmt.executeUpdate("
+xh+"
)和intrs1=stmt.executeUpdate("
+mxh+"
)为选中的所要删除的数据记录,stmt.executeUpdate("
)和stmt.executeUpdate("
+mxh+"
)则是执行删除操作,最后JOptionPane.showMessageDialog(null,"
)则是提示删除成功。
(5)修改某个学生的基本信息主代码:
if(row==-1){
JOptionPane.showMessageDialog(null,"
请选择要修改的记录!
}else{
intj1=0。
try{
if(!
bstd){
rs=stmt.executeQuery("
}else{
select*fromswheresno='
while(rs.next()&
&
j1<
=row){
xh=rs.getString("
xm=rs.getString("
nl=rs.getInt("
xb=rs.getString("
yx=rs.getString("
j1++。
}catch(SQLExceptione){
e.printStackTrace()。
修改某个学生的信息,首先需要选中所要的信息,进行判断,然后才能执行操作,最后同步到数据库中。
其中JOptionPane.showMessageDialog(null,"
)为选中的所要修改的数据记录,用“if...else”语句进行判断是否为用户所要修改的数据条目,while(rs.next()&
=row)语句则找出对应数据库的数据条目进行修改。
(6)显示某个查询主代码:
+mxh+"
while(rs.next()){
playerInfo[0][0]=rs.getString("
playerInfo[0][1]=rs.getString("
playerInfo[0][2]=rs.getInt("
playerInfo[0][3]=rs.getString("
playerInfo[0][4]=rs.getString("
if
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 学生 信息管理 系统 设计方案 实现
![提示](https://static.bdocx.com/images/bang_tan.gif)