XX学院选排课系统毕业论文设计

更新时间:2024-05-24 06:03:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

摘 要

XX学院体育选向课程平台是针对在校学生和教师使用的一个选排课系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。本系统采用B/S架构,构建于JAVA EE平台之上,整个系统应用了MVC三层架构模式。 本系统主要用户是学生、教师、系教务管理员和系统管理员。系统管理员管理系统的基本信息,学生和教师通过系统完成不同的工作。系统需要实现的功能主要有4个,系统管理员对整个系统基本信息的维护,教务人员对课程的编排,教师对应的查课功能,以及学生对应的选课功能。

论文首先对系统进行大致的说明,再介绍了设计开发过程中用到的技术,其次是系统需求分析,系统总体设计,系统详细设计,然后具体讲解了系统的实现与测试,最后对本次论文做了一个小结。

关键字:选排课系统;数据库;选向课程

I

Abstract

The PE Elective and Arrangement Course Platform is aimed to support the students and teachers of XiangNan University for PE course arrangement and election. Its development includes database construction and application program production. This platform which bases on JAVA EE and B/S construction, and platform use MVC three layers framework pattern.

Its majority users are students, teachers, educational managers and platform managers. The platform managers manage the essential information of the system, and the students and teachers finish different work with this system. Through this platform there are 4 tasks that can be finished: platform manager can preserve the information of the whole system, educational managers can arrange the curriculum, the teachers can look for the courses and the students can select courses.

This article take a brief introduction of the system at first, then introduction the technology used during designing and building this system, in the next, analysis the system demand, overall design and detailing structure, then explain the system’s enforce and test in details. In the end, this article takes a conclusion of this system design.

Key words: course selection system, selective curriculum, database

II

1 概述

1.1 选向课程平台介绍

XX学院体育选向课程平台是一个选排课系统,选排课系统作为计算机应用的一部分,使用计算机对课程信息进行管理,有着手工管理所无法比拟的优点[1]。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事劳资管理的效率,也是各大院校科学化、正规化管理的重要条件。XX学院体育选向课程平台主要用户是学生、教师、系教务管理员和系统管理员,教务人员管理系统的基本信息(如课程、老师、学生等),学生和教师通过系统完成不同的工作。系统需要实现的功能总体来说共有4个,分别如下:

(1) 系统管理员可以维护整个系统的基本信息; (2) 教务人员可以对课程进行编排管理; (3) 教师可以查看课表; (4) 学生可以选课;

1.2开发背景及意义

1.2.1背景

目前XX学院体育选向课程采用的方式是教师通过表格手工登记学生选课信息,但是当前XX学院学生人数已经到达2万。如果采取传统的手工方式,就需要教务管理人员和教师花费大量的时间和精力对选课信息进行统计整理,然后根据统计信息进行手动编排课程,这种方式不利于教师及教务管理人员的管理。因此教务处委托谢老师开发一个体育选向课程网站,谢老师把这个当作一个毕业设计课题,我在谢老师的指导下开发了这个系统。

III

1.2.1意义

解决了传统方式所造成的教务管理人员工作的浪费,大大提高了教务管理员的工作效率。

1.3 国内外研究动态

随着Internet的逐步发展,网络不仅仅是科研部门学术交流的平台,在其他的方面上也得到了很大的发展,尤其是在校园网的分支教务管理上[2]。同时在教务管理的主要分支选课排课系统的应用上得到了较大的发展。

国外针对此问题展开的研究较早。1963年C C Gotlieb 在他的文章《The Construction of Class-Teacher Time-Tables》中提出了课表编排的数学模型。这篇文章引起了人们对于选排课问题的重视。

而国内对选排课问题的研究较晚。1984年,清华大学在《清华大学学报》上发表了林漳希和林尧瑞在该课题上的实验性研究成果《人工智能技术在课表编排中的应用》,标志着我国开始了对选排课问题的研究。

目前,我国高校都实行了学分制,它的核心是允许学生自由选课,即把学习的自主权交给学生。在这里,学生选课时的制约因素比较复杂,工作量也很大,而且往往需要在较短的时间内完成。运用计算机辅助选课,即能实时地对大量选课数据进行检验和统计,十分方便地输出选课结果,同时也避免了人工处理时容易产生的错误。在高等学校的教务管理工作中,课程表的编排是一项十分复杂、棘手的工作。在排课过程中,除了满足大量的制约条件以外,还必须解决许多冲突与矛盾[3]。利用计算机辅助进行课表编排工作,既提高了排课工作的科学性,又可大大减轻管理人员的工作强度,提高工作效率,从而使学校教务管理现代化迈上了一个新台阶。

