《基于JavaEE的教务管理系统.doc》由会员分享,可在线阅读,更多相关《基于JavaEE的教务管理系统.doc(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、1 绪 论1.1问题的提出 随着计算机技术的不断进步,计算机在在各行各业的应用也越来越广泛。计算机有很强大的运算能力,在处理大量数据方面的能力远远超过人类,并且计算机有很强的数据存储能力,用计算机存储数据更加安全和高效,在对信息的存储和处理方面,相比于人类,计算机有很强的优势。现在利用计算机技术来帮助企业或机构管理已经非常普遍,几乎所有大中型的公司或机构都会使用各种管理系统,比如财务管理系统,进销存管理系统,客户关系管理系统等,利用这些管理系统实现对财务,进出货,客户关系以及其它的资源或业务的高效管理。现在是信息爆炸的时代,一个企业或机构有各种各样的信息需要存储和管理,传统的管理方式早已经无法
2、实现对这些信息的有效管理,加上还有一些业务流程需要管理,传统的流程管理方式效率非常低下,不能满足企业或机构的需求。一个高校一般有1万左右的学生,综合类的院校更多,甚至可以达到五万以上,一个年级的学生都可能有1万多人,高校需要对学生信息进行管理,还需要管理课程信息,成绩信息,开展选课,管理学费缴纳等等。传统的管理方式很难保证高校教务活动的顺利实施。一是开展教务活动时需要管理的资源非常多,包括了学生信息,老师,课程,教室,成绩,奖学金等等,而且传统方式很难实现选课和课程安排等业务。二是数据量非常庞大,拿一个综合类的大学举例,一个学校按5万学生计算,每个学生1个学期平均5门课程,每年就将增加50万学
3、生的成绩信息,传统的方式没有任何办法对这种大数据量进行管理。面对传统管理方式的种种弊端,只有使用计算机技术,开发一个教务管理系统,利用计算机在数据运算和数据存储方面的天赋来帮助高校对教务进行管理。1.2新系统目标开发教务管理系统的目标是帮助高校实现对教务的高效的,信息化的管理。为了保证系统能够正常的使用,真正提高高校教务管理的效率,系统有以下几个目标:(1) 系统能实现教务管理所需要的基本功能。(2) 系统具有可靠性,保存的数据不会丢失。(3) 系统能实现权限控制,不同的角色具有不同的权限,防止数据被恶意删除或修改。(4) 系统具有较高的可用性,系统有对用户友好的界面,操作简单方便。(5) 系
4、统具有一定的扩展性,并且方便维护和升级。1.3新系统的意义高校使用教务管理系统可以提高教务管理的效率。传统的管理方式中几乎所有的内容都需要人力去实现,用人力要实现对几万学生的信息,成绩等进行管理需要耗费大量的人力和财力,而且对于需要做流程审批的业务,传统的方式会非常低效。使用教务管理系统可以在很多方面实现自动化管理,大大减轻教务管理者的工作量,比如学生要查询成绩只需要登录进系统即可自助查询,不需要再麻烦教务管理者。相应的,教务管理系统也给学生和老师带来了方便,学生和老师只要能连上网,就可以登录到教务管理系统查看和修改信息,没有时间和空间的限制。教务管理系统管理信息更加可靠和安全。数据库保存信息
5、的方式非常可靠,插入到数据库中的信息几乎不会丢失,即使数据被误删,也有备份或日志记录可以用来恢复数据。教务管理系统可以实现权限控制,保证数据不能被恶意修改和删除。教务管理系统是整个学校的信息化管理中的一个重要组成部分。信息化管理已经是一个大的趋势,实现了信息化管理的企业或机构管理会更加高效,更有竞争优势。教务管理系统可以和高校的其他管理系统对接,实现整个学校的信息化管理,比如可以和学生考勤管理系统对接,让老师给成绩时有更多的参考。2 系统相关技术和工具2.1数据库技术的现状与发展数据库是按照一定的数据结构来存储,组织和管理数据的系统,现在使用最广泛的是关系型数据库,关系型数据库使用多张可以相互
6、连接的二维表来存储数据。ORACLE,SQL Server和MySQL是使用最多的三大关系型数据库。ORACLE和SQL Server属于大型的数据库,MySQL属于中小型但是开源的数据库。SQL Server具备关系型数据库的常用功能,支持外键,事务处理,索引,并对存储过程有很好的支持,利用SQL Server的存储过程可以实现复杂的业务逻辑。SQL Server还可以查看SQL语句的执行计划,让开发者能根据执行计划做性能的优化。此外还有配套的数据库可视化工具SQL Server Management Studio,辅助程序员进行数据库的开发。关系型数据库的理论和产品都已经非常成熟,关系型数
7、据库的应用也非常广泛,一直在市场占据主导地位,但是近几年出现了NoSQL数据库,不是基于关系模型,而是用键值对的方式存储数据,常用的NoSQL数据库有Redis,MongoDB等,NoSQL数据库常用于对关系型数据库的升级和补充。2.2 Java语言的概述Java是目前最流行的面向对象的计算机编程语言,面向对象是Java最根本的特性,面向对象是一种程序设计思想,面向对象将对象作为程序的基本单元,对象中封装有变量和方法。面向对象具有继承,封装和多态几大特性,继承指一个类可以继承父类的公有属性和方法。封装对对象的属性和方法做了访问控制,一个类的私有属性和方法只有一个类的内部才能访问。多态包括了方法
8、的重载和重写,重写是基于继承的,子类中存在和父类完全相同的方法就是重写,多个方法的命名相同,但参数不同就是重载。面向对象有利于模块化开发,方便程序的重用,可以实现将对象当成积木一样搭建成一个完整的系统,开发效率更高,适合用来开发大型的系统或软件。Java还具有跨平台,简单易用和开源等特点。Java编写的程序在编译后会先得到和具体的机器无关的字节码,在执行时再由Java虚拟机对字节码解释执行,这是Java跨平台的基础,不同的机器只需要安装对应的Java虚拟机即可,机器的差异实际上被虚拟机屏蔽了,Java程序并不需要感知机器的差异。跨平台意味着用Java编写的程序在转换运行平台时不需要将代码重写,
9、只需要做简单配置即可,但由于和C+等语言相比多了一个解释过程,Java编写的程序在运行效率方面有天生的劣势。Java和同为面向对象的C+相比是简单易用的,编写Java程序时,程序员不需要亲自操作内存,Java提供了一套有效的垃圾回收机制,自动将无用的对象回收。Java是开源的,JDK的源代码是完全公开的,此外还有良好的开源生态,在开发过程中遇到的很多问题都可以在开源社区找到解决的办法,比如Web开发中有Spring系列框架为Web开发提供一站式的解决方案。Java包括三大平台,JavaSE,JavaME和JavaEE。JavaSE主要用于桌面软件的开发,由于Java对GUI的支持不算太好,Ja
10、va在桌面软件开发方面应用得较少。JavaME主要用于嵌入式开发,为机顶盒,移动电话等电子设备提供开发平台,Java在这个领域的应用也很少。JavaEE是Java最主要的领域,JavaEE主要用于Web开发,包括Applet,Servlet,JSP,JDBC等一些列Web开发中的核心技术。2.2 JSP介绍JSP是Java Server Pages的简称,是以Java作为脚本语言的服务器端的动态网页的开发技术。HTML,CSS只能开发出静态网页,但实际开发中需要的是动态网页,需要动态地嵌入表格和数据,JSP就是为开发动态网页而产生的,JSP的本质是一个Servlet,JSP继承自Servlet
11、。相比于Servlet,JSP更方便编写动态网页,JSP中可以直接嵌入HTML,CSS,JavaScript代码,还可以嵌入Java代码和各种标签,不用像Servlet一样大量使用println来拼接网页。JSP提供了了九大内置对象,实现页面之间共享数据。常用的有request,session,application, pageContext等。Request对象中保存了客户端的请求信息,包括请求头,请求参数等,作用域是一次请求,请求结束后request对象也就消失,常用于请求转发时不同页面之间传递参数。session是会话的意思,作用域要比request广,在接受客户端第一个请求时创建,由于
12、http协议是无状态的,当客户端发送好几次请求时,http协议都当做第一次请求处理,所以必须利用session来做会话跟踪,让应用程序能感知两次请求是否来自同一个客户端。由于JSP中不仅可以写HTML代码,还可以写Java代码,所以对于小型系统,只需要编写JSP就可以了。但是对于大型系统,往往需要将JSP和Servlet结合,逻辑控制在Servlet中完成,JSP只充当一个模板,专注于动态网页的生成。2.3 MyEclipseMyEclipse是Java的一款集成开发环境,是在Eclipse的基础上加入插件后开发成的。在MyEclipse中可以进行Java程序的编写,运行和调试。此外MyEcl
13、ipse还支持HTML,CSS,JavaScript等代码的提示功能。MyEclipse有各种插件,包括maven,spring, hibernate,git等,使用MyEclipse可以提高系统开发和调试的效率。2.4 JavaScriptJavaScript是属于网络的脚本语言,主要用于Web前端的开发,置于HTML页面中实现前端的逻辑。JavaScript基于对象,采用事件驱动,被广泛应用在网站的开发中,几乎多有的网站的前端页面中都可以看到JavaScript的身影。JavasScript利用事件驱动,可以接收用户输入,按钮点击,按键按下等一系列事件,实现和用户的交互逻辑,还可以实现图片
14、轮播等常用的特效,JavaScript几乎是前端开发中必须用到的语言。由于前端技术的飞速发展,JavaScript在前端开发中的地位越来越重要,关于JavaScript的工具和框架也越来越多。传统的有Jquery,Jquery是JavaScript的函数库,提供了强大的dom操作功能,封装了特效和Ajax,已经几乎成为JavaScript的标准函数库,利用Jquery及它的插件可以极大简化JavaScript的开发。最近几年还出现了Angular,React,Vue三大JavaScript框架,利用框架可以实现前后端的分离,将页面的渲染和路由等功能都交给前端解决,让系统的开发效率更高。由于前端开发的复杂程度不断增加,JavaScript也需要和Java一样实现模块化,出现了如require.js,webpack等模块化工具。未来JavaScript会在web开发中扮演越来越重要的角色。