数据库系统课程设计教师授课管理系统.docx
《数据库系统课程设计教师授课管理系统.docx》由会员分享,可在线阅读,更多相关《数据库系统课程设计教师授课管理系统.docx(25页珍藏版)》请在冰豆网上搜索。
数据库系统课程设计教师授课管理系统
青岛理工大学
数据库系统课程设计
院(系):
计算机工程学院
专业:
网络工程
姓名:
班级:
网络学号:
题目:
教师授课管理系统
起迄日期:
2012.12.31~2012.1.11
设计地点:
计算机工程学院机房
指导教师:
第1章概述.....................................................3
1.1系统内容概要...............................................3
1.2开发环境简介...............................................3
第2章需求分析...................................................5
2.1开发背景...................................................5
2.2开发目的...................................................5
2.3功能需求...................................................5
2.4数据要求...................................................6
第3章系统设计...................................................7
3.1总体设计...................................................7
第4章数据库设计.................................................8
4.1概念设计...................................................8
4.2逻辑设计...................................................10
第5章详细设计...................................................12
5.1程序结构的设计..............................................12
5.2页面设计...................................................15
5.3编码设计...................................................20
第6章系统总结...................................................25
6.1总结.......................................................25
6.2系统不足....................................................25第七章参考文献..................................................25
第一章概述
1.1系统内容概要
本系统名为教师授课管理系统,从名称中可以得知该系统主要实现教师的授课问题。
教师授课管理系统主要实现用户管理,教师信息管理,课程信息管理,授课班级信息管理,以及授课记录管理。
在本系统中主要功能有数据库管理员对教师信息的增、删、改、查,对课程信息的增、删、改、查,对授课班级信息的增、删、改、查,对教师授课记录的增、删、改、查,以及教师通过用户名、密码按照教师编号查询自己或其他教师的授课信息。
教师授课管理系统的总目标是在SQLserver数据库和先进的Java开发平台上,利用现有的软件配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互的教师授课管理系统,实现教师信息、课程信息、班级信息和授课记录的基本管理操作,为学校授课管理者提供及时、准确的教师、课程,班级信息,对授课安排提供决策参考。
1.2开发环境简介
教师授课管理系统利用JSP技术动态设计前台页面,采用Java语言编写后台代码,以MicrosoftSQLServer2005作为后台数据库,选用JDBC访问数据库来实现各种功能
1.2.1JSP技术简介
JSP(JavaServerPages)是由SunMicrosystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。
JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。
利用JSP技术,动态信息由JSP页面来表现,JSP页面由安装在Web服务器或者使用JSP的应用服务器上的JSP引擎执行。
JSP引擎接受客户端对JSP页面的请求,并且生成JSP页面作为对客户端的响应。
自JSP推出后,众多大公司都支持JSP技术的服务器,如IBM、Oracle、Bea公司等,所以JSP迅速成为商业应用的服务器端语言。
1.2.2Java语言简介
1995年,美国SunMicrosystems公司正式向IT业界推出了java语言,该语言具有安全、跨平台、面向对象、简单、适用于网络等显著特点,当时以web为主要形式的互联网正在迅猛发展,java语言的出现迅速引起所有程序员和软件公司的极大关注,程序员们纷纷尝试用java语言编写网络应用程序,并利用网络把程序发布到世界各地进行运行。
包括IBM、Oracle、微软、Netscape、Apple、SGI等大公司纷纷与SunMicrosystems公司签订合同,授权使用java平台技术。
微软公司总裁比尔盖茨先生在经过研究后认为"java语言是长时间以来最卓越的程序设计语言"。
目前,java语言已经成为最流行的网络编程语言,截止到2001年中,全世界大约有310万java程序员,许多大学纷纷开设java课程,java正逐步成为世界上程序员最多的编程语言。
java语言产生于C++语言之后,是完全的面向对象的编程语言,充分吸取了C++语言的优点,采用了程序员所熟悉的C和C++语言的许多语法,同时又去掉了C语言中指针、内存申请和释放等影响程序健壮性的部分,可以说java语言是站在C++语言这个"巨人的肩膀上"前进的。
java语言的一个目标是跨平台,因此采用了解释执行而不是编译执行的运行环境,在执行过程中根据所在的不同的硬件平台把程序解释为当前的机器码,实现跨平台运行。
而动态下载程序代码的机制完全是为了适应网络计算的特点,程序可以根据需要把代码实时的从服务器中下载过来执行,在此之前还没有任何一种语言能够支持这一点。
1.2.3SQLServer简介
SQLServer是微软公司开发的一个关系数据库管理系统,SQLServer支持两种身份验证模式:
WindowsNT身份验证和SQLServer身份验证。
7.0版支持多种类型的角色,"角色"概念的引入方便了权限的管理,也使权限的分配更加灵活。
SQLServer为公共的管理功能提供了预定义的服务器和数据库角色,可以很容易为某一特定用户授予一组选择好的许可权限。
SQLServer可以在不同的操作平台上运行,支持多种不同类型的网络协议如TCP/IP、IPX/SPX、AppleTalk等。
SQLServer在服务器端的软件运行平台是WindowsNT、Windows9x,在客户端可以是Windows3.x、WindowsNT、Windows9x,也可以采用其它厂商开发的系统如Unix、AppleMacintosh等。
SQLServer提供服务器端的软件,这部分需要安装在NTServer上,SQLServer的用户端则可以安装在许多用户端PC系统中,Windows可以让用户端进行数据库的建立,维护及存取等操作,SQLServer可以最多定义32767个数据库,每个数据库中,可以定义20亿个表格,每个表格可以有250个字段,每个表格的数据个数并没有限制,每一个表格可以定义250个索引,其中有一个可以是Clustered索引。
在使用由MicrosoftSQLServer2000关系数据库引擎的情况下,XML数据可在关系表中进行存储,而查询则能以XML格式将有关结果返回。
此外,XML支持还简化了后端系统集成,并实现了跨防火墙的无缝数据传输。
你还可以使用HypertextTransferProtocol(超文本传输协议,HTTP)来访问SQLServer2000,以实现面向SQLServer2000数据库的安全Web连接和无须额外编程的联机分析处理(OLAP)多维数据集。
MicrosoftSQLServer2000简化了管理、优化工作,并且增强了迅速、成功的部署在线商务应用程序所需的可靠性和伸缩性。
其中,用以提高可靠性的特性包括日志传送、在线备份和故障切换群集。
在伸缩性方面的改进包括对多达32颗CPU和64GBRAM的支持。
通过自动优化和改进后的管理特性--诸如数据文件尺寸的自动管理、基于向导的数据库拷贝、自动内存管理和简化的故障切换群集安装与管理,在线商务应用程序能够被迅速部署并有效管理。
1.2.4JDBC简介
JDBC(JavaDataBaseConnectivity,java数据库连接)是一种用于执行SQL语句的JavaAPI,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
JDBC为工具/数据库开发人员提供了一个标准的API,据此可以构建更高级的工具和接口,使数据库开发人员能够用纯JavaAPI编写数据库应用程序,同时,JDBC也是个商标名。
第二章需求分析
2.1开发背景
在当今的社会,可以说是信息技术的发展时代,在社会的方方面面无不涉及
到各种信息的处理。
信息是人们对客观世界的具体描述,是人们进行交流与联系
的重要途径。
人类社会就处在一个对信息进行有效合理的加工中。
它将促进整个
社会的发展。
随着社会信息技术的提高,计算机已被广泛应用于当今社会的各个
领域,成为推动社会发展的首要技术动力。
在当今信息时代,人们的生活方式随
着Internet的不断发展发生了不同寻常的改变。
在学校,随着学生数、教师数以及课程类目的增加,对其的管理工作也越来越复杂。
然而教师授课又是学校教育管理非常重要的一环,随着学校规模的增大,授课管理的工作量大大增重。
计算机行业的发展,让我们可以把对授课的管理交给计算机处理,这样就大大减少了管理员的工作量。
教师授课管理系统是一个面向学校教育,为其提供服务的综合信息管理系统。
教师授课管理系统通过本系统完成相关的授课记录,这些工作也是平常较为繁重的工作。
教师的个人信息、课程的信息记录,班级的信息记录以及学校对其进行的拍课管理等情况都在教师授课管理系统里进行管理。
由管理人员在数据库更新中完成对运行教师授课管理系统所需的基本数据的管理。
包括这些信息的增、删、改、查等都将在此系统中进行操作。
系统开始投入使用,管理人员先根据学校实际情况,建立相关表信息,主要信息包括教师表、课程表、班级表以及授课记录表。
当教师、课程、班级发生变动后,数据库管理人员要及时完成对数据库中的信息进行修改。
同时,教师用户可以登录此系统查询自己或同事的授课情况。
2.2开发目的
为了弥补上述不足的地方,需要开发教师授课管理系统,改进繁琐的手工记录。
本系统解决的问题是通过信息化的管理,数据库管理人员能够随时了解学校的教师、课程、班级状况信息。
可以及时分配教师的授课任务,更新教师、课程、班级表的信息,从而提供更具效率的教师授课管理。
同时利用数据库管理资料方便、快捷、准确地管理学校教育的资料以实现其统一化管理,通过简单便捷的系统查询操作使教师授课管理系统成为管理授课记录的得力助手。
从而实现高科技信息化管理,达到信息畅通,提高教学运转效率和质量的目的。
2.3功能需求
教师授课管理系统的一般功能需求:
用户注册功能:
设置两类用户,数据库管理员和普通用户。
数据库管理员能够实现数据的增、删、改、查等功能;而普通用户只能查询用户的授课记录。
(本系统中数据库管理员在数据库中已经注册好,因而系统的用户注册功能只能注册普通用户。
)
用户登录功能:
两类用户登录,进入不同的页面。
数据库管理员进入管理界面,能够实现对数据的增、删、改、查功能;而普通用户则进入查询页面,只能查询授课记录。
添加教师信息功能:
能够添加教师信息。
删除教师信息功能:
能够删除教师信息。
修改教师信息功能:
能够修改教师信息。
查找教师信息功能:
能够查找教师信息,并可在此界面实现修改和删除功能。
添加课程信息功能:
能够添加课程信息。
删除课程信息功能:
能够删除课程信息。
修改课程信息功能:
能够修改课程信息。
查找课程信息功能:
能够查找课程信息,并可在此界面实现修改和删除功能。
添加班级信息功能:
能够添加班级信息。
删除班级信息功能:
能够删除班级信息。
修改班级信息功能:
能够修改班级信息。
查找班级信息功能:
能够查找班级信息,并可在此界面实现修改和删除功能。
添加教师授课记录功能:
能够添加教师授课记录。
删除教师授课记录功能:
能够删除教师授课记录。
修改教师授课记录功能:
能够修改教师授课记录。
查找教师授课记录功能:
能够查找教师授课记录,并可在此界面实现修改和删除功能。
2.4数据需求
通过对系统功能需求的分析,可以初步确定该系统的基本数据需由各个功能模块可以进一步确定具体的功能需求,具体数据需求如下:
(1).用户管理模块数据需求
该模块主要完成对用户的管理,需要在表示用户信息的数据表中添加用户名和密码数据项。
(2).授课管理模块数据需求
该模块主要完成管理员对授课记录的操作。
需要授课数据:
教师编号、课程号、班级号、开课学期和教室数据项。
(3).教师管理模块数据需求
该模块主要完成管理员对教师信息的操作。
需要教师数据:
教师编号、姓名、性别、职称和工资。
(4).课程管理模块数据需求
该模块主要完成管理员对课程信息的操作。
需要课程数据:
课程号、课程名、考核方式、学时和学分。
(5).班级管理模块数据要求
该模块主要完成管理员对班级信息的操作。
需要班级数据:
班级号班级名、年级、学院和班级人数。
第三章系统设计
3.1总体设计
本系统一共可分为两大模块,即用户操作模块和管理员管理模块。
每个模块之间虽然在表面上都是相互独立的,但是在对数据库的访问上是紧密相连的,各个模块访问的是同一个数据库,只是所访问的表不同而已。
(1).用户操作模块有两个子模块:
用户注册模块和用户查询模块。
(2).管理员管理模块有四个子模块:
授课记录管理模块、教师信息管理模块、课程信息管理模块和班级信息管理模块。
总体结构图如下:
第四章数据库设计
4.1概念设计
(1)选择底层数据流为切入点,通常选择实际系统中的子系统;
(2)设计分E-R图,即各子模块的E-R图;
(3)生成初步E-R图,通过合并方法,做到各子系统实体、属性、联系统一;
(4)生成全局E-R图,通过消除冲突等方面。
下面为各实体E-R图:
(1).用户实体图
(2).数据库管理员实体图:
(3).教师实体图:
(4).课程实体图:
(5).班级实体图:
(6)授课实体图:
系统总E-R图如下:
4.2逻辑设计
本系统采用SQLServer2005作为数据库设计的DBMS。
4.2.1数据库的表汇总:
表1Users表(用户表)
字段名称
字段类型
长度
是否为空
备注
用户名
varchar
8
否
密码
char
8
否
表2DBUser表(数据库管理员表)
字段名称
字段类型
长度
是否为空
备注
DBID
char
8
否
password
char
8
否
表3teacher表(教师表)
字段名称
字段类型
长度
是否为空
备注
教师编号
char
8
否
主键
姓名
varchar
8
否
性别
char
2
可以
职称
char
20
可以
工资
int
8
可以
表4course表(课程表)
字段名称
字段类型
长度
是否为空
备注
课程号
char
8
否
主键
课程名
varchar
15
否
考核方式
char
8
可以
学时
int
8
可以
学分
smallint
4
可以
表5class表(班级表)
字段名称
字段类型
长度
是否为空
备注
班级号
char
20
否
主键
班级名
char
20
否
年级
char
10
可以
学院
char
20
可以
班级人数
int
8
可以
表6teach表(授课记录表)
字段名称
字段类型
长度
是否为空
备注
教师编号
char
8
否
主键
课程号
char
8
否
班级号
char
20
否
开课学期
smallint
4
可以
教室
smallint
4
可以
第五章详细设计
在本系统的各功能模块中,由于许多模块操作流程大体相同,在此列出几个主要的模块详细设计:
用户登录模块,增加授课记录模块,查询授课记录模块,
修改授课记录模块,删除授课记录模块。
5.1程序结构的设计:
(1).用户登录模块
在首页点击用户登录,输入用户名和密码,程序根据输入的信息在Users和DBUser表中查找确定该用户是普通用户还是数据库管理员,从而决定跳转页面。
(2).增加授课记录模块
数据库管理员点击添加链接,输入添加记录,程序在首先在teach表中检查表中是否含有此记录,若有,则重新输入;若没有,在检查输入的教师编号,课程号和班级号在teacher,course,class三表中是否存在,若不存在,则重新输入;若存在,则继续检测当课程号和班级号是输入的值时,教师编号是否存在,若存在,则重新输入,否则,添加记录成功。
(3).查询授课记录模块
数据库管理员点击查询链接,输入教师编号,程序检测teacher表中有无此教师记录,若有,则查询成功,若无,则重新输入。
(4).修改授课记录模块
数据库管理员点击修改链接,界面会显示该条记录,然后输入修改的信息,检测三表中有无将要修改的教师编号,课程号,班级号,无则重新输入,有则根据这三个值进行修改,修改成功。
(5).删除授课记录模块
数据库管理员点击删除链接,输入教师编号,课程号,班级号,检测三表中有无这三个值,若无,重新输入;若有,则根据三个值进行删除,删除成功。
5.2.页面设计
(1).用户注册
用户可以在本系统进行注册,以便进入该系统中。
(2).用户登录
用户在登录界面输入用户名和密码,若错误,抛出异常。
(3).主界面(教师授课记录界面)
管理员可在此进行增加、查询、修改和删除教师授课记录。
另外也可从此界面进入教师表,课程表和班级表界面。
增加授课记录,若记录已存在,则提示重新输入。
若记录还没有,则提示增加成功。
查询授课记录,输入教师编号,检查teacher表中是否有该教师编号,若无,则重新输入,若有,则显示该教师的授课记录。
修改授课记录,点击修改链接后,会显示此条记录信息,系统自动填写修改不了的信息,再输入所要修改信息,有异常时抛出异常,无异常时,跳转到主界面,修改成功。
删除授课记录,点击删除链接,跳转到删除界面,系统自动填写删除条目,确定后修改成功。
(4).教师信息界面
管理员在此对教师信息进行增加,查找,修改和删除功能。
点击连接,跳转到相应的页面进行操作。
(5).课程信息界面
管理员在此对课程信息进行增加,查找,修改和删除。
点击连接,跳转到相应的页面进行操作。
(6).班级信息界面
管理员在此对班级信息进行增加,查找,修改和删除。
点击连接,跳转到相应的页面进行操作。
5.3主要代码:
第六章系统总结
1.总结
经过了这为期两周的数据库课设,让我了解到了更多的数据库知识。
这次实践,让我清晰的了解到数据库设计的基本流程。
在此期间,遇到了很多困难,一般都是在最重要的需求分析上出现错误,当想要修改时,就要耗费大量的时间和多做许多冗余的工作。
让我知道了需求分析在数据库设计中的重要性。
需求分析很重要,但是以下的流程却是一个也不能少,我们要按照数据库设计的流程来设计一个数据库。
教师授课管理系统主要实现用户管理,教师信息管理,课程信息管理,授课班级信息管理,以及授课记录管理。
在本系统中主要功能有数据库管理员对教师信息的增、删、改、查,对课程信息的增、删、改、查,对授课班级信息的增、删、改、查,对教师授课记录的增、删、改、查,以及教师通过用户名、密码按照教师编号查询自己或其他教师的授课信息。
通过此系统,不仅加深了数据库知识,同样也提高了java水平,特别是在jsp技术上。
同时,也提高了自己的自学能力和逻辑思想的提高。
2.系统不足
系统虽然实现教师授课管理系统的基本功能,但还有一些需要完善的地方:
(1)、用户界面不够美观。
(2)、出错提示处理不够全面。
(3)、数据库各表之间相互联系不是全面、规范。
(4)、数据库没有运用视图来更方便的管理。
(5)、系统功能不够完善。
第七章参考文献
[1]萨师煊,王珊.数据库系统概论.北京:
高等教育出版社,2006,第四版
[2]张海藩.软件工程.北京:
人民邮电出版社,2006
[3]李芝兴、杨瑞龙,Java程序设计之网络设计.北京:
清华大学出版社2009第二版