1.4 论文的组织结构

第一章是绪论,简述设计本系统的初衷以及背景。

IV

第二章是开发技术简介,简述本系统开发和设计过程中用的到的主要技术。 第三章是系统需求分析,简述自己分析系统,对项目进行需求分析。 第四章是系统的概要设计,简述系统的概要设计的。 第五章是详细设计,简述系统设计的详细过程。 第六章是系统的实现,简述系统是如何实现的。 第七章是系统的测试,对系统进行必要的测试。

最后是结论,总结了本论文的主要工作和系统特色,以及本次论文设计的心得。

2系统开发环境及相关技术理论介绍

2.1开发环境

2.1.1 硬件环境

CUP:至少PentiumIII800以上 内存:至少128M以上 硬盘:至少20G硬盘空间以上 显示器:15显示器 2.1.2 软件环境

运行环境: Windows 7 开发工具: MyEclipse8.6 数据库: MySQL5.5 Web服务器: Tomcat6.0.32 浏览器: IE 8.0

V

3.2.2技术可行性分析

确定现有的技术是否能解决本该开发项目:本系统主要采用

Struts2+Hibernate+Spring架构,使用JAVA语言,和MySql数据库等主要技术,整个平台构建于JAVA EE之上,比较容易实现。所以在技术上也是可行的。 3.2.3操作可行性分析

确定软件产品是否能够被最终的用户所接受,用户是否能操作最终的产品:本系统采用B/S架构,客户端采用浏览器的形式,操作简单,方便使用。所以在操作上也是可行的。

综上所述,此系统开发目标已明确,在技术和经济,操作三方面都可行,并且投入少、见效快。因此系统的开发是完全可行的。

XVI

4 系统总体设计

4.1 系统功能总体框架

本系统主要有教务管理员、教师、学生和系统管理员四种用户组,功能都是围绕这四个个用户组设计的。

教务管理员相关的功能结构图如图4-1所示:

4-1系教务管理员功能结构图

教师相关的功能结构图如图4-2所示:

4-2教师功能结构图

学生相关的功能结构图如图4-3所示:

XVII

4-3学生功能结构图

系统管理员相关的功能结构图如图4-4所示:

系统总体的功能结构图如图4-5所示:

4-5系统结构图

XVIII

4.2 系统各功能模块设计

经过详尽的需求分析,确定各功能模块内容大致如下: 4.2.1系教务管理员功能模块

系教务管理员注册、登录(注册需要经过认证)后,能自动生成该教务管理员主页,教务管理员应具有根据学生选课信息进行排课(手动和自动)、调课,并生成相应的排课表及可以在自己的主页上发布、删除、修改自己的通知与查看留言等功能。 4.2.2 教师功能模块

教师注册、登录、修改个人信息(注册需要经过认证)后,能自动生成该教师主页,教师可以查看本学期个人课表及系总课表及可以在自己的主页上可以发布、删除、修改自己的留言。 4.2.3 学生功能模块

学生注册、登录后,能自动生成该学生主页,学生可以查看访问教师个人主页,针对不同教师、不同课程(同一名教师的同一门课程,最多人数为35人),学生可以自由选课及留言。 4.2.4后台管理功能模块

后台管理:系统管理员应具有对数据进行添加、删除、更改等维护功能。 4.3 系统总体及各实体用例图设计

系统总体例图如图4-6所示:前端用户包括教务管理员、教师、和学生。

XIX

用户注册 用户登录 查询课表 选课 查看通知 留言 管理员登录 前端用户 用户管理 系统管理员 课程管理 留言管理 通知管理 图4-6 系统总体用例图

XX

5 系统详细设计

5.1系统设计的原则和目标

本系统的设计目标是借助互联网为学校建立的一个选向课程网站,是针对在校学生和教师使用的一个选排课系统,该系统能方便学生的选课,教务管理员对学生选课信息进行排课、调课,学校的教务管理。最终实现了用户和课程的信息化管理。

5.2 系统体系结构的设计

系统依据MVC模式可分为视图层、控制层、模型层。从程序分布位置角度,系统依次分布在浏览器、应用服务器、数据库系统三层,如图5-1所示:

XXI

图5-1 系统体系构架图

5.3 数据库设计

5.3.1 数据库概念结构设计

