教学管理系统的设计与开发(软件工程课程设计)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《教学管理系统的设计与开发》
软件工程课程设计
目录
第一章:引言 (3)
1.1课题开发研究背景 (3)
1.2 课题来源 (3)
第二章:教学管理系统概要设计 (4)
2.1 系统总体开发规划 (5)
2.2 系统总体方案设计 (5)
2.2.1几种基于Web的主要开发工具的比较 (5)
2.2.2 JSP 开发WEB的几种主要方式 (7)
2.2.3 搭建JSP的平台工作. (9)
2.3.1 院系级教学管理系统总体管理模式概述: (9)
第三章教学管理系统详细设计 (12)
3.1 用户登录模式 (12)
3.2 课程管理 (12)
3.3 毕业论文 (16)
3.4 教学文档 (17)
3.5 系统之间的信息交互 (17)
3.7 版面错误提示 (17)
3.8 教师子系统功能图示 (18)
第四章教师子系统演示 (19)
4.1 登录界面 (19)
4.2 教师更改密码 (20)
4.3 教学文档下载 (21)
4.4 教学文档上传 (22)
4.5 选修课程学生资料查询 (23)
4.6 版面错误提示 (24)
4.7 论文上传 (25)
第五章结论 (26)
章:引言
1.1课题开发研究背景
随着现代科技的不断发展,计算机在教育领域得到了前所未有的广泛应用,迅速成为最有发展前景的教学媒体和教学管理工具。
计算机在教育领域的应用,导致了教学手段、教学方法、教学形式、课堂教学结构等方面发生了深刻的变化,从而促进了教育思想和教育理论的变革和发展,一系列相关的思想、理论和技术在实践中日积月累、不断丰富和完善。
作为高校来说,建设高水平的大学,校园信息系统的建设是重要的一环。
与国内相比, 教学管理计算机化与网络化在国外的许多大学己开展多年了,他们的管理模式基本上是面向全局的综合教务管理系统,是综合教务管理系统的重要组成部分。
数据集中统一存放在中央数据库中,对数据的操作由校园网上的计算机通过客户/服务器方式进行,即数据集中存储,分布操作。
它将教学各个环节进行了统筹考虑,以提高教学管理效率为目的,强调系统间数据的流通。
由于多年运行不断使用和改进,国外的这种管理模式己处于比较完善的稳定运行阶段。
但由于国外高校与我们的实际情况不同,相关机构管理职能不同,教学管理办法不同,所以还不能简单的引用,只能在借鉴的基础上自主开发适合我们实际情况的教务管理系统。
再加上我们国家教学管理制度、教学形式和教学手段等方面都正处于改革时期,在一定时间内还要不断变化和发展,为了系统实时反映这种变化,必须开发出自己的教务系统,并不断维护和完善。
1.2 课题来源
现有的学校级的教学管理系统是基于全体师生基础上的宏观意义的教学管理系统。
但在一些具体细节问题上而言,它不免有其不足之处。
作为教学与管理第一线的院系,直接面对教师与学生,其管理是微观的,具体的。
比如:每学期一次的英语四,六级报名程序烦琐;选修课数量多且分类庞杂;教学方面相关信息仍需
要口头通知;教学秘书,教师与学生之间沟通途径有限,费时费力。
这些都增加了教学管理人员的工作负担。
另一方面,现在网上教学工作的全面展开,对教学管理系统提出了更严格的要求。
所以,本小组此次设计的厦门大学软件学院教学管理系统,就是为了弥补现有学校级教学管理系统存在的不足。
另一方面,也为其它院系今后开展网上教学管理工作,提供一些宝贵的经验。
本小组设计的基于院系级的教学管理系统,共分为:课程管理子系统,学生管理子系统,教师管理子系统以及管理员子系统等四个模块.本小组成员共有四人,其中,赵伟同学负责学生管理子系统,宁静同学负责教师管理子系统,吴文俊同学负责管理员子系统,组长刘青同学负责课程管理子系统以及整个系统的整合工作。
其中,课程管理单独作为一个模块,是基于选修课数目繁多,而且又分为学校级选修课和学院级选修课的考虑.该系统为学生,教师,管理员三大主体,更方便,快捷地工作,学习,以及互相之间的交流提供一个平台。
第二章:教学管理系统概要设计
2.1 系统总体开发规划
本教学管理系统的开发流程如下:
(1)分析系统需求,完成系统解决方案,并论证其可行性;
(2)选择服务器类型与开发环境,以及完成相关安装配置工作;
(3)设计系统总体框架模型,完成相应的数据库结构设计,并针对数据库服务
器创建相应的数据库,建立相应的数据表结构;
(4)实现系统各功能模块的代码编写;
(5)采集实验数据,完成系统测试。
2.2 系统总体方案设计
2.2.1几种基于Web的主要开发工具的比较
如今IT行业涌现出一大批能够构建WEB的应用系统,支持动态处理的程序设计技术.例如:ASP,JSP等等.在这个年代新技术和新的程序开发软件层出不穷,可谓是“百舸争流”。
但只有在20世纪末才匆匆登场的JavaServer Pages(JSP)技术,一出世就吸引了世界各大软件开发商和程序设计者的浓厚兴趣,表现出无比强大的生命力.由于JavaServer Pages技术不但能够实现跨平台和兼容各种WEB服务器产品,而且还把强大的服务器端的JAVA技术(server-side Java technology)有机地融和到了HTML网页的构造中去.因此,利用JSP技术可以建立先进,安全和跨平台的动态网站。
下面就详细讨论一下JSP的优势.和传统的C G I相比较,J S P有相当的优势。
首先,在速度上,传统的C G I程序需要使用系统的标准输入输出设备来实现动态网页的生成,而J S P是直接和服务器相关联的。
而且对于C G I来说,每一个访问就需要新增加一个进程来处理,进程不断地建立和销毁对于作为We b 服务器的计算机将是不小的负担。
其次,J S P是专门为We b开发而设计的,
其目的是为了建立基于We b的应用程序,包含了一整套的规范和工具。
使用J S P技术可以很方便地将一大堆J S P页面组合成为一个We b应用程序。
J S P的真正对手是A S P和P H P,还有即将问世的A S P +,在We b技术方面A S P、P H P和J S P的比较见表1。
(注意:这里的A S P指A S P 3 . 0,J S P指J S P规范书1 . 1中指出的规范,P H P指P H P 4)
表1 ASP、J S P、P H P的比较
2.2.2 JSP开发WEB的几种主要方式
通过以上表格的比较,我们可以得出这样的结论:JSP具有其显而易见的优势.那么,下面就进一步地了解一下用JSP开发WEB的几种主要方式
1. 直接使用J S P
对于最小型的We b站点,可以直接使用J S P来构建动态网页,这种站点最为简单,所需要的仅仅是简单的留言板、动态日期等基本的功能。
对于这种开发模式,一般可以将所有的动态处理部分都放置在J S P的S c r i p t l e t中,就像一般使用P H P或A S P开发动态网页一样。
2. JSP+JavaBeans
中型站点面对的是数据库查询、用户管理和小量的商业业务逻辑。
对于这种站点,不能将所有的东西全部交给J S P页面来处理。
在单纯的J S P中加入J a v a B e a n s技术将有助于这种中型网站的开发。
利用J a v a B e a n s,将很容易完成如数据库连接、用户登录与注销、商业业务逻辑封装的任务。
如:将常用的数据库连接写为一个Java Beans,既方便了使用,又可以使J S P文件简单而清晰,通过封装,还可以防止一般的开发人员直接获得数据库的控制权。
3. JSP+JavaBeans+Servlet
无论用A S P还是P H P开发动态网站,长期以来都有一个比较重要的问题,就是网站的逻辑关系和网站的显示页面不容易分开。
常常可以看见一些夹杂着i
f . . . . . . t h e n . . . . . .、case select或是i f{ . . . . . . }和大量显示用的H T M L 代码的A S P、P H P页面,即使是有着良好的程序写作习惯的程序员,其作品也几乎无法阅读。
另一方面,动态We b的开发人员也在抱怨,将网站美工设计的静态页面和动态程序和并的过程是一个异常痛苦的过程。
如何解决这个问题呢?在J S P问世以后,笔者的一位朋友认为S e r v l e t已经完全可以被J S P 代替,然而,事实是S e r v l e t在不再担负动态页面生成的任务以后,开始担负起决定整个网站逻辑流程的任务。
在逻辑关系异常复杂的网站中,借助于S e r v l e t和J S P良好的交互关系和J a v a B e a n s的协助,完全可以将网站的整个逻辑结构放在S e r v l e t中,而将动态页面的输出放在J S P页面中来完成。
在这种开发方式中,一个网站可以有一个或几个核心的S e r v l e t来处理网站的逻辑,通过调用J S P页面来完成客户端(通常是We b浏览器)的请求。
后面我们将可以看到,在J 2 E E模型中,S e r v l e t的这项功能可以被E J B 取代。
4. J2EE开发模型
在J 2 E E开发模型中,整个系统可以分为三个主要的部分:
1. 视图
视图就是用户界面部分,在We b应用程序中也就是H T M L、X M L、J S P 页面。
这个部分主要处理用户看到的东西,动态的J S P部分处理了用户可以看见的动态网页,而静态的网页则由H T M L、X M L输出。
2. 控制器。
控制器负责网站的整个逻辑。
它用于管理用户与视图发生的交互。
可以将控制器想像成处在视图和数据之间,对视图如何与模型交互进行管理。
通过使视图完全独立于控制器和模型,就可以轻松替换前端客户程序,就是说,网页制作人员将可以独立自由地改变We b页面而不用担心影响这个基于We b的应用程序的功能。
在J 2 E E中,控制器的功能一般是由S e r v l e t、J a v a B e a n s、Enterprise JavaBeans 中的S e s s i o n B e a n来担当的。
3. 模型
模型就是应用业务逻辑部分,这一部分的主要角色是Enterprise JavaBeans,借助于E J B强大的组件技术和企业级的管理控制,开发人员可以
轻松形创建出可重用的业务逻辑模块。
由于,我们本次开发的基于院系级的教学管理系统属于小型的WEB站点,所以就采用最简单的直接使用JSP创建动态网页的方法。
2.2.3 搭建JSP的平台工作.
目前常用的Web服务器平台的种类很多,例如:微软公司的IIS(Internet信息服务器),Linux下使用的Apache,SUN公司的ES(Enterprise Server),以及基于Java应用的Tomcat等。
本系统因为将采用JSP作为开发Web网站的工具,所以将采用Winxp Server+Tomcat的结构.Tomcat是一个开放源代码、运行servlet和J SP Web应用软件的基于Java的Web应用软件容器。
Tomcat是由Apache-Jakarta 子项目支持,并由来自开放性源代码Java社区的志愿者进行维护。
Tomcat Server 是根据servlet和JSP规范进行执行的,因此我们就可以说Tomcat Server也实行了Apache-Jakarta规范且比绝大多数商业应用软件服务器要好。
Tomcat很可能成为下一代Java Web Server的主流。
因为Tomcat受到Sun公司的全力支持,并由非常强大的开发组织apache来进行发展,这一工程被称为Jakarta计划。
从战略上看,Sun现在正借助Apache的影响来开发Server端的java技术,这就是Tomcat。
因此可以相信Tomcat已经或者即将是一个较理想的Jsp&Servlet开发和支撑平台。
相对地,JSWDK只是一个简化的服务器平台,性能和稳定程度都比较有限,而且实际上SUN并不许可将它作为Internet上的商业平台。
在SUN公司的大力支持下,Tomcat将成为以后Web平台的主流平台。
2.3 系统总体功能性描述
2.3.1 院系级教学管理系统总体管理模式概述:
图一院系级教学管理系统功能模块2.3.2 教学管理主体关系演示图
图二教学管理主体关系图示
第三章教学管理系统详细设计
下面仅就宁静同学负责的教师管理子系统部分的相关模块功能做一番详细介绍.
3.1 用户登录模式
图三系统登录模式
用户首先选择用户类型:学生,教师,管理员.然后输入用户名,密码登录进入相应子系统.若用户名,密码错误或者不存在,则显示出错页面,重新登录.
3.2 课程管理
学生,教师,管理员成功登录后,均可通过输入课程名称,教师姓名的方法查看课程相关信息.这些信息包括在表:eleCourse当中.
表二选修课程
其中,学生查询课程,点击选择其愿意选择的课程,删除其认为多余的课程,并把最终结果提交给教师;教师,管理员除具有查询这项基本权限外,还具有增加开设课程,取消开设课程的权限.教师拥有选修其课程的学生初选名单,并可以点击学生姓名,查看学生基本资料,包括在personInfor中;
表三学生个人信息
教师可以任意删除多余的学生姓名,确定最终该课程名单;并把这份名单传回学生系统,这样一来,学生就可以查询到自己被选上的课程名单。
在课程结束时,教师给出学生成绩.学生可以在学生子系统中查询到相应课程成绩.这是教师子系统中的课程学生情况子模块。
图四课程管理图示
学生通过论文上传模块,填写论文的基本信息,包括在表thesis中(评注一栏设置为无法填写)
表四论文信息
教师可以查询到相应学生的名单,并下载其论文,填写论文分数,并做出相关的评注,再将论文上传给学生.学生可以在其个人成绩模块中,查询到论文分数。
顶层包::Student顶层包::Teacher
图五论文上传
教师点击课程文档下载模块,页面显示:课程教学大纲空表,课程简介空表,课程教学进度表,教学测评表,调课申请单,课程成绩考核登记,考场情况表,答题卷格式等八个表格.教师点击表格,下载相应表格,这些空表都被保存在同一个文件夹内.填写完毕后,点击进入课程文档上传模块,输入文件名,上传表格至指定文件夹。
3.5 系统之间的信息交互
1.学生,教师分别在各自系统中发表留言,管理员回复留言;
2.学生选修课程,把选课结果传至教师系统中,以便教师确定最终学生名单;
教师把最终选课名单传回至学生系统中;
3.学生提交毕业论文至教师系统,教师打分,评注,并把分数传回学生系统
中。
3.6 更改密码
学生,教师,管理员均可以在成功登录进入子系统以后,修改密码.若修改成果,会跳转到密码修改成功页面,否则,系统会提示出错。
3.7 版面错误提示
当用户进入成果登录进入一个子系统后,若点击其它子系统,则显示出错,无权限查看相关功能。
3.8 教师子系统功能图示
图六教师权限
在该用例图中,包含了教师在系统中的权限.教师具有:更改密码(Changepwd),课程管理(ManageLessons),确定选修课程学生名单(ConfirmStudents),下载教学相关表格(DownFile),上传教学相关表格(UpFile),上传论文(UpThesis),留言(LeaveWord),查询学生个人资料(SeestuMessage)的权限。
第四章教师子系统演示
4.1 登录界面
图七系统登录界面
用户登录界面,选择用户模式,输入用户名,密码.;若错误,则重置,重新填写。
4.2 教师更改密码
图八更改密码
教师登录进入后,点击更改密码,分别输入原密码,新密码以及确认密码。
图九下载表格教师点击相关表格,下载填写信息。
图十上传表格填写完毕后,教师把表格提交至系统中。
4.5选修课程学生资料查询
图十一学生个人资料查询
教师点击选修其课程的学生情况,查看其个人资料;并在课程结束时,填写成绩,并将之传递至学生子系统中。
4.6 版面错误提示
图十二出错提示
当教师成功登录进入其子系统中时,若点击其它子系统,比如:学生系统,则会显示其没有权限查看相关功能。
4.7 论文上传
图十三论文上传
下载学生提交的论文,给出相应评注,分数,上传给学生系统。
第五章结论
基于院系级的教学管理系统从确定设计方案到最终顺利完成,历时三个多月.它不仅提高了教学管理工作的执行效率,更减轻了教务工作者的繁重负担.从本人负责的教师管理子系统中,我们可以看到:教师可以从系统中下载各类相关的教学文档;查看学生的个人资料;与学生,教学管理人员进行有效的沟通;指导学生的毕业论文等等,而省去了问讯的麻烦,使教师能够更专心地从事教学科研工作。
但系统亦有很多需要改善之处.比如:教师的个人资料没有体现在系统中,学生不能从系统中查询到课程任课教师的基本信息,这样就不能对课程有全面的认识;教师填写完某门课程的教学大纲后,并没有传至学生子系统中,这样一来,学生在选修某门课程之前,也不能对课程有一个深入的了解;在数据库的设计方面,本系统采用的是Microsoft Access ,这是比较不妥当的.随着学生与教师人数的增多,Access并不能满足系统的长远需求.所以,系统今后急需解决的一个问题就是对数据库进行重新的选取,设计.与本系统相适应,相符合的最佳数据库是:SQL server.。