已阅读5页,还剩41页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本科毕业设计说明书 题 目:电子作业管理系统学生功能 的设计与实现 院 (部): 计算机科学与技术学院 专 业: 软件工程 班 级: 软件 123 姓 名: 冯飞飞 学 号: 20121112092 指导教师: 伊静 完成日期: 2016 年 5 月 24 日 山东建筑大学毕业设计说明书 I 目录 摘 要III ABSTRACT.IV 1 前 言.- 1 - 1.1 选题背景 .- 1 - 1.2 系统简要说明 .- 2 - 1.3 相关开发技术简介 .- 2 - 1.4 应用前景 .- 6 - 2 需求分析.- 7 - 2.1 系统概述 .- 7 - 2.1.1 目标- 7 - 2.1.2 用户定义及权限- 7 - 2.2 系统环境 .- 8 - 2.2.1 系统开发环境- 8 - 2.2.2 系统运行环境- 8 - 2.3 功能需求 .- 8 - 2.3.1 功能需求分析- 8 - 2.3.1 业务流程图- 9 - 3 概要设计.- 10 - 3.1 功能概要设计 .- 10 - 3.1.1 总体架构设计- 10 - 3.1.2 系统用例图- 12 - 3.1.3 时序图- 14 - 3.2 数据库设计 .- 16 - 3.2.1 概念结构设计- 16 - 3.2.2 逻辑结构设计- 17 - 山东建筑大学毕业设计说明书 II 4 详细设计及程序的实现.- 20 - 4.1 关键模块设计与实现 .- 20 - 4.1.1 动态数据库配置.- 20 - 4.2 系统总体功能结构.- 21 - 4.3 功能模块的设计与实现.- 23 - 4.3.1 公共模块- 23 - 4.3.2 管理员模块.- 24 - 4.3.3 教师模块.- 26 - 4.3.4 学生模块.- 28 - 5 系统测试.- 33 - 5.1 软件测试 .- 33 - 5.1.1 引言- 33 - 5.1.2 目的- 33 - 5.2 测试方法 .- 34 - 5.2.1 功能测试- 34 - 5.2.2 性能测试- 34 - 5.3 系统配置要求 .- 34 - 5.4 测试内容 .- 34 - 5.5 系统评价.- 36 - 总 结.- 38 - 谢 辞.- 39 - 参考文献.- 40 - 山东建筑大学毕业设计说明书 III 摘 要 随着信息时代的发展,快捷高效的处理信息已成为各行各业的基本需求。在电子作业 管理中,为满足其系统化,自动化,高效化的要求,需要设计一个有效的学生电子作业管 理系统。 JSP 学生电子作业管理系统采用的是计算机化管理,系统做的尽量人性化,使用者会 感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去。由于数据库 存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失。这无疑是为信息 存储量比较大的学生电子作业管理平台提供了一个方便、快捷的操作方式。本系统具有运 行速度快、安全性高,跨平台,可移植性强的特点。系统管理员可以通过登录电子作业管 理系统,进行发布作业、批改作业等操作。电子作业管理系统基于 WEB 的 java 技术,采 用 MyEclipse 为开发工具,利用 SQL Server 作为数据库服务器进行数据管理。介绍了多 层应用软件体系结构,综合考虑后采用了 B/S 模式结构,使得本文所设计的软件功能在 各个环节响应得非常及时到位。 关键词:关键词:电子作业管理;JSP;MVC;SQL Server 山东建筑大学毕业设计说明书 IV ABSTRACT With the development of the information age, fast and efficient processing of information has become the basic needs of industries. In the electronic job management, in order to meet its systematization and automation, high efficiency requirements, we need to design a valid student electronic job management system. JSP student electronic job management system uses a computerized management system to do as much as possible humane, users will feel very easy to operate, managers need to do it is to enter data into the database system to go. Because the database storage capacity is relatively large and relatively stable, save for a long time, not easy to lose. This is undoubtedly a greater amount of information stored in electronic student job management platform provides a convenient and efficient mode of operation. The system has run fast, safe, cross-platform, highly portable. The system administrator can log in through the electronic job management system for publishing assignments, provide feedback and other operations. JSP electronic job management system based on WEB java technology, using MyEclipse development tools using SQL Server as the database server for data management. Through the introduction of the multi-layer application software architecture and adopt B / S mode considering the structure, so the designed software functions very timely response in all aspects. Keywords: Electronic job management; JSP; MVC; SQL Server 山东建筑大学毕业设计说明书 - 1 - 1 前 言 1.1 选题背景 随着社会的发展与进步,我国的教育事业不断取得进步。作业管理作为当代教育体系 的重要组成部分,是发展教育事业、培养优质人才的基础。作业是巩固所学知识从而进一 步提高能力的基本途径。目前,国内的电子作业管理基本采用两种方式:一种是老师共享 一个邮箱让学生把做好的作业发到邮箱里,批改作业时老师首先把作业下载下来,而且需 要自己把不同的班级的学生区分开来,批改后的结果也不能及时的反馈给学生,这种方法 很浪费时间而且效率不高。另一种是存放到老师电脑的一个共享目录内。这种方法虽然解 决了下载作业及分班管理的弊端但是又出现了新的问题,学生可以随便的查看甚至更改、 删除其他学生的作业,甚至有的学生投机取巧,造成了抄袭、恶意更改、删除他人作业情 况的发生,这就给老师和学生带来极大的困扰。目前作业管理的方式大多数都是通过纸质 的形式来展现。纸质的作业一方面存储量较小并且不利于保存,也不利于环保,另一方面 纸质的作业也给教师的批阅带来了很大的负担。在当今的信息化时代里,每一个学校都期 望有一个方便,快捷,高效的作业管理系统来规范化管理电子作业,因为这可以大大的提 高学校的作业管理水平,优化教师资源,实现教学水平的真正提高。因此大力发展电子作 业管理,使作业管理走向科学化、信息化的任务刻不容缓。 随着计算机技术的飞速发展,计算机在企业和大学管理中应用的普及,利用计算机实 现作业规范化管理势在必行。利用计算机高效率完成作业的管理,是适应现代社会发展要 求,推动学生作业管理走向科学化、信息化、规范化的必要条件。 电子作业管理系统的实现可以减轻比较繁琐的手工作业管理,让教务管理人员能节省 出更多的时间来,去完成更重要的工作。它具有手工管理所无法比拟的优点,比如信息流 通及时到位、组织管理责任明确、文件查找方便、档案处理可靠性高、存储量大、寿命长 等。在电子作业管理系统中,老师直接将自己负责的课程作业发布到电子作业管理系统中 去,学生就可以在对应的课程中看到老师发布的作业,学生直接把作业做完后提交到系统, 这样就给老师批阅作业带来了极大的方便。老师可以直接登录系统找到对应班级的学生作 业进行批阅,批阅完成后将批阅结果以及评语及时的反馈给学生,便于学生及时了解自己 作业的情况。这些都可以极大地提高作业管理的效率,更好地为师生提供信息交流平台, 山东建筑大学毕业设计说明书 - 2 - 同时也为学校的发展奠定了一个坚实的基础。电子作业管理系统采用的是计算机化管理, 系统做的尽量人性化,使用者会感到操作非常方便,管理人员需要做的就是将数据输入到 系统的数据库中去。由于数据库存储容量相当大,而且比较稳定,适合较长时间的保存, 也不容易丢失。这无疑是为信息处理量比较大的电子作业管理平台提供了一个方便、快捷 的操作方式。本系统能提高管理的效率和精确度,减轻教育工作者的劳动强度,让计算机 实现对现代教务的信息管理,并在一定程度上实现自动化。 1.2 系统简要说明 电子作业管理系统采用的是计算机化管理,让计算机实现对现代教务的信息管理,并 在一定程度上实现自动化。该系统为信息处理量比较大的电子作业管理平台提供了一个方 便、快捷的操作方式。本系统能提高管理的效率和精确度,减轻教育工作者的劳动强度。 该系统主要包含三大模块:学生模块、教师模块和管理员模块。本文重点介绍的是学生模 块和教师模块。 管理员模块的主要功能:科目管理和用户管理。 学生模块的主要功能:修改个人信息、查看自己的作业信息、查看已批改的作业和未 批改的作业等。 教师模块的主要功能:教师也相当于这个系统的管理员,主要来发布作业和批改作业。 在该系统中有三种角色:学生、教师和管理员,在用户登录时以不同的角色登录会进 入不同的管理界面。系统会根据用户的角色和用户名、密码来进行验证,验证通过则根据 角色进入不同的界面,并给予用户不同的权限。 1.3 相关开发技术简介 (1)J2EE 技术,即 Java 2 平台企业版(Java 2 Platform Enterprise Edition) ,是一 种 B/S 模式的体系结构,是利用 Java 技术简化企业应用系统开发、管理和部署等复杂问 题的一套完整的体系结构。该技术由 SUN 公司推出,基于 Java 2 平台,它继承了 Java 语 言方便、灵活、跨平台等优势,还提供了对 EJB(Enterprise Java Bean)、Java Servlets、JSP(Java Server Pagers) 、XML 、API 等技术的支持,从而即降低了开发多 层应用系统的难度和复杂性,又提供了对现有应用系统的强大支持。J2EE 技术一般分为 山东建筑大学毕业设计说明书 - 3 - 四个层级:客户层、WEB 表示层、业务逻辑层、数据层(EIS) 。如下图 1-1 所示。 HTML、Applet、J2EE 客户端客户层: Web 表示层: Web 服务器、JSP、Java Servlet、J2EE 业务逻辑层:EJB 容器、EJB 数据层 (EIS): MS SQL Server、Oracle、Access 图 1-1 J2EE 层次结构图 客户层:可以包括瘦客户端、胖客户端,用户可以与该层进行交互,是系统的用户界 面,可以呈现出适当的视图,收集查询,显示最终结果,是用户在本地所使用的最后的模型 成品。 Web 表示层:接收客户层组件的要求,处理请求,然后将请求路由到业务层的适当组件; 接受业务层传来的结果,计算一个适当的视图,然后将视图路由到对应客户端。 业务逻辑层:这一层由若干运行在 EJB 容器下的 EJB 组件和应用服务器组成。EJB 封 装了业务逻辑,应用服务器提供了 JDBC 技术来访问数据库。 Web 表示层和业务逻辑层是给 J2EE 发布工作任务的层次,主要是通过服务器完成工 作。这两层是 J2EE 的核心层次。 数据层(EIS): 将前端业务逻辑层的组件与后端数据库层连接起来把收集好的信息 放在该层,供用户访问。 J2EE 具有以下四点优势:优势一:跨平台性。Java 具有平台无关性,可以运行在 Windows、Linux、Unix 等不同的操作系统上,因此,基于 J2EE 技术开发的应用程序不受 特定的硬件、操作系统、服务器等外部环境的约束,可以实现异构环境下应用系统的开发、 部署和维护。优势二:稳定性。基于 J2EE 技术的应用系统拥有较强的可靠性,可以满足 用户 24*365 的不间断使用,从而满足用户所需的实时性和稳定性要求。优势三:开发效 率高。J2EE 技术通过将通用的、复杂的、繁琐的服务端系统安排给中间供应商完成,从 而使普通系统开发人员设计并实施普通的商业逻辑部分,有效地降低了系统开发难度,缩 短了开发周期。优势四:具有可伸缩性。基于 J2EE 技术的应用系统在开发完毕后,可以 根据需要部署在各种硬件服务器和操作系统之上,从普通的 PC 机到高端服务器,甚至是 山东建筑大学毕业设计说明书 - 4 - 大型机系统中,并且可以使用灵活的负载平衡策略以实现伸缩性。 (2)MVC 模式(三层架构模式) (Model-View-Controller)是软件工程中的一种软件架构 模式,把软件系统分为 Model(模型) 、View(视图)和 Controller(控制器)三个基本 部分。MVC 模式最早是由 Trygve Reenskaug 在 1974 年提出的,是施乐帕罗奥多研究中心 (Xerox PARC)在 20 世纪 80 年代为程序语言 Smalltalk 发明的一种软件设计模式。MVC 模式是以实现一种动态的程序设计为目的的模式,以使后续对程序的修改和扩展简化,并 使程序某一部分的重复利用成为可能。此外,此模式通过对复杂度的简化,使程序结构更 加直观。软件系统通过对自身基本部分分离的同时也赋予了各个基本部分应有的功能。程 序员可以通过自身的专长分组,MVC 架构如图 1-2 所示。控制器:负责转发请求,对请求 进行处理。视图:界面设计人员进行图形界面设计。模型:程序员编写程序应有的功能、 数据库专家进行数据管理和数据库设计。 图 1-2 MVC 三层架构示意图 (3)B/S 结构 在三层体系结构的 B/S(Browser/Server,浏览器/服务器结构)系统中,用户可以 通过浏览器向分布在网络上的众多服务器发出请求。B/S 系统极大地简化了客户机的工作 量,客户机上只需要安装、配置少量的客户端运行软件即可,服务器将担负大量的工作, 对数据库的访问以及应用程序的执行都将由服务器来完成。 随着 B/S 架构的不断成熟,该架构主要使用 WWW 浏览器技术,结合多种浏览器脚本语 言,用通用浏览器来实现原本需要复杂的专有软件来实现的强大功能,节约了开发成本, 是一种新的软件架构。基于 B/S 架构软件的安装,修改和维修的需要都在服务器端解决。 使用该系统时,只需要一个浏览器用户可以运行所有的模块,从而实现了“零客户端”功 能,很容易在运行时自动升级。 山东建筑大学毕业设计说明书 - 5 - B/S 系统包括:表示逻辑层,控制逻辑层,数据展现层,三层是相对独立又相互关联, 在这里我们对这三个层面进行介绍: 1.表示逻辑层,其主要任务是提出一个服务请求到网络上的 Web 服务器,服务器验证 身份,使用 HTTP 协议把所需的主页传送给客户端,客户机接受传来的主页文件,并把它 显示在 Web 浏览器上。 2.控制逻辑层,其主要任务是接受用户的数据请求,首先需要执行相应的程序和数据 库连接,并将数据处理请求发送到数据库服务器,然后数据库服务器等待数据处理的结果 并提交到 Web 服务器,然后由 Web 服务器返回给客户端。 3.数据表示层,其主要任务是接受 Web 服务器请求的数据库操作,来实现对数据库的 查询,修改,新增和删除的功能,并将操作结果返回给 Web 服务器。 (4)SQL Server 数据库 SQL Server 2005 是微软公司最新版的大型数据库服务器,在经历了 SQL Server 6.5 和 7.0 两个版本的尝试后,微软公司终于开始向大规模的业务领域进发了。随着微软公司 的数据库主力产品 SQL Server 2005 Beta 2 版本的发布,软件行业针对数据库开发的方 式也在改变中。SQL Server 2005 目前已经在软件行业得到广泛的应用。它具有以下新的 特性和功能。 增加了数据库镜像(在 SQL Server 2000 这个版本就可以通过复制功能来创建一个备 用服务器,实现主服务器中数据库数据的备份、重新存储)技术。它是微软引入的一个内 建的工具,其允许系统中的一个 SQL Server 数据库的内容镜像到系统中的另一个 SQL Server 数据库上。另外,当其中的一个 SQL Server 数据库出现异常后,可以通过镜像数 据库来进行问题的恢复。SQL Server 2005 的数据库镜像提供了三种实现方式:(1)高 可用性模式,这种工作模式允许系统中的两台 SQL Server 2005 服务器上进行同步事务写 入,同时支持数据库的自动错误恢复。另外,这种工作模式需要提供一个证人服务器。 (2)高保护性模式,与高可用性模式相同,这种工作模式可以让系统中的两台 SQL Server 2005 服务器上进行同步事务写入,不同的是数据库的错误恢复是手工执行的,因 为是手工执行数据错误恢复,因此这种工作模式也不会用到证人服务器。 (3)高性能模式, 该工作模式与高可用性模式和高保护性模式的最大不同是其不关心两台 SQL Server 2005 服务器上的数据写入是否是同步的,因此高性能模式在性能上有所提高。另外,这种工作 模式只允许手工的数据错误恢复,因此也不会用到证人服务器。数据库镜像只能用在 SQL Server 2005 或者以上的标准版、开发版和企业版中。 山东建筑大学毕业设计说明书 - 6 - 1.4 应用前景 世界各国对教育的发展给予了前所未有的关注,都试图在未来的信息社会中让教育处 于一个优势的位置,从而走在社会发展的前列,为此许多国家都把信息技术应用于教育, 采取措施推进教育信息化。 当今国内也存在许多电子作业管理软件,采用的开发技术也是多种多样的,如基于 JSP,模式和 FTP 模式,大多数的作业管理系统主要适用于网络学院的远程教育教学方式, 但是校园能真正利用电子作业管理系统,来规范教学的并不多。针对国内的作业管理系统 的巨大空缺和迫切需求,一个好的电子作业管理系统显得尤为重要,它需要功能齐全,操 作简便,能够真正的向用户展现出界面的友好性,更重要的是它的安全性,健壮性,灵活 性,操作简单性,方便安装,使每一个用户都能够迅速上手使用。 电子作业管理系统较之传统的作业管理方式有以下几点优势: (1)电子作业管理系统属于无纸化办公,既环保又方便,传统的作业上交方式,是由学 生一份份收齐后交到老师办公室的,然后老师再抽出时间一份份翻阅批改,批阅完后做好 相应的记录后让学生分发下去,而电子作业管理系统无论是学生还是老师都只需在电脑前 点点鼠标敲敲键盘,而且在保护环境、提高效率及教学指导方面都比传统的作业管理方式 科学的多。 (2)电子作业管理是一种科学化管理,安全可靠。传统的作业管理方式,每个学生每门 课程都要有一个独立的作业本,这样作业本的数量就很多,容易造成作业本丢失或者造成 作业本的污损,给教学带来很大的不便。然而电子作业管理系统巧妙地解决了这些问题, 管理员只需要做好数据库的保护这些问题便都可以得到解决。 (3)电子作业管理系统可以简化教学工作,促进综合教学水平的发展。电子作业管理系 统的介入运行,可以节省教师大量的时间,教师就有时间去做各种教学科研工作,做出更 多有助于教学的个性化服务,从而提高教学水平,促进老师和学生的共同提高,对学校的 发展也有一定的积极作用。 山东建筑大学毕业设计说明书 - 7 - 2 需求分析 2.1 系统概述 2.1.1 目标 (1)数据共享 推进电子作业管理平台的数据校验和数据共享规范化和制度化建设,对电子作业管理 平台数据查询的精度和效率进行提升。 (2)实现电子作业管理的各种功能 系统主要实现了教师发布作业,批改作业,学生修改个人资料、查看我的作业、未完 成作业、已批改作业等功能模块。 (3)业务流程的规范 实现对电子作业管理业务的全面、规范、科学、系统的管理;提供多种信息渠道,以 最大限度地提高系统的影响,提高工作效率和管理水平,对电子作业管理平台中所涉及到 的不足进行弥补。 (4)实行现代化的管理手段 该系统应具有界面清晰,操作简便的特点。不同系统的用户应该有不同的操作权限, 该系统必须有一个数据库备份和恢复功能,提高了数据的安全性。该系统应该是基于网络 的系统,只需要有一台能够联网的设备就可以实现对网站的管理。 2.1.2 用户定义及权限 (1)该系统的用户用三种:学生、教师和管理员。 (2)用户的权限 学生:查看我的作业、编辑、上传和提交作业、修改个人信息。 教师:发布作业、批改作业、给学生评定作业的等级。 管理员:在系统中管理各种用户,管理作业的科目。对用户和科目进行增删改查。 山东建筑大学毕业设计说明书 - 8 - 2.2 系统环境 2.2.1 系统开发环境 (1)tomcat6.0 服务器。Tomcat 是 Apache 的一个免费的开放源代码的 Web 应用服务 器, 适用于中小型系统,是运行 JavaEE 开发的系统的首选。 (2)myEclipse8.5。是一个主要用于 Java、 Java EE 以及移动应用的开发企业级开发 集 成环境。 (3)jdk1.6。 jdk 是 java 语言的开发工具包,包含了 java 程序开发所需要的环境、 工具和资源。 (4)SQL Server 2005 数据库。SQL Server 2005 是微软公司最新版的大型数据库服务器, 目前已经在软件行业得到广泛的应用。 2.2.2 系统运行环境 (1) 软件: 1) tomcat6.0 服务器。 2) SQL Server 2005 数据库。 3) jdk1.6。 (2) 硬件: CPU:酷睿双核 CPU 内存:2G 以上 操作系统:windows 7 2.3 功能需求 2.3.1 功能需求分析 软件的需求分析是软件开发前的第一个阶段,也是关系到软件开发成败的关键步骤, 在整个软件开发的过程中,可以说这个阶段所要占用的时间是相当大的。如果需求分析做 好了,那么在以后的软件设计过程中,可以省去不少的时间。该模块不是确定系统怎样的 完成它的工作,而仅仅是确定系统必须完成哪些工作,也是对目标系统提出完整、正确、 清晰、具体的要求。该系统主要包括管理员、教师和学生三个角色。 山东建筑大学毕业设计说明书 - 9 - 管理员:主要实现了管理用户和科目的功能模块。管理员可以增加、修改和删除不同 角色的用户。同时对各个科目进行增删改查。 教师:主要实现了发布作业、批改作业等功能模块。对于学生提交的作业进行批改, 并给出批改结果和成绩。 学生:主要实现了修改资料、我的作业、未完成作业、已批改作业等功能模块。在修 改资料模块可以修改当前用户的姓名、密码、性别、联系电话、邮箱等基本信息。 2.3.1 业务流程图 电子作业管理系统的操作流程如图 2-1 所示,不同的用户登陆后执行不同的功能,教 师登陆后主要是发布作业和批改作业,学生登录后可以查看我的作业,已批改的作业和未 完成的作业,对于未完成的作业可以编辑完成后提交给老师批改。 图 2-1 电子作业管理系统操作流程图 山东建筑大学毕业设计说明书 - 10 - 3 概要设计 3.1 功能概要设计 系统开发采用 B/S 结构模式。系统的分析设计采用面向对象的技术,应用 Visio 等工 具进行辅助设计。功能概要设计主要从总体架构设计、系统用例图和目标业务时序图三个 方面进行描述。 3.1.1 总体架构设计 系统架构的整体设计是一个将一个庞大的任务细分为多个小的任务的过程,这些小的 任务分段完成后,组合在一起形成一个完整的任务。它具体的工作步骤是: 1)系统被分解多个子模块 2)对各个子模块的功能进行预先的设计 3)对各个子模块之间的逻辑关系进行设计 4)对各个模块的界面以及模块间信息的传输进行设计 在整个设计过程中,以确定可能的具体方案达成每一个小的最终目标,对于每一个小 的目标而言,我们必须先了解一些相关的需求分析的信息。然后对系统进行初步的设计, 并对其逐渐进行优化,设计出一个具体可实现的系统框架。如图 3-1 所示为系统的框架图。 山东建筑大学毕业设计说明书 - 11 - 图 3-1 系统框架图 由图 3-1 所示进行分析,系统主要包括管理员教师和学生三个角色,管理员主要管 理科目和用户,教师主要实现了发布作业、批改作业等功能模块,学生主要实现了修改资 料、我的作业、未完成作业、已批改作业等功能模块。 本系统采用先进的 B/S 架构,该架构具有开发简、单共享性强、维护简单方便等诸多 优点。本系统的网络拓扑图如图 3-2 所示: 应用服务器 文件服务器 web服务器 中心交换机防火墙宽带网络 山东建筑大学毕业设计说明书 - 12 - 图 3-2 系统的网络拓扑图 3.1.2 系统用例图 系统涉及到的用户类型包括: 管理员、教师、学生三大类。每个用户对应的用例图 如下所示: 图 3-3 管理员用例图 图 3-3 为系统管理员用例图,管理员的主要职责是管理该系统中的各种用户,管理系 统中作业的科目。 山东建筑大学毕业设计说明书 - 13 - 图 3-4 教师用例图 图 3-4 为教师用例图,教师的主要职责是发布各科目的作业,待学生提交作业后对作 业进行批改并给出成绩。 图 3-5 学生用例图 图 3-5 为学生用例图,学生的主要是来查看老师发布得出各科目的作业,自己的全部 作业,还未完成的作业还有老师已经批改的作业,根据各个不同的模块使得学生可以清晰 的掌握自己作业的各种状态。 山东建筑大学毕业设计说明书 - 14 - 3.1.3 时序图 图 3-6 管理员管理时序图 图 3-6 为管理员管理时序图,主要是管理员录入用户和科目的过程。管理人员首先登 录系统, 定义各种用户、各类科目,保存到数据库后,最后退出系统。 山东建筑大学毕业设计说明书 - 15 - 图 3-7 教师时序图 图 3-7 为教师功能时序图,主要是教师登录系统后进行发布作业和批改作业的过程。 教师首先登录系统,进行发布作业,可以新建作业,也可以修改和删除已经发布的作业, 对于学生提交上来的作业进行批改,最后退出系统。 图 3-8 学生时序图 图 3-8 为学生功能时序图,主要是学生登录系统后可以修改个人基本信息,查看自己 山东建筑大学毕业设计说明书 - 16 - 目前的作业状态,对于未完成的作业进行编辑提交作业,也可以查看老师已经批改过的作 业。最后退出系统。 3.2 数据库设计 3.2.1 概念结构设计 数据库概念模型即系统的实体关系模型。电子作业管理平台的整体 E-R 图如图 3-9 所示。 发布批改 管理 时间 包含 作业 包含 包含 内容 学生 管理 管理 m m m n m n 管理修改资料 图 3-9 电子作业管理平台的整体 E-R 图 然后根据具体的功能需求,对本系统的 E-R 图进行细化从而得到几种实体-关系模型, 以下为部分实体-关系模型。 (1)管理员用户类实体,如图 3-10 所示。 用户密码 姓名 联系方式 用户名 山东建筑大学毕业设计说明书 - 17 - 图 3-10 用户实体图 (2)学生信息类实体图,如图 3-11 所示。 学生信息 性别 班级 电话 电子邮箱 学号 姓名 图 3-11 学生信息类实体图 (3)作业信息类实体图,如图 3-12 所示。 作业提交时间 批改时间 操作 文件 图 3-12 作业信息类实体图 3.2.2 逻辑结构设计 本系统主要用到了多张数据表,部分表单如下。 表 3.1 用户信息表 字段名字段含义字段类型长度是否为空列级约束 Id用户编号int Not nullPrimary key name用户名nvarchar 50 Not null password密码nvarchar 50 Not null role角色nvarchar 50 Not null 山东建筑大学毕业设计说明书 - 18 - 表 3.2 科目表 表 3.3 作业信息表 realName姓名nvarchar 50 gender性别nvarchar 50 class班级nvarchar 50 studentNo学号nvarchar 50 Not null tel电话nvarchar 50 email邮箱nvarchar 50 status状态nvarchar 50 Not null 字段名字段含义字段类型长度是否为空列级约束 Id科目编号int Not nullPrimary key name科目名称nvarchar 50 Not null status状态nvarchar 50 Not null 字段名字段含义字段类 型 长 度 是否为空列级约束 Id作业编号int Not nullPrimary key subject科目名称nvarchar 50 Not nullForeign key type作业类型nvarchar 50 Not null name作业名称nvarchar 50 Not null content作业内容nvarchar Max Not null file作业题目文件nvarchar 255 optionA答案 Anvarchar 50 Not null optionB答案 Bnvarchar 50 Not null optionC答案 Cnvarchar 50 Not null optionD答案 Dnvarchar 50 Not null deadline截止期限DatetimeNot null answer答案nvarchar Max Not null 山东建筑大学毕业设计说明书 - 19 - 表 3.4 学生-作业表 answerFile答案文件nvarchar 255 status作业状态nvarchar 50 Not null showAnswer是否显示答案nvarchar 50 Not null 字段名字段含义字段类 型 长 度 是否为空列级约束 Id作业编号int Not nullPrimary key subject科目名称nvarchar 50 Not nullForeign key homework作业名称intNot nullForeign key file作业题目文件nvarchar 255 answer学生答案nvarchar 50 Not null file答案文件nvarchar 255 submitTime提交时间DatetimeNot null score成绩IntNot null reviewTime批改时间DatetimeNot null status作业状态nvarchar 50 Not null 山东建筑大学毕业设计说明书 - 20 - 4 详细设计及程序的实现 4.1 关键模块设计与实现 本节主要介绍系统中的几个关键性的功能模块的设计及实现,这几个模块在系统部署 和使用中起到了较为关键性的作用,决定了系统的部署和使用方式。而且这些关键性模块 在设计和实现上面具有一定的难度。 4.1.1 动态数据库配置 服务器端程序采用 JDBC 来访问数据库:以下是 JDBC 连接数据库的配置文件,该配置 是针对 JDBC 的连接数据库的配置。数据库连接实现代码: public class DbConfig public static final String DriverName = “com.microsoft.sqlserver.jdbc.SQLServerDriver“; public static final String ConnString = “jdbc:sqlserver:/localhost:1433;DatabaseName=DB;User=sa;Password=sa“; static try Class.forName(DbConfig.DriverName); catch (Exception e) e.printStackTrace(); private static Connection conn = null; public static Connection getCon() try return conn = DriverManager.getConnection(ConnString); catch (SQLException e) e.printStackTrace(); System.out.println(“数据库连接失败“); return null; public static void close(Connection con, Statement state, ResultSet re) try if(con!=null)con.close(); catch (Exception e) e.printStackTrace(); finally 山东建筑大学毕业设计说明书 - 21 - try if(state!=null)state.close(); catch (Exception e) e.printStackTrace(); finally try if(re!=null)re.close(); catch (Exception e) e.printStackTrace(); finally 4.2 系统总体功能结构 图 4-1 系统总体结构图 图 4-1 反映的是本系统的总体结构图,根据不同的角色,将本系统所涉及的所有功能 分为个人管理员、教师、学生三个模块,每个模块之间功能上相互独立,数据操作上相互 联系,共同构成了电子作业管理系统。下面的内容将对以上三个功能模块的功能项目进行 更为详细的描述。 山东建筑大学毕业设计说明书 - 22 - 图 4-2 管理员功能结构图 图 4-2 反映的是管理员功能的结构图,管理员的功能主要是来管理系统的各个用户 和作业的科目,实现对用户和作业科目的增删改查。各个不同的角色各司其职,快捷高效 的管理维护和使用该系统。 图 4-3 教师功能结构图 图 4-3 反映的是教师功能的结构图,教师其实也是该系统的管理员角色,教师的功 能主要是来管理学生的作业,教师可以在系统里发布作业,并对发布的作业进行修改和删 除,教师发布作业后,学生登陆后就会看到作业。对于学生提交的作业,教师可以进行批 改并给出作业分数以及批改评语。教师批改作业后,作业状态会变为已批改,学生会及时 清晰的知道自己作业的状态。 山东建筑大学毕业设计说明书 - 23 - 图 4-4 学生功能结构图 图 4-4 反映的是学生功能的结构图,学生登录后,可以修改个人的基本信息,在我 的作业中可以查看自己的全部作业以及各个作业的状态。在未完成作业下查看需要自己完 成的作业,查看编辑完成作业并提交。在已批改作业下查看老师已经批改完的作业,查看 老师给出的分数和评语以便及时了解自己作业的情况。通过不同的模块来管理自己的作业, 使学生清晰的了解自己作业的各个状态,有利于提高学习效率。 4.3 功能模块的设计与实现 4.3.1 公共模块 (1)登录功能 用户在登陆的时候需要输入用户名和密码,登陆的界面是 Login.jsp。当用户点击 “登陆”按钮后,首先将表单传送给 servlet 里的 login.java,调用 UaerDao.java 在数 据库查询出数据进行本地验证,如果用户名或密码为空,则阻止用户登陆,给出相应的提 示。如果用户名或密码不对,则给出相应的提示,登陆失败。否则,则根据用户名的不同, 跳转到相应的页面。登陆页面如图 4-5 所示: 山东建筑大学毕业设计说明书 - 24 - 图 4-5 登录页面 4.3.2 管理员模块 (1)用户管理 以管理员身份登陆后可以管理用户和科目,进入用户管理界面后,先查询出已经存在 的用户,如图 4-6 所示: 图 4-6 用户管理列表 点击新建,进入新建用户界面,在此页面进行用户信息的录入。如图 4-7 所示: 山东建筑大学毕业设计说明书 - 25 - 图 4-7 添加用户 在图 4-6 所示的列表的操作中,点击修改,打开修改页面,此页面先加载出所要修改 的信息,进行编辑修改。如图 4-8 所示: 图 4-8 修改用户信息 点击删除,即删除该用户,删除后提示删除成功并刷新查询列表。如图 4-9 所示: 图 4-9 删除用户 (2)进入科目管理后,首先查询出已经存在的科目名称。如图 4-10 所示: 山东建筑大学毕业设计说明书 - 26 - 图 4-10 科目列表 点击修改,编辑修改科目,如图 4-11 所示: 图 4-11 修改科目 4.3.3 教师模块 教师登陆后,可以进行发布作业和批改作业。 (1)点击发布作业后,先查询出已经发布的作业列表,如图 4-12 所示: 图 4-12 作业列表 点击新建来发布新的作业,科目通过前期添加的科目由下拉框选择,作业类型有选择 题和主观题两种,发布的作业可以是老师亲自录入的,也可以是上传一个文件,答案也可 以是上传的文件,答案可以控制是否显示给学生。如图 4-13 所示: 山东建筑大学毕业设计说明书 - 27 - 图 4-13 新建作业 在某一作业上点击修改,进行作业的修改,如图 4-14 所示: 图 4-14 作业修改 进入批改作业模块,显示作业的题目和学生的答案,学生的答案可以是直接写的也可 以是答案文件,若是答案文件,老师可以通过下载来查看学生的答案,查看完成后,老师 给出成绩和评语,老师的批改结果会反馈到学生那里。如图 4-15 所示: 山东建筑大学毕业设计说明书 - 28 - 图 4-15 批改作业 4.3.4 学生模块 (1)修改个人资料 学生登录后,在左侧导航栏点击修改资料进入修改资料页面 EditInfo.jsp,已进入 该页面首先加载当前学生的信息,在该页面中编辑要修改的信息,点击保存完成修改。如 图 4-16 所示: 图 4-16 修改信息 (2)进入我的作业模块,可以查看自己的各个状态的作业,点击操作中的查看可以查看 详细信息。如图 4-17 所示: 山东建筑大学毕业设计说明书 - 29 - 图 4-17 我的作业 (3)点击进入未完成作业模块,显示的是自己未完成的作业,点击查看进入该作业的详 细页面,进行编辑完成该作业,提交给老师。如图 4-18 和 4-19 所示 图 4-18 未完成作业列表 查看未完成的作业 图 4-19 作业详情 (4)进入已批改作业模块,显示已经批改过的作业列表,如图 4-20 所示: 山东建筑大学毕业设计说明书 - 30 - 图 4-20 已批改作业列表 点击查看,查看批改后的作业详情,该页面显示作业题目和老师给出的成绩和评语。 如图 4-21 所示: 图 4-21 已批改作业详情 无论是学生上传附件还是老师上传答案附件,都是同样的实现方法。如图 4-22 所示: 图 4-22 文件上传 实现文件上传的代码如下: public class UploadHelper 山东建筑大学毕业设计说明书 - 31 - public static HashMap process( ServletContext servletContext, HttpServletRequest request, ArrayList fileKeys) throws Exception Class.forName(DbConfig.DriverName); Connection conn = DriverManager.getConnection(DbConfig.ConnString); Statement stmt = conn.createStatement(); ResultSet rs; String sql; Integer userId = (Integer) request.getSession().getAttribute(“UserId“); String path = request.getContextPath(); HashMap map = new HashMap(); String pic = null; try if (ServletFileUpload.isMultipartContent(request) / DiskFileItemFactory是创建FileItem对象的工厂 DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setRepository(new File(request.getRealPath(“/“) + “files“); ServletFileUpload upload = new ServletFileUpload(factory); List items = upload.parseRequest(request); Iterator fileItr = items.iterator(); while (fileItr.hasNext() FileItem fileItem = null; String filepath = null; long size = 0; fileItem = (FileItem) fileItr.next(); if (fileItem = null | fileItem.isFormField() map.put(fileItem.getFieldName(), fileIte
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论