毕业设计(论文)-基于Struts的学生管理系统的设计与实现.doc

上传人:韩长文 文档编号:3280821 上传时间:2019-08-07 格式:DOC 页数:45 大小:1.80MB
返回 下载 相关 举报
毕业设计(论文)-基于Struts的学生管理系统的设计与实现.doc_第1页
第1页 / 共45页
毕业设计(论文)-基于Struts的学生管理系统的设计与实现.doc_第2页
第2页 / 共45页
毕业设计(论文)-基于Struts的学生管理系统的设计与实现.doc_第3页
第3页 / 共45页
毕业设计(论文)-基于Struts的学生管理系统的设计与实现.doc_第4页
第4页 / 共45页
毕业设计(论文)-基于Struts的学生管理系统的设计与实现.doc_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《毕业设计(论文)-基于Struts的学生管理系统的设计与实现.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-基于Struts的学生管理系统的设计与实现.doc(45页珍藏版)》请在三一文库上搜索。

1、I J JI IA AN NG GX XI I N NO OR RM MA AL L U UN NI IV VE ER RS SI IT TY Y 学学 士士 学学 位位 论论 文文 THESIS OF BACHELOR (20062010 年)年) 基于基于Struts的的学生管理系统的学生管理系统的 设计与实现设计与实现 Design and Implementation of Student Management System Based on Struts 指指 导导 老老 师师 : 姓姓 名名 : 学学 号号 : 0667110111 学学 院院 : 软软 件件 学学 院院 专专 业

2、业 : 软软 件件 工工 程程 完完 成成 时时 间间 : 2010 年年 4 月月 摘要 II 摘摘 要要 学校的学生管理是教学管理的一个重要内容, 传统的管理方法、手段以及 工作效率已不能适应新的发展需要,无法很好地完成学生管理工作。学生管理 系统的应用提高了学校学生管理的效率。 本学生管理系统是基于 Struts 框架实现的系统,后台数据库采用的是 MySQL。系统有三个用户即管理员、教师和学生。管理员的功能有学生管理模块、 教师管理模块、课程管理模块和班级管理模块,这些模块中,除了基本的删除、 添加、查询外,还具有更加详细的查询内容。教师可以选择上课的学生并为学 生录入成绩,学生可以选

3、课并维护自己的个人信息。本文首先简单介绍了系统 的开发背景、使用的相关技术然后详细阐述了系统的设计与实现过程。 关键词关键词:学生管理;Struts;JSP;MySQL Abstract III AbstractAbstract The student management of the school is an important content in the teaching management.Traditional education management the method, means and work efficiencies have already cant adapt

4、the new development demand, cant complete the teaching management work nicely. Student Management System to improve the efficiency of the management school students. The student management system is Implementation based on the frame of Sturts,use the MySQL database.there are three kinds of the user:

5、 Administration、Teacher and Student, the function of the administration are student management modules,teacher management modules ,course management modules and class management modules.Basic functions such as delete, add and query are realized in these modules,and more detailed query contents are a

6、dded in the modules.Teacher could choose the student and give the score of the student.Student could enroll in and search personal information,the function relatively falls well- found, can satisfy the request between student and teacher basically. This article first introduces the system developmen

7、t background, the use of related technologies and then detail the system design and implementation. Key words:Student management;Struts;JSP;MySQL 目录 IV 目目 录录 第 1 章 绪论.1 1.1 系统的开发背景1 1.2 系统开发的目标1 1.3 本系统的内容1 第 2 章 系统相关技术概述.3 2.1 JSP 技术介绍.3 2.1.1 JSP 简介.3 2.1.2 JSP 的优缺点4 2.2 Struts 介绍 .4 2.2.1 MVC 模式

8、4 2.2.2 Struts 框架.5 2.2.3 Struts 标签 库.6 2.3 JDBC 介绍.8 2.4 MySQL Server 简介9 第 3 章 系统分析与设计10 3.1 系统业务流程图10 3.2 数据流图10 3. 3 系统用例分析.12 3.3.1 前台用例图12 3.3.2 后台用例图13 3.4 系统数据库设计14 3.4.1 数据库设计原则.14 3.4.2 数据库概念设计.15 3.4.3 数据库逻辑结构设计16 第 4 章 系统关键技术应用19 目录 V 4.1 系统的架构设计.19 4.2 Struts 框架在系统中的应用 20 4.1.1 Struts 一