概念结构的设计是将系统需求分析得到的用户需求抽象为信息结构过程。概念结构设计的结果是数据库的概念模型。只有将系统应用需求为信息世界的结构,才能转化为机器翻译世界中的数据模型,并用DBMS实现这些需求。

按照自顶向下分析需求与自底向上设计概念结构方法,概念结构的设计可分为两步:第一步是抽象数据并设计局部视图;第二步是集成局部视图,得到全局的概念结构。

利用数据抽象的方法可以对现实世界抽象得出概念模型的子集及属性,概念结构设计是利用抽象机制对需求分析阶段悼念到的数据进行分类、组织(聚集),形成实体集、属性和码,确定实体集之间的联系类型,进而设计E-R图。 5.3.1.1各实体及其属性

本系统总共有以下9个实体:

(1) 系统管理员(ID号,用户名,密码)。

XXII

(2) 教务管理员(ID号,用户名,密码,编号,真实姓名,身份认证)。 (3) 教师(ID号,用户名,密码,编号,真实姓名,所在系,身份认

证)。

(4) 学生(ID号,用户名,密码,编号,真实姓名,所在系,权限 (5) 课程(ID号,课程编号,课程名称,课程类型)。 (6) 选课(ID号,用户名,课程名字)。 (7) 留言(ID号,用户名,内容,时间)。

(8) 排课(ID号,编号,名字,教师名称,学分,学时,地址,时间)。 (9) 通知(ID号,标题,内容,时间) 5.3.1.2系统E-R图

系统的实体之间关系E-R图如图5-2、5-3所示

图5-2 课程-用户

XXIII

图5-3 用户-通知-留言

5.3.2 数据库物理结构设计

数据库在系统中占有及其重要的地位,数据库结构设计的好坏关系到系统的运行效率、存储数据的效率、系统的复杂程度等,合理的数据库结构设计可以提高系统性能。

据库中的各个表的设计结果如下表所示(每个表格表示数据库中的一个表)。 (1)用户信息表

用户信息表记录了所有用户的信息。其中包括用户ID,用户名,编号,性别,用户真实姓名,权限,身份认证。它们的属性如表5-1所示。设置用户ID为主键。

表5-1用户信息表(usertable)

列 名

数 据 类 型 字 段 大 XXIV

必 填 字 默 认 值 备 注 小 id username sex password xuehao zsxm suozaixi quanxian sfrz int varchar varchar varchar varchar varchar varchar varchar varchar 11 50 10 50 50 50 50 50 50 段 是 是 是 是 是 是 是 是 是 主键,用户ID NULL NULL NULL NULL NULL NULL NULL NULL 用户名 性别 密码 编号 真实名 所在系 权限 是否认证 (2)课程信息表

课程信息表记录了课程的所有信息,包括课程编号,课程名称,课程类型,其属性如表5-2示。设置课程ID为主键。

表5-2课程信息表(kecheng)

列 名 数 据 类 型 id k_bianhao k_name k_type int varchar varchar varchar 字 段 大 小 11 50 50 50 必 填 字 段 是 是 是 是 主键,课程ID NULL NULL NULL 课程编号 课程名称 课程类型 默 认 值 备 注 (3)排课信息表

排课信息表记录了排课的所有信息,包括课程编号,课程名称,教师,学分,学时,上课地址,开课时间。其属性如表5-3示。设置排课ID为主键。

表5-3排课信息表(paike)

列 名

数 据 类 字 段 大 必 填 字 XXV

默 认 值 备 注

型 id k_bianhao k_name teacher xuefen xueshi address shijian int varchar varchar varchar varchar varchar varchar varchar 小 11 50 50 50 10 10 50 50 段 是 是 是 是 是 是 是 是 主键,排课ID NULL NULL NULL NULL NULL NULL NULL 课程编号 课程名称 教师 学分 学时 地址 时间 (4)选课信息表

选课信息表记录了选课的所有信息,包括选课ID,课程名称,用户名称。其属性如表5-4示。设置选课ID为主键。

表5-4选课信息表(xuanke)

列 名 数 据 类 型 id username k_name int varchar varchar 字 段 大 小 11 50 50 必 填 字 段 是 是 是 主键,选课ID NULL NULL 用户名称 课程名称 默 认 值 备 注 (5)留言信息表

留言信息表记录了留言的所有信息,包括留言ID,用户名称,留言内容,留言时间。其属性如表5-5示。设置留言ID为主键。

XXVI

表5-5留言信息表(liuyan)

列 名 数 据 类 型 id username context shijian int varchar varchar varchar 字 段 大 小 11 50 200 50 必 填 字 段 是 是 是 是 主键,留言ID NULL NULL NULL 用户名称 留言内容 留言时间 默 认 值 备 注 (6)通知信息表

通知信息表记录了通知的所有信息,包括通知ID,通知标题,通知内容,发布时间。其属性如表5-6示。设置通知ID为主键。

表5-6通知信息表(tongzhi)

列 名 数 据 类 型 id title context shijian

XXVII

字 段 大 小 必 填 字 段 默 认 值 备 注 int varchar varchar varchar 11 50 200 50 是 是 是 是 主键,通知ID NULL NULL NULL 通知标题 通知内容 发布时间

6 系统的实现

6.1 系统实现的流程图

本系统共有系统管理员、教务管理员、教师和学生四种用户,根据其功能需求,它们相关的系统流程图如图6-1所示:

XXVIII

图6-1系统流程图

XXIX

6.2 系统具体功能模块的实现

6.2.1用户注册设计模块的实现

用户注册页面如图6-2,图6-3所示:

图6-2 用户注册选择注册身份页面

图6-3 用户注册页面

用户选择注册的身份后并填入完必要信息后,点击提交,将信息提交给zhuce.jsp进行操作。其相关代码部分如下:

用户名:

<%String shenfen = request.getParameter(\if(\学生\学号:

XXX

onclick=\

表单提交后交给liuyanCreate.action处理 LiuyanAction.java中留言创建相关代码: public String liuyanCreate(){

Liuyan tLiuyan = new Liuyan(); tLiuyan.setUsername(username); tLiuyan.setContext(context);

tLiuyan.setShijian((new SimpleDateFormat(\

.format(new Date()));

显示留言相关代码:

<%String pageSql = \\ rs = jdbc.query(pageSql);

XXXVI

}

if(getLiuyanService().createLiuyan(tLiuyan)){

return \

}else{ }

return \

int i = 1; while(rs.next()){ %>

<%}%>

7 系统的测试

任何一款软件项目从需求分析到编码结束,再到最后交付之前都要进行一次系统测试。从用户角度考虑,是希望通过软件测试来发现软件中隐藏的错误和缺陷,尽量的符合用户的需求,而来考虑是否接受该产品。从开发者的角度来讲,则是希望测试表明软件产品不存在错误和缺陷的过程,验证软件以正确实现了用户的需求,确立对软件质量的信心。

同样,为了保证本网站在真正投入到使用当中时,能够正常运行,无异常及错误的出现,在没有发布之前需要对其进行一次全面的系统测试。

XXXVII

7.1软件测试目的

找出软件中潜在的各种错误缺陷。

7.2软件测试方法

黑盒测试:该方法把被测试对象看成一个黑盒子,测试人员完全不考虑程序内部的结构和处理过程,只在软件的接口处进行测试,根据需求说明书,检查程序是否满足功能要求。

通过黑盒测试主要发现以下错误: (1)是否有不正确或遗漏的功能;

(2)在接口上,能否正确地接受输入数据,能否产生正确地输出信息; (3)访问外部信息是否有错; (4)性能上是否满足要求。

7.3测试计划

7.3.1测试方案

使用以界面为基础的测试。以界面为基础的测试仅仅依靠软件与其运行环境之间的界面来选择和产生测试数据,而不管软件的具体需求和具体实现细节。包括输入,输出数据等等。 7.3.2测试项目

本系统采用黑盒测试。 (1)前台测试:

1)注册,登录,认证测试

测试登录时,如果输入的用户名、密码不正确或是该用户没有进过认证,系统会提示登录失败,并要求重新登录。测试结果如图7-1所示:

XXXVIII

图7-1 用户名、密码输入错误或未验证错误

所示:

用户注册信息填入完成后点击确定进入用户认证测试。测试结果如图7-2

图7-2 测试用户注册信息

XXXIX

图7-3 注册测试

以系统管理员的身份进入系统对注册信息进行认证,点击认证后提示已认证。测试结果如图7-4,图7-5所示:

图7-4 认证界面

图7-5 验证通过

(2)后台测试: 1)课程增加、删除测试

要求课程增加后提示插入成功并能查看课程信息。测试结果如图7-6,图7-7,图7-8,图7-9所示:

XL

本文来源:https://www.bwwdw.com/article/ndo7.html

Top