信息管理系统"/>
基于B/S模式的学生信息管理系统
学生信息管理系统
【摘要】
随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特点相适应的管理信息系统。
本文介绍了在Visual Basic6.0环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发一个管理信息系统的过程。通过分析某一学校学生管理的不足,创建了一套行之有效的计算机管理学生的方案。文章介绍了学生管理信息系统的系统分析部分,包括可行性分析、业务流程分析等;系统设计部分主要介绍了系统功能设计和数据库设计及代码设计;系统实现部分说明了几个主要模块的算法, 本系统界面友好,操作简单,比较实用。
【关键字】
管理信息系统、学生管理、Visual Basic应用。
前 言
信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。计算机虽然与人类的关系愈来愈密切,还有人由于计算机操作不方便继续用手工劳动。为了适应现代社会人们高度强烈的时间观念,学生管理系统软件为教学办公室带来了极大的方便。该软件是以汉语编程语言为实现语言,其功能在系统内部有源代码直接完成。通过操作手册,使用者可以了解本软件的基本工作原理。操作人员只需输入一些简单的汉字、数字,即可达到自己的目的。
现今班级的繁索给具有强烈时间观念的行政人员带来了诸多不便,教学办公室缺少一种完善的班级软件,为了对学生档案的管理方便,因此进行本设计。
因此,管理系统软件目前已有比较完善的管理与使用功能,并且是计算机行业中用POWERBUILDER编程来完成的软件成员。研制,学生管理系统软件是为了满足教学办公室对学生管理的方便,以现代化的创新思维模式去工作。
第一章 绪论-------------------------------------------------5
1.1 课题背景 --------------------------------------------5
第二章.系统概述----------------------------------------------6
2.1 系统及需求分析-------------------------------------6
2.1.1 系统需求----------------------------------------6
2.1.2可行性分析---------------------------------------6
2.2 系统的功能简介-------------------------------------7
2.2.1 项目规划----------------------------------------7
2.2.2系统管理模块--------------------------------------7
2.2.3班级管理模块-------------------------------------8
2.2.4学生档案管理模-----------------------------------8
2.2.5课程管理模块-------------------------------------8
2.2.6成绩管理模块-------------------------------------8
2.3 系统开发的目标-------------------------------------8
第三章. 系统分析---------------------------------------------9
3.1业务流程分析--------------------------------------9
3.2数据流程分析-------------------------------------10
3.3数据存储分析:实体联系图--------------------------10
3.4功能分析:功能层次图------------------------------11
第四章.系统设计---------------------------------------------12
4.1模块结构设计-------------------------------------12
4.1.1系统方案确定-----------------------------------12
4.1.2软件结构设计-----------------------------------12
4.2数据库设计---------------------------------------13
第五章.系统的功能-------------------------------------------15
5.1系统登陆界面-------------------------------------15
5.2进入界面-----------------------------------------18
5.2.1系统管理---------------------------------------18
5.2.2档案管理---------------------------------------20
5.2.3班级管理---------------------------------------22
5.2.4成绩管理---------------------------------------23
5.2.5其他模块---------------------------------------24
第六章.全文总结---------------------------------------------25
第七章.致谢辞-----------------------------------------------26
参考文献----------------------------------------------26
第一章 绪论
1.1 课题背景
二十世纪科技发展的卓越成就之一就是发明了电子计算机。它是一种自动、高速、精确地处理信息的现代化电子设备。由于它具有速度快、精度高、存储容量大、自动化程度高的特点,目前已广泛深入地适用社会生活的各个领域,对人类科学和生活发挥着不可估量的作用,从某种程度上讲,计算机理论水平及其应用的深度、广度已成为衡量一个国家现代化水平的重要标志之一。
自1948年美国宾夕法尼亚大学研制成功世界第一台电子计算机ENIAC之后,使人类进入了计算机时代。同年6月,世界著名数学家冯.诺依曼在帮助改进ENIAC存储量小,线路联接复杂等缺点的过程中,提出了二进制存储程序的新思想,并于1949年研制成第一台存储程序的计算机EDVAC明确提出计算机由五部分组成:运算器、存储器、控制器和输入/输出设备、并确定以二进制存储数据和程序。这些原则一直沿用至今,故现在的计算机常称为冯.诺依曼型计算机。
计算机从诞生到现在不过50余年时间,它的发展非常迅速,已经历了电子管、晶体管、中小规模集成电路、大规模集成电路四个时代。我国计算机事业始于1956年。计算机在社会各领域的广泛应用,为人类带来了巨大的社会效益和经济效益。
计算机作为信息处理的先进技术,其优越性越来越明显。
作为计算机应用的一部分,使用计算机对学生档案进行管理,具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生管理的效率,也是科学化、正规化学校管理的重要条件。
第二章 系统概述
本学生信息管理系统可以说是一个综合性的学生管理系统,这它集成了学生学籍管理系统、学生成绩管理系统、班级管理系统,课程管理系统等多种功能,因而具有较强的实用性和先进性。
2.1 系统及需求分析
2.1.1 系统需求
通过调查,要求系统需要有以下功能:
(1)由于操作人员的计算机知识普遍较差,要求有良好的人机界面;
(2)由于该系统的使用对象多,要求有较好的权限管理;
(3).原始数据修改简单方便,支持多条件修改
(4).方便的数据查询,支持多条件查询;
(5).在相应的权限下,删除数据方便简单,数据稳定性好;
(6).数据计算自动完成,尽量减少人工干预;
2.1.2可行性分析
由于本系统管理的对象单一,都是在校学生,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。因此,比较适合于采用数据库管理。且学校用于学生管理的微机都是PIII以上的机器,在存储量、速度方面都能满足数据库运行的要求。在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全可以实现。
本系统的设计是在Windows xp中文版操作系统环境下,使用NetBeans3.91中文版开发成功的。数据库是MIS中的重要支持技术,在MIS开发过程中,如何选择数据库管理是一个重要的问题,目前,数据库产品较多,每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围,本系统选用的数据库语言介绍如下:
总的来说,NetBeans具有以下特点:
(1)可视化编程:
用传统程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。如果对界面的效果不满意,还要回到程序中修改。有时候,这种编程-编译-修改的操作可能要反复多次,大大影响了软件开发效率。NetBeans提供了可视化设计工具,把Windows界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码。
(2).面向对象的程序设计:
(3).结构化程序设计语言
NetBeans是在java语言的基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式。NetBeans语句简单易懂,其编辑器支持彩色代码,可自动进行语法错误检查,同时具有功能强大且使用灵活的调试器和编译器。
(4).事件驱动编程机制
(5).访问数据库
(6).动态数据交换(DDE)
(7).对象的链接与嵌入(OLE)
(8).动态链接库(DLL)
2.2系统的功能简介
本系统主要可以实现以下的管理功能:班级管理、学生档案管理、课程管理、成绩管理等等。
2.2.1 项目规划
学生信息管理系统是一个典型的数据库应用程序,由班级管理、学生档案管理、课程管理、成绩管理等模块组成,特规划如下:
2.2.2系统管理模块
该模块的主要任务是维护系统的正常运行和安全性设置,包括添加用户、修改密码、重新登录、浏览用户等等。
2.2.3班级管理模块:
该模块的功能是实现对全校班级的管理工作,包括:班级添加,班级查询,班级删除,班级修改等,这四个功能模块各自独立,完成学校的全部班级的管理。
2.2.4学生档案管理模块:
该模块的主要功能是实现对学生的个人信息的管理工作,包括档案添加、档案浏览、档案查询、档案修改,档案删除等功能,从而方便学校管理部门对学校的基本情况的快速查询和了解。
2.2.5课程管理模块:
该模块对各个班级的课程进行设置,并可在其中设置各门课程的教材选用情况,以及课程的修改,删除等等。方便了学校教材管理部门和教务处的教学管理人员的工作。该模块包括基本课程设计和年级课程设置,以及课程的修改删除三个模块。
2.2.6成绩管理模块:
学校的成绩管理工作是检验学生学习情况的一个主要手段,本模块包括成绩添加、成绩游览、成绩查询等功能模块。
2.3系统开发的目标
出于本系统是学校学生管理的一个综合性的系统,本系统的设计目标将最终定位于完成以上所述的系统主要业务的基本模型上。
第三章. 系统分析
3.1业务流程分析
班级管理业务流程图:
档案管理业务流程图:
课程管理业务流程图:
3.2数据流程分析:
3.2.1数据流程图:
由于本系统的数据模块较多,下面仅以学生成绩管理模块为例来进行编制。
学生成绩管理系统0层数据流程图
3.3数据存储分析:实体联系图
1、数据模型设计。首先来做出学生成绩管理系统的E-R图,从系统分析可以知道,学生的成绩是由任课教师按照课程给出的,学生、课程、教师组成了这个系统的三个实体。
2、再分析三个实体之间的联系。这个E-R图可画成:
教师与课程这两个实体之间,是一对多联系;一位教师可以都多门课程,而一门课程对于学生成绩来说只能有一位教师(英语、高等数学有多位教师教,但对某个固定的学生来说只能有一位教师)。其E-R图,如下所示。
教师与课程的E-R图组合到一起,得到最后的E-R图,有了E-R图,就可以设计数据库。
3.4功能分析:功能层次图
第四章.系统设计
4.1模块结构设计
4.1.1系统方案确定
通过对系统的调研与分析,系统主要应完成的功能有:班级管理、学生成绩管理、课程管理、系统管理、学生档案管理等功能。
4.1.2软件结构设计
本系统在执行时,先根据不同的操作人员的需要来进行相应的模块,然后可以输入数据或者进行其它的查询或浏览等操作;总体来说,本系统属于一个事务型管理系统。
4.2数据库设计
数据库采用了Microsoft推出的SQLServer2008数据库,这个数据库能够快速方便的和java交互和链接。由于SQLServer2008具有显著的简易性和有效性,大量的桌面数据库系统都采用SQLServer2008作为后台数据库,SQLServer提供一个友善的可视化的数据管理维护界面。可以让数据库基础较弱的开发者使用。另外SQL Server良好的数据备份和数据存储可以方便项目的移植。
4.2.1 本系统中所涉及到的主要实体共有五个数据表:
class表:{年级,班级,教室,班主任}
course表:{课程编号,课程类型,课程名称,课程描述}
gradecourse表:{年级,课程名称}
result表:{考试类型,学生学号,学生姓名,班级编号,课程名称,成绩}
student表:{学号,姓名,性别,班级,出生年月,家庭住址 ,联系电话,入学时间,备注}
users表:{用户名,密码,权限 }
4.2.2 各表的物理结构如下:
1.Class表
Class_No | Int | 不能为空 |
Grade | Int | 可以为空 |
Director | Char(10) | 可以为空 |
Classroom | Char(10) | 可以为空 |
2.Course表
Course_No | int | 不能为空 |
Countse_Name | Varchar(50) | 可以为空 |
Course_Type | Char(10) | 可以为空 |
Course_Des | Char(50) | 可以为空 |
3.gradecourse表
Grade | Char(10) | 可以为空 |
Course_Name | Char(10) | 可以为空 |
4.result表
Exam_No | Char(10) | 不能为空 |
Student_ID | Int | |
Student_Name | Varchar(50) | 可以为空 |
Class_Name | Int | 可以为空 |
Course_Name | Varchar(50) | 可以为空 |
Result | float | 可以为空 |
5.student表
Student_ID | Int | 不能为空 |
Student_Name | Varchar(50) | 可以为空 |
Student_Sex | Char(2) | 可以为空 |
Born_Date | Datetime | 可以为空 |
Class_NO | Int | 可以为空 |
Tele_Number | Int | 可以为空 |
Ru_Date | Datetime | 可以为空 |
Address | Varchar(50) | 可以为空 |
Comment | Varchar(50) | 可以为空 |
6.users表
Username | Varchar(50) | 不能为空 |
Pwd | Varchar(50) | 可以为空 |
power | Varchar(50) | 可以为空 |
第五章.系统的功能
本部分主要内容为本系统的运行界面以及主要界面的源代码。
5.1系统登陆界面:
本界面的主要功能是为了对系统进行安全性管理,本系统的用户名和密码保存在users表中,本系统根据不同的用户而设置了不同的权限,可以用a,a为用户名和密码来登陆本系统。、
下图为账号输入界面
下图为密码输入界面:
下面代码为链接数据库进行账号密码判断:
void login_actionPerformed(ActionEvent e) {
username = JOptionPane.showInputDialog(this, "请输入用户名");
String pwd = JOptionPane.showInputDialog(this, "请输入密码");
if (! (username == null && pwd == null)) {
try {//连接数据库,验证用户
DBConnection dbc = new DBConnection();
Connection con = dbc.getConnection();
ps = con.createStatement(ResultSet.
TYPE_SCROLL_INSENSITIVE,
ResultSet.CONCUR_READ_ONLY);
try {
rs = ps.executeQuery("select * from users where username='" +
username + "' "); //读取数据库
if (!rs.next())
{
Log log = new Log();
log.addLog("\r\r", username + "用户试图登录系统,失败!");
log.closeStream();
如果用户不存在
JOptionPane.showMessageDialog(null, "不存在此用户!");
}
else if (! (rs.getString("pwd").trim().equals(pwd))) {
如果用户账号密码错误
JOptionPane.showMessageDialog(null, "密码错误!");
Log log = new Log();
log.addLog("\r\r", username + "用户试图登录系统,失败!");
log.closeStream();
}
else {
判断登陆账号的角色权限
if (rs.getString("power").trim().equals("系统管理员")) {
xjgl.setEnabled(true);
bjgl.setEnabled(true);
kcsz.setEnabled(true);
cjgl.setEnabled(true);
jMenuFile.setEnabled(true);
llyh.setEnabled(true);
adduser.setEnabled(true);
Log log = new Log();
log.addLog("\r\r", username + "(系统管理员)登录系统");
log.closeStream();
}
else {
cjgl.setEnabled(true);
xjgl.setEnabled(true);
xgcj.setEnabled(false);
tjcj.setEnabled(false);
xgxj.setEnabled(false);
tjxj.setEnabled(false);
Log log = new Log();
log.addLog("\r\r", username + "(普通用户)登录系统");
log.closeStream();
}
}
}
catch (SQLException sqle) {
String error = sqle.getMessage();
JOptionPane.showMessageDialog(null, error);
sqle.printStackTrace();
}
}
catch (Exception err) {
// err.getMessage();
Log log = new Log();
log.addLog("\r\r", "数据库连接错误!");
log.closeStream();
String error = err.getMessage();
JOptionPane.showMessageDialog(null, error);
}
}
}
5.2 进入界面
5.2.1 系统管理
当输入的用户名和密码正确时,系统就会自动进入学生信息管理系统的主界面:
这时就可以进入实际的对学生的操作中了。
在系统管理中分为添加用户,修改密码,复新登陆,管理员的浏览所有用户三方面的内容。
下图为添加用户界面:
如果用户为管理员,那么他可以查看所有的用户
下图为浏览所有用户:
下图为修改密码界面:
5.2.2档案管理
档案的管理主要是档案的添加,浏览和查询,以下主要介绍的是关于档案的查询方面。首先进入档案查询界面,本模块共有三种查询方式,分别是按学号,按姓名,按班级。其界面如下:
下图为我的档案添加界面:
下图为我的档案修改界面:用户可以查询所有的档案并修改或者删除
5.2.3班级管理
下图为我的班级添加界面,单机确认添加后会出现二级确认界面
下图为修改班级信息界面,用户需要先查询要修改的班级信息。然后点击更改
5.2.3成绩管理
用户可以通过选择考试的类型以及要添加的学生的信息来进行信息查询
下图为成绩添加界面:
成绩的查询以及修改与以上的学生信息几乎相同再次不一一贴出
5.2.4课程管理
下图为添加课程信息的界面:可以再次选择要添加的课程 类型,包括必修,选修等:
下图为设置年级课程,用户可以在左边的框体中查看所有课程单击添加即可为年级添加相应的课程:
5.2.5其他模块
除了以上介绍各种功能,本系统还增加了一些小的人性化设计,主要包括背景音乐,另外用户可以根据自己的喜好来更换背景图片等
第六章 全文总结
在本系统的开发过程中,由于本人是初次独立开发软件,在知识、经验方面都存在着不足。另外,在整个开发的过程中,时间也比较仓促。因此,该系统必然会存在一些缺陷和不足。因为对学生管理的整个流程不够熟悉,在需求分析时未能做到完全满足用户的需求。虽然网络在学生管理系统中的应用不是很多,但是未来的发展方向,在本次开发过程由于硬件的限制,未能实现网络功能,因此在以后的系统更新过程中可能会造成一些不必要的数据损失。
尽管本管理系统存在着很多不足,但其功能全面、易于日后程序更新、数据库管理容易、界面友好、操作方便、效率高、安全性好等优点是本管理系统所必需的。相信本学生管理系统是一套学校在日常管理中必不可少的管理软件,通过开发这个系统,我掌握了的项本过程,了解了的基本知识巩固了我对NetBeans的学习,但在这次毕业设计中的最大收获并不是掌握这几门开发工具的应用,而是学会了设计系统的思维方法,以及与同学们之间相互帮助的精神。
第七章 致谢辞
网上人才招聘系统在设计过程中和论文写作过程中得到了隆岩老师的认真指导,并提出了许多宝贵意见和建议。在此本人表示深深的谢意。
软件设计是一个精细漫长的过程。在整个过程中,都需要周密的计划和安排,每一步骤,都需要按照软件工程标准来完成。在设计中,我始终坚持理论指导实践原则,并通过实践来加强理论的学习,通过实习,我熟悉了软件开发的一般过程,加强了对实际问题的处理能力。实践证明,在高科技突飞猛进的时代,光靠课堂所学的知识是远远不够的,必须依靠实践去不断的深化认识,尤其是计算机科学,操作性和实践性很强,只有加强实际的动手能力,才能更好的掌握这一现代化工具。
在开发过程中隆老师给予了我很多有益的指导和启示,对我以严格的要求;在撰写毕业论文的时候隆老师又孜孜不倦的给予我教导,为我提出了许多宝贵意见。同时隆老师在生活上也一直关心着我,给了我很多帮助,再次谢谢隆老师
感谢同学间的相互支持与促进。在学习中有什么不懂得问题可以与同学讨论。同学不仅是我的朋友,有时也是我的老师。感谢家人对我的物质及精神的支持。最后,感谢所有支持我、关心我的人。
参考文献
黄梯云 《管理信息系统导论》, 机械工业出版社 1986
张继文 《信息系统开发案例》,清华大学出版社 1999
李钟尉,马文强,陈丹丹等著 java从入门到精通,清华大学出版社2010
(英)Robin Dewson 著 SQL Server 2008基础教程 , 人民邮电出版社 2009
(美) 埃克尔 著 Java编程思想(第4版), 机械工业出版社 2010
(美)Kent Beck著 测试驱动开发中文版,中国电力出版社 2007
更多推荐
基于B/S模式的学生信息管理系统
发布评论