可视化编程作业--关于学生信息管理系统的程序设计与实现

合集下载

学生信息管理系统设计

学生信息管理系统设计

管理信息系统(实践)课程设计题目:学生信息系统开发专业:建筑经济管理(独立本科段)班级:1118Z121班学号:101813111姓名:吉宝花可行性分析对现有系统的分析(一).技术可行性要开发该系统必须具备一定的网络知识和数据库知识,最好能熟练掌握一门面向对象语言。

到目前为止,我们已经学习了三门程序设计语言,其中java就是一种很好的面向对象开发语言,java 中的多线程和多媒体技术完全可以实现此功能。

从理论上来说,技术上没问题。

(二).经济可行性随着社会的发展及经济的繁荣,知识经济已成趋势并在某些方面尤其突出,各大高校都随之扩招。

学生也日趋增多,这个给学籍管理带来了沉重的压力,使用人力来管理已经不可能了,一个好的有规模的学籍管理系统已经迫在眉睫了,所以在经济上是十分可行的。

(三).社会可行性学生管理系统是学校管理非常实用的一款软件,对老师管理学生、学生选课、查询成绩都非常方便,简单可视化操作,易于管理。

该项目为独立开发。

在法律方面不会存在侵犯专利权、侵犯版权等问题,完全按照合同的规定履行。

综合评价和论证结论学生管理系统是一款非常简洁实用的软件,通过分析认为值得去开发。

需求分析(一)目的与任务:学校学生管理信息系统是针对学校人事处的大量业务处理工作而开发的管理软件,是典型的管理信息系统(Management Information System)。

它是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,它能够为用户提供充足的信息和快捷的查询手段。

能有效的帮助学校和老师掌握学生的情况,为学生提供成绩跟课程方面的查询。

通过该系统,用户可以查看学生的基本资料、学习成绩等各方面的资料,能够方便的了解学生总体情况。

该管理系统为用户提供了一些简单的数据查询、输出各种信息等。

学生用户通过输入学生基本信息、课程基本信息等,由系统自行生成相应的数据以供学生查询,另外人事处的管理用户还可以对这些基本信息进行更新和删除, 学校学生管理信息系统力求给用户方便快捷的途径去管理这些繁琐的数据。

作业——“学生信息管理系统”e-r图绘制

作业——“学生信息管理系统”e-r图绘制

作业——“学生信息管理系统”E-R图绘制要求:根据以下需求分析结果绘制E-R图1.学生成绩管理系统的数据库需求分析学生成绩管理是学生信息管理的重要一部分,也是学校教学工作的重要组成部分。

学生成绩管理系统的开发能大大减轻教务管理人员和教师的工作量,同时能使学生及时了解选修课程成绩。

该系统主要包括学生信息管理、课程信息管理、成绩管理等,具体功能如下:(1)完成数据的录入和修改,并提交数据库保存。

其中的数据包括班级信息、学生信息、课程信息、学生成绩等。

班级信息包括班级编号、班级名称、学生所在的学院名称、专业名称、入学年份等。

学生信息包括学生的学号、姓名、性别、出生年月等。

课程信息包括课程编号、课程名称、课程的学分、课程学时等。

各课程成绩包括各门课程的平时成绩、期末成绩、总评成绩等。

(2)实现基本信息的查询。

包括班级信息的查询、学生信息的查询、课程信息的查询和成绩的查询等。

(3)实现信息的查询统计。

主要包括各班学生信息的统计、学生选修课程情况的统计、开设课程的统计、各课程成绩的统计、学生成绩的统计等。

2.学生住宿管理系统的数据库需求分析学生的住宿管理面对大量的数据信息,要简化繁琐的工作模式,使管理更趋合理化和科学化,就必须运用计算机管理信息系统。

以节省大量的人力和物力,避免大量重复性的工作。

该系统主要包括学生信息管理、宿舍管理、学生入住管理、宿舍卫生管理等。

具体功能如下:(1)完成数据的录入和修改,并提交数据库保存。

其中的数据包括:班级信息、学生信息、宿舍信息、入住信息、卫生检查信息等。

班级信息包括班级编号、班级名称、学生所在的学院名称、专业名称、入学年份等。

学生信息包括学生的学号、姓名、性别、出生年月等。

宿舍信息包括宿舍所在的楼栋、所在楼层、房间号、总床位数、宿舍类别、宿舍电话等。

入住信息包括入住的宿舍、床位、入住日期、离开宿舍时间等。

卫生检查信息包括检查的宿舍、检查时间、检查人员、检查成绩、存在的问题等。

学生信息管理系统java课程设计(含源代码)

学生信息管理系统java课程设计(含源代码)

JAVA 程序设计 课程设计陈述宇文皓月课 题: 学生信息管理系统 姓 名: 学 号: 同组姓名: 专业班级: 指导教师: 设计时间:目 录1、需要实现的功能32、设计目的3 1、功能模块划分32、数据库结构描述43、系统详细设计文档64、各个模块的实现方法描述95、测试数据及期望结果11一、系统描述1、需求实现的功能1.1、录入学生基本信息的功能学生基本信息主要包含:学号、姓名、年龄、出生地、专业、班级总学分,在拔出时,如果数据库已经存在该学号,则不克不及再拔出该学号。

