学生管理系统详细设计任务书_第1页
学生管理系统详细设计任务书_第2页
学生管理系统详细设计任务书_第3页
学生管理系统详细设计任务书_第4页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、学生管理系统详细设计任务书一、系统规划说明书在此次大作业之间, 我们班级并没有一套完善的学生管理系统。 一直以来,班级管理工作主要是简单的 WORD文档的使用和 ACESS数据库的应用。其操作方法简单但功能很不完善, 简明性和实用性都较差。 因此,我们小组决定利用此次大作业的机会,开发一套专门用于班级管理工作的数据库系统。经过仔细研究分析, 我们决定将系统分为三大菜单部分。 分别为学生人事档案管理,学生成绩查询, 后台操作管理三部分。 为了便于指导员和学校领导对班级情况的了解管理, 其中主要侧重点在学生人事档案管理方面。 在学生人事档案管理又分为学生人事维护打印和查询打印两个分支。学生成绩菜单

2、具有查询打印功能。系统管理分为操作员管理,密码管理,数据备份等部分。三大菜单部分紧密结合联系, 共分为两个数据库, 第一个数据库包括学生管理维护表和成绩查询表,第二个数据库包括系统管理表。如下图所示(图1)(图 1)二、系统说明书09 软件学生管理系统基于FOXPRO6.0 中文版开发。 FOXPRO在数据库开发方面具有方面,实用,简单,直接等优点。同时其也具有一定的局限性。本系统主要面向班级指导员和班级学生开发使用, 因此主要侧重于系统的使用性和方便性。同时在安全性方面, 我们也十分重视。 特别是操作员级别的划分等密码管理,我们都做了仔细的分析研究。( 一) 、系统界面的设计, 我们主要是本

3、着实用简便的原则设计制作。 在系统界面被打开时,会播放一段欢迎曲, 界面包括本系统的系统名称, 设计人员和所在小组。下面是系统的首界面 ( 图 2) :(由于隐私问题,现不能公布)(图 2)系统界面中有登陆系统按钮, 系统使用人员可以点击进入密码验证页, 如果在一分钟用户没有点击此按钮, 系统会自动跳到密码验证页。 此程序的实现代码会在详细设计书中说明。( 二) 、密码验证作为系统最基本的安全管理步骤。 用户如果不输入合法的用户名和密码,系统是不能进入的。 当用户输入合法的用户名和密码时, 系统管理会自动判断此用户是什么级别的用户, 具有什么权限, 使用户的操作具有合法性。 密码验证页包括操作

4、员和密码两个部分。具体的代码实现也将在详细设计书说明。下面是密码登陆页的图示(图3):图 3)当操作员的名称和密码均正确的时候,系统便会进入系统使用主菜单。主菜单共分为三个分菜单项:学生信息管理,学生成绩管理,系统管理。如图(4)在学生信息管理中分为学生信息维护和学生信息查询两个菜单项, 在学生成绩管理中含有学生成绩查询打印菜单项, 在系统管理中分为: 操作员管理、口令设置、权限管理、系统日志、数据备份、数据恢复、退出系统七项。下面为本系统的使用数据流程图:三、详细设计说明书根据系统规划和需要分析, 把系统划分为学生信息管理, 学生成绩查询, 系统管理三个模块。本系统用到的主要有以下文件:主控

5、程序 main.prg 、启动界面 ( 封面 )face.scx 、系统登录界面 ( 口令验证窗口 )pass.scx 、,主菜单 main_menu.mpr。程序的调用关系如下:主控程序 main.prg 中调用界面表单 face.scx ,封面中调用“口令验证窗口”表单 pass.scx ,口令正确则调用系统菜单 main_menu.mpr。各菜单项调用相对应的表单。( 一) 、主控程序 main.prg 的代码实现为:CLEAR&&清屏CLEAR ALL&&从存中释放所有的存变量CLOSE ALL&&关闭各种类型的文件SET ESCAPE

6、OFF&&禁止运行的程序和命令在按 Esc 键后被中断SET SAFETY OFF&&指定在改写已有文件时不显示对话框SET DELETE ON&&使用围子句处理记录的命令忽略标有删除标记的记录SET SYSMENU OFF &&在程序执行期间废止 Visual FoxPro主菜单栏RELEASE WINDOW常"用 "&& 关闭常用工具栏SET CENTURY ON&&年份以四位显示SET DATE TO ymd&&日期格式为年、月、日SET MARK TO &

7、quot;-"&& 指定日期分隔字符SET HOURS TO 24&&指定为 24- 小时时间格式_SCREEN.Visible=.t._SCREEN.Caption="学生管理系统 " && 系统窗口标题_SCREEN.Icon=".dod.ico"&&系统标题栏图标* 判断显示器当前分辨率_SCREEN.Width=SYSMETRIC(1)_SCREEN.Height=SYSMETRIC(2)* 根据分辨率不同,为系统设置不同的背景图片IF SYSMETRIC(1)>=1

