MIS课程设计学生成绩管理信息系统.doc_第1页
MIS课程设计学生成绩管理信息系统.doc_第2页
MIS课程设计学生成绩管理信息系统.doc_第3页
MIS课程设计学生成绩管理信息系统.doc_第4页
MIS课程设计学生成绩管理信息系统.doc_第5页
免费预览已结束,剩余32页可下载查看

下载本文档

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

文档简介

管理信息系统课程设计报告开发项目:学生成绩管理信息系统学院: 管理学院 专业: 工商管理 班级: 1001和1002 学生姓名: 何湘美 李春容 李情 刘青红 导师姓名: 李 欣 实习学期: 20112012学年第二学期 管理信息系统课程设计报告目录1. 设计人员的任务分工.2系统简介.3.系统可行性分析技术可行性实施可行性4.系统设计.目标设计开发设计思想开发和运行环境选择 系统结构图.业务流程图数据流程图5.系统模块功能介绍 系统主界面 验证界面. 操作员维护模块. 学生信息维护模块. 学生成绩维护模块. 学生成绩查询统计分析模块. 综合查询模块.6.数据库设计 数据库概念设计. 数据库逻辑设计. 数据库物理设计7.主要模块的创建 开始界面设计. 验证界面设计. 学生成绩查询表单 录入学生成绩表单. 学生成绩维护表单 学生成绩统计分析表单. 学生课程成绩统计分析表单. 学生信息增加表单. 学生信息维护表单. 综合查询表单. 增加操作员表单. 操作员维护表单. 菜单设计 主程序设计.8.系统运行测试9.课程设计的心得体会.10.致谢. 一、设计人员的任务分工 这次系统的设计是对于我们非专业的学生来讲是有点难度,老师这次实验老师也给我们降低了些许的难度。以寝室为单位,一个寝室设计一个系统。这次我们这个小团队的设计任务分工如下:人员任务何湘美(组长)学生成绩统计分析、学生课程成绩统计分析、综合查询表单的界面和代码设计;所有组员表单的汇合;菜单和主程序的设计;系统的测试;课程设计报告的编写。李春容学生成绩查询表单、学生成绩维护表单、录入学生成绩表单的界面和表单代码设计。李 情系统登录表单、学生信息增加表单、学生信息维护表单的界面和表单代码设计。刘青红操作员维护表单、增加操作员表单的界面和表单代码设计。二、系统简介 学生成绩管理系统可以广泛应用于大专院校、职业学校、高中、初中以及小学等各类学校。在每个进行了信息化建设的学校,学生成绩管理系统是必不可少的。 从界面可以看到,学生成绩管理系统提供了系统维护、学生信息维护、学生成绩维护、学生成绩查询统计、综合查询、退出六部分功能。这个系统可以解决过去手记成绩,可以更快速的对成绩进行管理,如查询、增加、修改、删除等。三、系统可行性分析(一)技术可行性 该系统是计划通过使用VFP6.0数据库软件作为开发工具进行开发,开发出的系统是一个数据库应用管理系统,该系统安全,可靠,稳定,可以满足此次设计任务的要求,这是一个简单的系统,对于我们非本专业的学生来说还是可以在一定时间内通过查询相关书籍和在网络上搜索相关的知识来完成此次设计的任务。(二)实施可行性 该系统计划通过设计一系列的便于操作的窗口界面,操作人员只需稍经培训就可以很快速的进入工作状态。同时,可以对目前很多经济不发达的地区的中小学校的手工记录成绩,查询,修改,编制报表等工作进行改善,使各项工作能够通过计算机来完成,是学生成绩管理实现自动化,相对于原始工作可以极大的学校的工作效率。四、系统设计(一)目标设计这次的管理信息系统设计旨在抛砖引玉,通过开发一个简单的学生成绩管理系统,让我们熟悉一些数据库和程设计的流程。我们是学管理专业的学生,对于各个方面都要有所掌握并且尽量去学习各方面的知识让自己达到熟悉,增加自己的知识储备。当然计算机这一块不是我们的主专业,但是我们可以进我们自己最大的能力去学习这方面的知识,将来走向社会我们对这方面能有所了解,增强自己的管理能力。此次设计的目标是设计出一个完整的学生成绩管理系统,能够达到学生成绩管理的基本要求,如:查询,增加,修改,删除等操作。(二)开发设计思想 1.尽量采用寝室内同学电脑现有的软硬件环境及先进的管理系统开发方案,从而达到充分利用现有的资源,提高系统的开发水平和应用效果的目的。 2.系统应符合学校学生成绩管理的规定,满足学校对学生的日常管理要求,并达到操作过程的直观、方便、实用、安全等要求。3.系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护、修改。4.系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。(三)开发和运行环境选择1.开发工具:Visual FoxPro6.02.运行环境:Windows XP(四)系统结构图是否合法?退出系统进入主窗口界面用户验证登录界面系统操作的主要流程学生信息维护学生信息增加操作员维护增加操作员学生信息维护操作员维护学生成绩管理信息系统菜单综合查询学生成绩查询统计分析学生成绩维护综合查询学科成绩统计分析学生成绩统计分析学生成绩查询录入学生成绩学生成绩维护系统结构图(五)系统的业务流程图学生成绩表学生信息表学生信息文件学生基本信息表学生成绩单管理员进入学生成绩文件成绩表输出学生的成绩(六)系统的数据流程图学生F1 学生信息P1学生信息处理F1学生信息F2考试信息P2考试信息处理管理员 考F2 试 信息F2考试信息P1学生信息处理D2 成绩数据库 F1学生信息D1 学生信息数据库五、系统功能模块介绍 本系统主要应用于学校学生成绩管理,主要任务是用计算机对学生成绩进行日常管理。针对这些基本要求,我们设计了这个简单易行的学生成绩管理系统。1.系统主界面该模块是学生成绩管理系统的主界面,是主系统的唯一入口和出口,该界面可以调用这个系统各个子模块。实现对学生相关信息的浏览、查询、修改等。2.验证界面验证界面是验证用户是否正确,只有当使用者正确的输入用户名和密码后才能进去这个系统的主界面进行相关的操作。3.操作员维护模块这个模块主要进行系统的操作员的增加和维护,只有在这个里面增加了系统的操作员才能登录这个系统进行相关的操作。当这个系统的换了操作员的时候也可以在这个模块中进行操作员的维护,对操作员的信息进行修改或者删除等相关操作。4.学生信息维护模块此模块主要是分为学生信息增加和学生信息维护。进入这个模块通过学生信息增加表单可以在系统的数据库内增加新学生的相关信息,还可通过学生信息维护表单浏览已有的学生信息或者修改、删除相关的学生信息等。5.学生成绩维护模块这个部分主要是对学生的成绩相关信息进行相关的操作。通过学生成绩增加表单可以增加学生的新产生的成绩;通过学生成绩维护可以对同学的已有的成绩进行相关的修改、删除等操作,并储存在数据库中。6.学生成绩查询统计分析模块这部分是这个系统里面最强大的一个模块设计,里面分别有三个表单来运作,有学生成绩查询、学生成绩统计分析、学科成绩统计分析;学生成绩查询可以对学生成绩进行总体的浏览和单个的查询,学生成绩统计分析可以对单个的学生所有的学的课程成绩进行大概的统计分析,有及格门数和不及格门数,还有平均成绩和总体成绩两项;类似的,学科成绩统计分析可以以学科为基础,来分析所有学这门课程的同学的整体情况进行简约的相关的分析,有及格人数和不及格人数,还有这门学科的平均成绩这三项。7.综合查询模块这是一个综合学生信息和学生成绩信息一体的一单个的表单,只要在系统运行这个子系统,里面既可以对学生的相关信息进行查询,也可以对学生的成绩进行查询。六、数据库的设计(一)数据库概念设计 概念结构设计是通过对用户需求精心综合、归纳和抽象,形成一个独立于具体数据库管理系统的概念模型。它是整个数据库设计过程的基础,它描述了从用户角度看到的数据库的内容及联系,纯粹是对现实的反映,而与数据的存储结构、存取方式以及具体实现等无关。在这里我们用E-R图来描述我们学生成绩管理系统的概念模型。姓名课程名 nm备注出生日期成绩考核学生学号性别分数专业班级课程号学号(二)数据库逻辑结构设计将以上E-R图转换成如下关系模式: 学生表(学号,姓名,性别,专业班级,出生日期,备注) 成绩表(学号,课程名,课程号,分数)(三)数据库物理结构设计本系统中有两个数据表:学生表和成绩表,表结构如下图:学生表(stu)结构成绩表(xscib)结构七、主要模块的创建 所有模块中表单在设计的过程中都要在其数据环境中添加这个表单所需要的数据表,这样才能使表单正常运行。(一)开始界面设计图中的界面主要有三个label控件,通过caption,backstyle,forecolor等属性进行设置之后形成。(二)验证界面设计界面中主要有三个label,两个command,一个combo和一个text几个控件,对控件进行相关属性设置之后就成了图中的界面。1.界面中“登录”按钮click事件的代码if xmm=alltrim(thisform.text1.value) do form 学生成绩管理信息系统 release thisform clear eventselse wait window 您输入的密码有误,请重新输入! timeout 2 thisform.text1.value= thisform.text1.setfocus thisform.refreshendif2.界面中“退出”按钮的click事件的代码release thisform(三)学生成绩查询表单设计表单中的控件分别有:label,command,text,grid;通过对各控件的相关属性进行修改,其中grid还要用生成器在这个表格中自动生成对应学生成绩表(xscjb)中各字段进行显示。1.界面中“查询”按钮(1)click事件的代码:select * from xscjb where xscjb.sno=alltrim(thisform.text1.value);order by xscjb.sno into cursor tempcursorthisform.grid1.recordsource=tempcursor(2)init事件的代码:public tempcursor(四)录入学生成绩表单设计这个表单中主要由的控件为:5个label,4个text,2个command,其中一个总的标签,然后接下来的四个label和四个text相对应用来输入学生课程成绩。这里有一个要值得注意的是,在学生成绩表(xscjb)中“成绩”这个字段是数值型的数据,在text控件的默认值的属性是字符型,那么在相对应的text的生成器中应该由字符型改为数值型。1.界面中“添加”按钮的代码if this.caption=添加 thisform.text1.enabled=.t. thisform.text2.enabled=.t. thisform.text3.enabled=.t. thisform.text4.enabled=.t. this.caption=保存else sele xscjb insert into xscjb (sno,xkcm,xcj,xno); values(alltrim(thisform.text1.value),alltrim(thisform.text2.value),;thisform.text3.value,alltrim(thisform.text4.value) thisform.text1.enabled=.f. thisform.text2.enabled=.f. thisform.text3.enabled=.f. thisform.text4.enabled=.f. this.caption=添加 wait window 资料已保存! timeout 1 thisform.refreshendif本系统中所有界面的“退出”按钮和验证表单中的代码一样。(五)学生成绩维护表单设计 此表单中主要控件有:label,text,command三种,其中还是值得注意的是成绩所对应的text应该改其数据类型为数值型。1.界面中“”按钮click事件的代码go topthisform.refresh2.界面中“”按钮click事件的代码if !bof()skipendifthisform.refresh4.界面中“”按钮的代码go bottomthisform.refresh5.界面中“删除”按钮click事件的代码deletethisform.refresh6.界面中“修改”按钮click事件的代码if this.caption=修改thisform.text1.enabled=.t.thisform.text2.enabled=.t.thisform.text3.enabled=.t.thisform.text4.enabled=.mand1.enabled=.mand2.enabled=.mand3.enabled=.mand4.enabled=.f.this.caption=保存elsesele xscjbreplace sno with alltrim(thisform.text1.value)replace xno with alltrim(thisform.text2.value)replace xkcm with alltrim(thisform.text3.value)replace xcj with thisform.text1.valuethisform.text1.enabled=.f.thisform.text2.enabled=.f.thisform.text3.enabled=.f.thisform.text4.enabled=.mand1.enabled=.mand2.enabled=.mand3.enabled=.mand4.enabled=.t.this.caption=修改wait window 资料已保存! timeout 2endifthisform.refresh(六)学生成绩统计分析表单设计 表单中主要控件有:label,text,command,grid四种,同样的通过一些操作来将其属性做相应改变。同样,grid表格控件也需要在生成器内生成与学生成绩表中相对应的字段。1.界面中“统计”按钮的click事件代码numpass=0numnopass=0sharescore=0select xscjb.sno,xscjb.xno,xscjb.xcj from xscjb;where xscjb.sno=alltrim(thisform.text1.value) order by xscjb.sno;into cursor tempcursorthisform.grid1.recordsource=tempcursorscanif xcj=60numpass=numpass+1elsenumnopass=numnopass+1endifsharescore=sharescore+xcjendscanthisform.text2.value=numpassthisform.text3.value=numnopassthisform.text4.value=sharescore/(numpass+numnopass)thisform.text5.value=sharescore(七)学生课程成绩统计分析表单设计1.界面中“统计”按钮的click事件的代码jgrs=0bjgrs=0sharescore=0select xscjb.sno,xscjb.xno,xscjb.xcj from xscjb;where xscjb.xno=alltrim(thisform.text1.value) order by xscjb.xno;into cursor tempcursorthisform.grid1.recordsource=tempcursorscanif xcj=60jgrs=jgrs+1elsebjgrs=bjgrs+1endifsharescore=sharescore+xcjendscanthisform.text2.value=jgrsthisform.text3.value=bjgrsthisform.text4.value=sharescore/(bjgrs+jgrs)(八)学生信息增加表单设计 该表单应该在生成器内改变入学日期和出生日期所对应的text的字段属性值,由字符型变为日期型,使之与学生信息表(stu)中的字段属性值一样。1.界面中“添加”按钮click事件的代码if this.caption=添加 thisform.text1.enabled=.t. thisform.text2.enabled=.t. thisform.text3.enabled=.t. thisform.text4.enabled=.t. thisform.text5.enabled=.t. thisform.text6.enabled=.t. bo1.enabled=.t. this.caption=保存else sele stu insert into stu(sno,sname,szybj,sxb,srxrq,scsrq,sbz); values (alltrim(thisform.text1.value),alltrim(thisform.text2.value),; alltrim(thisform.text3.value),bo1.value,; thisform.text4.value,thisform.text5.value,alltrim(thisform.text6.value) thisform.text1.enabled=.f. thisform.text2.enabled=.f. thisform.text3.enabled=.f. thisform.text4.enabled=.f. thisform.text5.enabled=.f. thisform.text6.enabled=.f. bo1.enabled=.f. this.caption=添加 wait window 资料已保存! timeout 1 thisform.refreshendif(九)学生信息维护表单设计该表单中的“删除”和“退出”按钮的代码前面有相同的,这里不重复书写。同样也要改变文本框相对应的字段属性值。1.界面中“”按钮click事件的代码go topthisform.text1.value= snothisform.text2.value= snamethisform.text3.value= sxbthisform.text4.value= szybjthisform.text5.value= scsrqthisform.text6.value= srxrqthisform.edit1.value= sbzthisform.refresh2.界面中“”按钮click事件的代码if !bof() skip thisform.text1.value= sno thisform.text2.value= sname thisform.text3.value= szybj thisform.text4.value= sbz thisform.text5.value= scsrq thisform.text6.value= srxrq thisform.edit1.value= sbzendifthisform.refresh4.界面中“”按钮click事件的代码go bottom thisform.text1.value= sno thisform.text2.value= sname thisform.text3.value= szybj thisform.text4.value= sbz thisform.text5.value= scsrq thisform.text6.value= srxrq thisform.edit1.value= sbzthisform.refresh5.界面中“修改”按钮click事件的代码if this.caption=修改 thisform.text1.enabled=.t. thisform.text2.enabled=.t. thisform.text3.enabled=.t. thisform.text4.enabled=.t. thisform.text5.enabled=.t. thisform.text6.enabled=.t. thisform.edit1.enabled=.t. mand1.enabled=.f. mand2.enabled=.f. mand3.enabled=.f. mand4.enabled=.f. this.caption=保存else sele stu replace sno with alltrim(thisform.text1.value) replace sname with alltrim(thisform.text2.value) replace szybj with alltrim(thisform.text4.value) replace sbz with alltrim(thisform.edit1.value) replace scsrq with thisform.text5.value replace srxrq with thisform.text6.value replace sxb with alltrim(thisform.text3.value) thisform.text1.enabled=.f. thisform.text2.enabled=.f. thisform.text3.enabled=.f. thisform.text4.enabled=.f. thisform.text5.enabled=.f. thisform.text6.enabled=.f. thisform.edit1.enabled=.f. mand1.enabled=.t. mand2.enabled=.t. mand3.enabled=.t. mand4.enabled=.t. this.caption=修改 wait window资料已保存!timeout 1 endif thisform.refresh(十)综合查询表单设计 该表单可以分别对学生信息和学生考试信息进行查询,通过一个pageframe控件来实现的该功能,以下图片就是这个pageframe分别的两个page。1.学生信息查询中的“查询”按钮click事件的代码select * from stu where stu.sno=alltrim(thisform.pageframe1.page1.text1.value);order by stu.sno into cursor tempcursorthisform.pageframe1.page1.grid1.recordsource=tempcursor2.学生信息查询中的text1文本框lostfocus事件的代码sele stuset filter to sno=alltrim(this.value)3.学生成绩查询中的“查询”按钮click事件的代码select * from xscjb where xscjb.sno=alltrim(thisform.pageframe1.page2.text1.value);order by xscjb.sno into cursor tempcursorthisform.pageframe1.page2.grid1.recordsource=tempcursor4.学生成绩查询中的text1文本框lostfocus事件的代码sele xscjbset filter to sno=alltrim(this.value)(十一)操作员维护表单设计 同样的,该表单中的删除和退出是同样的代码设计1.界面中“”按钮click事件的代码go topthisform.text1.value=xnamethisform.text2.value=xmmthisform.refresh2.界面中“”按钮click事件的代码if ! bof() skip thisform.text1.value=xname thisform.text2.value=xmmendifthisform.refresh4.界面中“”按钮click事件的代码go bottomthisform.text1.value=xnamethisform.text2.value=xmmthisform.refresh5.界面中“修改”按钮click事件的代码if this.caption=修改 thisform.text1.enabled=.t. thisform.text2.enabled=.t. mand1.enabled=.f. mand2.enabled=.f. mand3.enabled=.f. mand4.enabled=.f. this.caption=保存else sele xtyhb replace xname with alltrim(thisform.text1.value), ;xmm with alltrim(thisform.text2.value) thisform.text1.enabled=.f. thisform.text2.enabled=.f. mand1.enabled=.t. mand2.enabled=.t. mand3.enabled=.t. mand4.enabled=.t. this.caption=修改 wait window 资料已保存timeout 1endifthisform.refresh(十二)增加操作员表单设计1.界面中“添加”按钮click事件的代码if this.caption=添加 thisform.text1.enabled=.t. thisform.text2.enabled=.t. this.caption=保存else sele xtyhbinsert into xtyhb(xname,xmm) values;(alltrim(thisform.text1.value),alltrim(thisform.text2.value) thisform.text1.enabled=.f. thisform.text2.enabled=.f. this.caption=添加 wait window 资料已保存! timeout 1 thisform.refreshendif(十三)菜单设计 下图是此次系统的菜单主界面,里面分为六个模块,在进入系统时,这些模块会分布在系统的主窗口上面的菜单栏中,在每个模块里有相应的相关运行窗口,点击其中一个都能进行表单运行,然后通过表单向数据库中的表添加或修改学生相关信息。菜单结构在设计完成后,还要生成菜单文件,并设置菜单栏中的常用选项中选中顶层菜单的复选框。然后再在主窗口表单中输入代码1.主窗口form的init事件的代码do gg418.mpr with this,.t.(十四)主程序设计 菜单在建成之后,我们还要对创建一个新的主程序文件,通过这个文件将菜单和所有表单联成一体,我们只要运行这个主程序文件,我们就能过对整个系统进行操作。1.建立主程序时的代码set talk offset safe offset exac onset dele onset defa to e:gg418do form 系统登陆read even八、系统的运行测试(一)系统登录后计入系统主界面(二)然后在菜单栏里选择操作员维护中的操作员维护或增加操作员两哥选项,可以对系统添加新的操作员并存储,也可以修改已有的操作员相关信息。下面是运行的两个界面。(三)在学生信息维护模块内有学生信息增加和学生信息维护两个选项,分别选择,可以增加新的学生的信息或者修改已有的学生信息等。下面是运行的两个界面。(四)在学生成绩维护模块内有学生成绩录入和学生成绩维护两个选项,同样的可以增加新学生的成绩或者修改、删除已有学生的成绩信息等。下面是运行界面。(五)学生成绩查询统计模块有三个选项,分别为学生成绩查询、学生成绩统计分析、学生课程成绩统计分析三个表单,分别可以对学生的成绩进行总体的查询、统计,也可以分科类的对学生成绩进行分析。(五)综合查询模块只有综合查询一个表单,是对学生信息和学生成绩都可以进行查询的表单。(六)最后就是退出模块了,只要点击这个菜单命令,整个系统就全部退出。九、课程设计的心得体会 这个学期我们学习了管理信息系统这门课程,学校也是给我们合理地安排了学习的时间,通过理论和实践相结合的方式,在学习理论知识的同时也给我们安排实验课和课程设计实习周。通过将近一个学期的理论和上机实验,我们这一个星期要通过我们所学到的来自己创建一个管理信息系统,对于我们非本专业的学生做计算机方面的显然不是很精通,可是我们是工商管理专业的学生,我们必须要对这个方面有所了解,我们在以后走入社会才能成为合格的工商管理人才。管理就是管各种各样不同性格不同专业的人,我们必须都有所涉猎才能把握得住。 在这一个星期中,不仅增加了我们的专业知识,也增强了我们的合作团意识,这次的课程设计是以寝室为单位,一个寝室做一个项目的设计。在还没有开始这个课程设计时,我们当时都觉得要我们单独的设计出一个能够完整完全正常运行的管理信息系统会很难,觉得有点不能完成任务。我们开始是迷茫的, 可是渐渐地,我们通过到图书馆查找资料,回来仔细研究,确定一个合理适中的项目来进行我们的课程设计,我们既不能选容易的,也不能选很难的,只能适度超越我们现有的专业知识,这样才会让我们有动力去钻研,去学习新的知识。通过我们寝室四个人的讨论,我们最终确定了做一个与自己现有身份相关联比较大的项目:学生成绩管理系统,这个系统是我们比较熟悉的,也是我们作为学生的身份能够理解这个系统的完整的流程。结果当我把这个项目确定,拿着自己的想法和老师去说的时候,老师说我们的系统比较简单,给我们系统中加了一个成绩的统计分析。就这一项来说,我们思考问题还是很片面,没有用全局的角度进行思考,也缺乏应有的自信。 确定了项目之后,我们就寝室这个小团体进行分工,我们把这次系统设计任务按系统的模块进行划分,然后把任务分配下去,这样我们可以在自己的模块中尽情发挥自己的能力。当然,寝室成员之间是需要沟通交流的,我们是做的同一个系统不同模块,但还是统属于这个系统,在风格上还是要进行相应的统一。这无疑增强了我们团体中的沟通交流能力,我们不止要有自己的个性,但是我们的个性必须还是服从总体的特征,在此基础上才能展现我们才能,这无论在我们以后的生活上还是工作中无疑很重要的一点。其实这

温馨提示

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

评论

0/150

提交评论