java学生管理系统总结报告

合集下载

Java学生管理系统实验报告

Java学生管理系统实验报告

学生管理系统实验报告学期:2018-2019课程名称:《Java程序设计实验》一、实验目的1.掌握JDK的安装与环境变量的配置,熟练使用Eclipse、WindowBulider插件、navicat和MySql。

2.熟练掌握Java基础语法与程序结构,了解面向对象的编程思想,掌握封装、构造方法和访问权限。

3.理解继承的概念和意义,掌握继承关系。

4.理解接口的概念和意义,掌握实现接口的方法。

5.掌握异常处理的方法。

6.掌握Java Swing,学会创建GUI界面,熟练使用MVC结构,掌握事件处理。

7.掌握MySql基础语句,操作MySql数据库。

二、实验内容a.管理系统功能1.实现登录界面与相应功能。

用户填写正确账号与密码并选择用户身份后即可实现登陆并跳转至主界面。

2.实现主界面与相应功能。

此界面功能包括学生管理、成绩管理、教师管理、系统设置和帮助。

其中系统设置包括修改密码,退出账号和关闭系统。

帮助包括关于作者、版本信息和意见反馈。

3.实现管理学生界面与相应功能。

可对学生信息进行添加、查询、修改和删除的操作。

4.实现管理成绩界面与相应功能。

可查询到学生并对其成绩信息进行编辑。

5.实现管理教师界面与相应功能。

可对教师信息进行添加、查询、修改和删除的操作。

6.实现修改密码界面与相应功能。

7.实现用户权限功能。

管理员权限为最高,可操作本系统所有功能。

学生可查看、修改自己的信息,查看自己的成绩,但不得添加、查询、删除他人信息与成绩。

教师可查看、修改自己的信息,查询、编辑学生的成绩信息,但不得添加、修改、删除学生信息,不得添加、查询、修改、删除其他教师信息。

8.实现退出账号、关闭系统、关于作者、版本信息、意见反馈和显示当前用户信息功能。

b.设计思路1.利用WindowBuilder插件可视化编写GUI界面。

2.利用MySql数据库保存学生、教师和管理员的信息,并用navicat管理数据库。

使用MVC框架,有以下几个包:model包(模型)、view包(视图)、images包(图像)、util包(自己定义的工具)、dao包(面向对象的数据库接口)。

java学生信息管理系统实验报告(共10篇)

java学生信息管理系统实验报告(共10篇)

java学生信息管理系统实验报告(共10篇)JAVA学生信息管理系统实验报告JAVA程序设计实验报告学号:姓名:班级:实验、Java课程设计--------学生信息管理系统一、实验目的1.掌握Java基本语法2.理解面向对象编程特点3.理解Java I/O编程4.掌握Java图形界面编程5.掌握Java与不同数据库进行连接二、预习内容Java的基本语法知识、类和对象、Java Swing图形界面编程、Java I/O处理以及Java与数据库连接操作三、实验设备与环境通过局域网互联,安装Windows 2000/XP操作系统环境的JDK1.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(超级管理员登录);篇二:java学生成绩管理系统实验报告JAVA课内实验报告学生成绩管理系统一. 实验目的及实验环境实验目的:在如今的高校日常管理当中,学生成绩管理系统就是其中非常重要的一环,特别是当前学生规模大,课程门类多,校区分散等实际情况,学生成绩管理系统更具有非常大的实际应用意义。

学生管理系统的总结报告

学生管理系统的总结报告

学生管理系统的总结报告1. 引言学生管理系统是一种应用于教育行业的信息管理工具,它可以帮助学校、教育机构以及教师们更高效地管理学生的基本信息、成绩、考勤等相关内容。

在过去的几个月中,我们小组致力于设计和开发一款学生管理系统,并取得了一定的成果。

本报告将对我们开发的学生管理系统进行总结,并对未来的发展提出一些建议。

2. 项目背景学生管理系统的目的是提供一个集中管理学生相关信息的平台,方便学校、教育机构进行信息的录入、查询和统计工作。

该系统的主要功能包括学生基本信息管理、成绩管理、考勤管理等,可以满足教育工作者的日常需求。

3. 项目成果在项目的开发过程中,我们小组取得了一系列的成果。

首先,我们完成了学生管理系统的需求分析和设计工作,确立了系统的基本功能和界面设计。

然后,我们采用敏捷开发方法,分阶段完成了系统的编码和测试工作。

最终,我们成功地开发出一款具备基本功能的学生管理系统。

具体来说,我们实现了以下几个模块:3.1 学生信息管理模块该模块实现了学生基本信息的录入、查询和编辑功能。

教育工作者可以通过该模块快速地录入学生基本信息,并进行查询和编辑操作。

3.2 成绩管理模块该模块实现了成绩的录入、查询和统计功能。

教育工作者可以通过该模块记录学生的考试成绩,并进行成绩的查询和统计工作。

3.3 考勤管理模块该模块实现了学生考勤信息的记录、查询和统计功能。

教育工作者可以通过该模块记录学生的考勤情况,并进行查询和统计工作。

4. 项目评估在项目的开发过程中,我们遇到了一些挑战和问题。

首先,时间紧迫,我们在规定的时间内完成了主要功能,但仍有一些细节需要进一步完善。

其次,系统的安全性仍然有待提高,需要加强对数据的保护和权限管理。

此外,系统界面的友好性和易用性还可以进一步改进。

尽管存在一些问题,我们小组在项目开发中的合作和努力值得肯定。

我们充分发挥了各自的专长,通过团队合作,成功地将学生管理系统开发出来。

5. 未来发展为了进一步提升学生管理系统的功能和实用性,我们提出以下建议:5.1 完善功能在现有功能的基础上,可以进一步完善学生管理系统的功能。

学生管理系统JAVA实验报告

学生管理系统JAVA实验报告

实验报告学生信息管理系统学号:XXXXXXXX:XXXXXX班级:XXXXXXXXXXXXXXX摘要本文着重阐述了“学生信息管理系统”的开发过程。

对于设计思想和设计流程也做出了全面的叙述,在数据库创建思想以及各个数据表之间的具体关联等方面也做出了详细说明,并且具体剖析了系统各个功能的实现过程以及详细设计过程,在绘制简单系统功能模块图的同时,力求更加清晰地表明设计思想以及对整个学生模块程序设计的规划及具体实现过程。

本系统具有多方面特点:系统功能完备,用户使用方便简捷,人性化的用户界面,安全保密设置齐全,大大减少了操作人员和用户的工作负担,提高了学生管理的工作效率和学校的信息化的水平。

AbstractThis article focuses on the student information management system---student module for the development process. Introduced a system for environment and development tools, the design concept and design process has also made a comprehensive narrative, in the database to create ideological and various data tables specific links between the areas has also made detailed and specific analysis of the The various functions of the system to achieve process and detailed design process, drawing a simple system function modules map at the same time, to more clearly show that design thinking and the whole process of planning and design of concrete realization.This system has many features: system fully functional, easy to use simple user-friendly user interface, complete security settings, greatly reducing the operators and users of the burden and improve the efficiency of the management of students and school information Level.1.实验目的:编写学生信息管理系统程序:(1)基本要求:学生信息(包括学号、、性别、年龄、家庭住址、电话等)的添加,删除,修改,查询(包括按学号,按姓名等查询)。

