1、教学标准管理系统数据库专业课程设计数据库课程设计报告教学管理系统实验题目: 教学管理系统 教学管理系统目录一、概述3二、总体设计31、软件环境:32、硬件环境:3三、实验主要内容31、主要数据表42、功能模块4四、系统分析报告41、数据流图42、系统功能模块53、业务流图54、系统数据模型设计6五、代码实现99111314151618六、系统实现结果18七、实验分工及总结23一、 概述数据库课程设计是集中实践性环节之一,是学习完数据库原理及应用课程后进行的一次全面的综合的实践练习,主要目的在于加深学生对数据库基础理论和基本知识的理解,熟悉数据库的设计方法,掌握基于数据库的信息管理系统的开发方法
2、,进一步加强学生综合运用知识和实践动手的能力。 学生根据所学的数据库原理与程序设计的知识,能够针对一个小型的数据库管理系统,进行系统的需求分析,系统设计,数据库设计,编码,测试等,完成题目要求的功能,从而达到掌握开发一个小型数据库的目的。二、总体设计1、软件环境:Visual Studio 2010、SQL Server Management Studio2、硬件环境:PC机三、实验主要内容1、主要数据表 课程信息表,学生信息表单,教师信息表,学生成绩表等。2、功能模块 (1)课程设置,包括:查询、添加、删除、查询和修改课程信息 (2)学生成绩查询,网上评教。 (3)教师查询课程时间和教室的安
3、排。 (4)教师管理学生成绩查询,添加,修改,删除。(5)学生和教师信息的注册。四、系统分析报告1、数据流图 教学管理系统的基本数据流图如下所示: 学生选课信息 新增课程 学生选课管理教师 课程信息 选课审核信息 图1教学管理系统的基本数据流图 学生成绩信息考试成绩任课老师 学生考试信息 成绩管理 学生信息管理 个人考试信息学生管理员 成绩确认信息 图 2 教学管理系统的基本数据流图 排课信息课表信息学生 个人考试成绩教学安排 管理员 排课信息 排课信息任课教师 排课信息 图3 教学管理系统的基本数据流图2、系统功能模块本系统主要包括学生信息管理、课程信息管理、成绩信息管理等模块,另外还包括进
4、行系统管理的一些辅助模块。其示意图如下:教学管理系统 教师信息管理 信息注册 学生信息管理 学生信息注册成绩管理 课表管理 查询信息教师信息注册删除查询教室查询课名查询添加网上评教成绩查询课程信息3、业务流图 4、系统数据模型设计(1)系统ER图 教师课程学生选修修考试授课 成绩 各实体E-R图: 学生信息: 姓名登录密码学号学生 课程信息: 课程名课程号课程信息登录密码上课时间上课教室教师信息: 姓名教师编号 教师登录密码 学生成绩:课程号学生成绩学号课程名成绩(2) 关系模式 学生信息(姓名,学号,登录密码)课程信息(课程号,课程名,上课教室,登录密码,)教师信息(教师编号,姓名,登录密码
5、)学生成绩(学号,课程号,课程名,成绩)(3) 数据表课程信息表 教师信息表 个人成绩表 学生成绩表 学生课表 五、代码实现 Private Sub Form1_Load(ByVal sender As , ByVal e As ) Handles Dim min, max, rndnum, i As Integer min = 10 max = 99 = For i = 0 To 1 rndnum = CStr(CInt(min + Rnd() * (max - min) = & & rndnum Next End Sub Private Sub Button2_Click(ByVal se
6、nder As , ByVal e As ) Handles Dim ConnStr As String = Server=(local);uid=sa;pwd=1234;database=shiy Dim cn As = New (ConnStr) 建立连?接对?象,?同?时说明连?接字?符?串? Dim cmd As New 生成命令?对?象,?用?于执行DSQL语?句? Dim dr As IDataReader 用?来临时存?放?执行D语?句?后的?结果? Dim SQLStr As String If = True Then SQLStr = select * from teache
7、r where tusernum= + + + = cn () = SQLStr dr = () If () Then If dr!().Trim = Then If = Then MsgBox(登?录?成功|) Dim jiaoshi As New Form3 () Hide() Else MsgBox(验证码?错误) End If Else MsgBox(密码?不?正y确) End If Else MsgBox(该?用?户不?存?在) End If () () Else SQLStr = select * from student where snum= + + + = cn () = S
8、QLStr dr = () If () Then If dr!().Trim = Then If = Then MsgBox(登?录?成功|) Dim xuesheng As New Form6 () () Else MsgBox(验证码?错误) End If Else MsgBox(密码?不?正y确) End If Else MsgBox(该?用?户不?存?在) End If () () End If End Sub Private Sub Button1_Click(ByVal sender As , ByVal e As ) Handles Dim zhuce As New Form2
9、() () End SubPublic Class Form2 Dim objDS As New DataSet Dim objXSTable As DataTable Dim objda As New Dim cn As New (server=(local);uid=sa;pwd=1234;database=shiy) Public Sub refreshdata() (objDS, teacher) 第二t个?参?数y为a需要a更新?数y据Y库a表名? () (Nothing, Nothing) () End Sub Private Sub zhuce_Click(ByVal sende
10、r As , ByVal e As ) Handles Dim cmd As New = cn 数y据Y从当前建立的?连?接cn中D进?入? If = True Then Dim builder As = New (objda) Try () = select * from teacher = cmd (objDS, teacher) objXSTable = (teacher) () Dim response As MsgBoxResult response = MsgBox(确实要a注册吗e??, vbOKCancel + vbQuestion, 系统3提示?) If response =
11、 Then Dim myRow As DataRow myRow = myRow(tusernum) = myRow(tusername) = myRow(tpwd) = (myRow) (objDS, teacher) () refreshdata() End If Catch ex As Exception End Try Else Dim builder As = New (objda) () = select * from student = cmd (objDS, student) objXSTable = (student) () Dim response As MsgBoxRes
12、ult response = MsgBox(确实要a注册吗e??, vbOKCancel + vbQuestion, 系统3提示?) If response = Then Dim myRow As DataRow myRow = myRow(snum) = myRow(sname) = myRow(spwd) = (myRow) (objDS, student) () refreshdata() End If End If Dim denglu As New Form1 () () End Sub Private Sub chongzhi_Click(ByVal sender As , ByV
13、al e As ) Handles = = = End SubEnd ClassPublic Class Form3 Private Sub Button1_Click(ByVal sender As , ByVal e As ) Handles Dim kebiao As New Form4 () () End Sub Private Sub Button4_Click(ByVal sender As , ByVal e As ) Handles Dim denglu As New Form1 () () End Sub Private Sub Button5_Click(ByVal sen
14、der As , ByVal e As ) End Sub Private Sub Button2_Click(ByVal sender As , ByVal e As ) Handles Dim chengjig As New Form5 () () End Sub Private Sub Button3_Click(ByVal sender As , ByVal e As ) End Sub Private Sub Button1_Click(ByVal sender As , ByVal e As ) Handles Dim conn As New SqlConnection Dim c
15、omm As New SqlCommand = server=(local); uid=sa;pwd=1234;database=shiy () = select * from course where coursenum = & & and courxseclass= & & = conn = select coursename from course where coursenum = & & and courxseclass= & & = = conn = select coursetime from course where coursenum = & & and courxsecla
16、ss= & & = = conn = select courseaddress from course where coursenum = & & and courxseclass= & & = = conn () End Sub Private Sub Button2_Click(ByVal sender As , ByVal e As ) Handles Dim jiaoshijiemian As New Form3 () () End SubImports Public Class Form5 Private Sub Button5_Click(ByVal sender As , ByV
17、al e As ) Handles Dim jiaoshi As New Form3 () () End Sub Private Sub Button1_Click(ByVal sender As , ByVal e As ) Handles Dim conn As New SqlConnection Dim comm As New SqlCommand = server=(local); uid=sa;pwd=1234;database=shiy () = select * from chengji = conn Dim da As New SqlDataAdapter(, conn) Di
18、m ds As New DataSet (ds, chengji) () = (0) End Sub Private Sub Button2_Click(ByVal sender As , ByVal e As ) Handles Dim conn As New SqlConnection Dim comm As New SqlCommand = server=(local); uid=sa;pwd=1234;database=shiy () = insert into chengji values( & & , & & , & & , & & ) = conn () = select * f
19、rom chengji = conn Dim da As New SqlDataAdapter(, conn) Dim ds As New DataSet (ds, chengji) () = (0) End Sub Private Sub Button3_Click(ByVal sender As , ByVal e As ) Handles Dim conn As New SqlConnection Dim comm As New SqlCommand = server=(local); uid=sa;pwd=1234;database=shiy () = update chengji s
20、et snum= & & ,coursenum= & & ,coursename= & & ,coursegrade= & & where snum= & & = conn () = select * from chengji = conn Dim da As New SqlDataAdapter(, conn) Dim ds As New DataSet (ds, chengji) () = (0) End Sub Private Sub Button4_Click(ByVal sender As , ByVal e As ) Handles Dim conn As New SqlConne
21、ction Dim comm As New SqlCommand = server=(local); uid=sa;pwd=1234;database=shiy () = delete from chengji where snum = & = conn () = select * from chengji = conn Dim da As New SqlDataAdapter(, conn) Dim ds As New DataSet (ds, chengji) () = (0) End Sub Private Sub Button6_Click(ByVal sender As , ByVa
22、l e As ) Handles Dim denglu As New Form1 () () End Sub Private Sub Button1_Click(ByVal sender As , ByVal e As ) Handles Dim conn As New SqlConnection Dim comm As New SqlCommand = server=(local); uid=sa;pwd=1234;database=shiy () = select * from scourse = conn Dim da As New SqlDataAdapter(, conn) Dim
23、ds As New DataSet (ds, scourse) () = (0) End Sub Private Sub Button3_Click(ByVal sender As , ByVal e As ) End Sub Private Sub Button2_Click(ByVal sender As , ByVal e As ) Handles Dim conn As New SqlConnection Dim comm As New SqlCommand = server=(local); uid=sa;pwd=1234;database=shiy () = select * fr
24、om grchengji = conn Dim da As New SqlDataAdapter(, conn) Dim ds As New DataSet (ds, grchengji) () = (0) End Sub Private Sub Button4_Click(ByVal sender As , ByVal e As ) Handles Dim pingjiao As New Form7 () () End SubPublic Class Form7 Private Sub Button1_Click(ByVal sender As , ByVal e As ) Handles Dim denglu As New Form6 () () End Sub Private Sub Button2_Click(ByVal sender As , ByVal e As ) Handles MsgBox(提交?成功|) End SubEnd Class六、系统实现结果 七、 实验分工及总结首先,在开始做课程设计时对整个模块的把握不够好,以至于浪费了好多时间而没能按想象中的顺利完成。其次,在编写各个模块的程序代码时,真正感觉到了难度相当大,每次编写出来的代码都需要经过好几次修改才能顺利运行,而且在编写代码时常常会遇到一些很难解决的问题。