1.2、修改学生基本信息的功能在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。

评阅意见:评定成绩:指导老师签名:年 月 日1.3、查询学生基本信息的功能可使用“姓名”对已存有的学生资料进行查询。

1.4、删除学生基本信息的功能在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。

1.5、用户登陆用分歧的登录权限可以进入分歧的后台界面,从而实现权限操纵。

1.6、用户登陆信息设置可以修改用户登陆密码2、设计目的学生信息管理系统是一个教育单位不成缺少的部分。

一个功能齐全、简单易用的信息管理系统不单能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。

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

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

随着科学技术的不竭提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。

作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理无法比较的优点。

例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。

《2024年基于B-S结构的学生信息管理系统的设计与实现》范文

《2024年基于B-S结构的学生信息管理系统的设计与实现》范文

《基于B-S结构的学生信息管理系统的设计与实现》篇一基于B-S结构的学生信息管理系统的设计与实现一、引言随着信息技术的快速发展,学生信息管理成为学校管理工作的核心内容之一。

为了更好地实现学生信息的有效管理和利用,本文提出了一种基于B/S(浏览器/服务器)结构的学生信息管理系统。

该系统旨在通过互联网技术,实现学生信息的集中化、网络化管理,提高学校管理工作的效率和质量。

二、系统设计(一)系统架构设计本系统采用B/S结构,即浏览器/服务器模式。

该模式具有较好的可扩展性和可维护性,能够适应学校不同部门和角色的需求。

系统架构包括表示层、业务逻辑层和数据访问层。

表示层负责用户界面的展示,业务逻辑层负责处理用户的请求和操作,数据访问层负责与数据库进行交互。

(二)功能模块设计1. 学生信息管理模块:包括学生信息的录入、查询、修改和删除等功能。

2. 课程管理模块:包括课程信息的录入、查询和修改等功能,以及排课、选课等操作。

3. 成绩管理模块:包括成绩录入、查询、分析和导出等功能。

4. 系统管理模块:包括用户权限管理、系统设置和日志管理等功能。

(三)数据库设计本系统采用关系型数据库进行数据存储,包括学生信息表、课程信息表、成绩信息表等。

数据库设计遵循三范式原则,保证数据的完整性和一致性。

同时,为了提高查询效率,还对数据库进行了优化设计。

三、系统实现(一)开发环境本系统采用Java语言进行开发,使用Spring框架进行业务逻辑处理,MySQL数据库进行数据存储,Tomcat服务器进行部署。

开发环境包括开发工具、数据库和服务器等硬件设备。

(二)系统实现过程1. 系统开发:按照功能模块设计,逐步实现各个模块的功能。

2. 数据库连接:通过JDBC技术实现与MySQL数据库的连接。

3. 业务逻辑处理:使用Spring框架进行业务逻辑处理,包括数据验证、业务处理等。

4. 界面展示:采用HTML、CSS和JavaScript等技术实现用户界面的展示和交互。

c++编程案例

c++编程案例

c++编程案例案例一:学生信息管理系统C++是一种高效、通用的编程语言,适用于多种领域,其中包括学生信息管理系统开发。

在这个案例中,我们将使用C++来开发一个简单但功能强大的学生信息管理系统。

学生信息管理系统通常包括以下功能:学生信息录入、修改、查询和删除,以及成绩统计和输出等功能。

我们将逐步介绍每个功能的实现过程。

首先,我们需要定义一个学生类,该类包含学生的基本信息,如姓名、学号、出生日期等。

通过C++的类和对象机制,我们可以轻松地创建和管理学生对象。

其次,我们需要实现学生信息的录入功能。

用户输入学生信息,将其保存到对象中,并通过文件或数据库等方式将学生信息永久保存。

接下来,我们需要实现学生信息的修改和查询功能。

通过用户输入学号或姓名等关键字,我们可以从系统中检索学生信息,并提供相应的修改选项。

同时,我们可以通过C++的容器类实现成绩统计和输出功能。

例如,使用向量(vector)容器保存学生对象,根据学生成绩的高低进行排序,然后按照一定的格式将学生成绩输出到控制台或文件中。

最后,我们可以结合图形界面库(如Qt)来实现用户友好的学生信息管理系统界面,提供可视化的操作方式。

这个案例只是学生信息管理系统开发中的一个简单示例。

通过深入学习和应用C++编程语言,我们可以开发出更加复杂且功能丰富的应用程序,满足不同领域的需求。

案例二:图书馆借阅系统C++编程可应用于各种实际场景,其中包括图书馆借阅系统的开发。

在这个案例中,我们将介绍如何使用C++来实现一个基本的图书馆借阅系统。

图书馆借阅系统通常包含以下功能:图书信息录入、借阅和归还图书、查询图书状态等。

我们将一步步实现这些功能。

首先,我们需要定义一个图书类,其中包含图书的基本信息,如书名、作者、ISBN等。

