版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、湖北大学知行学院 本科毕业论文(设计)题 目 学生成绩管理系统 计算机 系 计算机科学与技术 专业学 号 学生姓名 指导教师 起讫日期 2011.11-2012.4 工作地点 湖北大学知行学院 目 录绪论2第1章 课题总体介绍31.1 课题介绍31.2 课题目的及意义31.3 主要研究功能4第二章 关键技术介绍42.1 vc+6.0和面向对象技术42.2 access 2003 和 odbc数据库技术4第三章 需求分析53.1 系统需求分析5第四章 概要设计64.1 系统功能结构设计64.2 系统流程图设计74.3 数据库设计7第5章 详细设计85.1 主界面设计85.2 注册数据源85.3
2、系统管理子模块设计95.4 学生管理子模块设计95.5 班级管理子模块设计105.6 成绩管理子模块设计125.7 课程管理子模块设计13结束语14参考文献15致谢16 基于vc+6.0的学生成绩管理系统的设计与实现 摘 要 计算机技术的飞速发展,使各行各业在计算机技术应用方面得到了广泛的普及和使用,学校也不例外,近来由于学生数量的急剧增加,学生的各种信息业海量增长,导致学校学生成绩管理的工作量空前增加,为了能快速、高效,准确的解决这一问题,就必须借助信息管理系统(mis)来实现,从而达到科学统计,规范管理,减少人工操作,提高工作效益的目的。该系统是使用visual c+6.0开发的面向对象的
3、数据库管理系统,采用access2003作为数据库开发工具,系统开发环境是windows xp。该系统界面有好,操作简单,易学易用。关键字:学生成绩管理系统visual c+6.0 access2003 student management systems design and realization based on the vc+6.0abstractthe computer technologys development, enabled the various trades and occupations to obtain the widespread popularization
4、and the use in the computer technology application aspect.the school is not exceptional, with recently student quantitys increase rapidly, students each kind of information content also magnanimously grows, causes the school student achievement management the work increase unprecedentedly. for can f
5、ast, highly effective, accurate solution this question, must draw support from the information management system(mis) to realize, thus achieves the science statistics, the standard management, reduces artificially and raises the working efficiency the goal.the system is an object-oriented database i
6、nformation management system developed by visual c+ 6.0 and access 2003, the system development environment is windows xp. this system contact surface is friendly, the simplicity of operator, ease to study easily to use.【key words】student management system visual c+ 6.0 access 2003 绪论 本毕业论文是以学校学生管理信
7、息系统建设中的成绩管理系统的开发为背景,论述了管理信息系统的概念、结构及系统开发的基本原理和方法,全文共分为绪论、系统分析、概要设计、详细设计、开发总结、致谢、参考文献、附录等。一 课题总体介绍1.1 课题介绍随着计算机技术的发展,特别是计算机网络技术与数据库技术的发展,使用人们的生活与工作方式发生了很大的改观。网络技术的应用使得计算机之间通信、信息共享成为可能,而数据库技术的应用则为人们提供了数据存储、信息检索、信息分析等功能,从而使得工作更高效地进行。数据库始于20世纪60年代,经过40多年的发展,现在已经形成了理论体系,成为计算机软件的一个重要分支。数据库技术体现了当代先进的数据管理方法
8、,使计算机的应用真正渗透到国民经济各个部门,在数据处理领域发挥着越来越大的作用。而互联网技术的出现,更是进一步丰富的人类生活,数字化生存已经一步步走进我们的生活与工作。互联网技术与数据库技术的结合为计算的在人类生活中的应用带来了巨大的影响。产业信息化,管理现代化,科学化已经成为行业发展的重要课题,这不仅是企业提高自身竞争力,甚至是国家提高综合国力,走向国民富强的重要手段。在我国,教育是一个影响着国富民强的重要行业,随着改革开放和市场经济的发展根据中国特有的国情发展,教育得到了国家的大力扶持与社会各界的高度重视,从而使教育业向规范性与现代化的方向高速发展,但是同发达国家相比,我国的教育行业的信息
9、技术的应用程度还很低,只有在大城市中发展较早、规模较大的院校中才使用计算机进行大规模操作,从各方面提高工作效率,取得良好的社会和经济效益,而一些新兴的、规模较小的教育机构还没有全部具备这种功能。因此可见,随着我国教育的迅速发展,信息技术在其上的应用会更加地广泛和深入。1.2 课题目的及意义系统开发目的:本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。为了使系统在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标:1.系统应具有实用性、可靠性和适用性,同时注意到先进性。2.对各个数据库进行动态管理,防止混乱
10、。3.能够按照用户选择的不同的条件进行简单查询和复合查询。4.能够对查询结果进行分类汇总,实现报表打印。5.注意数据的安全性,具有数据备份和恢复的功能。6.方便用户的操作,尽量减少用户的操作。 系统开发意义:在各大中小学校,用计算机管理学校的信息已经越来越普遍了。用计算机不但可以提高工作效率,而且还节省了许多人力物力,增强了学校资料的安全性。提高了学校的管理能力,为此,用计算机来管理学校的信息,是非常必要的。1.3 主要研究功能 权限功能:系统可分为普通用户,管理员。普通用户只是查询不能修改,管理员用户还能修改、删除、添加所有信息。系统根据登录用户的权限进行相应的操作。 录入功能:为管理员用户
11、提供相应的录入功能。 查询功能:为所有用户提供查询的功能,可查询允许范围内的所有信息。 维护功能:为管理员用户提供查询及相应的修改,删除、添加功能。 退出功能:结束并关闭系统。二 访问数据库的方法2.1 vc+6.0和面向对象技术visual c+ 是功能最为强大的可视化开发工具,它不仅支持传统的软件开发的方法,更重要的是它能支持面向对象、可视化的开发风格。因此visual c+ 又称作是一个集成开发工具,它提供了软件自动生成和可视化资源编辑功能。visual c+ 具有的优点:提供了面向对象的应用程序框架mfc,简化了程序员的编程工作,提高了模块的重要性;提高了基于case技术的可视化软件的
12、自动生成和维护工具appwizard、classwizard、visual studio、wizardbar 等,实现了直观、可视的程序设计风格,方便地编程和管理各种类,维护程序的源代码封装了windows的api函数、user、dernel、gdi函数,简化了编程创建、维护窗口的许多复杂的工作。面向对象技术(oop)它强调直接以问题域(即现实世界)中的失误为中心来考虑和认识问题,并按照作为这些事物的本质特证把它们抽象为对象,作为软件系统的基础。在oop方法中,将对象作为系统中最基本的运行实体,对象中封装了描述改对象的特殊属性(数据)和行为(方法)。整个抽象即由各种不同类型的对象组成,个对象既
13、是一个单独的实体,又可通过一定的方式相互作用。面向对象技术强调在软件开发的过程中面向客观的世界或问题域中的事物,采用人类在认识客观世界的过程中普遍运用的思维方法,直观、自然的描述客观世界中的有关事物。面向对象技术的基础特征主要有抽象性、封装性、继承性和多态性。2.2 access 2003 和odbc数据库技术access 2003 是微软公司推出的基于 windows 的桌面关系数据库管理系统(rdbms),是 office 系列应用软件之一。它不仅是具有界面友好、易操作的特性,同时它还能很好的支持odbc技术,实现与外界程序的数据交换。access 2003最主要的特点的是它的数据库的文件
14、(。mdb)能脱离access环境,在未安装access机器上被其他的软件调用于用户的操作和管理,从而使的数据不用依赖数据库软件而可以单独使用,这极大的增强了数据的可移植性。odbc(开放数据库互连)是微软公司开放服务结构中有关数据库的一个组成部分,它建立了一组规范,并提供聊一组对数据库访问的标准api(应用程序编程接口)。这些api利用sql来完成其大部分的任务。odbc本身也提供了对sql语言的支持,用户可以直接将sql语句送给odbc。一个基于odbc的应用程序对数据库的操作部依赖任何dbms,不直接与dbms打交道,所有的数据库操作由对应的dbms的odbc驱动程序完成。也就是说,不论
15、foxpro、access还是oracle数据库,均可用odbc api进行访问。由此可见odbc借款的最大的优点是其互操作的能力,理想情况下,每个驱动程序和数据源因支持完全相同的odbc函数调用和sql语句,使得odbc应用程序可以操作所以的数据库系统。三 需求分析3.1 系统需求分析功能需求具体分析如下:(1) 系统登录用户输入用户名和密码,系统查询数据库中的信息对用户名和密码进行验证。如果用户名和密码不正确将不能进入系统。如果用户名和密码正确,系统会根据用户所具有的权限进行不同的操作(2) 系统管理修改密码:对于任何用户,包括普通用户和管理员用户都可以对自己的密码进行重新设置。用户管理:
16、只针对系统管理员才能进行的操作,管理员用户可以查看用户的信息,当普通用户忘记密码时可以找回其密码,并且能添加,删除用户。(3) 学生信息管理普通用户可以对所有的学生的信息根据输入的信息进行查询,系统管理员用户还可以添加、修改、添加学生信息。学生的基本信息包括:学号、姓名、性别、年级、班级、家庭住址以及备注。(4) 成绩管理普通用户可以对自己以及其他学生的成绩进行查询,管理员用户可以对所以的学生的成绩信息进行查询、修改,还可以添加录入成绩。学生成绩的基本信息包括:课程号、学号、分数。(5) 班级管理普通用户可以查看学校的班级的信息,管理员用户还可以进行对已有班级信息的修改已经添加新的班级。班级信
17、息包括:所属系别、所属专业。(6) 课程管理普通用户可以查看课程的信息,管理员用户还可以修改已有课程的信息以及添加新的课程。课程信息包括:课程号、课程名称、所属专业、教学年级、教学学期。(7) 帮助对本系统的作者情况的一些介绍和说明,方便客户对该系统存在的问题提出意见和建议。四 概要设计4.1 系统功能结构设计系统的模块将划分为5个大的模块,每个模块负责的功能相对专一。其中,用户身份验证模块提供对用户身份的验证,同时读取用户所具有的权限,只有具有管理员权限的用户才可以使用系统的所有的功能。本系统采用mfc odbc数据库访问技术实现对数据库的访问操作。系统的最底层是数据库,本系统采用micro
18、soft access 作为后台数据库。学生成绩管理系统学生管理模块课程管理模块成绩管理模块系统管理模块班级管理模块 课程信息管理班级信息管理个人成绩管理班级成绩管理学生信息添加学生信息查询学生信息修改用户管理 图4-1 学生成绩管理系统功能结构图4.2 系统流程图设计开始登陆验证密码 分析权限ny学生成绩管理系统主界面选择相应模块 进行操作退出结束图4-2 系统流程图4.3 数据库设计本系统的数据库由用户表、学生表、课程表、成绩表、班级表组成。表4-1 用户表user_table字段名称类型长度备注username文本20password文本20admin文本2readonly文本2qx1文
19、本2qx2文本2qx3文本2qx4文本2表4-2 学生表student_table字段名称类型长度备注username文本20password文本20admin文本2readonly文本2qx1文本2qx2文本2qx3文本2qx4文本2表4-3 课程表course_table字段名称类型长度备注username文本20password文本20admin文本2readonly文本2qx1文本2qx2文本2qx3文本2qx4文本2表4-4 成绩表score_table字段名称类型长度备注username文本20password文本20admin文本2readonly文本2qx1文本2qx2文本2q
20、x3文本2qx4文本2表4-5 班级表class_table字段名称类型长度备注username文本20password文本20admin文本2readonly文本2qx1文本2qx2文本2qx3文本2qx4文本2五 详细设计5.1 主界面设计先建立一个对话框程序作为主界面,然后添加菜单资源即可。主界面如下图所示:图5-1 主界面5.2 注册数据源在程序的scoremanagesysapp.c中包含头文件odbcinst.h,并且在此文件中的initinstance()函数开始添加以下代码,完成数据源的注册。 cstring spath;getmodulefilename(null,spath
21、.getbuffersetlength(max_path+1),max_path);spath.releasebuffer ();int npos;npos=spath.reversefind ();spath=spath.left (npos);npos=spath.reversefind(); spath=spath.left (npos);cstring lpszfile = spath + scoremanagesys.mdb; char* szdesc;int mlen;szdesc=new char256;sprintf(szdesc,dsn=%s? description=toc
22、 support source? dbq=%s? fil=microsoftaccess? defaultdir=%s? ,hl_scoremanagesys,lpszfile,spath);mlen = strlen(szdesc); for (int i=0; ireporterror(); pe-delete(); return false; 5.3 系统管理子模块设计新建一个用户管理窗口并为之关联一个cusermanage的类和一个从crecordset继承来的数据库记录集类cuserset。选择连接odbc数据源user_table表,这样就将其与表项相关联。在usermanage.
23、h文件中包含userset.h文件该类包含主要函数有:oninitdialog();调用show()函数完成初始化的工作。ondeleteuser();单击删除按钮的消息响应函数。onmodifypwd();单击修改按钮的消息响应函数,调用cmodifypwd类关联的对话框完 成修改。show();在listctrl控件中显示所有的用户的用户名和密码。onadduser();单击添加按钮的消息响应函数,调用cadduser类关联的对话框添加用户。5.4 学生管理子模块设计图5-3 新增用户窗口图4-2是学生成绩管理系统新增用户窗体,设计过程:新建一个学生信息管理对话框为它关联一个cstuman
24、age的类和一个从crecordset继承来的数据库记录集类cstuinfoset。选择连接odbc数据源student_table表。在对话框上面添加tab control控件。新建一个学生信息浏览对话框和学生信息添加对话框分别为这2个对话框关联caddstuinfo和cstuinfobrowse类,将2个对话框的style设置成child。将上述2个对话框关联到cstumanage类的tab control控件上。cstumanage类包含主要函数有:oninitdialog();初始化tab control控件,根据登录用户的权限初始化相应的按钮控件。onselchangetab();响
25、应点击tab control控件的消息。caddstuuser类包含主要函数有:oninitdialog();根据登录用户的权限初始化相应的按钮控件。onadd();单击添加按钮的消息响应函数。cstuinfobrowse类包含主要函数有:createsql();根据用户的输入产生sql语句。initlist();根据用户的要求将结果显示在listctrl中。ondeletestu();根据用户的选择删除记录。onmodifystu();修改用户选择的学生的信息。onquerystu();根据用户输入的条件查询student_table表。onqueryallstu();显示所有的学生信息。5
26、.5 班级管理子模块设计班级管理窗口用树形控件来实现,其关键技术就是读出class_table中的数据并将这些数据显示在树形控件上这里使用inittree()函数解决,核心代码如下:m_tree.deleteallitems();htreeitem root = m_tree.insertitem(湖大知行);cclassset classset;classset.open();docstring dep = classset.m_department;cstring pro = classset.m_profession;cstring grade = classset.m_grade;cs
27、tring classnum = classset.m_classnum;htreeitem hchild_dep = m_tree.getchilditem(root);if (hchild_dep = null)htreeitem child_dep = m_tree.insertitem(dep,root);htreeitem child_pro = m_tree.insertitem(pro,child_dep);htreeitem child_grade = m_tree.insertitem(grade,child_pro);htreeitem child_classnum = m
28、_tree.insertitem(classnum,child_grade);classset.movenext();continue;while(hchild_dep != null) cstring strdep = m_tree.getitemtext(hchild_dep);if (strdep = dep)htreeitem hchild_pro = m_tree.getchilditem(hchild_dep);while(hchild_pro != null)cstring strpro = m_tree.getitemtext(hchild_pro);if (strpro =
29、pro)htreeitem hchild_grade = m_tree.getchilditem(hchild_pro);while(hchild_grade != null)cstring strgrade = m_tree.getitemtext(hchild_grade);if (strgrade = grade)htreeitem hchild_class = m_tree.getchilditem(hchild_pro);while(hchild_class != null)cstring strclass = m_tree.getitemtext(hchild_class);if
30、(strclass = classnum)break;hchild_class = m_tree.getnextsiblingitem(hchild_class);if (hchild_class = null)htreeitem child_classnum = m_tree.insertitem(classnum,hchild_grade);break;hchild_grade = m_tree.getnextsiblingitem(hchild_grade);if (hchild_grade = null)htreeitem child_grade = m_tree.insertitem
31、(grade,hchild_pro);htreeitem child_classnum = m_tree.insertitem(classnum,child_grade);break;hchild_pro = m_tree.getnextsiblingitem(hchild_pro);if (hchild_pro = null)htreeitem child_pro = m_tree.insertitem(pro,hchild_dep);htreeitem child_grade = m_tree.insertitem(grade,child_pro);htreeitem child_clas
32、snum = m_tree.insertitem(classnum,child_grade);break;hchild_dep = m_tree.getnextsiblingitem(hchild_dep); if (hchild_dep = null)htreeitem child_dep = m_tree.insertitem(dep,root);htreeitem child_pro = m_tree.insertitem(pro,child_dep);htreeitem child_grade = m_tree.insertitem(grade,child_pro);htreeitem
33、 child_classnum = m_tree.insertitem(classnum,child_grade);classset.movenext();while(!classset.iseof();classset.close();m_tree.expand(root,tve_expand);5.6 成绩管理子模块设计个人成绩管理:新建一个班级成绩管理对话框,为之关联一个cpersonalscore类。在对话框上创建 list 控件,用来显示登录的用户的所有的成绩信息。cpersonalscore类包含主要的函数有:onall();显示所有的成绩。show();初始化list控件。onc
34、onfirm();根据用户的输入查询数据库,并将查询的结果显示在list控件中。班级成绩管理:新建一个班级成绩管理对话框,为之关联一个cclassscore类。在对话框上创建分别一个tree 和 list 控件,tree用来显示班级信息,list用来显示用户选择的班级的所有的成绩信息。cclassscore类包含主要的函数有:initlistctrl();初始化list控件。inittree();初始化tree控件。onitemchangedlist(.);list控件选项改变时的响应函数。onselchangedtree(.);tree控件选项改变时的响应函数。5.7 课程管理子模块设计新建
35、一个课程浏览对话框和一个课程添加对话框,分别为2个对话框关联ccoursebrowse和caddcourse。ccoursebrowse类包含的主要的函数有:oninitdialog();初始化对话框上面的控件。onmodify();根据用户的选择修改课程的信息。show();将数据库中的内容显示在list控件中。caddcourse类包含的主要的函数有:onconfirm();将用户的输入添加到数据库。结束语到此为止,毕业设计和论文也算基本完成了,前前后后大约花了2个星期的时间,这期间遇到无数的程序bug和不少的技术难题,这让我费尽了心思,还好,运气不错,问题一一化解,最终作品差强人意的完成了。期间遇到的困难让人苦不堪言,有时候会因为一个头文件没加上,就出现满屏的提示错误,这让你一眼看上去有点晕眩的感觉,你不得不静下心来一个一个的调试;有时候因为一个技术难题无法攻克,你必须放弃以前的努力,重新寻找新
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年抚顺职业技术学院高职单招职业适应性测试备考试题有答案解析
- 生物仿制药研发与市场趋势
- 2026年贵州水利水电职业技术学院单招综合素质笔试参考题库带答案解析
- 护理文书规范化管理与优化
- 2026年顺德职业技术学院单招职业技能考试模拟试题附答案详解
- 护士沟通技巧与人际交往艺术
- 肿瘤防治新技术与策略
- 肿瘤治疗进展及挑战
- 医疗行业员工礼仪与团队协作
- 医疗机构品牌推广策略
- 价值链图1-微笑曲线:全球产业价值链
- 美容皮肤科临床诊疗指南诊疗规范2023版
- 社区发展的核心任务
- DB35T 2136-2023 茶树病害测报与绿色防控技术规程
- 盖板涵盖板计算
- 医院药房医疗废物处置方案
- 天塔之光模拟控制PLC课程设计
- ASMEBPE介绍专题知识
- 八年级上册地理期末复习计划通用5篇
- 初中日语人教版七年级第一册单词表讲义
- GB/T 9065.5-2010液压软管接头第5部分:37°扩口端软管接头
评论
0/150
提交评论