版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、vb 课程设计 学生成绩管理系统 姓名: 学号: 班级: 系别:电子工程系 前前 言言 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在 技术上已逐步成熟。管理信息系统是一个不断发展的新型学科,任何一个单位 要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立与自身特 点相适应的管理信息系统。 本文介绍了在 visual basic6.0 环境下采用“自上而下地总体规划,自下 而上地应用开发”的策略开发一个管理信息系统的过程。通过分析学生成绩管 理的不足,创建了一套行之有效的计算机管理学生的方案。文章介绍了学生成 绩管理信息系统的系统分析部分,包括可行性分析、业务流程分
2、析等;系统设 计部分主要介绍了系统功能设计和数据库设计及代码设计;系统实现部分说明 了几个主要模块的算法, 本系统面友好,操作简单,比较实用。 目 录 前 言2 第一章 学生成绩管理系统5 11 需求分析6 111 系统概述8 1. 1. 2 功能需求描 述10 第二章 总体设计及流程图14 2.1 开发与设计的总体思 想15 2.2 系统模块结构 图16 2.2.1 模块设 计16 2.2.2 界面设 计17 2.2.3 数据库设 计17 第三章 详细设计18 3.1 学生管理模 块18 3.2 教师管理模 块23 3.3 课程管理模 块23 3.4 成绩管理模 块23 参考文献27 致 谢
3、27 前前 言言 几年的学习即将结束,经过几个月的努力,我所设计的“学生成绩管理系 统”也已完成。以往学的都是理论性很强的知识,再加上实践机会不多,更增 强了我对计算机科学的兴趣。在这段时间里,我增强了自己动手的能力,更重 要的是似乎把握住了计算机的一些实质性的东西终于能够用我所学的知识 解决一些实际应用的问题了。但我知道,数据库技术只是计算机科学的一个小 小分支,计算机还有更广阔的领域有待我们去探索。 这次毕业设计是用 visul basic 语言设计的“学生成绩管理系统” ,这就 要求对 visul basic 语言及数据库技术能够真正了解和熟练的掌握,并且能够 灵活的运用。 当今的时代是
4、信息的时代,数据库技术是数据管理的最新方法,也是信息 管理中一项非常重要的新技术,数据库管理是帮助人们处理大量信息,实现科 学化和现代化的强有力工具,数据库管理子系统已发展成为通用的系统软件。 由于数据库具有数据结构化、最低冗余度、较高的程序独立性、易于扩充、易 于编制应用程序等优点,因而是近年来发展非常迅猛的计算机软件。数据库技 术是数据信息管理技术的最新成果,被广泛应用于国民经济、文化教育、军事 情报、科学计算、人工智能和计算机辅助设计领域,为计算机的应用开辟了广 阔的天地。 第一章 学生成绩管理系统 11 需求分析 考试成绩是学生在校期间的重要历史资料,学生成绩信息的管理(成绩的 录入、
5、查询、分类统计等)是各个学校面临的一个重要问题。该成绩管理系统 主要是用于管理在校学生的考试成绩,对教、班级、学生、课程和成绩信息进 行维护与管理。本系统要求运行稳定,图形用户界面符合用户的日常使用习惯, 数据处理正确无误。 111 系统概述 学生成绩管理系统主要完成学生成绩的管理,包括: (1)教师管理。主要完成教师的添加、修改、删除和查询。 (2)班级管理。主要完成班级的添加、修改、删除和班级列表。 (3)学生管理。主要完成对学生信息的添加、修改、删除和查询。 (4)课程管理。主要完成对课程信息的维护,包括课程添加、修改、 删除和查询功能。 (5)成绩管理。主要完成成绩的添加、删改和成绩杳
6、询。 1.1.2 功能需求描述 该系统的功能需求有如下几个方面: (1)教师管理。主要用于对教师信息进得维护。功能包括新教师信息的添加、 修改和删除已有的教师信息,对教师信息进行查询。 (2)班级管理。主要用于对班级信息进行维护。功能包括对班级信息的添 加、删改和班级列表。 (3)学生管理。主要用于维护学生信息。功能包括对学生信息的添加、删 改和查询。 (4)课程管理。主要用于维护课程信息,功能包括课程的添加、删改和查 询。 (5)成绩管理。用于维护成绩信息,功能包括成绩的添加和查询。 第二章 总体设计及流程图 上面的需求分析已经对系统的功能需求、环境需求做了较为明确的阐述。根 据上述需求,下
7、面按照开发设计思想、功能模块、图形用户界面、数据库等方 面阐述成绩管理系统的总体设计。 2.1 开发与设计的总体思想 作为学校使用的成绩管理系统,能够满足成绩管理的基本功能需求,界面简 单、操作简便是设计的一个重要考虑。 2.22.2 系统模块结构图系统模块结构图 2.2.1 模块设计 图 2-7 主窗体菜单设计的效果图 1.教师管理菜单设计 (1)教师信息添加界面设计 教师信息添加界面使用文本框输入教师相关基本信息,使用组合列表框选 择部门和性别。单击添加按钮保存教师信息,单击返回按钮返回主菜单。具体 设计效果图如图 2-8 所示。 图 2-8 具体设计效果图 (2)教师信息修改删除界面设计
8、 图 2-9 具体设计效果图 2.学生管理界面设计 (1)学生信息添加界面设计 学生信息添加界面使用文本框输入学生的姓名、学号、生日、电话、地址 和备注信息。同时使用了两个组合列表框,分别用于选择班级和性别。组合列 表框中的数据会在窗体加载的时候就进行初始化。具体设计效果图如图 1-11 所 示。 (2)学生信息删改界面设计 在学生信息删改界面中,在班级组合列表框中选择班级,该班级的所有学 号会添加到学号组合列表框中,在学号组合列表框中选择学号,就会在下方显 示该学生的基本信息。根据需要单击修改按钮来修改学生信息,也可以单击删 除按钮来删除该学生的信息,或是单击返回按钮返回主菜单。具体设计效果
9、图 如图 2-10 所示。 图 2-10 具体设计效果图 (3)学生信息查询界面设计 学生信息查询办面提供了四种查询方式:全部、按班级查询、按学号查询 和按姓名查询。提供了一个表格用于赤示查询结果。 3.课程管理界面设计 (1)课程信息添加界面设计 课程添加界面提供了文本框,用于输入课程名称、课程编号、课程学时数和 学分等课程基本信息。并且提供了两个组合列表框,分别用于选择课程类型和 任课教师。这两个组合列表框的数据是在加载窗体的时候进行初始化的。 (2)课程信息删改界面设计 课程信息删改界面提供了文本框,用于输入课程编号,单击查询按钮就会查 找该课程编号所代表的课程信息,找到后将信息显示出来
10、。修改和删除按钮用 于完成修改和删除操作。具体设计效果图如图 2-11 所示。 图 2-11 具体设计效果图 4.成绩管理界面设计 (1)成绩录入界面设计 成绩界面使用文本框输入学生学号和课程成绩。使用组合列表框选择课程 编号。使用表格显示查询结果。使用两个文本框显示学生姓名和课程名称。这 两个文本框是不可编辑的。具体设计效果图如图 2-12 所示。 图 2-12 具体设计效果图 (2)成绩删改界面设计 图 2-13 具体设计效果图 (3)成绩查询界面设计 成绩查询界面提供了三种查询方式:按学号、按课程和按成绩查询。使用 表格显示查询结果。 2.2.3 数据库设计 根据系统功能设计的要求以及功
11、能模块的划分,数据库表结构设计如下。 1.学生信息表 名称:学生信息表(见表 2-1) 表名称标识:studentinfo 数据来源:学生管理模块进行录入。 2教师信息表 名称:教师信息表(见表 2-2) 表名称标识:teacherinfo 数据来源:教师管理模块进行录入。 3.班级信息表 表 2-3 班级信息表 名称字段名称类型主键非空 班级编号 classno 文本 yesyes 班级名称 classname 文本 noyes 4.部门信息表 表 2-4 部门信息表 名称字段名称类型主键非空 部门编号dept_no文本yesyes 部门名称dept_name文本noyes 5.课程信息表
12、表 2-5 课程信息表 名称字段名称类型主键非空 序号no自动编号yesyes 课程编号course_no文本noyes 课程名称course_name文本noyes 课程类型course_type文本noyes 学时数course_hours数字noyes 学分score数字noyes 授课教师teacher文本noyes 6.成绩信息表 表 2-6 成绩信息表 名称字段名称类型主键非空 编号no自动编号yesyes 学号stu_no文本noyes 课程号course_no文本noyes 成绩score数字noyes 第三章 详细设计 基于系统需求分析与系统总体设计的结论,本系统采用 vis
13、ual basic 6.0 实现各模块的功能,下面按照功能模块的划分来分别阐述系统的详细设计和实 现过程。 3.1 学生管理模块 1.功能描述 为用户提供学生信息的添加、修改、删除和查询界面,完成学生信息的添 加、修改、删除和查询功能。 2.窗体和源文件定义 该功能模块涉及到的窗体名称和文件名参见表 3-1。 表 3-1 窗体列表 窗体各称窗体文件名作用 frmstudentfrmstudent.frm 用于学生信息添加 frmupdatestudentfrmupdatestudent.frm 用于修改、删除学生信 息 frmquerystudentfrmquerystudent.frm 用于
14、查询学生信息 module1module1.bas 用于定义全局变量和公 用函数 3.2 教师管理模块 1功能描述 该模块提供教师信息的添加、修改、删除和查询界面,完成教师信息的添加、 修改、删除和查询功能。 2窗体和源文件定义 表 3-3 窗体列表 窗体名称窗体文件名作用 frmaddteacherfrmaddteacher.frm 用于教师信息 添加 frmupdateteacherfrmupdateteacher.frm 用于修改、删 除教师信息 frmqueryteacherfrmqueryteacher.frm 用于查询教师 信息 3.变量声明 窗体模块中的声明 public sql
15、str as string public msgtext as string 代码模块中的声明 public dbpath as string public connstr as string 4.函数与方法声明 表 3-4 主要函数与方法 窗体名称函数/方法名作用 frmaddteachersub initdepartment() 在组合列表框中列 出所有部门名称 sub initform() 初始化窗体上的文 本框和组合列表框 private sub cmdok_click() 添加教师信息 sub initdepartment() 在组合列表框中列 出所有部门名称 sub inittea
16、cherno() 在组合列表框中列 出所有教师编号 sub getteacherno() 获取教师信息 private sub cmddelete_click() 删除教师信息 frmupdateteacher privatesubcmdupdate_click( ) 修改教师信息 sub initdepartment() 在组合列表框中列 出所有部门名称 sub inittitles() 在组合列表框中列 出所有的职称 frmqueryteacher private sub queryteacher() 查询教师信息 处理: 1)获取信息输入窗口中填写的数据。 2)执行查询得到结果集,然后调
17、用结果集对象的 addnew 方法。 3)设置各个字段的值。 4)调用 update 方法更新结果集,完成教师信息添加。 输出:将数据写入教师信息表 程序清单:与学生信息添加代码类似,请参考本书提供的源代码。 (3)frmupdateteacher 窗体:private sub cmdupdate_click() 功能:主要用来完成教师信息的修改,将窗体上修改后的信息添加到数据库中。 输入:教师信息删改窗体上输入的数据。 处理: 1)获取信息输入窗口中填写的数据并得到 sql 语句。 2)执行 sql 语句完成数据修改。 输出:将修改后的数据写入教师信息表。 程序清单: private sub
18、 cmdupdate_click() dim conn as adodb.connection sqlstr= “update teacherinfo set birthdate=#”& txtbirth & “#,department= ”&cbodept(0).text & “,telno= ”&txttel.text&” ,title= ”&txttitle.text&” ”& “where teacher_no= ” & txtno.text & “ ” on error goto exitsub set conn=new adodb.connection conn.open conn
19、str conn.execute sqlstr msgbox “成功修改数据!” exitsub: conn.close initdepartment end sub 3.5 成绩管理模块 1功能描述 该模块提供成绩信息的录入、修改、删除和查询界面,完成成绩信息的 录入、修改、删除和查询功能。 2窗体和源文件定义 该功能模块涉及到的窗体名称和文件名参见表 3-9。 表 3-9 窗体列表 窗体名称窗体文件名作用 frmaddscorefrmaddscore.frm 用于成绩信息 添加 frmupdatescorefrmupdatescore.frm 用于修改、删 除成绩信息 frmquerysc
20、orefrmqueryscore.frm 用于查询成绩 信息 3.变量声明 窗体模块中的声明 public sqlstr as string public msgtext as string 代码模块中的声明 public dbpath as string public connstr as string 4函数与方法声明 表 3-10 主要函数与方法 窗体名称函数/方法名作用 sub initcourseno() 在下拉列表框中显示所有 课程号 private sub txtstuno_keypress(keyascii as integer) 文本框响应回车键,如果 输入学号后回车,就会查
21、 找并显示学生姓名 private sub cbocourseno_click() 在组合列表框中选择课程 编号,触发 click 事件, 查找显示课程名称 frmaddscore private sub cmdok_click() 向数据库中添加成绩信息 sub initcourseno() 在下拉列表框中显示所有 课程号 sub getscoreinfo() 从数据库中查找成绩信息 private sub cmdupdate_click() 修改成绩信息 frmupdatesc ore private sub cmddelete_click() 删除成绩信息 frmquerysco re
22、private sub cmdok_click() 查询成绩 (1)frmaddscore 窗体:private sub txtstuno_keypress(keyascii as integer) 功能:相应键盘事件,如果是回车键,则按学号查询学生姓名。 输入:按键的 ascii 码。 处理: 1)判断按键是否为回车键。 2)如果为回车键,刚转 3,否则退出。 3)查询学生姓名并显示出来。 输出:学生姓名。 程序清单: private sub txtstuno_keypress(keyascii as integer) dim rststudent as adodb.recordset if
23、 keyascii=13 then sqlstr= “select name from studentinfo” set rststudent=executesql(sqlstr,msgtext) if not rststudent.eof then txtname=rststudent.fields(0) else msgbox “未找到学生的信息记录!”,vbokonly+vbexclamation, “警告” exit sub end if rststudent.close end if end sub (2)frmaddscore 窗体:private sub cmdok_click(
24、) 功能:将窗体中的成绩信息添加到数据库中。 输入:成绩添加窗体中填写的数据。 处理: 1)获取信息输入窗口中填写的数据。 2)执行查询得到结果集,然后调用结果集对象的 addnew 方法。 3)设置各个字段的值。 4)调用 update 方法更新结果集,完成成绩信息添加。 输出:将成绩信息写入数据库。 程序清单: private sub cmdok_click() dim rstscore as adodb.recordset dim stuno as string dim courseno as string dim score as string 获取数据 stuno=trim(txts
25、tuno.text) courseno=trim(cbocourseno.text) score=trim(txtscore.text) if stuno= “”or score= “”then msgbox “请将信息补充完整”,vbokonly+vbexclamation, “警告” exit sub end if 添加新记录 sqlstr=”select*from scoreinfo” set rstscore=executesql(sqlstr,msgtext) rstscore.addnew rstscore.fields(“stu_no”)=stuno rstscore.field
26、s(“course_no”)=courseno rstscore.fields(“course_score”)=score rstscore.update rstscore.close msgbox “成绩信息添加完成!”,vbookonly+vbexclamation, “警告” initform end sub (3)frmupdatescore 窗体:sub getscoreinfo() 功能:根据课程编号和学号,从数据库中读取成绩信息、课程名和学生名。 输入:课程编号和学号。 处理: 1)获取课程名称和学号,得到多表查询的 sql 语句。 2)执行查询得到结果集。 3)从结果集中读取各
27、个字段的值并显示出来。 输出:学生姓名、课程名称、考试成绩。 程序清单: sub getscoreinfo() dim rstscore as adodb.recordset 从数据库中读取成绩相关信息并添加到窗体中的输入框 sqlstr= “select name,course_name,coure_score from courseinfo,studentinfo,scoreinfo”&“wherescoreinfo.course_no= ”&cbo courseno.text & “ ”& “and scoreinfo.course_no=courseinfo.course_no”& “
28、and scoreinfo.stu_no=studentinfo.stu_no”& “and scoreinfo.stu_no= ”& txtstuno.text & “ ” txtname=trim(rstscore.fields(“name”) txtcoursename.text=trim(rstscore.fields(“dourse_name”) txtscore.text=trim(rstscore.fields(“course_score”) else msgbox “没找到符合条件的数据!”,vbokonly+vbexclamation, “警告” exit sub end i
29、f rstscore.close end sub (4)frmqueryscore 窗体:private sub cmdok_click() 功能:根据查询条件查找成绩信息。 输入:查询方式和关键字。 处理: 1)获取查询方式和输入的关键字。 2)形成 sql 语句,执行 sql 语句得到结果集。 3)从结果集中读取全部数据,并在表格中显示出来。 输出:符合查询条件的课程成绩信息。 程序清单: dim sqlstr1 as string dim sqlcond1 as string dim sqlcond2 as string dim sqlcond3 as string dim sign as boolean sqlcond1= “” sqlcond2= “” sqlcond3= “” sign=false sqlstr=”selectstudentinfo.stu_noasstuno.studenti as stuname,”_ &“courseinfo.course_nameascoursename,scoreinfo.course_score as score”&_ “from studentinfo,courseinfo,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 事业单位政务服务中心笔试专项训练试卷及答案
- 2026年先进制造技术中的合作创新
- 《急救训练讲义》课件
- 企业职业健康监护档案管理制度
- 2026度村镇(社区)后备干部选拔考试题及答案
- 火葬场选址研究报告公示
- 人工智能+行动基于人民中心的智慧医疗可行性研究报告
- 《小儿意外并急救》课件
- 2026年考研数学线性代数与概率论课件
- 《地球和地球仪 》课件
- 统编版初中道德与法治九年级上册6.1经济实力大幅提升 议题式教学课件(共21张)+内嵌视频
- 新人教版数学四年级上册《1亿有多大》教学课件
- 2026年魁北克驾驶员考试试题及答案
- 留置胃管操作介绍
- 2026《高一数学培优讲义》秋季(学生版)
- 2025年甘肃省综合评标评审专家库专家考试历年参考题库含答案详解
- 招标内审制度规范
- 2025年下半年中国电信集团限公司甘肃分公司春季校园招聘易考易错模拟试题(共500题)试卷后附参考答案
- 《当代广播电视概论(第3版)》全套教学课件
- 近年文言文《岳阳楼记》中考真题30套
- 供水管道地质勘探服务合同
评论
0/150
提交评论