版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 . . . 毕毕业业设设计计说说明明书书实验教学管理系统设计与实现实验教学管理系统设计与实现 . . . 实验教学管理系统设计与实现实验教学管理系统设计与实现摘 要:随着科学技术的高速发展,计算机科学日益成熟,发展迅速,其强大的功能已为人们深刻认识,它已进入了人类社会的各个领域并发挥着越来越重要的作用。使用计算机对学生档案的信息进行管理,学生成绩,选课管理等等,这种管理具有手工管理无法比拟的优点。学生管理系统对于学校的决策者和管理者说都至关重要,是一个教育单位不可缺少的管理工具,能够为用户提供充足的信息和快捷的查询手段。本实验教学管理系统是基于 java web 技术的系统。包括了教师管理模
2、块,班级管理模块,科目管理模块,学生管理模块。在这些模块中,除了基本的删除、添加、查询外,还加了更加详细的查询容。系统按照需求分析、设计、编程、测试等阶段进行,其中设计又包括整体设计、系统设计(把整体架构变成一块块系统)、详细设计几个环节。在对数据处理和实体分析的基础上,得出 E-R 图,进而完成系统数据库表的设计。详细设计之后整个项目就变成了一块块模块,然后进入编程阶段。本系统采用 MVC 模式,采用 Dreamweaver 和 MyEclipse 开发工具,以 Struts2、Spring、Ibatis(SSI)为框架、以 MySQl 为数据库,具有查询方便、可靠性高、存储量大等优点。关键
3、词:实验教学管理系统;JSP;SSI;MySQL . . . DesignDesign ofof ExperimentExperiment ManagementManagement SystemSystemAbstractAbstract : : With the rapid development of science and technology, computer science has become more sophisticated, the rapid development of its powerful functions for the people deeply unde
4、rstand that it has entered the human society in various fields and is playing an increasingly important role. Students use the computer files of information management, student achievement, course selection, management, etc., this management can not be compared with the advantages of manual manageme
5、nt. Experiment management system for schools that are essential to policy makers and managers is the lack of an education unit of management tools to provide users with adequate information and fast search tool. In this study, teaching management system is based on java web technology systems. Manag
6、ement module, including teachers, classroom management module, course management module, student management module. In these modules, in addition to the basic delete, add, query, also added a more detailed query. System in accordance with the requirements analysis, design, programming, testing phase
7、s, including design and also includes the overall design, system design (the overall structure into a block system), several aspects of the detailed design. Entities in the data processing and analysis, based on the draw ER diagram, and then complete the system design of the database table. After th
8、e detailed design of the whole project becomes a block module, and then enter the programming phase. This system uses the MVC pattern, using Dreamweaver and MyEclipse developer tools to Struts2, Spring, Ibatis (SSI) as a framework, MySQl for the database, with queries convenient, high reliability, l
9、arge memory capacity and so on.KeyKey words:words:ExperimentManagementSystem;JSP;SSI;MySQL . . . 目目 录录1 概述 11.1 系统开发的背景 11.2 系统开发的意义 12 系统开发的技术与工具 22.1 JSP 技术 22.2 JAVASCRIPT.22.3 STRUTS2.0.32.4 MYECLIPSE.32.5 DREAMWEAVER.42.6 MYSQL.43 系统可行性研究 53.1 技术可行性 53.2 经济可行性 53.3 操作可行性 54 系统需求分析 54.1 性能需求分析 5
10、4.2 数据分析 64.3 实体 E-R 图 64.4 数据库设计 115 总体设计 135.1 总体设计原则 135.2 体系结构 135.2 总体功能 146 系统详细设计 166.1 系统登陆模块设计 166.2 教师管理模块设计 196.3 班级管理模块设计 216.4 科目管理模块设计 226.5 课表管理模块设计 246.6 学生管理模块设计 25 . . . 5 / 617 结束语 28参考文献 29致 30附录 31附录 1 源程序清单 31附录 1.1 系统框架源程序 31附录 1.2 教师管理模块源程序 35附录 1.3 班级管理模块源程序 37附录 1.4 科目管理模块源
11、程序 38附录 1.5 课表管理模块源程序 41附录 1.6 学生管理模块源程序 43 . . . 1 / 61实验教学管理系统设计与实现实验教学管理系统设计与实现1 概 述1.1 系统开发的背景Internet 的迅速发展与校园网的建成,加快了高校教学网络化的进程。从实验教学管理系统的发展来看,管理的规和灵活对实验教学管理的发展起着越来越重要的作用,业务上要求有一个成熟的管理系统。目前大多数学校所使用的实验教学管理系统功能不完善、不符合实验教学的实际需求,不能支持开放实验的开设和管理。就连一般的教学实验的安排、实验室使用情况的查询等过程也十分烦琐,不易操作。随着招生规模的扩大,学生人数的增多
12、,使得实验教学信息数据量日益庞大,传统的实验教学管理系统不能完全适应教学的需求,影响了教学活动的正常开展。实验教学是高等院校教学过程中的一个重要环节,它在培养学生综合素质和创新能力方面的作用,是其他任何教学形式都无法替代的。实验教学改革是高等院校教育改革的一部分,是高等院校深化教育改革、全面推行素质教育的有效途径。我国高等院校承担着培养新一代建设创新型人才的重要任务。覆盖了全校的校园网络为建立基于 Web 的管理信息系统提供了良好的基础。而各部门计算机的普与,使用计算机的人员越来越多,这就为管理系统的运行和维护提供了人员保障。1.2 系统开发的意义整个社会信息变革的同时,学校也面临信息化管理的
13、挑战。作为教学管理的一个重要环节,实验教学管理要负责教学、教研、考核、管理等多项任务,工作复杂、繁琐,模式固定,信息交换频繁。因此,针对某些学科专业的基础实验课程,非常有必要建立一个基于 Web 的实验教学管理系统。另外,管理系统的建立也有利于各级领导与时、全面地了解实验教学情况。在校园任何一台联网计算机上,学生可以进行实验项目的相关查询,教师也可以方便地登录学生实验的成绩;有合理的成绩评定方式,能充分发挥奖勤罚惰的作用;有相应的安全保障,避免实验成绩不被篡改;具有很强的统计与报表输出功能;能够建立起有效的师生交流渠道。管理人员可以科学的进行排课,教师和学生可以与时获得排课信息,从而使学校的整
14、个实验教学工作能够顺利高效的进行,使教育资源得到充分的利用。该系统可以使高校参与实验教学工作的人员减轻大部分文案工作,从而更加有利于服务学生,对高校的教学管理具有积极的促进作用。进入 21 世纪,随着科学技术的不断发展,对人才的综合素质与创新能力有了更高的要求,搞好实验教学的改革与管理对于培养学生综合素质有着十分重要的意义。 . . . 2 系统开发的技术与工具2.1 JSP 技术JSP(Java Server Pages)是由 Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP 技术有点类似 ASP 技术,它是在传统的网页HTML 文件(*.htm
15、,*.html)中插入 Java 程序段(Scriptlet)和 JSP 标记(tag),从而形成 JSP 文件(*.jsp)。 用 JSP 开发的 Web 应用是跨平台的,既能在 Linux 下运行,也能在其他操作系统上运行。JSP 技术使用 Java 编程语言编写类 XML 的 tags和 scriptlets,来封装产生动态网页的处理逻辑。网页还能通过 tags 和scriptlets 访问存在于服务端的资源的应用逻辑。JSP 将网页逻辑与网页设计和显示分离,支持可重用的基于组件的设计,使基于 Web 的应用程序的开发变得迅速和容易。JSP 网页具有以下特点:a)一次编写,到处运行。除了
16、系统之外,代码不用做任何更改;b)系统的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行系统部署,在任意环境中扩展;c)强大的可伸缩性。从只有一个小的 Jar 文件就可以运行 Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台 Application 进行事务处理,消息处理,一台服务器到无数台服务器,Java 显示了一个巨大的生命力。d)多样化和功能强大的开发工具支持。这一点与 ASP 很像,Java 已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。 e)支持服务器端组件。web 应用需要强大的服务器端组件来
17、支持,开发人员需要利用其他工具设计实现复杂功能的组件供 web 页面调用,以增强系统性能。JSP可以使用成熟的 JAVA BEANS 组件来实现复杂商务功能。2.2 JavascriptJavascript 是一种解释性的,基于对象的脚本语言(an interpreted, object-based scripting language)。HTML 网页在互动性方面能力较弱,例如下拉菜单,就是用户点击某一菜单项时,自动会出现该菜单项的所有子菜单,用纯 HTML 网页无法实现;又如验证 HTML表单(Form)提交信息的有效性,用户名不能为空,密码不能少于 4 位,邮政编码只能是数字之类,用纯
18、HTML 网页也无法实现。要实现这些功能,就需要用到Javascript。Javascript 是一种脚本语言,比 HTML 要复杂。不过即便你先前不懂编程,也不用担心,因为 Javascript 写的程序都是以源代码的形式出现的,也就是说你在一个网页里看到一段比较好的 Javascript 代码,恰好你也用得上,就可以直接拷贝,然后放到你的网页中去。正因为可以借鉴、参考优秀网页的代码,所以让Javascript 本身也变得非常受欢迎,从而被广泛应用。原来不懂编程的人,多参考 Javascript 示例代码,也能很快上手。 . . . 3 / 61Javascript 主要是基于客户端运行的,
19、用户点击带有 Javascript 的网页,网页里的 Javascript 就传到浏览器,由浏览器对此作处理。前面提到的下拉菜单、验证表单有效性等大量互动性功能,都是在客户端完成的,不需要和 Web Server发生任何数据交换, 因此,不会增加 Web Server 的负担。几乎所有浏览器都支持 Javascript,如 Internet Explorer(IE),Firefox, Netscape, Mozilla,Opera 等。2.3 Struts2.0Struts2.0 是 Struts 的下一代产品。是在 struts 和 WebWork 的技术基础上进行了合并,全新的 Strut
20、s 2 框架。其全新的 Struts 2 的体系结构与 Struts 1的体系结构的差别巨大。Struts 2 以 WebWork 为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与 Servlet API 完全脱离开,所以 Struts 2 可以理解为 WebWork 的更新产品。因为 Struts 2 和 Struts 1 有着太大的变化,但是相对于 WebWork,Struts 2 只有很小的变化。从某种程度上看,Struts2 是从 WebWork2 上升级得到的。甚至 Apache 的官方文档也讲:WebWork2到 Struts2 是平滑的过渡。我 们甚
21、至也可以说 Struts2 就是 WebWork2.3 而已。在很多方面 Struts 仅仅是改变了 WebWork 下的名称。Struts2 对应的有自己的 标签,并且功能强大。Webwork 也有自己的标签。Struts2 的体系与 Struts1 体系的差别非常大,因为 Struts2 使用了 WebWork的设计核心,而不是 Struts1 的设计核心。 Struts2 量使用拦截器来处理用户的请求,从而允许用户的业务逻辑控制器与 Servlet API 分离。Struts2 框架的大概处理流程如下: a)加载类(FilterDispatcher) b)读取配置(struts 配置文件
22、中的 Action) c)派发请求(客户端发送请求) d)调用 Action(FilterDispatcher 从 struts 配置文件中读取与之相对应的Action 。e)启用拦截器(WebWork 拦截器链自动对请求应用通用功能,如验证) f)处理业务(回调 Action 的 execute()方法) g)返回响应(通过 execute 方法将信息返回到 FilterDispatcher) h)查找响应(FilterDispatcher 根据配置查找响应的是什么信息如:SUCCESS、ERROER,将跳转到哪个 jsp 页面) i)响应用户(jsp-客户浏览器端显示)2.4 MyEcli
23、pseMyEclipse 企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对 Eclipse IDE 的扩展,利用它我们可以在数据库和 JavaEE 的开发、发布,以与应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的 JavaEE 集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持 . . . HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate。在结构上,MyEclipse 的特征可以被分为 7 类:JavaEE 模型,WEB 开发工具,E 开发工具,应用程序服务器
24、的连接器,JavaEE 项目部署服务,数据库服务,MyEclipse 整合帮助。对于以上每一种功能上的类别,在 Eclipse 中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse 结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。简单而言,MyEclipse 是 Eclipse 的插件,也是一款功能强大的 JavaEE 集成开发环境,支持代码编写、配置、测试以与除错,MyEclipse6.0 以前版本需先安装Eclipse。MyEclipse6.0 以后版本安装时不需安装 Eclipse。MyEclipse 生成 WAR 包并在 Tom
25、cat 下部署发布。首先是使用 MyEclipse 将 web项目打包,右键选中项目,选择 export;弹出 Export 的 select 窗体,选择 Java EE 的 WAR file(myeclipse)选项,然后选择工程名称和路径,单击完成就可以了。打包完成以后我们将 war 放到 tomcat 的 webapps 目录下,并设置 server.xml 文件;然后运行 tomcat,并输入项目的 url 就可以浏览了。2.5 DreamweaverMacromedia Dreamweaver 8 是建立 Web 站点和应用程序的专业工具。它将可视布局工具、应用程序开发功能和代码编辑
26、支持组合在一起,其功能强大,使得各个层次的开发人员和设计人员都能够快速创建界面吸引人的基于标准的和应用程序。从对基于 CSS 的设计的领先支持到手工编码功能,Dreamweaver 提供了专业人员在一个集成、高效的环境中所需的工具。开发人员可以使用 Dreamweaver 与所选择的服务器技术来创建功能强大的 Internet 应用程序,从而使用户能连接到数据库、Web 服务和旧式系统。2.6 MySQLMySQL 是一个小型关系型数据库管理系统,开发者为瑞典 MySQL AB 公司。在2008 年 1 月 16 号被 Sun 公司收购。而 2009 年,SUN 又被 Oracle 收购.对于
27、 Mysql的前途,没有任何人抱乐观的态度.目前 MySQL 被广泛地应用在 Internet 上的中小型中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型为了降低网 站总体拥有成本而选择了 MySQL 作为数据库。MySQL 特性:a)使用 C 和 C+编写,并使用了多种编译器进行测试,保证源代码的可移植性。b)支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows 等多种操作系统。c)为多种编程语言提供了 API。这些编程语言包括C、C+、Python、J
28、ava、Perl、PHP、Eiffel、Ruby 和 Tcl 等。 d)支持多线程,充分利用 CPU 资源。e)优化的 SQL 查询算法,有效地提高查询速度。 . . . 5 / 61f)既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的 GB 2312、BIG5,日文的 Shift_JIS 等都可以用作数据表名和数据列名。g)提供 TCP/IP、ODBC 和 JDBC 等多种数据库连接途径。h)提供用于管理、检查、优化数据库操作的管理工具。i)可以处理拥有上千万条记录的大型数据库3 系统可行性研究可行性分析(Fea
29、sibility Analysis)也称为可行性研究,是在系统调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会的方面进行分析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就是用最小的代价在尽可能短的时间确定问题是否能够解决。为了确定开发具有可行性,对本系统主要进行了以下四个方面的分析。3.1 技术可行性技术上的可行性分析主要是分析技术条件能否顺利完成开发工作,硬、软件能否满足开发者的需要等。在软件方面,本系统采用的是 JSP(Java Sever Pages)进行开发,而数据库系统采用的是 MySQL。通过分析,在软、硬件方面现有工具与环境
30、完全可以实现系统的开发,因此具有技术上的可行性。3.2 经济可行性经济可行性主要是对项目的经济效益进行评价。本系统对系统开发者来说并不需要太高的成本支出,只是对系统的管理者付出管理报酬即可,而且开发周期不需要太长,节省了人力、物力、财力资源,所以本系统在经济上是可行的。3.3 操作可行性主要是管理人员是否支持,现有的管理制度和方法是否科学,规章制度是否齐全,原始数据是否正确等。系统的开发主要就是为了方便实验教学的管理,补充现在传统管理方式的不足,因此具备了管理上的可行性。4 系统需求分析根据系统功能模块,可以设计出能满足用户需求的各种实体,以与它们之间的关系,为后面的逻辑结构设计打下基础。这些
31、实体包含各种具体信息,通过相互之间的联接形成数据的流动。从需求可得出此系统有如下实体:管理员实体、班级实体、课程实体、课表实体、院系实体、年级实体、学生实验成绩实体、学生实体、教师实体等 9 个实体。每个实体都具有相应的属性信息,在给实体选择信息时,本项目的实体信息包含了所有的必要信息,对于一些不需要的实体属性信息,我们没有进行添加,以避免系统在数据方面的复杂性,提高系统的效率和实用性。 . . . 4.1 性能需求分析4.1.14.1.1 系统界面需求系统界面需求a)整个系统的界面必须友好,让用户有种赏心悦目的感觉。b)建立完善的实验教学管理过程中需要的数据库。c)安全性要求,通过数据加密和
32、口令密码,保证用户数据不受侵害。d)操作要求:懂得基本操作即可。4.1.24.1.2 系统功能模块需求系统功能模块需求实验教学管理系统的主要任务是实现对高校实验教学环节进行网络化管理。为了使本系统具有更广泛的适用性,系统中设计了教师管理、班级管理、科目管理等模块,要求如下:a)实现用户管理、用户注册与资料修改等功能。b)实现排课管理、生成课表与课表的管理和查询。c)实现学生信息管理、成绩管理、每次实验成绩和期末成绩管理。d)实现实验活动管理、记录该班学生的出勤和实验台使用记录等功能。e)发布课表信息,并对课表信息进行管理。f)对系统用户进行管理。g)为了加强数据性,为每个用户设置权限级别。h)
33、系统最大限度地实现易安装性、易维护性和易操作性。4.2 数据分析根据上述需求,设计如下所示的数据项和数据结构管理员信息,含数据项:编号、管理员登录名、管理员密码;班级信息,含数据项:编号、院系号、班级名称、班级人数;课程信息,含数据项:编号、课程名、学分、课程简介;课表信息,含数据项:编号、教师编号、课程名、课程地点、课程时间;院系信息,含数据项:编号、院系名;年级信息,含数据项:编号、院系编号、年级名;学生实验成绩信息,含数据项:编号、学生编号、学生名字、课程名字、教师名字、第一次成绩、第二次成绩、第三次成绩、第四次成绩、第五次成绩、第六次成绩、第七次成绩、第八次成绩、第九次成绩、第十次成绩
34、、期末成绩;学生信息,含数据项:编号、院系编号、班级编号、年级编号、学生、学生登录名、学生密码、性别、生日;教师信息,含数据项:编号、院系编号、教师名字、教师登录名、教师密码、性别;4.3 实体 E-R 图根据管理员信息所分析出的数据项和数据结构信息设计出 E-R 图。管理员实体包含的属性有编号、管理员登录名、管理员密码。管理员实体 E-R 图如图 4-1 . . . 7 / 61所示。管理员实体(admin)管理员密码#编号管理员登录名图 4-1 管理员实体 E-R 图根据班级信息所分析出的数据项和数据结构信息设计出 E-R 图。班级实体包含的属性有编号、院系号、班级名称、班级人数。班级实体
35、 E-R 图如图 4-2 所示。班级实体(class)班级人数#编号班级名称院系号图 4-2 班级实体 E-R 图根据课程信息所分析出的数据项和数据结构信息设计出 E-R 图。课程实体包含的属性有编号、课程名、学分、课程简介。课程实体 E-R 图如图 4-3 所示。 . . . 课程实体(course)课程名#编号课程简介学分图 4-3 课程实体 E-R 图根据课表信息所分析出的数据项和数据结构信息设计出 E-R 图。课表实体包含的属性有编号、教师编号、课程名、课程地点、课程时间。课表实体 E-R 图如图 4-4 所示。课表实体(coursetime)课程地点课程名教师编号#编号课程时间图 4
36、-4 课表实体 E-R 图根据院系信息所分析出的数据项和数据结构信息设计出 E-R 图。院系实体包含的属性有编号、院系名。院系实体 E-R 图如图 4-5 所示。 . . . 9 / 61院系实体(dept)#编号院系名图 4-5 院系实体 E-R 图根据年级信息所分析出的数据项和数据结构信息设计出 E-R 图。年级实体包含的属性有编号、院系编号、年级名。年级实体 E-R 图如图 4-6 所示。年级实体(grade)年级名#编号院系编号图 4-6 年级实体 E-R 图根据学生实验成绩信息所分析出的数据项和数据结构信息设计出 E-R 图。学生实验成绩实体包含的属性有编号、学生编号、学生名字、课程
37、名字、教师名字、第一次成绩到第十次成绩、期末成绩。学生实验成绩实体 E-R 图如图 4-7 所示。学生实验成绩实体(scores)学生编号学生名字课程名字#编号教师名字期末成绩教师名字.第一次成绩第十次成绩省略号代表第二次实验成绩到第九次试验成绩。 . . . 图 4-7 学生实验成绩实体 E-R 图根据学生信息所分析出的数据项和数据结构信息设计出 E-R 图。学生实体包含的属性有编号、院系编号、班级编号、年级编号、学生、学生登录名、学生密码、性别、生日。学生实体 E-R 图如图 4-8 所示。学生实体(student)学生姓名学生登录名学生登录密码#编号生日性别年级编号班级编号院系编号图 4
38、-8 学生实体 E-R 图根据教师信息所分析出的数据项和数据结构信息设计出 E-R 图。教师实体包含的属性有编号、院系编号、教师名字、教师登录名、教师密码、性别。教师实体 E-R 图如图 4-9 所示。教师实体(teacher)教师名字教师登录名教师登录密码#编号院系编号院系编号图 4-9 教师实体 E-R 图 . . . 11 / 614.4 数据库设计在上面设计的 E-R 图的基础上,将数据库的概念结构转化为数据库系统所支持的实际数据模型,也就是逻辑结构,进一步形成数据库中的表以与各个表之间的关系。本系统数据库采用 MySQL 作后台数据库,系统数据库名称为 db_design。数据库 d
39、b_ design 中包含 9 表。其数据表如下:a)t_admin(管理员表)保存管理员的详细信息。该数据表的结构如表 4-1。表 4-1 t_admin字段名数据类型长度主键否描述idint10是自动编号adminNamevarchar100否管理员登录名adminPwdnvarchar100否 管理员密码b)t_class(班级表)用于保存班级信息。用户表结构如表 4-2。表 4-2 t_class字段名数据类型长度主键否描述idint4是自动编号classNamevarchar100否班级名称deptIDint50否院系号numbersint4否班级人数c)t_cource(科目表)用
40、于保存科目的详细信息。该数据表的结构如表 4-3。表 4-3 t_cource字段名数据类型长度主键否描述idint10是自动编号courceNamevarchar100否课程名creditsfloat否学分courceIntrosmalldatetime200否课程简介d)t_courcetime(课表)用于保存课表的信息。该数据表的结构如表 4-4。表 4-4 t_courcetime字段名数据类型长度主键否描述courceIDint10是自动编号courceNamevarchar100否课程名teacherIDint10是教师编号courceTimevarchar100是上课时间cour
41、cePlacevarchar100否上课地点e)t_dept(院系表)用于保存院系信息,个人活动登记表结构如表 4-5。 . . . 表 4-5 t_dept字段名数据类型长度主键否描述idint10是自动编号deptNamevarchar100否院系名称f)t_grade(年级表)用于保存年级的信息。该数据表的结构如表 4-6。表 4-6 t_grade字段名数据类型长度主键否描述idint10是自动编号gradeNamevarchar100否年级名称deptIDint10否院系编号g)t_scores(实验成绩表)用于保存学生实验成绩信息。该表结构如表 4-7。表 4-7 t_scores
42、字段名数据类型长度主键否描述idint10是自动编号studentIDint10否学生编号studentNamevarchar100否学生courceNamevarchar100否课程名字teacherNamevarchar100否教师名字testScore1varchar100否实验成绩 1testScore2varchar100否实验成绩 2testScore3varchar100否实验成绩 3testScore4varchar100否实验成绩 4testScore5varchar100否实验成绩 5testScore6varchar100否实验成绩 6testScore7varchar1
43、00否实验成绩 7testScore8varchar100否实验成绩 8testScore9varchar100否实验成绩 9testScore10varchar100否实验成绩 10semesterscorevarchar100否期末成绩h)t_student(学生表)用于保存学生的相关信息。该数据表的结构如表 4-8。 . . . 13 / 61表 4-8 t_student字段名数据类型长度主键否描述idint10是自动编号classIDint10否班级编号gradeIDint10否年级编号studentNamevarchar100否学生stuPwdvarchar100否学生密码sexv
44、archar100否性别birthdaydate否生日deptIDint10否院系编号studentLoginNamevarchar100否学生登录名t_teacher(教师表)用于保存教师的相关信息。该数据表的结构如表 4-9。表 4-9 t_teacher字段名数据类型长度主键否描述idint10是自动编号teaNamevarchar100否教师名字teaPwdvarchar100否教师密码sexvarchar100否性别deptIDint10否院系编号teaLoginNamevarchar100否教师登录名按照以上 9 表的容,我们在数据库中建表,由于这 9 表是有相互联系的,所建立了主
45、外键约束5 总体设计5.1 总体设计原则系统主要由各个模块组成,模块是由边界元素限定的相邻程序元素的序列,而且有一个总体标识符代表它。模块独立的概念是模块化、抽象、信息隐藏和局部化概念的直接结果,系统应该要注意模块的独立。在系统需求分析的基础上,经过总体设计得出系统的软件结构,确定系统的模块组成,以与模块间的关系。5.2 体系结构基于 B/S 模式的实验教学管理系统采用三层 B/S 体系结构,如图 5-1 所示。第一层是用户界面层,即客户浏览器,它是用户与整个系统的接口。客户的应用程序精简到一个通用的浏览器软件,如微软公司的 IE 等。浏览器将 HTML 代码转化成图文并茂的网页,网页还具备一
46、定的交互功能,允许用户输入信息提交给后台,并提出处理请求。 . . . 第二层是业务逻辑层,实现业务规则,调用 Web 服务器。客户机的后台即是Web 服务器,它将启动相应的进程来响应客户机的请求,利用 JSP 动态生成一串HTML 代码,其中嵌入处理的结果,返回给客户机的浏览器。第三层是数据层,数据层是整个系统的基础,在 MySQL 数据库中建了一个名为 design 的数据库,一共九表。图 5-2 管理员系统功能结构图5.2 总体功能本实验教学管理系统的功能包含管理员模块、教师模块、学生模块。管理员管理整个系统,它可以完成一下功能:a)添加老师查询老师所有信息。b)班级列表的查询。c)科目
47、的添加和查询。d)课表的添加和查询。e)查询学生信息、添加学生、学生实验成绩的查询和添加学生成绩。其结构图如下图所示:浏览器浏览器浏览器学生教师管理员用户界面层:(Web 客户机)InternetServer业务逻辑层:实验教学管理系统主页教师子系统学生子系统管理员子系统Design数据库数据层: . . . 15 / 61管理员功能模块教师管理班级管理科目管理课表管理学生管理添加教师教师列表班级列表科目列表添加科目课表列表添加课表学生信息添加学生成绩列表添加成绩图 5-2 管理员系统功能结构图老师可以完成以下功能:a)查询老师所有信息。b)班级列表的查询。c)科目的查询。d)课表的查询。e)
48、查询学生信息、学生实验成绩的查询和添加学生成绩。其结构图如下图所示:教师功能模块教师管理班级管理科目管理课表管理学生管理教师列表班级列表科目列表课表列表学生信息成绩列表添加成绩 . . . 图 5-3 教师系统功能结构图学生可以完成以下功能:a)查询老师所有信息。b)班级列表的查询。c)科目的查询。d)课表的查询。e)查询学生信息和学生实验成绩。其结构图如下图所示:学生功能模块教师管理班级管理科目管理课表管理学生管理教师列表班级列表科目列表课表列表学生信息成绩列表图 5-4 学生系统功能结构图6 系统详细设计6.1 系统登陆模块设计系统登录模块主要用于验证用户登录系统时输入的用户名、密码、权限
49、是否正确,如果正确,用户进入系统,否则将不能进入此系统,登录页面如图 6-1 所示。 . . . 17 / 61图 6-1 系统登录页面系统登录页面的流程图如图 6-2 所示。图 6-2 系统登陆流程图系统正确登录后的运行结果如图 6-3 所示。输入用户名和密码登录到主页面显示错误信息是否验证用户名和密码是否正确 . . . 图 6-3 系统正确登录后的页面系统的显示框架一共分为三个区域,上部区,左块功能列表区和展示区。结构布局合理,各司其职,使整个页面感觉起来美观大方。 框架 topFrame 是在系统的显示框架的最上面,称之为“上部区” ,只有一个admintop.jsp 与之相对应。ad
50、mintop.jsp 显示“欢迎您进入实验教学管理系统!”表示对使用者欢迎;而且该行字是可以随时间而改变的滚动字幕,给使用者有一种美的视觉感受;随后显示当前时间,可以告知用户当前的时间,非常人性化。框架 leftFrame 是在系统的显示框架的左方,称之为“左块功能列表区” ,只有一个 adminleft.jsp 与之相对应。adminleft.jsp 显示功能列表,可以显示当前用户是什么权限的角色,也可以退出到登陆页面和修改密码的页面。该页面最主要的部分是一个列表,分为一级列表和二级列表,一级列表把功能分为五大模块, . . . 19 / 61二级列表则显示具体功能。根据权限的不同,用户在二
51、级列表中所能操作的功能也不一样。不同权限的 adminleft.jsp 的展现不同,如图 6-4 所示。图 6-4 不同权限的 admintop.jsp 的展现不同权限的用户可以操作自己权限围的功能,保证了系统地安全性。使数据信息能够不受到恶意篡改。框架 mainframe 是在系统的显示框架的中央核心区,称之为“展示区” ,系统的功能操作页面均显示的系统的“展示区” ,刚进入主页时,主框架的显示页面是main.jsp,当点击列表中的相应时,主框架的显示页面 main.jsp 就会变成对应的jsp 页面。还有一个比较常用的 JSP 页面是 success.jsp,每次操作成功之后都会跳转到这个
52、页面,如图 6-5 所示。图 6-5 成功操作以后跳转的页面展示6.2 教师管理模块设计教师管理模块是系统是来管理有关教师方面的容,包括添加教师和获取教师列表信息。6.2.16.2.1 添加教师模块设计添加教师模块设计添加教师模块是只有管理员可以操作的一个模块,管理员可以点击添加模块的 action 来到 addTeacher.jsp,进行添加教师的操作。添加教师模块运行后界面 . . . 如图 6-6 所示。图 6-6 添加教师页面的展示6.2.26.2.2 教师列表模块设计教师列表模块设计教师列表模块是任何权限的用户都能使用的一个功能,用户点击教师列表以后,页面就跳转到 teacherLi
53、st.jsp,在该页面用户就可以进行相关的操作了。包括查看所有的教师和通过教师查找教师的信息。教师列表模块运行后界面如图 6-7 所示。图 6-7 教师列表页面的展示由于考虑到页面展示的数据项会很多,我们做了一个分页功能,这样每次只能展现 10 条数据,当点击下一页时;页面就会显示数据库中的之后 10 条记录,点击上一页时,页面就会显示数据库中的之前 10 条记录;当点击第一页时;页面就会显示数据库中的前 10 条记录,当点击最后一页时;页面就会显示数据库中的最后若干条记录。本系统中的许多 JSP 页面都有分页功能,以后不再赘述。实现代码如下: 第一页 上一页 下一页 最后一页 1/10这些代
54、码是在 JSP 页面中的,负责显示和传值,利用 admin 这个对象调用三个方法,admin.id, admin.adminPwd 和 admin.adminName 把三个数值传给handler 中的 fenyeTeacher 方法。handler 中的 fenyeTeacher 方法进行分页逻辑判断的代码与解释如下:if(admin.getId()=1) if(x=end-10)x=x-10;request.put(a, x+10); /*这是方法中实现下一页的逻辑判断。*/if(admin.getId()=2)if(x-10)0)x=x+10;request.put(a, x-10);
55、/*这是方法中实现上一页的逻辑判断。*/if(admin.getId()=4) for(long i=x;iend;i=i+10) x=x+10; request.put(a, x-10); /*这是方法中实现最后一页的逻辑判断。*/if(admin.getId()=3) request.put(a, 0); /*这是方法中实现第一页的逻辑判断。*/return teacherList;/*判断完之后返回 teacherList。*/用户点击相应的,将值传给 handler 中的分页方法,方法进行完逻辑判断之后再传回给 JSP 页面,这样就实现了分页的功能。分页功能的展示界面如图 6-8所示。
56、图 6-8 教师列表分页功能的展示6.3 班级管理模块设计科目管理模块是系统是来管理有关科目方面的容,包括添加教师和获取教师列 . . . 表信息。6.3.16.3.1 班级列表模块设计班级列表模块设计班级列表模块是任何权限的用户都能使用的一个功能,用户点击班级列表以后,页面就跳转到 selectClass.jsp,班级列表模块运行后界面如图 6-9 所示。图 6-9 班级列表页面的展示6.4 科目管理模块设计科目管理模块是系统用来管理有关科目方面的容,包括添加科目和获取科目列表信息。6.4.16.4.1 添加科目模块设计添加科目模块设计添加科目模块是只有管理员可以操作的一个模块,管理员可以点
57、击添加模块的二级列表来到 addsubject.jsp,进行添加科目的操作,可以把科目名称、学分和课程描述输入表单中。添加科目模块运行后界面如图 6-10 所示。 . . . 23 / 61图 6-10 添加科目模块6.4.26.4.2 科目列表模块设计科目列表模块设计科目列表模块是任何权限的用户都能使用的一个功能,用户点击科目列表以后,页面就跳转到 subjectslist.jsp。在该页面中管理员可以查看所有科目的信息以与进行相关的修改和删除操作了,而教师和学生只能查看所有科目的信息,不能进行修改和删除操作。科目列表模块运行后界面如图 6-11,6-12 所示。图 6-11 科目列表模块(
58、管理员) . . . 图 6-12 科目列表模块(教师和学生)6.5 课表管理模块设计课表管理模块是系统用来管理有关课表方面的容,包括添加课表和获取课表列表信息。6.5.16.5.1 添加课表模块设计添加课表模块设计添加科目模块是只有管理员可以操作的一个模块,管理员可以点击添加课表模块的二级列表来到 addcourceschedule.jsp,进行添加课表的操作,可以把课程名称、教师名以与上课时间、上课地点输入表单中。添加课表模块运行后界面如图 6-13 所示。图 6-13 添加课表页面6.5.26.5.2 课表列表模块设计课表列表模块设计课表列表模块是任何权限的用户都能使用的一个功能,用户点
59、击课表列表以后,页面就跳转到 subjectslist.jsp。在该页面中管理员可以查看课表的信息以与进行相关的修改和删除操作了,而教师和学生只能查看课表的信息,不能进行修改和删除操作。课表列表模块运行后界面如图 6-14,6-15 所示。 . . . 25 / 61图 6-14 科目列表模块(管理员)图 6-15 科目列表模块(教师和学生)6.6 学生管理模块设计学生管理模块是系统用来管理有关学生方面的容,包括查看学生信息、添加学生、查看学生实验成绩列表和添加学生成绩。6.6.16.6.1 学生信息模块设计学生信息模块设计学生信息模块是所有权限的用户都可以操作的一个模块,用户可以通过点击学生
60、信息到 studentinfor.jsp,进行查看学生信息的操作。学生信息模块运行后界面如图 6-16 所示。 . . . 图 6-16 学生信息列表模块6.6.26.6.2 添加学生模块设计添加学生模块设计.添加学生模块是只有管理员可以操作的一个模块,管理员可以点击添加学生模块的二级列表来到 addstudent.jsp,进行添加学生的操作,可以把学生的、性别、登录名、密码、出生日期、班级名、年级名和所在系名输入表单中。添加学生模块运行后界面如图 6-17 所示。图 6-17 添加学生模块6.6.36.6.3 学生实验成绩列表模块设计学生实验成绩列表模块设计学生实验成绩列表模块是所有权限的用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年高考语文复习:诗歌鉴赏之描摹音乐技法总结-实例分析、技法总结、拓展训练
- 物理化学单元课程设计
- 2024年文化产业园宣传品定制采购合同3篇
- 2024年红塔区土地使用权出让合同
- 建材销售技巧课程设计
- 2024年版建筑工地安全生产与文明施工合作合同版B版
- 2024年炼焦煤长期供应协议
- 电商网站课程设计
- 2024年标准进口汽车交易协议细则版B版
- 嘧菌酯项目评价分析报告
- 2024-2025学年七年级语文上册第一学期 期末综合模拟测试卷(人教版)
- 浙江省台金七校2023-2024学年高一下学期4月期中考试英语试题
- 09D101-6 矿物绝缘电缆敷设
- 从零开始学韩语智慧树知到期末考试答案章节答案2024年青岛酒店管理职业技术学院
- 《稻草人》整本书导读课(教学设计)2023-2024学年统编版语文三年级上册
- 园区改造合同范本
- 小学单位换算-体积
- 情绪管理国内外研究现状
- 成人流行性感冒抗病毒治疗专家共识(2022年)解读
- 走进民航智慧树知到期末考试答案2024年
- 叉车自行检查记录表
评论
0/150
提交评论