学生学籍管理系统.docx

上传人:b****5 文档编号:30013998 上传时间:2023-08-04 格式:DOCX 页数:41 大小:572.82KB
下载 相关 举报
学生学籍管理系统.docx_第1页
第1页 / 共41页
学生学籍管理系统.docx_第2页
第2页 / 共41页
学生学籍管理系统.docx_第3页
第3页 / 共41页
学生学籍管理系统.docx_第4页
第4页 / 共41页
学生学籍管理系统.docx_第5页
第5页 / 共41页
点击查看更多>>
下载资源
资源描述

学生学籍管理系统.docx

《学生学籍管理系统.docx》由会员分享,可在线阅读,更多相关《学生学籍管理系统.docx(41页珍藏版)》请在冰豆网上搜索。

学生学籍管理系统.docx

学生学籍管理系统

小型应用系统设计学年设计任务书

学院

计算机与信息工程学院

专业

2014级网络工程

课程名称

小型应用系统设计学年设计

题目

学生学籍管理系统

完成期限

自2016年7月26日至2016年8月26日共31天

一、项目的目的

采用Java、SQLserver数据库技术,设计一个简单学生学籍管理软件,让我们在设计的过程中,学会如何设计界面和了解相关软件之间的连接技术,把学过的知识都运用起来。

二、项目任务的主要内容和要求

采用Java、SQLserver数据库技术,设计一个学生学籍管理系统,要求有:

(1)建立学生档案,设计学生入学、管理及查询界面。

(2)设计学生各学期、学年成绩输入及查询界面,并打印各项报表。

(3)根据各年度总成绩,查询、输出学生学籍管理方案(优秀、合格、试读、退学)。

(4)毕业管理。

(5)系统维护

该系统要求具有良好的灵活性、可扩充性和可移植性,系统采用SQLserver数据库,系统的数据都是通过数据库来保存,需要数据库具有很好的稳定性,系统可运行在主流的Windows操作系统平台上,操作系统要求响应速度快,使操作者感觉操作流畅。

三、项目设计(研究)思路

先期设计主界面的布局,然后设计要实现那些功能,如学生信息注册、学生成绩录入、学生成绩评优、毕业管理等等。

在主界面设计完成后,再考虑设计每一个更能的具体实施方案,最后将所有功能与主界面的按钮实现监听事件。

从而完成整体的设计,然后进行调试和优化,最终完成设计。

四、具体成果形式和要求

设计需完成一个学生学籍管理系统。

要求能对SQLserver数据库进行增、删、改、查等操作,并且具备图形化的用户界面。

起止日期

工作内容

2016.7.26-8.15

根据软件设计要求,先期学习相关Java、数据

库知识。

2016.8.16-8.24

利用相关知识设计软件数据库结构,编写程序应用界面

2016.8.25-8.26

调试程序,完善功能,完成学年设计报告

1.赵生慧.Java面向对象程序设计(第二版)[M].北京:

中国水利水电出版社,2016

2.赵生慧.Java面向对象程序设计实训与考试指导[M].北京:

中国水利水电出版社,2016.

3.王雨竹.SQLserver入门经典[M].北京:

机械工业出版社,2013

4.王德永.数据库原理与应用[M].北京:

人民邮电出版社,2011.

指导教师

意见

 

(签字):

年月日

系(教研室)主任意见

 

(签字):

年月日

 

小型应用系统设计说明书

 

学院名称:

计算机与信息工程学院

班级名称:

网工142

学生姓名:

学号:

题目:

学生学籍管理系统

指导教师

姓名:

起止日期:

2016.7.26-8.26

 

第一部分:

正文部分

一、选题背景

长期以来,学校对学生学籍的管理都还使用着传统的模式。

在此模式下,人工的记录学生信息、考试信息等等。

而随着现代素质教育与时代的不断发展这样的模式已经不能完全适应现代的教育形势。

信息化时代的到来,使学校传统的管理方法和办学水平都受到了极大的挑战。

