资源描述
学生交费管理系统目 录 1 项目概述411 现系统的概述412 业务流程描述52可行性分析521技术可行性522 用户使用可行性82.2.1系统管理模块(CTRL+O)82.2.2班级管理模块(CTRL+P):82.2.3学生交费管理模块(CTRL+T):93需求分析931总体目标93.2需求信息的收集1033 系统功能建模113.1软件模块结构设计12311系统方案确定12312软件结构设计121.系统登录界面134课程管理模块1644数据库设计175详细设计2551系统登陆界面:2552系统主界面:2653用户管理模块:2654学生缴费管理模块:276.编码2861系统登陆界面代码:2862系统主界面代码:3053用户管理模块:3154学生交费管理模块代码:347 系统测试及运行387.1 测试计划387.2、测试项目说明397.3 测试计划评价417.4测试分析报告41总结44致 谢44参考文献45 1 项目概述11 现系统的概述21世纪以来,人类经济高速发展,人们发生了日新月异的变化,特别是计算机的应用及普及到经济和社会生活的各个领域。使原本的旧的管理方法越来越不适应现在社会的发展。许多人还停留在以前的手工操作。这大大地阻碍了人类经济的发展。为了适应现代社会人们高度强烈的时间观念,学校信息管理系统软件为学校办公室带来了极大的方便。我所开发的这个系统所采用的是当前较为流行的编程软件VISUAL BASIC 6.0作为实现语言,以数据库Microsoft SQL Server2000作为系统的后台操作,其功能在系统内部有源代码直接完成。我们只需按系统要求输入即可操作。为将来学校上网做好准备跟据1999年中国电信的调查报告显示我国的上网人数已达到890万,互联网已经十分普及,学校往界的毕业生希望能在世界的任何一个角落查到自己校友的信息,本系统为学校将来的上网作了先期工作,比如数据库的建立。根据实际情况,我们使用原型法(Rapid Prototyping)即以少量代价快速地构造一个可执行的软件系统模型。使用户和开发人员可以较快地确定需求,然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的性质逐渐增加上去,直到所有的性质全部满足。此时模块也发展成为最终产品了。设计一个数据库系统,首先必须确认数据库系统的用户和用途。由于数据库系统是一个组织部门的模拟,数据库系统设计者必须对一个组织部门的基本情况有所了解,比如该组织部门的组织机构、各部门的联系、有关事物和活动以及描述它们的数据、信息流程、政策和制度、报表及其格式和有关的文档等。收集和分析这些资料的过程称为需求分析。例如在一个大学,学生是按照系部、班级来进行组织,而课程则是按照专业、任课教师等进行组织。每个学生需要选修自己专业内的课程并取得信息,而校方则需要统计每门课的平均分和学生的平均信息,这就是学生和课程之间的联系和需要进行的处理。需求分析的目标是给出应用领域中数据项、数据项之间的关系和数据操作任务的详细定义,为数据库系统的概念设计、逻辑设计和物理设计奠定基础,为优化数据库系统的逻辑结构和物理结构提供可靠依据。设计人员应与用户密切合作,用户则应积极参与,从而使设计人员对用户需求有全面、准确的理解。学生交费管理系统是一个典型的数据库应用程序,由班级管理、学生档案管理、学生交费管理、模块组成12 业务流程描述业务流程分析的目的是获得业务流程及业务与数据联系的形式描述。一般采用数据流分析法,分析结果以数据流图(DFD)表示。是一个数据流图的示意图。图中有向线表示数据流,圆圈中写上处理的名称、圆圈代表一个处理、带有名字的双线段表示存储的信息。输出处理输入处理查找分析原始输入 筛选后的 查找结果 格式化的输出数据流图示意图下面是学生交费管理数据库系统设计的业务流程分析,原始的数据是学生的信息,系统要求统计学生的信息,并根据信息统计的结果由奖学金评委评选出获得奖学金的学生,其数据流图如下图输出处理产生报表输入处理 信息清单 统计整理 报表清单 获奖清单 存储文件 学生信息统计的数据流图 2可行性分析21技术可行性由于本系统管理的对象单一,都是在校学生,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。因此,比较适合于采用数据库管理。且学校用于学生管理的微机都是PIII以上的机器,在存储量、速度方面都能满足数据库运行的要求。在技术难度方面,由于有指导老师的指导和相关参考文献,特别是网上资料,特别是参考其它程序的功能,因此完全可以实现。本系统的设计是在Windows 98中文版操作系统环境下,使用Visual Basic 6.0中文版开发成功的。数据库是MIS中的重要支持技术,在MIS开发过程中,如何选择数据库管理是一个重要的问题,目前,数据库产品较多,每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围,本系统选用的数据库语言介绍如下:Visual Basic语言Visual Basic是一种可视化的、面对对象和条用事件驱动方式的结构化高级程序设计,可用于开发Windows环境下的种类应用程序。它简单易学、效率高,且功能强大,可以与Windows的专业开发工具SDK相媲美,而且程序开发人员不必具有C/C+编程基础。在Visual Basic环境下,利用事件驱动的编程机制、新颖易用的可视化设计工具,使用Windows内部的应用程序接口(API)函数,以及动态链接库(DLL)、动态数据交换(DDE)、对象的链接与嵌入(OLE)、开放式数据访问(ODBC)等技术,可以高效、快速地开发出Windows环境下功能强大、图形界面丰富的应用软件系统。总的来说,Visual Basic具有以下特点:可视化编程:用传统程序设计语言设计程序时,都是通过编写程序代码来设计用户界面,在设计过程中看不到界面的实际显示效果,必须编译后运行程序才能观察。如果对界面的效果不满意,还要回到程序中修改。有时候,这种编程-编译-修改的操作可能要反复多次,大大影响了软件开发效率。Visual Basic提供了可视化设计工具,把Windows界面设计的复杂性“封装”起来,开发人员不必为界面设计而编写大量程序代码。只需要按设计要求的屏幕布局,用系统提供的工具,在屏幕上画出各种“部件”,即图形对象,并设置这些图形对象的属性。Visual Basic自动产生界面设计代码,程序设计人员只需要编写实现程序功能的那部分代码,从而可以大大提高程序设计的效率。面向对象的程序设计4.0版以后的Visual Basic支持面向对象的程序设计,但它与一般的面向对象的程序设计语言(C+)不完全相同。在一般的面向对象程序设计语言中,对象由程序代码和数据组成,是抽象的概念;而Visual Basic则是应用面向对象的程序设计方法(OOP),把程序和数据封装起来作为一个对象,并为每个对象赋予应有的属性,使对象成为实在的东西。在设计对象时,不必编写建立和描述每个对象的程序代码,而是用工具画在界面上,Visual Basic自动生成对象的程序代码并封装起来。每个对象以图形方式显示在界面上,都是可视的。结构化程序设计语言Visual Basic是在BASIC语言的基础上发展起来的,具有高级程序设计语言的语句结构,接近于自然语言和人类的逻辑思维方式。Visual Basic语句简单易懂,其编辑器支持彩色代码,可自动进行语法错误检查,同时具有功能强大且使用灵活的调试器和编译器。Visual Basic是解释型语言,在输入代码的同时,解释系统将高级语言分解翻译成计算机可以识别的机器指令,并判断每个语句的语法错误。在设计Visual Basic程序的过程中,随时可以运行程序,而在整个程序设计好之后,可以编译生成可执行文件(.EXE),脱离Visual Basic环境,直接在Windows环境下运行。事件驱动编程机制Visual Basic通过事件来执行对象的操作。一个对象可能会产生多个事件,每个事件都可以通过一段程序来响应。例如,命令按钮是一个对象,当用户单击该按钮时,将产生一个“单击“(CLICK)事件,而在产生该事件时将执行一段程序,用来实现指定的操作。在用Visual Basic设计大型应用软件时,不必建立具有明显开始和结束的程序,而是编写若干个微小的子程序,即过程。这些过程分别面向不同的对象,由用户操作引发某个事件来驱动完成某种特定的功能,或者由事件驱动程序调用通用过程来执行指定的操作,这样可以方便编程人员,提高效率。访问数据库Visual Basic具有强大的数据库管理功能,利用数据控件和数据库管理窗口,可以直接建立或处理Microsoft Access格式的数据库,并提供了强大的数据存储和检索功能。同时,Visual Basic还能直接编辑和访问其他外部数据库,如dBASE,FoxPro,Paradox等,这些数据库格式都可以用Visual Basic编辑和处理。Visual Basic提供开放式数据连接,即ODBC功能,可通过直接访问或建立连接的方式使用并操作后台大型网络数据库,如SQL Server,Oracle等。在应用程序中,可以使用结构化查询语言SQL数据标准,直接访问服务器上的数据库,并提供了简单的面向对象的库操作指令和多用户数据库访问的加锁机制和网络数据库的SQL的编程技术,为单机上运行的数据库提供了SQL网络接口,以便在分布式环境中快速而有效地实现客户/服务器(client/server)方案。动态数据交换(DDE)利用动态数据交换(Dynamic Data Exchange)技术,可以把一种应用程序中的数据动态地链接到另一种应用程序中,使两种完全不同的应用程序建立起一条动态数据链路。当原始数据变化时,可以自动更新链接的数据。Visual Basic提供了动态数据交换的编程技术,可以在应用程序中与其他Windows应用程序建立动态数据交换,在不同的应用程序之间进行通信。对象的链接与嵌入(OLE)对象的链接与嵌入(OLE)将每个应用程序都看做是一个对象(object),将不同的对象链接(link)起来,再嵌入(embed)某个应用程序中,从而可以得到具有声音、影像、图像、动画、文字等各种信息的集合式的文件。OLE技术是Microsoft公司对象技术的战略,它把多个应用程序合为一体,将每个应用程序看做是一个对象进行链接和嵌入,是一种应用程序一体化的技术。利用OLE技术,可以方便地建立复合式文档(compound document),这种文档由来自多个不同应用程序的对象组成,文档中的每个对象都与原来的应用程序相联系,并可执行与原来应用程序完全相同的操作。动态链接库(DLL)Visual Basic是一种高级程序设计语言,不具备低级语言的功能,对访问机器硬件的操作不太容易实现。但它可以通过动态链接库技术将C/C+或汇编语言编写的程序加入到Visual Basic应用程序中,可以像调用内部函数一样调用其他语言编写的函数。此外,通过动态链接库,还可以调用Windows应用程序接口(API)函数,实现SDK所具有的功能。22 用户使用可行性本系统主要可以实现以下的管理功能:班级管理、学生档案管理、学生交费管理、课程管理、成绩管理等等。2.2.1系统管理模块(CTRL+O)该模块的主要任务是维护系统的正常运行和安全性设置,包括添加用户(快捷键:CTRL+A)、修改密码(快捷键:CTRL+B)、重新登录(快捷键:CTRL+F1)等等。2.2.2班级管理模块(CTRL+P):该模块的功能是实现对全校班级的管理工作,包括:班级游览、班级添加、班级查询等,这三个功能模块各自独立,完成学校的全部班级的管理。2.2.3学生交费管理模块(CTRL+T):该模块的主要功能是实现对学生的交费信息的管理工作,包括交费添加、交费浏览、交费查询等功能,从而方便学校管理部门对学生交费的基本情况的快速查询和了解。 3需求分析31总体目标 通过调查,要求系统需要有以下功能: 由于操作人员的计算机知识普遍较差,要求有良好的人机界面; 由于该系统的使用对象多,要求有较好的权限管理; 原始数据修改简单方便,支持多条件修改 方便的数据查询,支持多条件查询; 在相应的权限下,删除数据方便简单,数据稳定性好; 数据计算自动完成,尽量减少人工干预;设计一个数据库系统,首先必须确认数据库系统的用户和用途。由于数据库系统是一个组织部门的模拟,数据库系统设计者必须对一个组织部门的基本情况有所了解,比如该组织部门的组织机构、各部门的联系、有关事物和活动以及描述它们的数据、信息流程、政策和制度、报表及其格式和有关的文档等。收集和分析这些资料的过程称为需求分析。例如在一个大学,学生是按照系部、班级来进行组织,而课程则是按照专业、任课教师等进行组织。每个学生需要选修自己专业内的课程并取得信息,而校方则需要统计每门课的平均分和学生的平均信息,这就是学生和课程之间的联系和需要进行的处理。需求分析的目标是给出应用领域中数据项、数据项之间的关系和数据操作任务的详细定义,为数据库系统的概念设计、逻辑设计和物理设计奠定基础,为优化数据库系统的逻辑结构和物理结构提供可靠依据。设计人员应与用户密切合作,用户则应积极参与,从而使设计人员对用户需求有全面、准确的理解。需求分析的过程是对现实世界深入了解的过程,数据库系统能否正确的反映现实世界主要取决于需求分析,需求分析人员既要对数据库技术有一定的了解,又要对组织部门的情况比较熟悉,一般由数据库系统设计人员和本组织部门的有关工作人员合作进行。需求分析的结果整理成需求分析说明书,这是数据库技术人员与应用组织部门的工作人员取得共识的基础,必须得到有关组织部门人员的确认。3.2需求信息的收集需求信息的收集又称为系统调查。为了充分地了解用户可能提出的要求,在调查研究之前,要做好充分的准备工作,要明确调查的目的、调查的内容和调查的方式。1、调查的目的 首先,要了解一个组织部门的机构设置,主要业务活动和职能。其次,要了解本组织部门的大致工作流程和任务范围划分。这一阶段的工作是大量的和繁琐的。尤其是管理人员缺乏对计算机的了解,他们不知道或不清楚哪些信息对于数据库系统设计者是必要的或重要的,不了解计算机在管理中能起什么作用,做哪些工作。另一方面,数据库系统设计者缺乏对管理对象的了解,不了解管理对象内部的各种联系,不了解数据处理中的各种要求。由于管理人员与数据库系统设计者之间存在着这样的距离,所以需要管理部门和数据库系统设计者更加紧密地配合,充分提供有关信息和资料,为数据库系统的设计打下良好的基础。2、调查的内容外部要求:信息的性质,响应的时间、频度和如何发生的规则,以及对经济效益的考虑和要求,安全性及完整性要求。 业务现状:这是调查的重点,包括信息的种类,信息流程,信息的处理方式,各种业务工作过程和各种票据。 组织机构:了解本组织部门内部机构的作用、现状、存在的问题,及是否适应计算机管理。规划中的应用范围和要求。3、调查方式开座谈会;跟班作业;请调查对象填写调查表;查看业务记录、票据;个别交谈。对高层负责人的调查,最好采用个别交谈方式。在交谈之前,应给他们一份详细的调查提纲,以便使他们有所准备。从访问中,可获得有关该组织高层管理活动和决策过程的信息需求、该组织的运行政策、未来发展变化趋势等与战略规划有关的信息。对中层管理人员的访问,可采用开座谈会、个别交谈或发调查表、查看业务记录的方式,目的是了解企业的具体业务控制方式和约束条件、不同业务之间的接口、日常控制管理的信息需求以及预测未来发展的潜在信息要求。对基层操作人员的调查,主要采用发调查表和个别交谈方式来了解每项具体业务的过程、数据要求和约束条件。 33 系统功能建模3.3.1功能层次图学生信息管理系统登录系统管理班级管理档案管理打印报表课程管理成绩管理基本课程设置学生缴费浏览班级课程设置学生缴费添加基本学费设置学生缴费查询修改密码添加班级档案浏览添加用户复新登录班级浏览班级查询档案添加档案查询332系统数据流程图学生注册基本信息输入学籍信息输入课程信息输入课程信息管理基本信息管理学籍信息管理成绩信息输入入奖惩信息输入。成绩信息管理奖惩信息管理4 概要设计。 32 3.1软件模块结构设计311系统方案确定通过对系统的调研与分析,系统主要应完成的功能有:班级管理、学生成绩管理、学生交费管理、课程管理、成绩管理、系统管理等功能。312软件结构设计本系统在执行时,先根据不同的操作人员的需要来进行相应的模块,然后可以输入数据或者进行其它的查询或浏览等操作;总体来说,本系统属于一个事务型管理系统。接受数据处理中心班级管理档案管理交费管理课程管理成绩管理打印报表 1. 系统登录界面系统启动后,将首先出现下图所示的登陆窗体,用具首先输入登陆名,然后输入密码。如果用户名或密码不正确,将出现提示。使用方法:将用户名和密码分别输入对应框,通过确定按钮连接到数据库,如果数据库存在此用户名,即登陆本系统。反之,登陆失败。如果取消登陆,可以通过取消按钮取消。该模块的主要任务是完成系统的安全功能,防止非法用户登录系统输入正确的用户名和密码后才能进入系统,否则无法进入系统。同时分为超级用户和一般用户2学生交费管理系统主界面这是系统的主界面,在些主要有班级管理、学生档案管理、学生交费管理、课程管理、成绩管理等模块组成下面说细介绍主界面下的每个模块的功能主窗体,也是很重要的一个窗体,它起到连接各个窗体的作用,是各个窗体的核心,用户成功登陆后,出现以下窗体:主窗体的作用虽然重要,但它的使用并不复杂,只要用鼠标直接点击所需选项就可以连接到各个窗体中,本人也设置了一些快捷键1) 系统管理:进入系统后,选择菜单“添加用户信息”就可以添加用户,出现如下所示的窗体。使用方法:把用户名和密码输入对应框,在通过密码确认来验证输入密码的合法性,然后通过添加按钮把数据添加到数据库中。如果想取消操作,可以通过取消按钮退出。维护系统的正常运行和安全性设置,包括添加用户(快捷键:CTRL+A)、修改密码(快捷键:CTRL+B)、重新登录(快捷键:CTRL+F1)等等2) 班级管理模块该模块的功能是实现对全校班级的管理工作,包括:班级游览、班级添加、班级查询等,这三个功能模块各自独立,完成学校的全部班级的管理。3学生档案管理模块通过这个窗体,用户可以自行查询和删除学生信息,通过修改按钮,连接到修改学生基本信息窗体,自行修改学生信息。选择“学生交费管理”,出现以下窗体:使用方法:把学号和姓名输入对应的文本框,然后通过查询按钮把数据显示在数据框中;通过修改按钮把连接到修改学生信息窗体;通过删除按钮可以删除任意信息。如果想取消操作,可以通过取消按钮退出。该模块的主要功能是实现对学生的个人信息的管理工作,包括档案添加、档案浏览、档案查询等功能,从而方便学校管理部门对学校的基本情况的快速查询和了解。4课程管理模块该模块对各个班级的课程进行设置,并可在其中设置各门课程的教材选用情况,方便了学校教材管理部门和教务处的教学管理人员的工作。该模块包括基本课程设计和班级课程设置两个模块。 44数据库设计4.4.1数据库的概念数据库处理在信息系统的研究中一直是非常重要的主题,然而,近年来,随着World Wide Web(WWW)的猛增及Internet技术的迅速发展,使得数据库技术之时成为最热门技术之一。数据库技术能使Internet应用超越具有早期应用特点的简单的发布。同时,Internet技术提供了一种向用户发布数据库内容的标准化的访问方法。这些技术没有脱离经典数据库技术的要求。它们只是加重了数据库技术的重要性。数据库的设计和开发及包括艺术有包括工程。理解用户的需求,然后,把它们转变为有效的数据库设计是一个艺术过程。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用,是一个工程过程。数据库的目的是帮助人们跟踪事务。经典的数据库应用涉及诸如订单、顾客、工作、员工、学生、电话之类的项,或其它数据量较大、需要密切关注的事务。最近,由于数据库的普及,数据库技术已经被应用到了新的领域,诸如用于Internet的数据库或用于公司内联网的数据库。数据库也被越来越多地应用于生成和维护多媒体应用程序上。计算机的数据处理应用,首先要把大量的信息以数据形式存放在存储器中。存储器的容量、存储速率直接影响到数据管理技术的发展。从1956年生产出第一台计算机到现在,存储器的发展,为数据库技术提供了良好的物质基础。使用计算机以后,数据处理的速度和规模,无论是相对于手工方式,还是机械方式,都有无可比拟的优势。通常在数据处理中,计算是比较简单的而数据的管理却比较复杂。数据管理是指数据的收集、整理、组织、存储、维护、检索、传送等操作,这部分操作是数据处理业务的基本环节,而且是任何数据处理业务中必不可少的共有部分。数据管理技术的优劣,将直接影响数据处理的效率。数据库在一个信息管理系统中占有非常重要的位置,数据库结构设计的好坏将直接对应用系统的效果产生影响。合理的数据库设计可以提高数据库存储效率,保证数据的完整和一致。同时合理的数据结构也将有利于程序的实现。设计数据库系统时,应该首先了解用户的各个方面的需求,包括现有的以及将来可能增加的。4.4.2创建数据库文件如果操作系统中安装了ACCESS2000的话,可以在开始菜单的程序菜单中可以找到。如下所示:打开ACCESS2000之后,会开启一个窗口,可选择是打开以前的数据库文件还是新建一个新的空数据库文件,如果选择空ACCESS数据库,然后点击确定按钮。这些就新建了一个数据库文件。最后一步就是要选择一个要保存数据库文件的名字和位置。点击创建就完成。4.4.3 怎样创建一个数据表 上面已经讲了如何创建一个数据库文件,按照上面的步骤建立一个数据库文件后,需要在数据库文件中建立一个数据表。在下面的对话框中选”使用设计器创建表”,上面还有三个按钮,一个是打开,一个是设计,一个是新建,点击设计,就可以开始设计数据表了。 出现设计的界面后,就可以开始设计数据表了!4.4.4 VB连接ACCESS2000数据库用vb编写一个管理软件,如果不能连接数据库,那也没有什么用处。先看看VB是如何与ACCESS2000数据库相连接的。Sub ConnStr()连接数据库Set conn = CreateObject(ADODB.Connection) 建立数据库连接对像DBpath = App.Path & & data.mdb 设置数据的路径conn.Open Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & DBpath 打开数据库连接Set rs = CreateObject(ADODB.Recordset) 设置数据库对像End Sub上面的一段代码就是连接数据库的。上用到了三个变量conn,Dbpath,rs。其中有两个变量要定义为公用的变量,因为这段代码是放在一个模块中的,为了在每一个窗体中能够使用这个变量,所以必须要声明为公用变量。声明公用变量的方法如下:Public connPublic rs上面就是声明为公用变量,上面的声明一定要放在模块的最上面。如果声明在下面,那就成了局部变量,那么作用范围就会不同了,作用就更不同,而且在其它窗体中使用到了这个变量,程序会出错。数据库采用了Microsoft推出的Access数据库,这是微软集成Office中的一个桌面数据库,能够快速方便的和Office的其他套件综合使用。由于Access具有显著的简易性和有效性,大量的桌面数据库系统都采用Access作为后台数据库。使用Access的好处还在于,如果你的系统扩展到Client/Server模式的时候,可以使用Microsoft的数据库服务器软件SQL Server,此时,程序只需要简单的修改一下链接(ADO的数据源)就可以,这样,为程序的平滑扩展提供了非常有力的条件。321 本系统中所涉及到的主要实体共有九个数据表:allkecheng表:课程名称,教材cj表:学号,学期,类型,课程名称,分数class表:年级,班级,教室,年制,专业,班主任,备注classkecheng表:年级,专业,年制,学期,课程名称jf表:学号,学期,交费,欠费,日期,操作员kaoshileixing表:类型use表:username,password,admin,readonly,qx1,qx2,qx3,qx4xj表:学号,姓名,性别,班级,出生年月,家庭住址,邮政编码,联系电话,入学时间,备注suefei表:年级,专业,年制,学期,学费有了上面的数据结构、数据项和数据流程,我们就能进行下面的数据库设计。数据库概念结构设计得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为以后的逻辑结构设计打下基础。这些实体包括有:学生实体、课程实体和专业实体。下图为学生实体E-R图:学 生学生考试信息 学生基本信息学生奖惩信息学生学籍信息下图为课程实体E-R图:课 程设置年级设置专业课程名称课程编号下图为年级实体E-R图:专 业成绩管理设置课程班级编号实体和实体之间的关系E-R图如下图所示:考核过程学 生专业设置课 程课程设置专 业 各表的物理结构如下:allkecheng表:字段名称类型宽度小数位课程名称文本20教材文本30Cj表:字段名称类型宽度小数位学号文本10学期文本50类型文本16课程名称文本20分数单精度型数字自动Class表:字段名称类型宽度小数位年级文本16班级文本20教室文本5年制文本8专业文本16班主任文本8备注备注Classkecheng表:字段名称类型宽度小数位年级文本16专业文本12年制文本8学期文本50课程名称文本20Jf表:字段名称类型宽度小数位学号文本5学期文本50交费货币自动欠费货币自动日期日期/时间操作员文本10Kaosileixing表:字段名称类型宽度小数位类型文本10Use表:字段名称类型宽度小数位username文本20password文本20Admin文本2Readonly文本2Qx1文本2Qx2文本2Qx3文本2Qx4文本2xj表:字段名称类型宽度小数位学号文本9姓名文本8性别文本2班级文本10出生年月日期/时间家庭住址文本30邮政编码数字(长整型)联系电话数字(长整型)入学时间日期/时间备注备注xuefei表:字段名称类型宽度小数位年级文本16专业文本50年制文本20学期文本40学费货币自动 5 详细设计 本部分主要内容为本系统的运行界面以及主要界面的源代码。51系统登陆界面:本界面的主要功能是为了对系统进行安全性管理,本系统的用户名和密码保存在USE表中,本系统根据不同的用户而设置了不同的权限,可以用用户名:admin;密码:admin来登陆本系统。52系统主界面:本模块是本系统的应用界面,在本界面上集成了本系统的所有功能,共有6个功能菜单和19个子菜单(功能模块),从而实现了本系统从班级管理、档案管理、缴费管理、交费管理等系统的具体功能,同时,在系统管理模块中可以完成对本系统的安全性管理。53用户管理模块:本模块是本系统的安全性设置模块,根据学校不同部门以及不同使用人员对本系统的要求和需要,从而实行了分级管理,对用户的权限和类别进行了分类管理。54学生缴费管理模块:因为本系统中有些功能模块具有相似之处,因此在本文只用此模块进行一个简单的说明。其它的相似模块的代码可能参阅本模块的设计思路。6.编码61系统登陆界面代码:。Private Sub Command1_Click()Dim mrc As ADODB.Recordsettxtsql = select username from use where username= & Trim(Text1.Text) & Set mrc = ExecuteSQL(txtsql)If mrc.EOF = True Then MsgBox 用户名错误!, vbExclamation + vbOKOnly, 警告 Text1.SetFocus Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text) Exit SubEnd Ifusername = mrc.Fields(0)txtsql2 = select username from use where password= & Trim(Text2.Text) & Set mrc = ExecuteSQL(txtsql2)If mrc.EOF = True Then MsgBox 密码错误!, vbExclamation + vbOKOnly, 警告 Text2.SetFocus Text2.SelStart = 0 Text2.SelLength = Len(Text2.Text) Exit SubEnd Iftxtsql = select username from use where username= & Trim(Text1.Text) & and password= & Trim(Text2.Text) & Set mrc = ExecuteSQL(txtsql)If mrc.EOF = True Then MsgBox 用户名称和密码不匹配!, vbExclamation + vbOKOnly, 警告 Exit SubEnd IfMDIForm1.Showfrmcpass.Text1.Text = Text1.TextUnload MeEnd SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Form_Load()End SubPrivate Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then Text2.SetFocusEnd IfEnd SubPrivate Sub Text2_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then Command1.SetFocusEnd IfEnd Sub62系统主界面代码:Private Sub classkecheng_Click()qxstr = Executeqx(4)If qxstr = false Then ss = MsgBox(对不起,你没有管理本功能的权限,请与管理员联系!, vbInformation + vbOKOnly, 警告) Exit SubEnd IfFrmclasskecheng1.ShowFrmclasskecheng1.ZOrderEnd SubPrivate Sub jiaofeiadd_Click()qxstr = Executeqx(3)If qxstr = false Or qxstr = readonly Then ss = MsgBox(对不起,你没有管理本功能的权限,请与管理员联系!, vbInformation + vbOKOnly, 警告) Exit SubEnd IfFrmjf1.ShowFrmjf1.ZOrder 0End Sub53用户管理模块:Private Sub Command1_Click()If Trim(Text1(0).Text) = Then MsgBox 用户名不能为空!, vbExclamation + vbOKOnly, 警告 Text1(0).SetFocus Exit SubEnd IfIf Trim(Text1(1).Text) = Then MsgBox 密码不能为空!, vbExclamation + vbOKOnly, 警告 Text1(1).SetFocus Exit SubEnd IfIf Trim(Text1(2).Text) = Then MsgBox 确认密码不能为空!, vbExclamation + vbOKOnly, 警告 Text1(2).SetFocus Exit SubEnd IfIf Trim(Text1(1).Text) Trim(Text1(2).Text) Then MsgBox 确认密码不正确!, vbExclamation + vbOKOnly, 警告 Text1(2).SetFocus Exit SubEnd IfDim aa As Integeraa = 0If Option1(2).Value = True Then For i = 0 To 3 If Check1(i).Value = 1 Then aa = 1 Exit For End IfNext iIf aa = 0 Then MsgBox 普通用户至少要有一项权限!, vbExclamation + vbOKOnly, 警告Exit SubEnd IfEnd IfDim mrc As ADODB.Recordsettxtsql = select * from use where username= & Trim(Text1(0).Text) & Set mrc = ExecuteSQL(txtsql)If mrc.EOF = False Then MsgBox 已存在该用户!, vbExclamation + vbOKOnly, 警告 Text1(0).SetFocus Text1(0).SelStart = 0 Text1(0).SelLength = Len(Text1(0).Text) Exit SubEnd Iftxtsql = select * from useSet mrc = ExecuteSQL(txtsql)mrc.AddNew mrc.Fields(0) = Trim(Text1(0).Text) mrc.Fields(1) = Trim(Text1(1).Text)For i = 0 To 2 If Option1(i).Value = True Then Select Case i Case 0 mrc.Fields(admin) = y Case 1 mrc.Fields(readonly) = y Case 2 For j = 0 To 3 If Check1(j).Value = 1 Then Select Case j Case 0 mrc.Fields(qx1) = y Case 1 mrc.Fields(qx2) = y Case 2 mrc.Fields(qx3) = y Case 3 mrc.Fields(qx4) = y End Select End If Next j End Select End If Next i mrc.Update MsgBox 用户添加成功!, vbExclamation + vbOKOnly, 警告 Text1(0).Text = Text1(1).Text = Text1(2).Text = End SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Form_Load()Option1(2).Value = TrueEnd SubPrivate Sub Form_Resize()Text1(0).SetFocusEnd SubPrivate Sub Option1_Click(Index As Integer)If Index 2 ThenFor i = 0 To 3 Check1(i).Enabled = FalseNext iElseFor i = 0 To 3 Check1(i).Enabled = TrueNext iEnd IfEnd Sub54学生交费管理模块代码:Public Sub classshowdata()Dim j As IntegerDim i As IntegerDim mrc1 As ADODB.Recordset Set mrc1 = ExecuteSQL(Trim(txtsql) If mrc1.EOF = False Then mrc1.MoveFirst With MSF1 .Rows = 1 Do While Not mrc1.EOF .Rows = .Rows + 1 For i = 1 To mrc1.Fields.Count .TextMatrix(.Rows - 1, i) = mrc1.Fields(i - 1) Next i mrc1.MoveNext Loop mrc1.Close End With Else If classfind = True Then Formclass2.Hide Formclass3.Show zzz = MsgBox(对不起,没有此班级的档案记录!, vbOKOnly, 查询) Formclass3.ZOrder (0) Formclass3.Text1(0).SetFocus End If End IfEnd SubPrivate Sub cmdfind_Click()Formclass3.ShowEnd SubPrivate Sub cmdmodi_Click()If Trim(Me.MSF1.TextMatrix(MSF1.Row, 1) = Then sssss = MsgBox(你还没有选择记录!, vbOKOnly + vbExclamation, 警告) Exit Sub Else qxstr = Executeqx(2) If qxstr = readonly Then ss = MsgBox(对不起,你是只读用户不能修改记录,请与管理员联系!, vbInformation + vbOKOnly, 警告) Exit Sub End If classmodi = True Formclass1.Show Formclass1.classload Formclass1.ZOrder 0 Call Form_Activate End IfEnd SubPublic Sub classtree()TreeView1.Nodes.ClearDim nodex As NodeDim mrc As ADODB.RecordsetDim mrc1 As ADODB.RecordsetDim str As StringDim a As Stringa = 年级TreeView1.LineStyle = tvwRootLinesstr = select distinct 年级 from class order by 年级Set mrc = ExecuteSQL(str)str = select distinct 年级,班级 from class order by 年级,班级Set mrc1 = ExecuteSQL(str)mrc.MoveFirstDo Until mrc.EOF mrc1.MoveFirst Set nodex = TreeView1.Nodes.add(, , a, mrc.Fields(0), 1, 1) Do While Not mrc1.EOF If mrc1.Fields(0) = mrc.Fields(0) Then Set nodex = TreeView1.Nodes.add(a, tvwChild, , mrc1.Fields(1), 2, 2) End If mrc1.MoveNext Loop a = a & 1 mrc.MoveNextLoop mrc1.Close mrc.Close Set mrc = Nothing Set mrc1 = NothingEnd SubPrivate Sub TreeView1_DblClick()On Error GoTo ssIf TreeView1.SelectedItem.Index = 0 ThenMSF1.ClearExit SubEnd Iftxtsql = TreeView1.Nodes.Item(TreeView1.SelectedItem.Index) txtsql = select * from class where 年级= & Trim(txtsql) & or 班级= & Trim(txtsql) & order by 年级 ,班级 printstr = tx
展开阅读全文