基于jsp(java)学生成绩管理系统的设计和实现

欢迎添加微信互相交流学习哦!

二维码

项目源码:https://gitee.com/oklongmm/biye2




摘 要
学生成绩管理系统主要用于各类大学院校在教学这一部分的管理,是针对于教务处对课程、对学生、对学生成绩进行合理地安排以及统筹计划,以便让教务处以最短的工作时间内把学生的成绩核算出来,提高教务处的办事效率。同时,能够随时对学生基本信息、学生成绩进行各种查询,以便及时很好地对需要了解的信息得到相应的反馈,能有效的帮助教务处的工作,可使学院教职工减轻工作压力,比较系统地对、教务教学上的各项服务和信息进行管理。
本系统是针对学生成绩管理进行设计的,主要用户为学校教务管理老师,但学生也可参与对自己信息的核对确认。主要采用的开发工具是JSP和MYSQL。在开发过程中利用面向对象的程序思想和严格按照软件工程的开发过程来进行分析和设计。本系统所要完成以下几个主要功能,其中有学生成绩管理、学生基本信息管理等等,实现对学生基本信息和成绩进行录入、修改、删除、查询等操作。
系统基本满足了学生成绩管理的功能需要,确实为学校对学生的管理提供了便利。本系统界面友好、操作简单,对学生基本情况和成绩加快了查询速度、加强了管理,使各项管理更加规范化。
关键词: 模块化,数据库,数据库管理系统
Abstract
The management system of students achievement is mainly applied in part of teaching management of all kinds of universities. It is applied in administration section to arrang curriculum , students achievement and so on , in order to account students achievement so quickly that enhance work efficience. Meanwhile, the system can inquire achievement and information of students in order to get some useful information.timely , thus ,it can gaves some help to administration section and alleviate work pressure of academic staffs and manage all kinds of sevices and informations in syslematically.
The system is designed for management of students achievement. It is mostly used by teacher whom work in administration section. It is sometimes used by student whom want to check his information. Mainly USES the development tools are JSP and MYSQL .The mainly foundation must to be accomplished in the management system of students achievement as follows: management of students achievement , management of students basic information and so on .Of course, the system can be aimed at achievement and basic information of student to modify or delete or inquire records.
The system content with foundation of managment of students achievement in basically,it provides converience with school to manage student . The interface is provided by system is friendly , and the operation is simple . To achievement and basic information of students , it speeds up for inquring . Strengthen management and molkes all kinds of management more standardlize. In a words , the system has compatibitily and is suited for most people .
Keywords:modularize, database , DBMS
目 录
摘 要.....................................................................1
第一章 选课的目的与意义...................................................4
1.1 概述..............................................................4
1.2 课题来源、目的与意义..............................................4
第二章 系统的开发技术及主要构架...........................................7
2.1 开发技术的选择....................................................7
2.2 项目开发的工具....................................................7
2.3 数据库的连接.....................................................11
第三章 需求分析..........................................................13
3.1 功能分析.........................................................13
3.2 流程分析.........................................................14
3.3系统概念模型描述................................................. 16
3.4 数据库设计.......................................................20
第四章 系统的设计与实现..................................................24
4.1 管理员模块功能...................................................24
4.2 教师模块功能.....................................................37
4.3 学生模块功能.....................................................45
总 结....................................................................53
参考文献..................................................................54
致 谢....................................................................55
1.选题的目的和意义
1.1 概述
本管理系统主要内容是学生成绩管理,其中有学生成绩管理,学生基本情况管理等等。在开发过程中,注意使其符合操作的业务流程,并力求系统的全面性、通用性,使得本系统能适用于各类大学院校。在开发方法的选择上,选择了生命周期法与原型法相结合的方法,遵循系统调查研究、系统分析、系统设计和系统实施四个主要阶段进行设计,而在具体的设计上,采取了演化式原型法,随着用户的使用及对系统了解的不断加深,对某一部分或几部分进行重新分析、设计、实施。在开发工具的选择上,我使用了 JSP及MYSQL关系数据库开发工具, 在短时间内建立系统应用原型。然后,对初始原型系统进行需求迭代,不断修正和改进,直到形成一个满意的可行系统。本文以学校管理信息系统建设中的成绩管理子系统的开发为背景,论述了管理信息系统的概念、结构及系统开发的基本原理和方法,全文共分为概述、系统分析、系统总体设计、详细设计、开发总结、致谢、参考文献、附录等。
1.2 课程来源、目的与意义
学院在教学这一部分主要是由教务处对课程、对学生、对学生成绩进行合理地安排以及统筹计划,以便让教务处以最短的工作时间内把学生的成绩核算出来,提高教务处的办事效率。同时,能够随时对学生基本信息、学生成绩进行各种查询,以便及时很好地对需要了解的信息得到相应的反馈,能有效的帮助教务处的工作,可使学院教职工减轻工作压力。
利用成绩管理系统对学生的成绩进行合理管理,实现学生成绩的录入、编辑、删除等功能,也可以实现成绩的排序、检索等。它将成为教务处老师的一个很好的帮手。本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。本系统能在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,该系统的完成将具有以下几点重要的意义:
(1)系统具有较强的实用性、可靠性和适用性,同时也具有一定的先进性。
(2)对各个数据库能进行动态管理,有效的防止了数据的混乱。
(3)能够按照用户选择的不同的条件进行简单查询和复合查询。
(4)能够对查询结果进行分类汇总,实现报表打印。
(5)并且注意到了数据的安全性,具有数据备份和恢复的功能。
(6)简化了用户的操作过程,尽量减少用户的工作量。
2 系统的开发技术及主要架构
2.1开发技术的选择
合理的选择开发技术,对于网站开发的完成情况有着非常重要的影响。要开发一个网站,首先要选择一个动态网页开发技术。当前比较流行的动态网页开发技术有JSP、ASP、PHP。它们的特性比较如表3-1所示:
表2-1 asp/jsp/php比较表
技术名称 ASP JSP PHP
对数据库的支持 好 好 好
开发难易度 容易 容易 较难
使用平台 Windows9X/NT Windows/UNIX UNIX
安全性 不好 好 不好
对组件的支持 支持 支持 不支持
执行方式 解释执行 编译之后执行 解释执行
跨平台 不好 好 好
这三种都是在传统的HTML代码中,利用HTML标签的扩展,构成页面。不难看出,JSP的综合实力是最强的,尤其是在安全性和跨平台性两个方面,比其他的两种技术都要好,因此,最后我们选择基于Java的JSP技术作为动态网页的开发技术。
2.2 项目开发的工具
本系统采用MyEclipse8.6+MySQL5.1.53+tomcat6.0.30开发
2.2.1 MyEclipe简介
MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse是对Eclipse IDE的扩展,利用它我们可以在数据库和JavaEE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的JavaEE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。在结构上,MyEclipse的特征可以被分为7类:
1. JavaEE模型
2. WEB开发工具
3. EJB开发工具
4. 应用程序服务器的连接器
5. JavaEE项目部署服务
6. 数据库服务
7. MyEclipse整合帮助
对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。
2.2.2 MySql简介
MySQL名字的来历MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQLAB公司,在2008年1月16号被Sun公司收购。MySQL被广泛地应用在Internet上的中小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。
与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。
2.2.3 PowerDesigner简介
PowerDesigner是一个功能强大而使用简单工具集,提供了一个复杂的交互环境,支持开发生命周期的所有阶段,从处理流程建模到对象和组件的生成。PowerDesigner产生的模型和应用可以不断地增长,适应并随着你的组织的变化而变化。
PowerDesigner系列产品提供了一个完整的建模解决方案,业务或系统分析人员,设计人员,数据库管理员DBA和开发人员可以对其裁剪以满足他们的特定的需要;而其模块化的结构为购买和扩展提供了极大的灵活性,从而使开发单位可以根据其项目的规模和范围来使用他们所需要的工具。PowerDesigner灵活的分析和设计特性允许使用一种结构化的方法有效地创建数据库或数据仓库,而不要求严格遵循一个特定的方法学。PowerDesigner提供了直观的符号表示使数据库的创建更加容易,并使项目组内的交流和通讯标准化,同时能更加简单地向非技术人员展示数据库和应用的设计。
PowerDesigner不仅加速了开发的过程,也向最终用户提供了管理和访问项目的信息的一个有效的结构。它允许设计人员不仅创建和管理数据的结构,而且开发和利用数据的结构针对领先的开发工具环境快速地生成应用对象和数据敏感的组件。开发人员可以使用同样的物理数据模型查看数据库的结构和整理文档,以及生成应用对象和在开发过程中使用的组件。应用对象生成有助于在整个开发生命周期提供更多的控制和更高的生产率。
2.2.4 Tomcat简介
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。
Tomcat 是一个小型的轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。
这里的诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。
2.3 数据库的连接
本系统采用JDBC连接方式。
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯 Java API 编写数据库应用程序。
有了JDBC,向各种关系数据发送SQL语句就是一件很容易的事。换言之,有了JDBC API,就不必为访问Sybase数据库 (​http:​/​​/​baike.baidu.com​/​view​/​88863.htm _blank​)专门写一个程序,为访问Oracle数据库 (​http:​/​​/​baike.baidu.com​/​view​/​1685727.htm _blank​)又专门写一个程序,或为访问Informix数据库又编写另一个程序等等,程序员只需用JDBC API写一个程序就够了,它可向相应数据库发送SQL调用。同时,将Java语言和JDBC结合起来使程序员不必为不同的平台编写不同的应用程序,只须写一遍程序就可以让它在任何平台上运行,这也是Java语言编写一次,处处运行”的优势。
Java数据库连接 (​http:​/​​/​baike.baidu.com​/​view​/​766960.htm _blank​)体系结构是用于Java应用程序连接数据库的标准方法。JDBC对Java程序员而言是API,对实现与数据库连接的服务提供商而言是接口模型。作为API,JDBC为程序开发提供标准的接口,并为数据库厂商及第三方中间件厂商实现与数据库的连接提供了标准方法。JDBC使用已有的SQL标准并支持与其它数据库连接标准,如ODBC之间的桥接 (​http:​/​​/​baike.baidu.com​/​view​/​197495.htm _blank​)。JDBC实现了所有这些面向标准的目标并且具有简单、严格类型定义且高性能实现的接口。
 Java 具有坚固、安全、易于使用、易于理解和可从网络上自动下载等特性,是编写数据库应用程序的杰出语言。所需要的只是 Java应用程序与各种不同数据库之间进行对话的方法。而 JDBC 正是作为此种用途的机制。
 JDBC 扩展了 Java 的功能。例如,用 Java 和 JDBC API 可以发布含有 applet 的网页,而该 applet 使用的信息可能来自远程数据库。企业也可以用 JDBC 通过 Intranet 将所有职员连到一个或多个内部数据库中(即使这些职员所用的计算机有 Windows、 Macintosh 和UNIX 等各种不同的操作系统 (​http:​/​​/​baike.baidu.com​/​view​/​880.htm _blank​))。随着越来越多的程序员开始使用Java 编程语言,对从 Java 中便捷地访问数据库的要求也在日益增加。
 MIS 管理员 (​http:​/​​/​baike.baidu.com​/​view​/​315045.htm _blank​)们都喜欢 Java 和 JDBC 的结合,因为它使信息传播变得容易和经济。企业可继续使用它们安装好的数据库,并能便捷地存取信息,即使这些信息是储存在不同数据库管理系统 (​http:​/​​/​baike.baidu.com​/​view​/​68446.htm _blank​)上。新程序的开发期很短。安装和版本控制将大为简化。程序员可只编写一遍应用程序或只更新一次,然后将它放到服务器 (​http:​/​​/​baike.baidu.com​/​view​/​899.htm _blank​)上,随后任何人就都可得到最新版本的应用程序。对于商务上的销售信息服务, Java 和JDBC 可为外部客户提供获取信息更新的更好方法。