java学生管理系统总结报告

java学生管理系统总结报告

成都东软信息技术职业学院期末项目报告项目名称:学生管理系统系别:计算机科学与技术系年级专业:xx级软件技术班级:x学号:xx学生姓名:xxxx年 xx 月 xx 日1.项目内容及知识应用1.1项目完成内容首先实现登录模块,分为教室登录和学生登录登录界面有一个下拉条分别为学生和教师,选中哪一个就会登录到相应的界面学生管理系统分为两大块:学生和教师两个模块学生登录后进入学生界面,学生界面有菜单项和按钮学生界面里面有查询自己的成绩,查询自己的详细信息,还可以修改密码,修改自己的信息,菜单项还有帮助等按钮教师界面里面可以增加学生,显示所有学生的成绩,查找学生,查询学生的详细信息,删除学生的成绩和删除学生,还有刷新和退出等功能教室界面当点击选中学生时在上面的标签面板会显示学生的详细信息,当查询学生的详细信息时会之间进入该学生的学生面板,教师就可以对学生的信息进行修改刚登录教师界面时系统启用了另外一个线程,会默认加载所有的学生成绩和信息,当教师点击“显示所有成绩”时就会马上把学生成绩的面板显示在界面上,所有教师就无需等待系统加载教师界面当老师点击刷新时,会再启动一个线程来重新把学生的信息加载到内存然后显示到界面上教师界面的成绩表中还有总分和平均分,系统加载的时候会自动计算每一个学生的总分和平均分教师还可以直接在成绩表中修改学生的成绩,用以来会很方便,修改成绩后要点击刷新按钮来刷新总分和平均分教室界面还增加了班级的分类,可以查看所有的班级,也可以查看一个班级的学生信息学生管理系统还增加了上传照片的功能,每个学生都可以上传自己的照片,老师也可以帮学生上传照片1.2知识(点)应用以及经验总结该学生管理系统采用了分层的思想而且参考了MVC设计模式,但是都做得不够完美。

该系统分为业务逻辑层、实体层和显示层:⏹业务逻辑层(niit.student.manage)有StudentManage、GradeManage、PasswordNotFountException、StduentNotFountException和GradeNotFountException。

java课程设计学生信息管理系统设计总结

java课程设计学生信息管理系统设计总结

java课程设计学生信息管理系统设计总结一、背景在本次Java课程设计中,我选择了“学生信息管理系统”作为设计主题。

目的是通过这一实践项目,深入掌握Java编程的核心知识,提升解决实际问题的能力,并为学生信息管理提供一个简洁、高效、易用的工具。

二、系统设计1. 需求分析:首先,我详细分析了学生信息管理的基本需求,包括学生基本信息的录入、查询、修改和删除,以及数据的持久化存储等。

2. 架构设计:基于MVC(Model-View-Controller)模式,我设计了系统的整体架构。

Model层负责数据处理和存储,View层提供用户界面,Controller层则负责业务逻辑的处理。

3. 数据库设计:使用关系型数据库(如MySQL)存储学生信息,设计了合理的数据表结构,包括学生表、课程表、成绩表等。

4. 界面设计:采用Java Swing或JavaFX框架,设计了直观、友好的用户界面,方便用户进行操作。

三、功能实现1. 基本功能:实现了学生信息的录入、查询、修改和删除功能。

通过SQL语句与数据库进行交互,实现了数据的增删改查。

2. 高级功能:根据学生选课情况,实现了课程管理和成绩管理的功能。

同时,加入了数据校验和错误处理机制,提高了系统的健壮性。

3. 优化与扩展:考虑到系统性能和可扩展性,采用了连接池技术优化数据库连接。

同时,预留了接口,方便未来功能的扩展。

四、遇到的问题与解决方案1. 数据库连接问题:最初在连接数据库时遇到了困难。

通过查阅文档和调试代码,最终解决了连接配置的问题。

2. 界面布局问题:在设计用户界面时,遇到了布局不合理的问题。

通过调整组件的位置和大小,以及使用布局管理器,最终实现了满意的界面效果。

3. 性能优化问题:在系统测试阶段发现性能瓶颈。

通过优化SQL 语句、使用索引和缓存技术等手段,提高了系统的运行效率。

五、收获与展望通过本次课程设计,我深刻体会到了Java编程的魅力和挑战。

在实际开发过程中,我不仅掌握了Java的核心知识和相关技术,还学会了如何分析问题、设计方案和解决问题。

java学生管理系统实训报告

java学生管理系统实训报告

Java学生管理系统实训报告学号:姓名:班级:指导老师:一、项目计划(1)项目名称:学生信息管理系统(2)实训地点:(3)小组成员:二、系统总体设计(1)需求分析学生信息管理系统,是对学生的个人信息,课程信息,成绩信息以信息化的方式进行管理,最大限度地减少各个环节可能出现的错误,有效减少因人力资源局限性导致的存储信息量大,信息存储错误,混淆等问题,合理进行信息存储,使学校能够合理录入学生的个人资料,学期成绩情况,以及课程安排,为学校师生的工作提供后方面。

通过实际调查,要求学生信息管理系统具有以下功能:1.界面设计美观大方,方便,快捷,操作灵活。

2.实现强大的学生个人信息,课程信息,成绩信息的查询,修改,录入,删除管理。

3.实现强大的联系人信息及其类别的查询,录入,删除管理。

4.能够在不同的的操作系统下运行,不局限于特定的平台。

5.提供数据库备份与恢复功能。

6.提供友情平台,例如:计算机,方便对成绩的操作;(2)项目计划安排一项任务的成功完成,必须依靠合理的计划安排以及各种资源的有效利用。

有计划、有步骤地进行软件开发,除了可以提高开发进度外,更能明确项目组各成员之间的职责及任务。

项目进度表要安排每个成员的任务,并要求成员每天修改自己的进度,保证项目管理人员可以随时查看整个项目的进度,以及时发现问题,调整工作策略。

(3)概要设计概要设计是根据系统分析的需求和工作环境的情况对整个软件的总体结构进行大致的设计。

概要设计要坚持以下几个原则:1:细分原则2:提高代码重用性:3:从上而下层层分析4:一致性原则5:提高独立性6:模块的大小要尽量适中。

由于概要设计是整个设计的重中之重,牵一发而动全身,所以要努力做一个好的概要设计,才能在今后软件开发过程中不再反复。

现在软件行业流行模式化驱动设计,将一些市场上比较成功的模式拿来用在自己的设计中。

(4)详细设计概要设计是为了明确开发人员的工作步骤和工作目标。

详细设计使开发人员可以轻松地完成代码的编写,并熟悉所编写的业务流程。

学生管理系统实训报告(java语言)

学生管理系统实训报告(java语言)

《Java实训》设计报告学生管理系统一、项目需求通过与科信学院教务人员的详细交流,目标系统具备以下功能。

1. 教师客户端功能* 可以更改密码;* 可以添加学生,并要求填写学生基本信息;* 可以根据学号查询学生基本信息及其成绩;* 有权限控制,每个管理员只能管理其所在学院的信息;* 可以添加新课程、新班级;* 可以控制选课的课程范围,并可以控制选课的时间,即:可以控制选课开始和结束时间;* 可以录入成绩,缓存成绩,检查无误后公布成绩。

