版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、镇江高等专科学校课程设计报告书 题 目: 学生成绩管理系统 系 部: 电子信息系 专 业: 计算机应用技术 班 级: 微机D07 姓 名: 学 号: 2008年 12 月 24 日 目录第1章 系统简介.4第2章 系统可行性分析4 2.1 技术可行性.4 2.2 实施可行性.4第3章 系统设计.4 目标设计.4 开发设计思想.5 3.3 开发和运行环境选择.5 系统结构图.5 3.5 系统模块功能介绍 .7 3.5.1 系统主界面7 3.5.2 验证界面.7 3.5.3 查询模块 .7 3.5.4 维护模块.7 3.5.5 报表模块.7 3.5.6 退出系统7 3.6 数据库设计.8 3.6.
2、1 数据库概念设计8 3.6.2 数据库逻辑设计9 3.6.3 数据库物理设计9 3.6.4 建立索引和永久关系.11 3.7 主要模块的创立12 3.7.1 开始界面设计.12 退出界面设计.13 3.7.3 验证界面设计.15 3.7.4 学生成绩查询表单17 3.7.5 浏览学生信息表单18 3.7.6 浏览课程表表单.19 3.7.7 学生查询界面20 3.7.8 维护成绩表界面.22 3.7.9 菜单设计.23 3.7.10 报表设计.24 3.7.11 主程序设计25第4章 开发中的难点与解决技巧27附录代码.28第1章 系统简介 随着社会的开展,资讯的迅速开展便得我们从过去繁重的
3、劳作中得以解脱,所以编写一个完善的学生成绩管理系统的任务就显得很必要了。学生成绩管理系统解决了过去手记成绩,现在它更快速的对学生成绩进行管理,如查询、修改、增加、删除。第2章 系统可行性分析 数据库软件作为开发工具进行开发,开发出的系统是一个数据库应用管理系统,该系统平安,可靠,稳定,完全可以满足任务要求。2.2实施可行性 该系统可以设计一系列便于操作的窗口界面,操作人员只需稍经培训就可以进入工作状态。同时,可以对目前手工记录学生成绩,查询,修改,编制报表等工作进行彻底改革,使各项工作都能够通过计算机来完成,使学生成绩管理实现自动化,极大的提高了工作效率。第3章 系统设计 目标设计本章旨在抛砖
4、引玉,通过开发一个简化的学生成绩管理系统,展示Visual FoxPro的强大功能。同时,希望有兴趣的可以在此根底上设计开发出功能更多更强大的学生成绩管理系统。3.2 开发设计思想本系统开发设计思想:u 尽量采用学校现有软硬件环境,及先进的管理系统开发方案,从而到达充分利用学校现有的资源,提高系统开发水平和应用效果的目的。u 系统应符合学校学生成绩管理的规定,满足对学校学生日常管理的需要,并到达操作过程中的直观、方便、实用、平安等要求。u 系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。u 系统应具备数据库维护功能,及时根据用户需求进行数据
5、的添加、删除、修改、备份等操作。3.3 开发和运行环境选择运行环境:Windows9x、Windows NT或Windows 2000操作系统。3.4 系统结构图采用模块化设计思想,可以大大提高设计的效率,并且可以最大限度地减少不必要的错误。其系统结构图如下所示:开始界面验证用户进入主窗口界面退出系统是否合法学生成绩管理系统报表 查询 维护退出学生表浏览课程表浏览成绩表浏览学生查询成绩查询成绩表维护菜单3.5 系统模块功能介绍本系统主要用于学校学生成绩管理,主要任务是用计算机对学生成绩进行日常管理,如查询、修改、增加、删除。针对这些要求,设计了本学生成绩管理系统。该系统主要进行学生成绩的查询、
6、浏览、维护。l 系统主界面该模块是学生成绩管理系统的主界面,是主系统的唯一入口和出口。该界面可调用各子模块。实现对学生相关信息的浏览,查询,修改和报表。l 验证界面验证界面是验证用户名,只有当使用者正确的输入用户名和密码后才能进入系统。l 查询模块本模块的目的在于快速浏览学生信息,学生的成绩和课程表。l 维护模块本模块的目的在于对系统的各个数据库进行维护,对课程表、学生表、成绩表进行增加、删除,以便及时更新数据进行查询。l 报表模块本模块的目的在于对学生表、课程表、成绩表的报表浏览,能够通过打印机将它们打印出来。l 退出系统本模块设计的目的是当用户退出系统时显示感谢词,画面停留两秒后自动退出.
7、3.6 数据库设计² 数据库概念设计ER图是ER模型的图形表示法,它是直接表示概念模型的有力工具。我们用ER图来说明学生成绩管理系统的数据库概念模式,如以下图所示。学生姓名性别出生年月班级学号 a课程课程名课程编号学分任课老师 ( b ) 成绩课程编号分数学号 ( c )成绩学习课程考试学生 ( d )² 数据库逻辑设计将以上ER转换成如下关系模式: 学生表学号,姓名,性别,出生年月,班级课程表课程名,课程编号,学分,任课教师成绩表学号,课程编号,分数² 数据库物理设计本系统中包括三个数据表:学生表、课程表、成绩表,表结构如以下图:学生表结构字段名字段类型与长度字
8、段规那么与说明默认值标题XHC8“81991001”学号XMC8姓名XBC2“性别只能是男或女“女性别CSRQD“年龄在18至22岁之间出生年月BJC10班级 课程表结构字段名字段类型与长度字段规那么与说明默认值标题KCHC(4)课程编号KCMC(14)课程名JSC(8)任课教师XFN(3,1)“学分大于0"1学分 成绩表结构字段名字段类型与长度字段规那么与说明默认值标题XHC(8)学号KCHC(4)课程号CJN(5,1)“成绩大于0”60成绩² 建立索引和永久关系 建立索引数据表名称索引名称索引类型索引表达式学生表NO主索引XHNAME普通索引XM课程表SUB_NO主索引
9、KCHSUB_NAME普通索引KCM成绩表STUDENT主索引XH+KCH+STR(CJ,4,1)MARK普通索引CJ建立学生表与成绩表,课程表与成绩表的关联,关键字是分别是XH字段和KCH字段。3.7 主要模块的创立Ø 开始界面设计设计该表单的主要功能是当用户启动使用“学生成绩管理系统时,显示欢迎界面,开始界面上的欢迎词每个1秒闪烁一次。用户按下键盘上任一键时,系统自动进入下一级表单。设计该模块比较简单,利用一个表单就可实现其功能。以下是这一模块的设计步骤。首先新建一个表单,保存为“welcome。将该表单的“Caption属性设为“欢迎界面,“Desktop属性设置为“。为了给该
10、表单添加一张图片背景,设其“Picture属性为所要添加图片的地址。然后为该表单添加一个“Timer1控件和一个“Label1控件。修改“Timer1控件的“Interval的属性为“1000,这样当每间隔一秒钟将触发一次“Timer Event事件。“Label1控件的相关属性的内容如下表。 “Label1控件中主要属性属性名称属性值Caption欢迎使用学生成绩管理系统BackStyle0-TransparentFontBold.T.FontName隶书FontSize20ForeColor16711935开始界面的设计结果如以下图所示。Ø 退出界面设计当用户退出系统时显示感谢词
11、,两面停留两秒后自动退出。这一表单也比较简单,利用一个表单就可实现其功能。退出界面的设计方法同开始界面的设计方法类似。表单中所用的各控件属性如下表所示。 “Form1表单主要属性属性名称属性值Caption退出界面Desktop.T.Picture “Label1控件中主要属性属性名称属性值Caption欢迎使用BackStyle0-TransparentFontBold.T.FontName隶书FontSize32ForeColor “Label2控件中主要属性属性名称属性值Caption谢谢您的支持BackStyle0-TransparentFontBold.T.FontName隶书Fon
12、tSize30FontColor “Timer1控件中主要属性属性名称属性值Interval2000退出界面设计结果如以下图所示。 Ø 验证界面设计 为了确保数据库的平安性设计的,只有合法的用户才可以进行登录。如果用户名或密码输入不正确,可以取消重新输入。该表单包括两个LABLE控件,两个TEXT控件,和三个COMMAND控件。表单中的各控件属性如下表所示。 “Form1表单主要属性属性名称属性值Caption验证界面Desktop.T.Picture “Label1控件中主要属性属性名称属性值Caption用户名BackStyle0-TransparentFontBold.T.Fo
13、ntName宋体FontSize20 “Label2控件中主要属性 属性名称属性值Caption密码BackStyle0-TransparentFontBold.T.FontName宋体FontSize20 Command 控件主要属性控件名称属性名称属性值Command1Caption确定Command2Caption取消Command3Caption退出验证界面设计结果如以下图所示。Ø 学生成绩查询表单这一模块实现了最根本而又很重要的功能,它让用户方便快捷、多角度地得知想要查询的情况。该模块是对学生成绩的查询,可以查询所有学生的成绩,也可以根据学号进行查询。这一模块所包含的控件属
14、性所下表。控件名称属性属性值Form1Caption成绩查询Lable1Caption学号FontName楷体FontBold.T.Fontsize20Backstyle0 - 透明Command 1Caption查询FontSize12ForeColor(0,0,255)FontName楷体Command2Caption退出ForeColor(0,0,255)FontName楷体FontSize12 学生成绩查询设计结果如以下图所示。 Ø 浏览学生信息表单这一模块设计的目的主要是迅速的浏览学生信息。表单中包含的控件属性如下表。控件名称属性属性值Form1Caption学生信息浏览L
15、able1Caption学生信息表FontBold.T.FontName楷体FontSize25ForeColor(0,255,0)BackStyle0 - 透明 学生信息浏览表单设计结果如以下图所示。 Ø 浏览课程表表单这一模块设计的目的主要是快速浏览课程表,表单中所包含的控件属性如下表。控件名称属性属性值Form1Caption学生课程浏览Lable1Caption学生课程表FontName楷体FontBold.T.Fontsize28ForeColor(255,0,128)Backstyle0 - 透明Ø 学生查询界面本模块的目的在于快速浏览学生的根本情况。目标界面如
16、以下图所示。 表单中所包含的控件属性如下表。 控件名称属性属性值Form1Caption学生查询Lable1Caption学号Fontsize16FontBold.T.Backstyle0 - 透明Command 1Caption查询Command2Caption取消 控件Lable2、Lable3、Lable4、Lable5属性设置同Lable1相同。Ø 维护成绩表界面 本模块的目的在于对系统的各个数据库进行维护,对成绩表进行增加、删除,以便及时更新数据进行查询。表单中包含的所有控件的属性设置如下表。 控件名称属性属性取值Form1Caption成绩表维护Lable1Caption
17、成绩表FontBold.T.Fontsize30Backstyle0 - 透明Lable2Caption学号Backstyle0 - 透明Fontsize15Command 1Caption前一条Command 2Caption下一条Command 3Caption修改Command 4Caption取消 控件Lable3、Lable4属性与Lable2属性一置。在点击“修改命令按钮时,会出现“是否确定要修改该记录。选择“是会出现下面图。 这一模块设计的结果如以下图。Ø 菜单设计菜单以横向排列在主窗口顶部的标题栏之下,它方便而快捷地完成了各项工作。要做菜单先要翻开菜单设计器,在菜单设
18、计器中输入菜单名称,选择“结果。如需要编辑子菜单,进入子菜单进行编辑菜单名称。以下图是该模块的菜单设计器和该模块结果设计。Ø 报表设计报表用于在打印文档中显示或总结数据。报表的数据源定义了报表中数据的来源,通常是表、视图、查询、临时表等,报表的布局定义了报表的打印格式。这一模块是通过报表向导,选择所做报表的字段, 选择报表样式为经营式,报表布局,和排序记录为学号,最后保存为学生表。如以下图。以下图是学生报表的缩小图。Ø 主程序设计系统要执行,需要有一个主程序。由主程序设置系统的环境后,翻开程序主表单,等待使用者的操作。主程序将调用应用程序框架中的各个功能组件,然后由这些组件
19、调用应用程序的其他局部。主应用程序对象必须做的第一件事就是对应用程序的环境进行初始化。在翻开VFP时,默认得的VFP开发环境将建立SET命令和系统变量的值。一个比较好的设计方法是将初始的环境设置保存起来,在启动代码中为程序建立特定的环境设置。此外,在一个应用程序特定的环境下,可能需要使用代码一下操作。在“工程管理器中选择“代码中的“程序,点击“新建按钮,为系统新建一个主程序。为主程序编写代码,存储为mainprg。Clear screenClear events*翻开数据库Open database databasesalary*执行开始表单Do form formksjm设置系统环境配置Do
20、 setting*开始响应事件Read events*收到“clear events命令后关闭数据库,复原系统环境配置Close databaseDo reset将mainprg.prg程序设置为主文件,如以下图所示. 第四章 开发中的难点与解决技巧ü 报表的使用在系统设计时发现,设计好报表后,有时无论怎么预览都无法看到报表,像报表一预览就消失一样。经过几次调试才确定不是程序问题。后来发现,当该报表数据环境中的表是一个空表时就会遇到无法预览的情况。解决这个问题一个方法就是在该表中输入 几个数据,这样报表就可以预览了。ü 常见的代码错误当编写VFP应用程序时可能产生许多个错误
21、,至少它会爆出许多出错信息。有些错误比较常见,而有些错误那么相当神秘。许多错误与句法相关,而且往往是简单的录入错误造成的。所以我们要在编写程序时一定要注意录入,防止错误。附录代码 欢迎界面计时器timer1的代码:if nTime=0 thisform.Label1.visible=.t. nTime=1else thisform.Label1.visible=.f. nTime=0endif 退出界面计时器timer1的代码:CLEAR EVENT*释放表单并停止由READ EVENT 开始的事件处理*令程序从READ EVENT的下一条程序行继验证界面 “确定按钮的代码: sele adm
22、ineruse studentdatabaseadminer*此为管理员信息数据表的(adminer的相对路径cx=alltrim(thisform.text1.value)cy=alltrim(thisform.text2.value)*获得文本框1、2的输入信息set order to 用户名seek cx*查找输入的信息if alltrim(adminer.用户名!=cxcMessageTitle='设备管理系统' cMessageText='用户名错误,请重新输入' nDialogType=4+32 nAnswer=messagebox(cMessage
23、Text,nDialogType,cMessageTitle) do case case nAnswer=6 thisform.text1.value=''*选择“是时的操作 case nAnswer=7 cMessageTitle='设备管理系统' cMessageText='不要乱来' messagebox(cMessageText,nDialogType,cMessageTitle) *选择“否时的操作 endcase else if alltrim(adminer.密码)!=cy *判断输入的信息是否与密码符合 cMessageTitle
24、='设备管理系统' cMessageText='密码错误,请重新输入' nDialogType=4+32 nanswer=messagebox(cMessageText,nDialogType,cMessageTitle) do case case nAnswer=6 thisform.text2.value='' 择“是时的操作 case nAnswer=7 cMessageTitle='设备管理系统' cMessageText='不要乱来' messagebox(cMessageText,nDialogType
25、,cMessageTitle) *选择“否时的操作 endcase else do case case tablesc=1 do form studentformdeptstu *根据变量不同翻开不同的表单 case tablesc=2 do form studentformweihu endcase endif endif“取消按钮的代码: thisform.text1.value=''thisform.text2.value=''*清空文本框的内容“退出按钮的代码: *释放本表单成绩表维护界面“前一条按钮的代码:if reccount()>0skip
26、-1if bof()go topendifif recno()=1thisform mand1.enabled=.f.thisform mand2.enabled=.t.elsethisform mand1.enabled=.t.thisform mand2.enabled=.t.endifendif“下一条按钮的代码: ttt=1if reccount()>0skipif eof()go bottomttt=recn()endifif recno()=tttthisform mand1.enabled=.t.thisform mand2.enabled=.f.elsethisform mand1.enabled=.t.thisform mand2.enabled=.t.endifendif“修改按钮的代码:set multilocks
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024学年深圳市高三语文(上)12月二诊考试卷附答案解析
- 2023-2024学年沪教版(上海)七年级数学上册 期末复习题
- 《设施要求》课件
- 酒店员工辞职报告范文
- 2025年萍乡货运资格证考试答案
- 语文课题研究报告范文
- 内饰设计报告范文
- 监理资质升级报告范文
- 应急管理思路
- 《酒店营销培训》课件
- 2024-2025学年高二上学期期末复习【第五章 一元函数的导数及其应用】十一大题型归纳(拔尖篇)(含答案)
- 【MOOC】法理学-西南政法大学 中国大学慕课MOOC答案
- 2024年新湘教版七年级上册数学教学课件 第4章 图形的认识 章末复习
- 2024年民用爆炸物品运输合同
- 辽宁省普通高中2024-2025学年高一上学期12月联合考试语文试题(含答案)
- 【MOOC】大学生创新创业教育-云南大学 中国大学慕课MOOC答案
- 《个体防护装备安全管理规范AQ 6111-2023》知识培训
- 储能运维安全注意事项
- 2024蜀绣行业市场趋势分析报告
- 电力法律法规培训
- 北京交通大学《成本会计》2023-2024学年第一学期期末试卷
评论
0/150
提交评论