您好,欢迎访问三七文档
1概述这次毕业设计是用Qt语言设计的“学生成绩管理系统”,这就要求对Qt语言及数据库技术能够真正了解和熟练的掌握,并且能够灵活的运用。当今的时代是信息的时代,数据库技术是数据管理的最新方法,也是信息管理中一项非常重要的新技术,数据库管理是帮助人们处理大量信息,实现科学化和现代化的强有力工具,数据库管理子系统已发展成为通用的系统软件。由于数据库具有数据结构化、最低冗余度、较高的程序独立性、易于扩充、易于编制应用程序等优点,因而是近年来发展非常迅猛的计算机软件。数据库技术是数据信息管理技术的最新成果,被广泛应用于国民经济、文化教育、军事情报、科学计算、人工智能和计算机辅助设计领域,为计算机的应用开辟了广阔的天地。开发一个学生成绩查询系统,采用计算机对学生成绩进行查询,进一步提高了办学效益和现代化水平。为广大教师和学生提高工作效率,实现学生成绩信息查询工作流程的系统化、规范化和自动化。现在我国的大中专院校的学生成绩档案查询水平普遍都不是很高,有的还停留在全用纸介质基础上,这种查询方式已不能适应时代的发展,社会的需求,因为它浪费了大量的人力物力,也存在着许多不足的因素。在今天信息时代这种传统的查询方法必然会被计算机为基础的信息查询系统所代替。一个高效的学生成绩查询系统可以存储历届的学生成绩档案,不需要大量的人力,只需要几名专门录入员即可操作系统,节省大量人力,可以迅速查到所需信息、高效、安全,学生在能方便的查看自己的成绩。关键字:Qt数据库第一章需求分析1.1需求分析考试成绩是学生在校期间的重要历史资料,学生成绩信息的管理(成绩的录入、查询、分类统计等)是各个学校面临的一个重要问题。该成绩管理系统主要是用于管理在校学生的考试成绩,对教、班级、学生、课程和成绩信息进行维护与管理。本系统要求运行稳定,图形用户界面符合用户的日常使用习惯,数据处理正确无误。1.1.1系统角色概述学生成绩管理系统主要完成学生成绩的管理,包括:(1)教师管理。主要完成学生及学生成绩的修改、删除和查询。(2)学生管理。主要完成对学生信息的查询以及对所有学生信息的查询。21.1.2学生成绩查询系统的功能需求分析学生成绩查询系统主要提供成绩查询,学生可以通过该系统查阅与自己相关的信息。管理员可以通过成绩查询系统查阅学生成绩信息,还可以对学生的成绩进行添加、删除、修改等相关操作。1.成绩查询系统的分析根据实际情况,我们以少量代价快速的构造一个可以执行的系统模型。使用户和开发人员可以较快地确定需求,然后采用循环进化的开发方式,对系统的模型作连续的精化,将系统需要具备的功能逐渐增加上去,直到所有的功能全部满足,此时模块也发展成为最终产品。2.成绩查询系统的设计思想通过网络,增强学生与学校之间的联系,学生可以在不同的地点对自己的成绩进行查询,校务人员在Internet上实现完成部分校务,提高办事效率。1.1.3.成绩查询系统要实现的主要功能1.管理员选项设置管理员可进行全部查询、按学号查询、修改、删除学生用户。以及对成绩查询统的管理。2.学生用户选项可以查询用户的成绩信息、个人信息第二章任务概述2.1目标本系统是将现代化的计算机技术和传统的教学、教务工作相结合,按照学院的工作流程设计完成的。为了使系统在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标:1)系统应具有实用性、可靠性和适用性,同时注意到先进性。2)对各个数据库进行动态管理,防止混乱。3)能够按照用户选择的不同的条件进行查询。4)能够对查询结果进行分类汇总。5)注意数据的安全性,具有数据备份和恢复的功能。6)方便用户的操作,尽量减少用户的操作。2.1.2开发工具32.2编辑工具以及程序实现平台:QT是一个1991年由奇趣科技开发的跨平台图形用户界面应用程序开发框架。广泛用于开发GUI程序,这种情况下又被称为部件工具箱。也可用于开发非GUI程序,比如控制台工具和服务器。它是Digia公司的产品。QT使用标准的C++和特殊的代码生成扩展(称为元对象编译器(MetaObjectCompiler,moc))以及一些宏。通过语言绑定,其他的编程语言也可以使用QT。QT是自由且开放源代码的软件,在GNU较宽松公共许可证条款下发布。所有版本都支持广泛的编译器,包括GCC的C++编译器和VisualStudio。SQLServer是由Microsoft开发和推广的关系数据库管理系统(DBMS)。SQL是英文StructuredQueryLanguage的缩写,意思为结构化查询语言。SQL语言的主要功能就是同各种数据库建立联系,进行沟通。按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。第三章总体设计及流程图上面的需求分析已经对系统的功能需求、环境需求做了较为明确的阐述。根据上述需求,下面按照开发设计思想、功能模块、图形用户界面、数据库等方面阐述成绩管理系统的总体设计。3.1开发与设计的总体思想作为学校使用的成绩管理系统,能够满足成绩管理的基本功能需求,界面简单、操作简便是设计的一个重要考虑。3.2系统模块结构图依据需求分析结果,成绩管理系统的主要模块包括:管理员管理、学生管理功能,系统结构如图所示。43.3数据库内容的设计数据库内容的设计成绩查询系统管理员学生查询学生成绩删除学生成绩修改学生成绩查询所有学生成绩查询个人成绩查询所有学生成绩YonghuZhanghaoPasswordPrivligeStudentSnoSnameSsexSage5用户表:Yonghu(zhanghao,password,privlige)学生信息表:Student(Snum,Sname,Ssex,Sage)成绩表:Grade(Snum,Sname,Math,Shuzhi,Gailv)第四章程序效果展示4.1登陆界面:信息不完整时的显示:MathShuzhiSnameSnoGradeGailv64.2学生登陆后的界面:74.3教师查询界面:84.4教师的更新界面:第五章程序展示源码:Student.cpp#includexuesheng.h#includeui_xuesheng.h#includeqstring.h#includeqtablewidget.h#includeQTableWidgetItem#includeqdebug.h#includeQSqlDatabase#includeQSqlQueryXuesheng::Xuesheng(QWidget*parent):QDialog(parent),ui(newUi::Xuesheng){ui-setupUi(this);setWindowTitle(成绩管理系统-1106034236王震);}9Xuesheng::~Xuesheng(){deleteui;}voidXuesheng::on_sl_button_clicked(){QStringeditout=ui-sledit-text();QStringslout=ui-slBox-currentText();QSqlQueryquery(db);if(slout==按姓名查询){query.exec(SelectStudent.Sno,Student.Sname,Student.Ssex,Student.Sage,Grade.Math,Grade.Shuzhi,Grade.GailvFromStudent,GradeWhereStudent.Sno=Grade.SnoandStudent.Sname='+editout+');QTableWidget*table=ui-table;while(query.next()){table-setRowCount(1);table-setItem(0,0,newQTableWidgetItem(query.value(0).toString()));table-setItem(0,1,newQTableWidgetItem(query.value(1).toString()));table-setItem(0,2,newQTableWidgetItem(query.value(2).toString()));table-setItem(0,3,newQTableWidgetItem(query.value(3).toString()));table-setItem(0,4,newQTableWidgetItem(query.value(4).toString()));table-setItem(0,5,newQTableWidgetItem(query.value(5).toString()));table-setItem(0,6,newQTableWidgetItem(query.value(6).toString()));}}elseif(slout==按学号查询){query.exec(SelectStudent.Sno,Student.Sname,Student.Ssex,Student.Sage,Grade.Math,Grade.Shuzhi,Grade.GailvFromStudent,GradeWhereStudent.Sno=Grade.SnoandStudent.Sno='+editout+');10QTableWidget*table=ui-table;while(query.next()){table-setRowCount(1);table-setItem(0,0,newQTableWidgetItem(query.value(0).toString()));table-setItem(0,1,newQTableWidgetItem(query.value(1).toString()));table-setItem(0,2,newQTableWidgetItem(query.value(2).toString()));table-setItem(0,3,newQTableWidgetItem(query.value(3).toString()));table-setItem(0,4,newQTableWidgetItem(query.value(4).toString()));table-setItem(0,5,newQTableWidgetItem(query.value(5).toString()));table-setItem(0,6,newQTableWidgetItem(query.value(6).toString()));}}elseif(slout==按性别查询){query.exec(SelectStudent.Sno,Student.Sname,Student.Ssex,Student.Sage,Grade.Math,Grade.Shuzhi,Grade.GailvFromStudent,GradeWhereStudent.Sno=Grade.SnoandStudent.Ssex='+editout+');QTableWidget*table=ui-table;inti=0;while(query.next()){table-setRowCount(i+1);table-setItem(i,0,newQTableWidgetItem(query.value(0).toString()));table-setItem(i,1,newQTableWidgetItem(query.value(1).toString()));table-setItem(i,2,newQTableWidgetItem(query.value(2).toString()));table-setItem(i,3,newQTableWidgetItem(query.value(3).toString()));ta
本文标题:QT大作业
链接地址:https://www.777doc.com/doc-2854631 .html