8、024_SCREEN.Picture=".imgbj.jpg"ELSE_SCREEN.Picture=".imgbj.jpg"ENDIFDO FORM .face.scx&&调用登录界面表单On ShutDown do OnShutdown&& 退出系统时调用函数READ EVENTS&&建立事件循环On ShutDown&&释放当前的 On ShutDown命令onshutdown()* 按菜单的“关闭”按钮退出时,出现的提示框FUNCTION OnShutdown()sel=MESSAG

9、EBOX("真的要退出吗 ?",4+32+256," 提示 ") IF sel=6*SELECT 0*USE .dbsystemLOG*GO BOTTOM*REPLACE 离开时间 WITH DATETIME() &&退出系统时记录操作员退出时间CLOSE ALLCLEAR EVENTS&& 退出事件循环QUIT&&结束当前 Visual FoxPro工作期,并将控制权返回给操作系统ENDIFENDFUNC( 二) 、在运行主程序后,系统调用登陆界面表单( 图 4)(由于隐私问题,现不能公布)主要事件代码:

10、FORM1的 INIT 事件代码: SET BELL ONSET BELL TO '.MUSICwelcome.wav',2?CHR(7)FORM1的 UNLOAD事件代码: SET BELL TO 'MUSICSILENT.WAV',2 ?CHR(7)此两项功能分别为在打开表单时调用的音乐文件和关闭表单时调用的音乐文件。Command1的 mouseup事件代码:LPARAMETERS nButton, nShift, nXCoord, nYCoord release thisformDO FORM .mainpass.scxTimer1 的 timer 事件

11、代码:release thisformDO FORM .mainpass.scxTimer2 的 timer 事件代码:为了实现五角星的闪动:elseendifTimer3 的 timer 事件代码:为了实现五角星的闪动:elseendifTimer4 的 timer 事件代码:为了实现五角星的闪动:elseendif同时在每个五角星的颜色也做了设置。( 三) 系统登陆表单设计界面用户在文本框输入操作员及口令, 若正确则调用系统主界面 ( 菜单 ) 。允许输入三次,若三次均不正确刚自动退出系统。若用户输入的操作员及口令正确,要完成下列工作:(1) 设置一个全局变量 operat, 用于记录登陆

12、系统的操作员,系统中有 3 个地方要用到操作员的和代号:一是进入主界面后在标题栏显示的操作员;二是操作员在系统管理模块的口令设置中更改自己的口令,系统要知道是哪个操作员;三是退出系统时系统日志中要记录操作员的退出时间。(2) 在系统日志表 log.dbf 中增加一条记录,并同时记录此操作员的登录系统的时间。(3) 从权限表 menuright.dbf 中读出此操作员对应各菜单项的权限,并赋值给数组。(4) 调用菜单文件,显示系统主界面。事件代码:Form1的 init事件代码:SET EXACT ON &&精确比较PUBLIC ARRAY rr18&&数组用于实

