基于qt的教务管理系统的设计_第1页
基于qt的教务管理系统的设计_第2页
基于qt的教务管理系统的设计_第3页
基于qt的教务管理系统的设计_第4页
基于qt的教务管理系统的设计_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

基于QT的教务管理系统的设计摘要随着学校规模的不断扩大,学生的流动变迁导致了学校在管理学生信息上的复杂程度上不断的增加,在学校,教务管理依然变成了一项繁琐且耗费资源的事;并且信息技术的不断发展,并且得到了越来越广泛的应用,教务管理系统的实施在技术上已趋于成熟。而且作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理无可比拟的优点,如检索迅速,查询方便,效率高,可靠性好等一系列的好处,这些好处都可以极大的提高学校教务管理的效率。本文采用“自上而下的总体规划,自下而上的应用开发”的设计策略,设计了一套行之有效的教务管理系统的方案。文章介绍了该教务管理系统的需求分析部分,系统数据库设计部分以及系统功能设计部分等。此外,本系统本着以人为本的方针,界面友好,操作简单,比较实用。关键词教务管理系统;学生管理;计算机管理THEDESIGNOFTHEEDUCATIONADMINISTRATIONSYSTEMBASEDONQTABSTRACTWITHTHECONTINUOUSEXPANSIONOFTHESCHOOL,STUDENTSFLOWCHANGELEDTOTHESCHOOLONINFORMATIONMANAGEMENTSTUDENTSOFTHECOMPLEXDEGREEOFINCREASING,INSCHOOL,EDUCATIONALADMINISTRATIONSTILLHASBECOMEACUMBERSOMEANDEXPENSIVETHINGWITHTHECONTINUOUSDEVELOPMENTOFINFORMATIONTECHNOLOGY,ANDHASBEENMOREANDMOREWIDELYUSED,THEIMPLEMENTATIONOFEDUCATIONALADMINISTRATIONSYSTEMHASBEENMATUREINTECHNOLOGYALSOASAPARTOFCOMPUTERAPPLICATION,USINGCOMPUTERTOSCHOOLOFALLKINDSOFINFORMATIONMANAGEMENT,WITHAMANUALMANAGEMENTINCOMPARABLEADVANTAGES,SUCHASSEARCHINGQUICKLY,QUERYCONVENIENT,HIGHEFFICIENCY,GOODRELIABILITYANDSOONASERIESOFADVANTAGES,THESEADVANTAGESCANGREATLYIMPROVETHEEFFICIENCYOFSCHOOLEDUCATIONALADMINISTRATIONTHEGENERALLAYOUTOFTHISARTICLEUSESTHE“TOPDOWNANDBOTTOMUPAPPLICATIONDEVELOPMENT“OFTHEDESIGNSTRATEGY,DESIGNASETOFEFFECTIVETEACHINGMANAGEMENTSYSTEMSOLUTIONSTHISPAPERINTRODUCESTHEREQUIREMENTSANALYSISPARTOFTHEEDUCATIONALADMINISTRATIONSYSTEM,THESYSTEMDATABASEDESIGNANDSYSTEMFUNCTIONDESIGN,ETCINADDITION,THISSYSTEMISINLINEWITHTHEPRINCIPLEOFPEOPLEORIENTED,FRIENDLYINTERFACE,SIMPLEOPERATION,MOREPRACTICALKEYWORDSEDUCATIONALMANAGEMENTSYSTEMSTUDENTMANAGEMENTCOMPUTERMANAGEMENT目录摘要IABSTRACTII1系统概述111教务管理系统开发的背景112教务系统开发的目的和意义113目前国内外的研究现状214国外研究现状22关键技术321QTCREATOR322UML43可行性分析及总体设计531系统业务价值532可行性分析533总体设计的基本原则634系统需求分析635系统总体层次图735系统功能描述7331学生功能模块7332教师功能模块7333管理员功能模块8334通用模块834数据库设计原则835逻辑结构设计837项目生存期模型选择1138本系统有待解决地方134系统详细设计1441开发环境及过程简介1442主要功能模块设计1543系统的整体流程图16431用户登录模块设计17432注册用户模块设计17433管理员管理模块19434学生管理模块20435教师管理模块2144数据库的实现22441数据库的界面操作22442数据库的SQL操作2345数据备份及恢复策略2446系统界面布局的实现说明255系统设计界面展示2951登录界面展示2952用户信息以及密码修改界面展示2953信息修改界面展示3054信息添加界面展示3155信息查看界面展示3156信息删除界面展示3257管理用户界面展示3258奖罚管理界面展示3359系统信息界面展示336系统测试3461系统的测试范围3462测试任务34621测试目标34622测试质量3463测试综述34631单元测试35632功能测试35总结36参考文献37致谢38外文原文39外文翻译481系统概述11教务管理系统开发的背景教务管理系统是一个以人为主导,利用计算机硬件、软件、网络通信设备以及其他办公设备,进行信息的收集、传输、加工、存储、更新和维护,教务管理系统提供给管理者需要的信息来实现对组织机构的有效管理,随着社会的发展,人们对各种信息的需求量越来越大。同时对信息的管理难度也在不断在增加,仅仅依靠当初的纸面记录信息和管理已经不能满足当今大量信息的管理了,因此,利用计算机硬件,软件和网络设备来管理信息成为当今信息管理的主要且可行的方式。这种方式能大大提高信息的管理力度,信息的冗余度小,大大减小了信息管理者的工作量,同时对信息的安全有了保障。但是这些似乎满足不了人们的需求,因为所开发的这些软件和系统的性能还远远不够,如性能,比如并发性,如果一个系统同时有很多人使用的话,会造成阻塞甚至崩溃,人们不得不一再登录或者等待,有时学生要花费很多时间才能查询到自己需要的信息或者是完成自己想做的事。教务管理系统对于高校的管理来说是至关重要的,学生信息是高等学校非常重要的一项数据资源,是一个教育单位不可缺少一部分。特别是近几年来,国家政策的调整,我国高等院校大规模的扩招,给高等院校的教学管理、学生管理、后勤管理等方面都带来不少的冲击。其包含的数据量大,涉及的人员面广,而且需要及时更新,故较为复杂,难以单纯地依靠人工管理,而且传统的人工管理方式既不易于规范化,管理效率也不高,目前我国各类高等院校中还有相当一部分学生档案管理还停留在纸介质的基础上,尤其是中、小学对学生档案的管理更是落后,这样的管理机制已经不能适应时代发展的要求,其管理方法将浪费许多人力和物力。作为计算机应用的一部分,使用计算机对学生档案进行管理,有着手工管理所无法比拟的优点,如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生档案管理的效率,也是学校向科学化、正规化管理发展的必要条件,更是各个高等院校与世界接轨的重要条件。我作为学习计算机专业的一员,对系统的需求作了较深入的认识,同时也掌握了一定的系统开发理论,借这次毕业设计的契机,一方面利用自己的所学小刀试牛,另一方面通过这次实践必将提升自身对软件工程、数据库、程序设计等理论的认识,积累系统开发的经验。作为毕业设计,由于时间比较紧张,加之本人没有任何系统开发的经验,它肯定存在许许多多不足的地方,但对它的改善和功能的完备并不会随着毕业设计的结束而终止。本人将在原来的基础上,着眼未来,追踪计算机新技术发展,并应用到系统持续开发中。12教务系统开发的目的和意义高校教务管理信息化是提高办公效率的重要途径。随着我国高等教育的快速发展,高校办学规模的不断扩大,在校学生人数的不断增多,办学层次出现了多元化,由一地办学发展到多地多点办学,同时进一步推行全面学分制。这些变化使教务管理部门的管理任务越来越繁重,不仅增加了工作量,更增加了工作难度和复杂度,按传统的管理模式,只靠有限的工作人员已无法进行高效管理。高校教务管理的信息化已成为教学管理现代化的迫切要求,因为它能够将教务工作人员从繁琐的手工劳动中解放出来,在大量的数据面前进行查询、统计同时进行管理,减轻了教务工作人员的劳动强度,极大了提高了工作效率。高校教务管理信息化是高校教务管理工作规范化的有力保障。高校的教务管理是一项庞大的系统工程,工作事务杂、环节多、工作量大,没有科学的手段和严格的规章制度是无法保障教学秩序的。教学工作规范化管理是比常规教学管理更高层次上的管理,几乎涉及到教与学的所有方面,其基本信息更渗透到教学各个环节且贯彻始终,这就要求必须按一定规范流程进行科学的管理,而信息化有助于这一管理过程成功实现,通过完善管理信息化制度,可以规范管理,保证教学效果,提高管理效率,有效地提高教务管理工作的规范化和现代化水平,使教务管理工作走上良性循环的轨道。13目前国内外的研究现状教务管理系统对高校教务管理信息化建设有重要意义,在学生的教学管理、成绩管理、学籍管理和其它培养过程中,实现了培养全过程的网络化和信息化,为高校教务管理的信息化、智能化奠定了坚实的基础。然而随着教育管理系统的进一步的应用和教务管理信息化工作的逐步深入,也逐渐暴露出了一些问题,并且已经影响到教务管理信息化工作的健康发展,最尖锐的问题就是教育管理信息化标准化的问题。其主要的表现有以下几点原有的管理信息标准不完备,缺少一套完整的教育管理信息标准。由于缺乏一套完整的教育管理信息标准,目前许多教育管理部门和学校均根据各自工作需要采用相应的管理信息,这些信息不仅不规范、不完整,且互不兼容,难以进行信息交流。随着全国性的教育管理信息网络的逐步建立,这些信息的价值和作将难以得到体现和发挥,有的甚至会成为信息垃圾。教务管理系统灵活性差,缺少可扩充性和开放性。随着教学改革的不断深入,专业培养方案的不断调整,对教务管理系统的灵活性要求很高,目前的教务管理系统,多数不具有扩充性,对高校教务管理工作的新要求,难以进行及时调整,因此,造成了一些管理系统不能长期稳定的应用。教务管理系统的平台很多,水平参差不齐。目前我国教务管理系统开发者很多,有专业的软件公司人员,也有在高校教务工作的管理者;开发的应用软件类型也多种多样,有单机版的教务管理系统,也有基于INTERNET的教务管理系统。教务平台的水平高低不齐,但是能真正适合高校教务管理实际情况,并且智能化的可扩充性的教务系统并不多见。缺乏一套完整的网上信息交换规范。通过网络实现不同教育部门之间的信息交流需要一套完整的网上信息交换规范,由于缺乏这样的一个规范,已开始在一定程度上影响了教育部门间的网上信息交流。缺乏对教育管理信息化工作的指导和管理。管理信息化工作是一项全新的事业,发展速度很快,对技术的依赖程度高。14国外研究现状在信息化浪潮席卷全球、日益渗透到社会生活各个领域的今天,数字化校园建设如火如荼。特别是,欧美、日本等发达国家高度重视信息化建设,早在20世纪90年代初几乎所有的高校便建成了比较完善的校园网,各个职能部门都基本实现了网络化、信息化管理。目前国外在教务管理软件的设计和开发方面处于领先地位,不论是在开发的方法上还是在软件的使用率上都很成功。2关键技术21QTCREATORQTCREATOR是跨平台的QTIDE,QTCREATOR是QT被NOKIA收购后推出的一款新的轻量级集成开发环境(IDE)。此IDE能够跨平台运行,支持的系统包括LINUX(32位及64位)、MACOSX以及WINDOWS。根据官方描述,QTCREATOR的设计目标是使开发人员能够利用QT这个应用程序框架更加快速及轻易的完成开发任务。QTCREATOR主要是为了帮助新QT用户更快速入门并运行项目,还可提高有经验的QT开发人员的工作效率。使用强大的C代码编辑器可快速编写代码。语法标识和代码完成功能输入时进行静态代码检验以及提示样式上下文相关的帮助代码折叠括号匹配和括号选择模式高级编辑功能。采用C语言设计,编码规范清晰,关键算法或处理须加注释说明。QTCREATOR是一款跨平台的集成开发环境,特别针对QT开发者,是QTSDK组成的一部分,可运行于WINDOWS,LINUX/X11及MACOSX等桌面操作系统,允许开发者为多桌面环境及移动设备平台创建应用程序。它包括一个可视化调试工具和集成的GUI版面和外形设计师。这个编辑器的功能包括语法高亮度显示和自动完成。QTCREATOR在LINUX上,使用GCC的C编译器。在WINDOWS,默认安装它可以使用MINGW或MSVC。从源代码编译时,也可以使用CDB。QTCREATOR是一个跨平台的CGUI应用构架,它提供了丰富的窗口控件,具有面向对象、易于扩展、组件编程等特点,最为引人注目的是目前在LINUX上最为流行的KDE的桌面环境,它就是建立在QT库的基础之上。QT支持多种平台,随着KDE的快速发展普及,QT很有可能成为LINUX系统窗口平台上进行软件开发的GUI首选工具。信号和槽是QT的核心机制,要学会QT编程那么就必须对信号和槽机制有所了解。信号和槽机制是一种接口,应用在对象之间的通信,是QT的核心特性,同时也是QT区别于其它种类工具包的重要地方。信号和槽机制是QT自行定义的一种通信机制,它独立于标准的C/C语言,所以必须要正确的处理好信号和槽机制,这里借助MOC(METAOBJECTCOMPILER)工具,该MOC工具是一个C的预处理工具,为事件处理自动生成所需要的附加处理代码。在我们所熟知的多种GUI工具包中,窗口小控件WIDGET都有一个回调函数用来响应它们能触发的动作,这个回调函数通常是一个指针,它指向某个函数。但是,在QT中信号和槽机制取代了这些函数指针,使得人们在编写这些通信程序时更为简洁明了。信号和槽机制能使用任意数量、任意类型的参数。在这里我设计的主窗口命名为MAINWINDOW。所有从QOBJECT或其子类例如QWIDGET派生的类都可以包含信号和槽机制。当对象改变状态时,信号就由该对象发射出去,这就是对象所要做的事情,但它不知道另一端是谁在接收这个信号,这就是所谓的信息封装,它保证对象被当作一个真正的组件来使用。槽被用来接收信号,它们是对象成员函数,称为槽函数。但槽函数并不知道是否有信号和自己相连。而且,对象也不了解具体的通信机制。在编程时可以将多个信号与单个槽函数进行连接,也可以将单个信号与多个槽函数进行连接,甚至也可以将一个信号和另外一个信号相连,这时无论第一个信号在何时发射,那么都将立刻发射第二个信号。总之,信号与槽机制构成了一个很强大的控件编程机制。22UML统一建模语言(UML,英语UNIFIEDMODELINGLANGUAGE)是非专利的第三代建模和规约语言。UML是一种开放的方法,用于说明、可视化、构建和编写一个正在开发的、面向对象的、软件密集系统的制品的开放方法。UML展现了一系列最佳工程实践,这些最佳实践在对大规模,复杂系统进行建模方面,特别是在软件架构层次已经被验证有效。UML集成了BOOCH,OMT和面向对象软件工程的概念,将这些方法融合为单一的,通用的,并且可以广泛使用的建模语言。UML打算成为可以对并发和分布式系统的标准建模语言。UML并不是一个工业标准,但在OBJECTMANAGEMENTGROUP的主持和资助下,UML正在逐渐成为工业标准。OMG之前曾经呼吁业界向其提供有关对象导向的理论及实现的方法,以便制作一个严谨的软件建模语言(SOFTWAREMODELINGLANGUAGE)。有很多业界的领袖亦真诚地回应OMG,帮助她建立一个业界标准。许多人通过UML认识了用例,UML定义为展现用例的图形符号。UML并没有为描述用例定义书写格式的标准,因此许多人误认为这些图形符号就是用例本身;然而,图形符号只能给出最简单的一个或一组用例的概要。UML是用例图形符号最流行的标准。但是,还有一些其它的可选择的标准。用例(英语USECASE),或译使用案例、用况,是软件工程或系统工程中对系统如何反应外界请求的描述,是一种通过用户的使用场景来获取需求的技术。每个用例提供了一个或多个场景,该场景说明了系统是如何和最终用户或其它系统互动,也就是谁可以用系统做什么,从而获得一个明确的业务目标。编写用例时要避免使用技术术语,而应该用最终用户或者领域专家的语言。用例一般是由软件开发者和最终用户共同创作的。在1986年,IVARJACOBSON,UML和瑞理统一过程的重要贡献者,提出了用例的概念。JACOBSON的思想很有影响力,也很有发展力。之后在这个科目上又有很多贡献,在定义用例是什么和怎么有效的书写用例方面最重要,最有影响力也最全面的,是ALISTAIRCOCKBURN,他写的书籍是编写有效用例。用例迅速成为获取功能需求最常用的手段。用例最初是和面向对象一同提出的。但是它不止局限于面向对象系统,因为用例实质上不是面向对象。用例图包含一组用例。每一用例用椭圆表示,放置在矩形框中;矩形框表示整个系统。矩形框外画如图所示的小人,表示参与者。参与者不一定是人,可以是其他软件、硬件等等。某一参与者与某一用例用线连起来,表示该参与者和该用例有交互。3可行性分析及总体设计31系统业务价值系统设计工作应该自顶向下地进行。首先设计总体结构,然后再逐层深入,直至进行每一个模块的设计。总体设计主要是指在系统分析的基础上,对整个系统的划分(子系统)、机器设备(包括软、硬设备)的配置、数据的存贮规律以及整个系统实现规划等方面进行合理的安排。系统设计又称为物理设计,是开发管理信息系统的第二阶段,系统设计通常可分为两个阶段进行,首先是总体设计,其任务是设计系统的框架和概貌,并向用户单位和领导部门作详细报告并认可,在此基础上进行第二阶段详细设计,这两部分工作是互相联系的,需要交叉进行,本章将这两个部分内容结合起来进行介绍。系统设计是开发人员进行的工作,他们将系统设计阶段得到的目标系统的逻辑模型转换为目标系统的物理模型,该阶段得到工作成果系统设计说明书是下一个阶段系统实施的工作依据。现如今高等院校的招生人数越来越多,必然就会有大量的学生信息、教师信息及课程信息需要处理。如果只靠人力来完成,这将会变成一项非常繁琐、复杂的工作,而且还有可能出现很多意想不到的错误,给管理这些数据带来了极大的不便,越来越不适合高校的发展需要。因此,为了提高教务管理工作的效率,减少错误的出现,节约大量的人力资源,教务管理也已经从手工操作转到计算机自动化信息处理阶段,所有高校都迫切需要计算机技术来进行教务信息的辅助管理。本文采用结构化分析的方法,详细阐述了一个功能比较强大的教务管理系统的设计流程、操作流程于涉及的一些关键技术。首先进行了可行性分析,然后是系统分析,通过实际的业务流程调研,分析业务流程和系统的组织结构,完成了数据流分析和数据字典;然后是系统设计阶段主要完成了功能模块的划分、阐述了系统设计的思想、数据库的设计和系统设计的工具及技术。该阶段对本系统各个模块的功能进行了详细设计,形成了本系统的功能模块图;数据库设计时先进行了概念结构设计,然后进行了逻辑结构设计。最后完成了数据表的设计。32可行性分析可行性分析也称为可行性研究,是在调查的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、社会等方面进行分析和研究,以避免投资失误,保证新系统的开发成功。下面将分别从技术、经济、社会三个方面对高校学生学籍管理系统的建设进行分析和研究。(1)技术可行性通过衡量是否具备完成该系统所需要的技术,通常可以按照硬、软件的性能规格要求、运行环境条件、工作人员能力水平和数量等要素去分析和考虑。为了使该系统的实施能够更加顺利,我们选择现在比较熟悉的QT工具进行开发平台的搭建和设计,同时选择SQLITE数据库进行数据存储。对于硬件来说,选择的空间还是比较大的,因为硬件配置越高的话,网站的运行才可以更加流畅。由于现如今的家用或着商用电脑的硬件配置水平,所以在硬件方面,系统也是可行的。在软件方面,由于QT和SQLITE是两个非常成熟的开发工具,无论在安全性、可用性、可靠性方面都毫无置疑,因此软件方面是可行的。(2)经济可行性经济可行性指我们所开发的软件能够为我们带来的经济效益和设计开发该软件所进行的投入相比是否相宜,并且还得关注该软件是否可以真正为用户带来一定的经济效益。此次所开发的系统就是为使用教务系统的人员节约工作时间,提升工作效率,保证工作质量,方便管理和操作而设计完成的。经过论证,在经济可行性上来说,开发该系统是完全可行的。该软件的开发工作不需要花费大量的财力和人力,并且是由个人独立地完成设计,不仅可以节省许多费用,同时也可提高个人的实际动手能力。(3)本系统是根据高校教务管理的实际工作情况开发研制的,是通过查阅大量的资料的出的。本系统对用户的要求,除了需要具备在MICROSOFTWINDOWS平台上使用个人电脑的知识外,并不需要特别的技术能力。33总体设计的基本原则考虑到本系统的设计、实现和后期维护的方便,以及系统用户使用的便利,所以必须采取一定的设计原则。其主要设计原则有(1)简易性在实现系统的功能的同时,尽量让系统操作简单易懂,符合大多数操作员习惯的用户界面这对于一个系统来说是非常重要的。(2)针对性本系统设计是针对高校教务管理的需求定向开发设计,所以具有专业突出和很强的针对性。(3)实用性要求本系统能够满足高校基本的教务管理的管理人员、学生的需要、老师的需要,因此具有良好的实用性。(4)一致性页面整体设计风格以及命名规则的一致性整体页面布局和用图用色风格及变量、类名和其他元素的命名规则保持一致。(5)先进性作为新型的教务管理系统,本系统采用QT开发技术、SQLITE等被广泛采用系统开发技术和数据库,因此本设计具有良好的先进性,具体表现在其具有良好的可扩展性,可开发性。34系统需求分析所谓“需求分析“,是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。可以说,在软件工程当中的“需求分析”就是确定要计算机“做什么”,要达到什么样的效果。可以说需求分析是做系统之前必做的。功能需求主要是为了明确所开发的软件必须具备的功能。教务管理系统是来自学生,教师和系统管理人员三个方面的要求。学生的需求是查询所有跟自己相关的信息,包括自己的个人信息、老师的一些基本信息,还有班级信息与自己的学籍信息。除此之外,学生可以修改自己的登录系统的密码。对于自己在校期间的一些奖罚也可以通过这个系统来查看。教师的需求是在学生需求的基础上,添加了对学生成绩信息的管理,包括对成绩的增加、修改、删除等操作。这些操作对管理员来说也是可以操作的,但这些操作同样也是区别与学生权限的一些操作。教师也可以修改自己的登录密码,不过对于教师与学生来说如果忘记密码,那么他们将无法登录到系统中,只能找管理员去查看用户在系统中输入的密码或者修改用户的密码。系统管理人员是负责系统的管理和维护,更新系统数据库端的各种文件,系统管理人员应该注重数据的安全性和保密性。系统管理人员是最高权限的管理员,可以修改用户权限和删除其信息。所以系统管理人员需要严格控制帐号与密码,否则,会造成系统使用混乱。当然,系统管理人员也可以进行学生、教师的所有操作。系统管理员还可以进行用户的信息管理与学生奖罚信息的管理。35系统总体层次图按照需求分析可以将功能模块分为以下四大功能模块,如图31所示。教务管理系统教师模块管理员模块通用模块学生模块图31功能模块划分示意图1通用模块主要实现的是用户修改密码功能与登录功能。用户需要输入自己的特有信息才可以登录到系统中,并且登录到系统后可以修改自己的登录密码,防止其他人用自己的帐号登录到系统。2教师模块主要实现的是学生成绩的管理,添加成绩和删除成绩以及修改成绩。对于已经存在于系统中的成绩,教师可以对成绩进行修改,并且教师可以查看所有学生的成绩,如果要查看某个学生的成绩那么需要知道这个学生的学号,当然老师也可以使用学生的功能,查看某一个学生的个人信息。3管理员模块主要实现的是管理员可以管理用户,对班级信息的管理、教师信息的管理、学生学籍档案信息以及学生的奖罚信息的管理。具体来说,管理员可以查看所有用户,可以通过用户名检索用户,然后对其进行删除或者修改权限。管理员可以查看所有老师,可以添加班级信息与修改学生档案,也可以通过奖罚模块来更新某个学校的奖罚信息。35系统功能描述331学生功能模块查看班级信息。查看个人信息。查看学籍信息。查看教师信息。查看个人考试成绩。查看个人奖罚信息。332教师功能模块添加学生某科成绩。修改学生某科成绩。删除学生某科成绩。查看所有学生成绩或某一个学生的成绩。查看自己的基本信息。查看班级信息。333管理员功能模块学生教师的所有功能都有。对教师信息的管理,包括添加、删除、修改等。对班级信息的管理,包括添加、删除、修改等。对学生学籍信息的管理,包括添加、删除、修改等。对登录到系统用户进行注册。修改所有用户的登录密码。添加学生的奖罚信息。对奖罚信息进行管理。334通用模块可以查看帮助信息。修改登录到系统中用户的登录密码。34数据库设计原则数据库是本系统的核心和基础。它设计的好坏直接影响着整个系统的质量。数据是一切系统设计的基础,通俗地说,数据库设计就像高楼大厦的根基一样,如果设计的不合理、不完善,将在系统开发过程中,甚至到后期的系统维护、功能变更和功能扩充时,引起较多问题,严重时甚至要重新设计,重做大量已完成工作。在数据库设计过程中,需要遵循的一般原则是1数据库各表的设计要反应现实中的事物。数据表中的字段类型和大小要符合使用习惯。2)较少数据库的荣誉和数据的不一致性。书库应用的一个特点是对数据库的频繁操作,每次操作可能只会设计一个表,也可以同时设计多个表,也有可能对一个数据表进行多个操作,在这种情况下,由于数据冗余和数据不一致时,可能会引起错误。3)要有助于提高数据处理速度。程序访问数据库的速度依赖于硬件的速度,数据量的大小和数据表设计的优劣,而前两个因素是很难更改的。4)要包成数据库的安全。安全性是数据库应用软件的重要要求。35逻辑结构设计数据库是信息管理的基础,数据库结构直接关系到各种功能的实现和程序运行的效率,所以有必要设计一个完整性良好的数据库。有时程序员对于软件开发的出发点认识不是很明确,总是认为实现功能才是重要的,在简单了解完基本需求后就急忙进入编码阶段,对于数据库设计思考的比较少、比较简单,大多设计都只停留在表面上,这往往是要命的,会为系统留下很多隐患。要么是写代码开发过程中才发现问题,要么就是系统上线运转后没多久就出现问题,还有可能给后期维护增加了很多工作量。如果到了那个时候再想修改数据库设计或进行优化等同于推翻重来。数据库是整个软件应用的根基,是软件设计的起点,它起着决定性的质变作用,因此我们必须对数据库设计高度重视起来,培养设计良好数据库的习惯,是一个优秀的软件设计师所必须具备的基本素质条件。逻辑结构设计的主要任务是将概念结构设计的全局ER图转换为关系模式,并进行规范化和优化,然后为每个应用设计外模式。在本系统中使用的是SQLITE数据库。系统使用的数据库名为MANAGERDB,包括6个数据库表,如下USER表记录登录系统的用户信息。SCORE表记录学生成绩信息。RECORD表记录学生的信息。CLASSTABLE表记录班级信息。TEACHER表记录教师信息。REWARD表记录学生奖惩信息。使用SQLITE完成系统中各个数据表的字段设置如下用户表如表31所示,其中用户名ID是主键,字段名TYPE代表了用户类型,字段名PASSWD代表了登陆用户的密码。表31用户表字段名类型长度可否为空说明TYPETEXT否IDNUMBERIC10否主键PASSWDTEXT否学生成绩表如表32所示,其中学生的成绩单中学生学号SID子段设置为学生成绩表的主键、ID子段代表学生学号、SCHOOLYEAR代表了学年、TERM代表学期、STUSCORE代表成绩。表32学生成绩表字段名类型长度可否为空说明SIDNUMBERIC10否主键IDNUMBERIC否SCHOOLYEARNUMBERIC是TERMNUMBERIC是STUSCORENUMBERIC是学生信息表如表33所示,其中学生学号为学生信息表的主键,子段NAME代表学生的姓名、SEX代表性别、AGE代表年龄、CLASSNAME代表班级名、TELNUM代表联系电话、ADDRESS代表家庭住址、REMARK代表备注。表33学生信息表字段名类型长度可否为空说明IDNUMBERIC10否主键NAMETEXT是SEXTEXT是AGENUMBERIC是CLASSSNAMENUMBERIC是TELNUMNUMBERIC是ADDRESSTEXT是REMARKTEXT是班级信息表如表34所示,其中班级号ID为班级信息表的主键,CLASSNAME代表班级名、GRADE代表班级年级、SCHOOLSYSTEM代表了班级信息中的学制、MAJOR代表专业、BOSS代表班主任、REMARK代表备注。表34班级信息表字段名类型长度可否为空说明IDNUMBERIC10否主键CLASSNAMETEXT是GRADETEXT是SCHOOLSYSTEMTEXT是MAJORTEXT是BOSSTEXT是REMARKTEXT是奖惩信息表如表35所示,字段名ID代表学生学号,并且将学生学号作为奖惩信息表的主键,字段名TYPE代表了奖惩类型属性值、CONTENT代表奖惩内容。表35奖惩信息表字段名类型长度可否为空说明IDNUMBERIC10否主键TYPETEXT否CONTENTTEXT否教师信息表如表36所示,其中教师编号ID为教师信息表的主键,字段名TEACHJOB代表的是教师职称、TEACHAGE代表教师年龄、TEACHSEX代表教师性别、TEACHNAME代表教师姓名、TEACHTELNUM代表教师联系电话。表36教师信息表字段名类型长度可否为空说明IDNUMBERIC10否主键TEACHJOBTEXT是TEACHAGENUMBERIC是TEACHSEXTEXT是TEACHNAMETEXT是TEACHTELNUMNUMBERIC是这些表的设计实际上到目前为止仅仅只是列出了表中要有的属性,并没有规定他们的属性管理。但在实际过程中,需要列出这些表之间相互的关系,这样他们就可以根据主键或者外键进行联系,创建连接视图,从而进行修改数据。对一个数据库来说,只能做到更优,不可能最优,并且根据实际需要,优化方案也是有所差异的,大概需要我们关心的有它的读取速度、存储空间、可维护性以及可扩展性等,而这些方面往往又是相互矛盾的。一般来说,在系统分析阶段往往有很多需要关注的方面,系统各种功能性、可用性、可靠性、安全性需要求往往吸引了我们大部分的注意力,但是,还需要注意的是,性能也是很重要的非功能性需求,必须根据系统的特点确定其实时性需求、响应时间的需求、硬件的配置等。最好是能有各种需求的量化指标。设计阶段可以说是以后系统性能的关键阶段,在这个阶段,有一个关系到以后几乎所有性能调优的过程,那就是数据库的设计。在数据库设计完成后,可以进行初步的索引设计,好的索引设计可以指导编码阶段写出高效的代码,为整个系统的性能打下良好的基础。在数据库的设计开发过程中,将数据库的数据设计的严密而有逻辑性是非常必要的,如果将一些数据只是单纯的存放到这里并没有太多的实际意义,只有将这些数据相互联系起来,然后在进行二次开发处理这样就简单合理的多了,所以这些数据属性的开发在后期需要再加以润色,使他们更加符合逻辑结构,这样对数据库的安全性考虑也是有好处的。37项目生存期模型选择针对本项目的开发特点,参考企业的生存模型周期和软件体系,决定采用增量式模型。增量模型融合了瀑布模型的基本成分(重复应用)和原型实现的迭代特征,该模型采用随着日程时间的进展而交错的线性序列,每一个线性序列产生软件的一个可发布的“增量”。当使用增量模型时,第1个增量往往是核心的产品,即第1个增量实现了基本的需求,但很多补充的特征还没有发布。客户对每一个增量的使用和评估都作为下一个增量发布的新特征和功能,这个过程在每一个增量发布后不断重复,直到产生了最终的完善产品。增量模型强调每一个增量均发布一个可操作的产品。如图32所示为系统开发模型图,在系统实现了基本功能后将系统所需要的功能逐步添加到系统结构中,到最后一个增量添加完毕后系统基本开发完毕,后期进行系统的基本测试来完善系统。图32项目开发模型1教务管理系统先是做出一个小的试用版本,再逐步添加其余的功能。这样一来,用户可以先试用最小版本的同时,提出更多明确的需求,这有助于下一阶段的开发,大大减少了开发的风险。2教务管理系统中,要求系统有可扩充性。而使用增量模型可以保证系统的可扩充性。用户明白了需求的大部分,但也存在很不详尽的地方。所以中间留有一些增量模型模块,用以完善和更新功能模块。3本项目具备增量式模型的其他特点项目复杂程度为中等。产品和文档的使用率很高。项目风险较低。可行性研究进一步探讨了该系统进行开发的可行性。在对问题正确定义的基础上,通过分析该系统,导出试探性的结果,然后复查并修正问题定义,再次分析问题最终提出一个符合系统目标的高层次的逻辑模型。然后根据系统的这个逻辑模型设想各种可能的物理模型,并且从技术上,经济上和运行上分析系统的可行性。最后,提出一个推荐的行动方案。可行性分析的任务是明确应用项目开发的必要性和可行性。本章主要对系统开发的可行性进行具体的分析,从用户方角度考虑本系统是否可行,主要通过有力的数据和软件运行环境方面作为依据。通过经济可行性、技术可行性、运行可行性等方面的分析说明本工程的技术成熟、完备,测试手段可靠,具有良好的市场拓展,它追求的是简单、易学、易懂、易用,因此,本系统具有一定的开发前景,具有开发的价值。38本系统有待解决地方本系统由于时间仓促加上缺乏系统开发经验,系统在设计过程中不可避免地遇到了各种各样的问题,如1有些数据输入时没有及时的进行数据格式校验,不能保证数据绝对正确性。2由于时间关系,系统功能实现不够完善,使用可能存在一些不方便。3系统稳定性还有待提高。4系统详细设计41开发环境及过程简介软件开发流程即软件设计思路和方法的一般过程,包括设计软件的功能和实现的算法和方法、软件的总体结构设计和模块设计、编程和调试、程序联调和测试以及编写、提交程序。本教务管理系统的设计是基于WINDOWS平台的,将使用QT开发工具并且结合SLQITE数据库来完成系统的全部功能,编程语言将使用C,利用其面向对象与面向过程相结合的特点,开发出一个界面良好,操作简单的系统。详细设计的主要任务是设计每个模块的实现算法、所需的局部数据结构。详细设计的目标有两个实现模块功能的算法要逻辑上正确和算法描述要简明易懂。详细设计的主要任务有1为每个模块确定采用的算法,选择某种适当的工具表达算法的过程,写出模块的详细过程性描述。2确定每一模块使用的数据结构。3确定模块接口的细节,包括对系统外部的接口和用户界面,对系统内部模块的接口,以及模块输入数据、输出数据及局部数据的全部细节。在详细设计结束时,应该把上述结果写入详细设计说明书,并且通过复审形成正式文档。交付给下一阶段(编码阶段)的工作依据。4要为每一个模块设计出一组测试用例,以便在编码阶段对模块代码(即程序)进行预定的测试,模块的测试用例是软件测试计划的重要组成部分,通常应包括输入数据,期望输出等内容。概要设计是详细设计的基础,必须在详细设计之前完成,概要设计经复查确认后才可以开始详细设计。概要设计,必须完成概要设计文档,包括系统的总体设计文档、以及各个模块的概要设计文档。每个模块的设计文档都应该独立成册。详细设计必须遵循概要设计来进行。详细设计方案的更改,不得影响到概要设计方案;如果需要更改概要设计,必须经过项目经理的同意。详细设计,应该完成详细设计文档,主要是模块的详细设计方案说明。和概要设计一样,每个模块的详细设计文档都应该独立成册。概要设计里面的数据库设计应该重点在描述数据关系上,说明数据的来龙去脉,在这里应该结合我们的一下结果数据,说明这些结果数据的源点,我们这样设计的目的和原因。详细设计里的数据库设计就应该是一份完善的数据结构文档,就是一个包括类型、命名、精度、字段说明、表说明等内容的数据字典。概要设计里的功能应该是重点在功能描述,对需求的解释和整合,整体划分功能模块,并对各功能模块进行详细的图文描述,应该让读者大致了解系统做完后大体的结构和操作模式。详细设计则是重点在描述系统的实现方式,各模块详细说明实现功能所需的类及具体的方法函数,包括涉及到的SQL语句等。软件开发的最后需要交付使用,在使用之前需要进行各种测试,测试编写好的系统,交给用户使用,用户使用后一个一个的确认每个功能,只有所有功能全部可以正确使用后整体项目才算告一段落,当然日后少不了维护等工作,还需要不停的跟踪软件的运营状况并持续维护升级,直到这个软件被彻底淘汰为止。42主要功能模块设计系统功能结构图使用结构化设计方法,采用类似于结构化分析的“由大到小”、“自顶向下,逐层分解”的基本思想描述系统。结构化设计方法,首先以数据流图为基础导出系统模块结构图。在导出系统模块结构图的过程中,以独立性、低耦合性、高内聚性、公共模块作为模块划分的原则。先将系统数据流图中的加工转换成模块,再将各大模块继续划分为较小的模块,直到每一模块都是功能单一的模块。教务管理系统管理员管理学生信息管理通用功能模块教师信息管理查看学籍信息查看成绩信息查看班级信息教师信息操作赏罚管理学生信息操作添加用户教师相关信息查询班级信息查询学生相关信息查询学生成绩信息操作查看帮助信息修改当前用户密码学生信息查询学生信息修改学生信息删除学生信息增加教师信息查询教师信息修改教师信息删除教师信息增加学生成绩信息查询学生成绩信息修改学生成绩信息删除学生成绩信息增加图41系统功能结构图图41的功能图基本将系统中的全部功能模块全部囊括进去,在原有的四个主要大模块下再进行扩展,将各自模块的功能再次细分,然后将可以继续分开的模块继续进行功能划分,这样就形成了以上的整体功能图。通过以上的功能图不难发现,有些功能是类似的,所以在开发工程中可以将某些类似的模块集中开发。43系统的整体流程图开始登陆判断用户否是学生界面教师界面管理员界面是否合理保存到数据库学生操作教师操作管理员操作是否合理是否合理保存到数据库保存到数据库是是是否否否图42系统流程图如图42所示,对于这个教务管理系统设计是首先系统启动的时候会有登录界面,给不同的用户提供不同的操作界面是为了安全方面的考虑,防止一些越权操作出现。只有在用户登录界面中将用户类型与用户名、密码全部输入并且通过了与系统中管理员提前预设的登录信息相符合才可以登录到系统,否则无法登录,并且系统会给出一点的提示信息。不同的用户登录到系统中后都会有一些操作,但是这些操作有的是符合要求的,有些是不合理的,对于这些数据是否写入数据库要进行一定的判断,对于这些都需要在后期的开发过程中设立专有的类来封装这些操作,对于不合理的数据系统无法存入数据库,相反,对于一些合理的则可以存入数据库,但前提是没有越权操作。431用户注册模块设计如图43所示是系统管理员注册用户的流程图。用户第一次使用系统时无法登录系统,需要先进行注册。程序不提供注册功能,否则会给系统带来一定的安全隐患,用户需要先让管理员在登录系统后继续注册,这样教师或者学生才可以登录到系统中,这样的设计在实际开发过程中可以提高系统的安全性,可以提前在数据库中存入可以登录系统的用户名与密码以及与他们身份想匹配的信息,这样就可以实现他们的数据交互。图43管理员注册用户流程图管理员在提交注册信息的时候,系统会将注册信息进行判断然后选择是否存入数据库,包括俩次输入的密码是否相同,用户名与用户类型是否为空等信息。如果用户信息输入有误,系统可以给用户以提示,帮助用户修改信息,从而完成注册。若信息完整无误,注册按钮点击后系统会将用户注册的信息写入数据库中,管理员可以返回主界面去继续管理系统,登录系统会根据用户类型来判断用户具有的权限,从而提供给用户不同的界面。在实际情况下,有时会发生用户忘记密码的情况。在这种情况下,用户将一直无法登录到系统直到用户联系到管理员,管理员可以查看用户的密码或者帮助用户修改密码,只有这样,用户才可以再次登录到系统中。432注册用户模块设计用户在登录的时候需要与后台的数据库相交互,所以设计一个完整的数据库交互很有必要。下面的图从多个层次说明了数据库中数据的交互与登录界面之间的联系,只有严格的数据交互设计才可以保证数据库的安全性与系统的安全性。图44登录模块的业务流程图在图44中用业务流程图的形式来体现用户在登录过程中数据的具体流程走向,在用户登录界面中的数据业务交给设计好的用户登录类来处理,用户登录类调用相应的数据库操作类,数据库操作类使用相关的数据库函数来获得数据库中的数据,并且返回操作结果,当操作结果返回到用户登录类后,登录类会对结果做出判断,从而返回给对应的用户登录界面,这样就可以根据返回的结果来决定用户点击登录按钮后具体出现的是什么界面,例如学生界面、教师界面或者管理员界面。在系统中有用户与界面的交互,需要规范数据的输入,对此本系统中计划使用正则表达式正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。给定一个正则表达式和另一个字符串,我们可以达到如下的目的1给定的字符串是否符合正则表达式的过滤逻辑(称作“匹配”)。2可以通过正则表达式,从字符串中获取我们想要的特定部分。此外,在登录界面中,用户要在用户名文本框中进行字符的输入,但是考虑到实际情况,在教务管理系统中,用户名一般都是以数字为主,所以在这个系统中,设计出的文本框中需要限制用户的输入,用户没法输入字母或者其它特殊字符,只能输入数字,并且规定为十位,对于这些规定除了在数据库中对列值进行限定外还可以使用正则表达式来规范输入。如图45所示为系统的登陆流程图。在登录模块中设计有用户类型选择,为了系统的安全性考虑,系统登录需要用户密码、用户名、与用户类型全部匹配才可以登录系统。在用户输入个人信息的时候登录的时候,系统会判断输入的信息是否有误要求用户登录时输入的密码不能为空、用户名不能为空、类型不能为空。当信息完全正确时,系统会提供给相应用户相应的操作界面,这样可以满足不同用户的不同需求。图45登录流程图433管理员管理模块教务管理人员有权利对系统中所有的数据进行修改,包括老师信息、学生信息、学生成绩信息、用户登录信息等等信息,他有最大的权限但同时对系统也有最大的威胁性,一旦管理员的操作不当会给系统带来灾难性的破坏,所以在管理员操作数据的时候要特别的设计提示信息,让管理员对操作确认后再进行。当然,管理员也可以查看各类信息,对于没有必要登录到系统中的人员,管理员可以进行删除操作,或者是修改他的登录密码,这样对于不想让登录到系

温馨提示

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

评论

0/150

提交评论