2. 学生客户端功能* 学生可以查看自己的基本信息;* 学生可以查看自己的成绩,已修学分和不及格成绩信息;* 学生端可以进行远程选课,并且可以查看课表。

根据以上相关功能,现规划数据流图和数据字典如下:二、项目设计在设计学生管理系统时,编写20个Java源文件:ChangePwd.java、ChangePwdTeacher.java、ChoseCourse.java、CourseTable.java、CourseManage.java、GetScore.java、GetStuInfo.java、GradeInDB.java、Login.java、NewClass.java、NewCourse.java、NewStu.java、StuClient.java、StuFailGrade.java、StuGrade.java 、StuInfo.java、StuScore.java、TeacherClient.java、TeachSearchInfo.java、Welcome.java学生管理系统除了上述20个Java源文件所给出的类外,还需要Java系统提供的一些重要类,如JButton,JTextField,JTextArea,LinkedList等。

下面是20个Java源文件的功能:(1)Login.java(主类)Login类负责创建学生管理系统登陆界面的主窗口,该类含有main方法,学生管理系统从该类开始执行。

java web 学生信息管理系统项目总结

java web 学生信息管理系统项目总结

java web 学生信息管理系统项目总结Java Web学生信息管理系统项目总结在本次Java Web学生信息管理系统的项目中,我们成功地完成了一个完整的学生信息管理系统,该系统具有以下几个主要功能:学生信息录入、查询、编辑以及删除。

首先,我们使用Java作为开发语言,结合了Java Web开发框架进行项目的搭建。

我们选择了Spring框架作为基础框架,通过Spring MVC实现了前后端的交互,利用Spring的IoC容器管理程序组件,简化了开发过程。

其次,我们使用了MySQL数据库来存储和管理学生信息。

通过JdbcTemplate等技术实现了与数据库的交互,并利用Java的对象关系映射(ORM)框架Hibernate来进行对象和数据库的映射,方便了数据的操作。

在学生信息录入功能中,我们设计了一个表单页面,用户可以输入学生的姓名、年龄、性别等相关信息,并通过点击提交按钮将信息保存到数据库中。

为了保证数据的合法性,我们对用户输入进行了校验,确保只能输入合法的数据。

在查询功能中,我们提供了多种查询方式,用户可以根据学生的姓名、年龄、性别等条件进行查询,并将查询结果以表格的形式展示出来。

为了提高查询效率,我们对查询条件进行了索引优化的处理。

在编辑和删除功能中,我们允许用户对学生信息进行修改和删除操作。

用户可以选择要编辑或删除的学生,然后进行相应的操作。

同时,为了保证安全性,我们限制了只有管理员账户才能进行编辑和删除操作。

此外,我们还实现了用户登录和权限控制功能。

用户需要输入用户名和密码进行登录,验证成功后才能访问学生信息管理系统。

同时,我们还对不同用户角色进行了权限控制,不同角色对系统的操作权限不同。

总的来说,本次Java Web学生信息管理系统项目的开发过程中,我们熟练运用了Java Web开发相关的技术和框架,成功地完成了一个功能完善、稳定可用的学生信息管理系统。

通过这个项目的实践,我们进一步提高了对Java Web开发的理解和熟练度,积累了宝贵的开发经验。

java学生信息管理系统项目总结(一)

java学生信息管理系统项目总结(一)

java学生信息管理系统项目总结(一)前言本文主要总结了我个人在开发Java学生信息管理系统项目中的经验和收获。

这个项目是我个人独立完成的,通过这个项目锻炼了我的编程能力和问题解决能力。

正文功能需求分析•通过需求分析,明确了项目的功能需求,了解了用户对系统的要求和期望。

•对学生信息的增删改查功能进行设计和实现,保证系统的完整性和数据的一致性。

系统设计与架构•设计了系统的架构,采用了MVC(Model-View-Controller)模式,实现了系统的分层和模块化。

•搭建了数据库,设计了学生信息表和关联的表结构,保证了数据的存储和查询效率。

技术选型与开发实践•选择了Java作为开发语言,利用Java的面向对象特性进行系统的设计和开发。

•使用了Java Swing作为前端界面库,实现了用户友好的界面和操作。

•利用JDBC技术完成了与数据库的连接和数据的增删改查操作。

•运用了异常处理机制,提高了系统的容错性和健壮性。

测试与优化•对系统进行了全面的测试,包括单元测试、集成测试和系统测试,确保系统的稳定性和可靠性。

•根据测试结果,对系统进行了优化和改进,提高了系统的性能和用户体验。

结尾通过这个项目,我不仅巩固了Java编程的基础知识,还学到了很多实践经验。

在开发过程中,遇到了很多问题,但通过不断的学习和尝试,我都克服了这些困难。

通过本次项目,我也提高了自己的项目管理能力和团队合作能力。

希望以后能继续不断学习和锻炼,提高自己的技术水平。

前言本文主要总结了我个人在开发Java学生信息管理系统项目中的经验和收获。

这个项目是我个人独立完成的,通过这个项目锻炼了我的编程能力和问题解决能力。

正文功能需求分析•通过需求分析,明确了项目的功能需求,了解了用户对系统的要求和期望。

•对学生信息的增删改查功能进行设计和实现,保证系统的完整性和数据的一致性。

系统设计与架构•设计了系统的架构,采用了MVC(Model-View-Controller)模式,实现了系统的分层和模块化。

学生信息管理系统项目开发总结报告(五篇模版)

学生信息管理系统项目开发总结报告(五篇模版)

学生信息管理系统项目开发总结报告(五篇模版)第一篇:学生信息管理系统项目开发总结报告项目开发总结报告1引言1.1编写目的为了总结报告在工作过程中产生的问题、获得的经验,并且总结报告设计和制作者过程中的逻辑和想法,以便在以后的生产和学习过程中得到进一步提高。

1.2背景说明:a.本项目名称:学生信息管理系统;b.此软件的任务提出者:小组;开发者:全体小组成员。

1.3定义服务器端API :服务器端设计者通过规范的API文档,提供给客户端,以方便客户端的开发,使得同时进行,提高效率,节约时间。

两端通过protocol(协议类)进行通信;用户:用户代指学生用户以及任课教师用户;管理员:负责程序后台管理的工作人员。

1.4参考资料《项目需求说明书》《项目详细设计说明书》《项目概要设计说明书》参考资料:《软件工程导论》《软件文档编写》2实际开发结果2.1产品产品名称:学生成绩管理系统产品功能:软件部分:能够管理和统计表学生成绩,支持老师输入,修改以及查询学生成绩,支持学生查询号自己的成绩和相关资料,支持管理员对学生信息的相关操作。

数据库部分:支持管理员将学生的相关信息在数据库中进行增加,删除和修改。