13、现菜单项权限PUBLIC i &&i PUBLIC operat &&operat i=0用于记录用户名及口令输入次数用于保存操作员“确定”按钮 (COMMAND1)CLICK事件代码:* 判断密码是否正确 i=i+1SELECT operatorLOCATE FOR操作员DO CASE口令 &&输入次数未超过 3 次且用户名正确、口令正确INSERT INTO log( 操作员代号 , 操作员 , 登录时间 ) VALUES(operator. 操作员代号 ,operator. 操作员 ,DATETIME()_SCREEN.Caption= ”

14、 学 生 管 理 系 统"+SPACE(40)+DTOC(DATE()+SPACE(40)+"操作员: "+operatSELECT 权限 FROMmenuright INTO ARRAYrr WHERE操作员代号 =operator. 操作员代号 ORDER BY菜单项编号RELEASE THISFORMDO .mainmain_menu.mpr口令 && 输入次数未超过 3 次且用户名正确、口令不正确MESSAGEBOX("密码错误 , 请重输 !","警告 ")CASE i<=3 AND NOT

15、FOUND() && 输入次数未超过 3 次且用户名不正确MESSAGEBOX("操作员错误 , 请重输 !"," 警告 ")CASE i>3&&输入次数超过 3 次MESSAGEBOX("禁止进入系统 !","警告 ")THISFORM.ReleaseENDCASE退出按钮 (COMMAND2)CLICK事件代码:RELEASE THISFORMCLEAR EVENTS( 四) 系统菜单设计1、学生信息管理系统的菜单在应用系统中, 各个了模块是通过菜单组织在一起的。 通过对人

16、事工资管理系统功能模块的设计,可以交系统划分为 3 大模块:学生信息管理、学生成绩查询、系统管理,具体的菜单设计见下表:学生信息管理学生成绩管理系统管理学生信息维护学生信息查询学生成绩查询操作员管理口令设置权限管理系统日志数据备份数据恢复退出系统2、在菜单设计器中实现权限设置在菜单项设计器中, 通过 提示选项 对话框设置菜单项的跳过条件可以实现用户权限。每个操作员对每个菜单项有两种权限: 0 或 1。“0”表示此操作员对该菜单项没有操作权,系统运行后,该菜单项为灰色。不能打开对应的表单, “1”代表该操作员对该菜单项具有操作权, 系统运行后, 该菜单项可用, 鼠标单击菜单项能打开对应的表单。操

17、作员对各菜单项的权限保存在表文件 menuright.dbf 中,在登录系统时读出该操作员对应各菜单项的权限,并赋值给一个数组 RR。本系统共 10 个菜单项,所以定义的数组也包含 10 个元素。3、学生信息维护表单包换下列功能:数据录入、修改、删除、查询、浏览、保存、打印等。本表单左边是浏览窗口,便于用户浏览数据;右边是编辑窗口,主要用于输入修改数据。4、在表单数据环境中添加表:rsb.dbf 、cjb 、dbf 。学生人事表和成绩表的结构请打开数据库表查看。在表单数据环境的BRFOREOPENTABLES事件中添加代码:5、事件代码:FORM1的 INIT 事件代码:FORM1的 CLIC

18、K事件代码:GRID1的 afterrowclochange事件代码:LPARAMETERS nColIndexthis.setall("dynamicbackcolor","IIF(This.activerow<>recno(),rgb(255,255,255),rgb(0,255,0)","column")select rsbthisform.refresh此代码实现不现颜色显示选中的GRID对象的行及列。“第一个“按钮的CLICK事件代码:select rsbgo topif not eof()endifthisfo

19、rm.refresh“前一个“按钮的CLICK事件代码:select rsbskip -1if bof()go topendifif not eof()endifthisform.refresh“下一个“按钮的CLICK事件代码:select rsbskipif eof()go bottomendifif not bof()endifthisform.refresh“最后一个“按钮的CLICK事件代码:select rsbgo bottomif not bof()endifthisform.refresh“增加“按钮的CLICK事件代码:if this.caption="this.c

20、aption="增加 "保存 "SELECT RSBAPPEND BLANKGO BOTTOMTHISFORM.REFRESHELSETHIS.CAPTION="增加 "endif“删除“按钮的CLICK事件代码:SELECT RSBXH=RSB学.号sel=messagebox(" 该记录学号为: "+XH+chr(13)+" 真的要删除吗 ?",4+32+256,"提示 ")if sel=6deleteendif“查找“按钮的CLICK事件代码:“打印“按钮的CLICK事件代码:r

21、eport form .menu1rsb_bb1.frx preview for rsb. 学 号“退出“按钮的CLICK事件代码:select rsbpackthisform.release“ TEXT7”的 valid 事件代码为: select rsbsetfilterto学号or学生locatefor学号or学生thisform.refreshset filter to6、运行界面: ( 如图 5)(图 5)7、学生信息查询菜单的设计学生人事信息的查询是基于 RSB.dbf 表,菜单提供学号,全体查询。分别利用不同的命令代码方式实现查询打印功能。 功能是便于指导员和老师, 学生用户的检

22、索查询。各事件的代码如下:FORM1的 INIT 事件代码:* 输入编号、提示标签及文本框* 输入起始日期、截止日期提示标签及文本框不可见* 表格数据不可修改Optiongroup1 的 CLICK事件代码:* 选定查询类别后,设置各控件是否可见DO CASECASE THIS.Value=1 && 按学号查询请输入要查询的学号: "CASE THIS.Value=2&&按查询请输入学生: "CASE THIS.Value=3&&按出生日期查询CASE THIS.Value=4&&显示全体记录SET FILTE

23、R TOGO TOPENDCASEGRID1的数据连接连接RSB表。一一对应该对应的数据项,COMMAND4(查询 ) 的 CLICK事件代码:* 按输入的日期条件在表格中显示查询的记录DO CASECASE NOT EMPTY(qsrq) AND EMPTY(jzrq)SET FILTER TO 出生日期 >=qsrqCASE EMPTY(qsrq) AND NOT EMPTY(jzrq)SET FILTER TO 出生日期 <=jzrqCASE NOT EMPTY(qsrq) AND NOT EMPTY(jzrq)SET FILTER TO 出生日期 >=qsrq AND 出生日期 &

温馨提示

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

评论

0/150

提交评论