9、般开发流程20 4.1.2 系统中各类的实现20 4.1.3 系统 Struts 的配置.21 第 5 章 系统的实现23 5.1 系统包结构23 5. 2 用户登陆24 5. 3 后台管理登录功能实现25 5. 4 管理员功能实现28 5. 5 教师功能实现32 5. 6 学生功能模块实现34 5.7 系统分页的实现.35 第 6 章 总结38 参考文献.39 致谢.40 第 1 章 绪论 1 第第 1 章章 绪论绪论 1.1 系统的开发背景 随着互联网的发展,利用 INTERNET 技术来实现“无纸办公”这个概念 已经深入人心,如何利用现有的资源,来更好地服务于学校的教学,服务于学 校的管

10、理工作,是摆在我们面前的一个共同的命题。就目前而言,学校的学生 管理方式还停留在手工操作基础上,每个学期和学年,教师需要花费大量的时 间来录入学生成绩,文件档案也是使用传统人工的方式,管理人员需要花费较 多的时间来进行管理,例如对学校的学生、教师、班级等的管理。这种传统人 工的管理方式存在着许多缺点:效率低、保密性差,另外时间一长,将产生大 量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 学生管理系统是一个教育单位不可缺少的部分,它的内容对于学校的决策 者和管理者来说都至关重要,所以学生管理系统应该能够为用户提供充足的信 息和快捷的查询手段。本学生管理系统的开发就是为了减少教师的手

11、工操作、 提高学校学生管理的效率。 1.2 系统开发的目标 本系统的目标是能够促使学生管理规范话、系统化、程序化、自动化,最 大限度保证数据的安全对于基于网络的学生管理系统显得尤为重要,新的学生 管理系统不仅能够给学校教学提供便利的服务,而且具有很好的扩展性和可延 伸性,方便系统的日后维护和升级。 1.3 本文的主要内容 本学生管理系统的用户权限有三个,分别是系统管理员、教师和学生。系 统管理员可以实现对整个系统的管理,如:学生管理、教师管理、班级管理和 课程管理,在这些管理中,管理员可以增加、删除、修改相关的信息以及查询 符合条件的信息等功能。教师的主要功能是录入学生成绩、查看选报我课程的

12、学生、是否接受学生的选课和查看个人信息等。学生的主要功能是选课、查看 已选课程、查看个人信息、修改密码等。 系统在具体的实现过程中,为了方便用户操作等,利用 Ajax 技术实现实时 第 1 章 绪论 2 校验,即当管理员增加一个学生或是增加班级等信息时,系统会自动查找当前 增加的信息是否在数据库已经存在,如果当前的信息和数据库中的信息匹配则 可提示用户,当前信息已存在请重新输入。 本文首先简单介绍了系统的开发背景、开发目标、使用的相关技术然后详 细阐述了系统的设计与实现过程。第 1 章简述了系统的开发背景和目标,以及 系统的主要内容。第 2 章简单的介绍了系统的相关技术。第 3 章主要是系统的

13、 分析与设计。第 4 章介绍了系统关键技术的应用。第 5 章介绍了系统的实现。 第 6 章是个人的总结。 第 2 章 系统相关技术概述 3 第第 2 章章 系统相关技术系统相关技术概述概述 2.1 JSP 技术介绍 2.1.1 JSP 简介 JSP(JavaServer Pages)是由 Sun Microsystems 公司倡导、许多公司参与一起 建立的一种动态网页技术标准。JSP 技术有点类似 ASP 技术,它是在传统的网 页 HTML 文件(*.htm,*.html)中插入 Java 程序段(Scriptlet)和 JSP 标记(tag),从而 形成 JSP 文件(*.jsp) 67。

