当前位置:文档之家› 学生学籍管理系统的设计与实现

学生学籍管理系统的设计与实现

数据库系统课程设计报告题目学生学籍管理系统的设计与实现学生姓名高凯学号 20131346031ﻩ学院计算机与软件学院专业网络工程ﻩ指导教师马瑞二O一五年月日目录1引言ﻩ错误!未定义书签。

1.1开发背景和意义................................. 错误!未定义书签。

2 系统需求分析及相关技术介绍ﻩ12.1 系统需求分析 (1)22.2 系统的可行性分析ﻩ3总体设计 (2)3.1系统模块设计ﻩ23.2数据库设计ﻩ33.2.1 数据库逻辑结构设计ﻩ333.2.2 数据库物理结构设计ﻩ4 系统实现........................................................ 44.1 系统功能结构ﻩ54.1.1功能模块说明 (5)4.1.2功能设计与介绍............................................... 54.2具体功能介绍ﻩ54. 2.1 登陆界面.......... ........................................ (6)4.2.2 主功能界面........ ...........................................7 5 主要程序代码及说明........ ......................................146课题总结............... ..................................... (1)9参考文献............... ..................................... (19)学生学籍管理系统的设计和实现1引言当今社会中,计算机的使用已经深入到日常工作和生活的方方面面。

电脑早早从高雅的学术殿堂走入了寻常百姓家,各行各业的人们无须经过特别的训练就能够使用电脑完成许许多多复杂的工作。

然而,虽然现在世界上已经充满了各种软件,但它们依然不能满足用户的各种特殊需要,人们还不得不开发适合自己特殊需求的软件。

我们都知道,对于学生的学籍管理是一个教育单位不可缺少的部分,它的内容对学校的管理者来说至关重要。

所以学生学籍管理系统应该能够为用户提供充足的信息和快捷的查询手段。

但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如效率低、保密性差;另外,时间一长将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。

而使用计算机对学生学籍信息进行管理具有手工管理所无法比拟的优点,例如检索迅速、查找方便、存储量大、保密性好等等。

这些优点能够极大地提高学生管理的效率,也是学校科学化、正规化管理的重要途径。

1.1开发背景和意义长期以来,学校对学生学籍的管理都还使用着传统的模式。

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

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

较之传统的管理方式,我所设计的学生学籍管理系统的优势有:一方面可以实现数据共享,不但像使用单机系统一样,进行便捷地各种数据的添加、修改、删除、查询和统计等操作,并且具有相当的安全性和可靠性;另一方面,检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高学生学籍管理的效率,也是学校的科学化、正规化管理与社会接轨的重要条件。

2系统需求分析和可行性分析2.1 系统需求分析学生学籍管理系统是基于学校的工作需求而设定,围绕这一工作需求,根据高校人员结构分析,在项目开发前期的需求分析工程中,学生学籍管理系统的应用应包括系统设置、学生信息管理、学生成绩管理以及系统说明等部分。

系统应具有学生学籍信息输入、删除和修改的功能,学生成绩信息亦是如此。

系统的查询功能应较为完备,不同的用户将登录到不同的主界面,进行不同的界面操作功能。

能方便地进行相应数据的简单查询和任意字段组合的复合查询,改变以前只有专门人员才能进行数据查询的情况。

系统应有学生数据安全保密措施,由于身份不同将登录到不同的主界面,高级的用户可以操作低级用户的信息,而低级用户之间互不能操作,保持了信息的安全性。

但在需要时可由系统维护人员通过添加用户并授权来设置相应权限。

在系统程序设计中应充分利用数据库服务器的处理能力,降低网络通信量,尽可能减少数据修改冲突,以最大程度地提高系统的执行速度和可靠性,真正起到提高工作效率的作用。

2.2系统可行性分析系统可行性主要包括3个方面:技术上的可行性、经济上的可行性和管理上的可行性。

首先,系统在技术上无论是硬件性能要求,还是软件性能要求,均可行。

其次,从开发项目的成本与效益来看,系统开发的设备费用、运行费用、培训费用并不能过大,而通过系统的实施,一方面,提高了工作效率,将带来更多的经济效益;另一方面,系统所产生的间接效益也不容忽视。

工作效率的提高可以节省人力资源,减轻了有关业务人员手工处理的工作负担,及时提供决策信息,促进业务的规范化、系统化、条理化和程序化。

最后,科学的管理是建立管理信息系统的前提。

管理人员支持本系统的研发运行,相应的管理制度改革的时机已经成熟,规章制度已经齐全,原始数据正确。

随着时代的发展,人员素质已经逐步提高,不论是对于电脑系统的基本操作还是对于系统的维护都有了一定的基础。

同时还可以配置专业的电脑维护人员来维护电脑,不必担心电脑故障问题。

3系统总体设计系统设计的任务是确定系统的数据模式、功能结构和系统结构,确定系统支持环境、实现方法和技术。

系统设计的基本内容是:选择数据库管理系统,建立数据模式;选择系统支持环境,包括支持系统运行的硬件和软件要求,确定系统实现功能和方法以及选择系统的基本架构和技术。

