1、河北农业大学 本科毕业论文(设计) 题 目:培训学校管理软件-学籍管理 摘 要随着的电子技术的迅速发展,计算机的处理速度的飞速增加,人们使用计算机来代替人类的各种烦琐的管理活动也越来越迫切。网站的作用愈显重要,其被人们称之为继广播、报纸、杂志、电视后的第五种媒体数字媒体。网站拥有着众多的优势,因此现在众多企业都拥有或正在建设自己的网站,且各种各样的信息管理系统也越来越偏向使用B/S结构。本设计即是基于B/S结构的培训学校管理系统。 本系统采用以JSP作为开发环境,Microsoft Sql Server作为数据库服务器,tomcat作为Web 应用服务器 ,从而实现了以学籍管理、人事管理、教务
2、管理、教材管理为主的四大模块来实现对培训机构的日常业务管理工作。从而使学校复杂繁琐的日常管理工作变得简单化、信息化和高效化。本文即详细介绍了该系统下学籍管理模块从需求分析、系统分析、概要设计、详细设计、以及测试与调试的整个开发的详细过程,并总结了开发过程中的经验以及本系统今后的拓展方向关键词 培训学校管理软件、Web、SQL Server、管理 AbstractWith the rapid development of electronic technology, computer processing speed of the rapid increase, people use compu
3、ter to replace human activities of the cumbersome management is becoming more and more urgent. Website become an increasingly important role, it is known as the radio, newspapers, magazines, television after the fifth media, digital media. Web site has the advantage of the many, so many enterprises
4、now have or are building their own websites, and a variety of information management system is becoming more and more toward using B/S structure. This design is based on B/S structure of the training school management system.This system USES JSP as development environment, Microsoft Sql Server as th
5、e database Server, tomcat as a Web application Server, so as to realize the student status management, personnel management, educational administration, teaching material management four modules to implement the daily business management work of training institutions. So that the daily management of
6、 school to complexity easier, information and efficiency.This article introduces in detail the system under the student status management module from requirements analysis, system analysis, general design, detailed design, and testing and debugging of the whole development process in detail, and sum
7、marizes the experience in the process of development and the system the development direction in the futureKey Words training school management software、Web、 SQL Server、 management目 录1 绪 论1 1.1 信息管理系统意义1 1.2 学校管理系统研究现状12 相关技术的介绍3 2.1 B/S结构3 2.2 tomcat 的介绍3 2.3 Microsoft Sql Server数据库的介绍3 2.4 Struts
8、2 的介绍33 整体系统分析与总体设计5 3.1 整体系统功能描述5 3.2 整体系统功能模块划分6 3.3 整体系统流程分析7 3.4 学籍管理模块的分析与设计8 3.4.1 学籍管理功能8 3.4.2 报名流程流程分析8 3.4.3 学籍管理部分具体流程分析10 3.5 数据库结构分析与实现12 3.5.1 数据库概念结构设计12 3.5.2 数据库逻辑结构设计144 系统模块的搭建15 4.1 登录模块15 4.2 主界面16 4.3 公共功能17 4.4 学生信息管理模块21 4.5 课程-班级信息模块21 4.6 学生报名模块22 结束语26致谢26参 考 文 献271 绪 论1.1
9、 信息管理系统意义计算机、全球通信和英特网等信息技术的飞速发展及广泛应用,使科技、经济、文化和社会正在经历一场深刻的变化。自20世纪90年代以来,人类已经进入到以“信息化”、“网络化”和“全球化”为主要特征的经济发展的新时期,信息已成为支撑社会经济发展的继物质和能量之后的重要资源,它正在改变着社会资源的配置方式,改变着人们的价值观念及工作与生活方式。了解信息、信息科学、信息技术和信息社会,把握信息资源和信息管理,对于当代管理者来说,就像把握企业财务管理、人力资源管理和物流管理等一样重要。现代的信息管理已经大大超越了古代和近代时期对信息管理的理解框架,发生了质的认识变化;信息管理的内涵与外延都得
10、到了扩大,它所面对的信息资源已经远远超出了传统的文献型信息资源的范畴,扩大到了多种新型的信息类型,整个社会的信息资源呈几何级数增长,不同的部门和领域均不得不面对信息管理的挑战;信息管理技术充分利用了现代信息技术的优势,突破了传统处理文献的信息管理技术范围,大量采用了网络、数据库、数据仓库、联机分析技术等先进技术手段与方法,传统的信息管理技术在新的技术环境下不断地完善与发展,以适应新的环境的变化;而信息管理人员早已不仅是以传统的文献信息处理为任务,而且更加技术化、专业化、专门化,它们已经成为社会组织中的一个阶层。1.2 学校管理系统研究现状随着计算机技术的飞速发展,其应用方面已渗透到社会生活的各
11、个领域。它已经成为我们学习和工作的得力助手。在一些学校,尤其是有较多学生和教学层次的学校,都应有相应的信息管理系统的存在;而对于教师、学生在校期间的成管理也是一项重要工作。而长期以来,信息管理工作都是依赖人工进行的。这种方式存在着许多缺点,如效率低、保密性差且较为繁琐。另外,随着学校规模的不断扩大,其管理工作量也将大大增加,这必将增加信息管理者的工作量和劳动强度,同时也给的信息的查找、更新和维护都带来了很多困难。近年来学校规模不断扩大,学生数量越来越多,所以教师、学生的信息管理和成绩管理工作越来越繁重。但由于学校从多方面的考虑,因此学校的信息管理人员并没有增加,在这种情况下原有的传统的人工方式
12、管理已不能适应现行的工作需要。同时,陈旧的人工管理方式也不利于计算机应用的推广。为了使学校管理工作科学化、无纸化;因此,需要设计开发出适应于学校的信息管理系统,实现对学生信息的系统化、规范化和自动化管理。而且现今大多数家长都认为,不能让自己的孩子输在起跑线上。所以,近年来最为炙手可热的早教培训机构层出不穷,林林总总,参差不齐,行业之间的竞争亦越来越激烈。数量激增的阶段过后,早教培训市场当前正面临着大浪淘沙、优胜劣汰的局面。教育培训行业属于典型的服务业,具有业务流程复杂,数据实时性要求高,课程多样,潜在学员群体广泛的特点。管理者面临着招生难、管理难、服务难等问题。 因此面对市场竞争和内部优化管理
13、的需求,各类教育培训机构迫切需要用信息化手段来提升管理水平,增强竞争力。教育培训机构属于典型的现代商业服务业,其业务流程复杂,数据实时性要求高,课程多变,收费复杂,潜在学员群体广泛,而传统的学校管理模式很难满足学校需求,计算机信息管理系统的出现则给教育培训学校的信息管理带来了历史性变革。培训学校管理系统就是针对所有学校管理下的教育培训学校的管理和教学特点而设计的高效协同工作平台和优秀的综合管理系统。系统融入先进的协同管理理念,运用领先的网络技术,切实有效的解决培训学校管理中的关键流程,把日常的教务、考勤、课程等信息在学校、学生之间进行及时高效、全程共享的沟通和处理。同时能准确、及时地反映学校各
14、项工作的当前状态,学校管理系统具有强大的数据处理功能,能大大提高学校管理人员的工作效率,减轻劳动强度,同时,学校管理系统应当采用管理数学模型,将仿真、优化结合起来,为学校管理者的管理行为提供有效帮助和可视化管理。2 相关技术的介绍2.1 B/S结构B/S结构(Browser/Server,浏览器/服务器模式),是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件。这种模式统一了客户端,将系统功能实现的核心部分集中到服务器上,简化了系统的开发、维护和使用。客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服
15、务器安装Oracle、Sybase、Informix或 SQL Server等数据库。浏览器通过Web Server 同数据库进行数据交互。B/S最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件,只要有一台能上网的电脑就能使用,客户端零安装、零维护。系统的扩展非常容易。B/S结构的使用越来越多,特别是由需求推动了AJAX技术的发展,它的程序也能在客户端电脑上进行部分处理,从而大大的减轻了服务器的负担;并增加了交互性,能进行局部实时刷新。2.2 tomcat Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合
16、下被普遍使用,是开发和调试JSP 程序的首选。可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML(标准通用标记语言下的一个应用。)页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。2.3 Microsoft Sql Server数据库Microsoft Sql Server是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。Microsoft Sql Server的优点在于不仅能作为一个功能强大的数据库服务器有效地工作,而且数据库引擎
17、也用于需要在客户端本地存储独立数据库的应用程序中。SMicrosoft Sql Server可以动态地将自身配置成能有效地使用客户端桌面中的可用资源,而不需要为每个客户端专设一个数据库管理员,允许创建自定义报表用于打印或输出数据库中的信息。与其他网络用户共享数据库。Microsoft Sql Server是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。2.4 Struts 2struts框架具有组件的模块化,灵活性和重用性的优点,同时简化了基于MVC的web应用程序的开发。struts可以清晰地区分控制,事务逻辑和外观,从而简化了开发应用程序的过程。struts提供的类使得开发工
18、作更加简单,这些类包括:1.控制程序流程的类2.实现和执行程序事务逻辑的类3.自定义的标记库使得创建和验证HTML表单更加容易Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于We
19、bWork,Struts 2的变化很小。3整体系统分析与总体设计培训学校管理系统是一个非常通用的信息管理系统,为学校信息管理工作带来了更加高效便捷清晰的管理方式。3.1 整体系统功能描述 培训学校管理系统包括学籍管理、人事管理、教务管理、教材管理四大模块。具体描述如下:1学籍管理:l 管理学生基本信息。学生信息包括姓名、性别、出生日期、入学日期、联系电话、母亲单位、母亲电话、父亲单位、父亲电话、家庭住址、所在学校、状态等。l 报名处理l 调班处理、休学处理、复学处理、毕业处理等。2人事管理:l 教师基本信息管理(教师号、姓名、性别、出生日期、入职日期、联系电话、家庭住址、所在学校、职位、学历等
20、。)l 考勤管理:根据教师排课情况,记录教师考勤。3教务管理:l 课程基本信息管理(课程编号、名称、学时、所需教材、开课时间、学费、课程负责人等),l 排课l 成绩管理4教材管理:l 教材基本信息(教材编号、教材名称、作者、出版社、单价),l 采购入库l 销售出库l 库存查询3.2 整体系统功能模块划分从功能描述的内容可以看到,本实例可以实现4个完整的功能。我们根据这些功能,设计出系统的功能模块,如图1所示培训学校管理系统学 籍 管 理人 事 管 理教 务 管 理教 材 管 理学 生 基 信 息 管 理报 名 处 理教 师 基 本 信 息 管 理考 勤 管 理排 课 管 理成 绩 管 理课 程
21、 基 本 信 息 管 理教 材 基 本 信 息图1 培训学校管理系统功能模块示意图整体管理系统分为4个模块且其每个模块都有个基本的底层结构用来存放相关信息如:学生信息管理。且每个模块都具有不同的方法体来实现相应的不同的功能针对学生的报名处理、针对教师的考勤管理等。3.3 整体系统流程分析所谓系统流程就是用户在使用系统时的工作过程。如图2所示报名教材领用考勤成绩录入排课进 入 系 统退 出 系 统教师基本信息管理课程基本信息管理学生基本信息管理教材基本信息管理成绩管理图2整体系统流程分析在系统流程分析图中可以看出:当用户进入系统中可以对教师、课程、学生、教材的基本信息进行单独的增删改查等一系列处
22、理。并可以在相对应的模块进行相对应的处理。教师需要记录考勤,当学生学要报名时需要新建学生信息或从原有学生信息中选择出所需要的的学生之后抽取课程班级信息对学生进行课程安排和选择,最后对已报名学生可以进行成绩录入教材分配等相应的处理安排。 3.4 学籍管理模块的分析与设计 由于本设计是系统中关键的一部分即:学籍信息管理模块,且本模块对整个系统的设计有着紧密的联系。学生信息贯穿于整个系统中所以在前面先对整个系统做了整体描述,将学籍管理和整体系统的影响进行相应梳理,使其对整个系统操作不会造成干扰且可以使系统调用学籍信息中信息进行优化已达到系统的更加流畅、有效率,以下即是重点要分析和设计学籍管理模块。
23、3.4.1 学籍管理功能根据学生信息管理相应功能描述,设计出学籍管理模块已实现学生信息管理、课程班级信息显示和报名功能,如图3所示 学籍管理学生信息管理报名课程班级信息图3学籍管理模块整体示意图3.4.2 报名流程流程分析根据学籍管理功能描述,学生信息中具有相对的报名信息显示,因此系统将具有报名相关操作。具体实现如图3所示图4报名流程分析图 报名流程:财务人员进入系统将学生进行登记若为新生则添加学生在此将会对输入的学生信息进行校验(学生id、性别等信息)若为已存在学生将会通过查询操作进行确认,再次财务人员将会为学生选择课程和班级并调出相应的负责人和费用,最后当学生报名并缴费后财务人员会进行确认
24、操作并将相关的信息输入至相关的学生信息中以便于今后已报名学生信息的查看。3.4.3 学籍管理部分具体流程分析在学籍管理部分模块中,学籍管理流程分为两部分,以下即是学籍管理流程的三个具体流程。修改学生删除学生学生信息管理学生信息失败失败失败成功成功成功添加学生输入校验输入校验图5 学籍管理部分具体流程分析图(一)学生信息管理中输入校验将对学生id是否存在是否重复、学生姓名是否输入、性别是否输入错误、出生日期与入学日期是否符合规范等信息进行校验。且每当打开任何界面时任何时候均可通过界面上方按钮快速回到学生信息管理页面。 课程班级信息课程信息课程班级查看已报名缴费学生信息存在不存在存在报名学生图6
25、学籍管理部分具体流程分析图(二)选择班级、课程学生报名否取消是添加学生输入校验学生信息选择学生费用缴费信息核对正确 图7 学籍管理部分具体流程分析图(三)3.5 数据库结构分析与实现数据库的创建在设计数据表结构之前,首先要创建一个数据库。由于本系统各模块可以是相互独立的,所以本系统使用的数据库可分别为Courseinfo、Stumgmt、humaninfo、Materialinfo或整合为StuDb。本模块仅使用了学生、课程数据库所以创建Courseinfo、Stumgmt即可。因此可以在企业管理器中创建数据库,也可以在查询分析器中执行以下语句:CREATE DATABASE Coursein
26、foCREATE DATABASE Stumgmt3.5.1 数据库概念结构设计:本实例根据系统设计出的的实体将有:学生、课程。各个实体具体的描述E-R图如下:学生实体E-R图:班级名称 学 生编号父亲工作父亲姓名联系电话入学时间生日姓名性别状态学校住址母亲工作母亲电话母亲姓名父亲电话课程编号班级编号付费状态课程名称图5-1 学生实体E-R图学生信息包含编号(id)、姓名、性别、出生日期、入学时间、联系电话、父亲姓名、父亲工作、父亲电话、母亲姓名、母亲工作、母亲电话、家庭住址、学校、状态、班级编号、班级名称、课程编号、课程名称、付费状态。其中编号、姓名、性别、出生日期、入学日期将进行输入校验、
27、班级编号、班级名称、课程编号、课程名称、付费状态将由学生报名进行处理,状态为学生当前的学习状态:在读、休学、退学3种状态。课程实体E-R图:课 程负责人培训时间班级编号名称编号班级名称学费图5-2课程实体E-R图课程信息包含课程编号、课程名称、班级编号、班级名称、培训时间、相关负责人、相应学费。课程信息将会在学生报名中出现。当学生报名时学生将会通过数据库链接找到相关的课程班级等信息反馈给报名。课程 学生选择1n图5-3实体之间关系的E-R图在学籍管理中学生与课程是多对一的关系。每个课程可有多个学生选择。若想一名学生报名选择多个课程时需要用户创建多个相应的学生信息。因此这为本设计在设计之前明有需
28、求分析到的一点。3.5.2 数据库逻辑结构设计本系统的所有管理模块所有操作几乎均要涉及到数据库的访问,而且本设计重点设计的学籍设计模块不仅涉及到了学生数据库中表信息,而且涉及到了课程数据库中的表信息。即这两个数据库中分别拥有的表stu和表 Courseinfo1学生信息表 (stu)学生信息表 (stu)用来保存学生基本信息数据,结构如表1所示。表1表stu的结构编号字段名称数据结构说明1id int编号2namechar(255)姓名3sex char(255)性别4brdate date出生日期5endate date入学日期6tel int联系方式7mjob char(255)母亲工作8
29、mtel int母亲电话9fjobchar(255)父亲工作10ftelchar(255)父亲电话11addresschar(255)家庭住址12schoolchar(255)所在学校13statechar(255)状态14classidint班级编号15courseidint课程编号16classname char(255)班级名称17coursenamechar(255)课程名称18paystatechar(255)支付状态一般在设计表结构时,通常需要设计一个整型字段作为唯一的标识列,例如表stu中的id字段。若其他表需要引用表stu中的数据时则在表中stu查找其id字段即可。有的程序设计
30、人员习惯于直接使用名称字段作为标识列,例如表id中的name字段。这样,若要修改表中name字段的值,则需要同时修改其他表的相应字段,从而造成不必要的麻烦。在系统中,id字段对于用户来说是透明的,是唯一性的不会出现查询修改错误的问题。2课程信息表 Courseinfo课程信息表 Courseinfo用来保存学生报名调用课程表中需要的课程基本信息,结构如表2所示。表2 表Courseinfo的结构编号字段名称数据结构说明1courseidint课程编号2coursenamechar(255)课程名称3classidint班级编号4classnamechar(255)班级名称5timechar(2
31、55)培训时间6manager char(255)负责人7expensechar(255)学费4 系统的模块搭建页面可以直观给用户显示出系统的功能,给用户信息管理带来更便捷的操作。要实现页面的功能操作,需在页面相应位置添加程序代码,以实现需要的功能,功能操作通常直接存放在相应的的目录下的相应页面中。4.1 登录模块完成用户登录验证操作,以实现对系统安全性的保障。 用户登陆用户登录校验相关代码:(最简洁的表示)public String intercept(ActionInvocation invocation) throws Exception Object user=ActionContex
32、t.getContext().getSession().get(user);if(user!=null)return invocation.invoke();elseActionContext.getContext().put(message,sorry.用户密码错误或用户不存在!请重新输入);return failure;用户登录页面:图6用户登录页面 4.2 主界面用户主界面用来选择各个功能块,实现相应功能块的操作。主界面页面:图7 主界面 模块的选择模块选择相关代码:(举例)学籍管理 以上即为当用户选择相应模块时,系统通过相应action返回相应的操作并控制模块对应窗体(见5.3.2)做
33、出对应的切换。 相应模块对应窗体主界面中窗体相关代码:窗体第一次显示默认为hello.action反馈的hello.jsp页面,当用户选择模块时默认页将会被替换以实现相应模块的显示。 4.3 公共功能学籍管理多个页面中均有的功能。以下为确认功能:(个别举例)图8 确认功能function update(name,id) if(confirm(您确认修改学生:+name.replace(/(s*)|(s*$)/g,)+?) location.href=stu_mgmt_updatestupage.action?id=+id; 以下为校验功能:public void validateExecute
34、() try findAllKey(this.id+); catch (Exception e) if(!(this.list.isEmpty()this.addFieldError(id, id重复!请重新输入!);if(Integer)this.id =null | (Integer)this.id =0)this.addFieldError(id, id不能为空!);if(this.name=null|.equals(this.name.trim()this.addFieldError(name, 姓名不能为空!); if(this.sex=null|.equals(this.sex.t
35、rim()this.addFieldError(sex, 性别不能为空!); if(!(男.equals(this.sex.trim()|女.equals(this.sex.trim()this.addFieldError(sex, 输入错误!请输入“男”或“女”); if(null != brdate & null != endate) Calendar c1 =Calendar.getInstance(); c1.setTime(brdate); Calendar c2 = Calendar.getInstance(); c2.setTime(endate); if(!c1.before(
36、c2) this.addFieldError(brdate, 入学日期不能小于出生日期!); super.validate();以上为添加学生、修改学生均要输入校验的代码。将校验之后不符合格式的消息以this.addFieldError形式来反馈给用户。以上为校验后将反馈回的FieldError信息显示的代码。均要校验id是否重复、是否为空,姓名是否为空,性别是否为空、是否为男女、出生日期和入学日期是否符合输入。 功能-添加学生添加学生相关截图:图9-1 添加学生图9-2 添加学生以上是通过输入校验输出的反馈信息。 功能-查找学生查找学生相关截图:图10 查找学生 功能-修改学生、功能-删除学
37、生(与以上类似不再过多描述) 功能-信息反馈信息反馈相关代码: window.setTimeout(window.location=stu_mgmt_findcourselist.action?keyWord=,2000); 以上为大多数代表性的反馈页面代码,通过result来显示反馈回信息的2s之后进行跳转至其他action,进行其他操作 4.4 学生信息管理界面 相关截图:图11 学生信息管理界面 4.5 课程-班级信息界面 相关截图:图12 课程-班级信息界面 4.6 学生报名界面 判断是否为新学生弹框 相关截图:图13 判断是否为新学生弹框 是 &nbs
38、p;否 为 新 生 ? function DispDiv(PositionLeft,PositionTop)document.getElementById(div_ensure).style.display=block;document.getElementById(div_ensure).style.left=PositionLeft+60;document.getElementById(div_ensure).style.top=PositionTop+30;function ensure1(num)location.href=enroll_newstu; function ensure2(num)location.href=enroll_oldstu;