毕业设计(论文)-高校排课系统设计与实现.doc

上传人:来看看 文档编号:3951029 上传时间:2019-10-11 格式:DOC 页数:55 大小:1.13MB
返回 下载 相关 举报
毕业设计(论文)-高校排课系统设计与实现.doc_第1页
第1页 / 共55页
毕业设计(论文)-高校排课系统设计与实现.doc_第2页
第2页 / 共55页
毕业设计(论文)-高校排课系统设计与实现.doc_第3页
第3页 / 共55页
毕业设计(论文)-高校排课系统设计与实现.doc_第4页
第4页 / 共55页
毕业设计(论文)-高校排课系统设计与实现.doc_第5页
第5页 / 共55页
点击查看更多>>
资源描述

《毕业设计(论文)-高校排课系统设计与实现.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-高校排课系统设计与实现.doc(55页珍藏版)》请在三一文库上搜索。

1、Xinyu College 毕业设计(论文)毕业设计(论文) (20102010 届)届) 题题 目目 排排课课系系统统 学学 号号 姓姓 名名 所所 属属 系系 计计算机与信息工程系算机与信息工程系 专专 业业 软软件技件技术术 班班 级级 二班二班 指指导导教教师师 朱朱卫华卫华( (讲师讲师) ) 新余高等专科学校教务处新余高等专科学校教务处 排课系统 II 排课系统排课系统 摘摘 要要 排课是高校教学管理中最基本最重要同时也是最复杂的管理工作之一,其 实质就是为学校所设置的课程安排一组适当的教学时间与空间,从而使整个教学 能够按计划有秩序地进行随着计算机技术的飞速发展,计算机在管理中应

2、用的 普及,利用计算机实现自动排课的管理势在必行本系统结合学校实际的排课问 题,经过实际的需求分析,采用功能强大的 MyEclipse 7.0 作为前台开发工具, 使用当前流行的技术 Struts2+Ajax 以及 Mysql5.0 数据库作为后台数据库而开 发出来的 关键词关键词:高校管理高校管理; ; Struts2;Struts2; Ajax;Ajax; MyEclipseMyEclipse 7.0;7.0; Mysql5.0Mysql5.0 数据库数据库 排课系统 III Course Scheduling System Abstract College Course Scheduli

3、ng is the most basic teaching management, the most important and also the most complex management, Its essence is to set the school curriculum appropriate arrangements for a group of teaching time and space. But with computer technology to the rapid development of computers in business management ap

4、plication of, using computers for automatic time-management is imperative. The school system combining practical Course Scheduling problem, the actual demand analysis, MyEclipse 7.0 features a powerful development tool as the front, using the current popular technologies Struts2 + Ajax and Mysql5.0

5、database as the back-end database developed out Keywords : college management; Struts2; Ajax; MyEclipse 7.0 application; database MySql 5.0. 目目 录录 排课系统排课系统 摘摘 要要 ABSTRACT 引言引言1 1 第第 1 1 章章 概论概论1 1 1.1 背景.1 1.2 论文的组织.1 1.2.1 技术基础 1 1.2.2 系统的设计 2 1.2.3 系统的实现 2 1.2.4 系统的总结与展望 2 第第 2 2 章章 技术基础技术基础3 3 2.

6、1 技术介绍.3 2.2 技术特点 .3 2.3 STRUTS2 框架介绍.4 2.3.1 Struts2 配置文件 4 第第 3 3 章章 系统的设计系统的设计5 5 3.1 系统需求 .5 3.2 功能划分 .5 3.3 构架设计 .6 3.4 模块设计 .7 3.4.1 录入信息模块 7 3.4.2 排课计划 8 3.4.3 自动排课 8 3.4.4 查询并打印课表 8 3.5 数据库设计 8 第第 4 4 章章 系统的实现系统的实现1313 4.1 各模块的具体实现 .13 4.1.1 登录窗体的设计13 4.1.2 系统主界面窗体15 4.1.3 排课信息浏览16 4.1.5 教师信

