欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    《数据库课程设计》报告学生成绩管理系统设计.doc

    • 资源ID:2395208       资源大小:4.05MB        全文页数:49页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《数据库课程设计》报告学生成绩管理系统设计.doc

    华科学院计算机科学与技术专业 数据库课程设计报告 (2007/2008学年 第一学期)学生姓名: 学生班级: 学生学号: 指导教师: 2007年12月29日目录第一章 学生成绩管理系统概述31.1 开发背景及意义31.2 运行环境3第二章 需求分析42.1 可行性分析41设计思想42技术可行性43环境可行性42.2 系统需求41功能需求42性能要求52.3 数据流程图52.4 数据字典6第三章 概念结构设计83.1 实体E-R图83.2 实体之间关系E-R图93.3 课程管理模块设计113.4 学生资料管理模块11第四章 逻辑结构设计13第五章 物理设计及实施155.1 系统数据库设计155.2 相关模块数据库设计15第六章 系统设计及主要界面介绍176.各主要界面介绍176.1 登陆界面176.2 系统主要界面176.2编码实现:226.1 连接数据库及网络函数申明226.2 登陆界面实现246.3 主界面代码如下256. 成绩录入界面代码296. 成绩修改界面326. 成绩查询366. 用户注册39附录 使用说明42附录2 Db_score.sql 内容42参考文献48第一章 学生成绩管理系统概述1.1 开发背景及意义在教育普及日趋完善的今天,一个学校拥有上万人已经很普遍,上万个学生的数据汇集在一起,对学校信息的管理者而言其工作的庞杂和繁琐程度是相当巨大的,如果只靠人工管理往往为了改一条数据就要翻查所有相关的资料,不仅容易产生错误,而且造成时间和人力很大的浪费,在网络普及的今天,无纸化办公已经成为一种新的趋势,在极短的时间内让学校变成无纸化办公的场所是不现实的,但我们可以一步一步向这个方向发展。经过仔细分析以后,学校的学生成绩管理是学校庞大数据中的一角,编写个学生成绩管理系统来关学生的成绩有很大的意义。1、 主要方便教师对学生成绩的管理:教师只需坐在计算机前即可完成对学生成绩、课程及学生资料的管理,不用在各个办公室来回取送文件了。2、 减少数据出错:人工对数据的管理产生错误是无法避免的,一旦产生错误,更正起来十分困难,使用本系统后可以减少出错的几率,修改错误也十分方便。3、 节约资源:系统普及后可以节约大量用来纪录学生信息的纸张,可以减少以用来管理学生的人手,节约了物质资源和人力资源,从而节约了学校的开支。1.2 运行环境1、装有WIN98以上的操作系统的个人电脑2、安装Access或 SQL Server其中一种数据库。第二章 需求分析2.1 可行性分析1设计思想当今社会的信息流量越来越大,信息交流的效率显得尤为重要。无纸化办公已经成为社会各工作场所必须具备的条件了。一个有用几千人乃至上万人的学校,要对每个学生的资料、成绩、课程等数据进行管理,其信息量很大,如果通过人工管理的话将是一项十分巨大的工作,而且容易出错。我们设计了这套系统为了能让教师更轻松地对学生的成绩、课程、学生资料进行管理,查询成绩,将大大简化学生资料、成绩和课程的添加、修改、查询等管理的手续和时间,从而减轻了教师的工作负担和繁琐。2技术可行性C/S 模式的客户端需要安本装软件通过对数据库的访问就可以得到所需信息,比其他方式更容易管理,符合使用者对使用系统的要求。为我们提供了系统设计的基本思想,为我们提供了系统设计的基本方向。3环境可行性 现在学校教师已经普遍配有计算机,而且采用的是C/S模式,不需要为客户安装什么特殊的软件,甚至不要求计算机能上网的要求。2.2 系统需求1功能需求整个系统共划分为学生成绩管理、学生资料管理、课程管理、登陆信息管理和用户管理五大模块,其中课程管理模块提供用户对课程的基本管理功能,包括课程的添加、修改、删除和浏览。学生资料管理模块提供用户对学生资料的基本管理功能,包括学生资料的添加、修改、删除和查询。系统功能层次图如图2-1所示。成绩管理系统学生资料管理用户管理登陆信息管理课程管理学生成绩管理图 2.1系统功能层次图2性能要求所开发的系统能在安装有WIN98以后的系统上正常运行,数据库文件的查询修改所需响应时间不能大于10秒。要求系统能对数据库信息的基本保密,并对超级管理员提供对数据库的直接修改功能,对不同的对象提供不同的权限资格,让使用者不能越权修改资料,并且要求数据的唯一,不能产生数据重复输入的情况。对于源代码能保密,出现问题后能及时的做出相应的调整。要求客户机上有安装Access或 SQL Server等数据库。2.3 数据流程图 如下图2.2所示图 2.2 数据流程图2.4 数据字典数据字典是关于数据的信息集合,也就是对数据流图中包含的所有元素的定义的集合。数据字典的作用是在软件分析和设计的过程中给人提供关于数据的描述信息。本软件的相关数据字典如表2-1下:表2-1 数据字典名字:学生信息记录别名:描述:描述学生的具体信息的信息表定义:学生信息记录 = 学号 + 姓名 + 性别 + 年龄 + 班级 位置:登陆用户信息表(tb_login)学生信息表(tb_stuInfo)名字:教师注册表别名:系统登陆用户信息描述:教师注册为本系统的合法用户时,所提供给用户的信息。定义:教师注册表 = 系统ID + 教师号 + 姓名 + 性别 + 院系位置:登陆用户信息表(tb_login)教师信息表(tb_teacherInfo)名字:课程安排表记录别名:描述:记录课程安排的信息表定义:课程安排表记录 = 科目号 + 科目名 + 上课时间+上课地点位置:课程安排表(tb_claInfo)数据项描述:系统ID = 教师登陆用户名 | 管理员登陆用户名 | 学生登陆用户名教师登陆用户名 = 0字母或数字12管理员登陆用户名 = 0字母或数字12学生登陆用户名 = 学号学号 = 12数字字符12第三章 概念结构设计3.1 实体E-R图E-R图(Entity-Relationship Diagran)是用来描述现实世界的概念模型。本系统的主要E-R图3.1 图3.6所示:管理员姓名性别系统ID图3.1 管理员实体E-R图教师教师号姓名性别系统ID图3.2 教师实体E-R图姓名学号性别年龄班级学生图3.3 学生教师实体E-R图姓名学号课程名表号班级成绩图3.4 成绩实体E-R图课程课程号课程名图3.5 课程实体E-R图院系籍贯入学时间专业班级学生资料政治面貌最高学历图3.6 学生资料实体E-R图3.2 实体之间关系E-R图图 3.7实体之间关系E-R图PS:管理员和学生、教师之间是管理的关系,由管理员管理学生和教师的权限。管理员具有最高权利,并管理课程安排;也可以对学生资料和学生成绩进行管理。教师和成绩、学生资料之间是管理的关系,由教师对成绩、学生资料的添加、删除、修改等功能进行管理;与课程是查询关系,教师只能查询课程安排。学生和课程、成绩、学生资料之间是查询的关系,学生在课程、成绩、学生资料的模块中查询信息。3.3 课程管理模块设计权限设计:权限为2的使用者为学生,权限为1的使用者为教师,权限为0的使用者为管理员。课程管理模块:能提供基本的课程管理功能:添加课程、修改课程、删除课程、浏览课程,每个功能的具体要求如下:课程管理功能层次图如图3.2所示:课程管理模块课程添加课程修改课程查询课程删除图3.2 课程管理功能层次图 添加课程:为权限为0的用户提供课程添加功能,要求能添加课编号、课程名称。修改课程:为权限达为0的用户提供课程修改功能,为了保证课程编号唯一,只能修改课程名称,不能对课程编号进行修改,如果要修改课程编号,请先删除课程,再添加对应课程的编号和名称。删除课程:为权限为0的用户提供课程删除功能,选择要删除的课程编号,显示出该课程的相关信息,确认后删除课程。浏览课程:为所有用户提供课程浏览功能,将所有课程信息以表格的形式显示到新窗体上。3.4 学生资料管理模块学生信息管理模块:记录学生基本信息,包括学生的学号、姓名、性别、出生日期、所在院系、专业、联系方式以及备注信息,对学生的基本资料进行添加、修改、删除、查询等基本的管理操作。学生资料管理功能层次图3.3所示学生资料管理模块学生资料添加学生资料修改学生资料查询学生资料删除图3.3 学生资料管理功能层次图添加学生信息:为权限是1或0的用户提供学生信息添加功能,要求能添加学生资料的所有项,并且确保学生学号的唯一性。修改学生信息:为权限是1或0的用户提供学生信息修改功能,输入要修改的学生学号后生成修改学生资料的页面,并在上面进行修改操作,要求能修改学生资料。删除学生信息:为权限是1或0的用户提供学生信息删除功能,要求在输入要删除的学生学号后生成删除学生资料的页面,使用者得到确认后,彻底的删除改学生的所有资料。查询学生信息:为所有用户提供学生资料查询功能,能提供不同类型的查询,包括全部查询、所在专业、班级、学号、姓名的查询,在选择选项并输入相应的数值后,生成学生的资料。第四章 逻辑结构设计逻辑结构设计的任务就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。本系统的逻辑结构如下图4.1 图4.4所示:图4.1 tb_login 登陆用户基本信息表图4.2 tb_score 学生成绩基本信息表图4.3 tb_stuinfo 学生基本信息表图4.4 tb_clas 课程基本信息表第五章 物理设计及实施5.1 系统数据库设计数据库包括用户表、课程表、成绩表、学生资料表,在每个表中要求能纪录相应的基本信息,并做到分类和自动排序。在设计过程中,本机调试时采用了SQL数据库。5.2 相关模块数据库设计1 系统用户表记录的系统登陆用户的信息:登陆用户资料表(tb_login) 如图5.1所示:(以下所有图,为了方便截图,建立表语句后,加了个select 语句,所以有显示批查询完成)图5.1 登陆用户表2 学生成绩表记录了学生各科成绩学生成绩表(tb_score)如图5.2所示:图5.2 学生成绩表3 课程表纪录了课程的基本信息:课程资料表(tb_course)如图5.3所示图5.3 课程资料表 4、学生资料表记录了学生的基本信息:学生资料表如图5.4所示:图5.4 学生资料表第六章 系统设计及主要界面介绍6.各主要界面介绍6.1 登陆界面登陆界面Frm_login如图6.1所示:图6.1 登陆界面6.2 系统主要界面(本系统的主界面具体的实际功能只有修改密码,主要是起和后边各个窗体连接作用,相当于导航器,功能不可小视 ,界面设计全是自己用photoshop等软件自己设计的,所有素材保留在本程序目录下的skin文件夹中)系统主要界面Frm_tmain 系统简介如图6.2所示:图6.2 系统简介系统帮助如图6.所示:(主要是连接了些网上关于vb6.0和sql server 2000的资料,没有自己设置窗体和文本)图6. 帮助主题更改密码界面如图6.所示:图6. 更改密码成绩查询界面如图6.5所示下:(查询中也还有其他按纽功能,大体相同,不一一介绍)图6.5 成绩查询成绩查询结果显示如下如图6.6所示(注:为了方便检查我在数据库中加入了本班部分同学的信息,各个窗体的相关标签是相互关联的,如上边查询的是200522030109,点击查询得到以下表中的信息,下同)图6.6 成绩查询结果成绩录入界面如如图6.7所示图6.7 录入成绩选择相应的科目和班级提交后得到以下页面如图6.8所示图6.8 录入成绩表格信息修改界面如下如图6.9所示图6. 修改信息选择相应的科目和班级提交后得到以下页面:在此录入修改信息,如下图6.10所示图6. 修改成绩表格以下是注册信息表如图6.11所示图6. 注册界面(两个)6.2编码实现:6.1 连接数据库及网络函数申明这是两模块:modSql和toInternet的代码(为了方便后边的代码方便简单,就把这两个常用部分,定义了两个单独模块)如下:代码简单,不一一解释了模块一:ModSql:Public Function ExecuteSql(ByVal strSql As String) As ADODB.RecordsetOn Error GoTo ExecuteSql_Error '处理错误 Dim cnn As ADODB.Connection Dim rst As ADODB.Recordset Set cnn = New ADODB.Connection Set rst = New ADODB.Recordset cnn.Open "filedsn=db_score.dsn;uid=sa;pwd=" rst.Open Trim$(strSql), cnn, adOpenKeyset, adLockOptimistic Set ExecuteSql = rstExecuteSql_Exit: Set rst = Nothing Set cnn = Nothing Exit FunctionExecuteSql_Error:Msgbox ("数据哭操作失败,请检查数据源配置!"),vbokonly Resume ExecuteSql_ExitEnd Function模块二:toInternet:Rem 连接网络 .api函数Public Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As LongPublic Const SW_SHOWNORMAL = 1Public Sub toWeb(ByVal URL As String)Dim Sus As LongSus = ShellExecute(Handle, vbNullString, URL, vbNullString, nil, SW_SHOWNORMAL)End Sub 6.2 登陆界面实现其中有关代码如下:Option ExplicitPrivate Sub CmdAdmin_Click() MsgBox "I am sorry! You are not the admin.", vbOKOnly + vbExclamation, "HKjsj052201h"End SubPrivate Sub CmdEnter_Click() Dim strSql As String 'sql查询语句 Dim rst As New ADODB.Recordset If Trim(TxtUser.Text) = "" Then MsgBox "请输入正确的用户名!", vbOKOnly + vbExclamation, "警告" TxtUser.SetFocus Else strSql = "select * from tb_login where userid ='" & TxtUser.Text & "' " Set rst = ExecuteSql(strSql) If rst.EOF = True Then MsgBox "用户名不存在,请重新输入!", vbOKOnly + vbExclamation, "警告" Set rst = ExecuteSql(strSql) TxtUser.SetFocus Else If Trim(rst.Fields("userpwd") = Trim(TxtPwd.Text) Then rst.Close Me.Hide Frm_tMain.Show Else MsgBox "密码不正确,请重新输入!", vbOKOnly + vbExclamation, "警告" TxtPwd.Text = "" TxtPwd.SetFocus End If End If End If End SubPrivate Sub CmdNewuser_Click() Frm_Login.Hide Frm_Regester.ShowEnd Sub6.3 主界面代码如下Private Sub CmdAddStu_Click() FmeAdd.Visible = True Frmcla04.Visible = FalseEnd SubPrivate Sub CmdAlterScore04_Click() FmeAdd.Visible = False Frmcla04.Visible = TrueEnd SubPrivate Sub CmdCan01_Click() TxtYuanxi01 = "" TxtMajor01 = "" TxtClas01 = ""End SubPrivate Sub CmdChaXun05_Click() Frm_tMain.Hide Frm_Stu_Score.ShowEnd SubPrivate Sub CmdCla_Click() FClaIn.Visible = True FSubIn.Visible = FalseEnd SubPrivate Sub CmdCutStu_Click() FmeAdd.Visible = True Frmcla04.Visible = FalseEnd SubPrivate Sub Cmdok01_Click() Frm_tMain.Hide Frm_InScores.ShowEnd SubPrivate Sub CmdOk03_Click() FrmSub04.Visible = True Frmcla04.Visible = FalseEnd SubPrivate Sub CmdOk02_Click() FClaIn.Visible = True FSubIn.Visible = FalseEnd SubPrivate Sub CmdOk05_Click() Me.Hide Frm_AlterScore.ShowEnd SubPrivate Sub CmdSelSCore05_Click() Fmeclas05.Visible = True FmeZdy05.Visible = False FmeCxStu05.Visible = FalseEnd SubPrivate Sub CmdStu05_Click() FmeCxStu05.Visible = True FmeZdy05.Visible = False Fmeclas05.Visible = FalseEnd SubPrivate Sub CmdSub_Click() FClaIn.Visible = False FSubIn.Visible = TrueEnd SubPrivate Sub CmdXcode_Click() If TxtNewcode01.Text <> TxtNewcode02.Text Then MsgBox "两次输入的密码不一样!", vbOKOnly + vbExclamation, "错误" End If Dim rst As New ADODB.Recordset Dim strSql As String strSql = "update tb_login set userpwd = " & TxtNewcode01.Text & " where userid ='" & Frm_Login.TxtUser.Text & " '" Set rst = ExecuteSql(strSql) MsgBox "密码修改成功!", vbOKOnly + vbExclamation, "HKJSJ052201H" End SubPrivate Sub CmdZdy_Click() FmeZdy05.Visible = True Fmeclas05.Visible = False FmeCxStu05.Visible = FalseEnd SubPrivate Sub Form_Load() CobSub04.AddItem ("软件工程") CobSub04.AddItem ("汇编语言") CobSub04.AddItem ("数据库设计") CobSub04.AddItem ("计算机图形学") CobSub04.AddItem ("JAVA程序设计") CobSub04.AddItem ("计算机组成原理")End SubPrivate Sub Form_Unload(Cancel As Integer) If MsgBox("真的要退出本系统吗?", vbOKCancel + vbDefaultButton2, "退出系统") = vbCancel Then Cancel = 1End SubPrivate Sub LblHelp01_Click() Me.Hide Frm_AD.ShowEnd SubPrivate Sub LblHelp02_Click() Call toWeb("End SubPrivate Sub LblHelp03_Click() Call toWeb("")End SubPrivate Sub LblHelp04_Click() Call toWeb("End SubPrivate Sub LblHelp05_Click() Me.Hide Frm_421.ShowEnd SubPrivate Sub Timer1_Timer()LblTime.Caption = " 欢迎使用本系统! 祝学习工作愉快 " + Format(Now, "yyyy/mm/dd") _+ "" + Format(Now, "dddd") + " " + Format(Now, "hh:mm:ss AM/PM")End Sub6. 成绩录入界面代码Private Sub Form_Load()With MSFlexGrid1 '固定表头 .FixedRows = 1 '表头项居中 .FillStyle = flexFillRepeat .Col = 0 .Row = 0 .RowSel = 1 .ColSel = .Cols - 1 .CellAlignment = 4 .Rows = 25 .Cols = 5End With '设置MSFlexGrid表格的列宽 MSFlexGrid1.ColWidth(0) = 1900 MSFlexGrid1.ColWidth(1) = 1800 MSFlexGrid1.ColWidth(2) = 3200 MSFlexGrid1.ColWidth(3) = 1200 MSFlexGrid1.ColWidth(4) = 2600 '表头 MSFlexGrid1.TextMatrix(0, 0) = " 学号" MSFlexGrid1.TextMatrix(0, 1) = " 姓名" MSFlexGrid1.TextMatrix(0, 2) = " 课程名" MSFlexGrid1.TextMatrix(0, 3) = " 分数" MSFlexGrid1.TextMatrix(0, 4) = " 备注"''''''''''''''''''''''ShowData 'no return' 添写固定科目 For k = 1 To 17 MSFlexGrid1.TextMatrix(k, 2) = LblTitle.Caption Next k End Sub' 读取数据库的函数/循环读入Public Sub ShowData() Dim j As Integer Dim i As Integer strSql = "select 学号,姓名 from tb_score" Set rst = ExecuteSql(strSql) If rst.EOF = False Then With MSFlexGrid1 .Rows = 1 Do While Not rst.EOF .Rows = .Rows + 1 For i = 1 To rst.Fields.Count Select Case rst.Fields(i - 1).Type Case adDBDate .TextMatrix(.Rows - 1, i - 1) = Format(rst.Fields(i - 1) & "", "yyyy-mm-dd") Case Else .TextMatrix(.Rows - 1, i - 1) = rst.Fields(i - 1) & "" End Select Next i rst.MoveNext Loop End With End If rst.Close End Sub6. 成绩修改界面Option ExplicitDim rst As New ADODB.RecordsetDim strSql As StringDim k As IntegerDim j As IntegerDim i As IntegerPublic Sub ShowData() strSql = "select 学号,姓名," & Trim(LblSub.Caption) & " from tb_score" Set rst = ExecuteSql(strSql) If rst.EOF = False Then With MSFlexGrid1 .Rows = 1 Do While Not rst.EOF .Rows = .Rows + 1 For i = 1 To rst.Fields.Count Select Case rst.Fields(i - 1).Type Case adDBDate .TextMatrix(.Rows - 1, i - 1) = Format(rst.Fields(i - 1) & "", "yyyy-mm-dd") Case Else .TextMatrix(.Rows - 1, i - 1) = rst.Fields(i - 1) End Select Next i rst.MoveNext Loop End With End If rst.Close '''''''''''''''''''' End SubPublic Sub ShowScore() strSql = "select " & Trim(LblSub.Caption) & " from tb_score" Set rst = ExecuteSql(strSql) If rst.EOF = False Then With MSFlexGrid1 .Rows = 1 Do While Not rst.EOF .Rows = .Rows + 1 For i = 1 To rst.Fields.Count .TextMatrix(.Rows - 1, i + 2) = rst.Fields(i - 1) & "" Next i rst.MoveNext Loop End With End If rst.Close End SubPrivate Sub Command1_Click()End SubPrivate Sub CmdBack_Click() Me.Hide Frm_tMain.ShowEnd SubPrivate Sub CmdOk_Click() MsgBox "修改数据成功!单击“确定”返回", vbOKOnly + vbInformation, "计算机052201H"End SubPrivate Sub CmdReTry_Click() Dim i As Integer For i = 0 To 16 Text1(i) = "" Next iEnd SubPrivate Sub Form_Load()On Error Resume NextLblSub.Caption = Frm_tMain.CobSub04.Text '显示biao qianMSFlexGrid1.Rows = 24MSFlexGrid1.Cols = 4'设置MSFlexGrid表格的列宽 MSFlexGrid1.ColWidth(0) = 2400 MSFlexGrid1.ColWidth(1) = 2400 MSFlexGrid1.ColWidth(2) = 1800 MSFlexGrid1.ColWidth(3) = 1800 '表头 MSFlexGrid1.TextMatrix(0, 0) = " 学号" MSFlexGrid1.TextMatrix(0, 1) = " 姓名" MSFlexGrid1

    注意事项

    本文(《数据库课程设计》报告学生成绩管理系统设计.doc)为本站会员(laozhun)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开