通过C++类和对象的特性,我们可以方便地创建和管理图书对象。

其次,我们需要实现图书信息的录入功能。

管理员可以通过输入图书信息,将其保存到对象中,并将图书信息永久保存到文件或数据库中。

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

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

学生信息管理系统的设计与实现一、引言随着教育信息化的不断发展和学校规模的不断扩大,面对庞大的学生信息数据,学校管理部门迫切需要一种高效、自动化的学生信息管理系统,以提高学校管理的工作效率和信息的处理准确性。

本文主要介绍学生信息管理系统的设计与实现。

二、系统需求分析1.功能需求①学生信息录入:包括学生的基本信息、家庭情况、学籍信息等。

②学生信息查询:支持按照学号、姓名等条件进行学生信息的查询。

③学生信息统计:能够对学生信息进行统计分析,如男女比例、各个年级的学生人数等。

④学生信息修改:支持学生信息的修改和更新操作。

⑤学生成绩管理:能够记录和查询学生的各项考试成绩。

⑥ 学生信息导入导出:支持将学生信息导入或导出为Excel文件,以方便数据的备份和迁移。

2.性能需求①系统响应速度:能够在较短的时间内响应用户的查询和录入请求。

②数据处理准确性:对于输入的学生信息,系统应能进行有效的校验和处理,保证数据的准确性和一致性。

③数据存储容量:能够承载大量学生信息和考试成绩信息,保证系统的可扩展性。

三、系统设计1.系统架构设计表现层:负责接收用户的请求、展示数据和页面,并将用户的操作请求发送给业务逻辑层。

业务逻辑层:负责处理各种业务逻辑,如学生信息的录入、查询、统计等,并将结果返回给表现层。

数据访问层:负责与数据库进行交互,进行数据的存储和读取。

2.数据库设计3.系统界面设计系统界面应简洁明了,易于操作。

包括学生信息录入界面、查询界面、统计界面和成绩管理界面等。

四、系统实现1.系统开发环境开发语言:使用Java语言进行开发。

开发工具:Eclipse等集成开发环境。

数据库:使用MySQL数据库进行数据存储。

2.系统模块实现根据功能需求,将系统划分为学生信息管理模块、学生成绩管理模块等多个子模块。

每个子模块包含相应的功能实现代码。

3.数据库操作实现通过Java中的JDBC技术,与MySQL数据库进行交互,实现学生信息的存储、查询、修改等操作。

JAVA学生信息管理系统实验报告

JAVA学生信息管理系统实验报告

JA V A程序设计实验报告学号:姓名:班级:实验、Java课程设计--------学生信息管理系统一、实验目的1.掌握Java基本语法2.理解面向对象编程特点3.理解Java I/O编程4.掌握Java图形界面编程5.掌握Java与不同数据库进行连接二、预习内容Java的基本语法知识、类和对象、Java Swing图形界面编程、Java I/O处理以及Java与数据库连接操作三、实验设备与环境通过局域网互联,安装Windows 2000/XP操作系统环境的JDK 1.6,my eclipse 或者EditPlus编程工具。

并安装MySQL数据库四、实验内容编写并调试运行Java程序,进行设计,掌握Java开发的基础。

五、实验任务设计学生信息管理系统。

要求包括1. 登陆模块:设立超级管理员权限,用户可以根据不同的权限登陆系统,超级管理员可以对学生信息进行增、删、改、查操作。

而普通用户只可以查找学生信息。

2. 包括学生添加信息模块、学生信息删除模块、学生信息修改模块和学生信息查询模块3.对于管理员,可以对管理员进行添加、删除以及修改密码等操作。