7、息添加17 4.1.6 教室信息修改18 4.1.6 系部信息删除19 4.1.7 自动排课 .20 4.1.8 查询课表 .21 4.2 类的定义 .23 排课系统 II 4.2.1 用户信息结构 .23 4.2.2 系部信息结构 .24 4.2.3 专业信息结构 .25 4.2.4 专业课程信息结构 .26 4.2.5 自然班信息结构 .27 4.2.6 自然班课程信息结构 .28 4.2.7 课程班课程信息结构 .29 4.2.8 教师信息结构 .30 4.2.9 课表信息结构 .31 4.2.10 教室信息结构 32 4.2.11 排课计划信息结构 33 4.3 算法的实现 .34 4

8、.3.1 数据的初始化 .34 4.3.2 算法过程:35 第第 5 5 章章 总结与展望总结与展望3838 5.1 总结38 5.2 展望38 致 谢3939 参考文献4040 排课系统 1 引言引言 对于每个学校来说,每到一个新学期的开始,首当其冲的任务就是该学期 的课程如何安排的问题,而课程安排又涉及年级、班级、教师、课程、学校等 方方面面的因素,如何排出一个好并且适用的课程表,是一项复杂的系统工程, 充分考验了排课人的智慧。传统的人工进行排课,最令人担心的问题就是 出现教室资源冲突或教师资源冲突的情况。而且工作繁琐,工作量巨大。计算 机软件技术应用于学校的课程安排是发展的必然。充分发挥

9、计算机的优势,将 大量复杂的判断与运算交给计算机来做,是真正意义上的人脑的“减负” 。利用 计算机辅助进行课表编排工作,既提高了排课工作的科学性,又可大大减轻管 理人员的工作强度,提高工作效率,从而使学校教务管理现代化迈上了一个新 台阶。 排课系统 1 第第 1 1 章章 概论概论 1.1 背景 对于每个学校来说,每到一个新学期的开始,首当其冲的任务就是该学期 的课程如何安排的问题,而课程安排又涉及年级、班级、教师、课程、学校等 方方面面的因素,如何排出一个好并且适用的课程表,是一项复杂的系统工程, 充分考验了排课人的智慧。传统的人工进行排课,最令人担心的问题就是 出现教室资源冲突或教师资源冲

10、突的情况。而且工作繁琐,工作量巨大。计算 机软件技术应用于学校的课程安排是发展的必然。充分发挥计算机的优势,将 大量复杂的判断与运算交给计算机来做,是真正意义上的人脑的“减负” 。利用 计算机辅助进行课表编排工作,既提高了排课工作的科学性,又可大大减轻管 理人员的工作强度,提高工作效率,从而使学校教务管理现代化迈上了一个新 台阶。 1.2 论文的组织 1.2.1 技术基础 主要介绍系统是采用的技术, Struts2 其实并不是一个陌生的 Web 框架, Struts2 是以 Webwork 的设计思想为核心,吸收了 Struts1 的优点,因此,可 以认为 Struts2 是 Struts1

11、和 Webwork 结合的产物。 1.2.2 系统的设计 系统分为四个模块分别是录入信息,设置排课计划,自动排课,查询课表。 录入信息有系部信息,专业信息,自然班信息,专业课程信息,自然班课程信 息,课程班课程信息,教室信息,教师信息。根据教学计划任务书设置排课计 划。自动排课使用回溯算法主要对教室资源信息进行选择,其核心的过程是系 统分配一个排课计划信息,根据其教室类型查询对应的教室信息,在分别查询 排课系统 2 教师时间段,课程班时间段,教室时间段,将三者的时间段进行“或”操作, 再找出最优时间片。如果没有找到最优时间片,就将回溯到上一条记录,依此 类推,直到所有的排课计划都找到对应的教室

