数据库课程设计学生成绩管理系统

上传人:仙*** 文档编号:28718520 上传时间:2021-09-08 格式:DOC 页数:22 大小:1.02MB
返回 下载 相关 举报
数据库课程设计学生成绩管理系统_第1页
第1页 / 共22页
数据库课程设计学生成绩管理系统_第2页
第2页 / 共22页
数据库课程设计学生成绩管理系统_第3页
第3页 / 共22页
点击查看更多>>
资源描述
1计算机科学与技术学院课程设计报告2010 2011 学年 第 一 学期课程名称 数据库课程设计 设计题目 学生成绩管理系统 学生姓名 学 号 专业班级 指导教师 2011 年 1 月 7 日 2目录摘要 .3一、课题组成员及本人任务 .41. 系统组成 .42. 系统功能 .4二、需求分析 .4三、概念结构设计 .5四、逻辑结构设计 .5五、系统功能实现 .71、登陆界面 .72、菜单项 .83、设置专业 .84、设置班级 .95、设置课程 .116、录入学生记录 .127 、添加学生记录 .128、 录入学生成绩 .139、 用户管理 .1510、 数据备份 .16六、设计总结 .18七、参考文献 .18八、附录:主要源代码 .193摘要在现在信息化高速发展的时代,信息只有快,准,精才能发挥其价值。所以机器代替人力是必然的历史发展趋势,人工操作必将被计算机代替。计算机在我们的日常生活中的使用越来越不可或缺,计算机进行信息管理,不仅提高了工作效率,而且大大的提高了其安全性.尤其对于复杂的信息管理,计算机能够充分发挥它的优越性. 数据库技术,已经成为先进信息技术的重要组成部分,是现代计算机信息系统和计算机应用系统的基础和核心。数据库技术从诞生到现在,在不到半个世纪的时间里,形成了坚实的理论基础、成熟的商业产品和广泛的应用领域,吸引越来越多的研究者加入。数据库的诞生和发展给计算机信息管理带来了一场巨大的革命。三十多年来,国内外已经开发建设了成千上万个数据库,它已成为企业、部门乃至个人日常工作、生产和生活的基础设施。同时,随着应用的扩展与深入,数据库的数量和规模越来越大,数据库的研究领域也已经大大地拓广和深化了。计算机技术不断应用到各行各业,大量的企业数据存放于数据库中,并通过数据库进行快速查询,获取比传统方式更高的效率。而学生成绩交由数据库进行保存、管理,则是一个教育单位不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要。4一、课题组成员及本人任务课题由本人单独完成,系统的组成和功能组要包括包括:1. 系统组成 数据表组成:数据表 3 个:学生表、课程表、成绩表查询组成:查询学生、按班级查询成绩、按课程查询成绩 菜单组成:主菜单由基本数据管理、学生成绩管理、系统维护组成。报表组成:学生一览表、课程一览表、成绩一览表(可按课程分类和按学号分类)。自由表组成:密码表、系统信息表。2. 系统功能 本系统的主要功能分别通过主菜单中的以下各项来实现: 通过系统维护菜单实现用户管理、数据备份、系统初始化; 通过学生成绩管理菜单实现对学生成绩的录入、查询学生成绩和统计学生总成绩; 通过基本数据管理菜单实现对专业、班号、课程的设置,录入学生记录,查询学生记录和退出系统;二、需求分析1、所使用的工具:microsoft visual foxpro 6.02、需要存储的数据和在该模块实现的功能:专业信息:对专业的添加、修改及退出该表单;班级信息:根据专业设计班级班号和入学年份,可以对班号进行添加、修改、删除,及退出该表单;课程信息:针对不同的专业,设置课程号、课程名、课程性质、开课学期、课程学分等,以及实现对课程的添加、插入、修改、删除的功能,及退出该表单;学生信息:对不同专业不同班级学生信息的录入,基本的学生信息包括学号、姓名、性别、出生日期、民族、备注、照片等,可进行添加、修改,及退出该5表单; 学生成绩:选定专业、班级和该课程所在的学期, “确定”后,对所选该课程的学生登记分数,录入完成后, “返回” ; 设置用户:对用户的添加、修改和设置权限,添加的内容包括用户名、密码、级别(管理员和一般用户) , “修改”有密码、权限等操作;三、概念结构设计E-R 图:选定学生表用户课程表出 生 日 期姓名 专 业 班 级性别备注照片学号民族课 程 号课 程 名开 课 学 期课 程 性 质学分用户名密码成绩权限四、逻辑结构设计678五、系统功能实现1、登陆界面确定:rq=thisform.text2.valueIF (n2) =MESSAGEBOX(口令三次输入错误,不能使用本系统 ,48,信息提示) flag=.F. THISFORM.RELEASEELSE SELECT user LOCATE FOR usename=ALLTRIM(bo1.Value) AND usepass=ALLTRIM(thisform.text1.Value) IF FOUND() flag=.T. ulevel=uselevel THISFORM.RELEASE ELSE =MESSAGEBOX(口 令 不 正 确, 重 新 输 入 ,48,信息提示) THISFORM.combo1.VALUE=9 n=n+1 THISFORM.combo1.SETFOCUS ENDIFENDIF取消: thisform.Release2、菜单项3、设置专业添加:f=flag=1 &表示添加专业DO FORM setprof1修改: f=专业flag=2 &表示修改专业DO FORM setprof1退出: thisform.ReleaseRELEASE f,flag确定: IF flag=1 SELECT prof APPEND BLANKENDIFREPLACE 专业 WITH thisform.text1.Text10thisform.Release取消: thisform.Release4、设置班级确定: mand1.Enabled=.T.thisform.label4.Caption=ALLTRIM(thisform.list1.value)+专业的班号SELECT classnSET FILTER TO ALLTRIM(专业)=ALLTRIM(thisform.list1.Value) AND NOT DELETED()GO TOPthisform.Refresh添加: f1=thisform.list1.valuef2=f3=YEAR(DATE()flag=1 &添加操作DO FORM setclass1SELECT classnf1=专业f2=班号f3=入校年份flag=2 &修改操作DO FORM setclass1删除: SELECT classnf1=专业f2=班号f3=入校年份flag=3 &删除操作11DO FORM setclass1退出: thisform.ReleaseRELEASE f1,f2,f3,flag &释放定义的全局变量确定SELECT classnIF flag=1 &添加操作 APPEND BLANK REPLACE 专业 WITH f1,班号 WITH thisform.text2.text,入校年份 WITH thisform.text3.ValueELSE IF flag=2 &修改操作 REPLACE 班号 WITH thisform.text2.text,入校年份 WITH thisform.text3.Value ELSE &删除操作 DELETE ENDIFENDIFthisform.Release取消:thisform.Release5、设置课程确定:SELECT courseIF flag=1 &添加操作 APPEND BLANK REPLACE 专业 WITH f1,课程号 WITH thisform.text2.text,课程 WITH 12thisform.text3.text, ; 性质 WITH bo1.Value,开课学期 WITH bo2.value,学分 WITH thisform.text4.valueELSE IF flag=2 &修改操作 REPLACE 课程号 WITH thisform.text2.text,课程 WITH thisform.text3.text, ; 性质 WITH bo1.Value,开课学期 WITH bo2.value,学分 WITH thisform.text4.value ELSE IF flag=3 &删除操作 DELETE ELSE &前插操作 INSERT BEFORE BLANK REPLACE 专业 WITH f1,课程号 WITH thisform.text2.text,课程 WITH thisform.text3.text, ; 性质 WITH bo1.Value,开课学期 WITH bo2.value,学分 WITH thisform.text4.value ENDIF ENDIFENDIFthisform.Release取消: thisform.Release6、录入学生记录确定:PUBLIC f1,f2term=thisform.text1.valuef1=ALLTRIM(thisform.list1.Value)f2=ALLTRIM(thisform.list2.Value)13DO FORM setscore1thisform.Release取消: thisform.ReleaseRELEASE term添加: flag=1DO FORM setstudent2修改: flag=2DO FORM setstudent27 、添加学生记录:路径。 。 。img=GETFILE(bmp|Gif)IF FILE(img) APPEND GENERAL 照片 FROM (img)ENDIFthisform.Refresh 确定:SELECT studentIF flag=1 APPEND FROM student1ELSE REPLACE 学号 WITH student1.学号,姓名 WITH student1.姓名 REPLACE 性别 WITH student1.性别,出生日期 WITH student1.出生日期 REPLACE 民族 WITH student1.民族,专业 WITH student1.专业 REPLACE 班号 WITH student1.班号,备注 WITH student1.备注,照片 WITH student1.照片ENDIFthisform.Release取消:14thisform.Release8、 录入学生成绩确定:thisform.label2.Caption=alltrim(thisform.list1.value)SELECT scoreSET FILTER TO 班号=f2 AND 专业=f1 AND 课程=thisform.list1.valueCOUNT TO rsIF rs=0 &score 表中不存在该班号该课程的成绩 USE student IN 0 SELECT student SET FILTER TO 专业=TRIM(f1) AND 班号=TRIM(f2) GO TOP DO WHILE !EOF() SELECT score APPEND BLANK REPLACE 学号 WITH student.学号,姓名 WITH student.姓名,专业 WITH f1,班号 WITH f2,课程 WITH thisform.list1.value SELECT student SKIP ENDDO USE IN studentENDIFSELECT scoreGO top15thisform.Refresh返回:thisform.Release排序确定:SELECT scoresel=thisform.opg1.VALUEDO CASE CASE sel=1 INDEX ON 学号 TO tempxh CASE sel=2 INDEX ON 课程 TO tempkc CASE sel=3 INDEX ON 班号 TO tempbh CASE sel=4 INDEX ON -分数 TO tempfsENDCASEGO TOPthisform.Refresh 169、 用户管理添加:f1=f2= f3=flag=1 &添加操作DO FORM usermain1修改: f1=usenamef2=usepassf3=uselevelflag=2 &修改操作DO FORM usermain1退出: thisform.ReleaseRELEASE f1,f2,f3,flag确定:SELECT userIF flag=1 &添加操作 APPEND BLANKENDIFREPLACE usename WITH thisform.text1.ValueREPLACE usepass WITH thisform.text2.ValueREPLACE uselevel WITH bo1.valuethisform.Release取消:17thisform.Release10、 数据备份确定:filen=ALLTRIM(thisform.text1.value)olfpath=thisform.ReleaseIF !DIRECTORY(filen) IF MESSAGEBOX(不存在该目录 ,需要建立吗?,4+32,信息提示)=6 MD (filen) ELSE RETURN ENDIFENDIFIF RIGHT(filen,1) filen=filen+ENDIFUSE user IN 0fn=filen+userCOPY TO (fn)USE IN userUSE student IN 0fn=filen+studentCOPY TO (fn)USE IN studentUSE score IN 0fn=filen+score18COPY TO (fn)USE IN scoreUSE prof IN 0fn=filen+profCOPY TO (fn)USE IN profUSE classn IN 0fn=filen+classnCOPY TO (fn)USE IN classnUSE course IN 0fn=filen+courseCOPY TO (fn)USE IN course取消: thisform.release19六、设计总结一周多的课程设计,终于成功的验收了,虽然有些疲惫,但还是有很多的收获的,我又一次巩固了所学到的知识,之前的学习只是停留在理论基础上,现在自己动手操作试验后,才是真正的理解及体会。数据库也学了近四个月,有很多知识都是似懂非懂,通过平时上机操作,自己也了解了一些,但让我有了更深的理解和更好的认识,则是在这次的课设上,之前的困惑也通过这次的课设解决了一些,虽然还是不能够全面的理解,但是有进步就很高兴。 在课程设计之前,因为有了综合实验的经验与教训,明白了写代码这一步是非常重要的,因为当你把代码输进去之后,并编译让其运行,发现通过不了,再来检查出问题,是很费费力的事情,因此分析和规划代码是很重要的,最重要的是要把逻辑结构写好,这样就不会出现大问题,写代码就要先找出核心的内容,用多种方法来实现核心部分,这样可以尽可能的避免发现逻辑或编译不支持的错误。通过本次论文设计,我初步学会了论文设计的基本方法,学会了怎样去借鉴别人的方法和经验,知道了如何整合资料和处理这些资料的能力,这位以后做毕设的论文打下了基础,使我感觉比较好的是有一种成功的喜悦,虽然在编译的时候会经常因为一些小的错误而心烦意乱,但是也不失为一件好事,失败的越多积累的经验越丰富,对人的考验也比较多,那么在最后编译成功时的喜悦就越浓烈,也是自己的能力有了进一步的提高。由于知识和经验的不足,这个程序编写的不是很尽如人意,但是融合了自己的心血,就觉得是最好的,所以在以后还是需要较多的努力的,还是会在以后的学习过程中不断地提高和改进的。七、参考文献【1】 数据库系统原理 中国矿业大学出版社 主编:赵文涛【2】 vfp 实例教程 清华大学出版社 主编:王松 刘强 汪晟【3】Csdn 资源 http:/ 发布人 likaixingzoujianghu 【4】百度文库 “学生成绩管理系统”开发实例20http:/ 学生成绩管理系统http:/ 八、附录:主要源代码主程序CLEARSET TALK OFFSET SYSMENU offSET 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 eventENDIF&以下代码在退出时做清理工作SET SYSMENU TO defaultSET SYSMENU onCLOSE ALL21CLEAR ALLSET EXCLUSIVE ON &以独占的方式打开表use user in 0select userpackuse in useruse prof in 0select profpackuse in profuse classn in 0select classnpackuse in classnuse course in 0select coursepackuse in courseuse student in 0select studentpackuse in studentuse score in 0select scorepackuse in scoreRETURN 22
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!