随着Internet技术持续迅猛的发展,给传统的办学模式提出了新的要求。

进入新世纪,从世界各国教育信息化的进程来看,不但竞争异常激烈,而且无论是在教育信息基础设施和资源建设上,还是在普及的程度上,中国与西方发达国家甚至某些发展中国家相比,都存在着较大的差距。

新的世纪里,如果中国不能很好地利用互联网的平台和以较低的成本对推动教育信息化缺乏明确的方向,势必偏离信息化的轨道,进而阻碍社会信息化的进程和整个国民经济的发展。

因此,实施教育的信息化已经刻不容缓、迫在眉睫,而其中的学生学籍管理是其中一个不可或缺的环节。

学生学籍管理系统更为系统的对学生的各项信息进行统计处理,并以数据库的形式保存,能够大幅提高学校的工作效率,加强学生信息保存的安全性,降低工作成本。

二、方案论证(或设计理念)

由于该系统所要满足的硬件是计算机,软件方面是采用JDK1.8开发环境、Eclipse开发工具和SQLserver数据库,这些设备和软件易于实现和满足。

采用的语言是Java语言,具有可移植性,功能易于实现,界面比较美观,操作简单,能够移植到其他计算机上运行,与平台无关,能够满足更多的用户,使得该系统能被绝大多数学校接受和使用。

因此采用该Java+SQLserver方案来设计学生学籍管理系统。

三、过程论述

3.1系统流程设计

本系统通过登录界面进入主界面,主界面里有四个菜单栏,每个菜单栏下面都有相应功能,点击相应功能出现相关操作界面,进行对数据库的管理以及对学生信息的增删改查。

系统流程图如图3-1所示:

图3-1系统流程图

3.2系统数据流设计

系统中的各种模块以及用户数据由用户输入,在数据库中进行存储,用户可以查看、修改、删除和查找这些数据,相关数据流如图3-2、图3-3所示。

图3-2总体数据流图

图3-3功能层数据流图

3.3数据库部分设计

本系统的功能是宾馆客房管理和用户管理,因此设计有3张表,分别是用户名密码表member表、学生基本信息表是s_information表、学生成绩表s_score表,对数据的增、删、改、查,主要在这3张表上进行。

(1)member表用于记录登录程序的用户名和密码

字段名

数据类型

长度

字段约束

描述

username

varchar

50

Notnull

登录程序的用户名

password

varchar

50

Notnull

登录程序的密码

表3-1member表

(2)s_information表用于记录学生基本信息

字段名

数据类型

长度

字段约束

描述

number

varchar

50

Notnull

学生学号

name

varchar

50

Notnull

学生姓名

sex

varchar

50

Notnull

学生性别

native

varchar

50

Notnull

学生籍贯

major

varchar

50

Notnull

学生专业

表3-2s_information表

 

(3)s_score表用于记录学生成绩

字段名

数据类型

长度

字段约束

描述

number

varchar

50

Notnull

学生学号

math

varchar

50

Notnull

数学成绩

english

varchar

50

Notnull

英语成绩

chinese

varchar

50

Notnull

语文成绩

表3-3s_score表

 

3.4系统的各部分功能模块设计

3.4.1登陆程序部分设计

登陆界面的功能主要有以下三个:

用户登录,错误提示,退出。

该模块可以实现用户登录功能,提示密码错误功能和退出系统的功能。

在系统核对用户名和密码时需要对数据库操作人员信息表进行查询比对,登录界面如图3-4:

图3-4用户登录界面

核心代码如下:

publicvoidcheck()//检查账户合法性

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