12、信息。查询课表分为三个模块, 分别是自然班课表,教室课表,教师课表,都是根据其标号查询对应的课表信 息,自然班需要根据课程班编号查询对应的课表信息。 1.2.3 系统的实现 全部采用 struts2 的 mvc 框架来实现功能,其核心是 Action,action 是 mvc 框架中的控制层,所有的逻辑操作都在这里实现,Model 层主要是 java 类, 本系统有用户类,教学时间段类,系部类,专业类,自然班类,专业课程类, 自然班课程类型,课程班课程类,教室类,教师类,排课计划类,课表信息类。 View 主要采用 jsp 作为主要显示页面,使用 ext 技术制作系统的主界面,jsp 页面中的

13、联动菜单主要使用 Ajax 技术,客户端的验证使用 Javascript,服务 端的验证在有 struts 完成。系统的最难点是自动排课的实现,对自动排课的功 能,对其的子功能做了大量的单元测试,以此来保持自动排课的稳定性。 1.2.4 系统的总结与展望 由于时间的原因,没有实现手动排课以及排空课的功能。对与数据库的设 计不是很好,还需要改进的地方,使用的面向对象编程所写的类没有实现代码 复用的特点,还需要更加深入的了解面向对象的思想,对系统的实用性,可以 应用于高校排课(学分制)可以实现合班上课,系统的相比原点排课系统多了 合班功能,为了应对学校需求,才制作的改进版排课系统。通过大量的测试后

14、, 能够推广使用。 排课系统 3 第第 2 2 章章 技术基础技术基础 2.1 技术介绍 Struts2 号称是一个全新的框架,但这仅仅是相对 Struts 1 而言。Struts 2 与 Struts 1 相比,确实有很多革命性的改进,但它并不是新发布的新框架, 而是在另一个赫赫有名的框架:WebWork 基础上发展起来的。 AJAX 即“Asynchronous JavaScript and XML”(异步 JavaScript 和 XML), AJAX 并非缩写词,而是由 Jesse James Gaiiett 创造的名词,是指一种创建交 互式网页应用的网页开发技术。 2.2 技术特点

15、Struts2 核心控制器:FilterDispatcher struts 2 用于处理用户请求的 Action 实例,并不是用户实现的业务控制器, 而是 Action 代理因为用户实现的业务控制器并没有与 Servlet API 耦合, 显然无法处理用户请求。而 Struts 2 框架提供了系列拦截器,该系列拦截器负 责将 HttpServletRequest 请求中的请求参数解析出来,传入到 Action 中,并 回调 Action 的 execute 方法来处理用户请求。显然,上面的处理过程是典型的 AOP(面向切面编程)处理方式。 排课系统 2 图 2-2-1 AJAX 的最大机遇在于

16、用户体验。在使应用更快响应和创新的过程中,定义 Web 应用的规则正在被重写;因此开发人员必须更注重用户。现在用户已经逐渐 习惯如何使用 Web 应用了。例如用户通常希望每一次按钮点击会导致几秒的延 迟和屏幕刷新,但 AJAX 正在打破这种长时间的状况。因此用户需要重新体验按 钮点击的响应了。 可用性是 AJAX 令人激动的地方而且已经产生了几种新颖的技术。其中最引 人注目的是一种称为“黄色隐出”的技术,他在数据更新之前时将用户界面变 为黄色,更新完成后立刻恢复原来的颜色。AJAX 开发人员将用户从 Web 应用的 负载中解放出来;小心地利用 AJAX 提供的丰富接口,不久桌面开发人员会发现

17、AJAX 是他们的方向。 2.3 Struts2 框架介绍 2.3.1 Struts2 配置文件 当 Struts 2 创建系统的 Action 代理时,需要使用 Struts 2 的配置文件。 Struts 2 的配置文件有两份: 排课系统 3 配置 Action 的 struts.xml 文件。 配置 Struts 2 全局属性的 struts.properties 文件。 struts.xml 文件内定义了 Struts 2 的系列 Action,定义 Action 时,指定 该 Action 的实现类,并定义该 Action 处理结果与视图资源之间的映射关系。 排课系统 4 第第 3