14、用 JSP 开发的 Web 应用是跨平台的,即能在 Linux 下运行,也能在其他操 作系统上运行。 JSP 技术使用 Java 编程语言编写类 XML 的 tags 和 scriptlets,来封装产生 动态网页的处理逻辑。网页还能通过 tags 和 scriptlets 访问存在于服务端的资源 的应用逻辑。JSP 将网页逻辑与网页设计和显示分离,支持可重用的基于组件 的设计,使基于 Web 的应用程序的开发变得迅速和容易。 Web 服务器在遇到访问 JSP 网页的请求时,首先执行其中的程序段,然后 将执行结果连同 JSP 文件中的 HTML 代码一起返回给客户。插入的 Java 程序 段可

15、以操作数据库、重新定向网页等,以实现建立动态网页所需要的功能。 JSP 与 Java Servlet 一样,是在服务器端执行的,通常返回该客户端的就是 一个 HTML 文本,因此客户端只要有浏览器就能浏览。 JSP 的 1.0 规范的最后版本是 1999 年 9 月推出的,12 月又推出了 1.1 规范。 目前较新的是 JSP1.2 规范,JSP2.0 规范的征求意见稿也已出台。 JSP 页面由 HTML 代码和嵌入其中的 Java 代码所组成。服务器在页面被客 户端请求以后对这些 Java 代码进行处理,然后将生成的 HTML 页面返回给客 户端的浏览器。Java Servlet 是 JSP

16、 的技术基础,而且大型的 Web 应用程序的 开发需要 Java Servlet 和 JSP 配合才能完成。JSP 具备了 Java 技术的简单易用, 完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。 自 JSP 推出后,众多大公司都支持 JSP 技术的服务器,如 IBM、Oracle、Bea 公司等,所以 JSP 迅速成为商业应用的服务器端语言。 第 2 章 系统相关技术概述 4 2.1.2 JSP 的优缺点 JSP 技术的优点: (1)一次编写,到处运行。在这一点上 Java 比 PHP 更出色,除了系统之 外,代码不用做任何更改。 (2)系统的多平台支持。基本上可以在

17、所有平台上的任意环境中开发,在 任意环境中进行系统部署,在任意环境中扩展。相比 ASP/PHP 的局限性是显 而易见的。 (3)强大的可伸缩性。从只有一个小的 Jar 文件就可以运行 Servlet/JSP, 到由多台服务器进行集群和负载均衡,到多台 Application 进行事务处理,消息 处理,一台服务器到无数台服务器,Java 显示了一个巨大的生命力。 (4)多样化和功能强大的开发工具支持。这一点与 ASP 很像,Java 已经 有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可 以顺利的运行于多种平台之下。 JSP 技术的缺点: (1)与 ASP 一样,Java 的

18、一些优势正是它致命的问题所在。正是由于为 了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。 (2)Java 的运行速度是用 class 常驻内存来完成的,所以它在一些情况下 所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面, 它还需要硬盘空间来储存一系列的.java 文件和.class 文件,以及对应的版本文 件。 2.2 Struts 介绍 2.2.1 MVC 模式 整个系统采用了 MVC 模式进行设计。MVC 模式是一种流行的软件设计模式, 它把系统分为 3 个模块:模型(Model) 、视图(View)和控制器(Controller) 1014。 各个

19、模块的功能说明参见表 2.1 所示。 表2.1 MVC 的三个模块 MVC 模块描述 模型代表应用程序状态和业务逻辑 视图提供可交互界面,向客户显示模型数据 第 2 章 系统相关技术概述 5 控制器 响应客户的请求,根据客户的请求来操纵模型,并把模型的 响应结果经由视图展现给客户 各个模块之间的相互作用如图 2.1 所示。客户可以从视图的客户界面上浏 览数据或发出请求,客户的请求由控制器处理,它根据客户的请求调用模型的 方法,完成数据更新,然后调用视图的方法将响应结果展示给客户。视图也可 以直接访问模型,查询数据信息,当模型中的数据发生变化时,它会通知视图 刷新界面,显示更新后的数据。 采用