publicclassLogin_dbextendsJFrameimplementsActionListener{

JLabeltitle;

JTextFieldname;

JPasswordFieldword;

JLabellab1,lab2;

JButtonbt1,bt2;

publicLogin_db(){//构造方法

super("学生学籍管理系统");

init();

}

publicvoidinit(){//实现界面的内容

}

publicvoidcheck()//检查账户合法性

{

Stringusername=name.getText();

Stringpassword=word.getText();

if(username==null||password==null||username.equals("")||password.equals(""))

{

JOptionPane.showMessageDialog(null,"请正确输入!

");

word.setText(null);

}

else

{

Operate_MyDBtemp_db=newOperate_MyDB();//创建数据库操作对象,使用里面的方法。

if(temp_db.login_check(username,password))//调用检验方法

{

this.hide();//将登录窗口关掉

JOptionPane.showMessageDialog(null,"欢迎"+username+"登陆学生学籍管理系统!

");

Guigui=newGui();

gui.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

gui.show();

}

else

{

JOptionPane.showMessageDialog(null,"用户名或密码错误!

\n登陆失败,请重新登陆!

");

name.setText(null);

word.setText(null);

}

temp_db.close();

}

}

publicstaticvoidmain(Stringargs[]){//主函数

Login_dblg=newLogin_db();

}

publicvoidactionPerformed(ActionEvente){//实现监听

if(e.getSource()==bt1){

check();

}

if(e.getSource()==bt2){//如果点击重置按钮,将用户名和密码文本设为空

name.setText("");

word.setText("");

}

}

}

3.4.2数据库连接验证部分设计

该部分主要用于测试数据库服务器是否打开。

通过该功能可排除计算机中数据库服务没有开启时产生的错误。

核心代码如下:

publicstaticConnectiongetConnection(){//连接数据库

Connectioncon=null;

try{

Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

Connectioncon1=DriverManager.getConnection

("jdbc:

sqlserver:

//localhost:

1433;DatabaseName=MyDB","sa","123456");

con=con1;

}catch(Exceptionex){

ex.printStackTrace();

}

returncon;

}

3.4.3学生信息录入部分设计

该部分主要用于向数据库中写入学生是基本信息。

通过该功能用户可以按照规定添加学生信息,对数据库进行更新,实现学生注册等功能。

界面如图3-5:

图3-5新生注册界面

核心代码如下:

publicvoidactionPerformed(ActionEvente){//实现监听

if(e.getSource()==bt1){

for(inti=0;i

text[i].setText("");

}

}

if(e.getSource()==bt2){

Stringstr[]=newString[5];

for(inti=0;i

str[i]=text[i].getText().trim();

}

Operate_MyDBtemp_db=newOperate_MyDB();

temp_db.insert_information(str[0],str[1],str[2],str[3],str[4]);

temp_db.insert_informationScore(str[0]);

System.out.println("success");

JOptionPane.showMessageDialog(null,"恭喜"+str[1]+"登入学注册成功!

");

setVisible(false);

}

}

3.4.4学生信息查看部分设计

该部分主要用于查看学生各项基本信息。

此部分信息查询还具有打印功能。

界面如图3-6:

图3-6信息查询界面

核心代码如下:

publicclassXxcxextendsJFrameimplementsActionListener{

privateJButtonbt1,bt2;

privateOperate_MyDBop;

JLabeltitle;

publicXxcx(){

super("信息查询");

init();

}

publicvoidinit(){//实现界面的内容

this.setLayout(newFlowLayout());

this.setBounds(200,200,360,250);

this.setVisible(true);

title=newJLabel("欢迎使用本系统!

");

title.setBounds(0,0,360,300);

this.add(title);

this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

bt1=newJButton("打印");

bt2=newJButton("退出");

bt1.setBounds(100,220,60,25);

bt2.setBounds(180,220,60,25);

this.add(bt1);

this.add(bt2);

bt1.addActionListener(this);

bt2.addActionListener(this);

op=newOperate_MyDB();

if(op.getStudentCount()<=0)

{

JOptionPane.showMessageDialog(null,"现在还没有任何学生记录!

");

}

//查询基本信息

ArrayListtemp1_array=newArrayList();

ArrayListtemp2_array=newArrayList();

ArrayListtemp3_array=newArrayList();

ArrayListtemp4_array=newArrayList();

ArrayListtemp5_array=newArrayList();

temp1_array=op.getALLnumber();

temp2_array=op.getALLname();

temp3_array=op.getALLsex();

temp4_array=op.getALLnative();

temp5_array=op.getALLmajor();

String[][]playerInfo=newString[temp1_array.size()][5];

//System.out.println("xsaaaxasxsa");

//System.out.println(temp1_array.size());

for(inti=0;i

{

for(intj=0;j<=4;j++)

{

if(j==0)

{

playerInfo[i][j]=(String)temp1_array.get(i);

}

elseif(j==1)

{

playerInfo[i][j]=(String)temp2_array.get(i);

}

elseif(j==2)

{

playerInfo[i][j]=(String)temp3_array.get(i);

}

elseif(j==3)

{

playerInfo[i][j]=(String)temp4_array.get(i);

}

elseif(j==4)

{

playerInfo[i][j]=(String)temp5_array.get(i);

}

}

}

String[]Names={"学号","姓名","性别","籍贯","专业"};

JTabletable=newJTable(playerInfo,Names);

table.setGridColor(Color.BLUE);

table.setPreferredScrollableViewportSize(newDimension(330,150));

JScrollPanescrollPane=newJScrollPane(table);

this.add(scrollPane);

this.setResizable(false);

this.setSize(350,300);

}

publicstaticvoidmain(Stringargs[]){//主函数

Xxcxcx=newXxcx();

}

publicvoidactionPerformed(ActionEvente)

{

if(e.getSource()==bt1){

JOptionPane.showMessageDialog(null,"打印成功!

");

}

if(e.getSource()==bt2){

this.setVisible(false);

}

}

}

3.4.5学生成绩录入部分设计

该部分主要用于学生的成绩录入,用户可以输入相应学号录入相关成绩,如果学号存在则修改成功,否则录入失败,提示不存在该生。

界面如图3-7:

图3-7成绩录入界面

核心代码如下:

publicvoidactionPerformed(ActionEvente)

{

if(e.getSource()==bt1){

try{

op=newOperate_MyDB();

Statements=op.getConnection().createStatement();

Stringsql="select*froms_score"+"wherenumber='"+t1.getText()+"'";

ResultSetrs=s.executeQuery(sql);

if(rs.next())

{

number=t1.getText();

math=t2.getText();

chinese=t3.getText();

english=t4.getText();

Operate_MyDBtemp_db=newOperate_MyDB();

temp_db.Cjlr_db(number,math,chinese,english);

System.out.println("success");

JOptionPane.showMessageDialog(null,"恭喜"+number+"成绩录入成功!

");

setVisible(false);

}

else

{

JOptionPane.showMessageDialog(null,"不存在该学号的学生!

");

}

}

catch(Exceptionerror)

{

System.err.println("异常:

"+error.getMessage());

}

}

if(e.getSource()==bt2){//如果点击重置按钮,将用户名和密码文本设为空

t1.setText("");

t2.setText("");

t3.setText("");

t4.setText("");

}

}

3.4.6学生信息查询部分设计

该界面用于成绩查询,用户输入存在的学号,该界面就输出相关学生成绩信息。

界面如图3-8:

图3-8成绩查询界面

核心代码如下:

publicvoidactionPerformed(ActionEvente)

{

if(e.getSource()==bt1){

try{

op=newOperate_MyDB();

Statements=op.getConnection().createStatement();

Stringsql="select*froms_score"+"wherenumber='"+t1.getText()+"'";

ResultSetrs=s.executeQuery(sql);

if(rs.next())

{

lab4.setText(rs.getString("math"));

lab5.setText(rs.getString("chinese"));

lab6.setText(rs.getString("english"));

}

else

{

JOptionPane.showMessageDialog(null,"不存在该学号的学生!

");

}

}catch(Exceptioner

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1