18、3 章章 系统的设计系统的设计 3.1 系统需求 本系统完成系部信息管理,专业信息管理,自然班信息管理,专业课程信 息管理,自然班课程信息管理,课程班课程信息管理,教师信息管理,教室信 息管理,用户信息管理,用户登陆,设置教学时间段,设置排课计划信息,自 动排课,查询课表。 3.2 功能划分 程序功能表 表表 3-2-13-2-1 子系统名称程序单元或模块(实现功能需求) 登陆系统UserAction (login 方法) 修改课节数DayTimeClassesAction(modify 方法) 添加系部信息DepartmentAction(add 方法) 删除系部信息DepartmentAc

19、tion(delete 方法) 修改系部信息DepartmentAction(modify 方法) 添加专业信息ProfessionAction(add 方法) 删除专业信息ProfessionAction(delete 方法) 修改专业信息ProfessionAction(modify 方法) 添加自然班信息NaturalclassAction (add 方法) 删除自然班信息NaturalclassAction(delete 方法) 修改自然班信息NaturalclassAction(modify 方法) 添加专业课程信息ProfessionCourseAction (add 方法) 排课

20、系统 5 删除专业课程信息ProfessionCourseAction(delete 方法) 修改专业课程信息ProfessionCourseAction (modify 方法) 添加自然班课程信息NaturalclassCourseAction (add 方法) 删除自然班课程信息NaturalclassCourseAction(delete 方法) 添加课程班课程信息CourseclassCourseAction (add 方法) 删除课程班课程信息CourseclassCourseAction (delete 方法) 添加排课计划信息ClassesPlanAction (add 方法)

21、删除排课计划信息ClassesPlanAction (delete 方法) 自动排课AutoClassesAction (autoClasses 方法) 查询教师课表SeeClassesAction (findCourseByTeacherid 方法) 查询教室课表SeeClassesAction (findCourseByRoomid 方法) 查询自然班课表SeeClassesAction (findCourseByNaturalclassid 方法) 3.3 构架设计 系统的构架如图所示: 排课系统 6 图图 3-3-13-3-1 3.4 模块设计 3.4.1 录入信息模块 1.系部信息

22、I 系部编号有 2 位阿拉伯数字构成,输入系部名称尽量做到见名知义,联 系人是指该系部的主要负责人的名称 II 主要的功能可对信息完成添加,修改,删除信息, 退出.。 2.专业信息 I 专业编号有 4 位阿拉伯数字构成,其中前 2 位是对应的系部编号,与之 关联的系部名称,输入专业名称尽量做到见名知义,年制。 II 主要的功能可对信息完成添加,修改,删除信息, 退出.。 排课系统 7 3. 自然班信息 I 自然班编号有 6 位阿拉伯数字构成,其中前 4 位是对应的专业编号。与 之关联的专业名称,输入自然班名称尽量做到见名知义,学生人数,入学年份。 II 主要的功能可对信息完成添加,修改,删除信

23、息, 退出.。 4. 专业课程信息 I 专业名称从专业信息表中得到,课程编号是自动编号,课程名称,周课 时是对应的一周上的课时,教室类型是总共分为四种分别是普通教室,多媒体, 机房,实验室,考核类型分为两种分别是考试类型,考核类型,学期。 II 主要的功能可对信息完成添加,修改,删除信息, 退出.。 5. 自然班课程信息 I 系部名称是从系部信息表中得到,专业名称从专业信息表中得到,自然 班名称从自然班信息表中得到,课程名称是从专业课程信息表。 II 主要的功能可对信息完成设置自然班课程信息,删除自然班课程信息, 退出.。 6. 课程班课程信息 I 课程名称从自然班课程信息表中得到,系部名称是

24、从系部信息表,专业 名称是从专业信息表,自然班名称是从自然班课程信息表,课程班编号是自动 编号,课程班名称要做到件见名知义。 II 主要的功能可对信息完成设置课程班课程信息,删除课程班课程信息, 退出.。 7. 教师信息 I 教师编号有 4 位阿拉伯数字构成,输入教师名称尽量做到见名知义。 II 主要的功能可对信息完成添加,修改,删除信息, 退出.。 8. 教室信息 I 教室编号有 4 位阿拉伯数字构成,输入教室名称尽量做到见名知义,教 师类型,容量人数。 II 主要的功能可对信息完成添加,修改,删除信息, 退出.。 排课系统 8 3.4.2 排课计划 1. 设置排课计划信息 I 系部名称从系