20、MVC 模式有很多好处:一是能将显示、逻辑和数据分开,某一方面 的改变不会影响另一方面;其次是可以在不更改视图显示的情况下,更改控制 器,以达到更改视图与用户交互的响应模式的目的。 图2.1 MVC 模型图 2.2.2 Struts 框架 (1)Struts 框架结构及工作原理 Struts 是把 MVC 设计模式运用到 Web 应用中,它由一组相互协作的类 (组件) 、Servlet 以及标记库组成,其结构如图2.2所示。Struts 是一个使用 Servlet 和 JSP 在 Java 中实现 MVC 模式的开放源代码工程,它继承了 MVC 的 各项特点,并根据 J2EE 的特点,作了相应

21、的变化和扩展。 图2.2 Struts框架结构 Servelet/Jsp 容器 Web Server 控制器 ActionServlet 视图 JSP Action Action Action 模型 ActionFormBean JavaBean Web 客 户 第 2 章 系统相关技术概述 6 图2.2 Struts框架结构图 (2)Struts 框架的运行机制 为了更好的理解 Struts 的流程,下面通过一个活动图更具体描述接受请求 直至返回响应的整个过程10,如图 2.3 所示。 图2.3 Struts响应用户请求的工作流程 2.2.3 Struts 标签库 用过 struts1.xm

22、l 的人都知道,标签库有 html、bean、logic、tiles,而 struts2.0 里的标签却没有分类,只用在 jsp 头文件加上就能使用 struts2.0 的标签库 下面就介绍下每个标签的用法: A: 第 2 章 系统相关技术概述 7 -超链接,类似于 html 里的; -执行一个 view 里面的一个 action; -如果 action 的 errors 有值那么显示出来; -如果 action 的 message 有值那么显示出来。 B: -类似于 struts1.xml 中的,JavaBean 的值。 C: -复选框; -多选框。 D: -获取日期格式; -日期输入框;

23、-显示错误信息; -表示一个块,类似于 html 的; ; -双下拉框。 F: -获取相应 form 的值。 G: -和标签一起使 用。 H: -在里使用,表示头文件结束; -隐藏值。 I: -包含一个输出,servlet 或 jsp 页面; -用于遍历集合。 L: -只读的标签。 P: -为其他标签提供参数; -密码输入框; -得到value的属性。 R: 第 2 章 系统相关技术概述 8 -单选按钮; -重置按钮。 S: -单选框; -提交按钮。 T: -表格; -I18n 文本信息; -文本域输入框; -文本输入框; -拦截器。 U: -创建 url。 2.3 JDBC JDBC(Jav

24、a 数据库连接)是 Java 程序45与数据库系统通信的标准 API, 它由一组用 Java 语言编写的类和接口组成。有了 JDBC,只需用 JDBC API 编 写一个程序,就可实现向各种关系数据库发送 SQL 语言。Java 程序和 JDBC 驱 动程序的关系如图 2.4 所示。本系统中通过 JavaBean 与 JDBC API 的连接。 图2.4 Java程序与JDBC驱动程序 第 2 章 系统相关技术概述 9 2.4 MySQL Server MySQL3是最流行的开放源码 SQL 数据库管理系统,它是由 MySQL AB 公司 开发、发布并支持的。MySQL AB 是由多名 MyS

25、QL 开发人创办的一家商业公司。 它是一家第二代开放源码公司,结合了开放源码价值取向、方法和成功的商业 模型。 (1)MySQL 是一种关联数据库管理系统。 关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大的仓 库内。这样就增加了速度并提高了灵活性。MySQL 的 SQL 指得是“结构化查 询语言”。SQL 是用于访问数据库的最常用标准化语言,它是由 ANSI/ISO SQL 标准定义的。SQL 标准自 1986 年以来不断演化发展,有数种版本。 (2)MySQL 软件是一种开放源码软件。 “开放源码”意味着任何人都能使用和改变软件。任何人都能从 Internet 下载 MySQL

