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

上传人:b****6 文档编号:3287021 上传时间:2022-11-21 格式:DOCX 页数:18 大小:212.68KB
下载 相关 举报
数据库学生成绩管理系统课程设计.docx_第1页
第1页 / 共18页
数据库学生成绩管理系统课程设计.docx_第2页
第2页 / 共18页
数据库学生成绩管理系统课程设计.docx_第3页
第3页 / 共18页
数据库学生成绩管理系统课程设计.docx_第4页
第4页 / 共18页
数据库学生成绩管理系统课程设计.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

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

《数据库学生成绩管理系统课程设计.docx》由会员分享,可在线阅读,更多相关《数据库学生成绩管理系统课程设计.docx(18页珍藏版)》请在冰豆网上搜索。

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

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

 

辽宁工业大学

数据库原理与应用系统设计说明书

 

题目:

数据库学生成绩管理

 

院(系):

专业班级:

学号:

学生姓名:

指导教师:

 

目录

第1章系统概述1

1.1开发背景1

1.2设计理念1

1.3……1

第2章需求分析2

2.1功能需求2

2.2数据流图2

2.3数据字典2

2.42

2.5……2

第3章系统设计3

3.1系统结构3

3.2数据库ER图3

3.3数据库实现3

3.43

3.5……3

第4章总结4

参考文献5

第一章系统概述

1.1开发背景

1)某大学有学生若干万名,每个学生每学期必须学习若干门课程。

2)每个学生有学号、姓名、性别、班级、出生日期等基本信息。

3)每门课程有课程号,课程名称、任课教师、学分等信息。

4)学校需要对每个学生的基本信息、所学课程、成绩进行统一管理,以便于对信息进行查询、浏览和修改。

1.2设计理念

对用户要求描述的现实世界(可能是一个工厂、一个商场或者一个学校等),通过对其中诸处的分类、聚集和概括,建立抽象的概念数据模型。

这个概念模型应反映现实世界各部门的信息结构、信息流动情况、信息间的互相制约关系以及各部门对信息存储、查询和加工的要求等。

所建立的模型应避开数据库在计算机上的具体实现细节,用一种抽象的形式表示出来。

以扩充的实体—(E-R模型)联系模型方法为例,第一步先明确现实世界各部门所含的各种实体及其属性、实体间的联系以及对信息的制约条件等,从而给出各部门内所用信息的局部描述(在数据库中称为用户的局部视图)。

第二步再将前面得到的多个用户的局部视图集成为一个全局视图,即用户要描述的现实世界的概念数据模型。

1.3运行环境

本系统由SQL语言编写,在VisualFoxpro6.0软件环境下可以正常运行

第二章需求分析

2.1功能需求

学生成绩管理系统主要用于学生成绩信息管理,据分析学生成绩管理系统的数据表可浓缩为:

学生基本信息表、课程基本信息表和学生成绩信息表。

根据学校的情况,可按下面的步骤来分析:

确定学生所在的院系、所学的专业以及所在的班级。

确定学生所在班级的课程以及该课程学生的成绩;另外还需要知道学生所在班级、学号和学期。

分析学生的基本信息,如姓名、性别、出生年月、家庭住址、联系电话。

用户信息分析,通常包括用户名和密码。

第三章系统设计

3.1E-R模型设计

根据E—R图,将其转化为如下数据实体,数据库:

学生成绩管理系统.dbc,包括如下的表和视图:

1)学生登记表——学生表.dbf。

字段名称字段类型字段宽度

xh字符型10

xm字符型6

xb字符型2

csrq日期型8

bj字符型4

2)课程登记表——课程表.dbf。

字段名称字段类型字段宽度

kch字符型2

kcm字符型10

js字符型10

xf字符型10

3)成绩登记表——成绩表.dbf

字段名称字段类型字段宽度

xh字符型10

kch字符型2

cj数值型3

4)借书视图(lyxview)。