2.2主要功能和性能功能:2.2.1管理员功能2.2.1.1学籍管理(1)学生注册:新学年一到,新生到学生注册出去注册,那么注册员可以接受新生的注册信息,那么信息就包括学生的基本信息以及简历:(2)学生信息查询:用户可以根据学生的姓名、学号、班级、专业对学生的学籍信息进行查询(3)学生毕业可以成批地处理学生毕业,当然也可以设置学生毕业后学校对他们的资料保存期限(4)修改学籍号用户可以对学生的学号进行更改(5)学籍变动学籍变动包括学生学生换班、退学、插班、结业、休学等操作2.1.1.2收费管理(1)学生缴费标准根据国家收费标准设置各个系各个专业的每年的学费、书费、住宿费等。

(2)学生缴费该接口可实现学生的缴费操作。

(3)学生缴费查询该接口能够以多个关键字对学生学费情况、以及各专业的收费标准进行查询。

学生管理系统实验报告

学生管理系统实验报告

学生管理系统实验报告一、实验目的: 学习学生管理系统java程序编程、编写学生管理系统程序。

二、实验环境: 在软件Eclipse运行环境下运行1.实验步骤:2.在Eclipse环境中创建一个java工程, 然后创建学生管理系统类, 并在这类中编写代码。

3.调试代码, 并进行纠正。

4.检验试验结果, 查看是否符合要求。

5.得到结果。

实验内容代码:import java.awt.*;import java.awt.event.*;import java.sql.*;import java.util.*;import javax.swing.*;import javax.swing.border.*;import javax.swing.JDialog;import javax.swing.JFrame;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.Vector;import javax.swing.table.*;public class Xsglxt extends JFrame implements ActionListener { JPanel mb1,mb2;JLabel bq1;JTextField wbk1;JButton an1,an2,an3,an4;JTable bg1;JScrollPane gd1;Xsxx xsxx2;public static void main(String[] args){Xsglxt xs=new Xsglxt();}public Xsglxt(){mb1=new JPanel();bq1=new JLabel("请输入姓名");wbk1=new JTextField(10);an1=new JButton("查询");an1.addActionListener(this);an1.setActionCommand("chaxun");mb1.add(bq1);mb1.add(wbk1);mb1.add(an1); mb2=new JPanel();an2=new JButton("添加");an2.addActionListener(this);an2.setActionCommand("tianjia");an3=new JButton("修改");an3.addActionListener(this);an3.setActionCommand("xiugai");an4=new JButton("删除");an4.addActionListener(this);an4.setActionCommand("shanchu");mb2.add(an2);mb2.add(an3);mb2.add(an4);xsxx2=new Xsxx();bg1=new JTable(xsxx2);gd1=new JScrollPane(bg1);this.add(gd1);this.add(mb1,"North");this.add(mb2,"South");this.setTitle("学生管理系统");this.setSize(500,400);this.setLocation(201,181);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);}public void actionPerformed(ActionEvent e){if(e.getActionCommand().equals("chaxun")){String xingming=this.wbk1.getText().trim();String sql="select * from xuesheng where xingming='"+xingming+"'";xsxx2=new Xsxx(sql);bg1.setModel(xsxx2);else if(e.getActionCommand().equals("tianjia")){Tianjia tj=new Tianjia(this,"添加学生信息",true);System.out.println("123456");xsxx2=new Xsxx();bg1.setModel(xsxx2);}else if(e.getActionCommand().equals("xiugai")){int ii=this.bg1.getSelectedRow();if(ii==-1){JOptionPane.showMessageDialog(this,"请选中要删除的行");return;}new Xiugai(this,"修改学生信息",true,xsxx2,ii);System.out.println("123456");xsxx2=new Xsxx();bg1.setModel(xsxx2);else if(e.getActionCommand().equals("shanchu")){int ii=this.bg1.getSelectedRow();if(ii==-1){JOptionPane.showMessageDialog(this, "请选中要删除的行");return;}String st=(String)xsxx2.getValueAt(ii,0);PreparedStatement ps=null;Connection ct=null;ResultSet rs=null;Statement sn=null;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");ct=DriverManager.getConnection("jdbc:odbc:sqlserver","sa","12 3456");//String xuehao=this.wbk1.getText().trim();ps=ct.prepareStatement("delete from xuesheng where xuehao=?");ps.setString(1, st);ps.executeUpdate();}catch(Exception c2){e.paramString();}finally{try{if(rs!=null){rs.close();}if(ps!=null){ps.close();}if(ct!=null){ct.close();}}catch(Exception e3){}}xsxx2=new Xsxx();bg1.setModel(xsxx2);}}}import java.awt.*;import java.awt.event.*;import java.sql.*;import java.util.*;import javax.swing.*;import javax.swing.border.*; import javax.swing.JDialog; import javax.swing.JFrame; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet;import java.util.Vector;import javax.swing.table.*;public class Xiugai extends JDialog implements ActionListener { JLabel bq1, bq2, bq3, bq4, bq5, bq6;JTextField wbk1, wbk2, wbk3, wbk4, wbk5, wbk6;JButton an1, an2;JPanel mb1, mb2, mb3, mb4;public Xiugai(Frame fck, String ckm, Boolean msck, Xsxx xsxx2, int hang) {super(fck, ckm, msck);bq1 = new JLabel(" 学号");bq2 = new JLabel(" 姓名");bq3 = new JLabel(" 性别");bq4 = new JLabel(" 年龄");bq5 = new JLabel(" 籍贯");bq6 = new JLabel(" 院系");wbk1 = new JTextField(5);wbk1.setText((String) xsxx2.getValueAt(hang, 0));wbk1.setEditable(false);wbk2 = new JTextField(5);wbk2.setText((String) xsxx2.getValueAt(hang, 1));wbk3 = new JTextField(5);wbk3.setText((String) xsxx2.getValueAt(hang, 2)); wbk4 = new JTextField(5);wbk4.setText((String) xsxx2.getValueAt(hang, 3)); wbk5 = new JTextField(5);wbk5.setText((String) xsxx2.getValueAt(hang, 4)); wbk6 = new JTextField(5);wbk6.setText((String) xsxx2.getValueAt(hang, 5));an1 = new JButton("修改");an1.addActionListener(this);an1.setActionCommand("tiangjia2");an2 = new JButton("取消");an2.addActionListener(this);an2.setActionCommand("quxiao");mb1 = new JPanel();mb2 = new JPanel();mb3 = new JPanel();mb4 = new JPanel();mb1.setLayout(new GridLayout(6, 1));mb2.setLayout(new GridLayout(6, 1));mb1.add(bq1);mb1.add(bq2);mb1.add(bq3);mb1.add(bq4);mb1.add(bq5);mb1.add(bq6);mb2.add(wbk1);mb2.add(wbk2);mb2.add(wbk3);mb2.add(wbk4);mb2.add(wbk5);mb2.add(wbk6);mb3.add(an1);mb3.add(an2);this.add(mb1, BorderLayout.WEST); this.add(mb2);this.add(mb3, BorderLayout.SOUTH); this.add(mb4, BorderLayout.EAST);this.setSize(370, 270);this.setLocation(401, 261);this.setResizable(false);//this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setVisible(true);}public void actionPerformed(ActionEvent e){if(e.getActionCommand().equals("tiangjia2")){PreparedStatement ps=null;Connection ct=null;ResultSet rs=null;Statement sm=null;System.out.println("00000000000");try {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");System.out.println("1111111111");ct=DriverManager.getConnection("jdbc:odbc:sqlserver","sa","12 3456");System.out.println("222222222222");String ss=("update xuesheng set xingming=?,xingbie=?,nianling=?,jiguan=?,yuanxi=? where xuehao='"+wbk1.getText().trim()+"'");ps=ct.prepareStatement(ss);ps.setString(1, wbk2.getText());ps.setString(2, wbk3.getText());ps.setString(3, wbk4.getText());ps.setString(4, wbk5.getText());ps.setString(5, wbk6.getText());ps.executeUpdate();this.dispose();} catch (Exception e1) {e1.printStackTrace();}finally{try{if(rs!=null){rs.close();}if(ps!=null){ps.close();}if(ct!=null){ct.close();}} catch (Exception e3){}}}else if(e.getActionCommand().equals("quxiao")) {this.dispose();}}}import java.awt.*;import java.awt.event.*;import java.sql.*;import java.util.*;import javax.swing.*;import javax.swing.border.*;import javax.swing.JDialog;import javax.swing.JFrame;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.Vector;import javax.swing.table.*;public class Xsxx extends AbstractTableModel {Vector ziduan,jilu;PreparedStatement ps=null;Connection ct=null;ResultSet rs=null;public int getRowCount(){return this.jilu.size();}public int getColumnCount(){return this.ziduan.size();}public Object getValueAt(int hang,int lie){return (((Vector) this.jilu.get(hang)).get(lie)); }public Xsxx(){this.sqlyj("select * from xuesheng");}public Xsxx(String ss){this.sqlyj(ss);}public String getColumnName(int e)return (String)this.ziduan.get(e);}public void sqlyj(String sql){ziduan=new Vector();ziduan.add("学号");ziduan.add("姓名");ziduan.add("性别");ziduan.add("年龄");ziduan.add("籍贯");ziduan.add("所在院系");jilu=new Vector();try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");ct=DriverManager.getConnection("jdbc:odbc:sqlserver","sa","12 3456");ps=ct.prepareStatement(sql);rs=ps.executeQuery();while(rs.next()){Vector hang=new Vector();hang.add(rs.getString(1));hang.add(rs.getString(2));hang.add(rs.getString(3));hang.add(rs.getString(4));hang.add(rs.getString(5));hang.add(rs.getString(6));jilu.add(hang);}}catch (Exception e){e.printStackTrace();} finally{try{if(rs!=null){rs.close();}if(ps!=null){ps.close();}if(ct!=null){ct.close();}} catch (Exception e){} }}}import java.awt.*;import java.awt.event.*;import java.sql.*;import java.util.*;import javax.swing.*;import javax.swing.border.*; import javax.swing.JDialog; import javax.swing.JFrame; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement;import java.sql.ResultSet;import java.util.Vector;import javax.swing.table.*;public class Tianjia extends JDialog implements ActionListener{ JLabel bq1,bq2,bq3,bq4,bq5,bq6;JTextField wbk1,wbk2,wbk3,wbk4,wbk5,wbk6;JButton an1,an2;JPanel mb1,mb2,mb3,mb4;public Tianjia(Frame fck,String ckm,Boolean msck){super(fck,ckm,msck);bq1=new JLabel(" 学号");bq2=new JLabel(" 姓名");bq3=new JLabel(" 性别");bq4=new JLabel(" 年龄");bq5=new JLabel(" 籍贯");bq6=new JLabel(" 院系");wbk1=new JTextField(5);wbk2=new JTextField(5);wbk3=new JTextField(5);wbk4=new JTextField(5);wbk5=new JTextField(5);wbk6=new JTextField(5);an1=new JButton("添加");an1.addActionListener(this);an1.setActionCommand("tiangjia2");an2=new JButton("取消");an2.addActionListener(this);an2.setActionCommand("quxiao");mb1=new JPanel();mb2=new JPanel();mb3=new JPanel();mb4=new JPanel();mb1.setLayout(new GridLayout(6,1));mb2.setLayout(new GridLayout(6,1));mb1.add(bq1); mb1.add(bq2); mb1.add(bq3);mb1.add(bq4); mb1.add(bq5); mb1.add(bq6);mb2.add(wbk1); mb2.add(wbk2); mb2.add(wbk3);mb2.add(wbk4); mb2.add(wbk5); mb2.add(wbk6);mb3.add(an1); mb3.add(an2);this.add(mb1,BorderLayout.WEST);this.add(mb2);this.add(mb3,BorderLayout.SOUTH);this.add(mb4,BorderLayout.EAST);this.setSize(370, 270);this.setLocation(401, 281);this.setResizable(false);this.setVisible(true);}public void actionPerformed(ActionEvent e){if(e.getActionCommand().equals("tiangjia2")){PreparedStatement ps=null;Connection ct=null;ResultSet rs=null;Statement sm=null;try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");ct=DriverManager.getConnection("jdbc:odbc:sqlserver","sa","12 3456");String ss=("insert into xuesheng values(?,?,?,?,?,?)");ps=ct.prepareStatement(ss);ps.setString(1, wbk1.getText());ps.setString(2, wbk2.getText());ps.setString(3, wbk3.getText());ps.setString(4, wbk4.getText());ps.setString(5, wbk5.getText());ps.setString(6, wbk6.getText());ps.executeUpdate();this.dispose();} catch (Exception e2){}finally{try{if(rs!=null){rs.close();}if(ps!=null){ps.close();}if(ct!=null){ct.close();}} catch (Exception e3){}}}else if(e.getActionCommand().equals("quxiao")) {this.dispose();}}}实验小结:实验原道的问题是刚开始时程序只能查询不能添加修改删除等, 经过老师指导后修改程序后, 程序就能完成各项操作了。

