《学生成绩管理系统_大学毕业设计(论文)(36页).doc》由会员分享,可在线阅读,更多相关《学生成绩管理系统_大学毕业设计(论文)(36页).doc(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-学生成绩管理系统_大学毕业设计(论文)-第 36 页学生成绩管理系统第一章 前言科技在进步,学生成绩管理系统已成为学校等教育部门不可缺少的部分,它的应用内容对于学校领导和用户来说非常重要,因为学生成绩管理系统能够为用户提供充足的信息和快捷的查询手段。由于一直以来人们使用传统的人工方式管理文件成绩,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难。 使用计算机来管理学生成绩,不但可以节省时间和人力资源,更能全面、高效地掌握学生基本情况等信息,并及时获取最新的准确资料和信息,使效率大大提高。该设计是一个管理学生成绩的
2、系统,功能与实现方面有相当的针对性和实用性。本文详细地介绍了“学生成绩管理系统”的设计思想,设计过程,本软件是在VISUAL Foxpro平台上开发的,采用Access2000做为数据库,严格按照关系数据库原理、思想的有关规定进行数据库的设计,数据操作语言采用SQL中的有关命令,能方便地实现对数据库的操作与管理。本文从问题定义、可行性研究、需求分析、概要设计、详细设计、编码,软件的测试等方面对该软件进行了详细的说明,它是软件的一个非常重要的文档资料,是毕业设计的文字说明材料本学生成绩管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于
3、前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。第二章 系统分析2.1 需求分析在21世纪的信息科技时代,科学技术突飞猛进,计算机已经应用到广泛的领域,而且越来越贴近于我们的现实生活。如今,不管是小学,初中,高中,甚至是很多大学生的学生成绩管理基本上是靠人工进行管理,但随着时间的变化,学校规模的扩大,有关学生成绩管理工作和所涉及到的数据量也会越来越多,大多数学校不得不靠增加人力,物力,财力来进行学生成绩管理。但人工管理成绩档案具有效率低,查找麻烦,可靠性不高,保密性低等因素。因此开发出一个不仅仅是适用于大中专院校以及其它高校通用的学生成绩管
4、理系统是必要的。根据多数学校的基本情况,该系统主要是实现数据的更新,查询,统计,并且可以生成相应的报表文件。数据更新包括以下几个方面: (1)学生记录的增加,删除,修改,可以方便的实现记录的改动。 (2)课程资料的添加,删除,修改。(3)学生成绩输入,学期结束,要对成绩表中的学生成绩进行登记。 数据查询和统计包括以下几个方面: (1)学生成绩查询,包括快捷查询和组合查询,前者可以直接输入学号或姓名对全部的课程进行成绩查询,而后者可以查询某一课程所有学生的成绩情况,总之可以根据不同需要查询到不同的学生成绩名单,适用性更广。 (2)学生成绩统计,统计每个学生的总成绩。 (3)学生成绩排名,可以查看
5、学生的名次号。 2.2 可行性分析随着开发工具的发展,面向对象的、可视化的开发工具不断的涌现,如VC+,VB,JSP,ASP,PHP等,这些工具在第三代语言的基础上,能帮助软件开发者提高软件的开发的质量和效率,缩短开发周期。本系统采用VB开发环境以及Windows XP的操作系统为工作平台,同时借助Microsoft Access2000这一强大的数据库管理系统来实现所以开发此系统从技术上完全可行第三章 系统设计3.1 设计目标实现学生资料和课程安排的添加、修改和删除; 学生成绩的添加、查询、修改和删除;使学校成绩管理人员更加便捷的对学生成绩进行管理。3.2 功能设计本系统提供用户为管理人员、
6、三大模块(资料、成绩、排名)。用户进入系统:一、 查询、添加、修改和删除学生资料二、 进入成绩修改模块,查询和修改学生成绩三、 进入排名模块,查询学生成绩和排名情况 3.3 模块流程图课程资料本管理系统使用网络文件模块化设计方式来实现相应的管理功能,以下是本系统的主模块功能图。 查询、添加、修改、删除资料学生资料查询、修改学生成绩成绩主界面 查询学生成绩查看学生名次排名图3-1 系统模块示意图3.4 数据库设计3.4.1 数据库结构本系统使用一个数据库StuScore.mdb,其中包括的表结构如下:表3-1课程资料表(tbllession)序号字段名字段类型字段大小1课程ID自动编号长整型2课
7、程号数字长整型3课程名称文本504教材名称文本505任课老师文本50表3-2 学生成绩表(tblscore)序号字段名字段类型字段大小1学生成绩ID自动编号长整型2课程ID数字长整型3学生ID数字长整型4成绩数字长整型表3-4学生资料表(tblstudent)序号字段名字段类型字段大小1学生ID自动编号长整型2学生学号文本长整型3学生名称文本504性别文本505入学日期日期/时间第四章 详细设计一、详细设计的任务详细设计的目的是为软件结构图(SC图或HC图)中的每一个模块确定使用的算法和块内数据结构,并用某种选定的表达工具给出清晰的描述。这一阶段的主要任务:1为每个模块确定采用的算法,选择某种
8、适当的工具表达算法的过程,写出模块的详细过程性描述;2确定每一模块使用的数据结构;3确定模块接口的细节,包括对系统外部的接口和用户界面,对系统内部其它模块的接口,以及模块输入数据、输出数据及局部数据的全部细节。在详细设计结束时,应该把上述结果写入详细设计说明书,并且通过复审形成正式文档。交付给下一阶段(编码阶段)的工作依据。4要为每一个模块设计出一组测试用例,以便在编码阶段对模块代码(即程序)进行预定的测试,模块的测试用例是软件测试计划的重要组成部分,通常应包括输入数据,期望输出等内容。二、详细设计的原则1由于详细设计的蓝图是给人看的,所以模块的逻辑描述要清晰易读、正确可靠。2采用结构化设计方
9、法,改善控制结构,降低程序的复杂程度,从而提高程序的可读性、可测试性、可维护性。其基本内容归纳为如下几点。 (1) 程序语言中应尽量少用GOTO语句,以确保程序结构的独立性。(2) 使用单人口单出口的控制结构,确保程序的静态结构与动态执行情况相一致。保证程序易理解。(3) 程序的控制结构一般采用顺序、选择、循环三种结构来构成,确保结构简单。(4) 用自顶向下逐步求精方法完成程序设计。结构化程序设计的缺点是存储容量和运行时间增加10-20,但易读易维护性好。(5) 经典的控制结构为顺序,IF THEN ELSE分支,DO-WHILE循环。扩展的还有多分支CASE,DO-UNTIL循环结构,固定次
10、数循环DOWHILE。3选择恰当描述工具来描述各模块算法。三、详细设计的方法详细设计的工具:图形工具利用图形工具可以把过程的细节用图形描述出来。表格工具可以用一张表来描述过程的细节,在这张表中列出了各种可能的操作和相应的条件。语言工具用某种高级语言(称之为伪码)来描述过程的细节。四、程序流程图程序流程图又称之为程序框图,它是软件开发者最熟悉的一种算法表达工具。它独立于任何一种程序设计语言,比较直观和清晰地描述过程的控制流程,易于学习掌握。因此,至今仍是软件开发者最普遍采用的一种工具。流程图也存在一些严重的不足。流程图中只能使用下述的五种基本控制结构。1、顺序型顺序型由几个连续的处理步骤依次排列
11、构成。 A B P A B P S顺序型 选择型 while型循环2、选择型 选择型是指由某个逻辑判断式的取值决定选择两个处理中的一个。3、while型循环while型循环是先判定型循环,在循环控制条件成立时,重复执行特定的处理。4、until型循环until型循环是后判定型循环,重复执行某些特定的处理,直到控制条件成立为止。5、多情况型选择P=1P=2P=nA1A2An多情况型选择列举多种处理情况,根据控制变量的取值,选择执行其一。 S Puntil型循环 多情况型选择 五、N-S图盒图是一种符合结构化程序设计原则的图形描述工具,又称之为N-S图。在N-S图中,为了表示五种基本控制结构,规定
12、了五种图形构件。1、顺序型在顺序型中,先执行A,后执行B。 A AAAAAAAAAB顺序型结构2、选择型在选择型结构中,如果条件P成立,则可执行T下面的A的内容,当条件P不成立时,则执行F下的内容。P T FS1 S2 选择型结构3、WHILE重复型在WHILE重复型循环结构中,先判断P的值,再执行S。其中P是循环条件,S是循环体。WHILE P S WHILE重复型循环结构 4、UNTIL重复型在UNTIL重复型循环结构中,先执行S,后判断P的值。S UNTIL P UNTIL重复型循环结构5、多分支选择型六、PAD图PAD是用结构化程序设计思想表现程序逻辑结构的图形工具。PAD也设置了五种
13、基本控制结构的图示,并允许递归使用。1、顺序型AB按顺序先执行A,再执行B。 顺序型结构2、选择型下图给出了判断条件为P的选择型结构。当P为真值时执行上面的A框,P取假值时执行下面的B 框中的内容。如果这种选择型结构只有A 框,没有B框,表示该选择结构中只有THEN后面有可执行语句A,没有ELSE部分。A B P选择型结构3、WHILE重复型和UNTIL重复型P是循环判断条件,S是循环体。循环判断条件框的右端为双纵线,表示该矩形域是循环条件,以区别于一般的矩形功能域。SWHILE P/UNT IL P WHILE重复型和UNTIL重复型结构4、多分支选择型多分支选择型是CASE型结构。当判定条
14、件P等于1时执行A1框的内容,P等于2时执行A2框的内容,P等于N时执行An框的内容。七、PDL(过程设计语言)PDL是所有非正文形式的过程设计工具的统称,到目前为止已出现多种PDL语言。PDL具有“非纯粹”的编程语言的特点。1、PDL语言的特点关键字采用固定语法并支持结构化构件、数据说明机制和模块化;处理部分采用自然语言描述;可以说明简单和复杂的数据结构;子程序的定义与调用规则不受具体接口方式的影响。2、PDL描述选择结构3、PDL描述循环结构4、子程序5、输入/输出第五章 程序总体结构1、学生成绩管理系统目录mainpassMenus基本数据管理系统维护学生成绩管理其他2、流程图系统初始化
15、退出系统 进入系统 基本数据管量Main程序Pass*Menu学生成绩管理系统维护其他Sefprof*sreen*Setclass*usermcdn*przntsare*quscore*Setcore*Setcomse*databado*qustadent*Setstudent*fenksql*Hflp*sefprofl*setcourfel*sefdassl*setseudentl*Setsfudenfz*setcorel*Fscore1报表Fscore报表文档UsemaninlFind*3、功能框图 注:图框中带*号者表示表单第六章 实现过程1、数据表设计本系统使用的表均为自由表(1)us
16、er表Field Fieldname Type Width Dec Index Nulls 1 usename C 10 NO 2 usepass C 6 NO 3 uselevelL C 10 N0该表存储系统用户信息。(2)daywrife表Field Fieldname Type width Dec Index Nulls 1 usename QC 10 2 useDATE D 8 3 usefime D 8(3)prof表(结构如下)Field Fieldname Type width Dec Index Nulls 1 专业 C 20(4)classn表(结构如下)Field Fie
17、ldname Type width Dec Index Nulls 1 课程 C 6 N0 2 专业 C 20 NO 3 课程 C 20 NO 4 性质 C 6 NO 5 开课学期 C 1 NO 6 学分 N 3 NO该表用于每放所有课程信息,(课程按专业分类)(5)student表(结构如下)Field Fieldname Type width Dec Index Nulls 1 学号 C 8 N0 2 姓名 C 10 NO 3 性别 C 2 NO 4 出生日期 D 8 NO 5 民族 C 10 NO 6 专业 C 20 NO 7 班号 C 10 NO 8 备注 M 4 NO 9 照片 G
18、4 NO该表按专业分类每班的所有学生记录,另有一个临时表studentl,结构相同与student。(6)score表score表结构如下:Field Fieldname Type width Dec Index Nulls 1 学号 C 5 N0 2 姓名 C 7 NO 3 课程 C 20 NO 4 分数 N 3 NO 5 班号 C 5 NO 6 专业 C 20 NO该表按班号分类存放学生成绩,另有一个临时表scorel,其结构似同。2、系统程序代码学生成绩管理系统的程序、表单、代码如下:(所列出大部分)主程序main.prgCLEARSET TALK OFFSET SYSMENU offS
19、ET SYSMENU toSET DELETED OFFSET STATUS BAR OFFSET DATE ANSISET SAFETY OFFCLEAR ALLCLOSE ALL_Screen.WindowState=2_Screen.Caption=学生成绩管理系统PUBLIC ulevel,rq &ulevel存放用户级别,rq存放当前使用日期DO FORM pass to retIF ret=.T. DO menu.mpr READ eventENDIFSET SYSMENU TO defaultSET SYSMENU onSET STATUS BAR ONCLOSE ALLCLEA
20、R ALLRETURNPass表单事件过程PROCED BE ENDRET RN fcagENOROCPROCED RE FnitPUBLIC n,fcagn=1thiform.text3.value=DATE( )ENDPROCPROCED RE command1.clickRq=tnisform.text3.vaue,ra=thisform,text2.vacve,rb=aisform.text1.voweIF (n2) OR(ra=“”) OR(rb=“”)=MESSAGEBOXC“口令三次输入错误,不能使用本系统”,48,“信息提示”flag=.F.THISFORM.RELEASEEL
21、SESELEOT SEXTadATE FOR sename=ALCJRIMCERISFORM.ETST1.VALUE;AND scpass=ALLTRM isform.text2.valveIF FounD( )ftay=.T.uleval=uselevelTHISFORM:RELEASEELSE=MESSAGEBOX(“口令不正确,请重新输入”,48,“信息提示”)THISFORM。TEXT1。VALUE=“”n=n+1THISFORM.TEXT1.SETFOCUSENDIFENDIFENDPROCPROCE RE commard2.clickFhisform.ReleaseRECEASE
22、n,flagENDPROLMenu.mpr程序代码如下:SET SYSMENU TOSET SYSMENU AUTOMATICDEFINE PAD _0vv0ilzcv OF _MSYSMENU PROMPT 基本数据管理 COLOR SCHEME 3DEFINE PAD _0vv0ilzd8 OF _MSYSMENU PROMPT 学生成绩管理 COLOR SCHEME 3DEFINE PAD _0vv0ilzd9 OF _MSYSMENU PROMPT 系统维护 COLOR SCHEME 3DEFINE PAD _0vv0ilzda OF _MSYSMENU PROMPT 退出 COLOR
23、 SCHEME 3ON PAD _0vv0ilzcv OF _MSYSMENU ACTIVATE POPUP 基本数据管理ON PAD _0vv0ilzd8 OF _MSYSMENU ACTIVATE POPUP 学生成绩管理ON PAD _0vv0ilzd9 OF _MSYSMENU ACTIVATE POPUP 系统维护ON SELECTION PAD _0vv0ilzda OF _MSYSMENU ;DO _0vv0ilzdb ;IN LOCFILE(VFP学生成绩管理系统MENU ,MPX;MPR|FXP;PRG ,WHERE is MENU?)DEFINE POPUP 基本数据管 M
24、ARGIN RELATIVE SHADOW COLOR SCHEME 4DEFINE BAR 1 OF 基本数据管理 PROMPT 设置专业DEFINE BAR 2 OF 基本数据管理 PROMPT 设置班号DEFINE BAR 3 OF 基本数据管理 PROMPT 设置课程DEFINE BAR 4 OF 基本数据管理 PROMPT -DEFINE BAR 5 OF 基本数据管理 PROMPT 录入学生DEFINE BAR 6 OF 基本数据管理 PROMPT 查询学生ON SELECTION BAR 1 OF 基本数据管理 ;DO _0vv0ilze1 ;IN LOCFILE(VFP学生成绩
25、管理系统MENU ,MPX;MPR|FXP;PRG ,WHERE is MENU?)ON SELECTION BAR 2 OF 基本数据管理 ;DO _0vv0ilze2 ;IN LOCFILE(VFP学生成绩管理系统MENU ,MPX;MPR|FXP;PRG ,WHERE is MENU?)ON SELECTION BAR 3 OF 基本数据管理 ;DO _0vv0ilze3 ;IN LOCFILE(VFP学生成绩管理系统MENU ,MPX;MPR|FXP;PRG ,WHERE is MENU?)ON SELECTION BAR 5 OF 基本数据管理 ;DO _0vv0ilze4 ;IN
26、LOCFILE(VFP学生成绩管理系统MENU ,MPX;MPR|FXP;PRG ,WHERE is MENU?)ON SELECTION BAR 6 OF 基本数据管理 do form qustudentDEFINE POPUP 学生成绩管理 MARGIN RELATIVE SHADOW COLOR SCHEME 4DEFINE BAR 1 OF 学生成绩管理 PROMPT 学生成绩录入DEFINE BAR 2 OF 学生成绩管理 PROMPT -DEFINE BAR 3 OF 学生成绩管理 PROMPT 学生成绩查询DEFINE BAR 4 OF 学生成绩管理 PROMPT -DEFINE
27、 BAR 5 OF 学生成绩管理PROMPT 学生总成绩ON SELECTION BAR 1 OF 学生成绩管理 ;DO _0vv0ilze5 ;IN LOCFILE(VFP学生成绩管理系统MENU ,MPX;MPR|FXP;PRG ,WHERE is MENU?)ON SELECTION BAR 3 OF 学生成绩管理 do form quscoreON SELECTION BAR 5 OF 学生成绩管理 do form printscoreDEFINE POPUP 系统维护 MARGIN RELATIVE SHADOW COLOR SCHEME 4DEFINE BAR 1 OF 系统维护
28、PROMPT 用户管理DEFINE BAR 2 OF 系统维护 PROMPT -DEFINE BAR 3 OF 系统维护 PROMPT 数据备份DEFINE BAR 4 OF 系统维护 PROMPT -DEFINE BAR 5 OF 系统维护 PROMPT 系统初始化ON SELECTION BAR 1 OF 系统维护 ;DO _0vv0ilze6 ;IN LOCFILE(VFP学生成绩管理系统MENU ,MPX;MPR|FXP;PRG ,WHERE is MENU?)ON SELECTION BAR 3 OF 系统维护 ;DO _0vv0ilze7 ;IN LOCFILE(VFP学生成绩管理
29、系统MENU ,MPX;MPR|FXP;PRG ,WHERE is MENU?)ON SELECTION BAR 5 OF 系统维护 ;DO _0vv0ilze8 ;IN LOCFILE(VFP学生成绩管理系统MENU ,MPX;MPR|FXP;PRG ,WHERE is MENU?)* * _0VV0ILZDB ON SELECTION PAD * * Procedure Origin: * * From Menu: MENU.MPR, Record: 30 * * Called By: ON SELECTION PAD * * Prompt: 退出 * * Snippet: 1 PROCE
30、DURE _0vv0ilzdbset sysmenu to defaultCLEAR EVENTS* * _0VV0ILZE1 ON SELECTION BAR 1 OF POPUP 基本数据管理 * * Procedure Origin: * * From Menu: MENU.MPR, Record: 5 * * Called By: ON SELECTION BAR 1 OF POPUP 基本数据管理 * * Prompt: 设置专业 * * Snippet: 2 PROCEDURE _0vv0ilze1IF ulevel=系统管理员 do form setprofELSE =MESSA
31、GEBOX(您不是系统管理员,不能使用本项功能,16+0,信息提示)ENDIF* * _0VV0ILZE2 ON SELECTION BAR 2 OF POPUP 基本数据管理 * * Procedure Origin: * * From Menu: MENU.MPR, Record: 6 * * Called By: ON SELECTION BAR 2 OF POPUP 基本数据管理 * * Prompt: 设置班号 * * Snippet: 3 PROCEDURE _0vv0ilze2IF ulevel=系统管理员 do form setclassELSE =MESSAGEBOX(您不是
32、系统管理员,不能使用本项功能,16+0,信息提示)ENDIF* * _0VV0ILZE3 ON SELECTION BAR 3 OF POPUP 基本数据管理 * * Procedure Origin: * * From Menu: MENU.MPR, Record: 7 * * Called By: ON SELECTION BAR 3 OF POPUP 基本数据管理 * * Prompt: 设置课程 * * Snippet: 4 PROCEDURE _0vv0ilze3IF ulevel=系统管理员 do form setcourseELSE =MESSAGEBOX(您不是系统管理员,不能
33、使用本项功能,16+0,信息提示)ENDIF* * _0VV0ILZE4 ON SELECTION BAR 5 OF POPUP 基本数据管理 * * Procedure Origin: * * From Menu: MENU.MPR, Record: 10 * * Called By: ON SELECTION BAR 5 OF POPUP 基本数据管理 * * Prompt: 录入学生 * * Snippet: 5 PROCEDURE _0vv0ilze4IF ulevel=系统管理员 do form setstudentELSE =MESSAGEBOX(您不是系统管理员,不能使用本项功能
34、,16+0,信息提示)ENDIF* * _0VV0ILZE5 ON SELECTION BAR 1 OF POPUP 学生成绩管理 * * Procedure Origin: * * From Menu: MENU.MPR, Record: 14 * * Called By: ON SELECTION BAR 1 OF POPUP 学生成绩管理 * * Prompt: 学生成绩录入 * * Snippet: 6 PROCEDURE _0vv0ilze5IF ulevel=系统管理员 do form setscoreELSE =MESSAGEBOX(您不是系统管理员,不能使用本项功能,16+0,
35、信息提示)ENDIF* * _0VV0ILZE6 ON SELECTION BAR 1 OF POPUP 系统维护 * * Procedure Origin: * * From Menu: MENU.MPR, Record: 23 * * Called By: ON SELECTION BAR 1 OF POPUP 系统维护 * * Prompt: 用户管理 * * Snippet: 7 PROCEDURE _0vv0ilze6IF ulevel=系统管理员 do form usermainELSE =MESSAGEBOX(您不是系统管理员,不能使用本项功能,16+0,信息提示)ENDIF* * _0VV0ILZE7 ON SELECTION BAR 3 OF POPUP 系统维护 * * Procedure Origin: * * From Menu: MENU.MPR, Record: 26 * * Called By: ON SELECTION BAR 3 OF POPUP 系统维护 * * Prompt: 数据备份 * * Snippet: 8 PROCEDURE _0vv0ilze7IF ulevel=系统管理员