25、部信息表中得到,专业名称是从专业信息表,课程班名称 是从课程班课程信息表,课程名称是从专业课程信息表中得到,进而索引出教 室类型,考核类型,周课时,通过周课时来设置它的累排类型,累排类型是将 周课时分成多次上课,然后在设置教师名称,教师名称从教师信息表中得到。 II 主要的功能可对信息完成设置排课计划信息,删除排课计划信息,退出. 3.4.3 自动排课 I 自动排课是采用按教室稀缺性优先回溯,采用回溯算法 II 主要的功能可对信息完成自动设置教室和时间段,退出. 3.4.4 查询并打印课表 1. 教师查询 I 通过教师名称查询教师在一周内上课的情况,主要显示课程,班级,教 室信息 II 主要的

26、功能可对信息完成查询和打印,退出.。 2. 教室查询 I 通过教室名称查询教室在一周内上课的情况,主要显示课程,班级,教 师信息 II 主要的功能可对信息完成查询和打印,退出.。 3. 自然班查询 I 通过自然班名称查询班级在一周内上课的情况,主要显示课程,教师, 教室信息 II 主要的功能可对信息完成查询和打印,退出.。 排课系统 9 3.5 数据库设计 在设计一个优秀的管理系统的同时,必需有一个优良的数据库,这样才可 以提高一个系统的效率,还可以使提高数据的存储效率和数据的完整性、一致 性,根据需求分析我们可以列出数据项和数据结构: (1).用户信息表:包括用户名和密码 (2).课节时段信

27、息表:包括学年学期,周天数,上午课时,下午课时,晚 上课时。 (3).系部信息表:包括系部编号,系部名称、联系人。 (4).专业信息表:包括系部编号、专业编号、专业名称、年制。 (5).自然班信息表:系部编号、专业编号、自然班编号、自然班名称、入 学年份 学生人数。 (7).专业课程信息表:专业编号、课程编号、课程名称、周课时、教室类 型、考核类型、学期。 (8).自然班课程信息表:系部编号、专业编号、自然班编号、课程编号、 课程名称、教室类型、考核类型、学期。 (9).课程班课程信息表:系部编号、专业编号、自然班编号、课程编号、 课程名称、课程班编号、课程班名称、教室类型、考核类型、学期。

28、(10).排课计划信息表:自动编号、课程班编号、课程班名称、教室类型、 考核类型、学期、课节数、第几次、排课标志。 (11).教室信息表:教室编号、教室名称、教室类型、容量人数。 (12)教师信息表:教师编号、教师名称。 (13).排课计划信息表:自动编号、学期、时间段、教室编号、教师编号、 课程班编号、课节数、第几次。 用户信息 user userid主键(自动编号)不能为空 username字符类型(20)不能为空 排课系统 10 password字符类型(20)不能为空 表 3-5-1 课节时段表 daytime id主键(自动编号)不能为空 academicsemeter字符类型(20

29、)学年学期不能为空 amInt 类型不能为空 pmInt 类型不能为空 nightInt 类型不能为空 weekdayInt 类型不能为空 表 3-5-2 系部信息表 Departemnt departmentid主键(自动编号)不能为空 departmentname字符类型(10)不能为空 linkman字符类型(10) 表 3-5-3 专业信息表 Profession departmentid长整型不能为空 professionid主键(自动编号)不能为空 professionname字符类型(10)不能为空 yearsystem长整型不能为空 表 3-5-4 自然班信息表 natural

