《学生成绩管理系统 毕业论文.doc》由会员分享,可在线阅读,更多相关《学生成绩管理系统 毕业论文.doc(34页珍藏版)》请在三一办公上搜索。
1、商丘职业技术学院毕业论文(设计)题目:学生成绩管理系统姓 名: 系 别: 计算机系 专 业: 计算机应用技术 学 号: 1101010126 指导教师: XXXX年 XX月XX日目 录第1章 引言11.1 项目开发的背景11.2 项目开发的目标11.3 项目开发的意义1第2章 可行性研究与需求分析22.1可行性研究22.2 需求分析22.2.1 概述22.2.2系统需求22.2.3数据词典32.2.4数据流程图3第3章 系统的总体设计53.1 系统结构设计53.2数据库结构设计7INT8CHAR83.3 系统E-R图8第4章 系统详细设计124.1 系统开发工具及运行环境124.2 系统各功能
2、模块的设计及实现124.2.1系统管理模块设计154.2.2 信息录入模块设计164.2.3信息查询模块设计264.2.4信息打印模块设计28总结31致谢32参考文献33摘 要学生成绩是教育单位不可或缺的一部分,应该能够为用户提供充足的信息和快捷的查询方式。传统的人工方式来管理学生的成绩存在着许多缺点,如:保密性差而且效率低,产生大量的文件和数据,对数据的查找、更新和维护带来困难。 随着计算机科学逐步成熟以及完善,其渗透到人类社会的各个领域并发挥着重要的作用。运用计算机对学生信息进行管理,具有手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这
3、些优点能够极大地提高管理者对学生成绩管理的效率,使学校的管理科学化、正规化。 关键词学生成绩管理系统;数据库;access;数据词典。第1章 引言1.1 项目开发的背景 几年前,各个学校对于学生成绩的管理还是停留在运用手工操作,随着各个学校的规模不断壮大,学生人数逐年增加。关于学生成绩管理工作所涉及的数据量越来越大,有的学校不得不靠增加人力、物力来进行学生成绩管理。但人工管理又有着许多缺陷,比如:效率底、易出错、检索信息慢、对学校的管理提供决策信息较为困难等。学校不能完全掌握每一个学生的学习情况,这样对学校的教学工作及其不利,使学校的教学质量一直停滞不前,所以我想借本次毕业设计之际,开发一个不
4、仅适用于各校的通用高校学生成绩管理系统,使学校能够充分掌握学生的学习情况,便于学校教学工作的进行和改革。1.2 项目开发的目标建立学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高办学效率和现代化水平。使学校对学生的成绩能够快速并准确的录入、修改和查询,更好地掌握每个学生的各科成绩,便于教师的管理。使学生对个人的学习成绩进行更快的查询。让老师能够更好、更快的了解学生的学习情况,使学校的教学质量进一步的提高。1.3 项目开发的意义现在我国的一些院校的学生成绩管理水平普遍不高,有的还停留在纸介质基础上,这种管理手段已不能适应时代的进展,因为它浪费了太多的人力和物力。在当今的信息时代,这种传
5、统的管理方法必然被计算机为基础的信息管理系统所取代。如果本系统能被学校所采用,将会改变以往靠手工管理学生成绩的状况,可以树立良好的办学形象,提高工作效率,节省人力和物力。第2章 可行性研究与需求分析2.1可行性研究随着学校规模的不断扩大,学生人数逐年增加,学校对学生成绩管理的工作量也越来越大。学生成绩管理涉及大量的数据处理,如果用手工来完成庞大的数据处理,将费时费力,还容易出错,为了满足学校对学生成绩管理的需要,急需要一套学生成绩管理系统来完成这项工作。作为计算机应用的一部分,使用计算机对学生成绩信息加以管理,将拥有着手工管理所无法比拟的优点.例如:输入迅速、查找方便、可靠性高、存储量大、保密
6、性好、寿命长、成本低等。这些优点能够极大地提高学生成绩管理的效率,也是学生成绩的科学化、正规化管理的重要条件。同时还要注意下列几点:1 由于各方面的限制,如人员不够、技术缺乏等原因,开发时应本着循序渐进,逐步完善的原则,不能贪大求全,盲目开发。2 要注意信息的准确、及时、适用、经济,只有及时、准确的信息才能保证系统开发的质量和效率。3 从全局出发注意系统开发的整体优化性,同时还要注意系统的可扩展性和可延伸性。4 尽量采用学校现有的软硬件环境,及先进的管理系统开发方案,从而达到充分利用学校现有资源、提高系统开发水平和应用效果的以及减少开发成本的目的。5 系统应符合学校对学生成绩管理的规定,满足学
7、生成绩管理的工作需要,并达到操作过程中的直观、方便、实用、安全等要求。2.2 需求分析2.2.1 概述1、系统分析的原则分析高校成绩管理的要求,确定管理系统的逻辑功能,以满足高校成绩的要求。第一阶段完成后,该系统应具备较高的可扩充性,便于在此基础上完成第二阶段。2、分析方法采用结构化分析方法,建立新系统的逻辑模型,这个逻辑模型尽可能避免计算机的专业术语。2.2.2 系统需求经过一段时间对学校学生成绩管理的调研与分析,以及认真研究了几位老师的意见,所开发的学生成绩管理系统应分成以下几个阶段开发:第一阶段建立的成绩管理系统由以下5个子系统组成: 1系统信息的管理,能添加用户、修改用户信息、删除用户
8、。2学生基本信息的管理,能对学生基本信息进行添加、删除、修改。3班级信息的管理,能对班级基本信息进行添加、删除、修改。4学生成绩信息的管理,能对学生成绩基本信息进行添加、删除、修改。5对数据的备份、恢复,对学生数据的及时备份。第二阶段建立的成绩管理系统主要在上次基础上对其功能进行修改以及扩充。在功能扩充上应该使系统更具实用性。2.2.3 数据词典 经过分析,所开发的学生成绩管理系统应有五个数据表,分别是:1系统用户数据:高校老师以及管理人员使用成绩管理系统的身份数据,包含的数据项有用户编号、登录口令、权限代码。2学生基本信息数据:学生基本信息数据,包含的数据项有学号、姓名、性别、出生日期、文化
9、程度、籍贯、民族、入学日期、身份证号等。3课程数据:课程信息数据。4班级数据:用于班级信息记录数据。5学生成绩数据:学生的成绩数据,包含的数据项考试编号、选择班号、选择学号姓名、选择课程以及输入分数等。2.2.4 数据流程图学生成绩管理系统数据流程图如下: 用户主界面欢迎界面用户登陆 管理系统系统管理信息打印信息录入信息查询用户登陆退出管理系统打印信息表查询信息录入信息图2-1 系统数据流程图第3章 系统的总体设计3.1 系统结构设计1系统设计目标本系统既要满足用户的设计目标,也要满足设计员的设计目标。(1) 用户的观点看,要求系统能够达到以下目标1) 对信息的收集和保存信息。例如:输入学生的
10、成绩信息,学生的基本信息等.2)速的传递信息,对那些共享的数据进行快速的传递。3)供准确的信息,要求比手工作业提供的更加准确和细致的数据,例如学生的各科分数.4) 现有的报表自动生成。5) 共享现有的数据(2) 设计员从技术观点看,要求系统能达到以下的目标:1) 用户使用,具有较高的用户友好性。2) 有较高的可靠性,将系统发生故障的概率控制在2.0以下,并具有快速恢复的能力3) 具有较高的运行效率,应比人工作业提高效率10倍以上。4)具有较强的可维护性和扩充性,能够适应用户的业务要求变化。(3)设计策略本系统的结构是自顶向下扩展的,层次化的暗盒模块结构。对高层模块,将运用以事务为中心的设计策略
11、,将一个复杂的系统逐步分解成为几个较小的相对简单的暗合模块;对低层模块,采用以变换为中心的设计策略。此外,为了提高模块的内聚性,降低模块间的偶合程度,数据库 的设计原则是把他作为模块间的邮政信箱,从而既实现数据共享有提高模块的独立性,使系统具有很高的可修改性。12系统总体功能本说明主要是为了对学生成绩管理系统进行使用和维护。该系统充分利用计算机的现有的功能来实现对系统管理、信息录入、信息查询,信息打印等的自动化控制,将会使学生成绩管理工作大大减轻,方便友好的信息管理用户界面,简便的操作,完善的数据库管理,将会使得信息管理系统极大限度地应用于现代化学生成绩管理,成为管理人员的得力助手。对系统信息
12、的修改、添加、删除对学生基本信息的修改、添加、删除、查询对班级信息的添加、修改、查询对学籍信息的添加、修改、查询对学生成绩信息的添加,修改,查询对数据的备份、恢复3系统结构图 学生成绩管理系统结构图,以下所示,这些结构图是根据系统分析说明书的数据流程图画出的。实际上它有 四个模块组成。学生成绩管理系统系统管理信息录入信息查询信息打印图3-1 学生成绩管理系统系统管理用户权限设置数据备份 图3-2 系统管理信息录入班级信息录入学生信息录入课程信息录入成绩录入补考信息录入图3-3 信息录入信息查询按学号查询学生成绩班级课程成绩查询 班级学期成绩查询补考学生查询图3-4 信息查询信息打印学生成绩打印
13、班级课程成绩打印班级学期成绩打印补考学生名单打印图3-5 信息打印3.2数据库结构设计1、数据库总体结构本系统采用关系型数据库Acess实现,数据库由、若干个二维表构成。本系统的表分为两类。一类是目录,即索引。另一类是实际数据。其中数据表包括:学生信息表、 班级信息表、课程信息表、成绩信息表和用户信息表。22数据库表表3-1 学生信息表数据字段名数据类型数据长度是否允许为空学号int4否姓名Char 10否性别char2是生日datetime8是本人成分Int 4是文化程度char10是籍贯Varchar8是民族varchar50是入学注册varchar200是身份证号Varchar200是邮
14、政编码varchar18是工作单位及地址Varchar200是单位电话Varchar200是家庭住址Varchar200是家庭电话Varchar20是毕业时间Datatime5是成绩毕业Int4是表3-2 班级信息表数据字段名数据类型数据长度是否允许为空班号 Int 4 否年级char10是班主任Char 10是教室char10是表3-3 课程信息表数据字段名数据类型数据长度是否允许为空课程编号Int 10否课程名称 char10是课程类型Char 10是课程描述char50是表3-4 成绩信息表数据字段名数据类型数据长度是否允许为空考试编号Char 10否选择班号Int 4否选择学号Int
15、4是姓名 Char 10是选择课程char10是输入分数float8是表3-5 用户信息表数据字段名数据类型数据长度是否允许为空输入用户名Char 10否输入密码Char 10是确认密码Char 10是3.3 系统E-R图1、局部E-R图 课程实体课程图3-6 课程E-R图班级班级实体图3-7 班级E-R图成绩实体学期考勤成绩随堂成绩期末成绩总评成绩平时成绩课程班级姓名学号图3-8 成绩E-R图学生信息实体姓名学号学制性别出生年月文化程度籍贯民族入学时间身份证号邮编工作单位单位电话家庭住址家庭电话成绩记录编号答辩日期指导教师设计题目毕业证编号毕业时间家庭成员学习工作经历答辩评语图3-9 学生信
16、息E-R图2.系统全局E-R图班级班级就读学号学生信息选课课程课程总评总评成绩11n11姓名学期平时随堂期末考勤性别籍贯入学时间指导老师身份证民族家庭住址姓名设计题目图3-10 系统全局E-R图第4章 系统详细设计4.1 系统开发工具及运行环境1. 系统开发工具本系统利用VB6.0全套开发工具做程序开发,利用Acess数据库作为学生成绩管理系统的后台数据库。VB6.0在数据库开发方面功能很强大,大量使用可视化的界面操作工具,支持面向对象的程序设计,其以简便、灵活、高效等优点著称。而Acess数据库以功能比较强大,由于VB6.0中无需另外安装其支持环境也能正常打开数据库,具有很强的适应性,更重要
17、的是利用Acess做数据库开发,在数据备份方面很优势,方法简单,可靠。3 2 系统运行环境软件环境:系统环境win2000及以上 + Acess数据库硬件环境:CPU P4 2.4G、256MB内存、80G硬盘4.2 系统各功能模块的设计及实现执行程序后,首先进入的是学生成绩管理系统的登录界面,用户通过输入正确的信息后,就进入系统主界面。 如图4-1所示图4-1 登陆界面以下是登陆模块的代码:Private Sub Command1_Click() Text1.Text = DBCombo1.Text Data1.Recordset.FindFirst name= & & Text1.Text
18、 & If Data1.Recordset.NoMatch Then MsgBox (没有此用户) DBCombo1.Text = Text2.Text = Exit Sub End If If Text4.Text = Text2.Text Then main.Show Unload denglu Exit Sub End IfIf Not (Text4.Text = Text2.Text) Then MsgBox (密码错误) Text2.Text = Exit Sub End IfEnd SubPrivate Sub Command2_Click()EndEnd SubPrivate S
19、ub Form_Load()Data1.DatabaseName = App.Path & DATABASEUSER1.mdbEnd Sub4进入主界面后,用户可以进行学生信息添加、删除、修改、查询和打印以及对数据库的备份等操作。如图4-2所示图4-2 系统主界面下面是主界面模块的代码:Private Sub bklr_Click()bukao.ShowEnd SubPrivate Sub bkxshchx_Click()chaxun_bukao.ShowEnd SubPrivate Sub bkxshmddy_Click()dayin_bukao.ShowEnd SubPrivate Sub
20、 chjlr_Click()chengji.ShowEnd SubPrivate Sub gyrj_Click()frmAbout.ShowEnd SubPrivate Sub kchxxlr_Click()kecheng.ShowEnd SubPrivate Sub MDIForm_Load()End SubPrivate Sub shjbf_Click()beifen.ShowEnd SubPrivate Sub tch_Click()EndEnd SubPrivate Sub xshxxlr_Click()xuesheng.ShowEnd SubPrivate Sub yhqx_Clic
21、k()quanxian.ShowEnd Sub4.2.1系统管理模块设计在这里管理员可以进行添加用户、修改用户和删除用户等操作。如图4-3所示图4-3 用户权限设置用户权限设置代码如下:Private Sub Command1_Click() Data1.Recordset.AddNew Command1.Enabled = False Command2.Enabled = False Command3.Enabled = True Command4.Enabled = TrueEnd SubPrivate Sub Command2_Click() Data1.Recordset.Edit C
22、ommand1.Enabled = False Command2.Enabled = False Command3.Enabled = True Command4.Enabled = TrueEnd SubPrivate Sub Command3_Click() Data1.Recordset.Update Data1.Refresh Command1.Enabled = True Command2.Enabled = True Command3.Enabled = False Command4.Enabled = FalseEnd SubPrivate Sub Command4_Click(
23、) Data1.UpdateControls Data1.Refresh Command1.Enabled = True Command2.Enabled = True Command3.Enabled = False Command4.Enabled = FalseEnd SubPrivate Sub Command5_Click()answer = MsgBox(确定删除数据吗?, 305, 核对框)If answer = 1 ThenData1.Recordset.Delete Data1.RefreshEnd IfEnd SubPrivate Sub Form_Load()Data1.
24、DatabaseName = App.Path & DATABASEuser1.mdbEnd Sub4.2.2 信息录入模块设计 包括对班级信息、学生基本信息、课程信息、学生成绩信息、学生补考信息的录入、修改和删除1. 班级信息录入用户在班级输入框中输入要添加的班级信息,点击添加按钮,如果班级信息出现在右侧的表格中就说明信息添加成功。用户也可以对已经添加的信息进行修改和删除,具体操作是选中要修改或者删除的班级信息点击修改或者删除按钮执行相应的操作,如果已经添加的班级信息很多,你可以通过模糊查找来帮你找出比较匹配的班级信息并将查询结果显示在右侧的表格中,便于用户进行修改或删除。如图4-4所示图4
25、-4 班级信息班级信息录入的代码:Private Sub Command1_Click() Data1.Recordset.AddNew Command1.Enabled = False Command2.Enabled = False Command3.Enabled = True Command4.Enabled = TrueEnd SubPrivate Sub Command2_Click()Data1.Recordset.Edit Command1.Enabled = False Command2.Enabled = False Command3.Enabled = True Comm
26、and4.Enabled = TrueEnd SubPrivate Sub Command3_Click() Data1.Recordset.Update Data1.Refresh Command1.Enabled = True Command2.Enabled = True Command3.Enabled = False Command4.Enabled = FalseEnd SubPrivate Sub Command4_Click() Data1.UpdateControls Data1.Refresh Command1.Enabled = True Command2.Enabled
27、 = True Command3.Enabled = False Command4.Enabled = FalseEnd SubPrivate Sub Command5_Click()answer = MsgBox(确定删除数据吗?, 305, 核对框)If answer = 1 ThenData1.Recordset.DeleteData1.RefreshEnd IfEnd SubPrivate Sub Command6_Click() Dim bm bm = Data1.Recordset.Bookmark Data1.Recordset.FindFirst 班级 Like & * & T
28、ext2.Text & * If Data1.Recordset.NoMatch Then MsgBox (没有符合条件的记录) Data1.Recordset.Bookmark = bm End IfEnd SubPrivate Sub Form_Load()Data1.DatabaseName = App.Path & DATABASEstu1.mdbEnd Sub2. 学生基本信息录入在此输入学生的基本信息包含班级学号、姓名、性别、出生日期、文化程度、籍贯、民族、入学日期、身份证号等,主要是对学生信息的登记。管理员还可以在右侧表格中对已经选中的学生信息进行修改或者删除,如果学生信息比较多
29、,而你要进行操作的学生的信息没有显示出来,你可以通过查找进行快速定位,查找分为按学号查找和按姓名查找。如图4-5所示:图4-5 学生信息学生信息模块的代码:Private Sub Command1_Click()Dim bm bm = Data1.Recordset.Bookmark Data1.Recordset.FindFirst 学号 Like & * & Text27.Text & * If Data1.Recordset.NoMatch Then MsgBox (没有符合条件的记录) Data1.Recordset.Bookmark = bm End IfEnd SubPrivate
30、 Sub Command2_Click()Dim bm bm = Data1.Recordset.Bookmark Data1.Recordset.FindFirst 姓名 Like & * & Text28.Text & * If Data1.Recordset.NoMatch Then MsgBox (没有符合条件的记录) Data1.Recordset.Bookmark = bm End IfEnd SubPrivate Sub Command3_Click()Dim bm bm = Data1.Recordset.Bookmark Data1.Recordset.FindNext 姓名
31、 Like & * & Text28.Text & * If Data1.Recordset.NoMatch Then MsgBox (没有符合条件的记录) Data1.Recordset.Bookmark = bm End IfEnd SubPrivate Sub Command4_Click()Data1.Recordset.AddNew Command4.Enabled = False Command5.Enabled = False Command6.Enabled = True Command7.Enabled = TrueEnd SubPrivate Sub Command5_Cl
32、ick() Data1.Recordset.Edit Command4.Enabled = False Command5.Enabled = False Command6.Enabled = True Command7.Enabled = TrueEnd SubPrivate Sub Command6_Click() Data1.Recordset.Update Data1.Refresh Command4.Enabled = True Command5.Enabled = True Command6.Enabled = False Command7.Enabled = FalseEnd Su
33、bPrivate Sub Command7_Click() Data1.UpdateControls Data1.Refresh Command4.Enabled = True Command5.Enabled = True Command6.Enabled = False Command7.Enabled = FalseEnd SubPrivate Sub Command8_Click()answer = MsgBox(确定删除数据吗?, 305, 核对框)If answer = 1 ThenData1.Recordset.DeleteData1.RefreshEnd IfEnd SubPr
34、ivate Sub DBGrid1_Click()End SubPrivate Sub Form_Load()Data1.DatabaseName = App.Path & DATABASEstu1.mdbData2.DatabaseName = App.Path & DATABASEstu1.mdbEnd Sub3.课程信息录入. 主要是对学生所学课程信息进行添加、修改和删除。管理员在课程名输入框中输入要添加的课程名称,点击添加按钮,如果课程信息出现在右侧的表格中,就说明信息添加成功。在这里也可以选中右侧表格中的信息对课程信息进行修改或者删除,管理员也可以通过利用查找功能快速定位你想要操作的
35、课程信息,便于管理。如图4-6所示:图4-6 课程设置4.成绩信息录入管理员在此窗口输入要输入学生所属班级,学生所学的课程和学期后,点击“确定”按钮,在下面的表格中就会列出班级所有学生的学号和姓名,如果某位学生这门学科已经输入成绩则显示该学生的成绩情况。选中要进行成绩录入的学生,在窗口下面就会显示选中学生的“学号”和“姓名”,在后面的输入框中输入相应的信息,点击“确定并输入下一成绩”按钮,该学生的成绩就添加成功了。如果点击“对已输入成绩进行删除”按钮,则将已经输入的成绩信息删除。如图4-7所示图4-7 成绩信息录入成绩录入代码如下:Private Sub Command1_Click()Msg
36、Box (注意,学期一定要输入正确)SQLStr = SELECT 学号,姓名 FROM 学生 SQLStr = SQLStr + WHERE 班级 like & & DBCombo1.Text & SQLStr = SQLStr + order by 学号 Data3.RecordSource = SQLStr Data3.Refresh Text1.DataField = 学号 Text2.DataField = 姓名 sSQLStr = SELECT 学号,姓名,随堂,平时,考勤,期末,总评,学期 from 成绩 sSQLStr = sSQLStr + where 班级 like & &
37、 DBCombo1.Text & sSQLStr = sSQLStr + and 课程 like & & DBCombo2.Text & sSQLStr = sSQLStr + order by 学号 Data5.RecordSource = sSQLStr Data5.Refresh Label10.Caption = Str$(Data3.Recordset.RecordCount) Label11.Caption = Str$(Data5.Recordset.RecordCount)End SubPrivate Sub Command2_Click()If Data3.Recordset
38、.EOF ThenMsgBox (已输入完成!)Exit SubEnd IfIf Text3.Text = Or Text4.Text = Or Text5.Text = Or Text6.Text = ThenMsgBox (数据有误)Exit SubEnd Ifsui = Val(Text3.Text)ping = Val(Text4.Text)kaoqin = Val(Text5.Text)qimo = Val(Text6.Text)zongping = sui * 0.05 + ping * 0.1 + kaoqin * 0.05 + qimo * 0.8Text7.Text = St
39、r$(Int(zongping + 0.5)Data4.Recordset.AddNewText8.Text = Text1.TextText9.Text = Text2.TextText10.Text = DBCombo1.TextText11.Text = DBCombo2.TextText12.Text = Combo1.TextText13.Text = Text3.TextText14.Text = Text4.TextText15.Text = Text5.TextText16.Text = Text6.TextText17.Text = Text7.TextData4.Recor
40、dset.UpdateData3.Recordset.MoveNextData5.RefreshData5.Recordset.MoveLastLabel11.Caption = Str$(Data5.Recordset.RecordCount)Text3.Text = Text4.Text = Text5.Text = Text6.Text = End SubPrivate Sub Command3_Click()SQLStr = SELECT * FROM 成绩 SQLStr = SQLStr + WHERE 学号 like & & Text1.Text & SQLStr = SQLStr
41、 + and 课程 like & & DBCombo2.Text & Data6.RecordSource = SQLStr Data6.Refreshanswer = MsgBox(确定删除数据吗?, 305, 核对框)If answer = 1 ThenData6.Recordset.DeleteData6.RefreshData5.RefreshData4.RefreshLabel11.Caption = Str$(Data5.Recordset.RecordCount)End IfEnd SubPrivate Sub Command4_Click()Command3.Enabled =
42、 TrueCommand4.Enabled = FalseDBGrid2.AllowUpdate = FalseEnd SubPrivate Sub Form_Load()Data1.DatabaseName = App.Path & DATABASEstu1.mdbData2.DatabaseName = App.Path & DATABASEstu1.mdbData3.DatabaseName = App.Path & DATABASEstu1.mdbData4.DatabaseName = App.Path & DATABASEstu1.mdbData5.DatabaseName = App.Path & DATABASEstu1.mdbData6.DatabaseName = App.Path & DATABASEstu1.mdbEnd Sub