学生管理系统总结

学生管理系统总结

学生管理系统总结篇一:学生管理系统设计总结概述随着计算机技术的发展,特别是计算机网络技术与数据库技术的发展,使用人们的生活与工作方式发生了很大的改变。

现代化管理高效、简洁,数据库始于20世纪60年代,经过40多年的发展,现在已经形成了理论体系,成为计算机软件的一个重要分支。

数据库技术体现了当代先进的数据管理方法,使计算机的应用真正渗透到国民经济各个部门,在数据处理领域发挥着越来越大的作用。

而互联网技术的出现,更是进一步丰富的人类生活,数字化生存已经一步步走进我们的生活与工作。

互联网技术与数据库技术的结合为计算的在人类生活中的应用带来了巨大的影响。

产业信息化,管理现代化,科学化已经成为行业发展的重要课题,这不仅是企业提高自身竞争力,甚至是国家提高综合国力,走向国民富强的重要手段。

我国人口众多,学生数目庞大,要进行信息化管理就需要建立合适的信息管理系统,在实现基础的管理功能的同时做好数据的整理、安全功能。

通过使用信息管理系统,可以极大提高工作效率。

背景分析学生信息是学校管理中一项繁琐的工作。

管理人员需要建立学生的学籍,汇总每学期没有拿到规定学分的学生,及这些学生的详细情况;学生完成一门课程的学习后,教师学要录入学生的考试成绩,计算平均成绩,汇总各分数段的人数;学生需要查询已结业的各门课程的成绩;班主任需要查询本班学生的学习情况,包括每个课程的平均成绩和每个学生的考试通过情况。