为了进行浏览总表的需要,需要设计了一个总表浏览视图,该视图从学生表.dbf等3个表中提取了10个字段的数据:

学生表.xh

学生表.xm

学生表.xb

学生表.csrq

学生表.bj

课程表.kch

课程表.kcm

课程表.js

课程表.xf

成绩表.cj

其视图关系可由以下SQL语句定义:

SELECT学生表.*,课程表.*,成绩表.cj;

FROM学生成绩管理系统!

学生表,学生成绩管理系统!

课程表,;

学生成绩管理系统!

成绩表;

WHERE学生表.xh=成绩表.xh;

AND课程表.kch=成绩表.kch

所建数据库如下图所示:

3.2数据表

本系统需要使用的数据如下:

3.3数据库实现

3.3.1开发环境

本系统由SQL语言编写,在VisualFoxpro6.0软件环境下可以正常运行

3.3.2系统流程图

系统流程图模块主要由刘龙洋同学设计,而系统的功能设计主要由李江滨同学完成,我主要负责程序主要功能界面的设计,下面是部分流程图:

 

 

3.3.3程序主要功能界面

 1、登录界面的设计:

第一步:

在表单上单击鼠标右键,并在弹出菜单中选择“数据环境”项,打开数据环境设计器,添加数据表mm.dbf;

第二步:

创建表单并保存为“登录”;

第三步:

添加lable1,并设置其caption属性为“欢迎使用学生成绩管理系统!

”;

第四步:

添加lable2和text1并设置相关属性;

第五步:

添加timer控件,并设置其Enabled属性为“真”,用于设计窗口动画。

登录界面如下图所示:

 

2、修改密码表单的设计:

第一步:

在表单上单击鼠标右键,并在弹出菜单中选择“数据环境”项,打开数据环境设计器,添加数据表mm.dbf;

第二步:

创建表单并保存为“修改密码”;

第三步:

添加label1、label2、label3,并设置其caption属性分别为“请输入旧密码”、“请输入新密码”、“请确认新密码”;

第四步:

添加text1、text2、text3,并设置相关属性;

第五步:

添加command1和command2,并设置其caption属性分别为“确认”和“取消”;

修改密码表单如下图:

 

3、学生基本信息维护表单的设计:

第一步:

创建表单,并保存为学生表.scx;

第二步:

添加lable1~lable5,其caption的属性如下图所示;

第三步:

添加文本框text1~text5,并设置相关属性;

第四步:

添加“院系”、“专业”、“班级”和“学期”列表框;

第五步:

添加类,并设置相关属性,用于增添和修改学生基本信息;

第六步:

添加文本框text6,并设置相关属性;

第七步:

添加command1~command10,并设置相关属性;

第八步:

添加“返回”按钮,其功能是关闭此界面;

第九步:

执行运行命令,并进行测试。

 

4、课程信息维护表单的设计:

第一步:

创建表单,并保存为课程表.scx;

第二步:

添加lable1~lable4,其caption的属性如下图所示;

第三步:

添加文本框text1~text4,并设置相关属性;

第四步:

添加类,并设置相关属性,用于增添和修改课程基本信息;

第五步:

添加command1~command10,并设置相关属性

5、学生成绩信息维护表单的设计:

第一步:

创建表单,并保存为成绩表.scx;

第二步:

添加lable1~lable3,其caption的属性如下图所示;

第三步:

添加文本框text1~text3,并设置相关属性;

第四步:

添加类,并设置相关属性,用于增添和修改学生成绩基本信息;

第五步:

添加command1~command10,并设置相关属性;

第六步:

执行运行命令,并进行测试

6、浏览学生表单的设计:

第一步:

创建表单,并保存为“浏览学生.scx”;

第二步:

使用组合框生成器来生成编辑组合框,其操作步骤是:

首先选择要编辑的组合框,然后单击鼠标右键,在弹出的快捷菜单中选择“生成器”菜单项,屏幕上弹出组合框生成器窗体,设置数据环境为“学生表.dbf”。

