基于Qt的教务管理系统的实现本科论文.doc_第1页
基于Qt的教务管理系统的实现本科论文.doc_第2页
基于Qt的教务管理系统的实现本科论文.doc_第3页
基于Qt的教务管理系统的实现本科论文.doc_第4页
基于Qt的教务管理系统的实现本科论文.doc_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。本文档可以自由复制内容或自由编辑修改内容,供参考!作 者 签 名: 日 期: 指导教师签名: 日期: 使用授权说明本人完全了解 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部内容。本文档可以自由复制内容或自由编辑修改内容,供参考!作者签名: 日 期: 学位论文原创性声明本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到本声明的法律后果由本人承担。本文档可以自由复制内容或自由编辑修改内容,供参考!作者签名: 日期: 年 月 日学位论文版权使用授权书本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。本文档可以自由复制内容或自由编辑修改内容,供参考!涉密论文按学校规定处理。作者签名:日期: 年 月 日导师签名: 日期: 年 月 日注 意 事 项1.设计(论文)的内容包括:1)封面(按教务处制定的标准封面格式制作)2)原创性声明3)中文摘要(300字左右)、关键词4)外文摘要、关键词 5)目次页(附件不统一编入)6)论文主体部分:引言(或绪论)、正文、结论7)参考文献8)致谢9)附录(对论文支持必要时)2.论文字数要求:理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。本文档可以自由复制内容或自由编辑修改内容,供参考!3.附件包括:任务书、开题报告、外文译文、译文原文(复印件)。4.文字、图表要求:1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画本文档可以自由复制内容或自由编辑修改内容,供参考!3)毕业论文须用A4单面打印,论文50页以上的双面打印4)图表应绘制于无格子的页面上5)软件工程类课题应有程序清单,并提供电子文档5.装订顺序1)设计(论文)2)附件:按照任务书、开题报告、外文译文、译文原文(复印件)次序装订指导教师评阅书指导教师评价:一、撰写(设计)过程1、学生在论文(设计)过程中的治学态度、工作精神 优 良 中 及格 不及格2、学生掌握专业知识、技能的扎实程度 优 良 中 及格 不及格3、学生综合运用所学知识和专业技能分析和解决问题的能力 优 良 中 及格 不及格4、研究方法的科学性;技术线路的可行性;设计方案的合理性 优 良 中 及格 不及格5、完成毕业论文(设计)期间的出勤情况 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)指导教师: (签名) 单位: (盖章)年 月 日评阅教师评阅书评阅教师评价:一、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格二、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格建议成绩: 优 良 中 及格 不及格(在所选等级前的内画“”)评阅教师: (签名) 单位: (盖章)年 月 日教研室(或答辩小组)及教学系意见教研室(或答辩小组)评价:一、答辩过程1、毕业论文(设计)的基本要点和见解的叙述情况 优 良 中 及格 不及格2、对答辩问题的反应、理解、表达情况 优 良 中 及格 不及格3、学生答辩过程中的精神状态 优 良 中 及格 不及格二、论文(设计)质量1、论文(设计)的整体结构是否符合撰写规范? 优 良 中 及格 不及格2、是否完成指定的论文(设计)任务(包括装订及附件)? 优 良 中 及格 不及格三、论文(设计)水平1、论文(设计)的理论意义或对解决实际问题的指导意义 优 良 中 及格 不及格2、论文的观念是否有新意?设计是否有创意? 优 良 中 及格 不及格3、论文(设计说明书)所体现的整体水平 优 良 中 及格 不及格评定成绩: 优 良 中 及格 不及格教研室主任(或答辩小组组长): (签名)年 月 日教学系意见:系主任: (签名)年 月 日基于Qt的教务管理系统的实现摘 要近年来,由于计算机网络与计算机软件的不断快速迅猛发展,人们的生活习惯也由此造成了很大的变化,并且计算机信息管理系统也越来越多的参与到人们的日常生活与工作中来,对于我们学生来说,这种变化尤其巨大。信息的快速更新变化使得学校在学生信息的管理上投入的资源越来越多。所以,为了提高学校教务管理工作的效率,节约教务资源与经费,并且减少教务处理工作中的失误,有必要开发一套高效自动化的计算机信息管理系统。本文档可以自由复制内容或自由编辑修改内容,供参考!本论文中的系统使用的开发工具是Qt,采用SqLite数据库,是在使用比较广泛的windows下开发,利用其提供的面向对象编程的可视化工具来编制出界面友好,操作简单的程序。此教务管理系统由后台数据的处理部分与前台应用的交互部分组成,并且该系统可以根据用户不同的权限来提供不同的操作,主要包括学生的成绩管理、学生的学籍管理、学校的班级管理等。此教务管理系统的开发目的在于最大限度的节省人才资源的同时也可以提高管理效率,能够及时、准确、迅速的满足不同用户的不同需求。本文档可以自由复制内容或自由编辑修改内容,供参考!关键词:教务管理系统;Qt;SqLite;效率The implementation of educational administration system based on Qt本文档可以自由复制内容或自由编辑修改内容,供参考!AbstractIn recent years, due to the computer network and computer software continuously rapid development quick, peoples life habit also caused the great changes, and computer information management system is also more and more involved in the Peoples Daily life and work, for our students, this change is especially large.Update information changes make the school in the management of student information resources more and more.So, in order to improve the efficiency of school educational administration work, saving the educational resources and funds, and reduce the faults in our educational work, it is necessary to develop a set of efficient automatic computer information management system.本文档可以自由复制内容或自由编辑修改内容,供参考!System development tools used in this paper is the Qt, using SqLite database, is in the use of more extensive development under the Windows, using the object-oriented programming offered by the visual tools to develop the friendly interface, simple operation procedures.The educational administration management system by the background data processing part and the foreground application of the interaction of the parts, and the system can provide different according to different user permissions to operation, mainly includes the student performance management, student status management, school of class management, etc.The development of the educational administration system is aimed at the maximum save resources at the same time also can improve the efficiency of management, able to timely, accurately and quickly to meet the different needs of different users.本文档可以自由复制内容或自由编辑修改内容,供参考!KeyWords: Educational administration management system; Qt; Sqlite ; efficienc本文档可以自由复制内容或自由编辑修改内容,供参考!目 录摘 要i本文档可以自由复制内容或自由编辑修改内容,供参考!Abstractii本文档可以自由复制内容或自由编辑修改内容,供参考!1 系统概述1本文档可以自由复制内容或自由编辑修改内容,供参考!1.1 项目背景1本文档可以自由复制内容或自由编辑修改内容,供参考!1.2 系统开发的目的和意义1本文档可以自由复制内容或自由编辑修改内容,供参考!1.3 目前国内外的研究现状1本文档可以自由复制内容或自由编辑修改内容,供参考!1.3.1 国外研究现状1本文档可以自由复制内容或自由编辑修改内容,供参考!1.3.2 国内研究现状1本文档可以自由复制内容或自由编辑修改内容,供参考!2 关键技术3本文档可以自由复制内容或自由编辑修改内容,供参考!2.1 开发工具简介3本文档可以自由复制内容或自由编辑修改内容,供参考!2.1.1 Qt Creator集成开发环境3本文档可以自由复制内容或自由编辑修改内容,供参考!2.1.2 Sqlite 简介4本文档可以自由复制内容或自由编辑修改内容,供参考!2.2 开发语言简介4本文档可以自由复制内容或自由编辑修改内容,供参考!2.2.1 C+4本文档可以自由复制内容或自由编辑修改内容,供参考!2.2.2 SQL5本文档可以自由复制内容或自由编辑修改内容,供参考!3 系统总体设计的实现7本文档可以自由复制内容或自由编辑修改内容,供参考!3.1 系统模块结构的设计7本文档可以自由复制内容或自由编辑修改内容,供参考!3.1.1 软件模块结构的设计7本文档可以自由复制内容或自由编辑修改内容,供参考!3.1.2 软件模块总体处理流程7本文档可以自由复制内容或自由编辑修改内容,供参考!3.1.3 功能分配9本文档可以自由复制内容或自由编辑修改内容,供参考!3.2 系统功能总体设计10本文档可以自由复制内容或自由编辑修改内容,供参考!3.3 系统的总体界面设计介绍11本文档可以自由复制内容或自由编辑修改内容,供参考!3.4 数据库的设计12本文档可以自由复制内容或自由编辑修改内容,供参考!3.5 数据库表的实体图13本文档可以自由复制内容或自由编辑修改内容,供参考!3.6 系统数据出错处理设计15本文档可以自由复制内容或自由编辑修改内容,供参考!3.6.1 系统的出错信息以及处理方法15本文档可以自由复制内容或自由编辑修改内容,供参考!3.6.2 补救措施16本文档可以自由复制内容或自由编辑修改内容,供参考!3.6.3 安全保密设计16本文档可以自由复制内容或自由编辑修改内容,供参考!4 详细设计17本文档可以自由复制内容或自由编辑修改内容,供参考!4.1 系统的主程序17本文档可以自由复制内容或自由编辑修改内容,供参考!4.2 程序初始化界面的实现17本文档可以自由复制内容或自由编辑修改内容,供参考!4.3 数据库的操作20本文档可以自由复制内容或自由编辑修改内容,供参考!4.4 管理员模块的实现22本文档可以自由复制内容或自由编辑修改内容,供参考!4.5 学生模块的实现26本文档可以自由复制内容或自由编辑修改内容,供参考!4.6 教师模块的实现28本文档可以自由复制内容或自由编辑修改内容,供参考!4.7 数据库模块的实现29本文档可以自由复制内容或自由编辑修改内容,供参考!5 系统运行界面展示31本文档可以自由复制内容或自由编辑修改内容,供参考!5.1 登录界面展示31本文档可以自由复制内容或自由编辑修改内容,供参考!5.2 管理员操作初始化界面展示32本文档可以自由复制内容或自由编辑修改内容,供参考!5.3 教师操作界面展示33本文档可以自由复制内容或自由编辑修改内容,供参考!5.4 学生界面展示34本文档可以自由复制内容或自由编辑修改内容,供参考!5.5 错误处理界面展示35本文档可以自由复制内容或自由编辑修改内容,供参考!6 系统测试36本文档可以自由复制内容或自由编辑修改内容,供参考!6.1 测试概述36本文档可以自由复制内容或自由编辑修改内容,供参考!6.2 测试过程37本文档可以自由复制内容或自由编辑修改内容,供参考!6.3 测试结果38本文档可以自由复制内容或自由编辑修改内容,供参考!总 结39本文档可以自由复制内容或自由编辑修改内容,供参考!参考文献40本文档可以自由复制内容或自由编辑修改内容,供参考!致 谢41本文档可以自由复制内容或自由编辑修改内容,供参考!外文原文42本文档可以自由复制内容或自由编辑修改内容,供参考!外文翻译54本文档可以自由复制内容或自由编辑修改内容,供参考!1 系统概述1.1 项目背景信息系统的目的是让人可以高效的进行工作,包括对信息的一系列操作,如添加信息、修改信息、删除信息、查询信息等;人们将计算机硬件与软件相结合来开发出信息平台,在这个平台中实现信息系统的功能与目的。现如今,教务发展越来越快、越来越好,由此引发的高校教育资源也越来越紧张,因此对于高校的教学管理部门来说一套好的教务管理系统不仅可以解决日渐增大的教学管理量,而且可以降低教学管理的复杂度与难度。此外,对于教育高校来说,教育管理的方式与手段也将从另一个层面体现学校的价值与教育能力,这直接影响到学校的形象。本文档可以自由复制内容或自由编辑修改内容,供参考!在信息高速发展的今天各大高校有必要建设一个完善的教务管理系统,这样高校可以更加合理的利用各学院的众多教学实验资源、更加合理地处理各种教学实验信息、更加合理优化安排各种教学资源,让各种资源利用都达到最大化。这些日益突出的关键问题俨然已经需要各高校教学管理部门花费一定的人力、物力去解决了。本文档可以自由复制内容或自由编辑修改内容,供参考!借助于计算机信息系统的强大功能,高校可以解决教务管理的一系列繁琐问题,计算机有其细致性、准确度高等特点,这些都是教务管理工作中必须的,所以信息化在日常工作中要不断的体现;现阶段,各个高校也开始对教务系统加大投资,加快校园的信息化步伐,解放人在教务管理中的繁琐工作,这样的改革对教育来说是具有重要意义的。本文档可以自由复制内容或自由编辑修改内容,供参考!1.2 系统开发的目的和意义高校的教务管理方式在现如今是必须要改革的,而在信息化的浪潮中学校的教务管理系统的修改是必然的趋势。高校教务管理工作作为高校教育管理的一个重要环节,它是高校管理工作的核心,也是高校管理的基础。本文档可以自由复制内容或自由编辑修改内容,供参考!一个学校的教务管理工作的效率高低直接影响到学校教务工作的是否可以快速的处理,也间接的影响到了学校对于人才的培养质量。而且学生对教务管理系统也提出了更高的要求,信息管理系统不再仅仅是看通知的地方,而是学生与学校进行沟通的途径,学生可以将一些信息反馈给学校,学校也可以通过这个平台了解学生的动态,这样的系统对于学校的教育是有促进作用的。高校要适应信息化的发展,积极的开展教务系统的调查,满足学生对信息系统的需求,满足老师对学生的教育需要,这样可以快速的将教育资源最大化,避免浪费大量的教育资源。本文档可以自由复制内容或自由编辑修改内容,供参考!1.3 目前国内外的研究现状1.3.1 国外研究现状在信息化浪潮席卷全球、日益渗透到社会生活各个领域的今天,数字化校园建设如火如荼。特别是,欧美、日本等发达国家高度重视信息化建设,早在 20 世纪 90年代初几乎所有的高校便建成了比较完善的校园网,各个职能部门都基本实现了网络化、信息化管理。目前国外在教务管理软件的设计和开发方面处于领先地位,不论是在开发的方法上还是在软件的使用率上都很成功。本文档可以自由复制内容或自由编辑修改内容,供参考!1.3.2 国内研究现状我国的高等教育在近几年发展很快,高校在管理工作中需要处理的任务越来越多,这样不仅工作难度加大了而且落后的教育直接导致教学水平的提高困难。这些问题的出现让人们开始考虑换种方式来管理高校的教务工作,各高校纷纷启动并加快了数字化校园建设的步伐,相继建成了校园网,为管理软件的应用提供了硬件平台。任何新生事物的发展都离不开启蒙摸索、初见成效与加快发展的步骤,所以高校教育的信息化也不例外。通过不断的摸索,不断的尝试,我国的高校教务管理工作逐渐开始不断步入正规。本文档可以自由复制内容或自由编辑修改内容,供参考!现在,我国的各高校的教务管理工作还在不断的集成发展,许多高校也建立了各具特色的管理系统,这些改革都给高校的管理带来了一定的好处与方便。譬如人力资源的解放以及工作中的准确度的提高。本文档可以自由复制内容或自由编辑修改内容,供参考!但是,事物的发展都具有双面性,教务管理信息系统的快速发展还存在一定的缺陷,如功能的不全面,不能将所有的教务管理工作在一个系统中体现,而且功能的效率不高,有时候还存在一定的缺陷,对于一些特殊的问题没有提供很好的解决方案等等的一些问题,这些问题都需要在以后的不断发展中做出改进。本文档可以自由复制内容或自由编辑修改内容,供参考! 2 关键技术2.1 开发工具简介2.1.1 Qt Creator集成开发环境Qt Creator是跨平台的 Qt IDE,Qt Creator 是 Qt 被 Nokia 收购后推出的一款新的轻量级集成开发环境(IDE)。此 IDE 能够跨平台运行,支持的系统包括 Linux(32 位及 64 位)、Mac OS X 以及 Windows。根据官方描述,Qt Creator 的设计目标是使开发人员能够利用Qt 这个应用程序框架更加快速及轻易的完成开发任务。QtCreator主要是为了帮助新Qt用户更快速入门并运行项目,还可提高有经验的Qt开发人员的工作效率。本文档可以自由复制内容或自由编辑修改内容,供参考!使用强大的 C+ 代码编辑器可快速编写代码。语法标识和代码完成功能输入时进行静态代码检验以及提示样式上下文相关的帮助代码折叠括号匹配和括号选择模式高级编辑功能。本文档可以自由复制内容或自由编辑修改内容,供参考!采用C+语言设计,编码规范清晰,关键算法或处理须加注释说明。Qt Creator是一款跨平台的集成开发环境,特别针对Qt开发者,是QtSDK组成的一部分,可运行于Windows, Linux/X11及Mac OS X等桌面操作系统,允许开发者为多桌面环境及移动设备平台创建应用程序。它包括一个可视化调试工具和集成的 GUI 版面和外形设计师。这个编辑器的功能包括语法高亮度显示和自动完成。Qt Creator 在 Linux 上,使用GCC的C+ 编译器。在 Windows,默认安装它可以使用MinGW或MSVC。从源代码编译时,也可以使用cdb。QT Creator是一个跨平台的 C+ GUI 应用构架,它提供了丰富的窗口控件,具有面向对象、易于扩展、组件编程等特点,最为引人注目的是目前在 Linux 上最为流行的 KDE 的桌面环境,它就是建立在 QT 库的基础之上。QT 支持多种平台,随着 KDE 的快速发展普及,QT 很有可能成为 Linux 系统窗口平台上进行软件开发的 GUI 首选工具。本文档可以自由复制内容或自由编辑修改内容,供参考!信号和槽是 QT 的核心机制,要学会 QT 编程那么就必须对信号和槽机制有所了解。信号和槽机制是一种接口,应用在对象之间的通信,是 QT 的核心特性,同时也是 QT 区别于其它种类工具包的重要地方。信号和槽机制是 QT 自行定义的一种通信机制,它独立于标准的 C/C+ 语言,所以必须要正确的处理好信号和槽机制,这里借助moc(Meta Object Compiler)工具,该moc工具是一个 C+的预处理工具,为事件处理自动生成所需要的附加处理代码。本文档可以自由复制内容或自由编辑修改内容,供参考!在我们所熟知的多种 GUI 工具包中,窗口小控件 (widget) 都有一个回调函数用来响应它们能触发的动作,这个回调函数通常是一个指针,它指向某个函数。但是,在 QT 中信号和槽机制取代了这些函数指针,使得人们在编写这些通信程序时更为简洁明了。 信号和槽机制能使用任意数量、任意类型的参数。在这里我设计的主窗口命名为:mainwindow。本文档可以自由复制内容或自由编辑修改内容,供参考!所有从 QObject 或其子类 ( 例如 Qwidget) 派生的类都可以包含信号和槽机制。当对象改变状态时,信号就由该对象发射出去,这就是对象所要做的事情,但它不知道另一端是谁在接收这个信号,这就是所谓的信息封装,它保证对象被当作一个真正的组件来使用。槽被用来接收信号,它们是对象成员函数,称为槽函数。但槽函数并不知道是否有信号和自己相连。而且,对象也不了解具体的通信机制。本文档可以自由复制内容或自由编辑修改内容,供参考!在编程时可以将多个信号与单个槽函数进行连接,也可以将单个信号与多个槽函数进行连接,甚至也可以将一个信号和另外一个信号相连,这时无论第一个信号在何时发射,那么都将立刻发射第二个信号。总之,信号与槽机制构成了一个很强大的控件编程机制。本文档可以自由复制内容或自由编辑修改内容,供参考!2.1.2 Sqlite 简介SQLite,是一款轻型的数据库,是关系型数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持Windows/Linux/Unix等等主流的操作系统,同时能够跟很多程序语言相结合,还有ODBC接口,同样比起Mysql、PostgreSQL这两款开源世界著名的数据库管理系统来讲,它的处理速度比他们都快。本文档可以自由复制内容或自由编辑修改内容,供参考!SQLite是遵守ACID2的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。本文档可以自由复制内容或自由编辑修改内容,供参考!不像常见的客户-服务器范例,SQLite引擎不是个程序与之通信的独立进程,而是连接到程序中成为它的一个主要部分。所以主要的通信协议是在编程语言内的直接API调用。这在消耗总量、延迟时间和整体简单性上有积极的作用。整个数据库(定义、表、索引和数据本身)都在宿主主机上存储在一个单一的文件中。它的简单的设计是通过在开始一个事务的时候锁定整个数据文件而完成的。本文档可以自由复制内容或自由编辑修改内容,供参考!同时它还支持事务处理功能等等。也有人说它象Microsoft的Access,有时候真的觉得有点象,但是事实上它们区别很大。比如SQLite 支持跨平台,操作简单,能够使用很多语言直接创建数据库,而不象Access一样需要Office的支持。如果你是个很小型的应用,或者你想做嵌入式开发,没有合适的数据库系统,那么你可以考虑使用SQLite。到2013年10月17日最新版本是 3.8.1 。它的官方网站是:或者http:/www.sqlite .com .cn,能在上面获得源代码和文档。同时因为数据库结构简单,系统源代码也不是很多,也适合想研究数据库系统开发的专业人士。本文档可以自由复制内容或自由编辑修改内容,供参考!2.2 开发语言简介2.2.1 C+C+语言是一种使用非常广泛的计算机编程语言。C+是一种基于静态数据类型检查的、支持多重编程范式的程序设计语言。C+语言支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。C+语言的设计目标,就是要让C+既具有适合于系统程序设计的C语言所具有的可适应性和高效性,又能在其程序组织结构方面具有像Simula那样的语言设施(Simula所支持的这种程序组织结构通常被称为面向对象程序设计风格)。在设计的时候,还做了很大的努力,使得引借自Simula的高层次的程序设计技术能够应用于系统程序设计之中。这即是说,C+所提供的抽象机制能够被应用于那些对效率和可适应性具有极高要求的程序设计任务之中。本文档可以自由复制内容或自由编辑修改内容,供参考!采用C+面向对象语言,利用抽象和封装等机制,借助类、对象、继承、传递等技术进行构造的软件开发方法,它的出发点和目标就是使人们在想一个问题的过程和方法时与分析、设计和实现系统的过程和方法尽最大可能的一致,即描述问题的认知空间以及解决问题的方法空间要在结构上尽可能的一致,这样面向对象方法自然地模拟了人类认知世界的方式,所以这是一个很好的思维认知的方法,也是特别好的一种软件开发方法。本文档可以自由复制内容或自由编辑修改内容,供参考!1998的C+标准分为两个部分:核心语言和C+标准程序库;后者包含了大部分标准模板库和C标准程序库的稍加修改版本。存在许多不属于标准部分的C+程序库,且使用外部链接,程序库甚至可以用C撰写。本文档可以自由复制内容或自由编辑修改内容,供参考!C+标准程序库充分吸收了C标准程序库,并佐以少许的修改,使其与C+良好的运作。另一个大型的程序库部分,是以标准模板库(STL)为基础,STL于1994年2月正式成为ANSI/ISO C+。它提供了实用的工具,如容器(如:矢量和链表),迭代器(广义指针)提供容器以类似数组的访问方式,以及算法进行搜索和排序的运算。此外还提供了(multi)map(关系数组)和(multi)set,它们都使用兼容的界面。因此,以下成为可能,使用模板撰写泛型算法,它可以和任何容器或在任何以迭代器定义的串行上运作。如同C,使用#include指令包含标准表头,即可访问程序库里的功能。C+提供69个标准表头,其中19个不再赞成使用。本文档可以自由复制内容或自由编辑修改内容,供参考!使用标准库(例如:使用std:vector或std:string来取代C风格的数组)有助于导向更安全和更灵活的软件。本文档可以自由复制内容或自由编辑修改内容,供参考!STL在纳入C+标准以前,是来自HP和后来的SGI的第三方程式库,标准中并未称之为“STL”,它只是标准库中的一部分,但仍有许多人使用这个名称,以别于其它的标准库(输入输出流、国际化、诊断、C程序库子集,等等)。本文档可以自由复制内容或自由编辑修改内容,供参考!和C语言相比,C+引入了更多的特性,包括:陈述性声明,类似函数的强制转型,new/delete操作符,布林类型,参考类型,默认参数,函数重载,命名空间,类型(包括所有和类型相关的特性,如继承、成员函数、虚函数、抽象类型和构造函数),操作符重载,模板,:操作符,异常处理和运行时期识别。本文档可以自由复制内容或自由编辑修改内容,供参考!和普遍认为的相反,C+不是第一个正式引入const关键字的语言。80年代早期,Bjarne Stroustrup和Dennis Retchie讨论之后提供了在C语言中readonly/writeonly的实现机制,并在带类型的C中取得了一定经验。关键字const正式引入C语言是在ANSI C89。这早于第一个C+国际标准近十年,但此时const已被C+实现普遍采用。本文档可以自由复制内容或自由编辑修改内容,供参考!C+在某些案例中(见下“与C不兼容之处”),进行比C还要多的类型检查。以“/”起始作为注解起源自C的前身BCPL,而后被重新引入到C+。本文档可以自由复制内容或自由编辑修改内容,供参考!C+的一些特性,C不久之后也采用了,包括在for循环的括号中声明,C+风格的注解(使用/符号,和inline,虽然C99定义的inline关键字与C+的定义不兼容。不过,C99也引入了不存在于C+的特性,如:可变参数宏,和以数组作为参数的较佳处理;某些C+编译器可能实现若干特性,以作为扩展,但其余部分并不符合现存的C+特性)本文档可以自由复制内容或自由编辑修改内容,供参考!一个常见的混淆其实只是一个微妙的术语问题:由于它的演化来自C,在C+中的术语对象和C语言一样是意味着存储器区域,而不是类的实例,在其它绝大多数的面向对象语言也是如此。举例来说,在C和C+中,语句int i;定义一个int类型的对象,这就是变量的值i将在赋值时,所存入的存储器区域。本文档可以自由复制内容或自由编辑修改内容,供参考!C+主要有三个编译阶段:预处理、转译成目标代码和链接(最后的两个阶段一般才视为真正的“编译”)。在第一阶段,预处理,会将预处理器指令替换成源代码,然后送到下一个编译阶段。预处理指令的运作方式是根据用户定义的规则,简单的把记号字符串行置换成其它的记号字符串行。它们进行宏置换、含入其它的文件(由底层至高级的特性,例如包含模块包单元组件)、条件式编译和条件式含入。本文档可以自由复制内容或自由编辑修改内容,供参考!2.2.2 SQLSQL全称是“结构化查询语言(Structured Query Language)”。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言得到了广泛的应用。目前,SQL语言已被确定为关系数据库系统的国际标准,被绝大多数商品化关系数据库系统采用,如Oracle 、Sybase、DB2、Informix、SQL Server这些数据库管理系统都支持SQL语言作为查询语言。 结构化查询语言SQL是一种介于关系代数与关系演算之间的语言,其功能包括查询、操纵、定义和控制四个方面,是一个通用的功能极强的关系数据库标准语言。在SQL语言中不需要告诉SQL如何访问数据库,只要告诉SQL需要数据库做什么。本文档可以自由复制内容或自由编辑修改内容,供参考!结构化查询语言包含6个部分:一:数据查询语言(DQL:Data Query Language)其语句,也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其他类型的SQL语句一起使用。本文档可以自由复制内容或自由编辑修改内容,供参考!二:数据操作语言(DML:Data Manipulation Language)其语句包括动词INSERT,UPDATE和DELETE。它们分别用于添加,修改和删除表中的行。也称为动作查询语言。本文档可以自由复制内容或自由编辑修改内容,供参考!三:事务处理语言(TPL)它的语句能确保被DML语句影响的表的所有行及时得以更新。TPL语句包括BEGIN TRANSACTION,COMMIT和ROLLBACK。本文档可以自由复制内容或自由编辑修改内容,供参考!四:数据控制语言(DCL)它的语句通过GRANT或REVOKE获得许可,确定单个用户和用户组对数据库对象的访问。某些RDBMS可用GRANT或REVOKE控制对表单个列的访问。本文档可以自由复制内容或自由编辑修改内容,供参考!五:数据定义语言(DDL)其语句包括动词CREATE和DROP。在数据库中创建新表或删除表(CREAT TABLE 或 DROP TABLE);为表加入索引等。DDL包括许多与人数据库目录中获得数据有关的保留字。它也是动作查询的一部分。本文档可以自由复制内容或自由编辑修改内容,供参考!六:指针控制语言(CCL)它的语句,像DECLARE CURSOR,FETCH INTO和UPDATE WHERE CURRENT用于对一个或多个表单独行的操作。本文档可以自由复制内容或自由编辑修改内容,供参考!3 系统总体设计的实现3.1 系统模块结构的设计3.1.1 软件模块结构的设计根据系统分析的结果,按照结构化的系统设计方法,教学事务管理系统从功能由课程管理子系统、学籍管理子系统、成绩管理子系统组成。各子系统的简要功能说明如表3-1。本文档可以自由复制内容或自由编辑修改内容,供参考!表3-1 各子系统的简要功能概述模块名功能简介班级管理维护学校的每个班级的基本信息,包括班级名、班级号、专业、辅导员等相关信息。学籍管理完成对学生的学籍管理,包括学籍录入、学籍修改、学籍查询等相关功能。成绩管理管理每个学生所修课程的成绩,包括成绩录入、成绩修改、成绩查询、成绩修改等相关功能。教师信息管理每个老师的基本信息,包括老师基本信息录入、修改、查询等相关功能。系统管理功能包括系统的一些基本功能,如修改密码、查询用户基本信息、重新登陆等。3.1.2 软件模块总体处理流程根据各个子系统的功能划分,画出本软件的顶层数据流图,如图3-1所示。用户在登陆界面登陆中输入所需的登陆信息后需要在程序的后台进行用户身份的验证,当这些验证都通过后才可以由用户去操作相应的功能,主要有学生管理、教师管理、成绩管理、班级管理和系统管理。在这些管理模块中需要设计到数据库的交互的操作,需要进行数据的操作后将输出结果更新数据库文件,如果需要的话,操作结果也会在用户操作界面中进行展示。本文档可以自由复制内容或自由编辑修改内容,供参考!图3-1 顶层数据流程本软件的二层数据流图如图3-2所示,在这个数据流图中详细的描述了程序中数据的处理流程,从得到数据到数据的处理以及数据的输出都做了详细的描述。本文档可以自由复制内容或自由编辑修改内容,供参考!图3-2 二层数据流程图3.1.3 功能分配 本系统中各功能需求与程序模块(组件)之间的关系如下表3-2所示。表3-2 功能需求与程序模块关系表功能需求 学籍管理教师管理成绩管理课程管理系统管理教师信息查询教师添加教师修改教师删除学生信息查询学生添加学生修改学生删除成绩录入成绩修改成绩删除成绩信息查询班级信息查询班级录入班级删除班级修改用户信息修改密码重新登陆如表3-2所示,使用表的形式将各个管理模块的功能进行了描述,通过这个表可以快速直观的了解各个管理模块的功能,不同的模块对应着不同的功能,有些功能模块在其它的管理模块中可以借用,只需要将这个模块的实现函数进行封装,并且向外部模块提供一个接口,外部模块通过这个接口来调用这个功能来实现另外的功能。本文档可以自由复制内容或自由编辑修改内容,供参考!3.2 系统功能总体设计根据对系统的分析,将系统的功能机构图再次细分,得到如下结构,如图3-3所示。图3-3 系统的总体功能图在这个教务管理系统中,主要分为了四大模块,分别是学生管理模块、教师管理模块、管理员管理模块以及通用模块。本文档可以自由复制内容或自由编辑修改内容,供参考!在通用模块中是一些所有用户都有的操作,在后面代码的具体实现中为了布局的美观这个通用模块中的功能会分散开来安排;其余的三个模块都是对信息的一些处理,但他们最大的区别在于有严格的操作权限控制,不同的用户不能对信息的处理越级,这样会有很大的安全隐患。本文档可以自由复制内容或自由编辑修改内容,供参考!学生的功能主要集中在查看,查看成绩、查看学籍、查看班级等一些普通的操作,教师的主要任务是对学生成绩的操作,这类用户对学生的成绩有最大的权限。管理员用户拥有学生与老师的全部权限,但管理员用户最大的功能是管

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论