为此,设计一套实用的学生信息管理系统就可以大大简化管理人员、班主任和任课教师的工作,方便学生查询自己的学习情况。

此外还需要具备良好的扩充能力,以应付未来可能添加的新需求。

在账户管理方面需要分别处理老师和学生的账户,合理分配权限,做好系统安全。

总结学生管理系统是一个典型的数据库管理系统应用。

在制作过程中遇到的困难并不太多,主要是规划文档期间经验不足的问题,需要改很多遍。

接触了软件工程这门课程,我认为软件工程和我们平时上专业课相对来讲一个是宏观一个是微观。

java课程设计学生管理系统报告

java课程设计学生管理系统报告

《Java程序设计》课程设计报告题目:学生管理系统专业:计算机科学与技术班级:学号:姓名:指导教师:完成日期:2013 年月日一、课程设计目的本课程设计的目标就是要达到理论与实际应用相结合,提高学生组织数据及编写大型程序的能力,并培养基本的、良好的程序设计技能以及合作能力。

设计中要求综合运用所学知识,上机解决一些与实际应用结合紧密的、规模较大的问题,通过分析、设计、编码、调试等各环节的训练,使学生深刻理解、牢固掌握数据结构和算法设计技术,掌握分析、解决实际问题的能力。

通过这次设计,要求在数据结构的逻辑特性和物理表示、数据结构的选择和应用、算法的设计及其实现等方面,加深对课程基本内容的理解。

同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。

二、课程设计内容基于文件结构的学生管理系统,可以实现对学生信息的日常管理,可以实现以下要求:(1)实现学生信息录入的功能界面;(2)实现学生信息修改的功能界面;(3)实现学生信息查询的功能界面;(4)实现学生信息删除的功能界面;[选作内容](1)实现学生信息的分类管理;(2)学生信息管理中的优化;二、课程设计过程1.需求分析学生日常管理软件按以下步骤实现:1.登陆界面,有两个选择,一个是学生用户,一个是管理员用户,2.学生用户:可以查询个人信息,修改登陆密码,3.管理员用户:增加,查询,修改,删除学生信息,4.学生信息,用户密码,用户名的存储信息由SQL实现。

(1) 输入的形式和输入值的范围;输入形式以字符串为主。

输入值的范围:登陆界面学生信息:(2) 输出的形式;数据库的数据都是以varchar数据类型,到java前台自动转换成string类型。

(3) 程序所能达到的功能;学生用户可以查询信息,更改账户密码,管理员可以对学生信息进行插入,修改,查询,删除操作。

(4) 测试数据:包括正确的输入及其输出结果和含有错误的输入及其输出结果。

学生管理系统java课程报告总结

学生管理系统java课程报告总结

学生管理系统java课程报告总结学生管理系统是一种用于管理学生、课程、成绩等信息的软件系统,对于学校、教育机构等机构来说非常重要。

本次课程中,我们学习了Java语言和相关技术,其中包括Spring框架、MyBatis框架、MySQL数据库等,最终设计并实现了一个简单的学生管理系统。

本文将总结本次课程中学到的知识,包括系统设计、数据库设计、Java技术栈等方面的内容。

一、系统设计在学生管理系统的设计中,我们需要考虑到系统的功能、用户权限、数据模型等方面。

本次课程中,我们学习了如何使用Spring框架来实现依赖注入、泛型、方法级别的缓存等方面的内容,这些技术可以帮助我们更好地设计系统,提高系统的稳定性和可扩展性。

二、数据库设计在学生管理系统的设计中,我们需要考虑到数据的存储方式。

本次课程中,我们学习了如何使用MyBatis框架来实现持久层编程,包括数据访问层的映射、事务的隔离级别等方面的内容。

同时,我们还学习了如何使用Spring框架提供的JDBC技术来进行数据操作,这些技术可以帮助我们更好地控制数据的流动,提高系统的性能和安全性。

三、Java技术栈在学生管理系统的设计中,我们需要考虑到Java技术栈的使用。

本次课程中,我们学习了如何使用Spring框架来实现依赖注入、泛型、方法级别的缓存等方面的内容,这些技术可以帮助我们更好地设计系统,提高系统的稳定性和可扩展性。

同时,我们还学习了如何使用Java提供的其他技术,例如注解、面向切面编程等方面的内容,这些技术可以帮助我们更好地实现系统的功能和性能。

四、总结本次课程中,我们学习了学生管理系统的设计和实现,包括系统设计、数据库设计、Java技术栈等方面的内容。

通过本次学习,我们掌握了如何设计一个可扩展、可维护、高性能的学生管理系统,同时也提高了我们的编程能力和解决问题的能力。

java学生信息管理系统总结

java学生信息管理系统总结

java学生信息管理系统总结在学生信息管理系统的设计与实现中,我们主要运用了Java语言,MySQL数据库和Swing GUI组件技术。

在项目开发的过程中,我们先进行了需求分析,明确了系统的功能和特点。

然后对于每个功能模块进行了详细的设计,并对设计内容进行了不断的优化和修改。

随后,我们使用MVC分层架构思想对系统进行分层设计,便于后续的代码维护。

在实现过程中,我们注重系统的可靠性和安全性,同时也考虑了系统的用户体验。

在Java语言的使用方面,我们积极应用了多线程、反射、集合等技术,进一步提高了代码的可读性和可扩展性。

在项目中,我们设计了登录模块、学生信息录入模块、学生信息查询模块、学生信息修改模块、学生信息删除模块等多个模块。

登录模块要求用户输入账户和密码,然后通过验证操作来确保用户的安全性;学生信息录入模块需要对输入的学生信息进行格式检查和有效性检验,避免数据出现错误,同时也允许用户添加学生信息、删除学生信息、批量添加学生信息等操作。

学生信息查询模块可以支持根据学生的姓名、学号等关键字进行搜索,查询某个学生的详细信息,并允许导出查询结果。

学生信息修改模块允许用户修改某个学生的信息,同时也提供了修改密码的功能。

学生信息删除模块支持批量删除学生信息,同时我们也引入了回收站功能,防止误删。

接下来,我们着重讨论了两个模块的实现细节:学生信息录入模块学生信息录入模块包括新建一个学生和更新学生信息逻辑。

新建学生信息必须要求填写的数据有“学号”,“姓名”,“班级”,“性别”和“身份证号”。

在设计字段时,涉及到各字段的格式检验、并对输入数据进行有效性判断。

同时,为了提高用户体验,新建学生信息、更新学生信息等操作都需要用户在按钮后再次确认。

学生信息查询模块支持模糊查询,查询方式可以是根据学号查询,也可以是根据学生姓名查询。

在实现这个模块时,我们还考虑到了导出查询结果的功能。

通过导出的方式,用户可以更加方便的操作查询结果,如统计学生成绩、生成学生档案等。

java gui 学生管理系统项目个人总结报告

java gui 学生管理系统项目个人总结报告

