目录
1 系统简介
2 系统相关技术
2.1J2EE平台的相关简介
2.2基于J2EE的Web应用开发技术
2.2.1数据库
2.2.2Servlet和JSP
2.2.3MVC和框架的应用
2.3J2EE应用服务器(Tomcat)
2.4MyBatis相关概况
3 需求分析
3.1非功能需求分析
3.1.1系统的需求描述
3.1.2系统的实现目标
3.2功能需求分析
3.2.1功能需求
3.2.2性能需求
3.2.3管理员功能模块分析
3.2.4学生功能模块分析
3.2.5数据库分析
3.3系统可行性分析
4 系统设计
4.1系统设计
4.2系统功能模块设计
4.2.1数据库设计
5 系统实现
5.1系统登录模块实现
5.2系统选课模块的实现
5.3添加课程功能的实现
5.4添加学生功能的实现
5.5学生更新信息功能的实现
6 总结
随着信息化时代的发展,互联网使人们的生活方式更加便捷。在最近几年面对各大高校的扩招政策,使得各高校的学生人数徒然上升,而相应的高校教务人员也会面临匮乏,以致于教务人员在管理学生的选课信息时增加了难度,以往的传统选课由于太过于浪费人力物力而逐渐被淘汰。此时,在线选课管理系统的出现将会使得学校选课管理行为更加的规范化从而极大程度上减少了学校以往对选课管理的随意性,大大提高了信息管理的实时性和准确率,教务人员系统能够随时随地的查看学生的选课状况,学生端也可以随时随地的进行选课,所以在线选课系统很大程度的便利了教务教学管理。此基于SSM框架的在线选课管理系统使用了Eclipse为主要的开发工具,以Java语言来进行开发,并使用了SSM框架技术,数据库用的是MySQL,服务器为Tomcat,通过工厂模式和责任链模式完成系统编码工作,并进行系统检测,最后实现并将系统成功运行。此系统能够实现教育资源被充分利用,减轻了教务人员的包袱。
Java是Sun企业在1995年发布的。那时候它的适用范围是让Applet转化成动态网站。JavaEE软件设计构架技术在软件开发的过程中需要采取多层架构,主要是将软件的设计划分为了四个层次,分别是客户端显示逻辑,业务逻辑以及数据库这四个方面。传统的JavaEE轻量级框架,简称为SSH框架,但是随着新技术的不断发展与更新,SSH框架已经被许多企业所放弃,取而代之的是使用更加灵活与方便的SSM框架[2]。
MySQL数据库是一款关系型DBMS,在对MySQL数据库进行应用的过程中,备份与恢复是非常重要的一个环节,是保证数据安全的关键之所在。本系统选用的数据库智能管理系统版本为MySQL5.3,数据库系统由一系列对应的产品构成,既能达到绝大多数数据处理系统要求,又能达到各种各样商务网站储存中等水平特性数据信息的要求。还能够为本人或中小型企业提供一些更容易操作的与其说业务流程有关的数据储存服务项目。并且因为MySQL是开源项目,可以大幅度降低总成本费。
JSP是网页中动态交互的一种技术,它是支持跨平台的,而Servlet技术主要是用来接收页面中用户的数据输入的。JSP技术可以将其划分为静态和动态这种网页分离的方式,这种方式对整个操作过程进行简化处理,避免对代码进行多次的编译,进而提高其自身在运行过程中的效率和安全可靠性。
Spring框架希望提供的并不是专注于某一层的解决方案,而是提供Java EE应用开发中各层的解决方案[6]。SSM是一个典型的MVC框架,整个系统被划分为表示层、控制层、服务层、和数据库访问层4层[7]。Spring MVC核心是前端控制器,它是各层次间调度管理器,它能根据请求映射规则分发给相应的页面控制器进行处理[8]。
Tomcat作为轻量级的小型Web应用容器,在中、小型项目和使用帐户不多的情况下被普遍应用,得到诸多厂商的认可,使得其在Web应用服务器业界比较流行[9]。Tomcat作为目前比较受欢迎的一个服务器系统,最主要的一个因素就不仅仅在于其体积大小,还在于其开放性,以及方便应用,从而在实际的企业级应用系统建设中受到了日益广泛收到人们的关注,尤其是在目前各个院校相关的专业教育过程中,学生基本都会选择Tomcat作为开发的应用服务器。
Mybatis是一款支持普通SQL查询,存储过程、实现动态SQL、缓存管理和高级映射的优秀持久层框架,程序员可以使用简单的XML或注解来配置和映射基本数据类型,将接口和JAVA POJO映射成数据库的记录,完成对数据库表的增、删、改、查等操作[10]。
需求分析所描述的是使用者系统的功能要求,而需求分析的核心目标就是要求在系统开发人员与提供功能需要的人之间形成一个均衡的机制,所以一个优秀的需求分析对系统的开发与设计是非常关键的。
软件开发设计的时侯,为了更好地最大限度地完成客户的业务流程需求,具有除功能需求之外的特点,后面则称之为非功能需求。软件还会遭受许多别的环境因素的危害,因此软件中非功能性需求的标准会很广,因此要考虑到软件的易用性和便捷性。
本操作系统的具体开发设计工作中包含具备相对应作用的应用系统的产品研发,自然也有其后台管理数据库的设计。在设计的过程中,为了更好的使实际操作更为便捷,针对应用系统而言,首先,必须要有一个简洁大方的操作界面;次之,有关的选学管理方法作用一定要齐备;最终,能便捷实际操作和应用。那样才便捷好用。在设计数据库时也务须对数据库中的数据的完整性和一致性进行保障,仅有那样,才可以真真正正的合乎数据库设计的规范,确保数据库的优良运作。因而,在设计选课系统的历程中,务必考虑到下列两个层面:首先,选课系统的前端开发页面要尽量别具一格,原素合理布局要有效;次之,选课系统的后面设计要系统功能有效,使用方便。
在本选课系统软件的开发设计流程中,开发环境主要是Ec1ipse。最先,在创建相应的工程项目后,创建SSM架构并测试步骤自然环境。该体系的全部功能模块全是应用JAVA、JSP等开发语言开发设计的根据web服务器的互动式动态性应用软件,完成了高等院校选课系统软件的首要作用。该体系的关键功能模块包含学生登录注册、选课查询、在线选课、管理员登录、查询公布课程内容、查询选课学生等。本选课系统软件考虑到在选课时可以真真正正为学生给予一个便捷实用的系统软件,进而节约全部学生的选课時间,充分的达到全部老师学生对选课管理方法的绝大多数要求。
(1)基本功能描述:学生和管理员的注册功能,通过学生或管理员在各自登录的界面点击注册按钮后注册信息。
学生和管理员登录:通过让学生或管理员输入账号、密码,判断其输入的信息是否和数据库内保持一致,若一致则跳转系统功能界面,若不一致则重新输入。
(2)管理员功能描述:
课程列表:管理员可以查看课程的基本信息。
添加课程:管理员可以添加课程的基本信息。
学生列表:管理员可以看到全部学生的基本信息。
添加学生:管理员可以添加学生。
(3)学生功能描述:
我的信息:学生可以查看个人信息。
更新信息:学生可以修改自己的个人信息。
在线选课:学生可以选择由管理员发布的课程。
选课预览:学生可以查看选择过的课程信息。
性能需求的主要目的为了使相互的消息传递更加顺畅,传输层协议解析准确,页面设计简单大方,运行时间短等均可以适应应用需求,而稳定性高又可以获得安全保障。就实际情况而言,我们在使用时,可以直接通过浏览器输入Tomcat网址访问到系统界面,当然如果后期加入到收费服务器后即可不局限于个人的计算机,在任意可访问互联网的设备上均可访问该页面。当然在系统开发的阶段性过程中,我们均需要考虑界面的友好性及各个功能之间的相互联系和协调性是否到位。
管理员模块首先要包含最基本的功能,其主要功能包括点击查看课程列表、点击添加课程、学生列表、添加学生等功能,在这里的点击课程列表功能主要是指管理者能够使用此模块查询学校所设的教学课程信息。而点击增加课程功能则是管理者能够使用这个模块来增加教学课程信息,包含学校教学课程的基本信息,授课位置和课时信息等。学生信息列表功能主要是管理员可以使用这个模块来查询学生的个人信息,如果不符合学院的要求则可进行删除学生的选课信息。添加学生:该模块主要是可以新增学生。详细的功能模块图如图3-1所示:
图3-1 管理员功能需求分析
学生模块首先要包含最基本的功能,其主要功能包括查看我的信息、更新信息、个人在线选课和个人的选课预览等功能,其中的查看我的信息模块主要是学生可以通过这个模块来查看自己的个人信息是否属实,如果不属实则可通过更新信息模块来更改信息。而更新信息模块则是学生可以通过此模块更新自己一些个人信息。个人在线选课模块主要是学生可以看到由管理员发布的课程,即可选择。个人的选课预览模块主要内容为学生可以在这个功能模块看到自己已经选择过的某些课程信息,以防错选漏选。学生功能模块的详细模块图如图3-2所示:
图3-2 学生功能需求分析
本系统使用的是MySQL5.3版本,操作简单易维护是它特性。在设计数据库的时候也一定要对数据库的安全进行一些设计。数据库的安全是系统安全的重要组成部分,故必须设计一个完善的数据库备份和恢复方案,MySQL提供了多种工具,可以一起使用,使数据库备份和恢复变得容易。
(1)技术可行性:此系统对于编程所使用的设备没有太高的要求,可以运行Eclipse即可,数据库为MySQL,服务器是Tomcat,当下的大部分计算机均可满足要求。
(2)经济可行性:本操作系统是为学校选课管理而使用的操作系统,在浏览器进入Tomcat网址,就可以进入学校的选课管理系统,该操作系统所产生的经济效益远超过开发的生产成本,在经济上完全合理。
(3)操作可行性:界面设计十分简洁大方,对数据的处理非常迅捷,后期的扩展性很好,同时后期的维护也很方便。
本次系统开发,选择了Eclipse和MySQL作为开发的前台和后台。选择Eclipse是因为它完全的开源免费。它的后台控制层代码和前端代码是完全分离的,后台采用JAVA语言,前端采用JSP语言。MySQL是一款功能强大的数据库,与Eclipse配套使用,更发挥其强大的优势。本系统是基于JAVA语言设计的,对用户的开发环境需求不高。
在开始设计数据库时首先要明确字符编码以及各个字段的格式是否可空,长度,唯一性等一系列最基本的要求,以此为为由就可以设计数据库内各个数据表的ER图,以使开发人员更能够明确数据库内各个字段之间相互的关系。
系统数据ER图如下所示:
(1)学生ER图,如图4-1所示:
图4-1 学生ER图
(2)管理员ER图,如图4-2所示:
图4-2 管理员ER图
(3)选课信息ER图,如图4-3所示:
图4-3 选课信息ER图
进入管理系统首页后首先印入眼帘的便是管理员页面,即adminLogin.jsp界面,该界面简洁大方,这是系统的主页面之一,当然也可选择通过单击右上角的学员端登陆从而直接切换至学生登录页面,在进入到管理员登录页面后,管理员需要输入与后台数据库中一样的账号和密码后即可成功登录,如果输入有误则需要重新输入,登录成功后就可以进入到管理员系统的主要管理功能页面。在实现系统登录的流程中,通过登陆界面,控制器获得输入的账号密码并使用JavaScript进行格式判断,数据通过AdminLogin.java文件控制,其对应的页面设计流程图如图5-1所示:
图5-1 管理员系统登录操作图
一进入管理员的操作界面,其简洁大方的界面风格便迎面而来,使用户一眼就能够找到进入系统的入口,其效果图如图5-2所示:
图5-2 管理员登录效果图
学生登录后,即可点击在线选课按钮进行选课选完课后点击选课预览即可查看选课信息,同一个学生只能对一门课程选择一次。在线选课功能所对应的页面在前端界面SelectCourses.jsp中进行展示,实现的流程是系统通过文件SelectCourseServlet.java控制,由CourseDao.java文件向Dao层文件查询已有的可供选择的课程信息,将课程信息发送至前端页面,在线选课的流程如图5-3所示:
图5-3 选课流程图
选课功能运行效果如图5-4所示:
图5-4 选课流程实现效果图
管理员登录后,即可点击添加课程按钮进行添加课程,添加完课后点击课程列表即可查看刚刚添加的课程信息,课程ID不允许重复。添加课程所对应的页面在AddCourses.jsp中进行显示,实现的流程是前台将请求发送至Controller层,文件使用Service层文件向Dao层文件发送请求,所得到的数据再返回到控制层后判断是否添加成功,添加课程的流程如图5-5所示:
图5-5 添加课程流程图
添加课程功能运行效果如图5-6所示:
图5-6 添加课程实现效果图
课程列表实现效果图如图5-7所示:
图5-7 查看课程列表实现效果图
管理员可以添加学生的基本信息,管理员可以在管理员操作界面点击添加学生按钮后便可以添加学生的基本信息,添加完后再点击学生列表按钮即可查看刚刚添加的学生信息,为了保持学生信息的唯一性,设置了学生的编号不允许重复。添加学生功能对应的页面在前端界面AddStudents.jsp中进行展示,实现的流程是网页将请求发送至控制器,控制器调用AddStudentServlet.java文件将web.xml文件传回的数据返回至前台网页。系统通过AddStudentServlet.java文件控制,添加学生流程如图5-8所示:
图5-8 添加学生流程图
添加学生功能运行效果如图5-9所示:
图5-9 添加学生实现图
学生列表的实现效果图如图5-10所示:
图5-10 学生列表实现效果图
学生登录后,点击更新信息按钮即可更新自己的信息,学生更新完信息后点击我的信息按钮即可查看刚刚自己所修改的个人信息,同样为了保持唯一性原则,学生的学号不允许修改。更新信息功能对应的页面在前端界面UpdateStudent.jsp中进行显示,系统功能通过文件UpdateStudentServlet.java文件控制,更新信息流程如图5-11所示:
图5-11 更新学生信息流程图
更新信息功能运行效果如图5-12所示:
图5-12 更新学生信息实现效果图
此系统是基于SSM的在线选课系统,后台系统是由Java语言进行逻辑实现,前台界面由Jsp技术进行界面设计,编程软件使用的是Eclipse进行系统开发,数据库使用的是MySQL数据库作为后台数据储存。
源码+过程性文档+论文