3.1系统模块设计这一设计阶段是在需求分析的基础上,设计出能够满足用户需求的各种实体,以及他们之间的关系,为逻辑结构设计打下基础。

这个阶段用到的工具是E—R图(实体--联系图)。

本系统E-R图如下:学生实体E-R图3.2 数据库设计3.2.1数据库逻辑结构设计逻辑结构设计的主要目标是将概念结构转换为一个特定的DBMS可处理的数据模型和数据库模式。

该模型必须满足数据库的存取、一致性及运行等各方面的用户需求。

该设计以概念结构设计中的E-R图为主要依据,设计出相关的整体逻辑结构。

根据E-R图可知:学生信息(学号,性别,姓名,班号,入校日期,出生日期,联系电话,家庭住址,备注);3.2.2 数据库物理结构设计从一个满足用户需求的已确定的逻辑模型出发,在限定的软、硬件环境下,利用DBMS提供的各种手段设计数据库的内模式,即设计数据的存储结构和存取方法。

数据库物理结构设计是对于给定的逻辑数据模型,选择一个适合的物理结构,主要涉及存取方法与存储结构,它依赖于计算机系统。

3.2.2.1关系模式关系数据库系统采用关系模型作为数据的组织方式,现在流行的数据库系统大都是关系数据库系统。

通过对关系模式的优化,得到一个基本表。

学生信息表Classnovarchar50班号Nation varchar50民族Sdeptvarchar50所在系address varchar50地址3.2.2.2简单物理设计在SQL Server 2014中,文件夹是按数据库对象的类型建立的,文件夹名是该数据库对象名。

当在企业管理器中选择服务器和数据库文件夹,并打开已定义好的student数据库后,会发现它自动设置了关系图、表、视图、存储过程、用户、角色、规则、默认等文件夹。

要建立各个表,选择student数据库中的表,单击鼠标右键,在弹出的菜单中选择“新建表”。

程序系统设计图如下:学生学籍管理系统登录登录验证失败成功退出查询添加修改删除显示4系统实现4.1系统功能结构4.1.1功能模块说明1.管理员登陆界面。

该界面可以输入管理员号,登陆密码。

用户通过验证通过后方可进入管理系统。

一定程度上保证了信息安全性,防止他人未经允许篡改学生信息。

2.查询学生信息。

可以选择由用户选择“显示系统中当前的所有学生信息”。

也可以选择按照“某一个学号查询该学号的学生信息”。

查询到的信息会在窗口中依次显示出来。

3.添加学生信息。

可以按照图形的界面的显示依次输入新学生的“学号”,“姓名”,“性别”,“班级”,“学院”,“籍贯”。

完成新纪录的添加。

4.修改学生信息。

可以选择按照“学号”或者“姓名”找到该学生的学生信息并输入要修改的属性,并输入新的数据。

完成对学生记录的修改。

5.删除学生记录。

可以根据输入的“学号”或者“姓名”进行删除的操作。

6.显示学生信息。

可以显示所有学生的信息、以供查看。

4.1.2功能设计与介绍1.添加学生信息2.修改学生信息3.查询学生信息4.删除学生信息5.显示学生信息6.退出管理系统4.2 具体功能介绍首先,登录流程图如下所示:其次,函数之间的调用如下图所示:失败4.2.1登陆界面登录界面输入“姓名”和“密码”,点击“Login”,通过验证则进入主功能菜单。

如果输入错误则会有相应的警告!1.当输入一个错误时,会出现下图:2.登陆成功时会出现下图:4.2.2主功能界面1.显示点击,弹出如下窗口:2.添加点击,弹出如下窗口:若输入的学号已经存在,则会弹出如下窗口:成功添加时会弹出:3.修改点击并输入修改信息,若输入的学号不存在,则:输入要修改的正确学号,弹出如下窗口:4.查询点击,弹出如下窗口:当输入的学号不存在时,则:输入正确的学号时,则会弹出窗口:5.删除点击,弹出如下窗口:当输入的学号不存在时,会弹出提示:当删除成功时,弹出窗口:6.退出点击,退出学籍管理系统。