java gui 学生管理系统项目个人总结报告摘要:一、项目背景与目标二、项目技术架构与实现三、项目成果与不足四、个人收获与反思正文:一、项目背景与目标在本次Java GUI学生管理系统项目中,我们的目标是设计并实现一个具备基本管理功能的系统,以便于对学校的学生信息进行有效管理。

项目背景源于我国教育行业对信息化管理的迫切需求,通过引入现代化技术手段,提高管理效率,降低人力成本。

二、项目技术架构与实现本项目采用Java作为编程语言,使用Java Swing作为GUI界面库,MySQL作为数据库存储数据。

项目主要包括以下几个模块:学生信息录入、学生信息查询、学生信息修改、学生信息删除以及成绩管理等。

在实现过程中,我们遵循了面向对象的设计原则,将各个功能模块划分为相应的类,实现了模块间的解耦合,提高了代码的可维护性和可扩展性。

同时,采用数据库事务处理保证数据操作的完整性和一致性。

三、项目成果与不足经过努力,我们成功完成了项目的基本功能,实现了学生管理系统的GUI界面,并能够正常运行。

通过测试,系统在基本操作上的稳定性和可靠性得到了验证。

然而,项目仍存在一定的不足,例如在数据查询模块中,查询效率有待提高;部分功能的实现较为简单,可优化空间较大。

四、个人收获与反思在本次项目中,我不仅学到了Java编程语言及相关库的使用,还掌握了面向对象编程的基本思想。

在项目实施过程中,我深刻体会到了团队协作、时间管理、沟通协调等方面的重要性。

同时,项目中的不足也让我认识到自己在技术能力和综合素质方面的欠缺,需要不断提高。

总结:本次Java GUI学生管理系统项目虽然取得了一定的成果,但仍存在诸多不足,需要在以后的学习和工作中不断改进。

java学生管理系统课程设计报告设计总结

java学生管理系统课程设计报告设计总结

Java学生管理系统课程设计报告设计总结1. 引言学生管理系统是一种优化学校管理流程的工具,它允许学校和教育机构更好地管理学生的信息和学术记录。

本文档为Java学生管理系统的课程设计报告的设计总结部分。

2. 设计背景学生管理系统的设计旨在提高学校管理效率,简化教师和学生的信息管理并加强学校与学生之间的沟通。

该系统主要包括学生信息管理、教师信息管理、课程管理、成绩管理、课程表管理等功能模块。

3. 设计目标本次课程设计的目标是设计并实现一个基于Java的学生管理系统,该系统应具有以下功能: - 学生信息管理:管理学生的基本信息,包括学号、姓名、性别、出生日期、联系方式等。

- 教师信息管理:管理教师的基本信息,包括教师号、姓名、性别、联系方式等。

- 课程管理:管理学校开设的课程信息,包括课程名称、授课教师、上课时间等。

- 成绩管理:记录学生在各门课程上的成绩。

- 课程表管理:根据学生和教师的信息生成相应的课程表。

4. 系统设计4.1 系统架构本设计采用三层架构:表示层、业务逻辑层、数据访问层。

- 表示层:负责与用户交互,展示系统的功能和数据。

- 业务逻辑层:处理用户的请求,进行业务处理,并调用数据访问层的接口。

- 数据访问层:负责与数据库进行交互,提供数据的增删改查操作。

4.2 模块设计本系统根据功能划分为以下几个模块: - 学生信息管理模块:实现对学生基本信息的增删改查操作。

- 教师信息管理模块:实现对教师基本信息的增删改查操作。

- 课程管理模块:实现对课程信息的增删改查操作。

- 成绩管理模块:实现对学生成绩的录入和查询操作。

- 课程表管理模块:根据学生和教师的信息生成相应的课程表。

4.3 数据库设计本系统使用MySQL数据库存储数据,设计了以下几张表: - 学生表:用于存储学生的基本信息。

- 教师表:用于存储教师的基本信息。

- 课程表:用于存储学校开设的课程信息。

- 成绩表:用于存储学生的成绩信息。

学生管理系统java实验报告

学生管理系统java实验报告

学生管理系统java实验报告一、实验目的本实验旨在设计一个学生管理系统,使用Java编程语言,通过面向对象的方式进行设计与实现。

二、实验内容1. 设计并实现学生类,包括学号、姓名、性别、年龄等属性,并提供对应的构造方法和操作方法。

2. 设计并实现学生管理类,包括添加学生、删除学生、查找学生、修改学生信息等操作。

3. 提供一个主程序,可以通过用户输入选择对应的学生管理操作。

三、实验步骤1. 首先,创建一个学生类`Student`,包括学号、姓名、性别、年龄等属性,并提供对应的构造方法和操作方法。

javapublic class Student {private String studentId;private String name;private String gender;private int age;public Student(String studentId, String name, String gender, int age) {this.studentId = studentId; = name;this.gender = gender;this.age = age;}Getter and Setter methodsOther methods (e.g., toString())}2. 接着,创建一个学生管理类`StudentManager`,包括添加学生、删除学生、查找学生、修改学生信息等操作。

javaimport java.util.ArrayList;public class StudentManager {private ArrayList<Student> students;public StudentManager() {students = new ArrayList<Student>();}public void addStudent(Student student) { students.add(student);System.out.println("学生添加成功!");}public void deleteStudent(String studentId) {for (int i = 0; i < students.size(); i++) {if (students.get(i).getStudentId().equals(studentId)) { students.remove(i);System.out.println("学生删除成功!");return;}}System.out.println("未找到该学生,删除失败!");}public Student findStudent(String studentId) {for (int i = 0; i < students.size(); i++) {if (students.get(i).getStudentId().equals(studentId)) {return students.get(i);}}return null;}public void updateStudent(Student student) {for (int i = 0; i < students.size(); i++) {if(students.get(i).getStudentId().equals(student.getStudentId())) {students.set(i, student);System.out.println("学生信息更新成功!");return;}}System.out.println("未找到该学生,更新失败!");}Other methods (e.g., displayAllStudents())}3. 最后,编写一个主程序`Main`,可以通过用户输入选择对应的学生管理操作。

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

成都东软信息技术职业学院期末项目报告项目名称:学生管理系统系别:计算机科学与技术系年级专业:xx级软件技术班级:x学号:xx学生姓名:xxxx年 xx 月 xx 日1.项目内容及知识应用1.1项目完成内容首先实现登录模块,分为教室登录和学生登录登录界面有一个下拉条分别为学生和教师,选中哪一个就会登录到相应的界面学生管理系统分为两大块:学生和教师两个模块学生登录后进入学生界面,学生界面有菜单项和按钮学生界面里面有查询自己的成绩,查询自己的详细信息,还可以修改密码,修改自己的信息,菜单项还有帮助等按钮教师界面里面可以增加学生,显示所有学生的成绩,查找学生,查询学生的详细信息,删除学生的成绩和删除学生,还有刷新和退出等功能教室界面当点击选中学生时在上面的标签面板会显示学生的详细信息,当查询学生的详细信息时会之间进入该学生的学生面板,教师就可以对学生的信息进行修改刚登录教师界面时系统启用了另外一个线程,会默认加载所有的学生成绩和信息,当教师点击“显示所有成绩”时就会马上把学生成绩的面板显示在界面上,所有教师就无需等待系统加载教师界面当老师点击刷新时,会再启动一个线程来重新把学生的信息加载到内存然后显示到界面上教师界面的成绩表中还有总分和平均分,系统加载的时候会自动计算每一个学生的总分和平均分教师还可以直接在成绩表中修改学生的成绩,用以来会很方便,修改成绩后要点击刷新按钮来刷新总分和平均分教室界面还增加了班级的分类,可以查看所有的班级,也可以查看一个班级的学生信息学生管理系统还增加了上传照片的功能,每个学生都可以上传自己的照片,老师也可以帮学生上传照片1.2知识(点)应用以及经验总结该学生管理系统采用了分层的思想而且参考了MVC设计模式,但是都做得不够完美。