26、 软件,而无需支付任何费用。如果愿意,你可以研究源码并进行 恰当的更改,以满足你自己的需求。MySQL 软件采用了 GPL(GNU 通用公共许 可证),定义了在不同情况下可以用软件作的事和不可作的事。如果你对 GPL 不满意,或需要在商业应用程序中嵌入 MySQL 代码,可从我方购买商业许可 版本。更多信息,请参见 MySQL 许可概述。 (3)MySQL 数据库服务器具有快速、可靠和易于使用的特点。 如果它正是你所寻找的,不妨一试。MySQL 服务器还有一套实用的特性集 合,这些特性是通过与我们用户的密切合作而开发的。在我们的基准测试主页 上,给出了 MySQL 服务器和其他数据库管理器的比

27、较结果。 MySQL 服务器最初是为处理大型数据库而开发的,与已有的解决方案相比, 它的速度更快,多年以来,它已成功用于众多要求很高的生产环境。尽管 MySQL 始终在不断发展,但目前 MySQL 服务器已能提供丰富和有用的功能。它 具有良好的连通性、速度和安全性,这使的 MySQL 十分适合于访问 Internet 上 的数据库。 (4)MySQL 服务器工作在客户端/服务器模式下,或嵌入式系统中。 MySQL 数据库软件是一种客户端/服务器系统,由支持不同后端的 1 个多 线程 SQL 服务器,数种不同的客户端程序和库,众多管理工具和广泛的应用编 程接口 API 组成。 我们还能以嵌入式多

28、线程库的形式提供 MySQL 服务器,你可以将其链接 到你的应用程序,从而获得更小、更快、和更易管理的产品。 第 3 章 系统分析与设计 10 第第 3 章章 系统分析系统分析与设计与设计 3.1 系统业务流程图 根据对该学生管理系统进行深入分析可得到以下系统流程图8,如图 3.1 所示。 登登录录 用用户户名名与与密密码码 系系统统管管理理 员员 教教师师学学生生 学学 生生 管管 理理 正正确确 返返回回 不不正正确确 班班 级级 管管 理理 课课 程程 管管 理理 教教 师师 管管 理理 成成 绩绩 管管 理理 教教 师师 信信 息息 我我 的的 学学 生生 待待 选选 学学 生生 落落

29、 选选 学学 生生 我我 的的 班班 级级 个个 人人 信信 息息 修修 改改 密密 码码 课课 程程 信信 息息 信信 息息 查查 询询 选选 课课 课课 程程 表表 落落 选选 课课 程程 待待 定定 课课 程程 已已 修修 课课 程程 未未 过过 课课 程程 个个 个个 信信 息息 修修 改改 密密 码码 3.1 系统业务流程图 学生管理系统的业务流程图主要是描述用户登录后,根据不同的权限进行 相应的操作。管理员可以进行课程管理、班级管理、学生管理和教师管理,教 师主要是实现成绩管理和信息查询,学生可以进行选课和信息查询。 第 3 章 系统分析与设计 11 3.2 系统数据流图 数据流图

30、8是一种图形化技术,它描绘信息流和数据从输入移动到输出的 过程中所经受的变换,是系统逻辑功能的图形表示,管理员数据流图如图 3.2 所示、教师数据流图如图 3.3 所示、学生数据流图如图 3.4 所示。 用户表 管理员 学生管理 班级信息 表 教师管理 课程管理 班级设置 课程信息 表 图3.2 管理员数据流图 管理员数据库流图主要是描述管理员进行管理时数据的流向,当管理员进 行学生管理、教师管理时,数据将存储在用户表中。当进行课程管理时,数据 存储在课程信息表中。当进行班级设置时,将数据存储在班级信息表中。 第 3 章 系统分析与设计 12 成绩表 教师 录入成绩 班级用户 视图 班级信息

31、表 课程 查看班级 图3.3 教师数据流图 教师数据流图主要是描述教师进行相应操作时,数据的主要流向。当教师 录入成绩时,将录入的成绩存储在成绩表中。教师从班级信息表中查看班级信 息、从班级用户视图中查看课程信息。 成绩表 学生 查看成绩 成绩课程 视图 选课 查看班级 图3.4 学生数据流图 学生数据流图主要是描述学生进行操作时,数据的流向,学生从成绩表中 可以查看自己的成绩。从成绩课程视图中查看班级信息和选课。 第 3 章 系统分析与设计 13 3.3 系统用例分析 3.3.1 系统前台用例图 对于系统,学生可以查询自己的信息、查看可以选修的课程信息、查询已 选修了的所有课程的信息和成绩等

