[工学]成绩管理系统的设计与实现.doc_第1页
[工学]成绩管理系统的设计与实现.doc_第2页
[工学]成绩管理系统的设计与实现.doc_第3页
[工学]成绩管理系统的设计与实现.doc_第4页
[工学]成绩管理系统的设计与实现.doc_第5页
已阅读5页,还剩37页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

20_届本科毕业论文届本科毕业论文 成绩管理系统的设计与实现成绩管理系统的设计与实现 系系 院:院: 学生姓名:学生姓名: 学学 号:号: 专专 业:业: 年年 级:级: 完成日期:完成日期: 指导教师:指导教师: 摘 要 摘 要 在 21 世纪的科技时代,科学技术突飞猛进,计算机不仅应用在科技上,而且在 生活中也得到了广泛的应用。如今,不管是小学、初中、高中,甚至是很多大学生的 学生成绩管理基本上是靠人工进行管理。但随着时间的变化,学校规模的扩大,有关 学生成绩管理工作和所涉及到的数据量越来越大越来越多,大多数学校不得不靠增加 人力,物力,财力来进行学生成绩管理。但是人工管理成绩档案具有效率低、查找麻 烦、可靠性不高、保密性低等因素。因此开发出一个适用于大中专院校以及其它高校 通用的学生成绩管理系统是必要的。 本系统开发的总体任务是实现学生成绩管理的系统化、规范化、自动化、达到提 高学生成绩管理效率的目的,本系统本着实用、通用、开放和安全的原则,后台使用 数据库 MySQL,实现了学生信息管理、课程信息管理、学生成绩管理、成绩查询等 功能。本系统充分利用计算机作为辅助工具,实现学生考试成绩从传统的手工管理到 计算机管理,对提高管理效率和节约大量的人力、物力资源有一定的推动作用。本系 统一切从实际出发,充分考虑了成绩的内部管理、信息交流等方面的复杂需求,实现 成绩的有效管理,真正为学生成绩管理提供一个电子平台。 本系统是一个学生成绩管理系统,它是整个教务管理系统的一个子系统,但它的 作用却相当关键。它的主要用户是学生、教师和管理员。管理员管理系统的基本信息, 学生和教师通过系统完成不同的工作。系统为学生查分,教师的教学管理和学生成绩 的录入提供了方便,更重要的是,系统方便了学校对教务的管理。 本系统基于 Java 语言,利用 MyEclipse 开发平台,采用 MVC 三层架构的模式, 在开发过程中不仅使用到 JSP+Servlet,而且结合了 Struts 和 Hibernate,这是为了使系 统的结构更加清晰,同时也简化开发工作。 关键字关键字:成绩管理;MVC(Model View Controller);Struts;Hibernate Abstract I Abstract In the 21st century technology era, scientific and technical advance by leaps and bounds, computer application in science and technology not only in life, and also widely application. Now, whether elementary school, junior high school, high school, even many university student achievement management essentially by artificially management, but as time changes, the expansion of the school, the students performance management work and the amount of data involved is more and more big more and more, most schools had to rely on human, material and financial resources increase to student performance management. But artificially management with low efficiency, transcript search trouble, reliability is not high, the secrecy lower factors. Therefore developed a is not only apply to colleges and other university general student performance management system is necessary This system development task is to realize the overall student achievement management of the systematic, standardization, automation, improve student performance management efficiency purpose, this system in line with practical, gm, open and security principle, make database development software development production, realizing the students information management, curriculum information management, student performance management, scores query etc. Function. This design method is generalized to other information management system design, make full use of computers as auxiliary tools, realize students test scores from the traditional manual management to computer management, to improve the management efficiency and save yourself a lot of manpower and material has a certain role. This system to proceed from reality in everything, fully considered the internal management, information grades exchanges, to realize the complex requirements of effective management, real results for student performance management provides an electronic platform. This system is a student performance management system, it is the whole educational administration system management system of a subsystem, but its effect is quite key. It is the main support students, teachers and administrators. Administrator management system of basic information, teachers and students complete different work through the system. Abstract II System for teachers for students to check the teaching management, and student achievement typing provides put then, more important is, system of educational administration of the school convenient management. This system based on Java, using MyEclipse development platform. The MVC mode of three layers framework in the development process, not only use to JSP + Servlet, and combines Struts and Hibernate, it is in order to make the system structure clearer also simplifies the development work. Key word: performance management;MVC(Model View Controller); Struts;Hibernate 目 录 I 目 录 1 绪 论 1 1.1 研究目的 .1 1.2 开发背景 .1 1.3 问题描述 .2 1.4 可行性分析 .2 1.5 论文的主要内容 .2 2 开发工具简介 .4 2.1 关于 Java.4 2.2 关于 JavaEE.4 2.3 关于 MVC 模型 .4 2.4 关于 JSP5 2.5 关于 Servlet5 2.6 关于 Struts.6 2.7 关于 Hibernate6 2.8 关于 MyEclipse7 2.9 关于 MySQL7 3 需求分析 .9 3.1 用户需求分析 .9 3.1.1 学生需求描述 .9 3.1.2 教师需求描述 .9 3.1.3 系统管理员需求描述 .9 3.2 功能需求分析 10 4 系统分析 11 4.1 系统功能模块划分 11 4.2 系统流程分析 11 5 数据库设计 13 5.1 数据库概念结构设计 13 5.2 数据库逻辑结构设计 14 目 录 II 5.2.1 数据表 15 5.3 数据库操作 17 6 详细设计 19 6.1 登录模块 19 6.2 管理员模块功能 19 6.3 管理员管理学生模块 20 6.4 管理员管理教师模块 21 6.5 管理员管理课程模块 22 6.6 管理员管理班级模块 23 6.7 学生选课模块 24 6.8 学生查看成绩模块 25 6.9 教师选择学生模块 25 6.10 教师公布成绩模块 .26 6.11 定义 HibernateUtil 26 6.12 数据层代码实现 .26 7 总 结 .27 参 考 文 献 .28 致 谢 29 附录 30 绪 论 1 1 绪 论 1.1 研究目的 在 21 世纪的科技时代,科学技术突飞猛进,计算机不仅应用在科技上,而且在生 活中也得到了广泛的应用。如今,不管是小学、初中、高中、甚至是很多大学的学生 成绩管理基本上是靠人工进行管理,但随着时间的变化,学校规模的扩大,有关学生 成绩管理工作和所涉及到的数据量越来越大越来越多。大多数学校不得不靠增加人力、 物力、财力来进行学生成绩管理。但是人工管理成绩档案具有效率低、查找麻烦、可 靠性不高、保密性低等因素。因此开发出一个适用于大中专院校以及其它高校通用的 学生成绩管理系统是必要的。 1.2 开发背景 科学技术突飞猛进,经济知识和信息产业初见端倪,特别是信息技术和网络技术的 讯速发展和广泛应用,对社会的政治,经济,军事,文化等领域产生越来越深刻的影响。 信息技术不断改变人们的工作,生活学习,交流方式。信息的获取、处理、交流和应用 能力,已经成为人们最重要的能力之一。 我国要在同一个网络平台上参与国际竞争, 同世界接轨,这对我们既是一个机遇,也是一个挑战。为此我们必须全面加强全民的 信息技术教育,以提高我国的整体素质。科学技术的不断发展和提高,计算机科学技术 日渐成熟,其强大的功能人们已有深刻认识,它已进入人类社会的各个领域并发挥着越 来越重要的作用。 在不久的将来知识经济将占世界经济发展的主导地位,国家综合国力和国际竞争 能力越来越取决于教育发展、科学技术和知识创新的水平。教育在经济和社会发展过 程中将呈现出越来越突出的重要作用。学生成绩管理系统是一个教育单位不可缺少的 部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应 该能够为用户提供充足的信息和快捷的查询手段。但是一直以来人们使用传统人工的 方式管理学生成绩,填写各种表格,这种管理方式存在着许多缺点,如:效率低,保密性 差,另外所用其时间长,产生大量的文件和数据,这对于查找,更新和维护都带来了不少 的困难。 本系统开发的总体任务是实现学生成绩管理的系统化、规范化、自动化、达到提 高学生成绩管理效率的目的,本系统本着实用、通用、开放和安全的原则,使用数据 绪 论 1 库开发软件开发制作,实现了学生信息管理、课程信息管理、学生成绩管理、成绩查 询等功能。本系统充分利用计算机作为辅助工具,实现学生考试成绩从传统的手工管 理到计算机管理,对提高管理效率和节约大量的人力、物力资源有一定的推动作用。 本系统一切从实际出发,充分考虑了成绩的内部管理、信息交流等方面的复杂需求, 实现成绩的有效管理,真正为学生成绩管理提供一个电子平台。 1.3 问题描述 本系统的设计目的是要将学生的成绩通过网络进行管理。为学生教师和教务管理 人员提供便利。主要具有以下功能:管理员管理学生、教师和班级信息,学生查看成 绩、修改个人信息,老师录入成绩。不同的用户可以通过系统进行不同的操作,每一 操作都是一个功能的体现。 1.4 可行性分析 (1)技术可行性 本系统是针对学生成绩管理进行设计的,主要为学校教务管理老师和学生对自己 信息的核对确认。本系统用 JavaEE 开发,利用 MyEclipse8.5M1、Web 服务器 Tomcat 6.0 及数据库服务器 MySQLServer5.1 软件开发环境,利用 WINDOWS_XP 作为系统平台. 在系统开发之前,我已经对网页设计的基本知识有所掌握,可以熟练的使用 MySQL 和 Web 服务器 Tomcat,以及基本掌握 Struts 框架和 Hibernate 的使用方法。所以在 技术上是可行的。 (2)经济可行性 本系统开发简单,使用方便,不需要耗费大量的人力物力财力就能很快的开发出 来,对软硬件要求不高,用户操作简单,所以从经济上讲是可行的。 (3)操作可行性 本系统操作简单方便,只要简单看一下本系统的使用说明,无论是否熟练电脑应 用操作,都可以十分方便地操作本系统,所以在操作上也是可行的。 (4)分析结果 从以上的分析可知,学生成绩管理系统的设计与实现无论在技术,经济还是操作 上都是可行的,且开发本系统具有一定的经济价值和实用价值。 1.5 论文的主要内容 绪 论 0 第 1 章:绪论,阐述了系统研究的目的,开发背景,以及对研究问题进行描述。 第 2 章:可行性分析和开发工具简介,从技术、经济、操作等方面进行分析,并 对分析结果进行总结,在本章还主要分析了系统在开发过程中使用的技术及开发工具。 第三章:需求分析,对用户的需求进行分析,包括对学生、教师和系统管理员的 需求进行分析,重点是对系统的功能需求进行分析。 第四章:系统分析,主要对系统功能模块进行详细划分和对系统的流程进行分析。 第五章:数据库设计,对数据库逻辑结构进行设计,对数据库操作以及数据表进 行详细阐述。 第六章:详细设计,本论文的重点,主要描述了系统的各个界面,以及管理员模 块的主要功能,对管理员管理学生、教师、班级等界面进行详细描述。 第七章:总结,对本论文进行总结。 开发工具简介 1 2 开发工具简介 2.1 关于 Java Java,是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 程序设计语言和 Java 平台的总称.Java 是一种简单的,跨平台的,面向对象的,分布式的,解释的, 健壮的安全的,结构的中立的,可移植的,性能很优异的多线程的,动态的语言。当 1995 年 SUN 推出 Java 语言之后,全世界的目光都被这个神奇的语言所吸引。 Java 平台由 Java 虚拟机(Java Virtual Machine)和 Java 应用编程接口 (Application Programming Interface、简称 API)构成。Java 应用编程接口为 Java 应用提供了一个独立于操作系统的标准接口,可分为基本部分和扩展部分。在 硬件或操作系统平台上安装一个 Java 平台之后,Java 应用程序就可运行。现在 Java 平台已经嵌入了几乎所有的操作系统。这样 Java 程序可以只编译一次,就可以在各 种系统中运行1。Java 应用编程接口已经从 1.1x 版发展到 1.2 版。目前常用的 Java 平台基于 Java1.5,最近版本为 Java1.7。 Java 分为三个体系 JavaSE(Java2 Platform Standard Edition,java 平台标准 版),JavaEE(Java 2 Platform,Enterprise Edition,java 平台企业版), JavaME(Java 2 Platform Micro Edition,java 平台微型版)。 本系统主要采用了 JavaEE 体系结构,以及在 JavaEE 的 MVC 模式中表现十分出色 的 Eclipse、Struts、Hibernate 框架。本系统的开发并没有并没有单纯地使用 JSP+Servlet 进行,而是结合了 Struts 和 Hibernate,这是为了使系统的结构更加清 晰的同时也简化了开发工作。 2.2 关于 JavaEE JavaEE 是为了解决“企业应用”方面的问题,是作为官方的一个标准。JavaEE 将工作划分为不同层次,包括如下三层:服务器端业务逻辑层、服务器端表示层、客 户端表示层。JavaEE 的应用部署在 JavaEE 服务器中,JavaEE 服务器支持 Web 组件以 及三层构架,并使用标准的 JavaEEAPI 来处理不同事务2。 2.3 关于 MVC 模型 MVC 模型是一个存在于服务器端表达层的模型。它将应用分开,改变应用之间的 开发工具简介 2 高度耦合。MVC 模型将应用分为三层:模型(Model) 、视图(View) 、控制器 (Control) 。 (1)模型:相当于一个数据库应用,用数据库来存储应用的状态。 (2)视图:相当于一个页面的显示,以某种方式将模型中的应用展现在用户面前。 (3)控制器:在视图中将用户的输入提交给指定的模型。然后在模型中解释用户 的输入,最后将结果返回给视图。 2.4 关于 JSP JavaEE 环境中的 JSP API 是一个服务器端的脚本。 JSP 提供了一个被嵌入 HTML 的 Java 语言片段,达到与服务器交互的目的 15。JSP 的工作流程如图 2-1 所示3。 分析 JSP 生成 JSPServlet 源 编译JSPServlet 装入JSPServlet 生成响应 JSP Servlet JSP 编译器 接受请求 发送响应 图 2-1 JSP 工作原理 2.5 关于 Servlet JSP 最终会被编译成一个 Servlet,而 Servlet 就是一个 Java 类,现在普遍使用 的是 ServletAPI2.3 以上版本,它的作用是在 Web 浏览器和 JavaEE 功能之间搭建一 座桥梁。它接收 Web 请求,并进行处理,然后将请求发送到 Web 服务器,最后将服务 开发工具简介 3 器的响应回送到浏览器7。 Servlet 的工作流程如图 2-2 所示。 装入Servlet 生成响应 JSP 编译器 未装入 Servlet 已装入 Servlet JSP Servlet 接受请求 发送响应 图 2-2 Servlet 的工作流程图 2.6 关于 Struts Struts 的含义是“支柱,支干”,来源于在建筑和旧式飞机中使用的金属支架.它 的目的是为了减少程序开发的时间。项目的创立者认为 JSP、Servlet 的存在虽然可 以帮助用户解决大部分的问题,但是基于他们的编码对项目的开发带来了很多不便, 可重用性也差,提出 Struts 这个框架,是想帮助用户在最短的时间内解决这些问题。 一开始的时候,Struts 仅被作为开发包被发布,经过不断的扩充,现在的 Struts 已经是一个内容相当完整的框架(Framework)了4。 2.7 关于 Hibernate Hibernate 是一种强大高效持久层查询服务器.它对 JDBC 进行了轻量级的封装, 并以面向对象的思维,解决数据库的操纵问题.同时, Hibernate 还是一种非强迫性的 解决方案,能与一些数据库和 Java 服务器进行平稳地集成。 在项目中使用 Hibernate 框架,非常关键的一点就是要了解 Hibernate 的核心接 口,Hibernate 接口位于业务层和久化层。 Hibernate 的核心接口一共有 5 个,分别为:Session、 开发工具简介 4 SessionFactory、Transaction、Query 和 Configuration。这 5 个核心接口在任何开 发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控 制5。 2.8 关于 MyEclipse MyEclipse 企业级工作平台( MyEclipse Enterprise Workbench ,简称 MyEclipse)是对 Eclipse IDE 的扩展,利用它我们可以在数据库和JavaEE 的开 发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的 JavaEE 集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持 HTML, Struts, JSF, CSS, Javascript, SQL, Hibernate11。 在结构上,MyEclipse 的特征可以被分为 7 类: (1) JavaEE 模型 (2) WEB 开发工具 (3) EJB 开发工具 (4) 应用程序服务器的连接器 (5) JavaEE 项目部署服务 (6) 数据库服务 (7) MyEclipse 整合帮助 对于以上每一种功能上的类别,在Eclipse 中都有相应的功能部件,并通过 一系列的插件来实现它们。 MyEclipse 结构上的这种模块化,可以让我们在不影响 其他模块的情况下,对任一模块进行单独的扩展和升级。 简单而言,MyEclipse 是 Eclipse 的插件,也是一款功能强大的 JavaEE 集成 开发环境,支持代码编写、配置、测试以及除错, MyEclipse6.0 以前版本需先安 装 Eclipse。MyEclipse6.0 以后版本安装时不需安装 Eclipse。 2.9 关于 MySQL MySQL 是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB 公司。在 2008 年 1 月 16 号被 Sun 公司收购。而 2009 年,SUN 又被 Oracle 收购.对于 MySQL 的前途,没有任何人抱乐观的态度 .目前 MySQL 被广泛地应用在 Internet 上的中 小型网站中。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点, 许多中小型网站为了降低网站总体拥有成本而选择了MySQL 作为网站数据库 10。 开发工具简介 5 与其他的大型数据库例如 Oracle、DB2、SQL Server 等相比,MySQL 自有它的 不足之处,如规模小、功能有限( MySQL Cluster 的功能和效率都相对比较差) 等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业 来说,MySQL 提供的功能已经绰绰有余,而且由于MySQL 是开放源码软件,因此 可以大大降低总体拥有成本。 需求分析 1 3 需求分析 3.1 用户需求分析 要实现一个网站系统,需求分析非常重要,做好需求分析才能设计出让用户满意 的软件。学生成绩管理系统的设计目的是要将学生成绩通过网络进行管理。为学生、 教师和教务管理人员提供便利、提高效率。本系统的用户共有 3 种类型,分别为学生、 教师及系统管理员,系统的任何用户使用系统时都必须从系统的登录界面进入,方便 对用户进行管理,在系统中,对于一个用户只允许一种身份登录。 3.1.1 学生需求描述 学生登录后主要是选课、查看成绩并维护个人信息。 学生在进行选课操作时,要对学生选课的基本信息进行操作,主要包括:课程号、 课程、系别、班级号、教室号、上课时间和教师。 在进行查看成绩操作时,主要能查看的信息包括该生已选课名称、学分以及该生 总学分。 3.1.2 教师需求描述 教师登录后,要对班级以及课程的列表进行显示,方便教师进行操作。教师的主 要操作是选择学生及录入学习成绩。 教师选择学生操作是对某课程进行选择后,对选择该课程的学生进行查看,确定 是否接受该学生选此课程。学生的信息主要包括学生姓名、所在系、性别、学分、电 话、邮件地址。 教师选择录入学习成绩的操作,首先进入显示班级和课程列表的界面,然后对某 一班级查看对应学生的列表信息界面,选择学生并给学生打分。 3.1.3 系统管理员需求描述 管理员登录后,登录成功或失败都有提示。系统管理员登录后,可以对系统进行 管理,其主要操作是维护学生、教师、课程、班级等信息。管理员主要操作的四个模 块在同一页显示链接,方便管理员进行分类管理,提高效率,不会造成混乱的局面。 管理员应具备以下功能: (1) 管理员进行学生管理:新增学生、更新学生和删除学生。 需求分析 2 (2) 管理员进行教师管理:新增教师、更新教师和删除教师。 (3) 管理员进行课程管理:新增课程、更新课程和删除课程。 (4) 管理员进行班级管理:新增班级、更新班级和删除班级。 3.2 功能需求分析 在本系统中,管理员可以获得学生、教师、课程及班级信息,学生只能获得自己 的基本信息及成绩信息,教师可以获得自己所教授的课程、学生信息及自己的个人信 息。本系统的信息量适中,不会造成信息混乱的情况。 本系统还颇具针对性,因为用户为管理员、教师和学生,在界面的设计上简洁大 方,让用户一目了然。在登录界面的设计上,符合用户的需求,把成绩管理系统的主 要特色都体现出来。在管理上,使程序易操作,方便管理员添加、删除等操作。减少 管理员的工作繁琐度,提高工作效率。 通过前面的分析已经明确系统用户共有如下 3 类: (1)管理员:管理学生、教师、课程和班级信息。 (2)学生:选课、查看成绩、修改个人信息。 (3)教师:选择学生、录入学生成绩。 系统分析 1 4 系统分析 4.1 系统功能模块划分 模块分析是描述系统需求的一个过程,需要将需求分析中的感性描述进行抽象, 提取出要实现的功能,这是整个系统开发的一个关键过程。 根据以上的用户操作需求,将系统划分为如下几大功能,并对模块的划分和功能 进行描述。 (1)管理员功能:管理员的功能主要是登录系统后,对学生、教师、课程、班 级信息进行管理,主要操作有增加、修改、删除。 (2)学生功能:学生的功能主要是登录系统后进行选课,对个人学分、成绩进 行查看,并对个人信息进行修改。 (3)教师功能:教师功能主要是登录系统后,选择自己所要教授的学生,并对 学生的成绩进行录入。 整个系统的模块结构如图 4-1 所示: 图 4-1 系统模块结构图 4.2 系统流程分析 本系统中的中心对象是学生和教师,根据以上的模块划分和功能分析可知,该系 统的流程主要描述的是学生选择课程后,教师根据选课的学生决定选哪些学生,最后 教师给学生成绩。该系统的使用对象是学生、教师和管理员。各用户操作流程如下图 所示: 学生成绩管理系统 学生 管理员 教师 选课 查看成绩 选择学生 公布成绩 学生管理 教师管理 课程管理 班级管理 查看学分 系统分析 2 图 4-2 系统流程图(管理员) 图 4-3 系统流程图(学生) 图 4-4 系统流程图(教师) 查看成绩 学生登录 选课 课程列表查看学分 新增 删除 修改 管理员登录 课程列表教师列表班级列表学生列表 删除 新增 修改 删除 新增 修改 新增 修改 删除 教师登录 所教课程列表: 选择学生 接受 对应学生列表: 选择学生 打分 对应学生列表: 选择学生 所教课程列表: 选择学生 数据库设计 1 5 数据库设计 5.1 数据库概念结构设计 根据本系统功能分析和模块划分,规划出的实体包括用户信息实体、学生信息实体、 班级信息实体、课程信息实体、教师信息实体、学生课程成绩信息实体,E-R 图如下: 图 5-1 实体及属性图(用户) 图 5-2 实体及属性图(学生) 图 5-3 实体及属性图(班级) 图 5-4 实体及属性图(课程) 学生 编号 姓名 籍贯邮箱 专业 性别 电话 课程 编号 课程名 预修课 学分 班级编号 班级 教室号 辅导员编号 用户 密码 用户名 编号 数据库设计 2 图 5-5 实体及属性图(教师) 图 5-6 实体及属性图(学生课程成绩) n m m 1 1 m m n n m n 图 5-7 实体及其联系图 5.2 数据库逻辑结构设计 数据库设计是系统设计中非常重要的一个环节。数据是一切系统设计的基础,如 果设计不合理、不完善,将在系统开发过程中,甚至到后期的维护、功能变更和扩充 时,引起较多问题,严重时甚至要重新设计,重做大量已完成的工作。 根据功能模块划分的结果可知,本系统的用户分 3 类:管理员、学生、教师。由 教师 姓名职称编号 学生课程成绩 课程编号 成绩 学生编号 班级 教师管理 学生 管理员 课程 讲授 选修 拥有 数据库设计 3 于管理员、学生和教师的权限和操作功能大不相同,因此在本系统中需要分别进行数 据记录。首先,需要如下几个数据实体: (1)用户数据实体:登记学生用户和教师用户的用户名和密码。 (2)学生数据实体:包括学生号、学生姓名、性别、学生所在专业、籍贯、联 系电话、电子邮件。 (3)教师数据实体:包括教师号、姓名、职称。 除了以上 3 个系统用户实体外,学生成绩管理系统还要对学生课程和班级进行管 理,这就又需要如下的两个数据实体: (4)课程数据实体:包括课程的课程号、课程名、学分。 (5)班级数据实体:包括班级号、辅导员编号、教室号。 以上的 5 个实体是基本的数据实体,作为学生成绩管理系统,还要记录学生选课 和学分情况,因此又要有如下的实体: (6)学生成绩数据实体:包括学生号、所上课班级和所给学分。 5.2.1 数据表 这 6 张数据表的字段说明如下所示。 表 5-1 用户表(user) 字段含义类型 Id 编号Int Name 用户名Varchar Password 密码Varchar 表 5-2 学生信息表(student) 字段含义类型 Id学生编号Varchar Name姓名Varchar Jiguan籍贯Varchar Department所在专业Varchar Sex性别Varchar Tel联系电话Varchar email电子邮箱Varchar 表 5-3 班级信息表(classes) 数据库设计 4 字段含义类型 Id班级编号Varchar Tea_id辅导员编号Varchar Room_id教室号Varchar 表 5-4 课程信息表(course) 字段含义类型 Id课程编号Varchar Name课程名Varchar Mark学分Int Prepare预修课Varchar 表 5-5 教师信息表(teacher) 字段含义类型 Id教师编号Varchar Name姓名Varchar Title职称Varchar 表 5-6 学生课程成绩信息表(enrol) 字段含义类型 Stu_id学生编号Varchar Class_id课程编号Varchar score成绩Varchar 由上述设计构造出数据库表及表间关系图: 数据库设计 5 图 5-8 数据库表关系图 5.3 数据库操作 本系统使用 MySQL 设计数据库。使用 MySQL 创建数据库,并在数据库中创建数据 表,有前面的分析得知,本系统需要建立 6 个数据表,分别是: (1)用户数据表(user):用于存放学生和教师的登录信息。 (2)学生数据表(student):用于存放学生的基本信息。 Enrol Class_id varchar(32) Stu_id varchar(32) Score varchar(32) User Id int(16) Name varchar(32) Password varchar(32) Classes Id varchar(32) Tea_id varchar(32) Room_id varchar(32) Id=class_id varchar(32) Student Id varchar(32) Name varchar(32) Jiguan varchar(32) Department varchar(32) Sex varchar(32) Tel varchar(32) Email varchar(32) Id=stu_id Teacher Id varchar(32) Name varchar(32) Title varchar(32) Id=tea_id Course Id varchar(32) Name varchar(32) Mark varchar(32) Prepare varchar(32) Id=cour_id 数据库设计 6 (3)教师数据表(teacher):用于存放所有上课教师的基本信息。 (4)课程数据表(course):用于存放所有开课课程的数据记录基本信息。 (5)班级数据表(classes):用于存放所有与班级信息相关的信息。 (6)学生课程成绩数据表(enrol):用于存放所有学生课程成绩信息。 详细设计 7 6 详细设计 本系统的界面共分为登录模块、管理员模块、学生模块以及教师模块。 6.1 登录模块 系统的任何用户使用系统时都必须从系统的登录模块进入。根据之前的系统分析 可以知道,系统包括 3 类用户:学生、教师和管理员。为了能够让 3 类用户使用同一 个页面登录,在登录界面中,提供了选择登录用户类型的下拉框。由于是用的是 Struts 的标签,下拉效果并不是很好,但足以满足需要。再加上输入用户名和密码 的输入框以及提交按钮组成了登录界面,效果如图 6-1 所示。 图 6-1 登录模块界面 在实现登录模块前,应该先创建一个 Web 服务器默认的欢迎页面 index.jsp,以 实现自动跳转到登录页面。index.jsp 的代码如下: 接下来创建登录页面 login.jsp,详细代码见附录 A。 由于页面中使用了 Sturts 的标签,所以在代码开始部分导入了 Sturts 的标签库。 6.2 管理员模块功能 管理员登录后,会得到欢迎信息表示登录成功,如果登录失败,则会提示出错。 管理员可以通过单击学生、教师、课程和班级这 4 个连接进入不同页面继续下一步的 操作。效果如图 6-2 所示。 详细设计 8 图 6-2 管理员管理模块界面 6.3 管理员管理学生模块 当管理员进行学生管理操作时,首先要显示所有学生列表。在该界面中,需要包 含如下信息:学号、姓名、密码、籍贯、系别、性别、手机和邮箱。还应该提供对学 生管理操作的入口,包括增加学生、更新学生和删除学生。管理员对学生的管理模块 界面设计如图 6-3 所示。 图 6-3 管理员管理学生模块界面 显示学生列表页面 getStudent.jsp 代码见附录 B。 管理学生信息时,首先是要添加学生。根据数据库设计部分可知,学生信息表为 student。根据学生信息表的设计,界面中还包括学生学号、姓名和密码的输入框, 而学生所在系、性别和籍贯是数据列表,因此需要使用下拉列表的控件。填写完信息 之后,还要进行数据提交,所以提交按钮是必不可少的。设计的效果如图 6-4 所示。 详细设计 9 图 6-4 新增学生模块界面 实现添加学生后,还需要对学生信息进行修改。修改学生信息的界面和添加新学 生的界面类似,只不过缺少学生号的输入框而已。修改和添加的不同是,修改时显示 的各输入框中应该有初始值,也就是要修改的那个学生原始信息应该能从页面上反映 出来。设计的效果如图 6-5 所示。 图 6-5 修改学生信息模块界面 6.4 管理员管理教师模块 当管理员进行教师管理的时候,要先显示所有的教师列表。为此,设计了教师列 表的界面。在该页面中,需要包括如下信息:教师号、姓名、职称、密码。还应该提 供对教师管理操作的入口,包括新增教师、更新教师和删除教师。设计的效果如图 6-6 所示。 图 6-6 显示教师列表模块界面 管理教师时,首先要添加教师,因此首先设计添加教师的界面。根据数据库设计 部分可知,教师信息表为 teacher。根据教师信息表的设计,页面中应该包括教师号、 姓名和密码的输入框。而职称是数据列表,因此应该使用下拉列表的控件。填写完信 息后提交也是很重要的一步,所以提交按钮是必不可少的。设计的效果如图 6-7 所 详细设计 10 示。 图 6-7 新增教师模块界面 其次应该还要能对教师信息进行修改。修改教师信息的界面应该与添加新教师界 面类似,只不过缺少教师号的输入而已,更新教师界面模块设计如图 6-8 所示。 图 6-8 更新教师模块界面 由于系统页面中都使用 Struts 标签,而且页面结构都比较类似,所以之后的设 计页面不再附加代码。 6.5 管理员管理课程模块 当管理员进行课程管理操作的时候,要先显示所有课程列表。为此,设计了课程 列表界面,在该界面中,需要包括如下的信息:课程号、课程名、学分、预修课和所 在系。还应该提供对课程管理操作的入口,包括新增课程、更新课程和删除课程。设 计效果如图 6-9 所示。 图 6-9 显示课程列表模块界面 管理课程时,首先要添加课程。因此首先设计添加课程的界面。根据数据库设计 详细设计 11 部分可知,课程信息表为 course。根据课程信息表的设计,在界面中应该包括课程 号、课程名的输入框,而学分、系别和预修课需要选择,因此需要使用下拉列表控件。 填写完信息后,还要进行数据提交,所以确定按钮是必不可少的。设计效果如图 6-10 所示。 图 6-10 新增课程模块界面 课程信息的修改界面和添加新课程界面类似,只不过缺少课程号的输入框而已, 页面设计效果如图 6-11 所示。 图 6-11 修改课程模块界面 6.6 管理员管理班级模块 当管理员进行班级管理时,要先显示所有班级的列表。为此,设计了班级列表的 界面,在该界面中,还需要包括如下信息:班级号、教师号、教室 ID。还应该提供 对班级管理操作的入口,包括新增班级、更新班级和删除班级。设计效果如图 6-12 所示。 图 6-12 显示班级列表模块界面 详细设计 12 管理班级时,首先要添加班级。根据数据库设计部分可知,班级信息表为 classes。根据班级信息表的设计,页面中应该包括班级号和辅导员号输入框,而教 室 ID 需要选择,因此需要使用下拉列表控件。填写完信息后还要进行数据提交,所 以提交按钮必不可少。设计效果如图 6-13 所示。 图 6-13 新增班级模块界面 班级信息修改界面和添加新班级界面类似,只不过缺少班级号的输入框而已,页 面设计效果如图 6-14 所示。 图 6-14 更新班级模块界面 至于删除操作,在显示班级界面就可以实现,因此不需要单独的页面。 6.7 学生选课模块 学生通过登录界面进入系统后,和管理员登录系统的界面类似,首先显示学生所 能做的所有功能导航连接。当学生进行选课操作时,要先显示能够选择的所有课程列 表。为此,需要一个显示课程列表的界面,在该界面中,需要包括如下信息:课程号、 课程、预修课、系别、班级号、教室号、上课时间和教师。还应该提供对课程管理操 作的入口。包括选课操作。学生选课界面设计如图 6-15 所示。 图 6-15 学生选课列表模块界面 显示完课程信息之后,主要还是进行选课即注册的操作,而选课在选课列表界面 详细设计 13 就可以实现,因此不再需要单独页面。 6.8 学生查看成绩模块 学生进行查看成绩操作时,需要查看的信息包括该生以选课程名称、学分以及该 生总学分。当然还需要显示课程的成绩,如果教师还未给出成绩,则系统会有相关提 示。学生查看成绩模块界面设计如图 6-16 所示。 图 6-16 学生查看成绩模块界面 6.9 教师选择学生模块 教师通过登录界面进入系统后,和管理员登录界面类似,首先也是显示教师所能 做的功能导航链接。当教师进行选课操作时,要先显示所教的所有班级和课程的列表。 为此,需要一个显示班级和课程列表的界面。在该界面中,需要如下信息:班级号、 课程名。还应该提供对课程管理操作的入口,包括选择学生,即对某课程进行选择学 生操作。教师选择学生模块界面如图 6-17 所示。 图 6-17 教师所带班级和课程列表模块界面 当某教师对某课程进行了选择学生操作时,要先显示所有预报该课程的学生列表。 为此,设计了显示学生列表的截面,在该截面中,需要包括如下的信息:学生姓名、 所在系、性别、学分、电话、邮件地址。还应该提供对学生管理操作的入口,包括是 否接受学生选此课程。该模块页面设计效果如图 6-18 所示。 图 6-18 选择某课程后的学生列表模块界面 详细设计 14 显示完学生列表之后,接下来的工作就是选择学生。而选择学生操作在列表界面 中就可以实现,不再需要单独的界面。 6.10 教师公布成绩模块 当教师进行公布成绩的时候,要先显示所教的班级和课程列表,为此,需要一个 显示班级和课程列表的界面,并且对某一班级可以查看对应学生的列表信息界面。这 两个界面如图 6-17 和图 6-18 类似。 要给学生打分,界面上首先要显示学号、学生姓名、系别,提供成绩的输入框, 以及进行提交操作的提交按钮。教师打分模块界面的设计如图 6-19 所示。 图 6-19 教师打分模块界面 6.11 定义 HibernateUtil 本系统采用 Struts+Hibernate 技术进行开发,有 Hibernate 进行数据对象的操 作,这里定义一个 HibernateUtil 类负责初始化 Hibernate。由它创建全局的 SessionFactory 实例,并且提供创建 Session 实例、

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论