版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、图形用户界面与人机交互结课作业题目:学生选课管理系统班级:计算机三班学号:姓名:时间:2015年12月目 录摘 要 . .I 1 引 言 .1 1.1 课题研究背景 .1 1.2课题研究目的 .1 1.3课题可行性分析 .2 2 相关开发软件以及技术介绍 .3 2.1 开发环境介绍-ECLIPSE 以及 MAVEN的使用 .6 2.2 S
2、PRING3.0新特性以及SPRING MVC .6 2.3 HIBERNATE连接数据库 .7 2.4 主要前台技术简介 .8 2.4.1 JSP .8 2.4.2 JavaScript .8 2.4.3 CSS .8 3 系统分析与总体设计 . .9 3.1 系统功能分析 .9 3.2 系统功能模块设计 .10
3、 3.3 数据库设计 .11 3.3.1 教师模块数据库表结构 .11 3.3.2 教师模块数据库表结构 . .13 3.3.3 学生模块数据库表结构 . .13 4 系统详细设计 .15 4.1 教师、学生、管理员登陆 .15 4.2 管理员发布选课通知 . .20 4.3 管理员录入可选课程信息 .
4、.21 4.4学生进行选课、退课.22 4.5 教师统计已选自己课的结果 .24 4.6 管理员进行选课统计以及调节 . .25 5 系统测试. .311 引 言 1.1 课题研究背景 从计算机的普及和发展方面来看:一直以来,学生选课系统是学生们做毕业设计的热门题目,然而大多的题目设计多过于大众化,大多是运用一些简单的框架实现基本的简单选课功能。这种设计的方式存在着诸多缺点,如手续繁琐、工作量大、效率低下、出错率高、界面不友好等,
5、而且程序过于繁琐,结果也不清晰、更新及维护都带来不少困难。随着科学技术的不断发展,计算机科学日渐成熟和普及,计算机已进入人类社会的各个领域并发挥着越来越重要的作用。与传统的选课方式相比,网上选课系统利用局域网为学生选课带来了便利。学生在学校的公共机房或者宿舍的个人电脑上通过网络来选课,只要选课还没有截止,学生能够灵活的修改自己的选课情况,大大提高了学校选课工作的效率。教务处的教师则通过选课系统的管理员子系统来管理学生的选课情况,使得学生选课工作达到系统化和自动化,大大提高了学校的工作效率。 作为计算机应用的一部分,javaWeb开发已经变得越来越普遍。相应的一些技术的产生给我们jav
6、a程序的编写提供了很大的方便。同时,现在较为普遍的框架的SSH(spring,hibernate),以及MVC架构的支持使我们的计算机web技术使用更加淳熟。AJAX,JQuery技术的产生,为我们的计算机领web开发领域实现界面友好,异步信息存储的特点。使用起来十分人性话。因此,将这些相关的技术整合,应用到新的选课管理系统中,是十分必要的,从而构建由JQuery控制的前台界面,以及ajax实现信息的异步存取,经典的ssh框架的mvc结构。实现选课系统的,检索迅速、查找方便、可靠性高、存储量大、保密性好等特点。 1.2课题研究目的 选课管理系统将作为现代化的教务管理系统中的
7、一部分,是每个高校的系统中必要的组成部分,实现学生选课管理的统一,准确化。该系统系统面向全校的学生以及教师,一次信息量相对较大,采用B/S结构,无需安装客户端,用户只需要在浏览器中输入相对应的地址即可,从服务器获得信息,方便快捷,更利于维护和更新。同时,由于我国高校是允许学生自由选课,在这里,学生选课时的制约因素比较复杂,工作量也很大,而且往往需要在较短的时间内完成。运用计算机辅助选课,即能实时地对大量选课数据进行检验和统计,十分方便地输出选课结果,同时也避免了人工处理时容易产生的错误。例如,一名学生不能同时上两门课,一个老师不能同一时间交两门课程等等。利用计算机辅助进行课表编排工作,既提高了
8、排课工作的科学性,又可大大减轻管理人员的工作强度,提高工作效率,因此,利用计算机辅助选课,可以节省大量人力,并且可以避免错误。 1.3课题可行性分析 J2EE平台的飞速发展,技术的成熟以及应用领域的不断扩大,为网上信息的交互提供了一个良好的平台和方便的操作界面。由于J2EE平台基于用户需求的设计方法使得该系统的使用跟家的人性化、个性化、跟贴近用户。以J2EE平台的构建思想来实现网上选课系统可以最大程度的做到实用性,可扩展性和可维护性相结合,安全性以及规范化原则。采用本系统,能够使整个系统内部所有信息的工作简化,提高工作效益。由于采用统一的数据信息,使相关资料能够快速地查询所
9、需的数据、资料及其它信息的,使信息快速高效运行。2 相关开发软件以及技术介绍 2.1 B/S结构介绍 2.5.1 B/S结构基础 B/S结构(Browser/Server结构)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现形成所谓三层结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户
10、的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库,它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。 B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以
11、使用了。甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。 B/S结构系统的工作原理图,如图2-1所示。 图2-1B/S结构工作原理图2.5.2 B/S架构软件的优势与劣势 (1) 维护和升级方式简单 目前,软件系统的改进和升级越来越频繁,B/S架构的产品明显体现着更为方便的特性。对一个稍微较大的单位来说,系统管理人员如果需要在几百甚至上千部电脑之间来回奔跑,效率和工作量是可想而知的,但B/S架构的软件只需要管理服务器就行了,所有的客户端只是浏览器,根本不需要做任何的
12、维护。无论用户的规模有多大,有多少分支机构都不会增加任何维护升级的工作量,所有的操作只需要针对服务器进行。如果是异地,只需要把服务器连接专网即可,实现远程维护、升级和共享。所以客户机越来越“瘦”,而服务器越来越“胖”是将来信息化发展的主流方向。今后,软件升级和维护会越来越容易,而使用起来会越来越简单,这对用户人力、物力、时间、费用的节省是显而易见的,惊人的。因此,维护和升级革命的方式是“瘦”客户机,“胖”服务器。 (2) 成本降低,选择更多 现在的趋势是凡使用B/S架构的应用管理软件,只需安装在Linux服务器上即可,而且安全性高。避免了高维护成本的window
13、s系统,而且能够使大部分人使用Windows作为桌面操作系统电脑不受影响。 (3) 应用服务器运行数据负荷较重 由于B/S架构管理软件只安装在服务器端(Server)上,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器端(Server)完全通过WWW浏览器实现,极少部分事务逻辑在前端(Browser)实现,所有的客户端只有浏览器,网络管理人员只需要做硬件维护。但是,应用服务器运行数据负荷较重,一旦发生服务器“崩溃”等问题,后果不堪设想。因此,必须备有数据库存储服务器,以防万一。 2.5.3 B
14、/S与C/S结构软件技术上的比较 C/S(客户机服务器模式)结构软件分为客户机和服务器两层,客户机不是毫无运算能力的输入、输出设备,而是具有了一定的数据处理和数据存储能力,通过把应用软件的计算和数据合理地分配在客户机和服务器两端,可以有效地降低网络通信量和服务器运算量。由于服务器连接个数和数据通信量的限制,这种结构的软件适于在用户数目不多的局域网内使用。国内目前的大部分EKP(财务)软件产品即属于此类结构。B/S(浏览器服务器模式)是随着Internet技术的兴起,对C/S结构的一种改进。在这种结构下,软件应用的业务逻辑完全在应用服务器端实现,用户表现完全在Web服务器实现,客户端只
15、需要浏览器即可进行业务处理,是一种全新的软件系统构造技术,这种结构更成为当今应用软件的首选体系结构。 (1) 数据安全性比较 由于C/S结构软件的数据分布特性,客户端所发生的火灾、盗抢、地震、病毒、黑客等都成了可怕的数据杀手。另外,对于集团级的异地软件应用,C/S结构的软件必须在各地安装多个服务器,并在多个服务器之间进行数据同步。如此一来,每个数据点上的数据安全都影响了整个应用的数据安全。所以,对于集团级的大型应用来讲,C/S结构软件的安全性是令人无法接受的。对于B/S结构的软件来讲,由于其数据集中存储于总部的数据库服务器,客户
16、端不保存任何业务数据和数据库连接信息,也无需进行什么数据同步,所以这些安全问题也就自然不存在了。 (2) 数据一致性比较 在C/S结构软件的解决方案里,对于异地经营的大型集团都采用各地安装区域级服务器,然后再进行数据同步的模式。这些服务器每天必须同步完毕之后,总部才可得到最终的数据。由于局部网络故障造成个别数据库不能同步不说,即使同步上来,各服务器也不是一个时点上的数据,数据永远无法一致,不能用于决策。对于B/S结构的软件来讲,其数据是集中存放的,客户端发生的每一笔业务单据都直接进入到中央数据库,不存在数据一致性的问题。
17、0;(3) 数据实时性比较 在集团级应用里,C/S结构不可能随时随地看到当前业务的发生情况,看到的都是事后数据。而B/S结构则不同,它可以实时看到当前发生的所有业务,方便了快速决策,有效地避免了企业损失。 (4) 数据溯源性比较 由于B/S结构的数据是集中存放的,所以总公司可以直接追溯到各级分支机构(分公司、门店)的原始业务单据,也就是说看到的结果可溯源。大部分C/S结构的软件则不同,为了减少数据通信量,仅仅上传中间报表数据,在总部不可能查到各分支机构(分公司、门店)的原始单据。 (
18、5) 服务响应及时性比较企业的业务流程、业务模式不是一成不变的,随着企业不断发展,必然会不断调整。软件供应商提供的软件也不是完美无缺的,所以,对己经部署的软件产品进行维护、升级是正常的。C/S结构软件,由于其应用是分布的,需要对每一个使用节点进行程序安装,所以,即使非常小的程序缺陷都需要很长的重新部署时间,重新部署时,为了保证各程序版本的一致性,必须暂停一切业务进行更新,其服务响应时间基本不可忍受。而B/S结构的软件不同,其应用都集中于总部服务器上,各应用结点并没有任何程序,一个地方更新则全部应用程序更新,可以做到快速服务响应。 (6)
19、 网络应用限制比较 C/S结构软件仅适用于局域网内部用户或宽带用户(1Mbps以上),而B/S结构软件可以适用于任何网络结构,特别适于宽带不能到达的地方。 从以上的分析可以看出,B/S结构的管理软件有着C/S结构软件无法比拟的优势。而从国外的发展趋势来看,也验证了这一点。目前,国外大型企业管理软件要么己经是B/S结构的,要么正在经历从C/S到B/S结构的转变。从国内诸多软件厂商积极投入开发B/S结构软件的趋势来看,B/S结构的大型管理软件势必在将来的几年内占据管理软件领域的主导地位。 2.2 开发环境介绍-Eclipse
20、 Java EE 3.7 以及 Maven 的使用 Eclipse由于其开放源码,并可以在此基础上开发各自的插件,因此越来越受人们关注 ,尤其对于各高校,编写Java代码,它已经成为必用的开发工具。本设计采用Eclipse 的版本代号:Indigo Service Release 2 Maven:作为项目管理工具,它包含了一个项目对象模型,一组标准集合,一个项目生命周期,一个依赖管理系统,和用来运行定义在生命周期阶段中插件(plugin)目标(goal)
21、的逻辑。本社设计中使用Maven 主要完成生成站点,管理项目中用到的所有JAR文件,所有的依赖全部放在.pom文件中,需要是在配置中添加,maven 既可以到其仓库中进行查找并放到本地环境中2.3 spring3.0新特性以及spring MVCSpring是Apache组织发布, 是一个强大的基于 JavaBeans 的采用控制翻转原则的配置管理,使得应用程序的组建更加快捷简易。由于Spring具有:轻量级。控制反转,面向切面,声明式事物管理等特点,备受开发人员的青睐。 数据库事务的一般化抽象层,允许宣告式(De
22、clarative)事务管理器,简化事务的划分使之与底层无关。 2.4 Hibernate连接数据库 Hibernate针对的是项目的持久层,提供了对JDBC进行了非常轻量级的对象封装,使得Java程序员可以使用对象编程思维来操纵数据库。实现程序架构的松耦合,Hibernate引入了工厂-factory 的概念,统一资源管理。提供许多查询模板,避免开发过程中需要连接数据库时,每次写获取数据库连接,编写SQL ,关闭数据库连接相关代码并且提供常用的增删改查的SQL方法。2.5 主要前台技术简介
23、0; 2.5.1 JSP JSP(全称JavaServer Pages)是由Sun Microsystems公司倡导和许多公司参与共同建立的一种使软件开发者可以响应客户端请求,我的理解他就是一种动态HTML技术。是的页面由静态发展到动态,并且可以再jsp 页面通过<% %>嵌入java代码,完成相应的业务要求。可引入许多标签库,在页面中书写javascript脚本,通过css设定页面样式等等。 2
24、.5.2 JavaScript JavaScript是一种能让你的网页更加生动活泼的程式语言,也是目前网页中设计中最容易学又最方便的语言,JavaScript是一种动态、弱类型、基于原型的语言,通过浏览器可以直接执行;JavaScript一般用于在客户端根据业务动态的生成HTML,其基本用法和语法规则都与java类似,但是由于其为弱类型,在编写时相对简单,只需定义变量便可使用,不需生命变量类型。而对应的Jquery 和 Ajax,在这里不再一一说明介绍,对于初学者,我的理
25、解是Jquery是javascript的框架,可以在开发中引入对应的jar包,里面有封装好的方法便可以使用,它们是比较是轻量级的js库,使用它能更方便地处理HTML documents、events、实现动画效果,并且方便地为网站提供AJAX交互。而Ajax,我这样评价它,他是软件开发中的一个神器,有了它,实现了在开发过程中数据的异步交互 2.5.3 CSS 级联样式表(Cascading Style Sheet)简称“CSS”,通常又称为“风格样式表(Style Sheet)”,它是用来进行网页风格设计的。是一
26、种比较简单的技术,属性页相对少,只要给对应要设置的内容设置<div >,然后对层取id,即可通过对id进行样式设定,比如,如果想让链接字未点击时是蓝色的,当鼠标移上去后字变成红色的且有下划线,这些风格都可以实现。级联样式表可以使人更能有效地控制网页外观。使用级联样式表,可以扩充精确指定网页元素位置,外观以及创建特殊效果的能力。 3 系统分析与总体设计 3.1 系统需求分析 根据高等院校的教务需求,以及具体的管理体系,该系统在用户身份设计上做出了不同的功能分配,分别设立三个主要身份:部门、教师、学生。用户以不同身份登陆系统后
27、,都会拥有各自的管理功能,并且在页面上会有具体身份的显示信息用来告知用户登陆身份。 部门身份包括学院教务处及各个院系,可以通过部门身份进行教师、学生、班级、课程等各个功能的管理,相当于教务系统中管理员。教师身份进入系统,可以进行基本信息查询与修改,如授课情况的查询、学生成绩的录入等。以学生身份登陆系统后,可以在规定的时间内,使用校园内任意一台接入校园网的计算机,进行学期选课,并能查询学期课表、成绩情况等信息。 3.2 系统功能分析学生管理系统作为教务管理系统的一个分支,主要面向的用户三类:学生,教师,管理员。系统这对不同的用户赋有不同的权限。
28、;管理员权限最大 ,包括为系统添加学生或者教师用户,发布选课消息,规定选课学分,发布可选课程的详细信息,并针对最后的选课结果进行统计和调节,设置教师人数,删除相关信息,浏览修改教师,学生,教室信息等等。 学生模块的功能主要有:注册修改自己的相应信息,可进行选课,退课,与传统选课系统相区别的是,学生可以再选课的同时,查看授课的详细信息,包括职称以及著作,获奖情况等等,因此,学生也可以挑选自己感兴趣的老师、感兴趣的课程。可以浏览信息,包括已选课程浏览、被选课程浏览、公共信息浏览、已发布课程信息浏览。已选课程浏览是为学生提供的查看自己已经选择的课程信息 教师的功能主要有
29、:注册修改自己的信息,统计选了自己课程的学生情况.查看选课学生的信息,查看上课时间、地点等等。也可以浏览各种相关信息。4 系统详细设计 4.1 开发环境的成功搭建。 使用maven管理项目,不在需要传统开发的导入jar包,而是将所有的依赖全部配置到.pom文件中。这个文件里面包含了所有开发过程总用到的资源。本程序中用到的依赖包如下:代码未给出至此,所有开发中需要的依赖资源我们已经全部找到。 4.2 教师、学生、管理员登陆 管理员的用户名和密码为程序设定的,初步设计都使用 UserId :Admin
30、60; PWD:admin . 学生的用户名为管理员设定,用户名为学生的学号,密码默认与用户名相同。管理员还可以对学生的详细信息进行编辑。学生可以通过初始的用户名和密码登陆系统,并且可以修改自己的密码以及详细信息。 教师的用户名为管理员设定,用户名为教师编号,密码默认与用户名相同。管理员还可以对教师的详细信息进行编辑。教师可以通过初始的用户名和密码登陆系统,并且可以修改自己的密码以及详细信息。 若用户登陆系统后的用户名和密码输入的不正确,则停留在登陆页面上,并提示用户口令输入不正确!请检查用户名和密码。 以学生登陆检测用户民是够正确为
31、例,进行说明: 1)Dao层代码中 。(类以及方法依赖的包省略) 4.3 管理员发布选课通知 管理员登陆成功后,进入录入选课相关通知页面,发布相应的选课信息,信息会发到教务管理系统首页。可供学生和教师浏览。发布的信息包括:选课消息主题,内容(可选学分,选课开始时间,选课结束时间)发布信息时间,发布信息院系。管理员还可以登陆系统对信息进行更新,对过期信息进行删除。 管理员可对教室进行人数编辑,修改。当课程所选人数已经等于教室的容纳人数时,系统显示课程已满。禁止学生再选此门课程。下面不在粘贴程序代码,所有的设计模式
32、与登录模块相同。开发顺序都为Dao>Serviceà controller-àjsp 页面。4.4 管理员录入可选课程信息 对于学期的可选课程,由管理员进行信息的录入。信息包括课程名,课程号,授课教师,上课地点,上课时间,学分,考试类型。学时,开课学院等。并可对消息进行修改和删除。 下面为管理员录入可选课程的页面:4.5学生进行选课、退课 学生成功登陆系统后。进入到选课主页面。页面会提示学生本学期的可选学分是多少。若不同的院系的分数要求不同,要根据学生的具体情况进行提示。学生进行选课后,有java
33、脚本即时计算学生已选学分,动态增加课程的已选人数。如果学生点击的课程已经满,给出提示此门课程已满,请选择其它课程、当学生的选课的总学分大约系里面要求的可选最大学分,例如允许选6分,学生选了7分,当学生选课结束并点击提交按钮式,给出提示本学期可选学分为6分,您已选7分,请退选相应课程此时页面不会提交。学生可以点击每条记录最后面的退选按钮进行取消,同时,对应的已选学分课程已选人数都要重新计算,知道该学生正常的按照规定选完课程。点击提交按钮后,若成功。则给出成功消息,并且自动更新个人课表。否则,给出失败的具体原因。作为选课系统的核心模块,现将几种业务上需要给出alert 或者 c
34、onfirm 的选课情况列举如下: 1)学生选课程学分大于本学期院系要求的可选学分。 处理方法:给出alert (本学期可选学分为x分,您已选y分,请退选相应课程) 页面设计展示:1) 学生所选的课程已经在其他学期选过,则不可重复再选。 2) 处理方法:给出 alert (此门课程已经选过,不允许重复选择); 页面设计展示:3) 学生进入系
35、统并选择课程,未提交,点击退出。 处理办法:给出confirm(您有课程未提交,确定退出吗?)。 页面设计展示:在选课过程中,同学还可以点击授课教师名字,名字显示为超链接。这样可以浏览对应授课教师的信息,包括职称,教龄,获奖情况,发表著作等等。这样,给学生提供了更多的选则。真正做到自由选课,选自己兴趣的课程或者感兴趣的授课教师的课程。 在选课未结束期间,学生可以登陆系统机型课程的修改或者退选。否则,教务系统页面不在出现选课功能模块。 4.6 教师统计已选自己课的结果 当教师成功登陆系统后,主要进行的
36、操作除了修改自己的信息外,还可以查看自己所教课程的被选情况。统计选课的结果,并且查看自己的课程表。其中选课结果的一栏中有学生的姓名,教师也可以点击学生姓名超链接,进行查看学生的详细信息,包括院系,班级等情况。 4.7 管理员进行选课统计以及调节 管理员的另一项工作即为调节选课结果。主要表现在一下几个方面。 1) 当选课时间已经过期,有的同学未能及时选课,这样可以书面申请的形势将请求提交给管理员,对应显示生活的教务处工作人员。将自己的所选课程的信息告知管理员。可以由管理员帮忙选择,并更新到课程表中,这样学生可以通过查看各任课表确定最后的选课是否成功。 2)当学生由于某种个别原因不想再上某门课程,但是选课时间也已过期,流程与
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 环卫作业安全考试题库及答案解析
- 揭阳安全员c证考试题库及答案解析
- 基础护理题库各章及答案解析
- 2025至2030工业搅拌器行业发展趋势分析与未来投资战略咨询研究报告
- 2025吉林省安全B证题库及答案解析
- 安全员 施工员题库及答案解析
- 2025-2030经颅磁刺激联合认知训练在发育迟缓儿童中的应用突破报告
- 网络安全管理知识题库及答案解析
- 2025-2030纳米材料在血管介入治疗中的应用潜力分析报告
- 2025-2030纳米材料产业化路径与市场前景预测研究报告
- GB/T 40548-2021煤层气井分层控压合层排采技术规范
- 山东入额考试试卷B答案定稿
- 软著授权-软件著作权授权-软著授权书模板
- GIS课程(空间数据处理)课件
- 建筑安全员c证考试题库含答案
- 2022-2023年青少年学法普法知识竞赛题库及答案
- 心电监护操作评分标准
- 普通高中数学课程标准
- 高分子材料第五章药用高分子材料PPT
- JJG 700 -2016气相色谱仪检定规程-(高清现行)
- DB62∕T 3176-2019 建筑节能与结构一体化墙体保温系统应用技术规程
评论
0/150
提交评论