32、信息,学生的用例图如图 3.5 所示。教师主 要是录入学生某门课程的成绩等。教师的用例图如图 3.6 所示。 信信 信信 信信信信 信信信信 信信信信 信信信信 信信 信信 图3.5 学生用例图 学生用例图主要是描述学生用例的主要功能,有选课、成绩查询、查看课 程信息和修改密码。 图3.6 教师用例图 教师用例图主要是描述教师用例的主要功能,有成绩管理和个人信息的修 改。 第 3 章 系统分析与设计 14 3.3.2 系统后台用例图 我们的系统后台操作是针对系统管理员工作设计的,系统管理员拥有所有 权限,教师根据工作拥有部分权限。系统管理员主要是日常操作以下几个工作 环节:学生管理、教师管理、

33、课程管理、班级管理。如图 3.78所示。 信信信信信 信信信信 信信信信 信信 信信 删 删删 删 信信 信信 信信 信信 信信 信信信信 信信信信 信信 信信 信信 信信 信信 信信 信信 信信 图3.7 系统后台用例图 系统后台用例图主要是描述系统管理员用例的主要功能,管理员用例可以 进行课程管理、班级管理、学生管理和教师管理,并进行增加、删除和修改。 第 3 章 系统分析与设计 15 3.4 系统数据库设计 3.4.1 数据库设计原则 数据库的设计应该遵循数据库设计的基本原则,为后期的系统开发实现提 供支持。在进行系统数据库设计时一般应该遵循的基本原则主要如下9: (1)一致性 系统数据

34、库设计要符合数据一致性原则。数据的一致性是指表示同一个客 观事物的数据,在同一时刻无论出现在何处都应该是一致的,正确的。在关系 型数据库中,事务执行的结果必须是使数据库从一个一致性状态转变到另一个 一致性状态。当事务完成时,必须使所有数据都具有一致的状态。由于数据库 面向整个系统,可以被多个应用程序和多个用户共享数据。 (2)规范化 系统的数据库设计应遵循规范化原则。规范化一般分为几个级别: 1NF,2NF, 3NF, 4NF,BCNF。一般原则上要采用第三范式要求进行设计。 (3)完整性 数据库的完整性是指数据的正确性。主要是需要防止合法用户使用数据库 时向数据库加入不符合语义的数据,保护数

35、据结构不受损害,防止错误数据输 入和输出,对输入到数据库中的数据要有预定义的规则约束。 (4)安全性 在系统的数据库中集中了大量数据,是系统正常运行的基础,因此,数据 的安全性是数据库设计中一个比较重要的问题,保护数据安全主要指保护数据 库数据,防止非授权用户使用数据库或合法用户非法操作数据库而造成数据的 泄露、改变或破坏。因此,在设计时候,应该提供相应保护数据安全的手段。 (5)可伸缩性 数据库结构的设计应该在满足现有系统功能应用需求的基础上,充分考虑 业务发展的需要、移植的需要,满足可伸缩性、可扩展性和移植性等要求。 (6)可维护和管理 在进行数据库设计时,应该考虑易于对数据进行管理和维护

36、,提高系统运 行效率。 3.4.2 数据库概念设计 为了使用户的数据要求清楚、准确地描述出来,通常需要建立一个概念性 第 3 章 系统分析与设计 16 的数据模型。概念数据模型是一种面向问题的数据模型,是按照用户的观点对 数据建立的模型。它描述了从用户的角度看到的数据,反映了用户的现实环境, 而且与在软件系统中的实现无关,经过对数据的各种分析, 该系统涉及到的实 体有:管理员信息实体、学生信息实体、教师信息实体、班级信息实体、课程 信息实体。 系统总体结构功能模块设计后,将对数据库进行设计,本系统运用的是关 系数据库,数据之间的结构关系可用 E-R 图9来分析。E-R 图由实体、属性、 实体之

