1、高校学生管理系统的设计与实现XXXXXX毕业论文(设计) 题 目 高校学生管理系统的设计与实现 学生姓名 XXXXX 学 号 XXXXXX 院 系 计算机科学与技术系 专 业 计算机科学与技术专业 指导教师 XXX 二XX年五月二十八日高校学生管理系统的设计与实现XXXXXXXXXXXX,X【摘要】步入21世纪,计算机在管理信息系统(Management Information Systems,MIS)中应用的普及,利用计算机实现管理信息系统有助于企业或其他用人单位方便实现数据处理、预测功能、计划功能、控制功能和辅助决策功能。在这篇论文中简单介绍了管理信息系统的背景及主要功能。并且以“高校学生
2、管理系统”为例开发了一个简单的MIS系统。本系统是采用MIS基于Internet的系统核心B/S(Browser/Server浏览器/服务器)架构,使用Jsp技术。后台数据库采用Oracle9i 数据库。本系统使用Java语言开发,Java程序设计语言是一种优秀的程序设计语言,具有简单、高性能、可移植性等特点。集成开发环境选用了MyEclips6.0(My Eclipse Enterprise Workbench),它是功能丰富的J2EE集成开发环境。【关键词】高校学生管理系统 Java Jsp Struts 1. 引言随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。
3、面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率。通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改 、增加、删除,另外还考虑到学生选课,针对这些要求设计了高校学生管理系统。2.系统总体设计2.1 可行性分析学生信息,作为一个学校,它的工作量可能是其它信息工作量的几倍,学生的增加、各种信息的查找、学生档案的修改,课程管理成绩管理,住宿、惩奖管理等等,每个信息的数据都在不断地变化着,如果采用
4、人工的方式进行操作则比较繁琐,且容易出错。针对这样的情况,设计了本系统。通过本系统,把学校内部查询学生信息、教务信息、学生选课各个环节进行有效地计划、组织和控制。通过学校内部的信息,依据统一数据信息进行管理,把任何一块信息所产生的数据变动及时地反映给其它相关信息,做到数据共享。从经济角度分析采用本系统,能够使整个系统内部所有信息的工作简化,提高工作效率,减少大量人力、物力、财力,由于采用统一的数据信息,使相关资料能够快速地查询所需的数据、资料及其它信息的,使信息快速高效运行。从技术层面分析系统,所采用的语言是Java,应用Web开发的Model1和Model2模式。 数据库与jsp的连接,本系
5、统的链接采用的是JDBC的方法,在Jsp中,后台servlet或者action通过form(表单)获取前台数据,然后连接数据库与之比较进行校验,最后显示结果到前台即Jsp页面上。2.2 需求分析2.2.1系统设计目标 对新生和在校生以及毕业生以的档案信息进行规范化管理。支持高效率完成招生管理、就业管理、学籍管理、成绩管理等。系统的管理包括各种信息录入,修改,删除等操作。 图形化界面,力求界面友好、美观。软件操作简单,配备详细的说明文档。软件由于是java语言开发所以不受平台限制可以在大部分主流操上使用。2.2.2 系统功能分析本系统需要完成的工作如下:学生各种信息输入,包括学生基本信息和成绩信
6、息。学生的各种信息的修改。对于毕业生、在校生信息进行删除。按照某种条件,查询、统计符合条件的学生信息。学生可以通过系统进行选课。2.3 系统概要设计2.3.1 系统功能结构设计2.4 数据库设计由于本系统有七个功能模块组成,各个模块功能不尽相同,为了操作方便针对每个功能模块分别建立表,系统中使用到的数据表主要有新生表、毕业生表、在校生表、管理员表、课程表、成绩表、档案表。其中学生表是所有表中最重要的表,很多操作都是根据这张表进行有关的操作,主要的字段有:学号、姓名、性别、专业、年龄、民族、家庭地址;成绩表中字段为:学号、姓名、专业、成绩;课程表中字段为:课程编号、课程名称;管理员表字段包括:用
7、户账号、密码。如下表:stunostunamestusexstuagespecialtystuaddrstupasswordVarchar2Varchar2Varchar2Varchar2Varchar2Varchar2Varchar2图2-1学生表Course_noCourse_nameVarchar2Varchar2图2-2课程表stunostunameCourse_nogradeVarcharVarchar2Varchar2Varchar2图2-3成绩表Manager_noManager_nameVarchar2Varchar2图2-4管理员表3. 管理信息系统简介3.1.1 MIS的定
8、义所谓MIS(管理信息系统Management Information System)系统,是由一个人、计算机及其他外围设备等组成的能进行信息的收集、传递、贮存、加工、维护和使用的系统。它是一门新兴的科学,其主要任务是最大限度的利用现代计算机及网络通讯技术加强企业的信息管理,通过对企业拥有的人力、物力、财力、设备、技术等资源的调查了解,建立正确的数据,加工处理并编制成各种信息资料及时提供给管理人员,以便进行正确的决策,不断提高企业的管理水平和经济效益。3.1.2 MIS的功能数据处理: 包括数据收集和输入,数据传输、数据存储、数据加工处理和输出。它准备和提供统一格式的信息,使各种统计工作简化,
9、使信息成本最低。预测功能: 运用现代数学方法,统计方法或模拟方法,根据过去的数据预测未来的情况。计划功能: 根据企业提供的约束条件,合理地安排各职能部门的计划,按照不同的管理层,提供相应的计划报告。控制功能: 根据各职能部门提供的数据,对计划的执行情况进行监测、检查、比较执行与计划的差异,分析产生差异的原因,辅助管理人员及时以各种方法加以控制。3.2 B/S架构3.2.1 B/S架构的定义B/S(Browser/Server)结构即浏览器和服务器结构。它是随着 Internet技术的兴起,对C/S结构的一种变化或者改进的结构。3.2.2 B/S架构的功能在这种结构下,用户工作界面是通过WWW浏
10、览器来实现,极少部分事务逻辑在前端 (Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO),同时它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。3.3 Java语言概述3.3.1 Java 语言简介Java是由Sun Microsystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。用Java实现的HotJa
11、va浏览器(支持Java applet)显示了Java的魅力:跨平台、动感的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Java applet。另一方面,Java技术也不断更新3.3.2 Java 语言特点Java是一种跨平台,适合于分布式计算环境的面向对象编程语言。 具体来说,它具有如下特性:简单性、面向对象、分布式、解释型、可靠、安全、平台无关、可移植、高性能、多线程、动态性等。3.4 Jsp及相关技术3.4.1 JSP简介JSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立
12、的一种动态网页技术标准。它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。 用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。3.4.2 Jsp设计模式Jsp的设计模式有2种方式:Model 1和Model 2。Model 1是将事务逻辑(business logic)和表示代码(presentation code)融合在一起,即应用程序有许多页面组成,用户与这些页面进行交互操作。这些页面一般使用一个模型(Model),模型代表的是该应用程序的业务逻辑,
13、Modle1又称为以页面为中心的结构。 Model 2是基于MVC架构的设计模式。在Model 2架构中,Servlet作为前端控制器,负责接收客户端发送的请求,在Servlet中只包含控制逻辑和简单的前端处理,然后,调用后端JavaBean来完成实际的逻辑处理;最后,转发到相应的JSP页面处理显示逻辑。MVC设计思想:MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层。Model就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它
14、层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心。View代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。ontroller可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。3.4.3 Servlet 简介
15、Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。它担当Web浏览器或其他HTTP客户程序发出请求,与HTTP服务器上的数据库或应用程序之间的中间层。3.4.5 Struts概述Struts是采用Java Servlet/JavaServer Pages技术,开发Web应用程序的开放源码的framework(架构)。 Struts有如下的主要功能: 1. 包含一个controller servlet,能将用户的请求发送到相应的Action
16、对象。 2. JSP自由tag库,并且在controller servlet中提供关联支持,帮助开发员创建交互式表单应用。 3. 提供了一系列实用对象:XML处理、通过Java reflection APIs自动处理3.5数据库、开发工具和Web服务器3.5.1 Oracle9i由于本系统采用Jsp技术,所以采用与之匹配的Oracle9i数据库。Oracle数据库是以查询语言(SQL)为基础的大型关系数据库,通俗地讲它是用方便逻辑管理的语言操纵大量有规律数据的集合。是目前最流行的客户/服务器(CLIENT/SERVER)体系结构的数据库之一。优点有: 可用性强、可扩展性强、数据安全性强、稳定性
17、强。3.5.2 JDBC技术JDBC是Java的开发者Sun的Javasoft公司制定的Java数据库连接(JavaDataBaseConnectivity)技术的简称,是为各种常用数据库提供无缝联接的技术。JDBC有一个非常独特的动态连接结构,它使得系统模块化,优点如下: 1.JDBCAPI与ODBC十分相似,有利于用户理解。 2.JDBC使得编程人员从复杂的驱动器调用命令和函数中解脱出来,可以专致程序中的关键地方。 3.JDBC支持不同的关系数据库,使得程序的可移植性大大加强。4.用户可以使用JDBC-ODBC桥驱动器将JDBC函数调用转换为ODBC。 5.JDBCAPI是面向对象的,可以
18、让用户把常用的方法封装为一个类,以保持重用性。 3.5.3 MyEclips MyEclipse企业级工作平台(My Eclipse Enterprise Workbench,简称MyEclipse)是对EclipseIDE的扩展,利用它可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。3.5.4 TomcatTomcat 服务器是一个免费的开放源代码的Web 应用服务器,是Apache
19、软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。Tomcat是一个小型的轻量级应用服务器,很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。 3.系统功能实现3.1主窗口设计主程序界面是应用程序提供给用户访问其他功能模块的平台,根据实际需要,本系统的主界面采用了Web设计中鼠标滑过事件风格。系统主程序界面如图3-1所示。图3-1 系统主
20、界面3.2 模块功能实现 3.3.1毕业生信息录入功能图3-2 添加学生信息界面1. 实现目标(1) 按条件添加毕业生各种信息。(2) 支持修改功能。2. 设计步骤向页面中添加7个Lable、7个Text ,值得注意的是Text的ID必须唯一;然后再次添加一个Submit、一个Reset。3.代码分析(1)根据所要完成的功能,抽象出form的原型;(2)当用户单击“提交”按钮时,各个Text的数据将传到数据库;(3)当用户单击“重置”按钮时,讲改变未提交的数据;public ActionForward execute(ActionMapping mapping, ActionForm form
21、, HttpServletRequest request, HttpServletResponse response) RecordsForm recordForm = (RecordsForm) form; String stuname=recordForm.getName(); String stusex =recordForm.getSex(); String stuage =recordForm.getAge(); String stuno =recordForm.getNo(); String stuspe =recordForm.getSpecialty(); String stu
22、address =recordForm.getAddress(); String stupwd =recordForm.getPassword(); String sql = insert into student values(; sql +=stuno+,; sql +=stuname+,; sql +=stusex+,; sql +=stuage+,; sql +=stuspe+,; sql +=stuaddress+,; sql +=stupwd+); DataCon db = new DataCon(); if(db.add(sql) return mapping.findForwa
23、rd(success); else return new ActionForward(mapping.getInput(); 3.3.2 毕业生信息修改功能修改功能界面如下:图3-3 修改学生信息界面1. 实现目标(1) 进入页面时后台的查询功能。(2) 修改各项信息。(3) 提交修改并返回成功信息。2. 设计步骤(1).当进入功能页面的时候必须先从数据库查找学生信息。(2).由于信息很多,必须采用分页技术,然后针对每一条数据进行修改 。(3).设计一个成功返回和失败返回页面,用来验证是否修改成功。3.代码分析(1)当进入页面时,后台开始查询功能。(2)当用户单击“修改”连接时,各项数据传到修
24、改页面。(3)当用户单击“提交”按钮时,将弹出提交信息对话框。 学号 姓名 性别 年龄 专业 学籍 密码 修改 0) rs.absolute(intpage-1)*pagesize+1); i=0; while(i a href=newstumodifyservlet?stuno=修改 当点击修改时将进入修改页面,代码如下:图3-4 添加修改学生信息界面 学号 姓名 性别 年龄 专业 密码 学籍 % List list= (List)session.getAttribute(list); Iterator it = list.iterator(); while(it.hasNext() String line= input text size=10 name=pwd value=; line +=newstu.getStupassword(); line
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1