30、class departmentid长整型不能为空 professionid长整型不能为空 naturalclassid主键(自动编号)不能为空 排课系统 11 enteryear长整型不能为空 naturalclassname字符类型(20)不能为空 Studentnumber整形不能为空 表 3-5-5 专业课程信息表 ProfessionCourse professionid长整型不能为空 courseid主键(自动编号)不能为空 coursename字符类型(20)不能为空 weeklesson长整型不能为空 roomtype字符类型(20)不能为空 investype字符类型(20)

31、不能为空 yearsemeter 长整型不能为空 表 3-5-6 自然班课程信息表 naturalclassCourse departmentid长整型不能为空 professionid长整型不能为空 naturalclassid长整型不能为空 courseid主键(长整型)不能为空 coursename字符类型(20)不能为空 weeklesson长整型不能为空 roomtype字符类型(20)不能为空 investype 字符类型(20)不能为空 yearsemeter长整型不能为空 表 3-5-7 课程班课程信息表 courseclassCourse 排课系统 12 number主键(自

32、动编号)不能为空 departmentid长整型不能为空 professionid长整型不能为空 naturalclassid长整型不能为空 courseid主键(长整型)不能为空 coursename字符类型(20)不能为空 courseclassid(自动编号)不能为空 courseclassname字符类型(20)不能为空 weeklesson长整型不能为空 roomtype字符类型(20)不能为空 investype 字符类型(20)不能为空 yearsemeter长整型不能为空 表 3-5-8 教师信息表 teacher teacherid主键(自动编号)不能为空 teacherna

33、me字符类型(20)不能为空 表 3-5-9 教室信息表 room roomid主键(自动编号)不能为空 roomname字符类型(20)不能为空 roomtype字符类型(20)不能为空 capacity长整型不能为空 表 3-5-10 排课计划信息表 classesPlan numberPlan主键(自动编号)不能为空 courseclassid长整型不能为空 排课系统 13 yearsemeter长整型不能为空 weeklesson长整型不能为空 roomtype字符类型(20)不能为空 lesson长整型不能为空 teacherid长整型不能为空 numbertime长整型不能为空 c

34、lassessign布尔类型不能为空 表 3-5-11 课表信息表 courseTable number主键(自动编号)不能为空 yearsemeter长整型不能为空 occupation字符类型(100)不能为空 teacherid长整型不能为空 courseclassid长整型不能为空 roomid长整型不能为空 lesson长整型不能为空 numbertime长整型不能为空 表 3-5-12 排课系统 14 第第 4 4 章章 系统的实现系统的实现 4.1 各模块的具体实现 本系统采用 Struts2 框架来制作。需要加入 Struts2 相关的 jar 包,分别 是:commons-l

35、ogging-1.0.4.jar, commons-logging-api-1.1.jar, ognl- 2.6.11.jar, struts2-core-2.0.11.jar, Xwork-2.0.4.jar, freemarker-2.3.8.jar, struts2-config-browser- plugin-2.0.11.2.jar (本 jar 包主要是用户来测试程序作用),在新建 Web.xml 文件中添加 struts2 拦截器,加入以下代码 struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExec

36、ute Filter struts2 /* 在 src 目录下添加 struts.xml 和 struts.propertios 文件,并将 strusts.propertios 中的 devMode 设置为 true (将开发模式为调试模式) 4.1.1 登录窗体的设计 该模块功能即实现用户登陆。系统管理员进入后可看见所有的功能模块。 登陆页面如图所示 排课系统 15 图 4-1-1-1 实现的过程如下: 登陆模块 设计者张磊设计日期审核者审核日期 程序名称登陆系统标识符LoginSystem 数据库表 User 输入 用户名称,用户密码 输出登陆成功或失败 程序处理 说明 调用方法 (创建

37、登陆页面) 编写一个 action(UserAction.java) 添加一个 user.xml 并在其中配置相应的登陆信息 在包含到 struts.xml 文件中 表 4-1-1-1 UserAction.java 中的 login 方法中 伪代码如下: 1.验证用户名是否存在,返回一个 String 类型 2.验证密码是否正确,返回一个 String 类型 3.验证用户名和密码都通过,返回一个 String 类型 4.将返回的 String 类型保存在 error 中,在 request 中设置 5.前台中的 onload 事件判断 error 的值,返回相应的提示信息 排课系统 16 流

38、程图如下: 提示用户名不存在或密码 错误 (重复)输入信息 用户是 否存在 进入主页 信息是否 为空 登陆 提示输入信 息不全 N Y 图 4-1-1-2 4.1.2 系统主界面窗体 进入本系统可以对排课信息进行添加、删除、修改等操作,自动排课,查 询课表操作。以下是系统的主界面如图所示 图 4-1-2-1 排课系统 17 4.1.3 排课信息浏览 此页面介绍下排课计划信息浏览,其它的排课信息模块相同,其图如下: 图 4-1-3-1 其实现过程如下: 排课信息浏览 设计者张磊设计日期审核者审核日期 程序名称排课计划信息列表标识符PlanClassesShow 数据库表 PlanClasses

39、输入 输出系部信息列表 程序处理 说明 链接系部信息 (转向 struts) 编写一个 action(PlanClassesAction.java)从数据库中获取排课计划信息列 表,并显示到 jsp 页面上 添加一个 planClasses.xml 并在其中配置相应的浏览信息 在包含到 struts.xml 文件中 表 4-1-3-1 PlanClassesAction.java 伪代码如下: 1.从排课计划信息表中查询所有的信息并保存到 planClassessList(List)中。 2.在显示的 jsp 页面中使用标签显示信息。 流程图如下: 排课系统 18 单击排课计划信 息 排课计划

40、信 息是否存在 显示信息为空 (红色标记) N Y 显示排课计划信 息列表 图 4-1-3-2 4.1.5 教师信息添加 此页面介绍下教师信息添加,其图如下: 图 4-1-5-1 实现过程如下: 教师信息添加模块 设计者张磊设计日期审核者审核日期 程序名称添加教师信息标识符TeacherAdd 数据库表 Teacher 输入 教师名称(String) 输出添加信息成功或失败 程序处理 说明 链接教师信息 (转向 struts) 编写一个 action(TeacherAction.java)向数据库中添加记录 添加一个 teacher.xml 并在其中配置相应的添加教师信息 排课系统 19 在包

41、含到 struts.xml 文件中 表 4-1-5-1 TeacherAction.java 伪代码如下: 1.将所有相关的信息添加到数据库中调用添加 add 方法 2.添加完信息,转向到浏览教师信息页面(jsp)(添加信息成功) 流程如下: 提示教师信息重复 (重复)输入信息 教师信息是 否重复 浏览教师信息 信息是否 为空 添加 提示输入信 息不全 N Y 图 4-1-5-2 4.1.6 教室信息修改 此页面介绍下教室信息修改,其图如下: 排课系统 20 图 4-1-6-1 实现过程如下: 教室信息修改模块 设计者张磊设计日期审核者审核日期 程序名称修改教室信息标识符RoomModify

42、数据库表 Room 输入教室名称(String) 输出修改信息成功或失败 程序处理 说明 链接专业信息 (转向 struts) 编写一个 action(RoomAction.java)向数据库中添加记录 添加一个 room.xml 并在其中配置相应的修改自然班信息 在包含到 struts.xml 文件中 表 4-1-6-1 RoomAction.java 伪代码如下: 1.判断与数据库中是否重复,调用 action 中的 modfiy 方法 2.修改完信息,转向到浏览教室信息页面(jsp) (修改信息成功) 流程图如下; 提示教室信息不存在 (重复)输入信息 教室信息是 否重复 浏览教室信息

43、信息是否 为空 修改 提示输入信 息不全 N Y 图 4-1-6-2 排课系统 21 4.1.6 系部信息删除 此页面介绍下系部信息删除,其图如下: 图 4-1-6-1 实现过程如下: 系部信息删除模块 设计者张磊设计日期审核者审核日期 程序名称删除系部信息标识符DepartmentDelete 数据库表 Department 输入 输出删除成功或删除资源已经被专业信息表占用,请现释放资源 程序处理 说明 链接系部信息 (转向 struts) 编写一个 action(DepartmentAction.java)向数据库中添加记录 添加一个 department.xml 并在其中配置相应的修改系

44、部信息 在包含到 struts.xml 文件中 表 4-1-6-1 DepartmentAction.java 伪代码如下: 1.判断与数据库中是否资源释放被占用,调用 action 中的 delete 方法 2.修改完信息,转向到浏览系部信息页面(jsp) (删除信息成功) 流程图如下: 排课系统 22 资源是否被 占用 资源被占用 删除 Y 图 4-1-6-2 4.1.7 自动排课 此页面介绍下自动排课,其图如下: 图 4-1-7-1 实现过程如下: 自动排课模块 设计者张磊设计日期审核者审核日期 程序名称自动排课标识符autoClasses 数据库表 PlanClasses, Cours

45、eTable 输入 排课计划信息 输出生成课表信息 程序处理 说明 链接系部信息 (转向 struts) 编写一个 action(AutoClassesAction.java)向数据库中添加记录 添加一个 autoClasses.xml 并在其中配置相应的修改系部信息 在包含到 struts.xml 文件中 表 4-1-7-1 排课系统 23 AutoClassesAction.java 伪代码如下: 1. 判断与数据库中是否设置排课计划,调用 action 中的 autoClasses 方法 详细过程参考(算法设计文档) 流程图如下: 提示是否自 动排课 自动排课 图 4-1-7-2 4.1

46、.8 查询课表 此页面介绍下查询课表,其图如下: 图 4-1-8 -1 实现过程如下: 排课系统 24 查询课表模块 设计者张磊设计日期审核者审核日期 程序名称查询课表标识符SeeCourseTable 数据库表所有表 输入 相应的查询课表信息 输出生成课表信息 程序处理 说明 链接系部信息 (转向 struts) 编写一个 action(SeeCourseTableAction.java)向数据库中添加记录 添加一个 autoClasses.xml 并在其中配置相应的修改系部信息 在包含到 struts.xml 文件中 表 4-1-8-1 SeeCourseTableAction.java

47、伪代码如下: 1. 根据教室编号查询课表信息,调用 action 中的 seeRoom 方法 详细过程参考(算法设计文档) 流程图如下: 显示教室课 表信息 选择教室名称 图 4-1-8-2 4.2 类的定义 4.2.1 用户信息结构 用户信息结构类 User 类 useridint 类型 usernameString 类型 排课系统 25 passwordString 类型 UserDao 类 PAGESIZEint 类型 设置分页浏览记录数 PAGENOint 类型 设置默认显示页数 userInsert添加用户信息 userDelete删除用户信息 userModify修改用户信息 fi

48、ndUserById根据用户编号查询用户信息 isUsername验证用户名称 isPassword验证密码 totalPage用户信息记录总数 userPage分页显示用户信息 userHomePage显示主页用户信息 UserAction(Struts2 控制器) pageint 类型 当前页码 totalpageint 类型 总记录数 usernameString 类型 用户名称 passwordString 类型 密码 user用户信息 userList用户列表 input转向添加用户信息页面 add添加用户信息 delete删除用户信息 show转向修改用户信息页面 modfiy修改

49、用户信息 findpage根据页码查询相应用户信息列表 list显示主页用户信息列表 previous返回上页 next返回下页 排课系统 26 buttom返回尾页 login登陆系统 表 4-2-1 4.2.2 系部信息结构 系部信息结构类 Department 类 departmentidint 类型 departmentnameString 类型 linkmanString 类型 DepartmentDao 类 PAGESIZEint 类型 设置分页浏览记录数 PAGENOint 类型 设置默认显示页数 departmentInsert添加系部信息 departmentDelete删除系部信息 departmentModify修改系部信息 findDepartmentById根据系部编号查询系部信息 isValidateByName验证系部名称 departmentAllShow显示所有的系部信息 findIdByName根据系部名称查询系部编号 findNam

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

当前位置:首页 > 其他


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