37、间的关系三部分组成。如图 3.8 所示。 学学生生 教教师师 管管理理员员 录录入入成成绩绩 1 N 管管理理1 1N N 班班级级 课课程程 更更新新 更更新新 1 1 N 1 1 N N 选选修修N N N 所所属属 1 N N 账账号号 密密码码 密密码码职职称称 密密码码 学学号号 姓姓名名 学学籍籍 系系别别 性性别别 电电话话号号码码 电电子子邮邮箱箱 教教室室号号教教师师编编号号上上课课时时间间课课程程号号班班级级号号 系系别别预预选选课课学学分分课课程程号号课课程程名名 班班级级号号学学号号课课程程名名成成绩绩学学分分 学学号号 班班级级号号 分分数数 学学分分 课课程程号号

38、教教师师编编号号 图3.8 系统E-R图 系统 E-R 图主要是描述各实体间的关系,本系统的实体有管理员、教师、 学生、班级、课程。管理员可以更新课程和班级信息,还能管理学生。教师和 学生间的关系主要是教师为学生录入成绩。学生和课程间的关系是学生可以选 修课程,学生和班级间的关系是学生属于某个班级。 第 3 章 系统分析与设计 17 3.4.3 数据库逻辑结构设计 在本系统中的不同功能模块中,涉及到的数据多种多样,作用各不相同, 同时又互相联系。系统的许多功能都要涉及到数据库中的不同的表,而数据库 中的表的设计和表之间关系的设计,是数据库设计的重点。通过对 ER 图各 实体的分析,得到如下的相

39、关表格。 (1)用户信息表(user):用户信息表保存了所有用户的信息,id 是表的主 键,power(权限)字段有三个值:分别是 1,2,3。1 代表管理员,2 代表教 师,3 代表学生。title(职称)字段允许为空,只有老师有职称:讲师、副教授、 教授。如表 3.1 所示。 表 3.1 用户信息表 (2)课程信息表(course):course 表保存了所有课程的信息,cour_id 作为 表的主键,课程名不允许为空,如表 3.2 所示。 表 3.2 课程信息表 序号字段名字段类型说明备注 1cour_idVarchar(100)课程号Primary Key 2nameVarchar(1

40、00)课程名NOTNULL 3markInt(11)学分 4prepareVarchar(100)预选课 5depVarchar(100)系别 (3)班级信息表(classes):class_id 作为表的主键, 班级信息表中的 cour_id 对应课程信息表中的 cour_id,tea_id 对应用户信息表中的 id,如表 3.3 所示。 序号字段名字段类型说明备注 1id Varchar(32)id 号Primary Key 2nameVarchar(32)登陆姓名NOTNULL 3passwordVarchar(32)登陆密码NOTNULL 4powerVarchar(32)用户权限NO

41、TNULL 5titleVarchar(32)教师职称 6rollVarchar(32)学籍 7jiguanVarchar(100)籍贯 8departmentVarchar(100)系别 9sexVarchar(32)性别 10markInt(11)总学分 11telVarchar(100)电话号码 12phoneVarchar(100)手机号码 13emailVarchar(100)电子邮箱 第 3 章 系统分析与设计 18 表 3.3 班级信息表 序号字段名字段类型说明备注 1class_idVarchar(100)班级号Primary Key 2tea_idVarchar(100)教师

42、号Foreign Key 3room_idVarchar(100)教室号Foreign Key 4cour_timeVarchar(100)上课时间 (4)成绩信息表(enrol): 成绩信息表中的 class_id 对应的是班级信息表中 的 class_id,而 stu_id 对应的是用户信息表中的 id,如表 3.4 所示。 表 3.4 成绩信息表 序号字段名字段类型说明备注 1idInt(11)ID 号Primary Key 1class_idVarchar(100)班级号Foreign Key 2stu_idVarchar(100)学生号Foreign Key 3acceptVarch