5 主要程序代码及说明1.菜单部分代码:package XSXJGL;import java.awt.Container;import java.youtManager;importjava.awt.event.ActionEvent;import java.awt.event.ActionListener;importﻩjava.awt.*;import javax.swing.JButton;import javax.swing.JFrame;importjava.awt.event.WindowAdapter;importﻩjava.awt.event.WindowEvent;publicclass Menu {ﻩJFrame jf;JButton j1,j2,j3,j4, j5,j6;ﻩpublicstaticﻩvoidmain(Stringﻩargs[]){Menuﻩm=newﻩMenu();m.go();ﻩ }ﻩﻩpublicﻩvoid go(){ﻩjf=new JFrame("学生学籍管理系统");ﻩjf.setBounds(200, 200, 300,200);ﻩContainer cp=jf.getContentPane();ﻩﻩcp.setLayout(new FlowLayout(FlowLayout.LEADING,20,20));ﻩﻩﻩj1=new JButton("添加学生信息");ﻩj2=newJButton("修改学生信息");ﻩj3=newJButton("查询学生信息");ﻩﻩj4=newJButton("删除学生信息");ﻩj5=newﻩJButton("显示学生信息");ﻩﻩj6=newﻩJButton("退出管理系统");ﻩﻩcp.add(j1);ﻩ cp.add(j2);ﻩﻩ cp.add(j3);ﻩﻩcp.add(j4);ﻩ cp.add(j5);ﻩcp.add(j6);ﻩﻩﻩj1.addActionListener(newActionListener(){ﻩpublicvoidactionPerformed(ActionEvent e){ﻩﻩnew Add();ﻩﻩﻩﻩ}ﻩﻩ});ﻩﻩﻩj2.addActionListener(new ActionListener(){ﻩﻩpublic void actionPerformed(ActionEvent e){ﻩﻩﻩModify modify=newModify();ﻩﻩ}ﻩ});j3.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent e){ﻩﻩﻩﻩSearch search=new Search();ﻩﻩﻩ}});ﻩﻩj4.addActionListener(newActionListener(){ﻩﻩpublicvoid actionPerformed(ActionEvent e){ﻩﻩﻩﻩDeletedelete=new Delete();ﻩﻩ}ﻩ});ﻩj5.addActionListener(new ActionListener(){ﻩpublicvoid actionPerformed(ActionEvent e){ﻩﻩﻩDisplay display=newDisplay();ﻩ}ﻩ});ﻩj6.addActionListener(newActionListener(){ ﻩﻩﻩﻩpublic void actionPerformed(ActionEvent ae){ﻩﻩﻩSystem.exit(0);ﻩﻩ}ﻩﻩ});ﻩﻩﻩjf.setVisible(true);}}2.登录部分代码:package XSXJGL;import java.awt.Dimension;import java.awt.Toolkit;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;importjavax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPasswordField;importjavax.swing.JTextField;public class Login {ﻩpublic static void main(String[]args) {ﻩfinal String userName = "1";ﻩfinalString passwrod = "1";ﻩfinal JFrame jFrame =newJFrame("登陆界面");Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();ﻩﻩjFrame.setBounds(((int)dimension.getWidth() - 200) /2, ((int)dimension.getHeight()-300) / 2, 200, 150);ﻩjFrame.setResizable(false);jFrame.setLayout(null);ﻩﻩjFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);ﻩﻩJLabellabel1 = newJLabel("姓名");ﻩﻩlabel1.setBounds(10,10, 100, 30);ﻩﻩjFrame.add(label1);JLabel label2 =new JLabel("密码");ﻩlabel2.setBounds(10, 40, 100, 30);jFrame.add(label2);ﻩﻩfinal JTextField text1 = new JTextField();ﻩtext1.setBounds(50, 15, 130, 20);ﻩﻩjFrame.add(text1);ﻩﻩfinalJPasswordField text2 = new JPasswordField();ﻩtext2.setBounds(50, 45, 130, 20);jFrame.add(text2);ﻩﻩJButton button = newJButton("Login");ﻩﻩbutton.setBounds(10, 75, 170, 40);button.addActionListener(newActionListener() {ﻩﻩﻩ@Overrideﻩﻩpublicvoid actionPerformed(ActionEvente){ﻩﻩﻩif(userName.equals(text1.getText()) && passwrod.equals(text2.getText())) {ﻩﻩﻩﻩjFrame.dispose();ﻩﻩJOptionPane.showMessageDialog(null, "登陆成功", "提示", J OptionPane.INFORMATION_MESSAGE);ﻩﻩﻩjFrame.dispose();ﻩﻩ(newMenu()).go();ﻩ} else {ﻩﻩﻩJOptionPane.showMessageDialog(null,"错误", "提示", JOptionPane.E RROR_MESSAGE);ﻩﻩﻩﻩﻩtext1.setText("");ﻩﻩﻩﻩtext2.setText("");ﻩﻩ}ﻩ}ﻩ});jFrame.add(button);ﻩjFrame.setVisible(true);ﻩjFrame.setLocationRelativeTo(null);ﻩ}}3.连接数据库部分代码:package com.microsoft.sqlserver.jdbc;importjava.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import XSXJGL.Delete;public classmyConnection{ﻩstaticString url= "jdbc:sqlserver://localhost:1433;DatabaseName=XSXJGL";static String user="sa";ﻩstaticStringpw= "sqlserverSa";ﻩstatic Connectionconn ;publicstatic Connection getmyConnection(){ﻩtry {ﻩClass.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");ﻩﻩconn= DriverManager.getConnection(url,user,pw);ﻩﻩreturnconn;} catch(ClassNotFoundExceptione) {ﻩe.printStackTrace();} catch(SQLException e) {//TODO Auto-generated catch blocke.printStackTrace();}ﻩreturn null;ﻩ}}其他部分代码由于篇幅过长,不再赘述。

相关主题