《基于Qt的教务管理系统的实现本科论文.docx》由会员分享,可在线阅读,更多相关《基于Qt的教务管理系统的实现本科论文.docx(51页珍藏版)》请在课桌文档上搜索。
1、毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过奉献的个人或集体,均已在文中作了明确的说明并表示了谢意。作者签名:日期:指导教师签名:日期:使用授权说明本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,BP:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索
2、与阅览效劳;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的局部或全部内容。作者签名:日期;学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要奉献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承当.作者签名:口期:年月口学位论文版权使用授权书本学位论文作者完全了解学校有关保存、使用学位论文的规定,同意学校保存并向国家有关部门或机构送交论文的复印件和电子版,允许论文被
3、查阅和借阅。本人授权大学可以将本学位论文的全部或局部内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。涉密论文按学校规定处理。作者签名:日期:年月日导师签名:日期:年月日考前须知1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词5)目次页(附件不统一编入)6)论文主体局部:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时12 .论文字数要求:理工类设计(论文)正文字数不少于1万字不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。3 .附
4、件包括:任务书、开题报告、外文译文、译文原文(复印件)。4 .文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求局部用尺规绘制,局部用计算机绘制,所有图纸应符自国家技术标准标准。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画3)毕业论文须用A4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订指导教师评阅书指导教师评价:一、撰写(设计)过程1、学
5、生在论文(设计)过程中的治学态度、工作精神 优良中及格不及格2、学生掌握专业知识、技能的扎实程度 优口良中口及格不及格3、学生综合运用所学知识和专业技能分析和解决问题的能力 优良中及格不及格4、研究方法的科学性;技术线路的可行性;设计方案的合理性 优口良中口及格不及格5、完成毕业论文(设计)期间的出勤情况 优良中及格不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写标准? 优良中及格不及格2、是否完成指定的论文(设计)任务(包括装订及附件)?口优良口中及格不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义优良I中及格不及格2、论文的观念是否有新意?设计
6、是否有创意?优良I二中及格不及格3、论文(设计说明书)所表达的整体水平优良I中及格不及格建议成绩:口优良中口及格不及格(在所选等级前的口内画)指导教师:()-单瓦谣蕈厂年月日评阅教师评阅书评阅教师评价:一、论文(设计)质量1、论文(设计)的整体结构是否符合撰写标准? 优良中及格不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优良中及格不及格二、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优口良中口及格不及格2、论文的观念是否有新意?设计是否有创意? 优良中及格不及格3、论文(设计说明书)所表达的整体水平 优良中及格不及格建议成绩:口优口良口中口及格口不及
7、格(在所选等级前的口内画J)评阅教师:(签名)单位:(盖章)年月日教研室(或辩论小组)及教学系意见教研室(或辩论小组)评价:一、辩论过程1,毕业论文设计)的根本要点和见解的表达情况优良中及格不及格2、对辩论问题的反响、理解、表达情况口优口良口中口及格不及格3、学生辩论过程中的精神状态优良中及格不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写标准?口优口良口中口及格不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优良中及格不及格三、论文(设计)水平 、论文(设计)的理论意义或对解决实际问题的指导意义 优口良口中口及格口不及格2、论文的观念是否有新意?设计是否有创意?
8、 优口良口中口及格口不及格3,论文(设计说明书)所表达的整体水平口优口良口中口及格不及格评定成绩:口优良中及格不及格教研室主任(或辩论小组组长):(签名)年月日教学系意见:系主任:(签名)年月日基于Qt的教务管理系统的实现摘要近年来,由于计算机网络与计算机软件的不断快速迅猛开展,人们的生活习惯也由此造成了很大的变化,并且计算机信息管理系统也越来越多的参与到人们的日常生活与工作中来,对于我们学生来说,这种变化尤其巨大。信息的快速更新变化使得学校在学生信息的管理上投入的资源越来越多。所以,为了提高学校教务管理工作的效率,节约教务资源与经费,并且减少教务处理工作中的失误,有必要开发一套高效自动化的计
9、算机信息管理系统。本论文中的系统使用的开发工具是Qt,采用SqLite数据库,是在使用比拟广泛的windows下开发,利用其提供的面向对象编程的可视化工具来编制出界面友好,操作简单的程序。此教务管理系统由后台数据的处理局部与前台应用的交互局部组成,并且该系统可以根据用户不同的权限来提供不同的操作,主要包括学生的成绩管理、学生的学籍管理、学校的班级管理等。此教务管理系统的开发目的在于最大限度的节省人才资源的同时也可以提高管理效率,能筋及时、准确、迅速的满足不同用户的不同需求。关键词:教务管理系统;Qt;SqLite;效率Theimplementationofeducationaladminist
10、rationsystembasedonQtAbstractInrecentyears,dueIothecomputernetworkandcomputersoftwarecontinuouslyrapiddevelopmentquick,peopleslifehabitalsocausedthegreatchanges,andcomputerinformationmanagementsystemisalsomoreandmoreinvolvedinthePeople,sDailylifeandwork,forourstudents,thischangeisespeciallylarge.Upd
11、ateinformationchangesmaketheschoolinthemanagementofstudentinformationresourcesmoreandmore.So,inordertoimprovetheefficiencyofschooleducationaladministrationwork,savingtheeducationalresourcesandfunds,andreducethefaultsinoureducationalwork,itisnecessarytodevelopasetofefficientautomaticcomputerinformati
12、onmanagementsystem.SystemdevelopmenttoolsusedinthispaperistheQt,usingSqLitedatabase,isintheuseofmoreextensivedevelopmentundertheWindows,usingtheobject-orientedprogrammingofferedbythevisualtoolstodevelopthefriendlyinterface,simpleoperationprocedures.Theeducationaladministrationmanagementsystembytheba
13、ckgrounddataprocessingpailandtheforegroundapplicationoftheinteractionoftheparts,andthesystemcanprovidedifferentaccordingtodifferentuserpermissionstooperation,mainlyincludesthestudentperformancemanagement,studentstatusmanagement,schoolofclassmanagement,etc.Thedevelopmentoftheeducationaladministration
14、systemisaimedatthemaximumsaveresourcesatthesametimealsocanimprovetheefficiencyofmanagement,abletotimely,accuratelyandquicklytomeetthedifferentneedsofdifferentusers.KeyWords:Educationaladministrationmanagementsystem;Ql;Sqlite;efficienc目录摘要iAbstractii1系统概述11.1 工程背景11.2 系统开发的目的和意义11.3 目前国内外的研究现状11.3.1
15、国外研究现状11.3.2 国内研究现状12关键技术22.1 开发工具简介22.1.1 QtCreator集成开发环境22.1.2 Sqlite简介32.2 开发语言简介32.2.1 C+32.2.2 SQL53系统总体设计的实现53.1 系统模块结构的设计53.1.1 软件模块结构的设计53.1.2 软件模块总体处理流程63.1.3 功能分配63.2 系统功能总体设计73.3 系统的总体界面设计介绍93.4 数据库的设计103.5 数据库表的实体图103.6 系统数据出错处理设计113.6.1 系统的出错信息以及处理方法113.6.2 补救措施123.6.3 平安保密设计124详细设计124.
16、1 系统的主程序124.2 程序初始化界面的实现124.3 数据库的操作154.4 管理员模块的实现174.5 学生模块的实现214.6 教师模块的实现234.7 数据库模块的实现245系统运行界面展示255.1 登录界面展示255.2 管理员操作初始化界面展示255.3 教师操作界面展示265.4学生界面展示265.5错误处理界面展示266系统测试276.16.26.3测试概述27测试过程28测试结果29总结29参考文献29致谢30外文原文30外文翻译421系统概述1.1 工程背景信息系统的目的是让人可以高效的进行工作,包括对信息的一系列操作,如添加信息、修改信息、删除信息、查询信息等;人们
17、将计算机硬件与软件相结合来开发出信息平台,在这个平台中实现信息系统的功能与目的。现如今,教务开展越来越快、越来越好,由此引发的高校教育资源也越来越紧张,因此对于高校的教学管理部门来说一套好的教务管理系统不仅可以解决日渐增大的教学管理量,而且可以降低教学管理的复杂度与难度。此外,对于教育高校来说,教育管理的方式与手段也将从另一个层面表达学校的价值与教育能力,这直接影响到学校的形象。在信息高速开展的今天各大高校有必要建设一个完善的教务管理系统,这样高校可以更加合理的利用各学院的众多教学实验资源、更加合理地处理各种教学实验信息、更加合理优化安排各种教学资源,让各种资源利用都到达最大化。这些日益突出的
18、关键问题俨然已经需要各高校教学管理部门花费一定的人力、物力去解决了。借助于计算机信息系统的强大功能,高校可以解决教务管理的一系列繁琐问题,计算机有其细致性、准确度高等特点,这些都是教务管理工作中必须的,所以信息化在日常工作中要不断的表达;现阶段,各个高校也开始对教务系统加大投资,加快校园的信息化步伐,解放人在教务管理中的繁琐工作,这样的改革对教育来说是具有重要意义的。1.2 系统开发的目的和意义高校的教务管理方式在现如今是必须要改革的,而在信息化的浪潮中学校的教务管理系统的修改是必然的趋势。高校教务管理工作作为高校教育管理的一个重要环节,它是高校管理工作的核心,也是高校管理的根底。一个学校的教
19、务管理工作的效率上下直接影响到学校教务工作的是否可以快速的处理,也间接的影响到了学校对于人才的培养质量。而且学生对教务管理系统也提出了更高的要求,信息管理系统不再仅仅是看通知的地方,而是学生与学校进行沟通的途径,学生可以将一些信息反响给学校,学校也可以通过这个平台了解学生的动态,这样的系统对于学校的教育是有促进作用的。高校要适应信息化的开展,积极的开展教务系统的调查,满足学生对信息系统的需求,满足老师对学生的教育需要,这样可以快速的将教育资源最大化,防止浪费大量的教育资源。1.3 目前国内外的研究现状国外研究现状在信息化浪潮席卷全球、日益渗透到社会生活各个领域的今天,数字化校园建设如火如荼。特
20、别是,欧美、日本等兴旺国家高度重视信息化建设,早在20世纪90年代初几乎所有的高校便建成了比拟完善的校园网,各个职能部门都根本实现了网络化、信息化管理。目前国外在教务管理软件的设计和开发方面处于领先地位,不管是在开发的方法上还是在软件的使用率上都很成功。国内研究现状我国的高等教育在近几年开展很快,高校在管理工作中需要处理的任务越来越多,这样不仅工作难度加大了而且落后的教育直接导致教学水平的提高困难。这些问题的出现让人们开始考虑换种方式来管理高校的教务工作,各高校纷纷启动并加快了数字化校园建设的步伐,相继建成了校园网,为管理软件的应用提供了硬件平台。任何新生事物的开展都离不开启蒙摸索、初见成效与
21、加快开展的步骤,所以高校教育的信息化也不例外。通过不断的摸索,不断的尝试,我国的高校教务管理工作逐渐开始不断步入正规。现在,我国的各高校的教务管理工作还在不断的集成开展,许多高校也建立了各具特色的管理系统,这些改革都给高校的管理带来了一定的好处与方便。譬如人力资源的解放以及工作中的准确度的提高。但是,事物的开展都具有双面性,教务管理信息系统的快速开展还存在一定的缺陷,如功能的不全面,不能将所有的教务管理工作在一个系统中表达,而且功能的效率不高,有时候还存在一定的缺陷,对于一些特殊的问题没有提供很好的解决方案等等的-些问题,这些问题都需要在以后的不断开展中做出改良。2关键技术2.1 开发工具简介
22、QtCreator集成开发环境QtCreator是跨平台的QtIDE,QtCreator是Qt被Nokia收购后推出的一款新的轻量级集成开发环境(IDE)。此IDE能够跨平台运行,支持的系统包括LinUX(32位及64位)、MacOSX以及Windows。根据官方描述,QtCreator的设计目标是使开发人员能够利用Qt这个应用程序框架更加快速及轻易的完成开发任务。QtCreatOr主要是为了帮助新Qt用户更快速入门并运行工程,还可提高有经验的Qt开发人员的工作效率。使用强大的C+代码编辑器可快速编写代码。语法标识和代码完成功能输入时进行静态代码检验以及提示样式上下文相关的帮助代码折叠括号匹配
23、和括号选择模式高级编辑功能。采用C+语言设计,编码标准清晰,关键算法或处理须加注释说明。QtCreatOr是一款跨平台的集成开发环境,特别针对Qt开发者,是QtSDK组成的一局部,可运行于Windows,Linux/Xl1及MacOSX等桌面操作系统,允许开发者为多桌面环境及移动设备平台创立应用程序。它包括一个可视化调试工具和集成的GUI版面和外形设计师。这个编辑器的功能包括语法高亮度显示和自动完成。QtCreator在Linux上,使用GCC的C+编译器。在Windows,默认安装它可以使用MinGW或MSVC。从源代码编译时,也可以使用cdb。QTCreatOr是一个跨平台的C+GUI应用
24、构架,它提供了丰富的窗口控件,具有面向对象、易于扩展、组件编程等特点,最为引人注目的是目前在Linux上最为流行的KDE的桌面环境,它就是建立在QT库的根底之上。QT支持多种平台,随着KDE的快速开展普及,QT很有可能成为Linux系统窗口平台上进行软件开发的GUI首选工具。信号和槽是QT的核心机制,要学会QT编程那么就必须对信号和槽机制有所了解。信号和槽机制是一种接口,应用在对象之间的通信,是QT的核心特性,同时也是QT区别于其它种类工具包的重要地方。信号和槽机制是QT自行定义的一种通信机制,它独立于标准的C/C+语言,所以必须要正确的处理好信号和槽机制,这里借助moc(MetaObject
25、Compiler)工具,该moc工具是一个C+的预处理工具,为事件处理自动生成所需要的附加处理代码。在我们所熟知的多种GUI工具包中,窗口小控件(widget)都有一个回调函数用来响应它们能触发的动作,这个回调函数通常是一个指针,它指向某个函数。但是,在QT中信号和槽机制取代了这些函数指针,使得人们在编写这些通信程序时更为简洁明了。信号和槽机制能使用任意数量、任意类型的参数。在这里我设计的主窗口命名为:mainwindowo所有从QObject或其子类(例如Qwidget)派生的类都可以包含信号和槽机制。当对象改变状态时,信号就由该对象发射出去,这就是对象所要做的事情,但它不知道另一端是谁在接
26、收这个信号,这就是所谓的信息封装,它保证对象被当作一个真正的组件来使用。槽被用来接收信号,它们是对象成员函数,称为槽函数。但槽函数并不知道是否有信号和自己相连。而且,对象也不了解具体的通信机制。在编程时可以将多个信号与单个槽函数进行连接,也可以将单个信号与多个槽函数进行连接,甚至也可以将一个信号和另外一个信号相连,这时无论第一个信号在何时发射,那么都将立刻发射第二个信号。总之,信号与槽机制构成了一个很强大的控件编程机制。Sqlite简介SQLite,是一款轻型的数据库,是关系型数据库管理系统,它的设计目标是嵌入式的,而且目前己经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可
27、能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,还有ODBC接口,同样比起MysqkPOStgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。SQLite是遵守AClD的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域工程。不像常见的客户-效劳器范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要局部。所以主要的通信协议是在编程语言内的直接API调用。这在消耗总量、延迟时间和整体简单性上有积极的作用。整个数据库(定义
28、、表、索引和数据本身)都在宿主主机上存储在一个单一的文件中。它的简单的设计是通过在开始一个事务的时候锁定整个数据文件而完成的。同时它还支持事务处理功能等等。也有人说它象MiCrOSof的ACCeSs,有时候真的觉得有点象,但是事实上它们区别很大。比方SQLite支持跨平台,操作简单,能够使用很多语言直接创立数据库,而不象ACCeSS一样需要OffiCe的支持。如果你是个很小型的应用,或者你想做嵌入式开发,没有适宜的数据库系统,那么你可以考虑使用SQLite。到2023年10月17日最新版本是。它的官方网站是::/sqlite.org或者:/sqlite,能在上面获得源代码和文档。同时因为数据库
29、结构简单,系统源代码也不是很多,也适合想研究数据库系统开发的专业人士。2.2 开发语言简介C+C+语言是一种使用非常广泛的计算机编程语言。C+是一种基于静态数据类型检查的、支持多重编程范式的程序设计语言。C+语言支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。C+语言的设计目标,就是要让C+既具有适合于系统程序设计的C语言所具有的可适应性和高效性,又能在其程序组织结构方面具有像Simula那样的语言设施(Simula所支持的这种程序组织结构通常被称为面向对象程序设计风格)。在设计的时候,还做了很大的努力,使得引借自SimUIa的高层次的程序设计技术能够应用于系统
30、程序设计之中。这即是说,C+所提供的抽象机制能够被应用于那些对效率和可适应性具有极高要求的程序设计任务之中。采用C+面向对象语言,利用抽象和封装等机制,借助类、对象、继承、传递等技术进行构造的软件开发方法,它的出发点和目标就是使人们在想-个问题的过程和方法时与分析、设计和实现系统的过程和方法尽最大可能的一致,即描述问题的认知空间以及解决问题的方法空间要在结构上尽可能的一致,这样面向对象方法自然地模拟了人类认知世界的方式,所以这是一个很好的思维认知的方法,也是特别好的一种软件开发方法。1998的C+标准分为两个局部:核心语言和C+标准程序库;后者包含了大局部标准模板库和C标准程序库的稍加修改版本
31、。存在许多不属于标准局部的C+程序库,且使用外部链接,程序库甚至可以用C撰写。C+标准程序库充分吸收了C标准程序库,并佐以少许的修改,使其与C+良好的运作。另一个大型的程序库局部,是以标准模板库(STL)为根底,STL于1994年2月正式成为ANSI/ISoC+。它提供了实用的工具,如容器(如:矢量和链表),迭代器广义指针)提供容器以类似数组的访问方式,以及算法进行搜索和排序的运算。此外还提供了(multi)map(关系数组)和(multi)set,它们都使用兼容的界面。因此,以下成为可能,使用模板撰写泛型算法,它可以和任何容器或在任何以迭代器定义的串行上运作。如同C,使用#include指令
32、包含标准表头,即可访问程序库里的功能。C+提供69个标准表头,其中19个不再赞成使用。使用标准库例如:使用std:VeCtor或std:String来取代C风格的数组)有助于导向更平安和更灵活的软件。STL在纳入C+标准以前,是来自HP和后来的SGl的第三方程式库,标准中并未称之为STL,它只是标准库中的一局部,但仍有许多人使用这个名称,以别于其它的标准库输入/输出流、国际化、诊断、C程序库子集,等等)。和C语言相比,C+引入了更多的特性,包括:陈述性声明,类似函数的强制转型,new/delete操作符,布林类型,参考类型,默认参数,函数重载,命名空间,类型(包括所有和类型相关的特性,如继承、
33、成员函数、虚函数、抽象类型和构造函数),操作符重载,模板,::操作符,异常处理和运行时期识别。和普遍认为的相反,C+不是第一个正式引入COnSt关键字的语言。80年代早期,BjameStroustrup和DenniSRetchie讨论之后提供了在C语言中readonly/writeonly的实现机制,并在带类型的C中取得了一定经验。关键字ConSt正式引入C语言是在ANSlC89o这早于第一个C+国际标准近十年,但此时ConSt已被C+实现普遍采用。C+在某些案例中(见下与C不兼容之处),进行比C还要多的类型检查。以/起始作为注解起源自C的前身BCPL,而后被重新引入到C+。C+的一些特性,C
34、不久之后也采用了,包括在for循环的括号中声明,C+风格的注解(使用符号,和inline,虽然C99定义的inline关键字与C+的定义不兼容。不过,C99也引入了不存在于C+的特性,如:可变参数宏,和以数组作为参数的较佳处理;某些C+编译器可能实现假设干特性,以作为扩展,但其余局部并不符合现存的C+特性)一个常见的混淆其实只是一个微妙的术语问题:由于它的演化来自C,在C+中的术语对象和C语言一样是意味着存储器区域,而不是类的实例,在其它绝大多数的面向对象语言也是如此。举例来说,在C和C+中,语句inti;定义一个int类型的对象,这就是变量的值i将在赋值时,所存入的存储器区域。C+主要有三个
35、编译阶段:预处理、转译成目标代码和链接(最后的两个阶段一般才视为真正的编译)。在第一阶段,预处理,会将预处理器指令替换成源代码,然后送到下一个编译阶段。预处理指令的运作方式是根据用户定义的规那么,简单的把记号字符串行置换成其它的记号字符串行。它们进行宏置换、含入其它的文件(由底层至高级的特性,例如包含模块/包/单元/组件)、条件式编译和条件式含入。SQLSQL全称是结构化查询语言(StrUCtUredQUeryLangUage)。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言得到了广泛的应用。目前,SQL语言已被确定为关系数据库系统的国际标准,被绝大多
36、数商品化关系数据库系统采用,如OraCle、SybaseDB2,Informix,SQLSerVer这些数据库管理系统都支持SQL语言作为查询语言。结构化查询语言SQL是一种介于关系代数与关系演算之间的语言,其功能包括查询、操纵、定义和控制四个方面,是一个通用的功能极强的关系数据库标准语言。在SQL语言中不需要告诉SQL如何访问数据库,只要告诉SQL需要数据库做什么。结构化查询语言包含6个局部:一:数据查询语言(DQLDataQueryLanguage)其语句,也称为“数据检索语句,用以从表中获得数据,确定数据怎样在应用程序给出。保存字SELECT是DQL(也是所有SQL)用得最多的动词,其他
37、DQL常用的保存字有WHERE,ORDERBY,GROUPBYfllHAVING-这些DQL保存字常与其他类型的SQL语句一起使用。二:数据操作语言(DML:DataManipulationLanguage)其语句包括动词INSERT,UPDATE和DELETEo它们分别用于添加,修改和删除表中的行。也称为动作查询i吾言。三:事务处理语言(TPL)它的语句能确保被DML语句影响的表的所有行及时得以更新。TPL语句包括BEGINTRANSACTION,COMMIT和ROLLBACK四:数据控制语言(DCL)它的语句通过GRANT或REVOKE获得许可,确定单个用户和用户组对数据库对象的访问。某些
38、RDBMS可用GRANT或REVOKE控制对表单个列的访问。五:数据定义语言(DDL)其语句包括动词CREATE和DROPo在数据库中创立新表或删除表(CREATTABLE或DROPTABLE):为表参加索引等。DDL包括许多与人数据库目录中获得数据有关的保存字。它也是动作查询的一局部。六:指针控制语言(CCL)它的语句,像DECLARECURSOR,FETCHINTO和UPDATEWHERECURRENT用于对一个或多个表单独行的操作。3系统总体设计的实现3.1 系统模块结构的设计软件模块结构的设计根据系统分析的结果,按照结构化的系统设计方法,教学事务管理系统从功能由课程管理子系统、学籍管理
39、子系统、成绩管理子系统组成。各子系统的简要功能说明如表3-L表37各子系统的简要功能概述模块名功能简介班级管理维护学校的每个班级的根本信息,包括班级名、班级号、专业、辅导员等相关信息.学籍管理完成对学生的学籍管理,包括学籍录入、学籍修改、学籍查询等相关功能。成绩管理管理每个学生所修课程的成绩,包括成绩录入、成绩修改、成绩查询、成绩修改等相关功能。教师信息管理每个老师的根本信息,包括老师根本信息录入、修改、查询等相关功能。系统管理功能包括系统的一些根本功能,如修改密码、杳询用户根本信息、重新登陆等。软件模块总体处理流程根据各个子系统的功能划分,画出本软件的顶层数据流图,如图3-1所示。用户在登陆
40、界面登陆中输入所需的登陆信息后需要在程序的后台进行用户身份的验证,当这些验证都通过后才可以由用户去操作相应的功能,主要有学生管理、教师管理、成绩管理、班级管理和系统管理。在这些管理模块中需要设计到数据库的交互的操作,需要进行数据的操作后将输出结果更新数据库文件,如果需要的话,操作结果也会在用户操作界面中进行展示。图3-1顶层数据流程本软件的二层数据流图如图3-2所示,在这个数据流图中详细的描述了程序中数据的处理流程,从得到数据到数据的处理以及数据的输出都做了详细的描述。图3-2二层数据流程图功能分配本系统中各功能需求与程序模块(组件)之间的关系如下表3-2所示。表3-2功能需求与程序模块关系表
41、功能需求学籍管理教师管理成绩管理课程管理系统管理教师信息查询教师添加/教师修改/教师删除学生信息查询学生添加/学生修改Z学生删除Z成绩录入成绩修改成绩删除成绩信息查询班级信息查询班级录入班级删除班级修改用户信息修改密码重新登陆如表3-2所示,使用表的形式将各个管理模块的功能进行了描述,通过这个表可以快速直观的了解各个管理模块的功能,不同的模块对应着不同的功能,有些功能模块在其它的管理模块中可以借用,只需要将这个模块的实现函数进行封装,并且向外部模块提供一个接口,外部模块通过这个接口来调用这个功能来实现另外的功能。3.2 系统功能总体设计一根据对系统的分析,将系统的功能机构图再次细分,得到如下结
42、构,如图3-3所ZjO查看学籍信息查看班级信息教师信息操作,教师相关信息查询-L学生相关信息查询班级信息查询L学生成绩信息操作S看帮助信息修改当前用户密码学生信息修改 学生信息查询学生信息增加学生信息删除二 教师信息增加H 教师信息删除H 教修胃Jr教师信息查询学生成绩信息增加 学生成绩信息 学生成绩信息修改 学生成绩信息查询图3-3系统的总体功能图在这个教务管理系统中,主要分为了四大模块,分别是学生管理模块、教师管理模块、管理员管理模块以及通用模块。在通用模块中是一些所有用户都有的操作,在后面代码的具体实现中为了布局的美观这个通用模块中的功能会分散开来安排;其余的三个模块都是对信息的一些处理
43、,但他们最大的区别在于有严格的操作权限控制,不同的用户不能对信息的处理越级,这样会有很大的平安隐患Q学生的功能主要黛市在查看,查看成绩、查看学籍、查看班级等一些普通的操作,教师的主要任务是对学生成绩的操作,这类用户对学生的成绩有最大的权限。管理员用户拥有学生与老师的全部权限,但管理员用户最大的功能是管理用户,即管理员来控制可以什么样的人登录到系统中来,这样管理员就可以通过修改用户的登录信息或者是删除登录信息来控制系统的使用权的归属问题,这样的设计对与系统的平安性有积极的作用。此外,系统的设计还要考虑数据库的问题,设计一个平安可靠的数据库是非常有必要的。此外,作为一个教务管理系统,奖惩模块是必须
44、的。在这个系统中,奖惩模块只有管理员可以操作,其它用户是没法进行管理的,其它用户可以进行查询这些奖惩,包括奖学金、助学金、以及其它的一些奖励;也可以将对学校的惩罚写入系统中,如作弊、打架、以及其它的一些违法学校规章制度的行为。3.3 系统的总体界面设计介绍如图3-4所示是系统的总体初步界面。图3-4系统的总体初步界面系统的初始化界面是用户的登录login界面,在这个界面中会有一个QComboBox控件,这个控件提供用户登录类型的选择,分别有管理员、学生、教师。在界面上会有来个Qlabel标签来提示用户输入用户名与密码,代码局部会获得它们的text(),通过与数据库中的记录相比对来判断用户是否有
45、权限来登录系统。此外还有确认登录与取消登录的QpushButton按钮。在代码的实现局部会给这俩个按钮注册槽函数来响应它们的点击事件CliCkedOo根据不同的用户提供不同的界面,但是在操作的主界面中界面的总体设计是一样的,或者是说不同的用户是通过对控件的可用与否来到达权限的控制,但控件在不同的界面中会有相同的位置。将不同属性的控件放在不同的QWidget中,这样在布局中是很好操作的,也是很方便的.不同的用户类型type对应着不同的操作界面,管理员的登录会给提供最全面的操作,包括一组管理员特有的按钮QPUShBUtton,包括对用户的管理与老师、学生信息的增加、修改、删除等,在这些操作中都会操
46、作到数据库文件,所以数据库文件的平安设计是非常至关重要的。此外在程序的主界面的左下角会有一个QtoOIBGX控件,通过这个控件可以到达功能集中化的效果,QTOOIBOX可以容纳不同的控件,这里我添加的是QliStWidget,这是为了让QlistWidget的不同选择条目对于与界面右下角局部的QStackWidget的不同界面,这样就到达了不同的条目对于与不同的功能操作界面,也回避了弹出式的界面操作,那样的界面容易造成操作紊乱。程序界面的右下角我设计的是在一个QWidget的参加一个QStackWidget控件,然后用QStackWidget的页面数对应于我左下角的QToolBox控件的条目数,这样就可以利用这俩个控件的CUrrentRoWChanged(int)事件与相应SetCUrrentIndeX(int)槽函数来到