第三步:

添加label1和列表框,并设置相关属性;

第四步:

添加command1,并设置其caption属性为“查找”。

7、浏览成绩表单的设计:

第一步:

创建表单,并保存为“浏览成绩.scx”;

第二步:

使用组合框生成器来生成编辑组合框,其操作步骤是:

首先选择要编辑的组合框,然后单击鼠标右键,在弹出的快捷菜单中选择“生成器”菜单项,屏幕上弹出组合框生成器窗体,设置数据环境为“成绩表.dbf”。

第三步:

添加label1和列表框,并设置相关属性;

第四步:

添加command1,并设置其caption属性为“查找”。

运行界面如下:

8、查询成绩表单的设计:

第一步:

创建表单,并保存为“查询成绩.scx”;

第二步:

使用组合框生成器来生成编辑组合框,其操作步骤是:

首先选择要编辑的组合框,然后单击鼠标右键,在弹出的快捷菜单中选择“生成器”菜单项,屏幕上弹出组合框生成器窗体,设置数据环境为“成绩表.dbf”。

第三步:

添加label1,并设置其caption属性为“浏览学生成绩”;

第四步:

添加command1、command2,并设置其caption属性为“查询”和“退出”。

运行界面如下:

9、学生表报表的设计:

学生表报表的设计过程说明如下:

报表数据源学生表.dbf,该表已在前面做了说明。

报表分组条件学生表.bj

报表排序条件学生表.xh

该报表由向导程序生成,其后进行了一些格式美化的调整修改工作,关键问题是要先定义好作为数据源的表文件,运行界面如下:

 

10、课程表报表的设计:

学生表报表的设计过程说明如下:

报表数据源课程表.dbf,该表已在前面做了说明。

报表排序条件课程表.kch

该报表由向导程序生成,其后进行了一些格式美化的调整修改工作,关键问题是要先定义好作为数据源的表文件,运行界面如下:

11、成绩表报表的设计:

成绩表报表的设计过程说明如下:

报表数据源成绩表.dbf,该表已在前面做了说明。

报表分组条件成绩表.kcm

报表排序条件学生表.xh

该报表由向导程序生成,其后进行了一些格式美化的调整修改工作,关键问题是要先定义好作为数据源的表文件,运行界面如下:

12、帮助表单的设计:

第一步:

创建表单,并保存为版权.scx;

第二步:

添加lable1~lable3,其caption的属性如下图所示;

第三步:

设置其picture属性,选择背景图片。

运行界面如下:

3.3.4程序调试情况

本系统在设计好之后,初次调试过程中一直出现编译不成功的现象,系统总是显示你所编译的目标文件不存在,找不到你所编译的目标文件路径,后来通过查资料才知道,VisualFoxpro6.0软件在对程序编译的时候默认路径为D盘,随后我们将原vf软件装入D盘,才编译成功。

编译成功之后生成可执行文件的过程如下:

第一步:

在“项目管理器”中设计完成相应的数据库、数据表、各种应用界面、菜单以及主控程序“主程序.prg”,并将“主程序.prg”设置为主文件;

第二步:

生成可执行文件。

在项目管理器中执行“连编可执行文件”创建可执行文件(.exe),单击“确定”按钮后系统打开“另存为”对话框。

将文件另存为“学生成绩管理系统”,然后单击“保存”按钮,系统将自动对项目中的所有程序进行编译。

第四章总结

在本次课程设计中,我主要负责学生成绩管理系统的界面设计。

界面设计非常重要,它是一套系统展现在使用者没面前的最终东西,它的好坏将直接影响到使用者对本套系统的认可,良好的仕途效果与平面设计,以及好的布局能给人留下深刻的印象。

在设计过程中碰到了好多问题,但最终在同学和老师的帮助下都得到了解决,在设计学生成绩管理界面时,我学会了好多在课本上学不到的东西,通过本次课程设计我也能将课本上的知识融会贯通,提到很好的辅助学习效果。