六、实验报告(要求独立完成参考程序的代码、编译、调试与运行)1、程序清单:1.1程序模块清单package Pan;import java.awt.event.ItemListener;import javax.swing.*;import ponent;import java.awt.BorderLayout;import java.awt.FlowLayout;import java.awt.event.InputEvent;import java.awt.event.ItemListener;import java.awt.event.KeyEvent;import java.awt.event.ActionListener; import java.awt.event.ActionEvent;import java.util.*;import java.awt.Color;import java.text.DecimalFormat;import java.sql.*;import java.sql.Date;import java.awt.*;import java.util.Vector;public class Res{/*** @param args*/public static void main(String[] args) {FirstWindow win =new FirstWindow("学生信息管理系统");}}class FirstWindow extends JFrame implements ActionListener{JMenuBar menubar;JMenu menu1,menu2,menu3,menu4;public final JMenuItem a11,a12,a13,a14,a15,a16,a17;public final JMenuItem a21,a22,a23,a24;public final JMenuItem a3;public final JMenuItem a4;public final JButton btn;JPanel pnl;JLabel label;boolean flag;FirstWindow(String s){setTitle(s);setSize(400,400);setLocation(100,100);setVisible(true);setDefaultCloseOperation(3);pnl=new JPanel();this.getContentPane().add(pnl);pnl.setLayout(new BorderLayout());label=new JLabel("欢迎使用学生管理系统",JLabel.CENTER);label.setForeground(Color.red);pnl.add(label,BorderLayout.CENTER);menubar=new JMenuBar();menu1=new JMenu("使用");menu2=new JMenu("用户管理");menu3=new JMenu("帮助");menu4=new JMenu("退出");a11=new JMenuItem("管理员登录");a12=new JMenuItem("查询学生信息");a13=new JMenuItem("更改学生信息");a14=new JMenuItem("删除学生信息");a15=new JMenuItem("添加学生信息");a16=new JMenuItem("超级管理员登录");a17=new JMenuItem("普通学生登录");a11.setEnabled(true);a16.setEnabled(true);a17.setEnabled(true);a12.setVisible(false);a13.setVisible(false);a14.setVisible(false);a15.setVisible(false);a21=new JMenuItem("添加用户");a22=new JMenuItem("删除用户");a23=new JMenuItem("更改用户");a24=new JMenuItem("修改密码");a21.setEnabled(false);a22.setEnabled(false);a23.setEnabled(false);a24.setEnabled(false);a3=new JMenuItem("系统介绍");a3.setEnabled(true);a4=new JMenuItem("退出");a4.setEnabled(true);btn=new JButton("再次确认登陆");pnl.add(btn,BorderLayout.EAST);btn.setSize(10,10); menu1.add(a11);menu1.addSeparator(); menu1.add(a16);menu1.addSeparator(); menu1.add(a17);menu1.addSeparator(); menu1.add(a12);menu1.addSeparator(); menu1.add(a13);menu1.addSeparator(); menu1.add(a14);menu1.addSeparator(); menu1.add(a15);menu1.addSeparator();menu2.add(a21);menu2.addSeparator(); menu2.add(a22);menu2.addSeparator(); menu2.add(a23);menu2.addSeparator();menu2.add(a24);menu2.addSeparator();menu3.add(a3);menu3.addSeparator();menu4.add(a4);menubar.add(menu1); menubar.add(menu2); menubar.add(menu3); menubar.add(menu4); setJMenuBar(menubar);a11.addActionListener(this); a12.addActionListener(this); a13.addActionListener(this); a14.addActionListener(this); a15.addActionListener(this); a16.addActionListener(this); a17.addActionListener(this); a21.addActionListener(this); a22.addActionListener(this); a23.addActionListener(this); a24.addActionListener(this); a3.addActionListener(this);a4.addActionListener(this);btn.addActionListener(this);}public void setColor(Color black) {// TODO Auto-generated method stub}public void actionPerformed(ActionEvent event) {Object temp=new Object();temp=event.getSource();if(temp==a11){Login login=new Login();login.Login();}if(temp==a12){ShowStu show=new ShowStu();show.ShowStu();}if(temp==a13){AlterStu alter=new AlterStu();alter.AlterStu();}if(temp==a14){DeleteStu delete=new DeleteStu();delete.DeleteStu();}if(temp==a15){AddStu add=new AddStu();add.AddStu();}if(temp==a16){superlog superlog=new superlog();superlog.superlog();}if(temp==a17){stuLogin stu=new stuLogin();stu.stuLogin();a12.setVisible(true);}if(temp==a21){AddUser add=new AddUser();add.AddUser();}if(temp==a22){DeleteUser delete=new DeleteUser();delete.DeleteUser();}if(temp==a23){AlterUser alter=new AlterUser();alter.AlterUser();}if(temp==a24){AlterPword pword=new AlterPword(); pword.AlterPword();}if(temp==a3){SystemHelp help=new SystemHelp();help.SystemHelp();}if(temp==a4){SystemExit exit1=new SystemExit();exit1.SystemExit();}if(temp==btn){Connection con;Statement st;Statement st1;ResultSet rs,rs1;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();st1=con.createStatement();rs=st.executeQuery("SELECT * FROM Login");rs1=st1.executeQuery("SELECT * FROM superlog");if(rs.next()){a12.setVisible(true);a21.setEnabled(true);a22.setEnabled(true);a23.setEnabled(true);a24.setEnabled(true);Login login=new Login();login.Clear();}if(rs1.next()){a12.setVisible(true);a13.setVisible(true);a14.setVisible(true);a15.setVisible(true);superlog superlog=new superlog();lear();}con.close();}catch(SQLException e){System.out.println(e);}}}}主页面class Login{void Login(){final JFrame loginframe=new JFrame("登陆界面");loginframe.setBounds(200,200,400,500);loginframe.setVisible(true);loginframe.setResizable(true);loginframe.setLayout(null);final JTextField text1=new JTextField(10);final JPasswordField text2=new JPasswordField(10);JButton btn1=new JButton("登陆");JButton btn2=new JButton("取消");JLabel label1=new JLabel("用户名");JLabel label2=new JLabel("密码");loginframe.add(btn1);loginframe.add(btn2);loginframe.add(text1);loginframe.add(text2);loginframe.add(label1);loginframe.add(label2);label1.setBounds(80, 100, 50, 50);label2.setBounds(80, 200, 50, 50);btn1.setForeground(Color.black);btn2.setForeground(Color.black);text1.setBounds(150, 100, 200, 30);text2.setBounds(150, 200, 200, 30);btn1.setBounds(100, 300, 100, 60);btn2.setBounds(200, 300, 100, 60);btn1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String name=text1.getText();String password=text2.getText();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{Connection con;Statement sql,st;ResultSet rs;con=DriverManager.getConnection("jdbc:odbc:pan","","") ;sql=con.createStatement();st=con.createStatement();rs=sql.executeQuery("SELECT username,password FROM users where username='"+name+"'");if(!rs.next()){JOptionPane b=new JOptionPane();b.showMessageDialog(null,"账号有误" ,"消息对话框",RMATION_MESSAGE);}else{String username=rs.getString(1);String pass=rs.getString(2);if( Integer.parseInt(password)==Integer.parseInt(pass) ){st.executeUpdate("INSERT INTO Login VALUES('"+username+"','"+pass+"')");loginframe.dispose();JOptionPane b=new JOptionPane();b.showMessageDialog(null,"登录成功" ,"消息对话框",RMATION_MESSAGE);}else{text1.setText("");text2.setText("");JOptionPanea=new JOptionPane();a.showMessageDialog(null,"您的账户名或者密码有误","消息对话框" ,RMATION_MESSAGE);}}}catch(SQLException e){System.out.println(e);}}});btn2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){loginframe.dispose();}});}void Clear(){Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();st.executeUpdate("DELETE FROM Login");con.close();}catch(SQLException e){System.out.println(e);}}}管理员登陆与权限class superlog{superlog(){final JFrame loginframe=new JFrame("登陆界面");loginframe.setBounds(200,200,400,500);loginframe.setVisible(true);loginframe.setResizable(true);loginframe.setLayout(null);final JTextField text1=new JTextField(10);final JPasswordField text2=new JPasswordField(10);JButton btn1=new JButton("登陆");JButton btn2=new JButton("取消");JLabel label1=new JLabel("超级用户名",JLabel.CENTER);JLabel label2=new JLabel("密码",JLabel.CENTER);loginframe.add(btn1);loginframe.add(btn2);loginframe.add(text1);loginframe.add(text2);loginframe.add(label1);loginframe.add(label2);label1.setBounds(80, 100, 100, 50);label2.setBounds(80, 200, 100, 50);btn1.setForeground(Color.black);btn2.setForeground(Color.black);text1.setBounds(150, 100, 200, 30);text2.setBounds(150, 200, 200, 30);btn1.setBounds(100, 300, 100, 60);btn2.setBounds(200, 300, 100, 60);btn1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String name=text1.getText();@SuppressWarnings("deprecation")String password=text2.getText();tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{Connection con;Statement sql;ResultSet rs;con=DriverManager.getConnection("jdbc:odbc:pan","","") ;sql=con.createStatement();rs=sql.executeQuery("SELECT Cusername,Cpassword FROM super where Cusername='"+name+"'");if(!rs.next())JOptionPane b=new JOptionPane();b.showMessageDialog(null,"超级账号错误" ,"消息对话框",RMATION_MESSAGE);}else{String username=null;String pass=null;username=rs.getString(1);pass=rs.getString(2);if( Integer.parseInt(password)==Integer.parseInt(pass) ){sql.executeUpdate("INSERT INTO superlog VALUES('"+username+"',"+"'"+pass+"')");JOptionPane b=new JOptionPane();b.showMessageDialog(null,"登录成功" ,"消息对话框",RMATION_MESSAGE);loginframe.dispose();}else{text1.setText("");text2.setText("");JOptionPane a=new JOptionPane();a.showMessageDialog(null,"您的账户名或者密码有误","消息对话框" ,RMATION_MESSAGE);}}}catch(SQLException e){System.out.println(e);}}});btn2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){loginframe.dispose();}});}public void superlog() {// TODO Auto-generated method stub }void Cclear(){Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();st.executeUpdate("DELETE FROM superlog");con.close();}catch(SQLException e){System.out.println(e);}}}超级管理员登陆界面与权限class stuLogin{void stuLogin(){final JFrame loginframe=new JFrame("登陆界面");loginframe.setBounds(200,200,400,500);loginframe.setVisible(true);loginframe.setResizable(true);loginframe.setLayout(null);final JTextField text1=new JTextField(15);final JPasswordField text2=new JPasswordField(15);JButton btn1=new JButton("登陆");JButton btn2=new JButton("取消");JLabel label1=new JLabel(" 学生姓名",JLabel.CENTER);JLabel label2=new JLabel("密码",JLabel.CENTER);loginframe.add(btn1);loginframe.add(btn2);loginframe.add(text1);loginframe.add(text2);loginframe.add(label1);loginframe.add(label2);label1.setBounds(80, 100, 100, 50);label2.setBounds(80, 200, 100, 50);btn1.setForeground(Color.black);btn2.setForeground(Color.black);text1.setBounds(150, 100, 200, 30);text2.setBounds(150, 200, 200, 30);btn1.setBounds(100, 300, 100, 60);btn2.setBounds(200, 300, 100, 60);btn1.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String name=text1.getText();String password=text2.getText();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{Connection con;Statement sql;ResultSet rs;con=DriverManager.getConnection("jdbc:odbc:pan","","") ;sql=con.createStatement();rs=sql.executeQuery("SELECTsname,sphone FROM student where sname='"+name+"' AND sphone='"+password+"'");if(rs.next()){JOptionPane a=new JOptionPane();a.showMessageDialog(null,"登陆成功","消息对话框" ,RMATION_MESSAGE);loginframe.dispose();}else{text1.setText("");text2.setText("");JOptionPane a=new JOptionPane();a.showMessageDialog(null,"您的账户名或密码有误","消息对话框" ,RMATION_MESSAGE);}con.close();}catch(SQLException e){System.out.println(e);}}});btn2.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){loginframe.dispose();}});}}普通学生登陆与权限class ShowStu{void ShowStu(){JFrame frame1=new JFrame("学生信息窗口");frame1.setBounds(300,300,500,400);frame1.setDefaultCloseOperation(2);JTable table;Object a[][]=null;Object name[]={"学号","姓名","年龄","性别","籍贯","电话"};Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println("" + e);}try{con=DriverManager.getConnection("jdbc:odbc:pan",""," ");st=con.createStatement(ResultSet.TYPE_SCROLL_SENSITI VE,ResultSet.CONCUR_READ_ONLY);rs=st.executeQuery("SELECT * FROM student");st();int lastnumber=rs.getRow();a=new Object[lastnumber][6];int i=0;rs.beforeFirst();while(rs.next()){a[i][0]=rs.getString(1);a[i][1]=rs.getString(2);a[i][2]=rs.getString(3);a[i][3]=rs.getString(4);a[i][4]=rs.getString(5);a[i][5]=rs.getString(6);i++;}con.close();}catch(SQLException e){System.out.println(e);}table=new JTable(a,name);frame1.setLayout(new BorderLayout());frame1.add(newJScrollPane(table),BorderLayout.CENTER);frame1.setVisible(true);frame1.validate();}}class AlterStu{void AlterStu(){JFrame deleteframe=new JFrame("更改学生信息");deleteframe.setLayout(null);JLabel label=new JLabel("需要修改的学生学号",JLabel.CENTER);deleteframe.setVisible(true);deleteframe.setBounds(350,350,450,350);JButton btn=new JButton("确定");deleteframe.add(label);label.setForeground(Color.red);final JTextField text=new JTextField(10);text.setSize(100,60);deleteframe.add(text);deleteframe.add(btn);label.setBounds(150, 50, 150, 20);text.setBounds(150, 100, 100, 20);btn.setBounds(150, 150, 100, 20);btn.addActionListener(new ActionListener(){public void actionPerformed(ActionEvent event){String sno=text.getText();Connection con;Statement st;ResultSet rs;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){System.out.println(e);}try{con=DriverManager.getConnection("jdbc:odbc:pan","","") ;st=con.createStatement();rs=st.executeQuery("SELECT * FROM student WHERE sno=+'"+sno+"'");if(rs==null){JOptionPane b=new JOptionPane();b.showMessageDialog(null,"该学生不存在" ,"消息对话框",RMATION_MESSAGE);}else{rs.next();final String no1=rs.getString(1);final String name1=rs.getString(2);final String age1=rs.getString(3);final String sex1=rs.getString(4);final String address1=rs.getString(5);final String phone1=rs.getString(6);JFrame addframe=new JFrame("修改学生信息");addframe.setDefaultCloseOperation(2);addframe.setBounds(400,200,450,600);addframe.setVisible(true);addframe.setResizable(true);addframe.validate();addframe.setLayout(newBorderLayout());Box basebox,box1,box2,box3,box4;basebox=Box.createHorizontalBox();box1=Box.createVerticalBox();box2=Box.createVerticalBox();box3=Box.createVerticalBox();box4=Box.createVerticalBox();JLabel no=new JLabel("学号");JLabel name=new JLabel("姓名");JLabel age=new JLabel("年龄");box1.add(Box.createVerticalStrut(90));box1.add(no);box1.add(Box.createVerticalStrut(90));box1.add(name);box1.add(Box.createVerticalStrut(90));box1.add(age);JLabel sex=new JLabel("性别");JLabel address =new JLabel("籍贯");JLabel phone=new JLabel("电话");box3.add(Box.createVerticalStrut(90));box3.add(sex);box3.add(Box.createVerticalStrut(90));box3.add(address);box3.add(Box.createVerticalStrut(90));box3.add(phone);final JTextField notext=new JTextField(15);final JTextField nametext=new JTextField(15);final JTextField agetext=new JTextField(15);final JTextField sextext=new JTextField(15);final JTextField addresstext=new JTextField(15);final JTextField phonetext=new JTextField(15);box2.add(Box.createVerticalStrut(90));box2.add(notext);box2.add(Box.createVerticalStrut(90));box2.add(nametext);box2.add(Box.createVerticalStrut(90));box2.add(agetext);box4.add(Box.createVerticalStrut(90));box4.add(sextext);box4.add(Box.createVerticalStrut(90));box4.add(addresstext);box4.add(Box.createVerticalStrut(90));box4.add(phonetext);basebox.add(box1);basebox.add(box2);basebox.add(box3);basebox.add(box4);。

学生信息管理系统的设计与实现共3篇

学生信息管理系统的设计与实现共3篇

学生信息管理系统的设计与实现共3篇学生信息管理系统的设计与实现1学生信息管理系统的设计与实现随着社会的不断发展和人民生活水平的提高,教育的重要性日益凸显,学生信息管理也成为了教育管理的重要组成部分。

传统的学生管理方式已经难以满足现代化、信息化的需求,因此,设计和实现一套高效的学生信息管理系统是很有必要的。

一、系统构架本系统采用C/S架构,即客户端和服务器端交互。

客户端采用Java开发,服务器端采用Tomcat应用服务器。

数据库管理采用MySQL。

系统分为管理员界面和学生界面。

二、功能模块1. 学生信息模块:该模块包括学生基本信息、成绩相关信息、考勤信息、奖惩信息等。

通过该模块,管理员可以对学生信息进行增删改查等操作。

2. 课程管理模块:该模块负责学生的选课、退课以及课程成绩的录入和查询等功能。

3. 教师信息管理模块:该模块包括教师的基本信息、授课情况等。

通过该模块,管理员可以对教师信息进行增删改查等操作。

4. 班级管理模块:该模块统计班级的各种信息,包括班级基本信息、学生名单等。

5. 考勤管理模块:该模块记录学生考勤情况,包括缺勤、迟到、早退等情况,并将情况记录到学生信息中。

6. 统计分析模块:该模块用于对学生成绩、考勤等信息进行统计分析,并提供相关报表输出。

三、技术实现1. 数据库设计:根据需求分析,设计相应的数据库表,通过MySQL数据库管理系统进行数据管理。

2. 系统框架搭建:采用SpringMVC框架进行模块开发。

3. 客户端开发:采用Java Swing进行开发,实现学生信息管理系统的图形化界面。

4. 服务器端开发:采用Java web技术,主要使用SpringMVC 和Hibernate。

5. 数据交互:采用TCP/IP协议进行数据交互,确保数据传输的安全和可靠。

四、系统特点1. 安全性高:本系统采用了数据加密和身份验证等技术,保障学生信息的安全性。

2. 功能丰富:本系统包括学生信息管理、课程管理、教师信息管理等多个功能模块,并支持多种查询方式。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

可视化编程作业--关于学生信息管理系统的程序设计与实现论文题目:关于学生信息治理系统的程序设计与实现姓名: 李周班级: 材物0801学号: 0120801020103指导教师: 佘名高设计时间:2010年11月16日学生信息治理系统设计报告0120801020103 李周一、设计目的本设计选取比较贴近我们日常生活的学生信息治理来进行程序的实现,将其作为可视化编程公选课的结课作业,验证自身的学习成效,同时期望利用所学的差不多知识和技能,进行简单数据库应用程序设计。

期望通过编程实践,熟悉巩固所学知识,以使自身达到熟练把握VB语言的差不多知识和技能,差不多把握面向对象程序开发的差不多思路和方法,了解利用数据控件访咨询、扫瞄数据库信息的差不多知识,为今后的进一步深入学习,奠定基础。

二、主题介绍学生治理系统的开发目的是为了实现学生课程、学籍的信息化治理。

本系统需要完成的功能有:系统治理、学籍治理、班级治理、课程治理、成绩治理以及关心功能。

1.系统治理:该模块的要紧任务是爱护系统的正常运行和安全性设置,包括添加用户、修改密码、退出系统等等。

2.学籍治理:可对学生进行添加、删除、修改、查找等功能,学生属性有:学号、姓名、性不、出生年月、班级(来自于系统中储存的班级)、联系电话、入校日期、家庭地址和备注等属性。

3.班级治理:可对班级进行添加、修改、查询等功能,班级属性有:名称、班主任(来自于系统中储存的教师)、年级、班级教室等属性。

4.课程治理:可对每一个年级的上课科目进行添加、删除、修改等功能,课程属性有:所属年级、课程编号、课程名称、课程性质和备注等属性。

5.成绩治理:可对每一个班级的上课科目的学生成绩进行添加、删除、修改、查找和报表输出等功能,成绩属性有:学生姓名、所属班级(来自于系统中储存的班级)、课程名、成绩、备注等属性。

三、系统模块的实现在系统中包括以下功能:系统治理、学生信息治理、课程信息治理、成绩信息治理、班级信息治理。

按照上述各项功能进行集中、分块,按照结构化程序设计的要求能够得到如图1所示的系统功能模块版图和图2所示的系统运行流程图。

系统各模块关系图1系统运行流程图2本系统共分三大部分1.系统登录模块为了系统的安全,在进入系统之前第一会显现一个登录模块,用户只有在输入正确的用户名和正确的密码之后,才能进入系统。

而且输入错误超过三次将自动断开链接,退出系统用户登录窗体中放置了两个文本框(Textbox),用来输入用户名和密码;两个按钮(Command Button)用来确定或者取消登录。

2.系统主界面模块登陆成功后,即可进入系统主界面模块。

主界面为进入学生治理系统各模块的入口,用户可按照窗体上面各个模块名称单击进入各个治理模块,从而进行对系统的治理操作。

3.各功能模块(部分)<1>修改密码在系统主界面下,进入修改密码窗体,用户可按照需要修改自己的密码。

在那个窗体中放置了三个文本框,用来输入原密码和新密码以及确认新密码;两个按钮用来确定是否修改密码;三个标签用来标示文本框的内容。

密码修改界面要紧包括新设置密码、以及确认等功能。

<2>添加班级信息用户通过系统主界面下班级治理模块进入班级信息添加窗口。

在那个窗体中放置了四个文本框,用来输入班级名称、年级以及辅导员和班级教室等信息;两个按钮用来确定是否进行添加;四个标签用来标示文本框的内容。

用户输入新班级信息后点击“确认”即可进行添加,点击“取消”则返回主界面<3>查看及修改学生信息选择主窗体中学籍治理模块下的查询或修改学生信息,就可进入查看及修改学生信息的窗体,在该窗体中我们能够对学生的学号、姓名、性不、出生日期、班级、家庭地址等学生的信息进行查看和修改。

在窗体上放置多个文本框和下拉式文本框,用来显示和输入学籍信息;两个按钮用来确定是否修改学籍信息;一个按钮用来退出窗体;多个标签用来提示文本框中需要输入的内容。

同时还使用了一个Data控件来连接数据库。

<4>设置年级课程用户能够通过点击主界面下的课程治理菜单进入课程治理模块下的年级课程设置窗体,能够对每一个年级的课程进行设置。

在窗体上放置一个下拉式文本框,用来选择年级(年级信息事先已录入);两个组合框(List box)用来显示年级课程和已选课程;两个按钮用来确定是否修设置课程新息;一个按钮用来退出窗体;两个各个标签用来添加课程和删除已选择的课程。

四、部分代码示例1.系统登录部分代码Private Sub cmdOK_Click()Dim j As Integeri = i - 1 'i用来判定登录次数,超过3次自动退出If Text1.Text = "whlgdx" And Text2.Text = "123456" Thenform2.ShowUnload Form1ElseIf i = 0 ThenMsgBox "3次输入错误,系统断开链接", 0 + 48, "警告!"Unload Form1Elsej = MsgBox("用户名或密码输入错误,你还有" + Str(i) + "次机会", 1 + 16, "信息错误!")Text1.Text = ""Text2.Text = ""If j = 1 ThenForm1.ShowElseUnload Form1End IfEnd IfEnd IfEnd Sub2.系统主界面入口代码Private Sub A2_Click(Index As Integer)Form5.Show '进入添加学生信息窗口Unload form2End SubPrivate Sub A3_Click(Index As Integer)Unload form2Form6.Show '进入班级信息窗口End SubPrivate Sub E1_Click(Index As Integer)Unload form2Form1.Show '退出系统,返回登录界面End SubPrivate Sub R1_Click(Index As Integer)Form3.Show '进入修改密码界面Unload form2End SubPrivate Sub R2_Click(Index As Integer)Form4.Show '进入查询及修改学生信息窗口Unload form2End SubEnd Sub3.添加学生信息代码Dim i As Integer '定义局部变量Dim sindex As IntegerDim infr As StringDim Stu_ID As StringDim Stu_Name As StringDim Stu_Gender As StringDim Born_Date As StringDim Class_Num As StringDim Ru_Date As StringDim Address As StringDim Comment As StringPrivate Sub Combo1_Click()Stu_Gender = Combo1.TextEnd SubPrivate Sub Combo2_Change()Class_Num = Combo2.TextEnd SubPrivate Sub Command1_Click()List1.AddItem infr, ii = i + 1End Sub '添加信息记录Private Sub Command2_Click()Unload Form5form2.ShowEnd SubEnd Sub '取消添加操作Private Sub Command4_Click()List1.RemoveItem sindexi = i - 1End Sub '删除信息记录'初始化窗体Private Sub Form_Load()i = 0sindex = 0End SubPrivate Sub List1_Click()sindex = List1.ListIndexEnd SubPrivate Sub Text1_Change()Stu_ID = Text1.Text '记录改动信息End SubPrivate Sub Text2_Change()Stu_Name = Text2.Text '记录改动信息End SubPrivate Sub Text3_Change()Born_Date = Text3.Text '记录改动信息End Sub参考资料:[1]杨富国·Visual Basic程序开发案例解析·北京:清华大学出版社,2006[2]杜秋华·可视化编程应用—Visual Basic6.0(第二版)·北京:人民邮电出版社,2007[3]杜春玲·Visual Basic6.0程序设计教程·西安:西北工业大学出版社,2008。

相关文档
最新文档