




已阅读5页,还剩54页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
此文档收集于网络,如有侵权,请联系网站删除第1章 绪 论本章论述了学生信息管理系统设计与实现的课题意义、课题背景、研究现状,说明了本系统应该实现的基本功能,以及开发本系统的可行性分析。1.1课题意义学生信息管理是学校管理中异常重要的一个环节,作为学校,除了育人,就是育知,学生信息管理的计算机化是整个学校教务管理中的重要一部分,能否实现这一步关系到学校办学整体效率的高低。 运用学生信息管理系统可以减轻学院教学人员的工作量,加快查询速度,加强管理,以及加快国家各部门关于信息化的步伐,使各项管理更加规范化。还有就是缩小开支,提高工作效率与准确率。可以使学生能够合理安排时间,能够尽快的知道自己的考试成绩,投入新的课程的学习或复习这次没有考过的课程。并且学生信息管理系统的应用也为今天的高校教育在未来市场的竞争力的提高打下了坚实的基础。随着学生规模的不断扩大,学生数量急剧增加,有关学生的各种信息量也成倍增长。面对庞大的信息量,需要有学生信息管理系统来提高学生管理工作的效率。通过这样的系统,可以做到信息的规范管理、科学统计和快速的查询,从而减少管理方面的工作量。所以,本系统对高校管理的科学化、信息化,具有重要意义。1.2 课题背景目前,我国各大高校为了顺应信息化发展趋势,从提升自身的管理水平和提高高校竞争力的需要角度出发,都相继采用信息技术对学生的有关信息进行管理,通过使用计算机技术等手段,将工作人员从重复而繁杂的手工处理中解脱出来,避免重复劳动,规范了教学管理行为,提高了管理效率和水平,而且降低了人工处理产生的错误,使教育基础管理迈出了一个新的台阶,从而实现了教育基础管理的信息化、科学化和现代化。对于学生信息管理系统则是以计算机为工具,通过对学生管理所需的信息进行采集、验证、处理、运算、分析、管理和维护,把管理人员从繁琐的数据计算处理中解脱出来,使其有更多的精力从事学生管理政策的研究实施,管理方法的研究改进和管理质量的监督检查,从而全面提高管理质量。在当前的信息化时代中,任何高校,都需要一个实用的管理系统来规范学校管理、学生管理和数据统计、分析,这将会大大提升高校的管理水平,优化资源,尽可能地降低成本,实现最大效益化。设计学生管理信息系统的目标,主要是通过建立一个学生管理信息系统来实现数据采集、验证、处理、运算、分析、管理和维护等功能,统筹学工部的各项工作。各学院利用网络,通过管理系统提供的交互式界面提交各种材料,避免了提交材料的繁琐和遗漏。系统能自动核查各学院提交材料的格式是否符合要求,内容是否完整,并对不符合要求的地方给出详细的提示,待格式完全合格了方能入库,提高了审核的效率。另外,学工部通过该系统能对收集的数据进行处理,转化成可用的信息。此外,该系统不仅让学工部内部各科室达到资源共享,如学生管理科将学生违纪情况共享给扶贫助学办公室,如果该学生申请奖、助学金,系统将自动提示其违纪行为,达到自我审核的作用,同时,该系统也与学校的其它子系统达到资源共享,如该系统将有违纪处分的学生的信息共享给教务处的学籍管理系统,招生就业处的毕业生就业系统,从而实现资源合理配置和有效利用。1.3学生信息管理系统的研究现状当今社会已经进入了信息时代,利用计算机进行信息管理已经延伸到了从政府管理到企事业单位生产经营的方方面面。计算机信息管理可以提高工作效率,减少人力资源的开支,提高信息管理的精确度和改变信息的及时性。这些优点在追求低成本、高效率、及时性的现在社会无疑有着巨大的优势。学生信息管理是各大学的主要日常管理工作之一,涉及到校、系、师、生的诸多方面,随着教学体制的不断改革,尤其是学分制、选课制的展开和深入,学生成绩日常管理工作及保存管理日趋繁重、复杂。迫切需要研制开发一款功能强大,操作简单,具有人性化的学生成绩管理系统。 在国外高校,与国内不同,他们一般具有较大规模的稳定的技术队伍来提供服务与技术支持。而国内高校信息化建设相对起步较晚。在数字校园理论逐步应用的过程中,各高校一方面不断投资购建各种硬件、系统软件和网络,另一方面也不断开发实施了各类教学、科研、办公管理等应用系统,形成了一定规模的信息化建设体系。但是,由于整体信息化程度相对落后,经费短缺,理论体系不健全等原因,国内高校教务管理系统在机构设置、服务范围、服务质量及人员要求上与国外高校相比都有一定的差距。 纵观目前国内研究现状,在安全性和信息更新化方面存在有一定的不足,各现有系统资料单独建立,共享性差;在以管理者为主体的方式中,信息取舍依赖管理者对于信息的认知与喜好,较不容易掌握用户真正的需求,也因此无法完全满足用户的需求。因此,教务管理软件应充分依托校园网,实现教务信息的集中管理、分散操作、信息共享,使传统的教务管理朝数字化、无纸化、智能化、综合化的方向发展,并为进一步实现完善的计算机教务管理系统和全校信息系统打下良好的基础。1.4 可行性研究可行性研究的目的是用最小的代价在尽可能的时间内确定问题是否能够解决。 1.经济上可行性由于早期学生信息管理完全采用纯人工方式完成工作,进行文档制作,且上传下递极不方便,所以耗用工时较多,且效率低下。后来设计一些简单的应用表格,能通过计算机报表,但只是人工去登记、查找、计算大量数据后,人工输入计算机,制成文档,所以也会统计差错,输入过程差错,正确率无法保证,而且还会耗费大量的人力和物力;长年累月积攒起来的材料过多,不易保存,也容易丢失和损坏。目前,市场上“学生管理信息系统”类的软件开发出产品的已经比较多了,但真正适合本校使用且价格合理的还是比较少。一般的学校经费紧张,根无法接受这样的价格。而且一些网上出售的学生信息管理系统软件的规模太大,有些模块根本用不到,所以购进之后部分功能闲置也构成了浪费。而本系统的开发,不但为学校节省大量开支,而且为学校的工作效率带来了一个质的飞跃,为此主要表现有以下几个方面:第一,本系统的运行可以代替人工进行许多繁杂的劳动;第二,本系统的运行可以节省许多资源;第三,本系统的运行可以大大的提高学校学生管理的工作效率;第四,本系统可以使敏感文档更加安全等。所以,本系统在经济上是可行的。 2.技术上可行性本系统的开发,利用Microsoft Access 2003作为本系统的数据库,它是一个支持多用户的新型数据库,适用于中小规模的数据量需求。学校校园网的建设也为新系统服务器/客户端的结构提供了硬件的支持。使用Visual C+ 6.0作为系统开发的开发环境,它作为一种现代的编程语言,提供完善的指令控制语句、类与对象的支持及丰富的数据类型,给开发高性能系统提供的保障为开发满足客户要求的系统,保证了代码的模块化要求,而代码模块化的提高,非常有利于以后对新系统的扩展与修改。 MFC是用来编写Windows应用程序的C+类集,该类集以层次结构组织起来,其中封装了大部分Windows API函数和Windows控件。MFC大大简化了使用C+开发基于Windows的应用程序的工作。 3.运行上可行性本系统为一个小型的学生信息管理系统,所耗费的资源非常的小,学校的电脑无论是硬件还是软件都能够满足条件,因此,本系统在运行上是可行的。1.5本系统要求实现的功能该系统需要实现以下基本功能:1.用户管理:管理系统操作人员,设置操作人员口令和权限。在满足不同系统用户的操作需求的基础上,提高系统的安全性。2.基础数据管理:维护学生管理相关的一些基础数据,它主要包括学校系别设置和各个系别中专业、班级的设置。3.学生管理对学生的姓名、学号、性别、年龄、家庭地址等数据的管理。4.成绩管理:提供学生考试成绩的管理,以及考试时间、科目设置等功能。5.数据库管理:对本系统数据库能够得到相应的保存与恢复。对现有的数据库进行管理,包括数据备份和恢复,以方便用户对数据库的管理和维护工作,提高系统数据安全性和运行效率。第2章 系统结构及总体设计系统设计的优劣直接影响新系统的质量。本系统的设计是在保证实现逻辑模型的基础上,尽可能地提高系统的可变性、可靠性、工作质量、工作效率及经济性。2.1 系统功能总体设计模块的功能设计,本学生信息管理信息系统主要可以分为:权限验证模块、用户管理模块、基础设置模块、成绩管理模块、学生管理模块、数据库管理模块以及帮助模块,如图2.1所示。用户登录系统管理学生信息管理系统基础设置成绩管理数据库管理用户管理退出系统系别设置专业设置班级设置数据库恢复数据库备份学生成绩录入学生成绩查询帮助关于权限验证学生管理学生学籍管理 考试类型设置考试科目设置考试时间设置考试类型设置考试科目设置考试时间设置图2.1 学生管理信息系统结构框图1.权限验证模块 权限验证模块主要是根据用户输入的用户名和密码验证用户身份并且决定其操作权限。2.用户管理模块用户管理子模块负责对操作人员基本信息的建立,以及对操作人员的权限进行基本维护,不同权限的操作人员,可以使用的模块范围不一样。此模块功能只限于具有系统管理员权限的用户使用。用户管理子模块实现三个主要功能:添加新用户、修改用户口令和用户权限、删除指定的用户。3.基础设置模块基础数据设置模块负责维护学校学生管理相关的基础数据,主要包括:系别设置和专业划分、班级设置等数据。该模块的功能主要是对这些基础数据的浏览、添加、修改和删除等。4.学生管理模块学生管理模块主要管理学生的学号、姓名、性别、年龄、班级、系别等相关信息,该模块的功能主要有增加、修改、删除、查看等。5.成绩管理模块成绩管理模块主要实现对学生成绩的管理功能,具体包括学生成绩的录入、查询和学生总分名次的查询等。 6.数据库管理模块数据库管理模块负责对数据库进行简单的一些管理,包括数据库备份和数据库还原工作,通过这些工作来维护数据库的安全,降低意外或人为破坏的损失。2.2 系统开发环境及工具软件2.2.1 软硬件坏境处理器:Inter Pentium4 2.8GHZ或更高内存:512MB硬盘空间:60GB 显卡:SVGA 显示适配器操作系统:Windows 98/ME/2000/XP工具软件:Visual C+6.0 、Microsoft Access 20032.2.2 工具软件 1.Visual C+6.0简介Visual C+是一个功能强大的可视化软件开发工具。自1993年Microsoft公司推出Visual C+1.0后,随着其新版本的不断问世,Visual C+已成为专业程序员进行软件开发的首选工具。虽然微软公司推出了Visual C+.NET(Visual C+7.0),但它的应用的很大的局限性,只适用于Windows 2000,Windows XP和Windows NT4.0。所以实际中,更多的是以Visual C+6.0为平台。Visual C+6.0不仅是一个C+编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。Visual C+6.0由许多组件组成,包括编辑器、调试器以及程序向导AppWizard、类向导Class Wizard等开发工具。 这些组件通过一个名为Developer Studio的组件集成为和谐的开发环境。 2. Microsoft Access 2003简介 Access的最初名称是Cirrus。它开发于Visual Basic之前,当时的窗口引擎称作Ruby。比尔盖茨看过Ruby的原型后决定把这个基于Basic语言的组件作为一个独立的可扩展应用程序与Access联合开发。这个项目称作Thunder。这两个项目互相独立的被作为底层的窗口引擎开发并且互不兼容。 然而,在VBA出现后它们被合并在一起。1995年末,access 95发布,这是世界上第一个32为关系型数据库管理系统,使得access的应用得到了普及和继续发展。1997年,access 97发布。它的最大特点是在access数据库中开始支持web技术,这一技术上的发展,开拓了access数据库从桌面向网络的发展。21世纪初,microsoft发布access2000,这是微软强大的桌面数据库管理系统的第六代产品,也是32为位access的第三个版本。至此,access在桌面关系型数据库的领域的普及已经跃上了一个新台阶。Microsoft Access在很多地方得到广泛使用,例如小型企业,大公司的部门,和喜爱编程的开发人员专门利用它来制作处理数据的桌面系统。它也常被用来开发简单的WEB应用程序这些应用程序都利用ASP技术在Internet Information Services运行。比较复杂的WEB应用程序则使用PHP/MySQL或者ASP/Microsoft SQL Server。2.3 数据库访问技术Visual C+6.0提供了多种访问数据库的技术包括:ODBC、DAO、OLE DB、ADO。2.3.1 各数据库访问技术简介以下介绍了Visual C+6.0中各种数据库访问技术,通过了解与比较,最后决定本学生信息管理系统所采用的数据库访问技术。1.ODBCODBC(Open Database Connectivity,开放数据库互连)是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL语句来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。也就是说,不论是FoxPro、Access , MYSQL还是Oracle数据库,均可用ODBC API进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。 一个完整的ODBC由下列几个部件组成:(1) 应用程序(Application)。(2) ODBC管理器(Administrator)。该程序位于Windows 95以上操作系统控制面板(Control Panel)的32位ODBC内,其主要任务是管理安装的ODBC驱动程序和管理数据源。(3) 驱动程序管理器(Driver Manager)。驱动程序管理器包含在ODBC32.DLL中,对用户是透明的。其任务是管理ODBC驱动程序,是ODBC中最重要的部件。(4) ODBC API。(5) ODBC 驱动程序。是一些DLL,提供了ODBC和数据库之间的接口。(6) 数据源。数据源包含了数据库位置和数据库类型等信息,实际上是一种数据连接的抽象。应用程序要访问一个数据库,首先必须用ODBC管理器注册一个数据源,管理器根据数据源提供的数据库位置、数据库类型及ODBC驱动程序等信息,建立起ODBC与具体数据库的联系。这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接。在ODBC中,ODBC API不能直接访问数据库,必须通过驱动程序管理器与数据库交换信息。驱动程序管理器负责将应用程序对ODBC API的调用传递给正确的驱动程序,而驱动程序在执行完相应的操作后,将结果通过驱动程序管理器返回给应用程序。在访问ODBC数据源时需要ODBC驱动程序的支持。用Visual C+ 6.0安装程序可以安装SQL Server、 Access、 Paradox、 dBase、 FoxPro、 Excel、 Oracle 和Microsoft Text等驱动程序在缺省情况下,VC6.0只会安装SQL Server、 Access、 FoxPro和dBase的驱动程序如果用户需要安装别的驱动程序,则需要重新运行VC 6.0的安装程序并选择所需的驱动程序。 ODBC 使用层次的方法来管理数据库,在数据库通信结构的每一层,对可能出现依赖数据库产品自身特性的地方,ODBC 都引入一个公共接口以解决潜在的不一致性,从而很好地解决了基于数据库系统应用程序的相对独立性,这也是ODBC 一经推出就获得巨大成功的重要原因之一。 2. DAODAO(Data Access Object,数据访问对象)是一种应用程序编程接口(API),存在于微软的Visual Basic中,它允许程序员请求对微软的Access数据库的访问。DAO是微软的第一个面向对象的数据库接口。DAO对象封闭了Access的Jet函数。通过Jet函数,它还可以访问其他的结构化查询语言(SQL)数据库。3.OLE DBOLE DB(OLEDB)是微软的战略性的通向不同的数据源的低级应用程序接口。OLE DB不仅包括微软资助的标准数据接口开放数据库连通性(ODBC)的结构化查询语言(SQL)能力,还具有面向其他非SQL数据类型的通路。作为微软的组件对象模型(COM)的一种设计,OLE DB是一组读写数据的方法(在过去可能被称为渠道)。OLD DB中的对象主要包括数据源对象、阶段对象、命令对象和行组对象。使用OLE DB的应用程序会用到如下的请求序列:初始化OLE连接到数据源、发出命令、处理结果、释放数据源对象并停止初始化OLE。Object Linking and Embedding,对象连接与嵌入,简称OLE技术。OLE不仅是桌面应用程序集成,而且还定义和实现了一种允许应用程序作为软件“对象”(数据集合和操作数据的函数)彼此进行“连接”的机制,这种连接机制和协议称为部件对象模型。 OLE 是一种面向对象的技术,利用这种技术可开发可重复使用的软件组件(COM)。DB(英文全称data base,数据库)是依照某种数据模型组织起来并存放二级存储器中的数据集合。 4.ADO ADO技术是基于OLE DB的访问接口,它继承了OLE DB技术的优点,并且ADO对OLE DB的接口作了封装,定义了ADO对象,使程序开发得到简化。AKO技术属于数据库访问的高层接口。2.3.2本系统中Access数据库的连接本文采用ODBC数据访问技术,配置Access数据源的具体步骤如下: 1. 在操作系统的控制面板里选择管理工具,打开数据源(ODBC)。2. 在弹出的ODBC数据源管理器对话框中,打开系统DNS选项卡,点击添加,双击Micorsoft Access Driver(*mdb)。3.单击“选择”按钮,选择要配置的数据库文件(本设计中为school.mdb),并输入数据源名(本设计中为school)和说明字符串,单击确认按钮,即完成配置Access数据源的配置。第3章 学生信息管理系统的设计实现 本章是课题的核心部分,主要包括学生信息管理系统数据库中各数据表的设计和各模块功能的设计与实现。3.1数据表设计首先使用向导创建一个Accsse2003库,数据表创建步骤基本一样,如下:1.在数据库窗口的对象列表中单击“表”这一项。2.启动表向导,双击“使用表向导创建表”。3.在“表向导”对话框中,在“示例表”列表中选择表名,然后在表的“示例字段”字段中选择相应的字段并修改,将选中的字段组成一个新的表。本节后面各表设计时,实现步骤基本相同。3.1.1系统用户表系统用户表中包括用户名、用户密码、用户类型,其中用户名和用户密码决定了使用者在启动本系统之后能否进入系统。用户类型决定了已登录用户在本系统操作中的权限。本表主键设为用户名。表名称标识:user数据来源:用户管理模块进行录入见表3.1 系统用户表表3.1 系统用户表名 称字段名称类型是否主键附加属性用 户 名user文本Yes不允许空用户密码passwd文本No不允许空用户类型isAdmin文本No不允许空3.1.2 系别设置表 系统设置表包括系别代码、系名和说明,其中系别代码设置为本表主键,说明一项的内容可以为空。系别代码和系名为学生所在系部的代码和系部全名。表名称标识:department数据来源:基础数据管理设置模块进行录入见表3.2 系别设置表表3.2 系别设置表名 称字段名称类型是否主键附加属性系别代码Code文本Yes不允许空系 名Name文本No不允许空说 明Brief文本No允许空3.1.3 专业设置表 专业设置表包括专业代码、专业名称、所属系别和说明,专业代码和专业名称指学生所学专业及其名称,本表中专业代码为主键,其中说明可以为空。表名称标识:major数据来源:基础数据管理模块进行录入见表3.3 专业设置表表3.3专业设置表名 称字段名称类型是否主键附加属性专业代码Code文本Yes不允许空专业名称Name文本No不允许空所属系别department文本No不允许空说明brief文本No允许空3.1.4 学生管理表 学生管理记录表包括了学生学籍管理时相关的,班级、学号、姓名、系别、专业、家庭住址等。将学生的学号设为主键,系别、班级、专业姓名不能为空。表名称标识:student数据来源:学生管理模块进行录入见表3.4学生管理记录表表3.4 学生管理记录表名 称字段名称类 型是否主键附加属性学 号code文本Yes不允许空所在院系department文本No不允许空班 级class文本No不允许空姓 名name文本No不允许空性 别sex文本No不允许空家庭地址address文本No允许空出生年月birthday日期/时间No不允许空3.1.5学生成绩记录表 学生成绩记录表包括了学生成绩管理时相关的,班级、学号、姓名、科目、成绩等,是学生信息管理系统的核心数据表。将学生在系统中的ID设为主键,成绩、补考成绩、补考标识可以为空。表名称标识:score数据来源:成绩管理模块进行录入见表3.5学生成绩记录表表3.5 学生成绩记录表名 称字段名称类 型是否主键附加属性标 识ID自动增长Yes不允许空班 级class文本No不允许空时间段time文本No不允许空学 号code文本No不允许空姓 名name文本No不允许空科 目subject文本No不允许空考试类型type文本No不允许空成 绩score数字No允许空补考成绩makeup_score数字No允许空缺考标识absent文本No允许空3.2 各功能模块的实现本节是基于系统需求分析与系统总体设计的结论来进行的,并采用Visual C+ 6.0实现各模块的功能。系统的设计和实现按照模块的划分来分别阐述。3.2.1系统管理模块的实现.主控平台界面系统主界面是用户进入系统后主要接触界面,由它可以进入各个功能模块,菜单由一个条形菜单和一组弹出菜单组成,采用集成技术,把模块组合在一起,形成典型的下拉式菜单,条形菜单为主菜单,弹出菜单为子菜单。用户点击主菜单的某一项,立刻弹出对应的下拉菜单,直接在下拉菜单中进行选择,可执行相应功能。1.主体框架使用MFC AppWizard创建一个单文档结构的应用程序工程,建立起系统主体框架,生成应用程序类(CSchoolApp)、文档类(CSchoolDoc)、视图类(CSchoolView)和主框架类(CMainFram)。2.菜单根据系统总体设计中功能模块的划分,使用资源编辑器创建系统菜单。3. 背景图通过修改系统视图类Paint事件处理函数OnPaint()来实现加载背景图,具体代码见附录 代码一(主控平台的实现)。.用户登录模块1.用户登录模块流程设计根据需求分析和总体设计,此模块主要是根据用户输入的用户名和密码验证用户身份并且决定其操作权限,其程序编写流程见图3.1。YN输入用户信息信息查询信息正确否获得访问权限提示:登陆错误开始图3.1 用户登录模块程序流程图2.用户登录模块的实现根据以上流程图,通过定义CLoginDlg类来实现用户登录模块模块的功能。下面阐述CLoginDlg类的设计与实现:(1)根据用户名和密码验证用户身份和分配权限。(2)登录对话框创建时,需要完成的一些初始化工作,读取可以登录的用户名称,并形成列表,供用户进行选择。部分代码如下所示,具体编程见代码二(用户登录模块模块的实现)。void CLoginDlg:OnOK() UpdateData();if(m_ctrUser.IsWindowEnabled() /增加新用户if(m_strUser=)MessageBox(请填写用户名!);m_ctrUser.SetFocus();return;else/修改用户信息if(m_strUser=)MessageBox(请选择一个用户!);return;if(m_strPass=)MessageBox(密码不能为空,请输入密码!);m_ctrPass.SetFocus();return;.用户管理模块根据需求分析和总体设计,权限管理模块负责对操作人员基本信息的建立,以及对操作人员的权限进行基本维护,不同权限的操作人员,可以使用的模块范围不一样。此模块功能只限于具有系统管理员权限的用户使用。用户管理模块实现三个主要功能:添加新用户、修改用户口令和用户权限、删除指定的用户。1. 用户管理模块流程设计具体处理过程:(1)增加新用户的处理1)设置用户名编辑框为可用状态。2)根据管理员输入的用户名判断用户是否存在,如果存在提示错误,并要重新输入。3)如果用户不存在,根据管理员输入的用户名、用户口令和权限的类别,在数据库中用户表中添加新纪录。4)提示新用户增加成功。(2)修改用户口令和权限的处理1)在“用户列表”中选择需要编辑的用户。2)输入新的用户口令和权限的类别。3)确认操作。4)完成对数据库中系统用户表的相应操作。(3)删除指定用户的处理1)在“用户列表”中选择需要删除的用户。2)删除操作。3)完成对数据库中系统用户表的相应操作。2. 用户管理模块的实现根据用户管理模块的流程图,通过定义CUserDlg类来实现用户管理模块的功能。下面来阐述CUserDlg类的设计与实现。(1)CUserDlg类使用的用户表记录集类CUserSet此类的实现与系统用户表的绑定,可以通过ClassWizard根据数据库表结构自动创建。(2)添加用户或编辑某用户的相关资料处理过程:检查当前的状态为添加或编辑,如果为添加状态,先检查用户名称是否已经存在,然后插入新的用户;如果为编辑状态,更新用户信息,更改相关组件的状态。添加用户操作的部分代码如下所示,具体代码见代码三(用户管理模块的实现)。if(m_ctrUser.IsWindowEnabled() /增加新用户/判断用户是否已经存在if(m_recordset.GetRecordCount()!=0) m_recordset.Close();MessageBox(该用户已经存在!);return;m_recordset.AddNew();m_recordset.m_user = m_strUser;m_recordset.m_passwd = m_strPass;m_recordset.m_isadmin = m_bIsAdmin;m_recordset.Update();MessageBox(用户添加成功!请记住用户名和密码!);m_recordset.Close();3.2.2基础设置模块的实现根据需求分析和总体设计,基础数据设置模块负责维护学校学生管理相关的基础数据,主要包括:系别设置和专业划分等数据。该模块的功能主要是对这些基础数据的浏览、添加、修改和删除。.系别设置子模块功能描述:系别设置信息表中读取信息并显示,同时实现对这些数据的添加、修改和删除功能。1.系别设置子模块流程设计输入:系别设置数据处理:1)系别设置对话框启动。2)从系别设置信息表中读取数据并显示到列表中供用户浏览。3)根据用户选择,完成系别设置数据的添加、修改和删除。输出:更新的系别设置数据表。2.系别设置子模块的界面设计该子模块通过对话框提供用户操作界面。3.系别设置子模块的的实现根据系别设置子模块的流程图,通过定义CDepartmentDlg类来实现系别设置的数据管理功能。下面具体阐述这个类的设计与实现。1)CDepartmentDlg类使用的记录集类CDepartmentSet。此类可以通过ClassWizard根据数据库表结构自动创建。2)系别设置对话框的初始化。处理过程:首先根据界面设计创建数据列表,然后从系别设置数据表中提取数据并显示在数据列表中,最后设置各功能按钮的初始状态。具体代码添加如下所示:BOOL CDepartmentDlg:OnInitDialog()/对话框的一些初始化操作 CDialog:OnInitDialog();/设置数据列表m_ctrList.InsertColumn(0,系别代码);m_ctrList.InsertColumn(1,系名);m_ctrList.InsertColumn(2,说明);m_ctrList.SetColumnWidth(0,60);m_ctrList.SetColumnWidth(1,160);m_ctrList.SetColumnWidth(2,240);m_ctrList.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);/设置按钮状态m_bntSave.EnableWindow(FALSE);m_bntNew.EnableWindow(FALSE);m_bntDelete.EnableWindow(FALSE);m_bntModify.EnableWindow(FALSE);/显示数据RefreshData();return TRUE; 3)添加新系别信息。处理过程:清空编辑区域的编辑框等待用户输入,然后当用户选择保存按钮是检查用户输入的数据合法性,无误后将用户输入的数据添加到系别设置数据表中,最后更新数据列表中数据显示,以及恢复各按钮的状态。具体代码见代码五(添加新系别信息)。4)系别设置信息。处理过程:将用户选择的需要修改记录信息显示到文本编辑框中,当用户修改完成后,检查数据的合法性,检查无误后,将修改后的数据更新到数据库中。具体代码见代码六(修改系别设置信息)。5)系别信息的删除。处理过程:将用户选择的需要删除的记录信息显示到文本编辑框中,当用户确认后,从数据表中删除这条记录。具体代码见代码七(系别信息的删除)。.专业设置子模块功能描述:从专业设置信息表中读取数据并显示,同时实现对这些数据的添加、修改和删除功能。1.专业设置子模块的流程设计输入:专业设置数据处理:(1)专业设置对话框启动。(2)从专业设置信息表中读取数据并显示到列表中供用户浏览。(3)根据用户选择,完成专业设置数据的添加、修改和删除。输出:更新的专业设置数据表2. 专业设置子模块的界面设计该子模块通过对话框提供用户操作界面。3.专业设置子模块的实现根据专业设置子模块的功能,通过定义CMajorDlg类来实现专业设置的数据管理功能。下面具体阐述这个类的设计与实现。1)CMajorDlg类使用的记录集类CMajorSet。此类可以通过ClassWizard根据数据库表结构自动创建。2)添加新专业信息。处理过程:清空编辑区域的编辑框等待用户输入,然后当用户选择保存按钮时检查用户输入的数据合法性,无误后将用户输入的数据添加到专业设置数据表中,最后更新数据列表中数据显示,以及恢复各按钮的状态。部分代码如下所示,具体代码见代码八。void CMajorDlg:OnButtonSave() /保存数据时的操作 / TODO: Add your control notification handler code hereUpdateData();/检查数据的合法性if(m_strName=) AfxMessageBox(请输入专业名称!);return;if(m_strCode=) AfxMessageBox(请输入专业代码!);return;if(m_strDepartment=) AfxMessageBox(请输入所属系别!);return;3)修改专业设置信息。处理过程:将用户选择的需要修改记录信息显示到文本编辑框中,当用户修改完成后,检查数据的合法性,将修改后的数据更新到数据库中。具体代码见代码九(修改专业设置信息)。4)专业信息的删除。处理过程:将用户选择的需要删除的记录信息显示到文本编辑框中,当用户确认后,从数据表中删除这条记录。具体代码见代码十(专业信息的删除)。3.2.3学生管理模块的实现根据需求分析和总体设计,学生管理模块负责维护学校学生管理相关的学生数据,主要包括:班级、学号、姓名、系别、专业、家庭住址等。该模块的功能主要是对这些学生学籍信息的浏览、添加、修改和删除。1.学生管理模块流程设计输入:学生学籍相关信息处理:1)学生管理对话框启动。2)从学生管理信息表中读取数据并显示到列表中供用户浏览。3)根据用户选择,完成学生学籍数据的添加、修改和删除。输出:更新到学生管理数据表。2. 学生管理模块的界面设计该子模块通过对话框提供用户操作界面。3.学生管理模块的的实现根据学生管理模块的流程说明,通过定义CStudentDlg类来实现学生数据的管理功能。下面具体阐述这个类的设计与实现。1)CStudentDlg类使用的记录集类CStudentSet。此类可以通过ClassWizard根据数据库表结构自动创建。2)学生管理对话框的初始化。处理过程:首先根据界面设计创建数据列表,然后从学生管理数据表中提取数据并显示在数据列表中,最后设置各功能按钮的初始状态。具体代码添加见代码十一(学生管理对话框初始化)。3)添加新学生信息。处理过程:清空编辑区域的编辑框等待用户输入,然后当用户选择保存按钮是检查用户输入的数据合法性,无误后将用户输入的数据添加到学生管理数据表中,最后更新数据列表中数据显示,以及恢复各按钮的状态。具体代码见代码十二(添加新学生信息)。4)学生管理信息。处理过程:将用户选择的需要修改记录信息显示到文本编辑框中,当用户修改完成后,检查数据的合法性,检查无误后,将修改后的数据更新到数据库中。具体代码见代码十三(修改学生信息)。5)学生信息的删除。处理过程:将用户选择的需要删除的记录信息显示到文本编辑框中,当用户确认后,从数据表中删除这条记录。具体代码见代码十四(学生信息的删除)。3.2.4成绩管理模块的实现根据需求分析和总体设计,成绩管理模块主要实现对学生成绩的管理功能具体包括学生成绩的录入、查询、考试相关设置等。成绩管理模块主要划分成三个子模块:学生成绩录入、学生成绩查询。下面按照子模块的划分来阐述本模块的设计与实现过程。.学生成绩录入子模块功能:以班级为单位,完成对指定班级在某次考试中所有学生的成绩录入功能;1.学生成绩录入子模块流程设计输入:班级、考试类型、考试时间段、科目、学生成绩处理:(1)学生成绩录入对话框启动; (2)根据用户指定的班级,从学生信息表中读取学生名单,并显示在列表中。 (3)当用户指定录入某学生成绩时启动成绩录入对话框。 (4)将用户输入的学生成绩、班级,保存到数据库的学生成绩信息表中。(5)更新成绩列表显示,等待录入下一个学生的成绩。输出:学生成绩信息表2.学生成绩录入子模块的界面设计该子模块通过学生成绩录入对话框提供用户操作界面。3.学生成绩录入子模块的实现根据学生成绩录入子模块的流程图,通过定义CScoreInputDlg类来实现某班级所有学生成绩录入的主体功能。下面具体阐述这个类的设计与实现。(1)CScoreInputDlg类使用的记录集CScoreSet。此类实现与学生成绩信息表得绑定,可以通过ClassWizard根据数据库表结构自动创建。(2)创建并显示学生成绩单。处理过程:根据用户输入班级编号,从学生信息表中读取该班级所有学生名单,并在学生成绩表中创建所有学生得成绩单记录,然后将成绩单显示到成绩列表中。部分代码如下所示,其主要代码见代码十五。void CScoreInputDlg:OnButtonInput() UpdateData();if(m_strClass.IsEmpty()/非空检查 AfxMessageBox(请选择班级);return;if(m_strTime.IsEmpty() AfxMessageBox(请选择考试时间段);return;if(m_strType.IsEmpty() AfxMessageBox(请选择考试类型);return;if(m_strSubject.IsEmpty() AfxMessageBox(请选择考试科目);return;(3)录入学生成绩。 处理过程:当用户双击成绩列表时,弹出成绩录入对话框,等待用户输入学生的成绩,在输入确认后,将学生成绩保存到学生成绩信息表中。其主要代码见代码十六(录入学生成绩)。.学生成绩查询子模块功能描述:提供按班级分类查询学生成绩和按学生姓名查询成绩功能。1.学生成绩查询子模块流程设计输入:班级编号、学生姓名处理:(1)学生成绩查询对话框启动;(2)根据用户选择的班级编号,从学生信息表中读取该班级所有学生名单。(3)在学生列表中显示该班级所有学生名单。(4)根据用户在学生列表中选择的学生编号,从成绩信息表中读取该学生的成绩。(5)将该学生所有科目成绩显示在成绩列表中。(6)根据用户名输入的学生姓名,从学生成绩信息表中读取学生的成绩。(7)将该学生所有科目成绩显示在成绩列表中。输出:学生成绩列表2.学生成绩查询子模块的界面设计该子模块通过学生成绩录入对话框提供用户操作界面。3.学生成绩查询子模块的实现 根据学生成绩查询子模块的功能,通过定义CScoreQueryDlg类来实现学生成绩的查询功能。下面具体阐述这个类的设计与实现。(1)CScoreQueryDlg类使用的记录集CScoreSet。此类实现与学生成绩信息表得绑定,可以通过ClassWizard根据数据库表结构自动创建。(2)显示学生列表。处理过程:根据用户选择得班级编号,从学生信息表中读取该班级学生名单,然后显示到学生列表中。其主要代码见代码十七(学生成绩查询)。(3)显示学生成绩单。其主要代码见代码十八(显示学生成绩单)。(4)直接查询学生成绩。处理过程:根据用户输入学生姓名查询学生成绩信息表,读取符合条件的数据并显示到成绩单列表中。其主要代码十九(直接查询学生成绩)如下:void CScoreQueryDlg:OnButtonSearch() UpdateData(TRUE);/检查是否输入学生姓名if(m_strName.IsEmpty() AfxMessageBox(请输入学生姓名!);return;CString strSQL;strSQL.Format(select * from score where name like %s,m_strName); /查询并显示学生成绩单RefreshData(strSQL);3.2.5 数据库管理模块的实现功能:数据库管理模块负责对数据库进行简单的一些管理,包括数据库备份和数据库还原工作,通过这些工作来维护数据库的安全。1.数据库管理模块的流程设计(1)数据库备份输入:数据库表文件处理:1)提醒用户是否完成数据库备份操作。2)如果用户确认,将数据库表文件复制到备份目录中,并更改扩展名。3)否则取消备份操作。输出:数据库备份文件(2)数据库恢复输入:数据库备份文件处理:1)提醒用户是否完成数据库恢复操作。2)如果用户确认,用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版让与担保制度风险管理体系合同
- 2025版环保设备监造与节能改造合同
- 2025版特色小镇商铺委托出租运营合作协议
- 2025年度综合性商场展览场地租赁及广告投放合同
- 2025年度学校桶装水项目合作协议范本
- 2025年度房屋买卖分期付款及违约责任协议
- 2025年智能穿戴设备研发与市场推广合作协议
- 2025年度石油产品运输及保险服务合同
- 2025版专业摄像头研发与生产采购合同范本
- 2025版三方公司租赁设备借款合同
- 2022年家用空调安装合同范本
- 二手车鉴定评估的报告书
- 教学课件 金属学与热处理-崔忠圻
- 多智能体系统教材课件汇总完整版ppt全套课件最全教学教程整本书电子教案全书教案课件合集
- 铁道概论全套课件
- 艺术欣赏完整版课件全套ppt教程(最新)
- 北师大版五年级数学上册全册教案含反思
- 阅兵英语课件
- 有限空间作业考试题库600题含答案
- 餐饮服务招标评分标准
- 高等数学第一章综合测试卷含答案
评论
0/150
提交评论