1、1目录一、前言 .2二、需求分析 .3三、系统总体设计 .33.1 系统总体设计系统思路 33.2 数据库设计 43.2.1 login1 表的设计和数据 43.2.2 student 表的设计和数据 .53.2.3 course 表的设计和数据 .53.2.4 score 表的设计和数据 .53.3 系统功能模块设计 6四、系统详细设计 .74.1 登录模块 74.2 学生模块 .74.3 教师模块 .74.4 管理员模块 .8五、系统测试及运行结果 .95.1 主界面 .95.2 学生管理中心界面 .95.3 教师管理中心界面 .105.4 管理员管理中心界面 .105.5 查询课表界面
2、.115.6 查询成绩界面 .115.7 查询教学情况界面 .115.8 查询所有学生成绩界面 .125.9 学生信息管理界面 .125.10 学生成绩管理界面 .135.11 用户管理界面 .13六、实验总结 .14七、参考文献 .142一、前言随着计算机在人们生活中的普及和网络时代的来临,对信息的要求日益增加,学生信息管理业务受到了较为强烈的冲击,传统的手工管理方式传统的手工管理方式已不能适应现在的信息化社会。如何利用现有的先进计算机技术来解决学生信息管理成为当下的一个重要问题,学生信息管理系统是典型的信息管理系统,其开发主要就是针对前台的页面展示以及后台数据的管理。对于前者,要求应用程序
3、功能完备,易于使用,界面简单;而对于后者,则要求数据库具有一致性、完整性,并能够依据前台的操作来对应操作后台数据库达到一定的安全性。本学生信息管理系统主要采用的纯 JAVA 代码实现图形界面系统的开发,以及数据库知识进行数据的查询,删除,插入和更新。本系统主要分为三个部分:学生模块、教师模块、管理员模块。其中学生模块实现的功能:查询课表信息和查询成绩。教师模块实现的功能:查询课表信息、查询教学情况和查询所有学生的各科成绩。管理员模块实现的功能:课表信息的管理、学生信息管理、学生成绩管理和用户信息管理。3二、需求分析用 JAVA 语言实现学生信息管理系统的图形界面的编程。主要实现以下几个重要功能
4、:实现三种不同身份(学生、教师、管理员)登录学生信息管理系统。 (其中的数据信息保存在数据库中)在三种身份登录成功后,分别展现三个界面:学生管理中心、教师管理中心、管理员管理中心。在学生管理中心界面实现功能:查询课表信息和查询成绩。(查询时不允许修改数据)在教师管理中心界面实现功能:查询课表信息、查询教学情况和查询所有学生的各科成绩。在管理员管理中心界面实现功能:课表信息的管理、学生信息管理、学生成绩管理和用户信息管理。学生信息的管理:实现学生信息的查询、插入、删除、更新。课表信息的管理:实现课表的查询。学生成绩的管理:实现学生成绩的查询、插入、删除、更新。用户信息的管理:实现用户信息插入、删
5、除、修改、更新。三、系统总体设计3.1 系统总体设计系统思路本系统的数据都是保存在数据库中,从而保证了数据的完整性、4安全性、和一致性。系统涉及的主要知识:JAVA 以及 SQL SERVER2008 的操作。利用 JAVA 的图形编程界面的输入来对数据库进行数据的增加、修改、删除、更新。以下为系统设计的总体流程图:3.2 数据库设计本系统主要用到 4 张表: login1、student 、course 、score。3.2.1 login1 表的设计和数据列名 数据类型 允许 Null 值 是否为主键开始结束是否登录成功学生管理中心 教师管理中心 管理员管理中心查询课表查询成绩退出查询课表
6、查看教学情况查询学生成绩课表信息管理学生信息管理退出学生成绩管理退出用户信息管理是否5username vchar(50) 不允许 是password vchar(50) 不允许 否id vchar(50) 不允许 否username password idadmin admin 管理员Stu stu 学生tea tea 教师3.2.2 student 表的设计和数据列名 数据类型 允许 Null 值 是否为主键sno vchar(50) 不允许 是sname vchar(50) 不允许 否ssex vchar(50) 不允许 否sbirthday vchar(50) 不允许 否sclass
7、vchar(50) 不允许 否sbirthplace vchar(50) 不允许 否sno sname ssex sbirthday sclass sbirthplace8001 罗辉 男 1993-06-06 信安 121 班 安徽省8002 刘晨 男 1994-07-08 信安 121 班 江苏省8003 许芳 女 1994-07-15 信安 121 班 江西省8004 张杰 男 1994-08-08 信安 121 班 湖北省8005 赵爽 女 1995-05-06 信安 121 班 河南省3.2.3 course 表的设计和数据列名 数据类型 允许 Null 值 是否为主键monday
8、vchar(50) 不允许 否tuesday vchar(50) 不允许 否wednesday vchar(50) 不允许 否thursday vchar(50) 不允许 否friday vchar(50) 不允许 否monday tuesday wednesday thursday fridayJava 程序设计 密码学 WEB 开发 Linux 操作系统 数据挖掘汇编语言 WEB 开发 数据挖掘 密码学 汇编语言63.2.4 score 表的设计和数据列名 数据类型 允许 Null 值 是否为主键sno vchar(50) 不允许 是sname vchar(50) 不允许 否Java 程序
9、设计 vchar(50) 不允许 否数据挖掘 vchar(50) 不允许 否WEB 开发 vchar(50) 不允许 否汇编语言 vchar(50) 不允许 否密码学 vchar(50) 不允许 否sno sname Java 语言 数据挖掘 WEB 开发 密码学8001 罗辉 90 88 97 928002 刘晨 94 87 92 918003 许芳 89 90 86 888004 张杰 83 95 84 988005 赵爽 88 91 95 943.3 系统功能模块设计本系统共有 20 个类,下面分别简要介绍各类的主要作用。(1)Login:包含主类,选中运行本系统。(2)WindowLo
10、gin:实现主窗口界面。(3)Denglu: 验证登录,若登陆成功,分别转向不同的用户界面。(4)Reset:清空主窗口的所有输入值。(5)WindowAdmin:管理员用户主界面。(6)WindowStudent:学生用户主界面。(7)WindowTeacher:教师用户主界面。(8)ConnectSQL: 连接数据库,对数据库进行增、删、改、查操作。(9)ModifyAdminPassword :修改管理员用户的密码。7(10)ModifyTeacherPassword:修改教师用户的密码。(11)ModifyStudentPassword:修改学生用户的密码。(12)QueryAllSc
11、ore:查询所有学生成绩(13)QueryCouse:查询课表。(14)QueryScore:查询单个学生成绩。(15)QueryTeachingSituation :查询教学情况。(16)QueryAllStudentInformation:查询所有学生信息。(17)QueryAllUsersInformation:查询所有用户信息。(18)StudentInformationManegement :学生信息管理界面。(19)StudentScoreManagement:学生成绩管理界面。(20)UsersInformationManagement :用户信息管理界面。四、系统详细设计4.1
12、 登录模块用 Denglu 类来做登录按钮的监视器,具体源代码参见打包工程的 Denglu 类。4.2 学生模块在学生模块主要实现三种功能:在菜单条上实现修改密码、查询课表、查询成绩。分别由三个类来实现,分别是ModifyStudentPassword、QueryCourse、QueryScore 。具体源代码参见打包工程。84.3 教师模块在教师模块中主要实现四个功能:在菜单条上实现修改密码、查询课表、查看教学情况、查询所有学生成绩。分别由四个类来实现,分别是ModifyTeachertPassword、QueryCourse、QueryTeachingSituation、QueryAllS
13、core。具体源代码参见打包工程。4.4 管理员模块在管理员模块中主要实现五个功能:在菜单条上实现修改密码、课表信息管理、学生信息管理、学生成绩管理、用户信息管理。分别由四个类来实现,分别是ModifyAdminPassword、QueryCourse 、StudentInformationManagement、StudentScoreManagement、UsersInformationManagement。具体源代码参见打包工程。9五、系统测试及运行结果5.1 主界面5.2 学生管理中心界面105.3 教师管理中心界面5.4 管理员管理中心界面115.5 查询课表界面5.6 查询成绩界面5
14、.7 查询教学情况界面125.8 查询所有学生成绩界面5.9 学生信息管理界面135.10 学生成绩管理界面5.11 用户管理界面14六、实验总结通过对学生信息管理系统的开发研究,我把所学的知识综合运用到开发过程中,使我获得了许多在课本中学不到的知识。经过这次实验,我对自己掌握的 JAVA 以及数据库知识有了更深层次的了解。在本系统的编写过程中,我逐渐发现书本上的知识还是远远不够的。此时我才明白大学就是要培养一个人的自学能力。在编写过程中,我虽然已经仔细编写代码,但仍然无法阻止错误的发生。不过幸运的是经过自己的调试和老师的帮助,出现的各种问题已经被妥善解决。学习一门编程语言,不仅仅是掌握书上的例题,更重要的是在编程过程中的灵活运用。在这里我想感谢帮助和指导我的老师。正是由于他的帮助和指导,我的学生信息管理系统最终完成。感谢周老师的教诲!七、参考文献Java 面向对象程序设计 耿祥义 张跃平