该系统分为业务逻辑层、实体层和显示层:⏹业务逻辑层(niit.student.manage)有StudentManage、GradeManage、PasswordNotFountException、StduentNotFountException和GradeNotFountException。

先写了一个工具类(DBConnection),负责与数据库的连接,业务逻辑层联系数据库实体、显示层。

进行综合的控制与处理。

这里自定义了几个异常类,主要是抛出无法找到相应类的异常。

这样就可以返回多个结果。

⏹实体层(niit.student)有两个类Student和Grade,是根据数据库里面的表来实现的,字段就是实体里面的属性还有所有属性的get和set方法,也可以写几个构造方法,没有其他的方法。

业务逻辑层就操作这两个类。

⏹显示层(niit.student.view)有Login、StduentGrade、Teacher、ImagePanel、ShowImage、Uploading这六个类。

主要是负责显示给客户,用于和客户交互信息。

所有学生成绩用一个表来显示,Teacher类有另外一个线程来读取所有学生的成绩,在表中教师可以直接在表中修改学生的成绩,修改过后系统会自动修改数据库的数据,来实现动态修改。

⏹显示层主要是添加的内部匿名监听,由于会有重复监听所以大部分监听都分别写了一个方法,来调用这个方法。

⏹每个学生都可以上传自己的照片,在有照片的情况下,老师可以看到学生的照片这样可以让老师更快的认识每一个学生,点击学生的照片可以放大该学生的照片,点击别的地方该放大的照片就会消失该系统主要用到的知识有:⏹流程控制⏹类和对象⏹类的继承⏹接口和多态⏹数组⏹顺序表⏹数据库编程⏹常用的GUI组件⏹JTable⏹多线程⏹事件处理2.项目实现及关键代码(各个功能界面截图+代码说明,代码为关键代码并加入注释)系统流程图niit.student..Stduent类说明:此类是一个学生的模型类,提供了学生的属性和get、set方法,便于StudentManage 来操作还提供了几个构造方法。

niit.student.Grade类说明:此类是成绩模型类,提供了成绩的属性和get、set方法和几个构造方法,便于GradeManage来操作。

niit.student.util.DBConnection类说明:这个类的功能是与底层数据库创建连接给逻辑处理层,还有关闭连接的相关功能。

//管理与数据库的连接public class DBConnection {static {try {Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");} catch (ClassNotFoundException e) {e.printStackTrace();}}public static Connection getConn() throws SQLException { Connection conn = DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName = studentManage","sa", "580000");return conn;}//数据库关闭的方法public static void closePstmt(PreparedStatement pstmt) { if (pstmt != null) {try {pstmt.close();} catch (SQLException e) {e.printStackTrace();}}}public static ResultSet executeQuery(PreparedStatement pstmt) throws SQLException {ResultSet rs = pstmt.executeQuery();return rs;}public static void closeRs(ResultSet rs) {if (rs != null) {try {rs.close();} catch (SQLException e) {e.printStackTrace();}}}}niit.student.manage.StudentManage类说明:此类是逻辑处理层里面的学生管理类,有添加学生、删除学生、修改学生信息、检查学生是否登录成功、查找学生等方法,显示层可以直接调用这些方法来实现需要的功能。

其中查找方法是有方法的组合。

public class StudentManage {// 添加学生public static boolean add(Student s) {Connection conn = null;PreparedStatement pstmt = null;boolean flag = false;try {conn = DBConnection.getConn();String sql = "insert into student(studentID, studentName, password, sex, birth, phone, qq, homeAddr, entranceTime)values(?, ?, ?, ?, ?, ?, ?, ?, ?)";pstmt = DBConnection.getPstmt(conn, sql);pstmt.setString(1, s.getStudentID());pstmt.setString(2, s.getStudentName());pstmt.setString(3, s.getPassword());pstmt.setString(4, s.getSex());pstmt.setDate(5, s.getBirth());pstmt.setString(6, s.getPhone());pstmt.setString(7, s.getQq());pstmt.setString(8, s.getHomeAddr());pstmt.setDate(9, s.getEntranceTime());if (pstmt.executeUpdate() > 0) {flag = true;}} catch (SQLException e) {e.printStackTrace();} finally {DBConnection.closePstmt(pstmt);DBConnection.closeConn(conn);}return flag;}// 修改学生信息public static boolean update(Student s) {Connection conn = null;PreparedStatement pstmt = null;boolean flag = false;try {conn = DBConnection.getConn();String sql = "update student set studentName = ?, password = ?, sex = ?, birth = ?, phone = ?, qq = ?, homeAddr = ?, entranceTime = ? where studentID = ?";pstmt = DBConnection.getPstmt(conn, sql);pstmt.setString(1, s.getStudentName());pstmt.setString(2, s.getPassword());pstmt.setString(3, s.getSex());pstmt.setDate(4, s.getBirth());pstmt.setString(5, s.getPhone());pstmt.setString(6, s.getQq());pstmt.setString(7, s.getHomeAddr());pstmt.setDate(8, s.getEntranceTime());pstmt.setString(9, s.getStudentID());if (pstmt.executeUpdate() > 0) {flag = true;}} catch (SQLException e) {e.printStackTrace();} finally {DBConnection.closePstmt(pstmt);DBConnection.closeConn(conn);}return flag;}// 检查学生登录是否成功public static Student check(String studentID, String password) throws StudentNotFoundException, PasswordNotCorrectException {Student student = null;Connection conn = null;PreparedStatement pstmt = null;ResultSet rs = null;try {conn = DBConnection.getConn();String sql = "select * from student where studentID = ?";pstmt = DBConnection.getPstmt(conn, sql);pstmt.setString(1, studentID);rs = DBConnection.executeQuery(pstmt);if (!rs.next()) {throw new StudentNotFoundException();} else if(!rs.getString("password").trim().equals(password)) {// System.out.println(rs.getString("password"));// System.out.println(password);throw new PasswordNotCorrectException();} else {student = new Student(rs.getString(1), rs.getString(2),rs.getString(3), rs.getString(4), rs.getDate(5),rs.getString(6), rs.getString(7),rs.getString(8),rs.getDate(9));}} catch (SQLException e) {e.printStackTrace();} finally {DBConnection.closeRs(rs);DBConnection.closePstmt(pstmt);DBConnection.closeConn(conn);}return student;}niit.student.manage.GradeManage类说明:此类是逻辑处理层里面的成绩管理类,有添加成绩、删除成绩、修改成绩、查找成绩等方法,显示层可以直接调用这些方法来实现需要的功能。

相关文档
最新文档