-1-XXXXXX毕业论文(设计)题目高校学生管理系统的设计与实现学生姓名XXXXX学号XXXXXX院系计算机科学与技术系专业计算机科学与技术专业指导教师XXX二OXX年五月二十八日-2-高校学生管理系统的设计与实现XXXXXXXXXXXX,X【摘要】步入21世纪,计算机在管理信息系统(ManagementInformationSystems,MIS)中应用的普及,利用计算机实现管理信息系统有助于企业或其他用人单位方便实现数据处理、预测功能、计划功能、控制功能和辅助决策功能。在这篇论文中简单介绍了管理信息系统的背景及主要功能。并且以“高校学生管理系统”为例开发了一个简单的MIS系统。本系统是采用MIS基于Internet的系统核心B/S(Browser/Server——浏览器/服务器)架构,使用Jsp技术。后台数据库采用Oracle9i数据库。本系统使用Java语言开发,Java程序设计语言是一种优秀的程序设计语言,具有简单、高性能、可移植性等特点。集成开发环境选用了MyEclips6.0(MyEclipseEnterpriseWorkbench),它是功能丰富的J2EE集成开发环境。【关键词】高校学生管理系统JavaJspStruts1.引言随着学校的规模不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量需要有学生管理系统来提高学生管理工作的效率。通过这样的系统可以做到信息的规范管理、科学统计和快速查询、修改、增加、删除等,从而减少管理方面的工作量。本系统主要用于学校学生信息管理,总体任务是实现学生信息关系的系统化、规范化和自动化,其主要任务是用计算机对学生各种信息进行日常管理,如查询、修改、增加、删除,另外还考虑到学生选课,针对这些要求设计了高校学生管理系统。-3-2.系统总体设计2.1可行性分析学生信息,作为一个学校,它的工作量可能是其它信息工作量的几倍,学生的增加、各种信息的查找、学生档案的修改,课程管理成绩管理,住宿、惩奖管理等等,每个信息的数据都在不断地变化着,如果采用人工的方式进行操作则比较繁琐,且容易出错。针对这样的情况,设计了本系统。通过本系统,把学校内部查询学生信息、教务信息、学生选课各个环节进行有效地计划、组织和控制。通过学校内部的信息,依据统一数据信息进行管理,把任何一块信息所产生的数据变动及时地反映给其它相关信息,做到数据共享。从经济角度分析采用本系统,能够使整个系统内部所有信息的工作简化,提高工作效率,减少大量人力、物力、财力,由于采用统一的数据信息,使相关资料能够快速地查询所需的数据、资料及其它信息的,使信息快速高效运行。从技术层面分析系统,所采用的语言是Java,应用Web开发的Model1和Model2模式。数据库与jsp的连接,本系统的链接采用的是JDBC的方法,在Jsp中,后台servlet或者action通过form(表单)获取前台数据,然后连接数据库与之比较进行校验,最后显示结果到前台即Jsp页面上。2.2需求分析2.2.1系统设计目标·对新生和在校生以及毕业生以的档案信息进行规范化管理。·支持高效率完成招生管理、就业管理、学籍管理、成绩管理等。系统的管理包括各种信息录入,修改,删除等操作。·图形化界面,力求界面友好、美观。·软件操作简单,配备详细的说明文档。·软件由于是java语言开发所以不受平台限制可以在大部分主流操上使用。-4-2.2.2系统功能分析本系统需要完成的工作如下:·学生各种信息输入,包括学生基本信息和成绩信息。·学生的各种信息的修改。·对于毕业生、在校生信息进行删除。·按照某种条件,查询、统计符合条件的学生信息。·学生可以通过系统进行选课。2.3系统概要设计-5-2.3.1系统功能结构设计2.4数据库设计由于本系统有七个功能模块组成,各个模块功能不尽相同,为了操作方便针对每个功高校学生管理系统管理员模块学生模块招生管理就业管理学生管理密码管理课程管理选课成绩查询录入信息按学号查打印信息录入信息打印信息修改信息修改信息按姓名查询成绩录入惩奖管理学籍管理学生查询住宿管理课程设置选课情况查看管理员密码查看学生密码学生选课查看成绩-6-能模块分别建立表,系统中使用到的数据表主要有新生表、毕业生表、在校生表、管理员表、课程表、成绩表、档案表。其中学生表是所有表中最重要的表,很多操作都是根据这张表进行有关的操作,主要的字段有:学号、姓名、性别、专业、年龄、民族、家庭地址;成绩表中字段为:学号、姓名、专业、成绩;课程表中字段为:课程编号、课程名称;管理员表字段包括:用户账号、密码。如下表:stunostunamestusexstuagespecialtystuaddrstupasswordVarchar2Varchar2Varchar2Varchar2Varchar2Varchar2Varchar2图2-1学生表Course_noCourse_nameVarchar2Varchar2图2-2课程表stunostunameCourse_nogradeVarcharVarchar2Varchar2Varchar2图2-3成绩表Manager_noManager_nameVarchar2Varchar2图2-4管理员表3.管理信息系统简介-7-3.1.1MIS的定义所谓MIS(管理信息系统—ManagementInformationSystem)系统,是由一个人、计算机及其他外围设备等组成的能进行信息的收集、传递、贮存、加工、维护和使用的系统。它是一门新兴的科学,其主要任务是最大限度的利用现代计算机及网络通讯技术加强企业的信息管理,通过对企业拥有的人力、物力、财力、设备、技术等资源的调查了解,建立正确的数据,加工处理并编制成各种信息资料及时提供给管理人员,以便进行正确的决策,不断提高企业的管理水平和经济效益。3.1.2MIS的功能数据处理:包括数据收集和输入,数据传输、数据存储、数据加工处理和输出。它准备和提供统一格式的信息,使各种统计工作简化,使信息成本最低。预测功能:运用现代数学方法,统计方法或模拟方法,根据过去的数据预测未来的情况。计划功能:根据企业提供的约束条件,合理地安排各职能部门的计划,按照不同的管理层,提供相应的计划报告。控制功能:根据各职能部门提供的数据,对计划的执行情况进行监测、检查、比较执行与计划的差异,分析产生差异的原因,辅助管理人员及时以各种方法加以控制。3.2B/S架构3.2.1B/S架构的定义B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。3.2.2B/S架构的功能-8-在这种结构下,用户工作界面是通过浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO),同时它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。特别是在JAVA这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。3.3Java语言概述3.3.1Java语言简介Java是由SunMicrosystems公司于1995年5月推出的Java程序设计语言(以下简称Java语言)和Java平台的总称。用Java实现的HotJava浏览器(支持Javaapplet)显示了Java的魅力:跨平台、动感的Web、Internet计算。从此,Java被广泛接受并推动了Web的迅速发展,常用的浏览器现在均支持Javaapplet。另一方面,Java技术也不断更新3.3.2Java语言特点Java是一种跨平台,适合于分布式计算环境的面向对象编程语言。具体来说,它具有如下特性:简单性、面向对象、分布式、解释型、可靠、安全、平台无关、可移植、高性能、多线程、动态性等。3.4Jsp及相关技术3.4.1JSP简介JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。用JSP开发的Web应用是跨平台的,即能在Linux下运行,也能在其他操作系统上运行。3.4.2Jsp设计模式-9-Jsp的设计模式有2种方式:Model1和Model2。Model1是将事务逻辑(businesslogic)和表示代码(presentationcode)融合在一起,即应用程序有许多页面组成,用户与这些页面进行交互操作。这些页面一般使用一个模型(Model),模型代表的是该应用程序的业务逻辑,Modle1又称为以页面为中心的结构。Model2是基于MVC架构的设计模式。在Model2架构中,Servlet作为前端控制器,负责接收客户端发送的请求,在Servlet中只包含控制逻辑和简单的前端处理,然后,调用后端JavaBean来完成实际的逻辑处理;最后,转发到相应的JSP页面处理显示逻辑。MVC设计思想:MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层。Model就是业务流程/状态的处理以及业务规则的制定。业务流程的处理过程对其它层来说是黑箱操作,模型接受视图请求的数据,并返回最终的处理结果。业务模型的设计可以说是MVC最主要的核心。View代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。ontroller可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。3.4.3Servlet简介Servlet是位于Web服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。它担当Web浏览器或其他HTTP客户程序发出请求,与HTTP服务器上的数据库或应用程序之间的中间层。3.4.5Struts概述Struts是采用JavaServlet/JavaServerPages技术,开发Web应用程序的开放源码的framework(架构)。Struts有如下的主要功能:1.包含一个controllerservlet,能将用户的请求发送到相应的Action对象。-10-2.JSP自由tag库,并且在controllerservlet中提供关联支持,帮助开发员创建交互式表单应用。3.提供了一系列实用对象:XML处理、通过JavareflectionAPIs自动处理3.5数据库、开发工具和Web服务器3.5.1Oracle9i由于本系统采用Jsp技术,所以采用与之匹配的Oracle9i数据库。Oracle数据库是以查询语言(SQL)为基础的大型关系数据库,通俗地讲它是用方便逻辑管理的语言操纵大量有规律数据的集合。是目前最流行的客户/服务器(CLIENT/SERVER)体系结构的数据库之一。优点有:可用性强、可扩展性强、数据安全性强、稳定性强。3.5.2JDBC技术JDBC是Java的开发者—Sun的Javasoft公司制定的Java数据库连接(JavaDataBaseConnectivity)技术的简称,是为各种常用数据库提供无缝联接的技术。JDBC有一个非常独特的动态连接结构,它使得系统模块化,优点如下:1