学生信息管理系统课程设计报告
- 格式:doc
- 大小:274.50 KB
- 文档页数:36
Python学生管理系统课程设计报告1. 引言学生管理系统是一种用于学校、教育机构或培训中心等教育场景的信息管理工具。
本文将介绍一个基于Python的学生管理系统的设计与实现。
该系统旨在简化学生信息管理的过程,提高学校教务工作的效率和准确性。
2. 设计目标本学生管理系统的设计目标如下: - 实现学生信息的录入、修改和删除功能; - 提供课程管理功能,包括课程录入和成绩管理; - 支持学生信息和课程信息的查询和统计; - 提供用户登录和权限管理功能。
3. 功能设计3.1 学生信息管理学生信息管理是系统的核心功能之一,包括学生信息的录入、修改和删除操作。
学生信息包括学号、姓名、性别、出生日期、班级等基本信息。
3.2 课程管理课程管理功能包括课程的录入和成绩管理。
课程信息包括课程代码、课程名称和授课教师等基本信息。
成绩管理功能允许教师录入学生的课程成绩。
3.3 信息查询与统计学生管理系统提供学生信息和课程信息的查询功能,用户可以根据学号、姓名或课程代码进行查询。
此外,系统还提供了学生信息和课程信息的统计功能,如统计某个班级的学生人数,或计算某门课程的平均成绩等。
3.4 登录和权限管理学生管理系统允许用户通过登录身份验证功能进入系统。
不同用户具有不同的权限,例如学生只能查询自己的信息,而教师可以进行成绩录入和修改等操作。
4. 系统架构学生管理系统采用三层架构,包括数据层、业务逻辑层和用户界面层。
4.1 数据层数据层负责与数据库进行交互,包括对学生信息和课程信息进行增删改查操作。
可以使用SQL语言或ORM(对象关系映射)框架进行数据操作。
4.2 业务逻辑层业务逻辑层负责处理系统的业务逻辑,包括学生信息管理、课程管理、成绩管理、信息查询与统计等功能的实现。
业务逻辑层将接收用户界面层的请求并调用数据层的接口进行数据操作。
4.3 用户界面层用户界面层是用户与系统交互的界面,可以通过命令行界面(CLI)或图形界面(GUI)来实现。
学生信息管理系统web课程设计1. 引言学生信息管理系统是一个用于管理学生信息的应用程序。
它提供了方便快捷的方式来记录和查看学生的个人信息、成绩、课程等相关数据。
本文将介绍一个基于web 的学生信息管理系统的设计。
2. 系统需求分析2.1 功能需求•学生信息录入:包括学生基本信息(姓名、性别、年龄等)、联系方式、家庭背景等。
•学生成绩录入:包括每门课程的成绩以及总成绩计算。
•学生课程管理:包括选课、退课等操作。
•学生信息查询:可以按照学号、姓名等条件进行学生信息的查询和显示。
•学生成绩查询:可以按照学号、姓名等条件进行学生成绩的查询和显示。
2.2 非功能需求•界面友好:用户界面应该简洁明了,操作方便,用户能够快速上手使用。
•安全性:对于敏感数据(如学生个人隐私),需要进行安全保护,防止未授权访问。
•性能要求:系统需要具备良好的性能,能够快速响应用户请求,并支持大量并发访问。
3. 系统设计3.1 技术选型•前端技术:使用HTML、CSS和JavaScript进行前端开发,借助Bootstrap 等框架提供的组件和样式。
•后端技术:使用Python的Web框架(如Django、Flask)进行后端开发,通过ORM(对象关系映射)技术与数据库进行交互。
•数据库:使用关系型数据库(如MySQL、PostgreSQL)存储学生信息和成绩数据。
3.2 系统架构学生信息管理系统采用MVC(模型-视图-控制器)架构,以实现前后端的解耦和代码的复用。
•模型(Model):负责处理数据逻辑,包括与数据库的交互、数据验证等。
•视图(View):负责展示数据给用户,并接收用户的输入。
•控制器(Controller):负责处理用户请求,调用相应的模型和视图进行处理。
3.3 数据库设计学生信息管理系统需要设计两个主要的数据表:学生表和成绩表。
学生表设计字段类型描述学号字符串主键姓名字符串性别枚举类型年龄整数联系方式字符串家庭背景字符串成绩表设计字段类型描述学号字符串外键课程名称字符串主键成绩浮点数3.4 界面设计学生信息管理系统的界面应该简洁明了,操作方便。
学生管理系统课程设计报告一、概述学生管理系统是一个用于实现对学生信息管理的一个系统,该系统包括学生信息的增加、修改、删除、查询、统计等功能。
该系统主要功能为便捷的记录学生的个人信息,包括学生姓名、学号、性别、出生日期、联系方式、住址、班级、专业、成绩等;方便地对学生信息进行管理,以方便教师和学校管理者进行相关决策。
二、需求分析该系统的主要功能需求如下:1、学生信息管理:该系统将记录每个学生的个人信息,包括但不限于姓名、学号、性别、出生日期、联系方式、住址、班级、专业、成绩等。
2、学生信息查询:用户可以通过学生姓名、学号等信息快速检索和查找学生信息。
3、学生信息统计:该系统能够统计每个班级、专业或整个学校的学生人数、男女比例、平均分等数据。
4、用户管理:该系统还将包括对用户的身份验证、用户的添加、修改和删除。
5、安全性:该系统需要确保数据安全,只有经过身份验证的用户方可进行敏感操作。
三、系统设计1、架构设计:该系统的架构设计采用三层结构,即表示层、业务逻辑层和数据访问层。
其中表示层主要负责用户界面的展示和数据的呈现;业务逻辑层则负责系统的业务逻辑设计和实现,包括对用户的身份认证、数据库的访问等;数据访问层负责数据和文件的访问,进行数据库的增删改查等操作。
2、具体模块设计:(1)用户认证模块:在系统运行时,需要对用户进行身份认证,只有认证通过后,才能使用系统。
(2)用户管理模块:该模块负责对用户的添加、删除和修改等操作。
(3)学生信息管理模块:该模块包括学生信息的添加、修改、删除和查询等功能。
同时,还包括对学生信息的导入和导出功能,方便用户存储和备份信息。
(4)学生信息统计模块:该模块主要负责对学生信息进行统计,包括不同年级、班级、专业的学生人数、男女比例和平均分等数据。
(5)系统设置模块:该模块负责系统日志的管理和系统参数的设置,可以方便地对系统进行优化和调试。
(6)界面设计:系统的界面设计需要清晰、实用、方便用户使用。
Java Web学生管理系统课设报告一、引言1.1 课题背景随着信息化技术的发展,学校需要一种能够方便管理学生信息的系统,以提高管理效率。
因此,开发一款基于Java Web的学生管理系统具有重要意义。
1.2 目的和意义本课题旨在设计和实现一个基于Java Web的学生管理系统,通过该系统实现学生信息的录入、查询、修改、删除等操作,从而方便学校对学生信息的管理,提高管理效率。
1.3 任务和要求本课题的任务是设计和实现一个基于Java Web的学生管理系统,要求系统能够实现以下功能:学生信息录入、查询、修改、删除等操作;学生信息按班级、学号、姓名等条件进行查询;数据持久化存储等。
二、系统分析2.1 系统需求分析根据学校对学生信息管理的实际需求,本系统需要实现以下功能:学生信息录入、查询、修改、删除等操作;学生信息按班级、学号、姓名等条件进行查询;数据持久化存储等。
2.2 业务流程分析学生管理系统的业务流程主要包括:学生信息录入、查询、修改、删除等操作。
其中,学生信息录入是整个业务流程的起点,通过录入学生信息,将数据存储到数据库中。
然后,可以通过查询功能根据不同条件对学生信息进行查询。
当学生信息需要修改或删除时,可以通过相应的操作进行修改或删除。
2.3 数据流程分析学生管理系统的数据流程主要包括:数据输入、数据处理和数据输出三个部分。
其中,数据输入主要是学生信息的录入;数据处理主要是对学生信息进行查询、修改、删除等操作;数据输出主要是将处理后的学生信息展示给用户。
在整个数据流程中,需要保证数据的准确性和完整性。
三、系统设计3.1 系统架构设计本系统采用MVC设计模式进行开发,分为模型层、视图层和控制层三个部分。
模型层主要负责业务逻辑的处理和数据的封装;视图层主要负责用户界面的展示;控制层主要负责接收用户的请求并调用模型层进行处理,然后将结果返回给视图层展示给用户。
3.2 数据库设计本系统采用MySQL数据库进行数据的存储和处理。
数据库学生管理系统课程设计报告一、引言学生管理系统是一种能够有效管理学校教育信息的软件系统。
本报告旨在设计一个基于数据库的学生管理系统,以便学校能够更好地管理学生信息、课程信息和成绩信息。
二、系统需求分析1. 学生信息管理学生信息包括学生的基本信息(如学号、姓名、性别、年龄、专业等)和联系方式。
系统应能够实现学生信息的录入、修改、查询和删除操作。
2. 课程信息管理课程信息包括课程编号、课程名称、授课教师和学分。
系统应能够实现课程信息的录入、修改、查询和删除操作。
3. 成绩信息管理成绩信息包括学生学号、课程编号、成绩和考试时间等。
系统应能够实现成绩信息的录入、修改、查询和删除操作,并能够计算学生的平均成绩和排名情况。
三、系统设计1. 数据库设计设计一个关系型数据库,包括学生表(Student)、课程表(Course)和成绩表(Score)。
学生表包含学号、姓名、性别、年龄、专业等字段;课程表包含课程编号、课程名称、教师等字段;成绩表包含学号、课程编号、成绩、考试时间等字段。
2. 界面设计设计一个简洁直观的用户界面,包括学生信息管理、课程信息管理和成绩信息管理等功能模块,为用户提供友好的交互体验。
四、系统实现基于数据库设计和界面设计,利用编程语言(如Java)实现学生管理系统功能。
通过编码和调试,确保系统功能正常运行。
五、系统测试对学生管理系统进行全面测试,包括功能测试、性能测试和安全测试等,保证系统的稳定性和可靠性。
六、系统优化根据测试结果和用户反馈,不断优化学生管理系统,提高系统的效率和用户体验。
七、总结通过学生管理系统课程设计,我对数据库设计、界面设计和系统实现有了更深入的理解。
希望这一设计能够为学校的教育信息管理提供一定的参考和帮助。
WORD格式*********大学课程设计报告课程名称高级语言程序设计设计题目学生信息管理系统专业计算机科学与技术班级学号姓名完成日期课程设计任务书设计题目:学生信息管理系统设计设计内容与要求:内容:对学生信息进行管理,学生信息包括学号、姓名、性别、年龄、学历、学号、住址、电话等(学号不重复)。
要求:(1)系统以菜单方式工作(2)学生信息录入功能(学生信息用文件保存)。
(3)输出学生信息、浏览学生信息功能。
(4)查询和排序功能:(至少一种查询方式),如按学号查询、按学历查询等。
(5)学生信息删除、修改功能(任选项)。
指导教师:_______________年月日课程设计评语成绩:指导教师:_______________年月日【问题描述】学生信息管理软件设计。
对学生信息进行管理,学生信息包括:学号,姓名,年龄,性别,出生年月,地址,电话,E-mail等。
试设计一个学生信息管理软件。
【基本要求】一、输入的形式和输入值的范围形式:用scanf输入学生的学号,姓名,年龄,性别,出生年月,地址,电话,E-mail。
输入一个学生信息一个回车。
用输入的学号p1->num来控制输入,当输入的学号为0时,用break跳出循环。
即if(p1->num==0)break。
输入值的范围:学号、年龄为整型longnum;intage;姓名为字符串型15个字节charname[15];性别为字符串型,10个字节charsex[10];出生为字符串型,20个字节charchushen[20];地址为字符串型,30个字节chardizhi[30];邮箱为字符串型,输入11位数字charemail[11]。
二、输出的形式输出是以表格的形式输出,即表格的每一行都能显示第一个学生的信息,第二行是显示第二个学生的信息。
三、程序所能达到的功能对学生信息进行管理,学生信息包括职学号,姓名,年龄,性别,出生年月,地址,电话,E-mail。
学生管理系统的课程设计一、教学目标本课程旨在让学生了解和掌握学生管理系统的基本概念、设计与实现。
通过本课程的学习,学生应达到以下目标:1.知识目标:•理解学生管理系统的基本原理和架构;•掌握学生管理系统的核心功能和操作方法;•了解学生管理系统的发展趋势和应用场景。
2.技能目标:•能够使用学生管理系统进行日常的学生信息管理;•能够根据实际需求设计和定制学生管理系统的功能;•能够对 student management system 进行简单的维护和故障排除。
3.情感态度价值观目标:•培养学生对信息技术应用的积极态度和兴趣;•培养学生对 student management system 的正确使用和保护意识;•培养学生对团队协作和信息共享的重要性认识。
二、教学内容本课程的教学内容主要包括以下几个部分:1.学生管理系统概述:介绍学生管理系统的基本概念、功能和应用场景;2.学生管理系统设计:讲解学生管理系统的设计原理、架构和关键技术;3.学生管理系统的实现:介绍学生管理系统的开发过程、编程语言和工具;4.学生管理系统的使用和维护:讲解学生管理系统的日常使用、维护方法和故障排除技巧。
三、教学方法为了提高教学效果和学生的参与度,本课程将采用以下教学方法:1.讲授法:教师通过讲解和演示,向学生传授学生管理系统的基本知识和技能;2.案例分析法:通过分析实际案例,让学生了解学生管理系统的应用场景和解决方案;3.实验法:学生通过实际操作和实验,掌握学生管理系统的使用和维护方法;4.讨论法:学生分组讨论和分享,培养团队合作和问题解决能力。
四、教学资源为了支持本课程的教学,我们将提供以下教学资源:1.教材:选用权威、实用的学生管理系统教材,为学生提供系统的理论知识;2.参考书:提供相关的参考书籍,丰富学生的知识体系;3.多媒体资料:制作教学PPT、视频等多媒体资料,提高教学的生动性和趣味性;4.实验设备:提供学生管理系统实验环境,让学生能够进行实际操作和实验。
java课程设计学生信息管理系统一、教学目标本节课的教学目标是使学生掌握Java编程语言的基本语法和编程技巧,能够运用Java语言实现简单的学生信息管理系统。
具体目标如下:1.知识目标:–掌握Java语言的基本语法和数据结构;–理解面向对象编程的基本概念和方法;–了解学生信息管理系统的功能和结构。
2.技能目标:–能够使用Java语言编写简单的程序;–能够运用面向对象编程方法设计和实现学生信息管理系统;–能够对程序进行调试和优化。
3.情感态度价值观目标:–培养学生的编程兴趣和自主学习能力;–培养学生解决问题的能力和团队合作精神;–使学生认识到计算机技术在现实生活中的重要性和应用价值。
二、教学内容本节课的教学内容主要包括以下几个部分:1.Java语言的基本语法和数据结构;2.面向对象编程的基本概念和方法;3.学生信息管理系统的功能和结构;4.学生信息管理系统的实现和优化。
具体安排如下:1.第1-2课时:讲解Java语言的基本语法和数据结构;2.第3-4课时:讲解面向对象编程的基本概念和方法;3.第5-6课时:介绍学生信息管理系统的功能和结构;4.第7-8课时:引导学生实现和优化学生信息管理系统。
三、教学方法本节课采用多种教学方法相结合的方式,以激发学生的学习兴趣和主动性:1.讲授法:讲解Java语言的基本语法和数据结构,面向对象编程的基本概念和方法;2.案例分析法:分析实际的学生信息管理系统的案例,使学生更好地理解理论知识;3.实验法:引导学生动手实现和优化学生信息管理系统,提高学生的实际编程能力。
四、教学资源本节课所需的教学资源包括:1.教材:Java编程语言相关教材;2.参考书:面向对象编程相关参考书;3.多媒体资料:讲解Java语言和面向对象编程的PPT;4.实验设备:计算机和网络设备,以便进行编程实践。
五、教学评估本节课的教学评估将采用多元化评价方式,以全面、客观、公正地评估学生的学习成果。
学生信息管理系统课程设计 java一、课程目标知识目标:1. 让学生理解学生信息管理系统的基本概念,掌握Java语言实现该系统的核心知识,包括类的定义、对象的使用、集合框架等。
2. 使学生掌握如何使用Java编写数据库连接程序,实现对数据库的增、删、改、查等基本操作。
3. 帮助学生了解Java GUI编程,能够使用Swing组件设计出友好的用户界面。
技能目标:1. 培养学生运用Java语言设计并实现学生信息管理系统,提高编程实践能力。
2. 培养学生分析问题、解决问题的能力,能够根据需求独立完成系统功能模块的设计与实现。
3. 培养学生具备一定的项目开发经验,能够进行团队合作,分工协作完成项目。
情感态度价值观目标:1. 激发学生对Java编程的兴趣,培养其主动学习的习惯,提高学习积极性。
2. 培养学生具备良好的编程习惯,注重代码规范,提高代码质量。
3. 培养学生的团队协作意识,使其认识到团队协作的重要性,学会与他人共同解决问题。
课程性质:本课程为实践性较强的Java语言课程,以项目驱动的方式进行教学,旨在提高学生的编程能力、项目开发能力和团队协作能力。
学生特点:学生已具备一定的Java基础,具有一定的编程能力,但缺乏实际项目经验和团队协作能力。
教学要求:结合学生特点,注重实践操作,引导学生主动参与,充分调动学生的积极性,培养其编程实践和团队协作能力。
在教学过程中,将课程目标分解为具体的学习成果,以便进行教学设计和评估。
二、教学内容1. Java基础回顾:包括类与对象、继承与多态、集合框架等基础知识,对应教材第一章至第四章。
- 类与对象:定义类、创建对象、封装、构造方法等。
- 继承与多态:继承的概念、方法重写、多态性等。
- 集合框架:常用集合类、迭代器、泛型等。
2. 数据库连接与操作:学习JDBC技术,实现与数据库的连接、数据查询、插入、删除和修改操作,对应教材第五章。
- JDBC概念与使用:理解JDBC的作用,掌握JDBC API的使用。
课设名称:学生信息管理系统院(系):信息科学与工程学院*名:***学号:201410411406年级:2014级专业班级:计算机科学与技术4班指导教师:***时间:2016年11月目录第一部分摘要 (2)第二部分目的背景与意义 (4)第三部分需求分析 (4)第四部分系统设计 (4)4.1 结构设计 (4)4.2 功能结构图 (5)4.3 功能流程以及工作流描述 (6)第五部分数据库的设计 (7)5.1数据库设计 (7)5.2数据表的设计 (7)第六部分详细设计 (7)6.1 学生管理系统主界面模块 (8)6.2 学生信息管理模块 (9)6.3 课程信息管理模块 (11)6.4 查询模块 (11)图6.5 数据库操作模块 (11)第七部分课程设计心得 (11)第一部分摘要该项目开发的软件为学校学生信息管理系统软件,是鉴于目前学校学生人数剧增,学生信息呈爆炸性增长的前提下,学校对学生信息管理的自动化与准确化的要求日益强烈的背景下构思出来的,该软件设计完成后可用于所有教育单位(包括学校,学院等等)的学生信息的管理。
目前社会上信息管理系统发展飞快,各个企事业单位都引入了信息管理软件来管理自己日益增长的各种信息,学生管理系统也是有了很大的发展,商业化的学生信息管理软件也不少,但本系统完全独立开发,力求使系统功能简洁明了,但功能齐全且易于操作。
学生信息管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要。
本文介绍了学生信息管理系统的开发整个过程,阐述了系统分析、系统设计、数据库设计和系统实施的全过程。
在开发方法上本系统利用了软件工程化的思想和方法,总体上采用结构化生命周期开发方法,具体模块实施采用了原型法和面向对象系统开发方法。
并采用JAVA作为开发工具,mysql作为后台数据库。
本系统具有学生管理、课程管理、成绩管理、信息查询等功能,分成四大模块,每个模块都相互联系,但不相互干扰,这符合了软件模块开发的思想。
本系统完成了学生信息的增加、修改、删除、查询和选课,课程信息的增加、修改、删除、查询,成绩的添加、修改、查询等功能。
【关键字】:信息管理系统、模块设计、软件工程。
第二部分目的背景与意义学生信息管理系统是一个教育单位不可缺少的部分。
一个功能齐全、简单易用的信息管理系统不但能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要,所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差,人工的大量浪费;另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少困难。
随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着来越重要的作用。
作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高学校信息管理的效率,也是一个单位科学化、正规化管理,与世界接轨的重要条件。
第三部分需求分析学生信息管理系统的功能总结起来,共需要以下几个方面:1.学生信息管理管理所有学生的基本信息,包括增加、修改、删除等,也可以根据各种条件查询出需要的信息。
2.课程信息管理管理所有课程的基本信息,包括增加、修改、删除等,也可以根据各种条件查询出需要的信息。
3.选课与成绩管理根据学号进行选课,登记课程的成绩,可以根据学号查询出来选课信息与成绩。
第四部分系统设计4.1 结构设计根据对系统的需求分析,本系统将分为4个模块:●学生管理:管理学生的基本信息,包括个人信息的添加、修改、删除,以及选课信息的添加。
●课程管理:管理课程的基本信息,包括课程信息的添加、修改和删除。
●成绩管理:管理学生的选课的成绩信息,包括成绩的登记与修改。
●信息查询:查询已经登记的信息,包括学生的基本信息、课程的基本信息与成绩信息。
4.2 功能结构图系统的功能结构如图1所示。
图1 学生管理系统功能结构图4.3 功能流程以及工作流描述1.增加学生信息系统操作人员打开学生信息添加界面,输入相关的信息(姓名、性别、民族、籍贯、出生日期、入学年份、专业和学院等),在数据库中添加相关数据。
2.修改学生信息根据学生的学号查询出该学生的相关信息,修改相关条目后保存在数据库中。
3.删除学生信息根据学生的学号查询出该学生的相关信息,确定删除后,在数据库中删除该信息。
4.学生选课选择学生学号与需要选择的课程,确定无误后保存,数据库中将自动添加新的选课记录。
5.增加课程信息系统操作人员根据打开的课程增加界面,输入相关信息(课程名称、授课教师、课程学分、课程系数、上课地点等),在数据库中添加相关的数据。
6.修改课程信息根据课程号查询出该课程的相关信息,修改条目后保存在数据库中。
7.删除课程信息根据课程号查询出该课程的相关信息,确认删除后,在数据库中删除该信息。
8.登记成绩根据学号,以及该学生所选择的课程,进行成绩登记,为选课的同学将无法登记。
9.修改成绩对已经登记的成绩信息进行修改。
10.学生查询可以根据学生学号、学生姓名、学生性别、学生所学专业、学生所属学院来对学生信息进行查询,所有符合查询条件的学生信息将都被显示出来。
11.课程查询按照课程名称和授课教师的名称对课程详细信息进行查询,所有符合查询条件的课程信息都将会被显示出来。
12.成绩查询:根据学生的学号来查询该学生所有课程的成绩。
第五部分数据库的设计5.1数据库设计此系统使用的是mysql数据库,由于此系统需要的数据量不是很大,所以选择比较简便的mysql数据库。
此系统的数据库名称是studentsys,创建语句如下:5.2数据表的设计数据库中包含三个表,即是学生信息表(student)、课程信息表(Course)和学生选课表(SC),设计要求如表1~3所示。
第六部分详细设计该系统由6个模块构成,包括学生管理系统主界面模块、学生信息管理模块、课程信息管理模块、成绩管理模块、信息查询模块和数据库操作模块,以下分别加以叙述:6.1 学生管理系统主界面模块学生管理系统的主界面模块包括StuMS.java和StuMain.java两个文件。
StuMS是学生管理系统的主运行类,其中有整个程序的主方法main,该文件生成了StuMain类的一个实例,从而生成了学生管理系统的主界面,如图2所示。
StuMain类继承了JFrame 类,实现了事件监听接口,它有一个不带参数的构造函数StuMain(),用来生成StuMain 实例,StuMain类将所有的功能集中到面板中,面板上的按键是按网格排布,生成按钮,通过按钮的响应函数调用其他模块的函数来实现学生管理系统的各个功能,以下是主界面的运行程序:图6.1.1 主界面运行程序6.2 学生信息管理模块学生信息管理模块主要由StuInfo.java、AddStuInfo.java、EditStuInfo.java、DelStuInfo.java、SelectCourse.java和StuInfoSearchSnum.java这六个文件组成,每个java文件只有一个类,完全实现模块化设计,StuInfo类是AddStuInfo、EditStuInfo、DelStuInfo的超类,因为这三个类生成的界面是相同的具有共同之处。
SelectCourse模块是选课模块,StuInfoSearchSnum是查询模块,用于AddStuInfo、EditStuInfo、DelStuInfo调用来查询学生信息以便增加、修改和删除学生信息。
学生信息管理模块的几个界面如下:图6.2.1 学生信息添加界面图6.2.2 学生信息修改界面图6.2.3 学生信息删除界面图6.2.3 学生选课界面6.3 课程信息管理模块课程信息管理模块主要由CourseInfo.java、AddCourseInfo.java、EditCourseInfo.java、DelCourseInfo.java和StuInfoSearchSnum.java这六个文件组成,每个java文件只有一个类,完全实现模块化设计,CourseInfo类是AddCourseInfo、EditCourseInfo、DelCourseInfo的超类,因为这三个类生成的界面是相同的具有共同之处。
CourseInfoSearchSnum是查询模块,用于AddCourseInfo、EditCourseInfo、DelCourseInfo调用来查询课程以便增加、修改和删除课程。
课程信息管理模块的几个界面如下:图6.3.1 课程信息增加界面图6.3.1 课程信息修改界面图6.3.1 课程信息删除界面6.4 查询模块查询模块分学生信息查询、课程信息查询和成绩查询:界面如下:图6.4 查询模块图6.5 数据库操作模块数据库操作模块包括连接数据库和数据库操作,连接数据库在类DataBase.java中,操作数据库类分别在几个不同的类里,学生信息操作在StuBean.java,选课操作在Csbean.java中,课程操作在CrsBean.java中,代码在附录里,这里就不重复了。
第七部分课程设计心得在本系统的开发过程中,由于本人是初次开发软件,在知识、经验方面都存在着不足。
另外,在整个开发的过程中,时间也比较仓促。
因此,该系统必然会存在一些缺陷和不足。
因为对学生信息管理的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求。
尽管本管理系统存在着很多不足,但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是本管理系统所必需的。
通过开发这个系统,我掌握了的项目基本开发过程,用到的知识巩固了我对JAVA的学习,但在这次设计中的最大收获并不是掌握这几门开发工具的应用,而是学会了设计系统的思维方法,以及与同学们之间相互帮助的精神。
第八部分附录(部分代码)//////////////////////////////////Database.java//////////////// //////import java.sql.*;import javax.naming.spi.DirStateFactory.Result;/*** 连接数据库的类*/public class Database {private Statement stmt=null;ResultSet rs=null;private Connection conn=null;String sql;String strurl="jdbc:mysql://127.0.0.1:3306/studentsys";public Database(){}/*** 打开数据库连接*/public void OpenConn()throws Exception{try{Class.forName("com.mysql.jdbc.Driver");conn=DriverManager.getConnection(strurl,"root","root");conn.setAutoCommit(false);}catch(Exception e){System.err.println("OpenConn:"+e.getMessage());e.printStackTrace();}}/*** 执行sql语句,返回结果集rs*/public ResultSet executeQuery(String sql){stmt = null;rs=null;try{stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.C ONCUR_READ_ONLY);rs=stmt.executeQuery(sql);}catch(SQLException e){System.err.println("executeQuery:"+e.getMessage());e.printStackTrace();}return rs;}/*** 执行sql语句*/public int executeUpdate(String sql){stmt=null;rs=null;int k=0;try{stmt=conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.C ONCUR_READ_ONLY);k=stmt.executeUpdate(sql);mit();}catch(SQLException e){System.err.println("executeUpdate:"+e.getMessage());e.printStackTrace();}return k;}public void closeStmt(){try{stmt.close();}catch(SQLException e){System.err.println("closeStmt:"+e.getMessage());}}/*** 关闭数据库连接*/public void closeConn(){try{conn.close();}catch(SQLException ex){System.err.println("aq.closeConn:"+ex.getMessage());}}/**转换编码*/public static String toGBK(String str){try {if(str==null)str = "";elsestr=new String(str.getBytes("ISO-8859-1"),"GBK");}catch (Exception e) {System.out.println(e);}return str;}}//////////////////////////////////StuBean.java//////////////// //////////////import java.util.*;import java.sql.*;import javax.swing.*;/*** 有关学生信息数据库操作的类*/public class StuBean {String sql;ResultSet rs = null;String sNum;String sName;String sSex;String sBirth;String sHome;String sEthnic;String sYear;String sMajor;String sCollege;String sCourse;String colName;//列名String colValue;//列值String colValue2;//列值int stuId;//学生的新学号/*** 添加学生信息*/public void stuAdd(String Snum,String name, String sex, String birth, String home, String ethnic, String year, String major,String college){Database DB = new Database();this.sNum = Snum;this.sName = name;this.sSex = sex;this.sBirth = birth;this.sHome = home;this.sEthnic = ethnic;this.sYear = year;this.sMajor = major;this.sCollege = college;if(sName == null||sName.equals("")){JOptionPane.showMessageDialog(null, "请输入学生姓名", "错误", JOptionPane.ERROR_MESSAGE);return;}else{String numS = "1";sql = "insert into student(snum, sname,ssex,sbirth,shome,sethnic,syear,smajor,scollege) values ('"+sNum+"','"+sName+"','"+sSex+"','"+sBirth+"','"+sHome+"','"+sEthn ic+"','"+sYear+"','"+sMajor+"','"+sCollege+"')";try{DB.OpenConn();System.out.println("ksadhfasdf");DB.executeUpdate(sql);System.out.println("ksadhfasdf");JOptionPane.showMessageDialog(null,"成功添加一条新的纪录!");}catch(Exception e){System.out.println(e);JOptionPane.showMessageDialog(null, "保存失败", "错误", JOptionPane.ERROR_MESSAGE);}finally {DB.closeStmt();DB.closeConn();}}}/*** 修改学生信息*/public void stuModify(String num, String name, String sex, String birth, String home, String ethnic, String year, String major, String college){Database DB = new Database();this.sNum = num;this.sName = name;this.sSex = sex;this.sBirth = birth;this.sHome = home;this.sEthnic = ethnic;this.sYear = year;this.sMajor = major;this.sCollege = college;if(sName == null||sName.equals("")){JOptionPane.showMessageDialog(null, "请输入学生姓名", "错误", JOptionPane.ERROR_MESSAGE);return;}else{//sql = "update student set sname = '"+sName+"', ssex = '"+sSex+"', sbirth = '"+sBirth+"', shome = '"+sHome+"', sethnic = '"+sEthnic+"', syear = '"+sYear+"', smajor = '"+sMajor+"', scollege = '"+sCollege+"' where snum = "+Integer.parseInt(sNum)+"";sql = "update student set sname = '"+sName+"', ssex = '"+sSex+"', sbirth = '"+sBirth+"', shome = '"+sHome+"', sethnic = '"+sEthnic+"', syear = '"+sYear+"', smajor = '"+sMajor+"', scollege = '"+sCollege+"' where snum = '"+sNum+"'";try{DB.OpenConn();int k = DB.executeUpdate(sql);if(k == 1)JOptionPane.showMessageDialog(null,"成功修改一条新的纪录!");}catch(Exception e){System.out.println(e);JOptionPane.showMessageDialog(null, "更新失败", "错误", JOptionPane.ERROR_MESSAGE);}finally {DB.closeStmt();DB.closeConn();}}}/*** 删除学生信息*/public void stuDel(String num){Database DB = new Database();this.sNum = num;sql = "delete from student where snum = '"+sNum+"'";try{DB.OpenConn();DB.executeUpdate(sql);JOptionPane.showMessageDialog(null,"成功删除一条新的纪录!");}catch(Exception e){System.out.println(e);JOptionPane.showMessageDialog(null, "删除失败", "错误", JOptionPane.ERROR_MESSAGE);}finally {DB.closeStmt();DB.closeConn();}}/*** 根据学号查询学生信息*/public String[] stuSearch(String num){Database DB = new Database();this.sNum = num;String[] s = new String[8];sql = "select * from student where snum = '"+sNum+"'";try{DB.OpenConn();rs = DB.executeQuery(sql);if(rs.next()){s[0] = rs.getString("sname");s[1] = rs.getString("ssex");s[2] = rs.getString("sethnic");s[3] = rs.getString("shome");s[4] = rs.getString("syear");s[5] = rs.getString("smajor");s[6] = rs.getString("scollege");s[7] = rs.getString("sbirth");}elses = null;}catch(Exception e){}finally {DB.closeStmt();DB.closeConn();}return s;}/*** 学生信息综合查询(按照一个条件进行查询)*/public String[][] stuAllSearch(String colname,String colvalue){ this.colName = colname;this.colValue = colvalue;Database DB = new Database();String[][] sn = null;int row = 0;int i = 0;DB.toGBK(colvalue);if(colValue == null||colValue.equal s("")){sql = "select * from student";}else{sql = "select * from student where "+colName+" = '"+colValue+"'";}try{DB.OpenConn();rs = DB.executeQuery(sql);if(st()){row = rs.getRow();}if(row == 0){sn = null;}else{sn = new String[row][9];rs.first();rs.previous();while(rs.next()){sn[i][0] = rs.getString("snum");sn[i][1] = rs.getString("sname");sn[i][2] = rs.getString("ssex");sn[i][3] = rs.getString("sethnic");sn[i][4] = rs.getString("shome");sn[i][5] = rs.getString("syear");sn[i][6] = rs.getString("smajor");sn[i][7] = rs.getString("scollege");sn[i][8] = rs.getString("sbirth");i++;}}}catch(Exception e){}finally {DB.closeStmt();DB.closeConn();}return sn;}/*** 学生信息综合查询(查询某范围内的记录)*/public String[][] stuAllSearch(String colname,String colvalue,String colvalue2){this.colName = colname;this.colValue = colvalue;this.colValue2 = colvalue2;Database DB = new Database();String[][] sn = null;int row = 0;int i = 0;sql = "select * from student where "+colName+" between "+colValue+" and "+colValue2+"";try{DB.OpenConn();rs = DB.executeQuery(sql);if(st()){row = rs.getRow();}if(row == 0){sn = null;}else{sn = new String[row][9];rs.first();rs.previous();while(rs.next()){sn[i][0] = rs.getString("snum");sn[i][1] = rs.getString("sname");sn[i][2] = rs.getString("ssex");sn[i][3] = rs.getString("sethnic");sn[i][4] = rs.getString("shome");sn[i][5] = rs.getString("syear");sn[i][6] = rs.getString("smajor");sn[i][7] = rs.getString("scollege");sn[i][8] = rs.getString("sbirth");i++;}}}catch(Exception e){}finally {DB.closeStmt();DB.closeConn();}return sn;}public String[][] stuSearchBySimple(String course){this.sCourse = course;ResultSet rSet,rrSet;String LinCNUM = null;Database DB = new Database();String[][] sn = null;String[] snnStrings = null;int row = 0;int i = 0;int j = 0;String sql1 = "select course.* from course where ame='"+sCourse+"'";String sql3 = null;try{DB.OpenConn();rSet = DB.executeQuery(sql1);if(st()){row = rSet.getRow();}if(row == 0){LinCNUM = null;}else{rSet.first();rSet.previous();while(rSet.next()){LinCNUM = rSet.getString("cnum");}}System.out.println(LinCNUM);String sql2 = "select sc.snum from sc where um='"+LinCNUM+"' order by sc.grade desc";rrSet = DB.executeQuery(sql2);if(st()){row = rrSet.getRow();}if(row == 0){snnStrings = null;}else{i = 0;snnStrings = new String[row];sn = new String[row][9];System.out.println(""+row);rrSet.first();rrSet.previous();while(rrSet.next()){snnStrings[i] = rrSet.getString("snum");sql3 = "select * from student where snum='"+snnStrings[i]+"'";rs = DB.executeQuery(sql3);while(rs.next()){sn[j][0] = rs.getString("snum");sn[j][1] = rs.getString("sname");sn[j][2] = rs.getString("ssex");sn[j][3] = rs.getString("sethnic");sn[j][4] = rs.getString("shome");sn[j][5] = rs.getString("syear");sn[j][6] = rs.getString("smajor");sn[j][7] = rs.getString("scollege");sn[j][8] = rs.getString("sbirth");j++;}i++;}}}catch(Exception e){e.printStackTrace();}finally {DB.closeStmt();DB.closeConn();}System.out.println(sn[1][1]);return sn}public String[][] stuSearchBypoint(){String sCourse = "编译原理";ResultSet rSet,rrSet;String LinCNUM = null;Database DB = new Database();String[][] sn = null;String[] snnStrings = null;int row = 0;int i = 0;int j = 0;String sql1 = "select course.* from course where ame='"+sCourse+"'";String sql3 = null;try{DB.OpenConn();rSet = DB.executeQuery(sql1);if(st()){row = rSet.getRow();}if(row == 0){LinCNUM = null;}else{rSet.first();rSet.previous();while(rSet.next()){LinCNUM = rSet.getString("cnum");}}System.out.println(LinCNUM);String sql2 = "select sc.snum from sc where um='"+LinCNUM+"' order by sc.grade desc";rrSet = DB.executeQuery(sql2);if(st()){row = rrSet.getRow();}if(row == 0){snnStrings = null;}else{i = 0;snnStrings = new String[row];sn = new String[row][9];System.out.println(""+row);rrSet.first();rrSet.previous();while(rrSet.next()){snnStrings[i] = rrSet.getString("snum");sql3 = "select * from student where snum='"+snnStrings[i]+"'";rs = DB.executeQuery(sql3);while(rs.next()){sn[j][0] = rs.getString("snum");sn[j][1] = rs.getString("sname");sn[j][2] = rs.getString("ssex");sn[j][3] = rs.getString("se thnic");sn[j][4] = rs.getString("shome");sn[j][5] = rs.getString("syear");sn[j][6] = rs.getString("smajor");sn[j][7] = rs.getString("scollege");sn[j][8] = rs.getString("sbirth");j++;}i++;}}}catch(Exception e){e.printStackTrace();}finally {DB.closeStmt();DB.closeConn();}System.out.println(sn[1][1]);return sn;}/*** 获得新的学号*//*public int getStuId(){Database DB = new Database();sql = "select max(snum) from student";try{DB.OpenConn();rs = DB.executeQuery(sql);if(rs.next()){stuId = rs.getInt(1) + 1;}elsestuId = 1;}catch(Exception e){}finally {DB.closeStmt();DB.closeConn();}return stuId;}*//*** 获得student表中的所有学号snum*/public String[] getAllId(){String[] s = null;int row = 0;int i = 0;Database DB = new Database();sql = "select snum from student";try{DB.OpenConn();rs = DB.executeQuery(sql);if(st()){row = rs.getRow();}if(row == 0){s = null;}else{s = new String[row];rs.first();rs.previous();while(rs.next()){s[i] = rs.getString(1);i++;}}}catch(Exception e){e.printStackTrace();}finally {DB.closeStmt();DB.closeConn();}return s;}}//////////////////////////////////StuMain.java///////////////// ///////////import java.awt.*;import java.awt.event.*;import javax.swing.*;import .*;/*** 学生管理系统主界面*/public class StuMain extends JFrame implements ActionListener{ //建立菜单栏//建立“系统管理”菜单组JLabel J1 = new JLabel("学生管理");JLabel J2 = new JLabel("课程管理");JLabel J3 = new JLabel("成绩管理");JLabel J4 = new JLabel("信息查询");JLabel J5 = new JLabel("学生查询");JLabel J6 = new JLabel("课程查询");JLabel J7 = new JLabel("成绩查询");JButton buttonExit = new JButton("退出");JButton buttonAddS = new JButton("增加");JButton buttonEditS=new JButton("修改");JButton buttonDeleteS=new JButton("删除");JButton buttonChooseS = new JButton("选课");//建立“课程管理”菜单组JButton buttonAddC=new JButton("增加");JButton buttonEditC=new JButton("修改");JButton buttonDeleteC=new JButton("删除");JButton buttonAddG=new JButton("增加");JButton buttonEditG=new JButton("修改");//建立“信息查询”菜单组JButton buttonSearchStuBySnum=new JButton("按学号");JButton buttonSearchStuBySname=new JButton("按姓名");JButton buttonSearchStuBySsex=new JButton("按性别");JButton buttonSearchStuByScollege=new JButton("按学院");JButton buttonSearchStuBySmajor=new JButton("按专业");JButton buttonSearchStuByCname=new JButton("按课程名称");JButton buttonSearchStuByCteacher=new JButton("按授课教师");JButton buttonSearchMutGrd=new JButton("查询所有成绩");JButton buttonSearchGrdBySimple = new JButton("按单科");JButton buttonSearchGrdBypoint = new JButton("按绩点");public StuMain() {enableEvents(AWTEvent.WINDOW_EVENT_MASK);//添加框架的关闭事件处理this.pack();//设置框架的大小//设置标题this.setTitle("学生管理系统");this.getLayeredPane().add(bgLabel, new Integer(Integer.MIN_VALUE));bgLabel.setBounds(0,0,600,400);((JPanel)getContentPane()).setOpaque(false);try {this.setSize(600,400);this.setLocation(300,300);this.setResizable(false);this.setLayout(new GridBagLayout());this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);Container mPanel = this.getContentPane();GridBagConstraints c = new GridBagConstraints();c.insets = new Insets(10,0,0,10);c.gridx = 0;c.gridy = 0;c.gridwidth = 10;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER; mPanel.add(J1,c);c.gridx = 0;c.gridy = 1;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER; mPanel.add(J2,c);c.gridx = 0;c.gridy = 2;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER; mPanel.add(J3,c);c.gridx = 0;c.gridy = 4;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER; mPanel.add(J4,c);c.gridx = 1;c.gridy = 0;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER; mPanel.add(buttonAddS,c);c.gridx = 2;c.gridy = 0;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENT ER; mPanel.add(buttonEditS,c);c.gridx = 3;c.gridy = 0;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER; mPanel.add(buttonDeleteS,c);c.gridx = 4;c.gridy = 0;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER; mPanel.add(buttonChooseS,c);c.gridx = 1;c.gridy = 1;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER; mPanel.add(buttonAddC,c);c.gridx = 2;c.gridy = 1;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER; mPanel.add(buttonEditC,c);c.gridx = 3;c.gridy = 1;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER; mPanel.add(buttonDeleteC,c);c.gridx = 1;c.gridy = 2;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER; mPanel.add(buttonAddG,c);c.gridx = 2;c.gridy = 2;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER; mPanel.add(buttonEditG,c);c.gridx = 1;c.gridy = 3;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER; mPanel.add(J5,c);c.gridx = 2;c.gridy = 3;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER; mPanel.add(buttonSearchStuBySnum,c); c.gridx = 3;c.gridy = 3;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER; mPanel.add(buttonSearchStuBySname,c);c.gridx = 4;c.gridy = 3;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER; mPanel.add(buttonSearchStuBySsex,c); c.gridx = 5;c.gridy = 3;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER; mPanel.add(buttonSearchStuBySmajor,c);c.gridx = 6;c.gridy = 3;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER; mPanel.add(buttonSearchStuByScollege,c);c.gridx = 1;c.gridy = 4;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER; mPanel.add(J6,c);c.gridx = 2;c.gridy = 4;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER; mPanel.add(buttonSearchStuByCname,c);c.gridx = 3;c.gridy = 4;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER;mPanel.add(buttonSearchStuByCteacher,c);c.gridx = 1;c.gridy = 5;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER; mPanel.add(J7,c);c.gridx = 2;c.gridy = 5;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER; mPanel.add(buttonSearchMutGrd,c);c.gridx = 3;c.gridy = 5;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER; mPanel.add(buttonSearchGrdBypoint,c);c.gridx = 4;c.gridy = 5;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER; mPanel.add(buttonSearchGrdBySimple,c);c.gridx = 6;c.gridy = 6;c.gridwidth = 1;c.fill = GridBagConstraints.BOTH;c.anchor = GridBagConstraints.CENTER; mPanel.add(buttonExit,c);//设置文本区域可以换行buttonExit.addActionListener(this);buttonAddS.addActionListener(this); buttonEditS.addActionListener(this); buttonDeleteS.addActionListener(this); buttonChooseS.addActionListener(this); buttonAddC.addActionListener(this); buttonEditC.addActionListener(this); buttonDeleteC.addActionListener(this); buttonAddG.addActionListener(this); buttonEditG.addActionListener(this); buttonSearchStuBySnum.addActionListener(this);buttonSearchStuBySname.addActionListener(this);buttonSearchStuBySsex.addActionListener(this);buttonSearchStuByScollege.addActionListener(this);buttonSearchStuBySmajor.addActionListener(this);buttonSearchStuByCname.addActionListener(this);buttonSearchStuByCteacher.addActionListener(this);buttonSearchMutGrd.addActionListener(this);buttonSearchGrdBypoint.addActionListener(this);buttonSearchGrdBySimple.addActionListener(this);//关闭程序时的操作this.addWindowListener(new WindowAdapter(){public void windowClosing(WindowEvent e){System.exit(0);}});}catch(Exception e) {e.printStackTrace();}}public void actionPerformed(ActionEvent e) {Object obj = e.getSource();if (obj == buttonExit) { //退出System.exit(0);}else if (obj == buttonAddS) { //学生信息增加AddStuInfo asi = new AddStuInfo();asi.downInit();asi.pack();asi.setVisible(true);}else if (obj == buttonEditS) { //学生信息修改EditStuInfo esi = new EditStuInfo();esi.downInit();esi.pack();esi.setVisible(true);}else if (obj == buttonDeleteS) { //学生信息删出DelStuInfo dsi = new DelStuInfo();dsi.downInit();dsi.pack();dsi.setVisible(true);}else if (obj == buttonChooseS) { //学生选课SelectCourse sc = new SelectCourse();sc.downInit();sc.pack();sc.setVisible(true);}else if (obj == buttonAddC) { //课程增加AddCourseInfo aci = new AddCourseInfo();aci.downInit();aci.pack();aci.setVisible(true);}else if (obj == buttonEditC) { //课程修改EditCourseInfo eci = new EditCourseInfo();eci.downInit();eci.pack();eci.setVisible(true);}else if (obj == buttonDeleteC) { //课程删除DelCourseInfo dci = new DelCourseInfo();dci.downInit();dci.pack();dci.setVisible(true);}else if (obj == buttonAddG) { //成绩增加AddGradeInfo agi = new AddGradeInfo();agi.downInit();agi.pack();agi.setVisible(true);}else if (obj == buttonEditG) { //成绩修改EditGradeInfo egi = new EditGradeInfo();egi.downInit();egi.pack();egi.setVisible(true);}//查询功能的事件处理else if (obj == buttonSearchStuBySnum) { //按学号查询StuSearchSnum ssSnum = new StuSearchSnum();ssSnum.pack();ssSnum.setVisible(true);}。