43、ar(100)是否被接受 4scoreVarchar(100)分数 (5)选课信息表(stu_enrol): 选课信息表中的 class_id 对应班级信息表 中的 class_id,stu_id 对应的是用户信息表中的 id,通过 class_id 找到班级信息 表中的 cour_id,在通过 cour_id 对应找到课程信息表中的 cour_name.而通过 stu_id 对应到成绩信息表中 stu_id,可以查找到 score。如表 3.5 所示。 表 3.5 选课信息表 序号字段名字段类型说明备注 1class_idVarchar(100)班级号Foreign Key 2cour_na

44、meVarchar(100)课程名 3stu_idVarchar(100)学号Foreign Key 4scoreVarchar(100)分数 5markVarchar(100)学分 6totalmarkVarchar(100)总学分 第 4 章 系统关键技术应用 19 第第 4 章章 系统关键技术应用系统关键技术应用 4.1 系统的架构设计 整个系统架构采用基于 MVC 模式 Struts 框架10,视图用 JSP 或 HTML 显 示,业务在 JavaBean 中实现,控制由 Action 类的实例控制。 系统运行后,用户通过浏览器访问系统,看到的只能是视图层,在视图层 上,用户进行相应操

45、作。视图层由若干 JSP 页面组成。控制器的核心是 Struts.xml 配置文件,它控制着页面的跳转,是系统的控制中心。真正的业务在 JavaBean 类中体现,JavaBean 类由若干个业务类组成,对业务的操作一般需要 操作数据库。学生管理系统框架结构图见图 4.1。 浏 览 器 Web 浏 览 器 视图(JSP) 控 制 器 (ActionServlet) ActionAction Struts.xml 模 型 (JavaBean) DataBase 图 4.1 系统框架结构图 第 4 章 系统关键技术应用 20 4.2 Struts 框架在系统中的应用 4.2.1 Struts 一般

46、开发流程 (1)收集和定义应用需求; (2)定义视图,视图上的数据显示以及视图之间的流程; (3)定义 ActionMappings,建立业务逻辑之间的关系; (4)根据每个用户视图需要的模型数据创建 ActionForm; (5)开发业务逻辑处理组件; (6)编写 Action 对象,完成请求到业务逻辑处理的桥(Action 类中也可以 编写业务逻辑处理代码,但是这样不利于程序的维护、扩展); (7)建立配置文件 struts.xml,web.xml 等; (8)开发部署。 4.2.2 系统中各类的实现 (1)Action 类 Action 类负责控制器的实现,主要用于控制理模块中的 Act

47、ion 类,如表 4.1 所示。 表 4.1 学生管理系统中的 Action 类 类名说明 ClassAction ClassAction 接收封装在 ClassInfo 中的数据,并根据 struts.xml 中的 method 属性的值来判断班级管理模块中的操作,并调用相应的模型中 的业务实现类,完成有关视图中的页面请求并产生响应。 (2)persistence 类 Persistence 类主要是负责与数据库连接,将用户输入的数据库插入到数据 库中,如表 4.2 所示。 表 4.2 学生管理系统中的 persistence 类 类名说明 ClassDAOImpl 将 JSP 页面中的数据

48、,通过 ClassAction 类传递到 DAO 中,插入 classes 表 (3)JavaBean 类 JavaBean 类负责封装数据的实现,学生管理系统中的 JavaBean 类具体见表 4.3 所示。 表 4.3 学生管理系统中的 JavaBean 类 第 4 章 系统关键技术应用 21 类名说明 NewPagerNewPage 封装了实现分页的方法 NewPagerServi ce NewPagerService 封装了实现上一页、下一页和最后一页的实现 MD5.javaMD5 实现了对用户密码的转换 DBConnection用来负责对数据库的连接,并封装了对数据的操作方法。 4.2.3 系统 Struts 的配置 对于struts.xml10 14配置文件,其主要是实现从JSP页面转到JAVA类,在 通过result中的name属性转回到JSP页面,并将数据显示现JSP页面中,下面给出 几个例子。 用户登录功能的配置: /logi

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 研究报告 > 信息产业


经营许可证编号:宁ICP备18001539号-1