毕业设计(论文)学生信息管理系统的设计与实现.doc
学生信息管理系统的设计与实现作者姓名: 指导教师: 单位名称: 计算机科学与技术系专业名称: 软件技术大连东软信息技术职业学院2009年6月Design and Implementation of Student Information Management Systemby Supervisor:Dalian Neusoft Institute of Information TechnologyJune 2009毕业设计(论文)任务书毕业设计(论文)题目:学生信息管理系统的设计与实现设计(论文)的基本内容: 本系统是各大高校管理学生信息的应用程序,统涉及到学生信息管理的多个方面,主要包括学生基本信息和管理员。每个新生来到学校后,管理员登录后管理学生信息管理系统学生信息、成绩查询、简历信息等,负责将学生的各种信息录入系统中。并根据用户的实际情况对学生信息的增、删、改、查。每个学生都有自己的账号和密码登录此系统查看在校的情况。学生可以通过这个网站了解自己在校的状况,也方便了学校的管理,简捷和快速查找每一位学生的信息。毕业设计(论文)专题部分:题目: 设计或论文专题的基本内容:学生接受毕业设计(论文)题目日期第 1 周指导教师签字:2008年 12 月 8 日学生信息管理系统的设计与实现摘 要随着现代信息技术的发展而产生的一种新型网上教育与沟通方式。计算机技术、多媒体技术、通信技术的发展,特别是因特网(internet)的迅猛发展,使网上的手段有了质的飞跃,成为高新技术条件下的先锋。现代是以网上手段为主,兼容面授、函授等多种媒体优化组合的学习方式。基于Web的教务管理是二十一世纪现代远程教育的发展方向。基于Web的学生信息管理系统是基于Web的教务管理系统的重要组成部分。本文探讨了基于Web的远程学生信息管理系统的主要功能。本系统结合网上教育系统的基本环节,划分为用户登录的基本信息、添加简历模块、查询模块、修改信息模块、后台管理员登录模块等几大模块。系统采用了B/S架构,应用了JAVA、JSP、JavaScript、Html等技术开发,使开发过程更加简单化、大大提高了开发效率并且更益于系统的维护。后台采用了Tomcat作为服务器,而数据库使用Sqlserver来满足数据库的存储功能。本文从需求分析、概要设计、详细设计等方面入手,使用UML对系统建模,主要阐述了系统各模块的设计以及实现。在经过了细致的分析、周密的设计以及满足系统需求的基础上实现了管理员对学生信息增删改查的基本功能。关键词:学生信息管理系统,JSP,B/S架构Design and Implementation of Student Information Management SystemAbstract A technical development along with the modern information but output of a kind of new net studies a way up.Calculator technique,multi-media technique,correspondence technical development, especially the fast fierce development of Internet(internet), make the means of the on-line study system have quality to leap, become under high new technique condition of long range study.Modern study system with modern long range study means is lord, and permit noodles to teach,teach by correspondence with self-educated etc. tradition study form, various medium are excellent to turn the study method of the combination. Educational administration based on Web is the mainstream of distance-education in 21st century, educational administration based on web is one of the most important component of it. This paper discusses the main functions of educational administration.This system combines the basic link of the on-line study system, dividing the line the basic information that lands for the customer,register a mold piece,search a book mold piece,modify an information mold piece and increasing to delete a chapter mold piece,backstage a managing person to land the mold piece big mold pieces with several etc.The system adopted the B/S structure, applying mode Java JSP JavaScript Html language development method. make the development process turn more and in brief,raised a development an efficiency consumedly and more benefit in the maintenance of the system.The backstage adopted Tomcat as a server, but database usage Sqlserverto satisfy the saving function of the databaseThis text is analytical from the need,the essentials design,detailed design etc. commence, using UML to set up a mold to the system, mainly elaborating the design and the realization of each mold of system piece.Carried out a managing person a system to increase to revise to check to the database in pass by meticulously of analysis,careful and attentive design and satisfying Educational administration the foundation ofwith the system need of basic function.Key words: student information management system, JSP, B/S structure目 录毕业设计(论文)任务书I摘 要IIABSTRACTIII第1章绪 论11.1 论文研究目的及主要内容11.2 国内外现状2第2章 关键技术介绍32.1 JSP技术32.2 ECLIPSE开发平台42.3 SQLSERVER技术概述42.4 WEB服务器:TOMCAT4第3章系统分析63.1系统需求分析63.1.1 业务流程分析63.1.2 功能需求分析63.1.3 管理员管理系统73.1.4 用户登录系统73.1.5 系统E-R图83.2系统可行性分析93.2.1系统可行性分析93.2.2技术及开发方法可行性93.2.3管理可行性93.3 系统开发环境的分析10第4章系统详细设计114.1功能模块设计114.1.1系统管理模块114.1.2学生管理模块114.2 数据库设计12第5章系统设计与实现165.1用户登录系统界面165.2管理员页面215.2.1管理员登录到系统首页215.2.2管理员按学号名查询学生215.2.3管理员增加学生235.2.4管理员管理学生信息245.2.5 信息模块管理275.3JSP连接数据库29第6章系统测试与结果分析306.1系统功能测试306.2系统维护30第7章结论31参考文献32致 谢33第1章绪 论21世纪是以知识经济为主的社会,美国思科集团总裁约翰·钱伯斯曾断言:Internet和教育作为推进社会经济发展的两个核心动力,将深刻地改变一个民族的历史和命运。谁把握了Internet,谁就把握了未来;谁开创了未来的现代教育体系,谁将具有持续发展的能力!因此,网上学生信息管理将更加受到人们的关注,该项目开发的软件为在校学生信息管理系统软件,是鉴于目前学校学生人数剧增,学生信息呈爆炸性增长的前提下,学校对学生信息管理的自动化与准确化的要求日益强烈的背景下构思出来的,该软件设计完成后可用于所有教育单位(包括学校,学院等等)的学生信息的管理.目前社会上信息管理系统发展飞快,各个企事业单位都引入了信息管理软件来管理自己日益增长的各种信息,在校学生信息管理系统也是有了很大的发展,商业化的在校学生信息管理软件也不少.但本系统完全独立开发,力求使系统功能简洁明了,但功能齐全且易于操作.在校学生信息系统是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以在校学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。在各大中小学校,用计算机管理学校的信息已经越来越普遍了。用计算机不但可以提高工作效率,而且还节省了许多人力物力,增强了学校资料的安全性。提高了学校的管理能力,为此,用计算机来管理学校的信息,是非常必要的。1.1 论文研究目的及主要内容计算机的不断发展使我们从繁重劳中解放出来,使我们的工作效率显著地提高了。现今,随着通信技术的进一步发展,互联网已经遍布到世界的每一个角落,人类社会已经进入了电子信息时代。互联网的出现在一些方面极大地改了我们的生活方式,各种网络应用和技术的需求大量增加。从商业活动、政府办公到我们的生活,都与互联网息息相关,我们的工作方式在效率上已经的到了极大的提高。本系统是高等高校对学生在校信息的一个统一管理的软件。在该软件中可以把在校学生的所有信息统计起来,学生也能及时知道自己在校情况,学生还可以登录这个网站来查询所学课程的各科成绩,即将毕业的学生也可以填写简历选择和查询一些公司的招聘信息,使学校和学生能更紧密、方便、快捷的联系在一起,互相通信的目的。采用流行的B/S架构实现,初步拟定Sqlserver2000作为后台的数据库服务器,采用UML进行统一建模,用rose作为建模工具。1.2 国内外现状学生信息管理是各大学的主要日常管理工作之一,涉及到校、系、师、生的诸多方面,随着教学体制的不断改革,学生日常管理工作及保存管理日趋繁重、复杂。迫切需要研制开发一款功能强大,操作简单,具有人性化的学生信息管理系统。 在国外高校,与国内不同,他们一般具有较大规模的稳定的技术队伍来提供服务与技术支持。而国内高校信息化建设相对起步较晚。在数字校园理论逐步应用的过程中,各高校一方面不断投资购建各种硬件、系统软件和网络,另一方面也不断开发实施了各类教学、科研、办公管理等应用系统,形成了一定规模的信息化建设体系。但是,由于整体信息化程度相对落后,经费短缺,理论体系不健全等原因,国内高校教务管理系统在机构设置、服务范围、服务质量及人员要求上与国外高校相比都有一定的差距。 纵观目前国内研究现状,在安全性和信息更新化方面存在有一定的不足,各现有系统资料单独建立,共享性差;在以管理者为主体的方式中,信息取舍依赖管理者对于信息的认知与喜好,较不容易掌握用户真正的需求,也因此无法完全满足用户的需求。因此,教务管理软件应充分依托校园网,实现教务信息的集中管理、分散操作、信息共享,使传统的教务管理朝数字化、无纸化、智能化、综合化的方向发展,并为进一步实现完善的计算机教务管理系统和全校信息系统打下良好的基础。第2章 关键技术介绍2.1 JSP技术JSP是Java Server Pages的缩写,是由Sun Microsystems公司推出的,它是一种在服务器端运行的动态网页技术。JSP中内容的生成和显示是分离的,用HTML或者XML标识来设计和格式化最终页面,用JSP标识或者小脚本来生成页面上的动态内容。绝大多数JSP页面依赖于可重用的、跨平台的组件来执行应用程序所有的更为复杂的处理,开发人员能够共享和交换执行普通操作的组件,或者使这些组件为更多的使用者或者客户团体所使用。标准的JSP标签能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其它方法更难于编码和耗时的功能。通过开发制定标签库,JSP技术是可扩展的。第三方开发人员和其他人员可以使用常用功能创建自己的标签库。JSP页面的内置脚本语言是基于Java编程语言的,而且所有的JSP页面都要被转换成Java Servlet,所以JSP页面就具有Java技术的所有好处,包括健壮的存储管理、安全性以及跨平台性。由于Java语言的跨平台性,JSP也拥有Java编程语言的一次编写,随处运行的特点。JSP运行原理如图2.1所示。JSP容器JSP文件生成Servlet源代码编译的Servlet类 浏览器 图2.1 JSP运行原理图2.2 Eclipse开发平台 Eclipse是一个集成开发环境(Integrated Development Environment),其前身是IBM的Visual Age for JAVA(VA4J)。Eclipse是可扩展的体系结构,可以集成不同软件开发供应商开发的产品,将他们开发的工具和组件加入到Eclipse平台中。随着Java广泛地应用,各大主要软件供应商都参与到Eclipse架构开发中,使得Eclipse插件数量与日增加。Eclipse平台的免费,架构的成熟,行业协会Eclipse基金会的支持,使得很多的Java开发采用了Eclipse架构。Eclipse是一个精心设计的、可扩展的核心结构。通过插件的形式,将根据自己需要选择的扩展开发工具集成到Eclipse平台核心。因此使得可以避免因过去不兼容工具带来的麻烦,降低开发出成本,大幅度提高工作效率。2.3 Sqlserver技术概述Sqlserver是以高级结构化查询语言(SQL)为基础的大型关系数据库,是目前最流行的客户/服务器(CLIENT/SERVER)体系结构的数据库之一。特点:Sqlserver2000以来引入了共享SQL和多线索服务器体系结构。这减少了Sqlserver的资源占用,并增强了Sqlserver的能力,使之在低档软硬件平台上用较少的资源就可以支持更多的用户,而在高档平台上可以支持成百上千个用户。提供了基于角色(ROLE)分工的安全保密管理。在数据库管理功能、完整性检查、安全性、一致性方面都有良好的表现。支持大量多媒体数据,如二进制图形、声音、动画以及多维数据结构等。提供了与第三代高级语言的接口软件PRO*系列,能在C,C+等主语言中嵌入SQL语句及过程化语句,对数据库中的数据进行操纵。加上它有许多优秀的前台开发工具如 POWER BUILD、SQL*FORMS、VISIA BASIC 等,可以快速开发生成基于客户端PC 平台的应用程序,并具有良好的移植性。提供了新的分布式数据库能力。可通过网络较方便地读写远端数据库里的数据,并有对称复制的技术。2.4 WEB服务器:TOMCAT Tomcat中的应用程序是一个WAR(Web Archive)文件。WAR是Sun提出的一种Web应用程序格式,与JAR类似,也是许多文件的一个压缩包。这个包中的文件按一定目录结构来组织:通常其根目录下包含有Html和JSP文件或者包含这两种文件的目录,另外还会有一个WEB-INF目录,这个目录很重要。通常在WEB-INF目录下有一个web.xml文件和一个classes目录,web.xml是这个应用的配置文件,而classes目录下则包含编译好的Servlet类和JSP或Servlet所依赖的其它类(如JavaBean)。通常这些所依赖的类也可以打包成JAR放到WEB-INF下的lib目录下,当然也可以放到系统的CLASSPATH中,但那样移植和管理起来不方便。 在Tomcat中,应用程序的部署很简单,只需将WAR放到Tomcat的webapps目录下,Tomcat会自动检测到这个文件并解压。在浏览器中访问此应用的JSP时,通常第一次很慢,因为Tomcat要将JSP转化为Servlet文件然后编译。编译以后,访问将会很快。第3章系统分析3.1系统需求分析3.1.1 业务流程分析经过仔细的需求分析,对系统的业务流程做出如下描述:管理员登录后管理学生信息管理系统学生信息、成绩查询、简历信息等,负责将学生的各种信息录入系统中。并根据用户的实际情况对学生信息的增、删、改、查。学生可以根据自己的学号登录系统查看在校的情况。3.1.2 功能需求分析在校学生信息管理系统涉及到学生信息管理的多个方面,主要包括学生基本信息和管理员,学生登录、学生查询、修改个人信息,管理员增、删、改、查学生信息的内容等。在校学生信息管理系统中,我模拟出两种不同的身份,即:管理员和用户。以下所有的分析和设计都是在此两种身份的前提下进行的。在满足在校学生信息管理系统的实际需求和在对在校学生信息管理系统的逐步认识下,现对在校学生信息管理系统的功能分析如下:首先为了系统的安全,系统必须要有一个登录即学生身份的验证。只有管理员(admin)可以选择管理权限,此管理员是唯一的。只有该管理员能够对系统中用户的信息、简历信息、招聘信息情况进行增加、删除、修改、查询。普通用户可以选择一般用户权限,所以普通用户只能对自己的信息进行修改和删除。系统的具体模块划分如下:(1) 登录功能:学生要想登录此系统,可以用学生的学号为本系统的账号、密码是学生学号的后两位。其实学生的账号和密码管理员早已设置在后台数据库中,所以学生可以直接登录。(2) 修改功能:学生进入本系统之后如果想要更改密码,以防别人进入访问,可以直接在基本信息里修改,新密码和旧密码一致,提交提示修改成功。(3) 检索功能:学生登录成功后,在在校信息一项中可以查找基本信息、入学信息、毕业信息、各科成绩、奖赏情况、课程表和招聘信息查询等。 (4) 添加功能:学生选择我的简历一项中,自己可以添加自己简历给校方,校方根据你的简历来推荐你毕业时选择你需要的工作,给学生提供最大的就业机会,大大方便了学生自己毕业找工作的问题。3.1.3管理员管理系统(1)管理员登录: 在登录页面中通过输入用户名、密码、选择登录权限来登录系统,通过输入用户名、密码来判断,只有正确输入用户名、密码的人才可以登录系统,否则提示输入有误。(2)管理员管理学生:管理员可以学生学号进行查询。(3)管理员可以发布,学生管理、教学管理、政策法规、就业新闻的板块。 管理员登录系统用例图如图3.1所示。图 3.1管理员登录系统用例图3.1.4 用户登录系统(1)用户登录: 在登录页面中通过输入用户名、密码、选择登录权限(是用户登录还是管理员登录)来登录系统,通过输入用户名、密码来判断,只有正确输入用户名、密码的人才可以登录系统,否则提示输入有误,再跳转回登录页面。(2)用户浏览信息在此模块中,用户可以浏览管理员录入学生管理、教学管理、政策法规、就业新闻的板块中的内容。用户登录系统的用例图如图3.2所示。图3.2 用户登录系统的用例图3.1.5 系统E-R图学生成绩模块E-R图如图3.3所示。学生选课成绩出生日期入学日期奖惩学生班号学生编号考试课程考试分数编号班级性别姓名学号电话 1:n n:m 图3.3 学生成绩E-R图求职招聘E-R图如图3.4所示。发布管理员管理学生企业管理发布管理图3.4 求职招聘模块E-R图3.2系统可行性分析3.2.1系统可行性分析通过对系统需求的详细分析,通过学生个人信息系统的认真调查,基本完成对所需求信息的工作。按需求信息的结果确定所需的实体与属性来创建数据库。参考借鉴同类性质的学习系统,明确自身所需完成的主要功能以及业务流程。创建业务流程图。编写Java Bean以实现对数据库的操作,使用Java Bean可以简化程序的重复设计,降低出错率。3.2.2技术及开发方法可行性学生信息系统方便管理学生为主要目的。因此相关信息应及时更新,系统后台数据库在建立时应对相关信息做出要求,由管理员适时进行检查及更新。网站开发总体采用的是JSP技术,数据库方面Sqlserver查询语言的应用,我们都曾经在数据库课程以及商业信息系统课程中学到过相应的基础知识,这就为系统数据库的开发提供了技术保障。最重要的,由于所有成员都拥有自己的电脑,为配置系统开发的软、硬件环境提供了必要的物质保障。另外我院良好的网络教学环境也方便了我们及时在线查阅资料、获取信息,使系统实现后的测试和运行成为了可能。3.2.3管理可行性模块化设计,有助于开发过程的管理,将整个程序划分多个功能模块单独设计,降低程序设计难度3.3 系统开发环境的分析硬件和操作系统要求:下面说明安装Sqlserver客户端管理工具和库的硬件要求。硬件最低要求:计算机 Pentium 166 MHz 或更高。内存 (RAM) 至少 64 MB,建议 128 MB 或更多。根据我的经验,内存容量可以和数据容量保持1:1的比例,这样可以更好的发挥其效能。 硬盘空间 需要约500MB的程序空间,以及预留500M的数据空间。第4章系统详细设计4.1功能模块设计4.1.1系统管理模块系统管理模块:管理员登录(学生信息、校园新闻、招聘信息)三大子模块。(1)管理员登录:管理员可用分配的、默认的用户名与密码进行登录;(2)学生信息:管理员登录系统后,添加新入校的学生和删除毕业的学生信息,修改学生变更的信息,快速的查询学生情况;(3)校园新闻:管理员发布新闻分为4个小板块。如:学生管理、教学管理、政策法规、就业新闻。(4)招聘信息:管理员及时、快速地提供招聘公司的概况和招聘职位,方便即将毕业的学生开拓方便之路。系统管理功能结构图如图4.1所示。 在校学生信息管理系统用户管理在校信息我的简历招聘信息成绩管理新闻就业新闻政策法规学生管理教学管理图4.1系统管理模块功能结构图4.1.2学生管理模块学生管理模块包括登录,学生个人简历、查询招聘公司、查看校内新闻三个模块。(1)学生模块输入项:学号,密码。 输出项:恭喜您登录成功,进入系统首页页面,不成功则显示错误信息页面。(2)学生个人简历 学生可以添加和修改简历以方便学校推荐工作。(3)招聘公司查询即将面临毕业找工作的学生可以在这里查询公司和招聘职位。 (4)校内新闻学生能从这个板块中及时了解学校的活动和通知。4.2 数据库设计数据库是某个企业、组织或部门所设计的数据的一个综合,它不仅要反映数据本身的内容,而且要反映数据之间的联系。数据库技术与产品的发展总是与计算机技术的发展密切相关,从主机到现在的Internet/Intranet及网络计算。数据库总是站在技术的最前沿。该项目选择了Sqlserver数据库作为网站的后台支持,这种数据库能够提供方便,快捷的进行数据库管理,是目前比较流行的数据库管理系统,适用于大、中、小型学校。 个人信息表是用来储存管理员录入在校学生信息的基本表,储存的方式:学生学号为标准,如表4.1所示。表4.1存储个人信息表列名数据类型长度允许空xsidnumber50否xuehaonumber50否mimavarchar50否xingmingvarchar50否xingbievarchar50否xibievarchar50否zhuanyevarchar50否nianjivarchar50否banjivarchar50否shengridate否youjianvarchar50否dizhivarchar50否成绩表是存放学生期末成绩信息表,如表4.2所示。 表4.2成绩信息表列名数据类型长度允许空xuehaonumber50否xmglvarchar50否cvarchar50是umlvarchar50是ryuvarchar50是unixvarchar50是shujuvarchar50是caozuovarchar50是 简历表是存放学生求职意向的信息表,如表4.3所示。表4.3简历表列名数据类型长度允许空xuehaonumber50否xingmingvarchar50否xingbievarchar50否zhuanyevarchar50否ShengriDate否Xuelivarchar50否Mianmaovarchar50否Banjivarchar50否Mingzuvarchar50否Yiwaivarchar50是Jiankangvarchar50否Erwaivarchar50否Youjianvarchar50是Dianhuavarchar50否Dizhivarchar50是Techangvarchar50否Shuipingvarchar50否Shijianvarchar50否Renzhivarchar50否Pingjiavarchar50是招聘表是存放招聘信息的表,如表4.4所示。表4.4招聘信息表列名数据类型长度允许空zpidNumber50否mingchengVarchar50否jianjieVarchar50是DidianVarchar50否LianxirenVarchar50否DianhuaVarchar50否DizhiVarchar50否YoujianVarchar50否FabushijianVarchar50否ZhiweiVarchar50否RenshuVarchar50否ZhuanyeVarchar50否YaoqiuVarchar50是XueliVarchar50否YiwaiVarchar50是ErwaiVarchar50是XinchouVarchar50否JiezhiriqiVarchar50是MiaoshuVarchar50是新闻表是管理员发布新闻储存表,如表4.5所示。表4.5新闻表列名数据类型长度允许空xwidNumber50否biaotiVarchar500否NeirongVarchar500否Fabushijian Date否管理员表是存放密码和用户名,如表4.6所示。表4.6管理员信息表列名数据类型长度允许空Adminid Number50否续表4.6管理员信息表列名数据类型长度允许空Adminame Varchar50否Adminpwd Varchar50否第5章系统设计与实现5.1用户登录系统界面 此页面分为上、中、下三个框架,上面为系统的个性标题,中间为导航栏,让用户一目了然系统提供了那些功能,下边为系统的版权标志。用户登录页面如图5.1所示。图5.1用户登录页面学生成功登录之后进入下面这个页面,上面是导航栏,中间有四个模块,学生管理、教学管理、政策法规、就业信息。都是通过管理员在后台进行发布的。首页如图5.2所示。图5.2首页截图在导航栏中,成功登录的用户可以根据用户的需求选择系统所提供的功能,如图 5.3和5.4 所示。图5.3 查看简历详细信息查看简历详细信息代码如下:<% String id=request.getParameter("id"); Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");Connectioncon=DriverManager.getConnection("jdbc:microsoft:sqlserver:/127.0.0.1:1433;DatabaseName=student;user=sa;password="); PreparedStatement pt=con.prepareStatement("select * from jianli where xuehao=?"); pt.setString(1,id); ResultSet rs=pt.executeQuery(); rs.next(); String xuehao=rs.getString(1); String xingming=rs.getString(2); String xingbie=rs.getString(3); String zhuanye=rs.getString(4); String shengri=rs.getString(5); String xueli=rs.getString(6); String mianmao=rs.getString(7); String banji=rs.getString(8); String mingzu=rs.getString(9); String yiwai=rs.getString(10); String jiankang=rs.getString(11); String erwai=rs.getString(12); String youjian=rs.getString(13); String dianhua=rs.getString(14); String dizhi=rs.getString(15); String techang=rs.getString(16); String shuiping=rs.getString(17); String shijian=rs.getString(18); String renzhi=rs.getString(19); String pingjia=rs.getString(20); rs.close(); pt.close();%>用户成功登录后可以根据用户的需求选择系统所提供的功能,可以对其相应的资料进行修改。如图 5.4 所示。图5.4 简历信息修改页面简历信息修改核心代码如下:<% request.setCharacterEncoding("gbk");String xuehao=request.getParameter("xuehao"); String xingming=request.getParameter("xingming"); String xingbie=request.getParameter("xingbie"); String zhuanye=request.getParameter("zhuanye"); String shengri=request.getParameter("shengri"); String xueli=request.getParameter("xueli"); String mianmao=request.getParameter("mianmao"); String banji=request.getParameter("banji"); String mingzu=request.getParameter("mingzu"); String yiwai=request.getParameter("yiwai"); String jiankang=request.getParameter("jiankang"); String e