




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.* 本科毕业论文(设计)题目学生成绩管理系统的设计作者XXX学院XXXX专业XXXX学号XXXXX指导教师XXXX二 二 年 三 月 十五 日附件2:XXXXX毕业论文(设计)任务书学生姓名: XXX 学号: XXXXXXX 专业班级: XXX 毕业论文(设计)题目: 学生成绩管理系统的设计 题目类型: 实验研究 毕业论文(设计)时间: 自 2011 年 12 月 18 日开始至 2012 年 5 月 4 日止1. 毕业论文(设计)内容要求:一、设计目的 1、掌握查阅文献、翻译相关外文资料的方法,提高自学能力,拓展知识面。2、培养学生分析问题和解决问题的能力。3、熟练掌握至少一门软件开发技术,掌握软件开发流程4、掌握关系数据库的基本概念和理论,熟练至少一种关系数据库的开发方法。二、设计要求 本课题要求设计出一个学生成绩管理系统,以便提供给学生,老师使用,完成对学生成绩的日常管理。1、具备不同权限多用户登录管理功能2、具备学生信息查询、添加、删除、修改、排序、统计、打印功能。3、数据用关系数据库存储。4、具备数据合法性检验功能1题目类型:(1)理论研究(2)实验研究(3)工程设计(4)工程技术研究(5)软件开发2.主要参考资料1王兆安,黄俊.电力电子技术M.北京:机械工业出版社,2007:43-79.2张加胜.电力电子技术精品课程EB/OL. 2010-01-05.3赵曼曼 学生成绩管理系统的设计与实现C 河南 2010-01-05.4聂凯,曹慢慢.Mysql数据库的访问方法浅析J.科技资讯.2010(09)5Xteam(中国)软件技术有限公司 Qt程序设计M 清华大学出版社20026金宇新,白凤山.基于Qt/Embedded的GUI设计J.电脑知识与技术.2008(13)7Paul DuBois Dubois MySQL网络数据库指南 北京:机械工业出版社20008马先波,冯伟.MSSQL与MySQL数据库的优劣对比及前景展望J.科技创新导报.2009(11)9梅金姣 袁亚萍 黄学雷 高校校园网学生学籍及成绩管理系统的设计应用C 2007-510贺智明,彭桃发.C/S模式应用向B/S模式转换的相关技术研究J.南方冶金学院学报.2004(04)11周军锋,王志松.C/S模式下实时考核系统的设计与实现J.燕山大学学报.2003(02)12Jasmin Blanchette Mark Summerfield. C+ GUI Qt4编程.北京:北京航空航天大学出版社, 200613Festures Of SQLiteEB/OL.http//features.html. 14胡伟. SQLite 在嵌入式系统上的实现研究 J . 计算机与数15黄布毅 张晓华.基于ARM-Linux的SOLite嵌入式数据库技术J.单片机与嵌入式系统应用,2005(4):21-24.16. 胡伟.SQLite在嵌入式系统上的实现研究J.计算机与数字工程,2009,37(2):158-163.17. 张治国 董西广 基于QT平台的数据库编程C 2011-318Trolltech Inc. Qt Reference Documentation 4.7. 201019. (美)Donald E.Knuth 计算机程序设计艺术(第3卷)-排序和查找 M 2002-920.算法导论(Introduction to Algorithms Second Edition)中文版 机械工业出版社 20103.毕业论文(设计)进度安排阶段阶 段 内 容起止时间一调研和查阅资料,完成开题报告2011年12月10日12月30日二课题设计、调试,论文写作2012年1月1日4月10日三集中修改论文并定稿2012年4月11日4月24日四完成毕业论文和答辩2012年4月25日5月1日指导教师(签章):_ 日期:_系(教研室)主任(签章) :_ 日期:_二级学院院长(签章) :_ 日期:_注:任务书由指导教师本人填写,经教研室主任(学术小组组长)审核后下发给学生。附件3:XXXXXXX毕业论文(设计)指导教师评语建议成绩: 指导教师: (签章)年 月 日附件4:XXXXX毕业论文(设计)评阅教师评语建议成绩: 评阅教师: (签章)年 月 日附件5:XXXXXX毕业论文(设计)答辩记录日期: 学生姓名: XXXX 学号: XXXXXX 专业班级: XXXXX 题目: 基于C+学生成绩管理系统设计与开发 毕业论文(设计)答辩委员会(小组)意见:答辩成绩: 评定等级: 答辩委员会(小组)负责人: (签章)委员(小组成员): (签章) (签章) (签章) (签章) 二级学院审查意见: 论文(设计)最终评定等级:_ 负责人: (签章) _年_月_日附件6:摘 要本系统依据开发要求主要应用于学生成绩管理系统,完成对日常的教育工作中学生成绩信息的数字化管理。开发本系统可使学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,以及国家各部门关于信息化的步伐,使各项管理更加规范化。目前,学校工作繁杂、资料众多,虽然各类管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有一套完整的、统一的系统。因此,开发一套适和大众的、兼容性好的系统是很有必要的。本系统在开发过程中,结合MySQL数据库、C+编程语言以及QT图形界面等主要开发工具,并且注意使其符合操作的业务流程,并力求系统的全面性、通用性,使得本系统不只适用于一家教育机构。在开发的过程中,遵循系统需求分析、概要分析、系统设计和代码编写四个主要阶段进行设计,而在具体的设计上,采取了采用C+中突出的面向对象的编程方法,对不同的窗口创建不同的类对象,不仅简化了编程在逻辑上的难度,同时也增强了代码的可读性。随着对系统的不断测试及对系统了解的不断加深,对某一部分或几部分进行重新分析、设计、实施。本论文主要从需求分析、概要设计、系统设计与代码编写等几个方面进行介绍。关键词:成绩管理信息系统; MySQL数据库;C+;QTABSTRACTAccording to there quirements of developing, the Score Management system of Student is mainly applied to education system which manage as the daily teaching education al administration and computeration of teachers and tudents.Developing grade Management System cannot only ruduce thep resure of the staff and system atically manage the service and information,but also decrease the use of lab our force,accelerate there quiring speed,improve management,speed the pace of concernad nationa l department automated information retrieval to standardize the managements.Nowdays,the universities work are miscellaneous,especially inprivate ones.Its important to put the teachersmanagement on the table.Up to now,mamage ment has come in to universities but not popularized.As for the teaching management,the reis not a set of complete and unified system,so its very necessary to develop a common,compatibleone.This system in the development process, combined with MySQL database, C+ programming language and QT graphics interface main development tools, and attention to meet the operation of the business process, and makes every effort to the system overall, versatility, so the system not only apply to a education institutions. In the development process, follow the system requirement analysis, summary analysis, system design and code of four main stage design, and in the design of concrete, take the c + +, prominent object oriented method, to a different window to create a different kind of object, not only simplify programming in the difficulty of logic, and also increased the readability of the code. As to the system test and understanding of the system, continuously the deepening of, to one of one or more parts to analysis, design, implementation. This thesis mainly from requirements analysis, general design, system design and code and so on paper.Keywords:Score Management system of Student ; MySQL database;C+;QT 附件7:目 录摘要VIIIAbstractIX第一章 前言1第二章 需求分析 22.1 调研分析 22.1.1问题提出22.1.2系统开发的目标与意义32.1.3可行性分析42.2 概要分析 52.2.1 需求分析 52.2.2 功能分析 62.2.3 工具选择7第三章 学生成绩管理系统的开发 93.1 登入界面代码编写 9 3.1.1用户身份的选择 9 3.1.2登入设置 103.2 数据库连接代码编写 11 3.2.1 SQLite数据库 11 3.2.2 MySql驱动插件的生成12 3.2.3数据库的连接123.3 主界面个功能代码设计编写 14 3.3.1查询 14 3.3.2添加 15 3.3.3排序17 3.3.4删除193.4 密码修改界面代码编写 20 设计体会及收获21参考文献22致谢22精选范本第一章 前 言现如今是一个科技大爆发的年代,世界上每个国家无不在大力发展自己的科技事业。而我国也同样如此,从新中国成立以来一直推行着“科技强国”、“科技兴国”等策略。因此随着国家对科技的不断重视,我国也有越来越多的人投身到这一项伟大的事业当中。随着新中国成立的几十年时间里,我国的科学事业有了显著的发展。而对数据库信息管理这方面的发展尤为突出,如:企业信息管理、银行信息管理、政府信息管理等等许多信息管理系统不仅仅提高了对信息的管理效率,而且增强了信息的安全性。更为重要的是间接的获得了宝贵的财富,避免了不必要的损失。本研究课题开发的目标是为学院教职员工减轻工作压力,比较系统地对教务、教学上的各项服务和信息进行管理,同时,可以减少劳动力的使用,加快查询速度、加强管理,以及国家各部门关于信息化的步伐,使各项管理更加规范化。本系统在开发过程中,结合MySQL数据库、C+编程语言以及QT图形界面等主要开发工具,并且注意使其符合操作的业务流程,并力求系统的全面性、通用性,使得本系统不只适用于一家教育机构。在开发的过程中,遵循系统需求分析、概要分析、系统设计和代码编写四个主要阶段进行设计,而在具体的设计上,采取了采用C+中突出的面向对象的编程方法,对不同的窗口创建不同的类对象,不仅简化了编程在逻辑上的难度,同时也增强了代码的可读性。随着对系统的不断测试及对系统了解的不断加深,对某一部分或几部分进行重新分析、设计、实施。本论文主要从需求分析、概要设计、系统设计与代码编写等几个方面进行介绍。 第二章 需求分析2.1 调研分析2.1.1 问题提出目前,计算机辅助管理已在我国的各行各业得到了广泛地应用,但总的来说,计算机在我国教学方面的应用,还处于初级阶段,尽管近两年发展较快,但还需要不断地探索和研究,。在我们生活的周围环境中贯穿着无数的系统,这是我们世界信息化不断发展的成就,在我们衣食住行中,无一例位的联系起了信息化管理系统,到今天我们正在教育之路上当 MIS (管理信息系统) 陆续走入了各企事业,成为企业管理者的得力助手。学校是信息化程度高而且复杂的单位由此可见手工管理将会浪费很多的财力、物力,学生成绩管理系统的引进将为学校这一难题。在如今的高校日常管理当中,学生成绩管理系统就是其中非常重要的一环,特别是当前学生规模大,课程门类多,校区分散等实际情况,学生成绩管理系统更具有非常大的实际应用意义。因此计算机管理纳入成绩管理系统,大大提高了工作效率,也减轻了工作者的负担,同时也方便了同学和教师的查询。学生成绩管理系统是为传统管理中存在的一些混乱、无序等弊端开发的。它的主要特点是功能强大、设计科学、方便易用,深受用户喜爱。目前正版用户遍及全国各地,是一款非常成熟且具有极高性价比的学生成绩管理系统。在我国,教育是一个影响着国富民强的重要行业,随着改革开放和市场经济的发展根据中国特有的国情发展,教育得到了国家的大力扶持与社会各界的高度重视,从而使教育业向规范性与现代化的方向高速发展,但是同发达国家相比,我国的教育行业的信息技术的应用程度还很低,只有在大城市中发展较早、规模较大的院校中才使用计算机进行大规模操作,从各方面提高工作效率,取得良好的社会和经济效益,而一些新兴的、规模较小的教育机构还没有全部具备这种功能。因此可见,随着我国教育的迅速发展,信息技术在其上的应用会更加地广泛和深入1。而在教育的过程当中,我们应该充分利用数字技术的优势来辅助我们的教育事业的发展。利用数字技术,一来可以减轻教师的在上课期间以板书所带来的负担,教师可以以电子教案的方式来展示自己的备课;二来,教师利用数字技术来统计学生的成绩,以达到统一管理学生成绩,且学生也可以随时了解自己的各科的成绩情况。而本课题则是以管理学生成绩为理念来设计这款软件,为教师提供各种方便且适用的功能来管理学生成绩,并且同时提供普通用户登入功能,来让学生也可以登入查看自己的学习成绩,达到心中有数的目的。2.1.2系统开发的目标与意义1)、目标:为了适应社会生产力的发展,紧跟国际经济发展的步伐,现代企业管理层已经开始意识到计算机及网络技术在企业自身发展过程中的不可或缺的重要作用。为了大力提高自身的生产和管理水平,减少不必要的人力物力的浪费,提高生产效率和经济效率,不少事业单位已经把现代自动化的办公理念纳入到单位的管理实践当中。计算机及网络技术是办公自动化技术的核心,可以说没有计算机、没有网络便无法实现办公管理的自动化。高校的管理和制度是办学理念的具体体现,是支撑学校运行、实现学校目标的基本保证。研究型大学的教育教学信息化建设要和管理创新紧密地结合起来,把规范化的科学管理全面渗入到信息化建设中。在管理业务的平台上运行含先进管理理念的系统软件,由此提升教育制度的约束力,增强教学管理的执行力。学生成绩管理不单是教育管理的手段,更是教育理念落实的载体,是培养方案、教学计划、教学质量及学习质量等多种因素影响的综合体系,它既自成体系又与教学管理的其他环节密切关联,互为基础,相辅相成。因此,围绕高校的人才培养目标,将先进的教学管理理念与现代信息技术相结合,满足人才培养的需要,提高教学管理的执行力是学生成绩管理系统主要的建设目标2。有些学校虽使用了计算机,甚至管理系统,但是仍然存在很多问题,问题一日不解决,效率就一日提不上去。还有,有的系统很不完善到处是漏洞,可以说是千疮百孔,这样极不完善的系统对管理来说是没有任何保障的。为了使系统在学院的管理中发挥更大的作用,实现工作过程的计算机化,提高工作效率和工作质量,现提出如下的系统开发目标:1.系统应具有实用性、可靠性和适用性,同时注意到先进性。2.对各个数据库进行动态管理,防止混乱。3.能够按照用户选择的不同的条件进行简单查询和复合查询。4.注意数据的安全性。5.方便用户的操作,尽量减少用户的操作3。2)、意义: 在我国,各大中小学校的各类信息管理系统并非一个新的课题,但也有的学校根本就没有信息任何管理系统,所有的工作几乎还是手工操作来完成。计算机技术在日新月异的发展,但是有的很多学校,特别是在西部贫困地区,学校的种类管理都依然由手工操作来完成,这十分落后,效率极低,成本很大,而且极异出错。随着社会的发展,信息化是社会进程的必然趋势,学校管理只有只有快,准,精才能发挥其价值。所以机器代替人力是必然的历史发展趋势,只有领导的重视和支持才能从人工操作改为计算机的自动化系统。人工操作必将被计算机代替。在各大中小学校,用计算机管理学校的信息已经越来越普遍了。用计算机不但可以提高工作效率,而且还节省了许多人力物力,增强了学校资料的安全性。提高了学校的管理能力,为此,用计算机来管理学校的信息,是非常必要的。2.1.3可行性分析(1)经济上的可行性 现如今,计算机的价格已经十分低廉,我国计算机的普及率在城市达到了81%,而农村也达到了29%,同时性能有了长足的进步,而且,我国的IT行业同样有了飞速的发展,更重要的是,本系统用到的关系型数据库是免费的,更加促成了本系统在经济上的可行性。而本系统的开发,为此本系统的开发在经济上的可行性主要表现有以下几个方面:第一,本系统的运行可以代替人工进行许多繁杂的劳动;第二,本系统的运行可以节省许多资源;第三,本系统的运行可以大大的提高学校的工作效率;第四,本系统可以使敏感文档更加安全,等等。所以,本系统在经济上是可行的。(2)技术上的可行性 MySQL是一个广受Linux社区人们喜爱的半商业的数据库。其经济性受到相当多用户的青睐,并且凭借其在存储过程的优越性能使得其实用性也远超其他数据库模式,占据很大优势。本系统的开发利用MySQL作为本系统的数据库,它是一个支持多用户的新型数据库,适用于大中规模的数据量需求。学校校园网的建设也为新系统服务器/客户端的结构提供了硬件的支持4。使用QT作为系统开发的开发环境,它提供完善的指令控制语句、类与对象的支持及丰富的数据类型,给开发高性能系统提供的保障为开发满足客户要求的系统,保证了代码的模块化要求,而代码模块化的提高,非常有利于以后对新系统的扩展与修改。Qt 同 X Window 上的 Motif,Openwin,GTK 等图形界 面库和 Windows 平台上的 MFC,OWL,VCL,ATL 是同类型的东西,但是 Qt 具有下列优点:优良的跨平台特性:Qt支持下列操作系统: Microsoft Windows 95/98, Microsoft Windows NT, Linux,Solaris, SunOS, HP-UX, Digital UNIX (OSF/1, Tru64), Irix, FreeBSD,BSD/OS, SCO, AIX, OS390,QNX 等等。面向对象:Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常 方便的。 Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件 之间的协同工作变得十分简单。丰富的 API:Qt包括多达 250 个以上的 C+ 类,还提供基于模板的 collections, serialization, file, I/Odevice, directory management, date/time 类。甚至还包括正则表达式的处理 功能。支持 2D/3D 图形渲染,支持 OpenGL大量的开发文档XML 支持Webkit 引擎的集成,可以实现本地界面与Web内容的无缝集成但是真正使得 Qt 在自由软件界的众多 Widgets (如 Lesstif,Gtk,EZWGL,Xforms,fltk 等等)中脱颖而出的还是基于 Qt 的重量级软件 KDE 5。综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的,因此,它在技术上是可行的。(3)运行上的可行性 本系统虽然是一个小型的学生信息管理系统,但它所具有的优势和特点都是非常突出的。首先,从所耗费的资源上来说是非常小的。本系统的安装包只有几十兆,安装后也不过两百多兆,更为重要的是本系统在运行期间不会产生其他临时的垃圾文件,大大的为用户节省了空间。同时,本系统所使用的MySQL数据库能存储非常巨大的数据信息,而且保密性良好。大大的提高了系统的保密性。第二,本系统运行的跨度很广。本系统可以在局域网中运行。如果在局域网中建立一个正确的用于存储学生信息的数据库。我们只要安装本系统,在本系统的登入界面设置一些相关的数据库的信息,我们就可以进行数据的存储了。更为重要的是本系统可以通过互联网进行远程登入。我们只要在互联网上拥有一台开放MySQL数据库端口的服务器,我们就可以通过互联网进行远程登入,非常方便的对数据进行操作了。第三,硬件上的可行性。前面已经提过,我国的计算机普及率已经达到了一个相对来说比较高的高度。因此无论是硬件还是软件都能够满足条件。因此,本系统在运行上是可行的。2.2 概要分析 2.2.1、需求分析(1)学校工作流程分析 学校工作总体规划由教务人员在学生信息管理系统中完成对运行教务处所需的基本数据的维护,包括这些信息的增加、修改及对各项信息的变动都将在这进行操作。新的学年,教务人员首先加入年级信息,然后编排班级,再对来校学生进行基本的信息录入,新生入学后由教务人员在学籍系统中完成新学生信息的维护。在每个学期开始,教务处根据班级的情况,以班为单位,为每个班级安排一个班主任及对此年级安排一个年级组长。并对各科老师进行安排。每举行一次考试后由任课老师对成绩进行录入。班主任对本班的成绩汇总。并进行排名,然后年级组长再进行汇总,并对本年级各科成绩及总成绩进行排名。教务处、年级组长、班主任及任课老师跟据实际情况对录入的成绩进行维护,各位同学对以上录入的信息可以跟据自己的需要进行适当的查询。(2)学校具体需求分析 学生:对各科成绩的查询以及对自己账户密码的修改,防止自己信息的泄漏。管理员:不仅需要对录入学生成绩、删除学生成绩、修改学生成绩,并且应具有按条件检索所有学生成绩、排名学生成绩等多种权限。 (3)系统设计思想 采用现有的资源,先进的管理系统开发方案,充分利用学校现有的资源,减少开发中的时间和财力、物力、提高系统开发的水平和应用效果。 系统就满足学校的需求,例如学生信息的录入、查询、更新等。学生录入与排名。 系统就具备数据库维护功能,及时根据用户需求进行数据添加、删除、修改等操作。 (4)系统设计分析本系统适用于中小学校,其功能主要分为六大类:用户管理:用于对用户的添加,赋于不同权限及对用户的修改及查询。成绩管理:用于对成绩的输入、汇总及排序。学生信息管理:添加,删除学生信息等。 学生信息查询: 对学生成绩等信息的查询,查询方式为模糊,且具有多条件组合查询功能。 学生成绩统计: 统计本科的成绩 等信息。本系统性能力求易于使用,具体有较高的扩展性和可维护性。2.2.2 功能分析权限功能:本系统按用户权限对用户进行分组。可分为普通用户,超级用户。普通用户只是查询不能修改,超级用户则具有添加删除,以及对所有学生成绩查询的功能。并且所有用户(不论管理员还是普通用户)都具有对自己的账户的管理功能,如密码修改。录入功能:为一般用户提供相应的录入功能,为超级用户提供对所有信息的录入功能。查询功能:为所有用户提供查询的功能,可查询允许范围内的所有信息。数据有效性检查功能:当管理员录入学生信息的时候,系统会对管理员输入的信息做检查,查看是否属于合法的数据。维护功能:为管理员提供查询及相应的修改,删除功能,为管理员提供对所有信息的修改删除功能。退出功能:结束并关闭系统。2.2.3 工具选择(1) QT开发平台 Qt (由挪威 TrollTech 公司开发) 是一个功能全面、高性能、多平台的 C+图形用户界面 (GU)I 程序应用框架,是一种高效与跨平台的应用程序的解决方案。后由诺基亚公司收购,Qt提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程。自从1996年早些时候,Qt进入商业领域,它已经成为全世界范围内数千种成功的应用程序的基础。Qt也是流行的Linux桌面环境KDE 的基础。 基本上,Qt 同 X Window 上的 Motif,Openwin,GTK 等图形界 面库和 Windows 平台上的 MFC,OWL,VCL,ATL 是同类型的东西,但Qt具有优良的跨平台特性、面向对象 、丰富的API、大量的开发文档等优点6。(2)MySQL数据库 MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性7。MySQL的SQL“结构化查询语言”。SQL是用于访问数据库的最常用标准化语言。MySQL软件采用了GPL(GNU通用公共许可证)。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库8。(3)客户机/服务器(c/s)开发模型学 生 学 籍 及 成 绩 管 理 系 统 以MySQL系统为服务平台,用MySQL 作为后台数据库的管理, 采用 C/ S(client/ servet)模式架构的应用型软件。1.C/ S 和 B/ S 模式结构的基本原理和特点C/ S 模式将应用系统分布在两个实体上, 即客户机和数据库服务器上,形成二层 C/ S 体系结构, 客户机提供用户界面, 并直接以 SQL 语言向数据库发出数据请求, 数据库服务器响应客户机的请求, 执行这些 SQL 语句, 并将相应数据返回给客户机。C/ S 模式的优点主要有: 交互性强、提供更安全的存取模式、降低网络通信量。由于C/ S 模式在逻辑结构上比 B/ S 少一层, 对于相同的任务, C/ S 完成的速度总比 B/ S 快, 这样使得 C/ S 模式更利于处理大量数据。而B/ S 模式, 即 Browser/ Server(浏览器/ 服务器)模式, 是一种以 WEB 技术为基础的新型的平台模式。把传统C/ S 模式中的服务器部分分解为一个数据服务器与一个或多个应用服务器(WEB 服务器), 从而构成一个三层结构的客户服务器体系。第一层客户机是用户与整个系统的接口, 客户的应用程序精简到一个通用的浏览器软件。第二层 WEB 服务器将启动相应的进程来响应客户的请求, 并动态生成一串 HTML 代码, 其中嵌入处理的结果,返回给客户机的浏览器。第三层数据库服务器的任务类似于 C/ S 模式, 负责 协 调 不 同 的 WEB 服 务 器 发 出 的SQL 请求, 管理数据库 B/ S 模式, 优点是简化了客户端, 使用户的操作更简单, 适应于网上信息发布9。本系统综合了以上C/S的各种优点,以及客观的因素下选择C/S作为本系统开发的一个开发模型。下面对客户机/服务器(C/S)的工作组成部分具体的介绍:客户机/服务器(C/S)网络的信息服务系统通常由计算机平台、网络平台和数据库平台组成。这里的C/S信息系统,在硬件条件不变的情况下,根据其作用可划分为几个部分:第一部分为前端,即客户机。前端是一个运行在客户机上并向服务器发送信息,并接收服务器信息的小型应用程序,因此,前端实际就是服务器上应用程序的一个接口。第二部分为后端,即服务器。后端计算机上应当 运行基于C/S模式的后台程序,如SQL Server。服务器程序可以应用于各类计算机平台上,从微机、小型机直到大型计算机。随着计算机网络规模的发展,网络中可能需要不只一个服务器来分别处理各种客户机的请求。为此,可以在同一台服务器上安装多种应用服务软件。当网络上客户机对电子邮件的服务请求不多时,还可以安排它兼做其他客户机或者服务器使用。第三部分为连接件,即起连接作用的软件和硬件。其中软件连接主要包括网络协议,网络应用接口和数据库的连接接口等,而硬件连接主要有网卡和通信介质等10简言之,前端程序是负责与网络客户的交流,并向服务器提出要求的一方;后端程序则是处理相关的交互请求,为前端提供服务的一方;而连接件则是服务器与客户机的连接和支撑平台。网游基本都采用这种网络模型。 C/S是在专用服务器网络结构的基础上发展起来的。在这种结构的网络中,可以将多种需要处理的工作分别分配给相应的客户机和服务器来完成。因此,网络可客户机和服务器并没有一定的界限,必要时两者可以互换。在这种网络中,到底谁为客户机、谁为服务器完全按照其当时所扮演的角色来确定。一般定义是:提出服务请求的一方称为“客户机”,而提供服务的一方则称为“服务器”11。第三章 学生成绩管理系统的开发3.1 登入界面代码编写根据任务书中所要求,登入见面设计成如下所示:从图中可以看出,该系统是支持多种用户登入,即管理员和学生用户登入。接下来我们将对界面所实现的功能做具体的分析:3.1.1、用户身份的选择:在登入界面上我们设置了两个单选框,来让用户选择以何种身份登入该系统。而在代码的实现上,我们设置了一个标志位flag,通过此标志位来确定系统是以何种身份登入本系统;当用户以管理员的身份登入该系统时,我们调用class MainWindow 类中的成员函数init_teacher_menu()来初始化管理员主菜单界面,初始化后的主界面如下:在该界面管理员拥有学生成绩录入、删除、修改等等功能。在后文将详细介绍这些的功能的实现。考虑到数据的可靠性和安全性,我们将本系统的管理员只设一个,这样的避免了数据的不稳定性。因此我们默认设定了管理的账户固定为admin,而管理员密码可以在登入本系统后进行修改。而当用户是以学生的身份登入本系统时,将呈现如下的主界面:在该界面学生用户拥有的功能只限于查询自己的学习成绩,除此之外,考虑到学习成绩信息的安全性,我们还为学生用户(也包括管理员)提供了修改自己的账户密码的功能。学生用户的账户在管理员录入成绩的同时生成,并保存在数据库当中。而学生用户在第一次登入的时候我们默认学生的登入账户名和密码均是学号,而学生在第一次登入之后可以选择密码修改功能,以保护自己的隐私。而密码修改功能的实现将在后文详细介绍。3.1.2登入设置:在登入界面的左上角,设计了一个设置按钮,点开该按钮,可弹出如下界面:该界面主要用于设置数据库等相关信息,如数据库服务器是否在本机,如果是在本机,则点上本机的选框,如果点上了该选框,则数据库输入IP的输入框将变成灰色,因为如果数据库如果在本机,我们将不需要输入服务器IP,在连接数据库时,我们在调用sethostname()函数时的参数将设置成localhost。如果没有点上该按钮,则需要用户手动输入服务器的IP地址。同时,我们需要用户手动输入数据库服务器的登入密码,这个密码是我们在建立数据库时所设定的密码。而端口号也是数据库服务器的端口号,我们默认的是3306。用户输入好信息后,直接点确定,我们将这些信息都将通过一个文本Sqlserverinfo.txt保存起来。如果用户是第一次使用本系统,则我们会通过如下代码来判断该文本是否存在:if(file.exists() if(!file.open(QIODevice:WriteOnly) QMessageBox:information(this,tr(Error),tr(服务器初始化信息文件打开失败.); exit(EXIT_FAILURE); else if(!file.open(QIODevice:ReadWrite) QMessageBox:information(this,tr(Error),tr(服务器初始化信息文件打开失败.); exit(EXIT_FAILURE); 如果文件不存在,我们在打开该文件的时候以ReadWrite为标志位,该标志位表示如果文件不存在则创建并以可读可写的方式打开,如果存在该文件则直接以可读可写的打开。这样下次用户再次登入本系统的时候,我们会首先在main函数中调用Setup_dialog类中的init_sqlServer_dialog()函数来初始化该界面中的值。这样就免去了用户每次登入的时候都需要重复填写登入信息,方便了用户的使用。3.2数据库连接代码编写当用户在登入界面填写好账户和密码的时候,我们将连接MySQL数据库,同时通过SQL查询语句来判断数据库当中是否存在该用户。因为在默认情况下,QT只提供了一个轻量级的SQLite数据库的驱动程序,大多流行的数据库如MySQl等并没有相应的驱动程序。如果想要编访问MySql数据库的程序,需要生成MySql的驱动插件12。因此在本节,我们首先概要介绍SQLite数据库,然后讲解MySql驱动插件的生成,最后讲解本系统连接MySQL的基本过程。3.2.1、SQLite数据库:SQLite 是一款轻量级别的小型嵌入式数据库,实现了完备的、可嵌入的 SQL 数据库引擎,目前已广泛应用于嵌入式产品中13。SQLite 是 D. Richard Hipp 用 C 语言编写的开源嵌入式数据库引擎。它是完全独立的,不具有外部依赖性,非常健壮,可以在所有主要的操作系统上运行,并支持大多数计算机程序开发语言。具有如下技术特点14:版权允许无任何限制的应用。支持 ACID 事务。实现零配置,即无需安装和管理配置。实现了绝大部分 SQL92 标准。数据库存储在单一、跨平台、完整的磁盘文件中,数据库文件可以在不同字节顺序的机器间自由地共享。代码量小,大致 3 万行 C 代码,小于 250KB 的代码空间。比目前流行的大多数数据库运行速度快。跨平台。它能够支持 Windows/Linux/Unix 等主流的操作系统。比较完善的数据库恢复策略,即使在系统崩溃和掉电以后也可以自动完成启动、初始化和数据恢复。可见,SQLite 数据库特别适合应用于嵌入式产品。同时也是特别适合本系统的15。3.2.2、MySql驱动插件的生成:建立数据库的驱动程序QT给上层用户提供了一个统一使用数据库的接口,对于下层实际数据库的使用,QT使用相应的插件来访问不同的数据库。如果要访问某一特定的数据库,需要给QT提供相应的驱动插件。默认情况下,QT只提供了一个轻量级的SQLite数据库的驱动程序,本系统所使用的MySQl等并没有相应的驱动程序。所以在访问MySql数据库之前,需要生成MySql的驱动插件16。首先介绍生成QT的MySql Server 5.1数据库驱动的方法,其它数据库的驱动生成方法,请参阅QT的相关帮助文档。首先需要下载MySql的安装文件。 MySql Server 5.1的安装文件是一个扩展名为.msi的安装文件。在安装的时候,需要选择自定义安装,将Libs & IncludeFiles也安装上去,即将相关的头文件及库文件也安装上去。同时要注意,当选择安装目录时,不要在安装目录名中包含有空格。这是因为,当我们在后面对MySql的工具包进行编译生成驱动时,如果安装目录中包含有空格,会使得用qmake工具生成的扩展名为.pro的工程文件对头文件和库文件的引用不正确,从而不能正确的编译。进 入 到$QTDIRsrcpluginssqldriversmysql目 录中,在此目录中执行如下命令:(1)qmake INCLUDE-PATH+=include LIBS +=liboptlibmysql.lib 。所 需 的qmake命令一般安装在QTDI
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 说课课件搭配中的学问
- 红酒原料知识培训内容课件
- 2025品牌代理授权合同
- 2025《合同法》主要内容解析
- 建筑装饰工程合同书细节说明
- 标准化合同评审管理工具
- 企业行政采购需求与计划申报模板
- 个人数字生活服务平台运营合作协议
- 影视版权交易免责合同书
- 商务合作协议之电子产品联合推广计划
- 市热电厂清洁生产审核报告
- GB/T 239.2-2023金属材料线材第2部分:双向扭转试验方法
- 四年级大庆精神铁人精神教案
- GB/T 3505-2009产品几何技术规范(GPS)表面结构轮廓法术语、定义及表面结构参数
- 《廉洁从业》企业文化培训课件
- 《教育魅力-青年教师成长钥匙》
- 《生物多样性公约》及国际组织课件
- 绪论(遗传学)课件
- 滴定管使用课件
- 单片机应用技术项目教程C语言版ppt课件(完整版)
- 公司金融课件(完整版)
评论
0/150
提交评论