计算机房供电系统的自动化控制-毕业论.doc_第1页
计算机房供电系统的自动化控制-毕业论.doc_第2页
计算机房供电系统的自动化控制-毕业论.doc_第3页
计算机房供电系统的自动化控制-毕业论.doc_第4页
计算机房供电系统的自动化控制-毕业论.doc_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

计算机房供电系统的自动化控制奖学金管理系统论文日期:2006-05-25来源: 作者:字体:大 中 小 目 录 目 录 1前 言 2摘 要 3ABSTRACT 41. 概述 61.1 奖学金系统介绍 61.2 本课题目的 61.3 面向对象程序的开发 61.4 VF(Visual Foxpro)简介 72. 系统需求分析 82.1 功能要求 82.2 运行要求 82.3 界面说明 83. 学生奖学金评定系统的设计思路及设计框图 93.1 数据流图 113.2 系统框图 133.3 程序流程图 153.4 奖学金评定子系统流程图 163.5 查询系统子图 173.6 奖学金评定系统子图 174. 设计计划 184.1 适用范围 184.2 概要设计及方法 184.3 模块说明 184.4 应用程序流程图 195数据处理 215.1 数据采集 215.2 数据处理 216系统的具体实现 237源代码 347.1 表单和报表介绍 347.2 主程序代码 347.3 控件源代码 358. 结束语 459 致谢 46英文资料 48译文 53前 言 众所周知,管理系统是当今计算机软件发展的热门课题之一。近几年来,管理系统的出现从根本上改良了昔日人力处理事务造成的周期长、效率低、误差、遗漏等问题。在此基础上,以计算机为载体的应用软件层出不穷。本软件就是针对目前大学不断扩招,学生奖学金评定的日趋复杂化和多元化而设计的。本软件采用了计算机化的评定模式,查询、修改等操作都使用了计算机的数据库技术,比起以前手工计算的方法有了很大的进步,提供了相当大的方便,而且解决了因手工操作出现的工作量大、周期长、效率低、误差、遗漏等问题,使奖学金评定变的快捷、简便、准确。文中详尽的介绍了软件设计过程中的方案论证,软件结构,软件功能以及相应的特点。 编者 XXXXXXX2004年6月摘 要 “ 学生奖学金评定系统”依据Visual Foxpro程序设计简明教程,以Microsoft Visual Foxpro 6.0为主要开发工具。学生奖学金评定系统就是对学生奖学金进行评定的系统,用户可以以各种身份登陆系统,而每种身份都有不同的权限。本程序一共设置了两种用户身份,分别是普通用户和管理员用户。普通用户属于普通学生用户,只拥有查询权限,而管理员用户属于系统管理员,对数据拥有查询、修改等一切权限,本程序用Visual Foxpro来建立数据库,用SQL语言来编写程序。本程序涉及SQL语言、内部控件,另外还要在编辑过程中运用数据库的创建方法和访问方法。为使用户更好的了解本软件,文中详尽的介绍了软件的设计方案,程序功能介绍,数据库的建立,程序的设计等等。用户若要熟练的使用本软件,可参考Visual Foxpro程序设计简明教程。在开发过程中,全部软件从基础到应用、 从原理到实践一气呵成,自成一体,以学以致用为原则,体现管理软件的特点。关键词: Visual Foxpro 数据库 内部控件 ABSTRACTThis project according to Visual Foxpro design program the concise study course , with Microsoft Visual Foxpro 6. 0 main developing instrument.The student scholarship assesses system is student scholarship to proceed system that assesses, users can land the system with various kinds of identities , and each kind of identity has different authorities . This procedure has set up the identity of two kinds of users, including general user and Administrator user altogether. General users belong to ordinary students users, only have authority of inquiring about, and Administrator users belong to the system manager, having all authorities of inquiring about , revising etc. to the data, write the procedure with SQL.This procedure involves SQL , inside controlling part and ActiveX controlling part, will use the establishment method of the database and visit the method in the course of editor in addition.In order to use a software of familys better understanding , the design plan of the exhaustive introduction software in the article, the function of the procedure recommend, the setting-up of the database , design of the procedure ,etc. If users want a software of skilled use, can consult Visual Foxpro design program the concise study course In the course of developing, all software reach from foundation to use , accomplish without any letup from principle to practice, establishing ones own system, adhering to the principle of studying in order to practice, we make great efforts to make Visual Foxpro combine with Microsoft Access database closely, reflect the characteristic of the multimedia teaching software.Keyword: Visual Foxpro Database Inside controlling 1. 概述1.1 奖学金系统介绍系统分为基本信息管理,学生信息管理,班级课程管理,学生成绩管理,学生成绩查询,奖学金评定,系统数据管理和用户管理七大模块,具备院系专业班级的录入/修改/删除,添加/修改/删除课程信息,学生信息录入/修改/删除,成绩录入/修改/删除,添加/修改/删除系统用户,备份数据,修改密码等功能。1.2 本课题目的设计院校学生奖学金评定系统解决了因手工操作而出现的工作量大周期长、效率低、误差、遗漏等问题,本系统简便、快捷、准确,为学生奖学金评定工作提供各类资料信息。系统代码模块化,代码更精简,升级更方便。系统升级为三级管理,超级管理员具有最高权限,下设院成绩管理员,最下为成绩输入员.各院管理各院的成绩互不干扰.添加课程管理(超级管理员权限)及课程类型管理.管理员可以管理单科输入成绩 ;输入员可以单科输入成绩 ;管理员可以进行奖学金评定。 系统首页可以发布消息,方便学生能及时了解成绩的信息发布情况。 管理员可以根据课程的变化随时更改课程及相应学分。管理员可以设定奖学金评定参数(评奖百分比、非考试课分数换算、是否去除不及格学生). 管理员、用户可以修改密码。 1.3 面向对象程序的开发 面向对象编程(Object-Oriented Programming ,OPP)是一套概念和想法,是一种利用计算机程序来描述实际问题的思路,也是一种直观,效率更高的解决问题的方法.面向对象的缘由主要是为了解决2个问题:1.程序代码的重复使用,由此种机制可以增加程序开发的速度.2.降低维护负担,将具备独立性特制的程序代码包装起来,同时修改部分程序代码时,不至于会影响到程序的其他部分.1.4 VF(Visual Foxpro)简介1995年6月,微软推出了Visual FoxPro 3.0版。接着又很快推出Visual FoxPro 5.0及其中文版。1998年发布了可视化编程语言集成包Visual Stadio 6.0 , Visual FoxPro 6.0(中文版)就是其中的一员。它是可运行于Windows95/98,Windows NT 平台的32位数据库开发系统。它是能充分发挥32位微处理器的强大功能,直观易用的编程工具。用户只需键入简单的命令,即可轻易完成数据库的建立,增添、修改、查询、索引以及产生报表或标签,或者利用其程序语言开发应用系统程序。由于它易于使用,功能较强,所以我选择用Visual FoxPro 6.0(中文版)作为我的编程工具来完成我的毕业设计。2. 系统需求分析2.1 功能要求(1)系统代码模块化,代码更精简,升级更方便。系统升级为三级管理,超级管理员具有最高权限,下设院成绩管理员,最下为成绩输入员.各院管理各院的成绩互不干扰. (3)添加课程管理(超级管理员权限)及课程类型管理.管理员可以管理单科输入成绩 ;输入员可以单科输入成绩 ;管理员可以进行奖学金评定。系统首页可以发布消息,方便学生能及时了解成绩的信息发布情况。 (5)管理员可以根据课程的变化随时更改课程及相应学分。管理员可以设定奖学金评定参数(评奖百分比、非考试课分数换算、是否去除不及格学生). 管理员、用户可以修改密码。 2.2 运行要求奔腾100 MHz以上处理器和至少32 MB RAM的IBM可兼容的PC机。安装有Microsoft Windows NT 4.0或Microsoft Windows2000XP的操作系统。2.3 界面说明 由于菜单界面对于初通计算机的人士会有一定的操作困难,我做的软件是学生奖学金评定系统,它的用户不一定都是专业人士,因此我选用了按钮界面,按钮界面更容易理解,适合于管理员、老师、学生不同人士操作。使奖学金评定工作变得更加快捷、方便。3. 学生奖学金评定系统的设计思路及设计框图根据实际情况,我们使用原型法(Rapid Prototyping)即以少量代价快速地构造一个可执行的软件系统模型。使用户和开发人员可以较快地确定需求,然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的性质逐渐增加上去,直到所有的性质全部满足。此时模块也发展成为最终产品了。具体设计总框图如下:学生信息更新3.1 数据流图 图43.2 系统框图 (1).系统总框图(2). 学生信息管理子系统框图学生信息管理子系统框图包括了学生的基本信息的输入、修改、删除。实现了学生信息管理模块的功能。(3). 成绩管理子系统框图成绩管理子系统框图包括了学生考试成绩和考核成绩的输入、修改和查询。实现了成绩管理模块的功能。(4) 查询统计子系统框图查询统计子系统框图包括了学生信息、奖学金信息、成绩信息的查询和统计,并且在各种信息中实现了学号和姓名的查询。(5)奖学金评定子系统框图奖学金评定子系统框图包括了奖学金的信息和条件的录入,以及奖学金评定的具体要求,而且实现了奖学金信息查询和报表输出。3.3 程序流程图(1).用户配置子系统流程图 是(2).成绩管理子系统流程图 主控程序3.4 奖学金评定子系统流程图 3.5 查询系统子图3.6 奖学金评定系统子图4. 设计计划4.1 适用范围 适用于各大专院校的奖学金评定工作,并且兼有一定的学籍管理功能,也可适用于一定的学籍管理工作4.2 概要设计及方法系统分为基本信息管理,学生信息管理,班级课程管理,学生成绩管理,学生成绩查询,奖学金评定,系统数据管理和用户管理七大模块,具备院系专业班级的录入/修改/删除,添加/修改/删除课程信息,学生信息录入/修改/删除,成绩录入/修改/删除,添加/修改/删除系统用户,备份数据,修改密码等功能。4.3 模块说明 基本信息管理: 主要记录的是,学生信息管理、班机课程管理、学生成绩管理、学生成绩查询、奖学金评定、系统数据管理和用户管理这七大模块中的主要信息。(1).学生信息管理模块此模块记录的信息有:学号、姓名、年龄、性别、专业、学历、出生年月、籍贯。并且具备学生信息录入、修改、删除等功能。(2).班级课程管理模块此模块记录的信息有:专业、学历、班级、课程编号、课程名、代课老师。并具备院系专业班级的录入、修改、删除和添加、修改、删除课程信息。(3).学生成绩管理模块此模块记录的信息有:学号、姓名、课程编号、课程名、成绩(考试成绩)总分、平均分、日常考核成绩(简称考核成绩)。并且具备成绩录入、修改、删除。(4).学生成绩查询模块此模块可以实现:按班机查询学生成绩、按学号查询学生成绩、按学生姓名查询学生成绩。(5).奖学金评定模块此模块记录的信息有:学号、姓名、专业、学历、班级、考试成绩、成绩的总分和平均分、日常考核成绩、奖学金信息、奖学金条件。并且具备对奖学金信息的查询、修改、删除。 (6). 系统数据管理模块此模块记录的信息有:全院所有的系、各系的所有的学生信息、本、专科所有奖学金的信息,最后打印输出。(7).用户管理模块此模块记录的信息有:权限、用户名、密码。根据对权限的选择可以进入相应的系统。同时具备对权限、用户名、密码的修改,确保系统运行时的安全性。4.4 应用程序流程图 图见下页5数据处理5.1 数据采集用户需要输入的数据有如下几类:(1).学生信息管理模块此模块需用户输入的主要的信息有:学号、姓名、年龄、性别、专业、学历、出生年月、籍贯。(2).班级课程管理模块此模块需用户输入的主要的信息有:专业、学历、班级、课程编号、课程名、代课老师。(3).学生成绩管理模块此模块需用户输入的主要的信息有:课程编号、课程名、成绩(考试成绩)的总分、平均分、日常考核成绩。(4).学生成绩查询模块此模块需用户输入的主要的信息有:按班机查询学生成绩、按学号查询学生成绩、按学生姓名查询学生成绩。(5).奖学金评定模块此模块需用户输入的主要的信息有:学号、姓名、专业、学历、班级、考试成绩 、成绩的总分和平均分 、日常考核成绩 、奖学金信息、奖学金条件。 (6).用户管理模块此模块需用户输入的主要的信息有:权限、用户名、密码。5.2 数据处理 (1).学生信息表此模块的主要信息有:学号、姓名、年龄、性别、专业、学历、出生年月、籍贯。主索引是学号,主索引是专业+学历。(2).班级课程表此模块的主要信息有:专业、学历、班级、课程编号、课程名、代课老师。 普通索引是专业+学历,主索引是班级。(3).学生成绩表此模块的主要信息有:课程编号、课程名、成绩(考试成绩)总分和平均分、日常考核成绩。普通索引是课程编号,主索引是成绩(考试成绩)总分和平均分+日常考核成绩。(4).奖学金信息表此模块的主要信息有:学号、姓名、专业、学历、班级、考试成绩 、成绩的总分和平均分 、日常考核成绩 、奖学金信息、奖学金条件。普通索引是学号,另一个普通索引是班级,主索引是奖学金信息。(5).用户密码表此模块的主要信息有:权限、用户名、密码。主索引是权限。6系统的具体实现图1图1为奖学金评定系统的登录界面,权限分为管理员,输入用户名和密码,再点击确认键可进入主界面(如图3所示)图2图2为奖学金评定系统的第二界面即普通用户登录界面,调出权限中的普通用户,输入用户名和密码点击确认键进入普通用户界面(如图4所示)。图3图3为奖学金评定系统的主界面(管理员界面),设有:查询、维护、考核成绩信息、奖学金信息、统计、打印、打开word文档和退出八个按键,分别对应奖学金评定系统的7个模块。图4图4为普通用户界面只设有:查询、统计、打印、退出四个按键。因为是这是普通用户使用的界面,所以只能阅览不能加以改动。图5图5是课程信息查询中的成绩查询界面,对应成绩查询模块,用户只需知道学生的学号,就可以查出此学生的所有课程的成绩,若知道某一门课的课程编号就可以查到此门课程所有考试学生的成绩。此外,还可以直接输入学生的学号和课程编号,就可以看到这个学生这门课的成绩。图6图6为课程查询界面,对应的是课程查询模块,用户只需输入课程名称或课程编号就可以看到这门课程的基本信息。图7图7是学生信息查询界面对应的是学生信息管理模块,通过输入学生姓名或学号或专业来查询一个学生的基本信息。图8图9图10图11图8-11所示界面是整个系统维护中枢,在这里可以添加和修改学生信息、课程信息、成绩信息和用户信息是整个系统的重心。图12图13 图12是日常考核成绩界面最高考核成绩为10分,因为考核成绩是不稳定的,有时有些学生会多得些,有些学生会减去些,而且人数不多,此界面也可以单独添加日常考核成绩。图13是奖学金信息界面,对应了奖学金评定模块,通过输入学生信息可以添加、删除或修改奖学金的信息。图14图15图16图14是报表输出界面,也属于奖学金评定模块和成绩管理模块的输出部分,通过学则奖学金表,并且在学历和专业text框上述如就可以找出符合条件项,让后会将符合条件的获奖学金的学生名单打印出来(如图15所示)。如果选择的是成绩报表,则只能在学号一栏中添入学号,然后可以将此学生的所有成绩打印出来(如图16所示)。缺点是这个界面的功能还不能将此学生在某一学期的成绩打印出来。图17图17是成绩统计界面,是成绩管理模块的一部分,选择个人统计,在Combo框种选择学生的一个学号,就可以知道这个学生所学的课程总数,以及最高成绩、最低成绩和所有成绩的平均成绩。7源代码7.1 表单和报表介绍以上的界面在制作过程中共分为9个表单,分别是:登录界面(图1和图2);studentscreen(图4 );sysscreen(图3) ;查询(图5-图7); 维护(图8-图11);考核成绩(图12);奖学金信息(图13);打印(图14);统计(图17)。输出需要两个报表,分别是:成绩报表(图16);奖学金信息(图15)。 7.2 主程序代码SET TALK OFFCLEAR ALLCLOSE ALLSET SYSMENU OFFSET SYSMENU TOSET SAFETY OFFSET ESCAPE ONSET EXCLUSIVE ON_SCREEN.AUTOCENTER=.T. _SCREEN.WINDOWSTATE=2 DO FORM 登录界面.SCXREAD EVENTSCLEAR EVENTSSET TALK ON7.3 控件源代码(1).登录界面表单确认:select password Locate For Alltrim(权限)=ThisForm.选择用户.Value Locate For Alltrim(用户名)=ThisForm.uname.Value Locate For Alltrim(密码)=ThisForm.upassword.Value if thisform.选择用户.value=alltrim(管理员) if thisform.uname.value=alltrim(用户名).and.thisform.upassword.value=alltrim(密码) ThisForm.visible=.F. if thisform.uname.value=thisform.upassword.value DO form e:jxjsysscreen.SCX ELSE thisform.uname.value= thisform.upassword.value= ThisForm.uname.SetFocus =MessageBox(用户名或密码错误,请重新输入!) thisform.uname.value= thisform.upassword.value= ThisForm.uname.SetFocus endif endif endif if thisform.选择用户.value=alltrim(普通用户) if thisform.uname.value=alltrim(用户名).and.thisform.upassword.value=alltrim(密码) ThisForm.visible=.F. if thisform.uname.value=thisform.upassword.value DO form e:jxjstudentScreen.SCX else thisform.uname.value= thisform.upassword.value= ThisForm.uname.SetFocus =MessageBox(用户名或密码错误,请重新输入!) thisform.uname.value= thisform.upassword.value= ThisForm.uname.SetFocus endif endif endif取消:ThisForm.选择用户.Value= ThisForm.upassword.Value= ThisForm. uname.SetFocus退出:thisform.releaseclose allclear event(2).sysscreen表单在这个表单中包括了8个command控件其中查询、维护、考核成绩、奖学金信息、统计、打印这六个command控件的源代码都是链接类的,源代码为:DO FORM 表单名.SCXThisForm.Release 打开word文档:cmessagetitle=启动窗cmessagetext=启动microsoft(r)word 2003ndialogtype=0+64+0nanswer=messagebox(cmessagetext,ndialogtype,cmessagetitle)filename=新任务public objwdocnllocaleid=sys(3004)=sys(3006,1003)objwDdoc=crea(word.basic)objwddoc.appshowobjwDdoc.appmaximizeobjwddoc.filenewdefaultobjwddoc.filesaveas(&filename)=sys(3006,val(nlLocaleid)cmessagetitle=结束窗cmessagetext=文档创建完毕+chr(13)+退出microsoft(r)word2003ndialogtype=0+64+0nanswer=messagebox(cmessagetext,ndialogtype,cmessagetitle)(3) .考核成绩表单上一个:skip-1 if bof() wait已是第一个记录window nowait go top else wait第+alltrim(str(reCNo()+个记录window nowait endifthisform.refresh 下一个: skip if eof() go bottom wait已经是最后一条记录window nowait else wait第+alltrim(str(reCNo()+个记录window nowait endif thisform.refresh添加: append blankthisform.refreshthisform.学号1.setfocus删除: delete thisform.refresh恢复: recallthisform.refresh(4).奖学金信息表单Command组command1: go top thisform.refresh Command2: skip-1 if bof() wait已是第一个记录window nowait go top else wait第+alltrim(str(reCNo()+个记录window nowait endifthisform.refresh Command3: skip if eof() go bottom wait已经是最后一条记录window nowait else wait第+alltrim(str(reCNo()+个记录window nowait endif thisform.refresh Command4: go bottom thisform.refresh 此表单中添加、删除、恢复、退出控件都与考核成绩表单相同,不再赘述。(5).统计表单Optiongroup1: DO CASE case this.value=0 thisform.Combo1.RowSource= case this.value=1 thisform.Combo1.RowSource=Student.学号 case this.value=2 thisform.Combo1.RowSource=Course.课程名称 NDCASECombo1: Set Talk offDO CASE Case ThisForm.Optiongroup1.Value=1 XH=Alltrim(This.Value) Select Score Calculate Max(成绩),Min(成绩),Avg(成绩),CNT() For 学号=XH TO A1,A2,A3,A4 hisForm.Text1.value=Alltrim(STR(A1) hisForm.Text2.value=Alltrim(STR(A2) hisForm.Text3.value=Alltrim(STR(A3) ThisForm.Text4.value=Alltrim(STR(A4) se ThisForm.Optiongroup1.Value=2 KCMC=Alltrim(This.Value) Select Course Locate For 课程名称=KCMC KCBH=Alltrim(课程编号) ?KCBH Select Score Calculate Max(成绩),Min(成绩),Avg(成绩),CNT() For 课程编号=KCBH TO A1,A2,A3,A4 ThisForm.Text1.value=Alltrim(STR(A1) ThisForm.Text2.value=Alltrim(STR(A2) ThisForm.Text3.value=Alltrim(STR(A3) ThisForm.Text4.value=Alltrim(STR(A4)ENDCASEthisform.refresh(6).报表输出表单Optiongroup1: if thisform.OptionGroup1.Value=1 select jxjxx thisform.Combo1.Enabled=.T. thisform.Combo2.Enabled=.T. thisform.Combo3.Enabled=.F. Set filter toendifif thisform.OptionGroup1.Value=2 select score thisform.Combo1.Enabled=.F. thisform.Combo2.Enabled=.F. thisform.Combo3.Enabled=.T. Set filter toEndifCommandgroup1:打印: if thisform.OptionGroup1.Option1.value=1 Zy1=Alltrim(Thisform.Combo1.value) xl1=Alltrim(Thisform.Combo2.value) select jxjxx Set Filter to jxjxx.学历=xl1 Set Filter to jxjxx.专业=Zy1 Report Form e:jxj奖学金信息 To Print endifif thisform.OptionGroup1.Option2.value=1xh=Alltrim(bo3.value) select score Report Form e:jxj成绩报表 To Print Endif预览: if thisform.OptionGroup1.Option1.value=1 Zy1=Alltrim(Thisform.Combo1.value) xl1=Alltrim(Thisform.Combo2.value) select jxjxx Set Filter to jxjxx.专业=Zy1 Set Filter to jxjxx.学历=xl1 Report Form e:jxj奖学金信息 To Print Preview endif if thisform.OptionGroup1.Option2.value=1 xh=Alltrim(bo3.value) select score Set Filter to 学号=xh Report Form e:jxj成绩报表 To Print Preview Endif(7).维护表单Optiongroup1:Do Case case ThisForm.Optiongroup1.Option1.Value=1 ThisForm.Grid1.RecordSource=student ThisForm.Grid1.Refresh case ThisForm.Optiongroup1.Option2.Value=1 ThisForm.Grid1.RecordSource=course ThisForm.Grid1.Refresh case ThisForm.Optiongroup1.Option3.Value=1 ThisForm.Grid1.RecordSource=score ThisForm.Grid1.Refresh case ThisForm.Optiongroup1.Option4.Value=1 ThisForm.Grid1.RecordSource=Password ThisForm.Grid1.Refresh EndCaseThisForm.Command2.Enabled=.F. This

温馨提示

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

评论

0/150

提交评论