通过做课程设计,我确实学到了相当多的东西。

眼高手低是同学们的通病,有些事情看起来很同意,但做起来并不是如此。

在做本次数据库课程设计之前,我已经将课本上的东西熟练掌握,自认为做一个很简单的课程设计应该很容易,然而真正操作起来却遇到了很多的麻烦。

首先,在开始做课程设计时对整个模块的把握不够好,以至于浪费了好多时间而没能按想象中的顺利完成。

其次,在编写各个模块的程序代码时,真正感觉到了难度相当大,每次编写出来的代码都需要经过好几次修改才能顺利运行,而且在编写代码时常常会遇到一些很难解决的问题。

但是我总相信一句话“只要坚持,一千次失败过后,被会有一次闪亮的成功,凡事不能一蹴而就,对待学问、对待科研更是如此”,在做完这次课程设计之后,我也体会到了一种成功的喜悦。

同时这次课程设计也让我查到了许多在数据库学习中的漏洞,我也通过这次的实践机会完善了自己的知识,起到了很好的查缺补漏的效果。

 

参考文献

[1]徐亲知,陈淑华.石油经济学.第二版.哈尔滨:

黑龙江人民出版社,1988:

38-135

[2]米契尔·卡特,罗德尼·马多克.合理预期理论.余永定译.北京:

中国金融出版社,1988:

43-85

[3]张文中.论石油价格与石油工业发展.世界石油经济,1990

(2):

14-21

[4]齐中英,叶元煦.对我国能源问题的回顾与思考.邱大雄.市场经济与中国能源发展战略论文集.北京:

原子能出版社,1992:

53-58

[5]黄良君.大庆地区经济发展战略研究.哈尔滨工业大学硕士学位论文.1994:

23-30

[6]李欣.世界石油市场发展趋势预测.国务院发展研究中心信息网:

[7]AllamarajuSubrahmanyam.ProfessionalJavaServerProgrammingJ2EEEdition.WroxPress,2001

[8]Harvard,Gareth.ThematicNetworkinteachereducationinEurope.XXXJJournalofEducationforteaching,Vol.23,No.1,1997

注意:

中文用小四宋体,英文用小四TimesNewRoman。

附录:

源代码清单

1、主程序

clearall

closeall

setsysmoff

setsysmto

setnotioff

setstatbaroff

setpaleoff

setbellon

setescaon

setkeyctowind

setcarron

setconfon

setexacon//off

setnearon

setansioff

setdeleon

setoption

settalkoff

setsafetyoff

*setdefato"D:

\vf作业\"

publicxtbt

xtbt="学生成绩管理系统"

_screen.caption=xtbt

_screen.icon="linux.ico"

doform学生成绩管理系统.scx

readevents

return

2.查询成绩

clear

*setexactoff

*setdefato"D:

\vf作业\"

opendatabase学生成绩管理系统.dbc

publicskcm

skcm=thisform.pageframe1.page1.text1.text

select学生表.xh,学生表.xm,学生表.xb,学生表.csrq,学生表.bj,课程表.kcm,课程表.js,课程表.xf,成绩表.cjfrom学生表join成绩表join课程表;

on课程表.kch=成绩表.kchon学生表.xh=成绩表.xhwhere成绩表.xh=skcm

releasethisform

clear

*setdefato"D:

\vf作业\"

opendatabase学生成绩管理系统.dbc

publicskcm

skcm=thisform.pageframe1.page2.text1.text

select*fromlyxviewwherekch=skcm

releasethisform

3.登陆

clear

*setdefato"D:

\vf作业\"

usemm.dbfexcl

locaallforalltrim(mm)=alltrim(thisform.Text1.text)

if.not.eof()