package msc.dbc;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class DataBaseConnection {
private static String DBDRIVER=com.mysql.jdbc.Driver ;
private static String DBURL=jdbc:mysql://localhost:3306/msc?characterEncoding=gbk ;
private static String DBUSER=root ;
private static String DBPASSWORD= ;
private static Connection conn=null ;
public Connection getConnection() {
try {
Class.forName(DBDRIVER) ;
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;
} catch (Exception e) {
System.out.println(vv+e.getMessage());
}
return conn ;
}
public void close() {
try {
this.conn.close() ;
}
catch (Exception e) {
}
}
3 需求分析
3.1 功能分析
经过前期的深入调查和研究,总结出该系统需要完成的一些具体功能,分析如下:
管理员管理 能够完成管理员对教师的信息管理(教师信息查询、信息修改、增加信息、信息删除)、学生管理(学生信息查询、选课查询、学生信息修改、学生信息删除)、课程管理(课程信息查询、课程管理),以及查看、回复和删除留言的功能。
教师管理 能够完成开设课程、信息查询、成绩提交、密码修改的功能。
学生管理 能够完成个人信息查询、选择课程、密码修改、留言的功能。
图3.1 功能模块图
3.2流程分析
3.2.1 系统流程
只有在教师开设了某一门课程,并且在网上提交成功以后,学生才可以查询到此门课程,并且才可以选定课程,提交成功以后,待考试结束,教师即可对选择自己开设课程的学生录入成绩,并且提交。
图3.2 选课系统流程图
3.2.2 登录流程
登陆的时候会根据用户的用户名进行判断是哪种身份的登录,并以不同的身份登陆后执行不同的功能,具有不同的权限。
图3.3 登陆流程图
3.3 系统概念模型描述
目前,在概念设计阶段实体联系模型是广泛使用的设计工具。
3.3.1构成系统的实体型
本系统包括学生、教师、班级三个主要实体。
学生实体型属性有学号、姓名、登录密码。
课程实体型属性有课程编号、课程名称、课程学分。
教师实体性属性有教师编号、教师姓名、登录密码。
3.3.2 系统局部E-R图
学生实体型与课程实体型存在选课的联系,一个学生可以选修多门课程,每门课程可以被多个学生选修,所以它们之间存在多对多联系(m:n),如下图所示:
图3.4 学生---课程E-R图
教师实体型与课程实体型存在属于的关系,一个课程只可属于一个教师,每个教师可以有多个课程,所以教师实体型和课程实体型存在一对多联系(1:n),如下图所示:
图3.5 教师---课程E-R图
系统的局部E-R图,只反映局部应用实体型之间的联系,但不能从整体上反映实体型之间的相互关系。另外,对于一个较为复杂的应用而言,各部分是由多个分析人员合作完成的,画出的E-R图只能反映各局部应用。各局部E-R图之间可能存在一些冲突和重复的部分。为减少这些问题,必须根据实体联系在实际应用中的语义,进行综合、调整和优化,得到系统的合成优化E-R图,如下图所示:
图3.6 系统E-R图
3.4 数据库设计
得出数据表的各个关系模式后,需要给出是各数据表结构。考虑系统的兼容性及编写程序的方便性,可将关系模式的属性对应为表字段的英文名。同时,考虑到数据依赖关系和数据完整性,需要指出表的主码和外码,以及字段的值域约束和数据类型。
数据库名:msc
表1 课程表course
字段 字段名 类型 长度 主键 可否为空
Con 课程编号 数值型 20 是 否
Cname 课程名称 文本型 50 否
Credit 学分 数值型 20
表2 学生表student
字段 字段名 类型 长度 主键 可否为空
Sid 学生编号 数值型 20 是 否
Sname 学生姓名 文本型 50 否
Smajor 专业 文本型 50
Sclass 班级 数值型 20
Tcredit 总学分 数值型 20
Tcreditjd 挂科学分 数值型 20
Ocredit 平均学分绩点 数值型 20
Acredit 总学分绩点 数值型 20
Egrade 课程班级 数值型 20
Majorpm 专业排名 数值型 20
Classpm 班级排名 数值型 20
Scode 登录密码 数值型 20
表3 教师表teacher
字段 字段名 类型 长度 主键 可否为空
Tid 教师编号 数值型 20 是 否
Tname 教师姓名 文本型 50 否
Tcode 登录密码 数值型 20
表4 用户表user
字段 字段名 类型 长度 主键 可否为空
Id 用户名 数值型 20 是 否
Name 用户姓名 文本型 50 否
Code 登录密码 数值型 20
Kind 登录身份 数值型 20 否
表5 开设课程表teacher_course
字段 字段名 类型 长度 主键 可否为空
Id 编号 数值型 20 是 否
Tid 教师编号 数值型 20 是 否
Con 课程编号 数值型 20 是 否
Credit 学分 数值型 20
Avscore 平均分 数值型 20
Maxscore 最高分 数值型 20
Minscore 最低分 数值型 20
Cteachno 教学班号 数值型 20
Clocation 上课地点 数值型 20
Ctime 上课时间 文本型 50
Cmax 课程容量 数值型 20
Csel 已选人数 数值型 20
表6 学生选课表student_course
字段 字段名 类型 长度 主键 可否为空
Id 编号 数值型 20 是 否
Sid 学生编号 数值型 20 是 否
Con 课程编号 数值型 20 是 否
Tid 教师编号 数值型 20 是 否
Credit 学分 数值型 20
Pscore 平均成绩 数值型 20
Lscore 平时成绩 数值型 20
Escore 期末成绩 数值型 20
Scorejd 学分绩点 数值型 20
表7 留言表record
字段 字段名 类型 长度 主键 可否为空
Mid 编号 数值型 20 是 否
Id 用户名 文本型 50 是 否
Name 用户姓名 文本型 50 否
Content 留言内容 文本型 255
Date 留言日期 日期型
4.系统的设计与实现
4.1管理员模块功能
管理员模块详细表述:首先进入登陆界面
图4.1 登录页面
输入用户名:admin 密码:123 以管理员身份登录
4.1.1学生信息管理
1.添加学生信息
图4.2 添加学生信息页面
public void InsertStudent(String sid,String sname,String smajor,String sclass,String scode) throws Exception{
String sql=INSERT INTO student(sid,sname,smajor,sclass,scode) VALUES(+sid+,+sname+,+smajor+,+sclass+,+scode+);;
Statement stmt=null;
DataBaseConnection dbc=null;
dbc=new DataBaseConnection();

try{
stmt=dbc.getConnection().createStatement();
stmt.executeUpdate(sql);
stmt.close();
}catch (Exception e){
throw new Exception(插入中出现错误!!!);
}finally {
dbc.close();

}
}
2.删除学生信息
图4.3 删除学生信息页面
public void DeletebyID(String sid) throws Exception{
String sql=DELETE FROM student WHERE sid=+sid+;;
Statement stmt=null;
DataBaseConnection dbc=null;
dbc=new DataBaseConnection();
try{
stmt=dbc.getConnection().createStatement();
stmt.executeUpdate(sql);
stmt.close();
}catch (Exception e){
throw new Exception(删除中出现错误!!!);
}finally {
dbc.close();

}
}
3.查询学生信息
图4.4 查询学生信息页面
public Vector Select(String sid,String sclass,String smajor)throws Exception{
Vector all=new Vector();
String sql1=SELECT * FROM student WHERE;
String sql=null;
if(sid!=)
{
sql=sql1+ sid LIKE %+sid+%;
if(sclass!=)
{
sql=sql+ and sclass LIKE %+sclass+%;
}
if(smajor!=)
{
sql=sql+ and smajor LIKE %+smajor+%;
}
}
else
{
if(sclass!=)
{
sql=sql1+ sclass LIKE %+sclass+%;
if(smajor!=)
{
sql=sql+ and smajor LIKE %+smajor+%;
}
}
else
{
if(smajor!=)
{
sql=sql1+ smajor LIKE %+smajor+%;
}
else
{
sql=SELECT * FROM student;
}
}
}
sql=sql+ ORDER BY egrade DESC;;
Statement stmt=null;
DataBaseConnection dbc=null;
dbc=new DataBaseConnection();
try{
stmt = dbc.getConnection().createStatement();
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()) {
Student stu=new Student();
stu.setSid(rs.getString(sid));
stu.setSname(rs.getString(sname));
stu.setSmajor(rs.getString(smajor));
stu.setSclass(rs.getString(sclass));
stu.setTcredit(rs.getDouble(tcredit));
stu.setTcreditjd(rs.getDouble(tcreditjd));
stu.setOcredit(rs.getDouble(ocredit));
stu.setAcredit(rs.getDouble(acredit));
stu.setEgrade(rs.getDouble(egrade));
stu.setMajorpm(rs.getInt(majorpm));
stu.setClasspm(rs.getInt(classpm));
stu.setScode(rs.getString(scode));
all.addElement(stu);
}
rs.close();
stmt.close();
} catch (Exception e) {
throw new Exception(查询中出现错误!!!);
} finally {
dbc.close();
}
return all;
}
public String SelectBySid(String sid) throws Exception{
String sname=null;
String sql=select sname from student where sid=+sid+ ;;
Statement stmt=null;
DataBaseConnection dbc=null;
dbc=new DataBaseConnection();
try {
stmt=dbc.getConnection().createStatement();
ResultSet rs=stmt.executeQuery(sql);
while(rs.next()){

sname=rs.getString(sname);

}
rs.close();
stmt.close();
} catch (Exception e) {
// TODO: handle exception
throw new Exception(查询中出错!!!);
}finally{
dbc.close();
}
return sname;

}
4.修改学生信息
图4.5 修改学生信息页面
public void UpdatebyID(String sid,String sname,String smajor,String sclass,String scode) throws Exception{
String sql=UPDATE student set sname=+sname+,smajor=+smajor+,sclass=+sclass+,scode=+scode+ WHERE sid=+sid+;;
Statement stmt=null;
DataBaseConnection dbc=null;
dbc=new DataBaseConnection();
try{
stmt=dbc.getConnection().createStatement();
stmt.executeUpdate(sql);
stmt.close();
}catch (Exception e){
throw new Exception(修改中出现错误!!!);
}finally {
dbc.close();

}
}
5.查看留言
图4.6 留言板
public Vector SearchMassage()throws Exception{
Vector all=new Vector();
String sql=SELECT * FROM record ORDER BY mid desc;
Statement stmt=null;
DataBaseConnection dbc=null;
dbc=new DataBaseConnection();

try {
stmt=dbc.getConnection().createStatement();
ResultSet rs=stmt.executeQuery(sql);
while (rs.next()) {
Massage msg=new Massage();
msg.setMid(rs.getInt(mid));
msg.setId(rs.getString(id));
msg.setName(rs.getString(name));
msg.setContent(rs.getString(content));
msg.setDate(rs.getString(date));
all.addElement(msg);
}
rs.close();
stmt.close();
} catch (Exception e) {
throw new Exception(查询中出现错误!!!);
}finally{
dbc.close();
}
return all;
}
可以对留言进行删除和回复操作:
图4.7 管理员回复页面
public void InsertMassage(String id,String name,String content,String date) throws Exception{
String sql = INSERT INTO record (id,name,content,date) VALUES (+id+,+name+,+content+,+date+);;
Statement stmt = null;
DataBaseConnection dbc=null;
dbc=new DataBaseConnection();
try{
stmt=dbc.getConnection().createStatement();
stmt.executeUpdate(sql);
System.out.println(##############);
stmt.close();
}catch (Exception e) {
throw new Exception(插入中出错!!!);
}finally{
dbc.close();
}
}
public void DeletebyMid(int mid) throws Exception{
String sql=DELETE FROM record WHERE mid=+mid+;;
Statement stmt=null;
DataBaseConnection dbc=null;
dbc=new DataBaseConnection();
try{
stmt=dbc.getConnection().createStatement();
stmt.executeUpdate(sql);
stmt.close();
}catch (Exception e){
throw new Exception(删除中出现错误!!!);
}finally {
dbc.close();

}
}
}
4.1.2 教师信息管理
1.添加教师信息
图4.8 添加教师信息页面
public class TeacherDAO {
public void InsertTeacher(String tid,String tname,String tcode) throws Exception{
String sql=INSERT INTO teacher(tid,tname,tcode) VALUES(+tid+,+tname+,+tcode+);;
Statement stmt=null;
DataBaseConnection dbc=null;
dbc=new DataBaseConnection();

try{
stmt=dbc.getConnection().createStatement();
stmt.executeUpdate(sql);
stmt.close();
}catch (Exception e){
throw new Exception(插入中出现错误!!!);
}finally {
dbc.close();

}
}
2.删除教师信息
3.查询教师信息
4.修改教师信息
4.1.3 课程管理
1.添加课程信息
2.删除课程信息
3.查询课程信息
图4.9 查询课程信息页面
public Vector Select(String cno,String cname,double credit)throws Exception{
Vector all=new Vector();
String sql1=SELECT * FROM course WHERE ;
String sql=null;
if(cno!=)
{
sql=sql1+cno LIKE %+cno+%;
if(cname!=)
{
sql=sql+and cname LIKE %+cname+%;
}
if(credit!=0)
{
sql=sql+credit=+credit+;
}
}else
{
if(cname!=)
{
sql=sql1+cname LIKE %+cname+%;
if(credit!=0)
{
sql=sql+and credit=+credit+;
}
}else
{
if(credit!=0)
{
sql=sql1+credit=+credit+;
}else
{
sql=SELECT * FROM course;
}

}
}
sql=sql+;;
Statement stmt=null;
DataBaseConnection dbc=null;
dbc=new DataBaseConnection();
try{
stmt = dbc.getConnection().createStatement();
ResultSet rs = stmt.executeQuery(sql);
while(rs.next()) {
Course cou=new Course();
cou.setCno(rs.getString(cno));
cou.setCname(rs.getString(cname));
cou.setCredit(rs.getDouble(credit));
all.addElement(cou);
}
rs.close();
stmt.close();
} catch (Exception e) {
throw new Exception(查询中出现错误!!!);
} finally {
dbc.close();
}
return all;
}
4.修改课程信息
4.1.4 成绩处理
包括成绩汇总和排名次的功能
图4.10 成绩处理页面
4.1.5 修改密码
图4.11 管理员修改密码页面
public void Changecode(String id,String code) throws Exception{
String sql=UPDATE user set code=+code+ WHERE id=+id+;;
Statement stmt=null;
DataBaseConnection dbc=null;
dbc=new DataBaseConnection();

try{
stmt=dbc.getConnection().createStatement();
stmt.executeUpdate(sql);
stmt.close();
 

学生成绩管理系统 摘 要 随着互联网的飞速发展,越来越多的信息通过网络服务的承载共享,在促进人类社会大跨步向未来迈进的同时, 也为教育事业带来了蓬勃而持久的春天,而我们也赶上了一个好时代,使得学校与社会,群体与群体之间相互交叉融合,而教育行业作为人类未来的引路者,与时俱进,应运而产生了不可忽视的教务网络。信息化教育、电化教育、教务管理、数字化校园等名词不断涌现,而自大学到幼儿园,在线教务管理在教育的各个环节都起着至关重要的作用,在线成绩管理系统更是方便简化了教育评价的工作步骤,因此,在线成绩管理系统的卡发实现成为了教务管理中的一个重要环节。 关键词 信息化教育/教育事业/教务管理 目 录 中文摘要 Ⅰ 英文摘要 Ⅱ 1绪论 1 1.1 教务信息化分析 1 1.1.1 信息化教育 1 1.1.2 教育信息化 1 1.1.3 当前教育信息化的特征分析 1 1.2 需求分析 1 1.3 系统设计的目的意义 2 2系统分析 3 2.1 可行性分析 3 2.2 实施方案分析 3 2.2.1 开发语言的选取 3 2.2.2 开发工具 4 2.3 系统功能分析 5 3数据库设计 5 3.1 实体数据分析 5 3.2 实体关系分析 6 3.3 数据库概念分析 6 3.4 数据库表设计 8 4详细设计 10 4.1 学生模块 10 4.1.1注册模块 10 4.1.2登录模块 11 4.1.3查询成绩模块 12 4.2 教师模块 13 4.2.1学期信息模块 13 4.2.2班级信息模块 14 4.2.3学生信息模块 14 4.2.4课程信息模块 16 4.2.5成绩信息模块 17 4.2.6系统管理模块 17 5系统测试 19 5.1 测试的重要性  19 5.2 测试的目的   20 5.3 测试的步骤  20 5.4测试的主要内容  20 致 谢 22 参考文献 23 1绪论 1.1教务信息化分析 1.1.1信息化教育 信息化教育,是指在现代认知发展策略的指导下,充分运用现代信息技术,开发出适合当前潮流、符合个体认知发展规律、并且能够培养学生信息素养的新型教育方式。 1.1.2教育信息化 教育信息化,是指在现代教育教学过程中,通过利用适当的媒介,并辅以适当的设计引导,优化教育过程,使学习者成长为符合社会发展的需求的人的社会活动过程。 1.1.3当前教育信息化的特征分析 随着第二次工业革命的发展,媒体设备被应用到人类生活中的方方面面,多媒体教学也应运而融入教育活动中,当代教育信息化的表现多种多样,主要表现在以下几个方面: 1.幻灯片与投影仪类设备的应用; 2.依赖网络的教育信息传播; 3.教务信息化策略的实施; 4.个人微型计算机以及便携式移动设备的使用; 5.高度的信息公开策略。 1.2需求分析 作为教务管理平台中的一个至关重要的系统,在线成绩管理系统的出现,将教育者学习者的距离拉近。在学校教学中,总体分为三个群体:教务管理者、普通教师、学生。教务管理者通过协调学校教育教学过程中的各种关系矛盾,从而使教学过程更具有效率;普通教师通过教学设计课堂、课外教学,以及对学生进行阶段性形成性评价,促进了学生的认知发展;学生通过在校学习,提升了自己的认知结构。 1.3系统设计的目的意义 对于一个学校而言,学生成绩管理查询是一项非常重要的工作,所以学生成绩管理系该主要实现学生成绩的信息化的管理与查询,学生成绩管理系统的开发所需要的资金少,系统正常运行后,能够实现学生成绩在网上进行成绩查询,节省了大量的人力时间,而且可以减少成绩查询与管理中可能会出现的一些错误,所以,学生成绩管理系统的开发是十分必要的,而且它所带来的实用效益将远远大于本系统的开发成本,该系统操作非常简便,即使不太会使用计算机的人,只要经过培训,也能够很好的使用该系统,即使是管理员,只要经过简单的说明,也能够很快的学会系统的使用,只有对数据库数据结构进行系统详细的分析,才能开发出满足系统所需要的各种对象,以及各个对象之间的关系,学生成绩管理系统对象有学生,教师,管理员,学生可以在网上查询自己的成绩信息,只要学生能够上网,就随时能够查到自己的成绩,并可以根据需要保存在校期间的所有成绩,学校管理员可以完成对学生信息的管理,教师信息的管理学生成绩管理,教师也可以使用这个系统来进行学生成绩的录入所教授班级成绩的查询。 ...
参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

切梦刀

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值