毕业设计(论文)-高校排课系统设计与实现.doc_第1页
毕业设计(论文)-高校排课系统设计与实现.doc_第2页
毕业设计(论文)-高校排课系统设计与实现.doc_第3页
毕业设计(论文)-高校排课系统设计与实现.doc_第4页
毕业设计(论文)-高校排课系统设计与实现.doc_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

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

文档简介

xinyu college 毕业设计(论文)毕业设计(论文) (20102010 届)届) 题题 目目 排排课课系系统统 学学 号号 姓姓 名名 所所 属属 系系 计计算机与信息工程系算机与信息工程系 专专 业业 软软件技件技术术 班班 级级 二班二班 指指导导教教师师 朱朱卫华卫华( (讲师讲师) ) 新余高等专科学校教务处新余高等专科学校教务处 排课系统 ii 排课系统排课系统 摘摘 要要 排课是高校教学管理中最基本最重要同时也是最复杂的管理工作之一,其 实质就是为学校所设置的课程安排一组适当的教学时间与空间,从而使整个教学 能够按计划有秩序地进行随着计算机技术的飞速发展,计算机在管理中应用的 普及,利用计算机实现自动排课的管理势在必行本系统结合学校实际的排课问 题,经过实际的需求分析,采用功能强大的 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 scheduling 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 application 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 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.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 教师信息添加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.3.1 数据的初始化 .34 4.3.2 算法过程:35 第第 5 5 章章 总结与展望总结与展望3838 5.1 总结38 5.2 展望38 致 谢3939 参考文献4040 排课系统 1 引言引言 对于每个学校来说,每到一个新学期的开始,首当其冲的任务就是该学期 的课程如何安排的问题,而课程安排又涉及年级、班级、教师、课程、学校等 方方面面的因素,如何排出一个好并且适用的课程表,是一项复杂的系统工程, 充分考验了排课人的智慧。传统的人工进行排课,最令人担心的问题就是 出现教室资源冲突或教师资源冲突的情况。而且工作繁琐,工作量巨大。计算 机软件技术应用于学校的课程安排是发展的必然。充分发挥计算机的优势,将 大量复杂的判断与运算交给计算机来做,是真正意义上的人脑的“减负” 。利用 计算机辅助进行课表编排工作,既提高了排课工作的科学性,又可大大减轻管 理人员的工作强度,提高工作效率,从而使学校教务管理现代化迈上了一个新 台阶。 排课系统 1 第第 1 1 章章 概论概论 1.1 背景 对于每个学校来说,每到一个新学期的开始,首当其冲的任务就是该学期 的课程如何安排的问题,而课程安排又涉及年级、班级、教师、课程、学校等 方方面面的因素,如何排出一个好并且适用的课程表,是一项复杂的系统工程, 充分考验了排课人的智慧。传统的人工进行排课,最令人担心的问题就是 出现教室资源冲突或教师资源冲突的情况。而且工作繁琐,工作量巨大。计算 机软件技术应用于学校的课程安排是发展的必然。充分发挥计算机的优势,将 大量复杂的判断与运算交给计算机来做,是真正意义上的人脑的“减负” 。利用 计算机辅助进行课表编排工作,既提高了排课工作的科学性,又可大大减轻管 理人员的工作强度,提高工作效率,从而使学校教务管理现代化迈上了一个新 台阶。 1.2 论文的组织 1.2.1 技术基础 主要介绍系统是采用的技术, struts2 其实并不是一个陌生的 web 框架, struts2 是以 webwork 的设计思想为核心,吸收了 struts1 的优点,因此,可 以认为 struts2 是 struts1 和 webwork 结合的产物。 1.2.2 系统的设计 系统分为四个模块分别是录入信息,设置排课计划,自动排课,查询课表。 录入信息有系部信息,专业信息,自然班信息,专业课程信息,自然班课程信 息,课程班课程信息,教室信息,教师信息。根据教学计划任务书设置排课计 划。自动排课使用回溯算法主要对教室资源信息进行选择,其核心的过程是系 统分配一个排课计划信息,根据其教室类型查询对应的教室信息,在分别查询 排课系统 2 教师时间段,课程班时间段,教室时间段,将三者的时间段进行“或”操作, 再找出最优时间片。如果没有找到最优时间片,就将回溯到上一条记录,依此 类推,直到所有的排课计划都找到对应的教室信息。查询课表分为三个模块, 分别是自然班课表,教室课表,教师课表,都是根据其标号查询对应的课表信 息,自然班需要根据课程班编号查询对应的课表信息。 1.2.3 系统的实现 全部采用 struts2 的 mvc 框架来实现功能,其核心是 action,action 是 mvc 框架中的控制层,所有的逻辑操作都在这里实现,model 层主要是 java 类, 本系统有用户类,教学时间段类,系部类,专业类,自然班类,专业课程类, 自然班课程类型,课程班课程类,教室类,教师类,排课计划类,课表信息类。 view 主要采用 jsp 作为主要显示页面,使用 ext 技术制作系统的主界面,jsp 页面中的联动菜单主要使用 ajax 技术,客户端的验证使用 javascript,服务 端的验证在有 struts 完成。系统的最难点是自动排课的实现,对自动排课的功 能,对其的子功能做了大量的单元测试,以此来保持自动排课的稳定性。 1.2.4 系统的总结与展望 由于时间的原因,没有实现手动排课以及排空课的功能。对与数据库的设 计不是很好,还需要改进的地方,使用的面向对象编程所写的类没有实现代码 复用的特点,还需要更加深入的了解面向对象的思想,对系统的实用性,可以 应用于高校排课(学分制)可以实现合班上课,系统的相比原点排课系统多了 合班功能,为了应对学校需求,才制作的改进版排课系统。通过大量的测试后, 能够推广使用。 排课系统 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 技术特点 struts2 核心控制器:filterdispatcher struts 2 用于处理用户请求的 action 实例,并不是用户实现的业务控制器, 而是 action 代理因为用户实现的业务控制器并没有与 servlet api 耦合, 显然无法处理用户请求。而 struts 2 框架提供了系列拦截器,该系列拦截器负 责将 httpservletrequest 请求中的请求参数解析出来,传入到 action 中,并 回调 action 的 execute 方法来处理用户请求。显然,上面的处理过程是典型的 aop(面向切面编程)处理方式。 排课系统 2 图 2-2-1 ajax 的最大机遇在于用户体验。在使应用更快响应和创新的过程中,定义 web 应用的规则正在被重写;因此开发人员必须更注重用户。现在用户已经逐渐 习惯如何使用 web 应用了。例如用户通常希望每一次按钮点击会导致几秒的延 迟和屏幕刷新,但 ajax 正在打破这种长时间的状况。因此用户需要重新体验按 钮点击的响应了。 可用性是 ajax 令人激动的地方而且已经产生了几种新颖的技术。其中最引 人注目的是一种称为“黄色隐出”的技术,他在数据更新之前时将用户界面变 为黄色,更新完成后立刻恢复原来的颜色。ajax 开发人员将用户从 web 应用的 负载中解放出来;小心地利用 ajax 提供的丰富接口,不久桌面开发人员会发现 ajax 是他们的方向。 2.3 struts2 框架介绍 2.3.1 struts2 配置文件 当 struts 2 创建系统的 action 代理时,需要使用 struts 2 的配置文件。 struts 2 的配置文件有两份: 排课系统 3 配置 action 的 struts.xml 文件。 配置 struts 2 全局属性的 perties 文件。 struts.xml 文件内定义了 struts 2 的系列 action,定义 action 时,指定 该 action 的实现类,并定义该 action 处理结果与视图资源之间的映射关系。 排课系统 4 第第 3 3 章章 系统的设计系统的设计 3.1 系统需求 本系统完成系部信息管理,专业信息管理,自然班信息管理,专业课程信 息管理,自然班课程信息管理,课程班课程信息管理,教师信息管理,教室信 息管理,用户信息管理,用户登陆,设置教学时间段,设置排课计划信息,自 动排课,查询课表。 3.2 功能划分 程序功能表 表表 3-2-13-2-1 子系统名称程序单元或模块(实现功能需求) 登陆系统useraction (login 方法) 修改课节数daytimeclassesaction(modify 方法) 添加系部信息departmentaction(add 方法) 删除系部信息departmentaction(delete 方法) 修改系部信息departmentaction(modify 方法) 添加专业信息professionaction(add 方法) 删除专业信息professionaction(delete 方法) 修改专业信息professionaction(modify 方法) 添加自然班信息naturalclassaction (add 方法) 删除自然班信息naturalclassaction(delete 方法) 修改自然班信息naturalclassaction(modify 方法) 添加专业课程信息professioncourseaction (add 方法) 排课系统 5 删除专业课程信息professioncourseaction(delete 方法) 修改专业课程信息professioncourseaction (modify 方法) 添加自然班课程信息naturalclasscourseaction (add 方法) 删除自然班课程信息naturalclasscourseaction(delete 方法) 添加课程班课程信息courseclasscourseaction (add 方法) 删除课程班课程信息courseclasscourseaction (delete 方法) 添加排课计划信息classesplanaction (add 方法) 删除排课计划信息classesplanaction (delete 方法) 自动排课autoclassesaction (autoclasses 方法) 查询教师课表seeclassesaction (findcoursebyteacherid 方法) 查询教室课表seeclassesaction (findcoursebyroomid 方法) 查询自然班课表seeclassesaction (findcoursebynaturalclassid 方法) 3.3 构架设计 系统的构架如图所示: 排课系统 6 图图 3-3-13-3-1 3.4 模块设计 3.4.1 录入信息模块 1.系部信息 i 系部编号有 2 位阿拉伯数字构成,输入系部名称尽量做到见名知义,联 系人是指该系部的主要负责人的名称 ii 主要的功能可对信息完成添加,修改,删除信息, 退出.。 2.专业信息 i 专业编号有 4 位阿拉伯数字构成,其中前 2 位是对应的系部编号,与之 关联的系部名称,输入专业名称尽量做到见名知义,年制。 ii 主要的功能可对信息完成添加,修改,删除信息, 退出.。 排课系统 7 3. 自然班信息 i 自然班编号有 6 位阿拉伯数字构成,其中前 4 位是对应的专业编号。与 之关联的专业名称,输入自然班名称尽量做到见名知义,学生人数,入学年份。 ii 主要的功能可对信息完成添加,修改,删除信息, 退出.。 4. 专业课程信息 i 专业名称从专业信息表中得到,课程编号是自动编号,课程名称,周课 时是对应的一周上的课时,教室类型是总共分为四种分别是普通教室,多媒体, 机房,实验室,考核类型分为两种分别是考试类型,考核类型,学期。 ii 主要的功能可对信息完成添加,修改,删除信息, 退出.。 5. 自然班课程信息 i 系部名称是从系部信息表中得到,专业名称从专业信息表中得到,自然 班名称从自然班信息表中得到,课程名称是从专业课程信息表。 ii 主要的功能可对信息完成设置自然班课程信息,删除自然班课程信息, 退出.。 6. 课程班课程信息 i 课程名称从自然班课程信息表中得到,系部名称是从系部信息表,专业 名称是从专业信息表,自然班名称是从自然班课程信息表,课程班编号是自动 编号,课程班名称要做到件见名知义。 ii 主要的功能可对信息完成设置课程班课程信息,删除课程班课程信息, 退出.。 7. 教师信息 i 教师编号有 4 位阿拉伯数字构成,输入教师名称尽量做到见名知义。 ii 主要的功能可对信息完成添加,修改,删除信息, 退出.。 8. 教室信息 i 教室编号有 4 位阿拉伯数字构成,输入教室名称尽量做到见名知义,教 师类型,容量人数。 ii 主要的功能可对信息完成添加,修改,删除信息, 退出.。 排课系统 8 3.4.2 排课计划 1. 设置排课计划信息 i 系部名称从系部信息表中得到,专业名称是从专业信息表,课程班名称 是从课程班课程信息表,课程名称是从专业课程信息表中得到,进而索引出教 室类型,考核类型,周课时,通过周课时来设置它的累排类型,累排类型是将 周课时分成多次上课,然后在设置教师名称,教师名称从教师信息表中得到。 ii 主要的功能可对信息完成设置排课计划信息,删除排课计划信息,退出. 3.4.3 自动排课 i 自动排课是采用按教室稀缺性优先回溯,采用回溯算法 ii 主要的功能可对信息完成自动设置教室和时间段,退出. 3.4.4 查询并打印课表 1. 教师查询 i 通过教师名称查询教师在一周内上课的情况,主要显示课程,班级,教 室信息 ii 主要的功能可对信息完成查询和打印,退出.。 2. 教室查询 i 通过教室名称查询教室在一周内上课的情况,主要显示课程,班级,教 师信息 ii 主要的功能可对信息完成查询和打印,退出.。 3. 自然班查询 i 通过自然班名称查询班级在一周内上课的情况,主要显示课程,教师, 教室信息 ii 主要的功能可对信息完成查询和打印,退出.。 排课系统 9 3.5 数据库设计 在设计一个优秀的管理系统的同时,必需有一个优良的数据库,这样才可 以提高一个系统的效率,还可以使提高数据的存储效率和数据的完整性、一致 性,根据需求分析我们可以列出数据项和数据结构: (1).用户信息表:包括用户名和密码 (2).课节时段信息表:包括学年学期,周天数,上午课时,下午课时,晚 上课时。 (3).系部信息表:包括系部编号,系部名称、联系人。 (4).专业信息表:包括系部编号、专业编号、专业名称、年制。 (5).自然班信息表:系部编号、专业编号、自然班编号、自然班名称、入 学年份 学生人数。 (7).专业课程信息表:专业编号、课程编号、课程名称、周课时、教室类 型、考核类型、学期。 (8).自然班课程信息表:系部编号、专业编号、自然班编号、课程编号、 课程名称、教室类型、考核类型、学期。 (9).课程班课程信息表:系部编号、专业编号、自然班编号、课程编号、 课程名称、课程班编号、课程班名称、教室类型、考核类型、学期。 (10).排课计划信息表:自动编号、课程班编号、课程班名称、教室类型、 考核类型、学期、课节数、第几次、排课标志。 (11).教室信息表:教室编号、教室名称、教室类型、容量人数。 (12)教师信息表:教师编号、教师名称。 (13).排课计划信息表:自动编号、学期、时间段、教室编号、教师编号、 课程班编号、课节数、第几次。 用户信息 user userid主键(自动编号)不能为空 username字符类型(20)不能为空 排课系统 10 password字符类型(20)不能为空 表 3-5-1 课节时段表 daytime id主键(自动编号)不能为空 academicsemeter字符类型(20)学年学期不能为空 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 自然班信息表 naturalclass departmentid长整型不能为空 professionid长整型不能为空 naturalclassid主键(自动编号)不能为空 排课系统 11 enteryear长整型不能为空 naturalclassname字符类型(20)不能为空 studentnumber整形不能为空 表 3-5-5 专业课程信息表 professioncourse professionid长整型不能为空 courseid主键(自动编号)不能为空 coursename字符类型(20)不能为空 weeklesson长整型不能为空 roomtype字符类型(20)不能为空 investype字符类型(20)不能为空 yearsemeter 长整型不能为空 表 3-5-6 自然班课程信息表 naturalclasscourse departmentid长整型不能为空 professionid长整型不能为空 naturalclassid长整型不能为空 courseid主键(长整型)不能为空 coursename字符类型(20)不能为空 weeklesson长整型不能为空 roomtype字符类型(20)不能为空 investype 字符类型(20)不能为空 yearsemeter长整型不能为空 表 3-5-7 课程班课程信息表 courseclasscourse 排课系统 12 number主键(自动编号)不能为空 departmentid长整型不能为空 professionid长整型不能为空 naturalclassid长整型不能为空 courseid主键(长整型)不能为空 coursename字符类型(20)不能为空 courseclassid(自动编号)不能为空 courseclassname字符类型(20)不能为空 weeklesson长整型不能为空 roomtype字符类型(20)不能为空 investype 字符类型(20)不能为空 yearsemeter长整型不能为空 表 3-5-8 教师信息表 teacher teacherid主键(自动编号)不能为空 teachername字符类型(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长整型不能为空 classessign布尔类型不能为空 表 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-logging-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-.jar (本 jar 包主要是用户来测试程序作用),在新建 web.xml 文件中添加 struts2 拦截器,加入以下代码 struts2 org.apache.struts2.dispatcher.ng.filter.strutsprepareandexecute filter struts2 /* 在 src 目录下添加 struts.xml 和 pertios 文件,并将 pertios 中的 devmode 设置为 true (将开发模式为调试模式) 4.1.1 登录窗体的设计 该模块功能即实现用户登陆。系统管理员进入后可看见所有的功能模块。 登陆页面如图所示 排课系统 15 图 4-1-1-1 实现的过程如下: 登陆模块 设计者张磊设计日期审核者审核日期 程序名称登陆系统标识符loginsystem 数据库表 user 输入 用户名称,用户密码 输出登陆成功或失败 程序处理 说明 调用方法 (创建登陆页面) 编写一个 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 流程图如下: 提示用户名不存在或密码 错误 (重复)输入信息 用户是 否存在 进入主页 信息是否 为空 登陆 提示输入信 息不全 n y 图 4-1-1-2 4.1.2 系统主界面窗体 进入本系统可以对排课信息进行添加、删除、修改等操作,自动排课,查 询课表操作。以下是系统的主界面如图所示 图 4-1-2-1 排课系统 17 4.1.3 排课信息浏览 此页面介绍下排课计划信息浏览,其它的排课信息模块相同,其图如下: 图 4-1-3-1 其实现过程如下: 排课信息浏览 设计者张磊设计日期审核者审核日期 程序名称排课计划信息列表标识符planclassesshow 数据库表 planclasses 输入 输出系部信息列表 程序处理 说明 链接系部信息 (转向 struts) 编写一个 action(planclassesaction.java)从数据库中获取排课计划信息列 表,并显示到 jsp 页面上 添加一个 planclasses.xml 并在其中配置相应的浏览信息 在包含到 struts.xml 文件中 表 4-1-3-1 planclassesaction.java 伪代码如下: 1.从排课计划信息表中查询所有的信息并保存到 planclassesslist(list)中。 2.在显示的 jsp 页面中使用标签显示信息。 流程图如下: 排课系统 18 单击排课计划信 息 排课计划信 息是否存在 显示信息为空 (红色标记) n y 显示排课计划信 息列表 图 4-1-3-2 4.1.5 教师信息添加 此页面介绍下教师信息添加,其图如下: 图 4-1-5-1 实现过程如下: 教师信息添加模块 设计者张磊设计日期审核者审核日期 程序名称添加教师信息标识符teacheradd 数据库表 teacher 输入 教师名称(string) 输出添加信息成功或失败 程序处理 说明 链接教师信息 (转向 struts) 编写一个 action(teacheraction.java)向数据库中添加记录 添加一个 teacher.xml 并在其中配置相应的添加教师信息 排课系统 19 在包含到 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 数据库表 room 输入教室名称(string) 输出修改信息成功或失败 程序处理 说明 链接专业信息 (转向 struts) 编写一个 action(roomaction.java)向数据库中添加记录 添加一个 room.xml 并在其中配置相应的修改自然班信息 在包含到 struts.xml 文件中 表 4-1-6-1 roomaction.java 伪代码如下: 1.判断与数据库中是否重复,调用 action 中的 modfiy 方法 2.修改完信息,转向到浏览教室信息页面(jsp) (修改信息成功) 流程图如下; 提示教室信息不存在 (重复)输入信息 教室信息是 否重复 浏览教室信息 信息是否 为空 修改 提示输入信 息不全 n y 图 4-1-6-2 排课系统 21 4.1.6 系部信息删除 此页面介绍下系部信息删除,其图如下: 图 4-1-6-1 实现过程如下: 系部信息删除模块 设计者张磊设计日期审核者审核日期 程序名称删除系部信息标识符departmentdelete 数据库表 department 输入 输出删除成功或删除资源已经被专业信息表占用,请现释放资源 程序处理 说明 链接系部信息 (转向 struts) 编写一个 action(departmentaction.java)向数据库中添加记录 添加一个 department.xml 并在其中配置相应的修改系部信息 在包含到 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, coursetable 输入 排课计划信息 输出生成课表信息 程序处理 说明 链接系部信息 (转向 struts) 编写一个 action(autoclassesaction.java)向数据库中添加记录 添加一个 autoclasses.xml 并在其中配置相应的修改系部信息 在包含到 struts.xml 文件中 表 4-1-7-1 排课系统 23 autoclassesaction.java 伪代码如下: 1. 判断与数据库中是否设置排课计划,调用 action 中的 autoclasses 方法 详细过程参考(算法设计文档) 流程图如下: 提示是否自 动排课 自动排课 图 4-1-7-2 4.1.8 查询课表 此页面介绍下查询课表,其图如下: 图 4-1-8 -1 实现过程如下: 排课系统 24 查询课表模块 设计者张磊设计日期审核者审核日期 程序名称查询课表标识符seecoursetable 数据库表所有表 输入 相应的查询课表信息 输出生成课表信息 程序处理 说明 链接系部信息 (转向 struts) 编写一个 action(seecoursetableaction.java)向数据库中添加记录 添加一个 autoclasses.xml 并在其中配置相应的修改系部信息 在包含到 struts.xml 文件中 表 4-1-8-1 seecoursetableaction.java 伪代码如下: 1. 根据教室编号查询课表信息,调用 action 中的 seeroom 方法 详细过程参考(算法设计文档) 流程图如下: 显示教室课 表信息 选择教室名称 图 4-1-8-2 4.2 类的定义 4.2.1 用户信息结构 用户信息结构类 user 类 useridint 类型 usernamestring 类型 排课系统 25 passwordstring 类型 userdao 类 pagesizeint 类型 设置分页浏览记录数 pagenoint 类型 设置默认显示页数 userinsert添加用户信息 userdelete删除用户信息 usermodify修改用户信息 finduserbyid根据用户编号查询用户信息 isusername验证用户名称 ispassword验证密码 totalpage用户信息记录总数 userpage分页显示用户信息 userhomepage显示主页用户信息 useraction(struts2 控制器) pageint 类型 当前页码 totalpageint 类型 总记录数 usernamestring 类型 用户名称 passwordstring 类型 密码 user用户信息 userlist用户列表 input转向添加用户信息页面 add添加用户信息 delete删除用户信息 show转向修改用户信息页面 modfiy修改用户信息 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根据系部名称查询系部编号 findnamebyid根据系部编号查询系部名称 totalpage系部信息记录总数 departmentpage分页显示系部信息 departmenthomepage显示主页系部信息 departmentaction(struts2 控制器) pageint 类型 当前页码 totalpageint 类型 总记录数 departmentidint 类型 系部编号 department系部信息 排课系统 27 departmentlist系部列表 input转向添加系部信息页面 add添加系部信息 delete删除系部信息 show转向修改系部信息页面 modfiy修改系部信息 findpage根据页码查询相应系部信息列表 list显示主页系部信息列表 previous返回上页 next返回下页 buttom返回尾页 表 4-2-2 4.2.3 专业信息结构 专业信息结构类 profession 类 departmentidint 类型 departmentnamestring 类型 professionidint 类型 professionnamestring 类型 yearsystemint 类型 professiondao 类 pagesizeint 类型 设置分页浏览记录数 pagenoint 类型 设置默认显示页数 professioninsert添加专业信息 professiondelete删除专业信息 professionmodify修改专业信息 findprofessionbyid根据专业编号查询专业信息 isvalidatebyname验证专业名称 排课系统 28 findlistbydepartmentid根据系部编号查询专业列表信息 findidbyname根据专业名称查询专业编号 findnamebyid根据专业编号查询专业名称 totalpage专业信息记录总数 professionpage分页显示专业信息 professionhomepage显示主页专业信息 professionaction(struts2 控制器) pageint 类型 当前页码 totalpageint 类型 总记录数 professionidint 类型 专业编号 profession专业信息 professionlist专业列表 input转向添加专业信息页面 add添加专业信息 delete删除专业信息 show转向修改专业信息页面 modfiy修改专业信息 findpage根据页码查询相应专业信息列表 list显示主页专业信息列表 previous返回上页 next返回下页 buttom返回尾页 表 4-2-3 4.2.4 专业课程信息结构 专业课程信息结构类 professioncourse professionid长整型不能为空 courseid主键(自动编号)不能为空 排课系统 29 coursename字符类型(20)不能为空 weeklesson长整型不能为空 roomtype字符类型(20)不能为空 investype字符类型(20)不能为空 yearsemeter 长整型不能为空 professioncoursedao 类 pagesizeint 类型 设置分页浏览记录数 pagenoint 类型 设置默认显示页数 professioncourseinsert添加专业课程信息 professioncoursedelete删除专业课程信息 professioncoursemodify修改专业课程信息 findprofessionbyid根据课程编号编号查询专业课程信息 validatebythree根据三者验证课程名称 findprofessioncoursebycourseid根据课程编号查询专业课程信息 findprofessioncoursebyprofessionid根据专业编号查询专业课程信息 findcoursenamebyid根据课程编号查询课程名称 findcourseidbythree根据三者查询课程编号 findcoursenamebytwo根据专业和学期查询课程名称 totalpage专业课程信息记录总数 professioncoursepage分页显示专业课程信息 professioncoursehomepage显示主页专业课程信息 professioncourseaction(struts2 控制器) pageint 类型 当前页码 totalpageint 类型 总记录数 courseidint 类型 课程编号 professioncourse专业课程信息 professioncourselist专业课程列表 input转向添加专业课程信息页面 add添加专业课程信息 排课系统 30 delete删除专业课程信息 show转向修改专业课程信息页面 modfiy修改专业课程信息 findpage根据页码查询相应专业课程信息列表 list显示主页专业课程信息列表 previous返回上页 next返回下页 buttom返回尾页 表 4-2-4 4.2.5 自然班信息结构 自然班信息结构类 naturalclass 类 departmentidint 类型 departmentnamestring 类型 professionidint 类型 professionnamestring 类型 naturalclassidint 类型 naturalclassnamestring 类型 studentnumberint 类型 naturalclassdao 类 pagesizeint 类型 设置分页浏览记录数 pagenoint 类型 设置默认显示页数 naturalclassinsert添加自然班信息 naturalclassdelete删除自然班信息 naturalclassmodify修改自然班信息 findnaturalclassbyid根据自然班编号查询自然班信息 findenteryearbyid根据自然班编号查询入学年份 findnaturallclassbyprofessionid根据专业编号查询自然班信息 排课系统 31 validatebyname验证自然班名称 findlistbyprofessionid根据自然班编号查询自然班列表信息 findidbyname根据自然班名称查询自然班编号 findnamebyid根据自然班编号查询自然班名称 totalpage自然班信息记录总数 naturalclasspage分页显示自然班信息 naturalclasshomepage显示主页自然班信息 naturalclassaction(struts2 控制器) pageint 类型 当前页码 totalpageint 类型 总记录数 naturalclassidint 类型 自然班编号 naturalclass自然班信息 naturalclasslist自然班列表 input转向添加自然班信息页面 add添加自然班信息 delete删除自然班信息 show转向修改自然班信息页面 modfiy修改自然班信息 findpage根据页码查询相应自然班信息列表 list显示主页自然班信息列表

温馨提示

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

评论

0/150

提交评论