messagebox("登陆成功!

")

do主菜单.MPR

doform背景.scx

relethisform

else

messagebox("密码错误",48,"警告")

endif

quit

4、修改密码

clear

closeall

usemm.dbfexcl

ifthisform.text2.text!

=thisform.text3.Text

messagebox("两次密码输入不同",48,"警告")

else

locaallforalltrim(Mm)=alltrim(thisform.Text1.text)

if.not.eof()

replaceMmwiththisform.text2.text

messagebox("密码修改成功",64,"恭喜")

else

messagebox("密码错误",48,"警告")

endif

endif

relethisform

closeall

5.浏览

closeall

opendatabase学生成绩管理系统.dbc

select*fromlyxview

selectxhas学号,xmas姓名,xbas性别,bjas班级,csrqas出生日期,kchas课程号,kcmas课程名,xfas学分,jsas教师,cjas成绩fromlyxview

clear

*setdefato"D:

\vf作业\"

opendatabase学生成绩管理系统.dbc

publicskcm

skcm=thisform.pageframe1.page2.text1.text

select*fromlyxviewwherekcm=skcm

clear

*setdefato"D:

\vf作业\"

opendatabase学生成绩管理系统.dbc

publicskcm

skcm=bo1.value

thisform.refresh()

select*fromlyxviewwherebj=skcm

6、查找

按班级名查找学生:

------------

clear

*setdefato"D:

\vf作业\"

opendatabase"data\学生成绩管理系统.dbc"

publicskcm

skcm=thisform.pageframe1.page2.text1.text

select学生表.xh,学生表.xm,学生表.xb,学生表.csrq,学生表.bj,课程表.kcm,课程表.js,课程表.xf,成绩表.cjfrom学生表join成绩表join课程表;

on课程表.kch=成绩表.kchon学生表.xh=成绩表.xhwhere学生表.bj=skcm

*************************

clear

*setdefato"D:

\vf作业\"

opendatabase学生成绩管理系统.dbc

publicskcm

skcm=thisform.pageframe1.page2.text1.text

select*fromlyxviewwherebj=skcm

*****************************

skcm=bo1.value

*********************************

按课程名查找课程:

clear

*setdefato"D:

\vf作业\"

opendatabase"data\学生成绩管理系统.dbc"

publicskcm

skcm=thisform.pageframe1.page2.text1.text

select学生表.xh,学生表.xm,学生表.xb,学生表.csrq,学生表.bj,课程表.kcm,课程表.js,课程表.xf,成绩表.cjfrom学生表join成绩表join课程表;

on课程表.kch=成绩表.kchon学生表.xh=成绩表.xhwhere课程表.kcm=skcm

查询菜单中的按学号查成绩:

clear

*setdefato"D:

\vf作业\"

opendatabase"data\学生成绩管理系统.dbc"

publicskcm

skcm=thisform.pageframe1.page1.text1.text

select学生表.xh,学生表.xm,学生表.xb,学生表.csrq,学生表.bj,课程表.kcm,课程表.js,课程表.xf,成绩表.cjfrom学生表join成绩表join课程表;

on课程表.kch=成绩表.kchon学生表.xh=成绩表.xhwhere成绩表.xh=skcm

查询菜单中的按课程号查成绩:

clear

*setdefato"D:

\vf作业\"

opendatabase"data\学生成绩管理系统.dbc"

publicskcm

skcm=thisform.pageframe1.page2.text1.text

select学生表.xh,学生表.xm,学生表.xb,学生表.csrq,学生表.bj,课程表.kch,课程表.kcm,课程表.js,课程表.xf,成绩表.cjfrom学生表join成绩表join课程表;

on课程表.kch=成绩表.kchon学生表.xh=成绩表.xhwhere课程表.kch=skcm

7.登陆窗口动画

timer1.timer

ifthisform.label1.left+thisform.label1.width<0

thisform.label1.left=thisform.width

else

thisform.label1.left=thisform.label1.left-10

endif

thisform.refresh()

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学案例设计

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1