学生成绩信息管理系统实训报告.docx
- 文档编号:9841873
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:44
- 大小:429.67KB
学生成绩信息管理系统实训报告.docx
《学生成绩信息管理系统实训报告.docx》由会员分享,可在线阅读,更多相关《学生成绩信息管理系统实训报告.docx(44页珍藏版)》请在冰豆网上搜索。
学生成绩信息管理系统实训报告
数据库课程设计报告
一学生成绩管理系统
学校:
西安科技大学
学院:
机械工程学院
年级:
1102班
专业:
工业工程
姓名:
刘畅(216)郭凯峰(218)
张帅(219)罗文博(221)
第一章引言
在现代,高科技的飞跃发展,计算机的大量普及,使得人们生活节奏越来越快。
因此对教育行业的多元信息进行有效的管理工作,也成为教育行业的重中之重。
目前,学校工作繁杂,资料众多,虽然各类管理信息系统已进入高校,但还未普及,而对于学生成绩管理来说,目前还没有已套完整的、统一的系统。
为各高校教务工作人员减轻负担,提高工作效率,所以制作了学生成绩管理系统.
学生成绩管理系统依据开发要求主要应用于教育系统,完成对日常的教育工作中学生成绩档案的数字化管理。
比较系统的对教务,教学上的各项服务和信息进行管理,使数据管理更现代化、自动化、智能化、人性化.同时,减轻了学院教务人员管理的工作量,缩小开支,提高工作效率和准确率,使其变得更具有条理性,科学性,为教育行业作出了巨大的贡献,
也为今天的民办教育在未来市场的竞争力有所提高。
学生成绩管理系统适用了全新的成绩管理理念,系统从完善的基础信息管理,和对创建新用户,已创建的成绩数据的录入、修改、浏览、统计等功能操作,基本能够满足个高校教师的需要。
第二章系统分析
2。
1项目开发背景
在任何高等院校,学生的成绩管理都是学校教务管理的重要环节之一。
隋着学校学生人数的增加,学生成绩管理的任务更加繁重,必须借助现代化的管理工具和手段提高学生成绩的管理效率.学生成绩管理系统广泛适用于高校教务管理部门的学生成绩管理,其作用和功能也是学生比较熟悉和容易理解的
2。
2系统开发的目标
建立学生成绩管理系统,采用计算机对学生成绩进行管理,进一步提高办学效率和现代化水平,使学校对学生的成绩能够快速及更准确的录入、修改和查询,更好的掌握各个学生的各科成绩、便于教师的管理。
使学生对个人成绩信息进行更快的查询。
让老师可以更快更好的掌握学生的学习情况,使学校的教学质量进一步提高.
2。
3项目开发的意义
现在我国一些院校的学生成绩管理水平普遍不高,有的还停留在纸质基础上,这种管理手段已经不能适应时代的发展,因为它浪费了太多的人力和物力。
在当今的信息时代,这种传统的管理方法必然被计算机为基础的信息管理系统所取代。
如果本系统能够被学校所采用,将会改变以往靠手工来管理学生成绩的状况,可以树立良好的办学形象,提高工作效率,节省更多的人力和物力.
2.4需求分析
随着科学技术的不断提高,计算机科学技术日渐成熟,其强大的功能已为人们深刻认识,它已经进入人类社会的各个领域并发挥着悦来越重要的作用。
现在我国的教育机构对学生成绩管理还普遍停留在纸质的基础上,这样的机制已经不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代,这种传统的管理发发必然被计算机为基础的信息管理所取代。
2.5系统功能分析
系统功能分析阶段的任务就是确定该系统所要解决的问题及其具体要求。
需要通过与用户的交流和沟通明确用户对系统的功能要求,最终列出系统可以实现的功能有用户确认。
分为三种不同的角色:
<一〉管理员
(1)对学生基本信息录入和存储,包括学号、姓名、性别、出生日期、总学分、备注、地址、电话、密码(原始密码和学号一样)
(2)对已经录入的学生基本信息查询和修改,包括学生成绩的查询但不能修改
(3)对老师基本信息的录入和存储,包括教师号、教师名、性别、职称、老师所授课的课号、年龄等
(4)对老师基本信息的查询和修改
(5)修改自己的密码并可以查看系统时间
<二〉教师
(1)对已经录入的学生的基本信息的查询单不可修改
(2)学期末录入学生的成绩(必须是对应的自己所授的课)
(3)学生成绩的修改
(4)修改自己的密码和基本信息并保存(教师号不可修改)
〈三>学生
(1)查询自己某门课程的成绩
(2)修改自己的基本信息并保存加以维护
(3)还可以修改自己的密码以及查询系统的时间
2.6可行性分析
所谓可行行分析就是用最小的待机在尽可能短时间内确定问题是否能够解决,这步工作的主要是要进行一次大大压缩简化了的系统分析和设计的过程,也就是在较高层次上以比较抽象的方式进行系统分析和设计的过程,可行性研究的最根本的任务是对以后的行动方针提出建议,以避免时间、资源、人力和金钱的浪费,推荐较好的解决方案,并且为工程制定一个初步的计划。
2。
6。
1技术可行性
本系统采用PB语言自带的数据库进行数据的管理、操作和维护,用PB进行前台设计、数据的录入、修改、删除、更新、查询、浏览等功能,由于PB强大的数据存储功能,方便快捷的验证功能、使用的灵活,良好的可扩展性,以及广泛的试验应用、充分说明本系统在技术方面的可行性。
2.6。
2工具可行性
软件方面:
信息时代对于软件的应用已不是人们的难题,人们在日常办公中用的计算机操作的系统等都属于软件部分。
硬件方面:
计算机普及到今天,人们对于它的拥有已不少见,它的硬件设备完全能够满足人们的需求,而价格也能被人们所接受。
2.6。
3经济可行性
这是个超小型的管理系统,从投入的人力,财力与物力来将都是非常小的,只要是一台电脑,一台打印机,这个系统就可以建立起来,考虑到学校里面有电脑,现只要购置一台打印机就可以了,从节省人力方面,可以让管理人员从复杂的工作中解脱出来,做更多的工作,可以给教学管理提高一个层次。
2。
6.4操作可行性
本系统设计清晰,有良好的用户接口,操作简介,符合教务管理的工作需要,并达到操作过程中的直观、方便、使用、安全等要求,因此操作方面具有可行行.
2。
6开发工具
本系统前台和后台均采用了开发工具Power—builder及其自带的数据库。
第三章系统设计
1.系统功能模块设计
通过对上述各项功能的分析、分类、综合,按照模块化程序设计的要求,得到以下如图2—1功能模块
图2.1系统功能模块
2.数据库设计与实现
数据库在一个管理信息系统中占有非常重要的地位,数据库结构的好坏将直接影响到应用系统的直线效果和数据操作效率以及能否保证数据的一致性、完整性、安全性。
1.数据库设计
2.根据学生成绩管理系统的功能要求,通过分析系统要涉及的相关实体以及要收集、存储和操纵的数据信息,得到如图3。
7所示的系统E-R图。
根据E—R图得到以下关系模式。
学生(学号,姓名,专业名,性别,出生日期,总学分,备注,地址,电话,密码)
如图3。
1学生信息表(主键是学号(sno))
字段
学号
(sno)
姓名
(sname)
专业名
(smain)
性别
(sex)
出生日期
(birthdate)
总学分(score)
备注
(beizhu)
地址(add)
电话
(tele)
密码
(pwd)
数据类型(datatype)
char
char
char
bit
date
tinyint
varchar
varchar
varchar
varchar
长度(width)
10
10
10
默认
默认
50
50
50
50
50
是否为空(null)
No
No
Yes
No
No
Yes
Yes
Yes
Yes
Yes
默认(defult
None
None
None
None
None
None
None
None
None
None
课程(课程号,课程名,开学学期,学时,学分)
如图3.2课程表(主键是课程号(cno))
字段
课程号
(cno)
课程名
(cname)
开学学期
(kaixuedate)
学时
(xueshi)
学分
(score)
数据类型(datatype)
char
char
tinyint
tinyint
tinyint
长度(width)
10
20
默认
默认
默认
是否为空(null)
No
No
No
No
Yes
默认(default)
None
None
None
None
None
成绩(学号,课程号,成绩,学分)
如图3。
3成绩表(主键是学号+课程号(sno+cno),外键是学生表的学号(sno)和课程表的课程号(cno))
字段
学号
(sno)
课程号
(cno)
成绩
(chengji)
学分
(score)
数据类型(datatype)
char
char
Tinyint
tinyint
长度(width)
10
10
默认
默认
是否为空(null)
No
No
Yes
Yes
默认(default)
None
None
None
None
教师(教师号,教师名,性别,职称,课程号,密码,年龄)
如图3。
4教师表(主键是教师号(tno),外键是课程表的课程号(cno))
字段
教师号
(tno)
教师名
(tname)
性别
(tsex)
职称
(professor)
课程号
(cno)
密码
(pwd)
年龄
(age)
数据类型(datatype)
Varchar
Varchar
Varchar
Varcha
Varchar
Varchar
Integer
长度(width)
10
10
10
10
10
10
默认
是否为空(null)
No
No
No
No
No
Yes
Yes
默认(default)
None
None
None
None
None
None
None
为了系统的使用安全,要建立用户管理,而用户使用权限分为管理员、学生和教师三类,因此需要建立一个存储用户信息的关系
用户(用户名,密码,权限)
如图3。
5用户表(主键是用户名(id))
字段
用户名(id)
密码(password)
权限(qx)
数据类型(datatype)
Char
Char
Char
长度(width)
10
10
10
是否为空(null)
No
No
No
默认(default)
None
None
None
数据库中一共建了5张表,在数据库窗口画板中可以看到这六张表的关联关系如图3。
6所示:
图3.6
完成数据库和表的创建后,可以在数据库画板中项数据库输入部分数据。
第四章系统制作
4.1创建应用对象
完成数据库的设计和系统功能设计后,可以开始各个功能模块的实现.在PowerBuilder中开发应用程序时,就是创建各种对象、为对象设置属性以及编写事件脚本的过程。
但不是简单的顺序过程,有时需要返回为前面创建的对象补充脚本。
下面开始本实例在PowerBuilder中实现。
(1)创建新的工作空间,工作空间文件路径及名称设为“C:
\DocumentsandSettings\Administrator\桌面\学生信息管理系统\学生管理系统.pbw”。
(2)创建应用对象,应用对象名设为“studentwindow",应用库文件路径及名称设为“C:
\DocumentsandSettings\Administrator\桌面\学生信息管理系统\studentwindow。
pbl”,目标文件路径及名称设为“C:
\DocumentsandSettings\Administrator\桌面\学生信息管理系统\studentwindow。
pbt".
(3)位应用对象studentwindow的Open事件编写代码如下。
//连接数据库
SQLCA.DBMS=”ODBC”
SQLCA.AutoCommit=False
SQLCA.DBParm=”ConnectString='DSN=mydatasource;UID=;PWD=’”
connect;
open(w_login)//打开登录窗口
注意:
由于登录窗口w_login还没有设计,代码行“open(w_login)//打开登录窗口
”先注释掉,在设计好登录窗口时,再去掉本行代码前面的注释符。
执行此应用时,首先连接数据库“mydatabase”,成功后打开登录窗口。
4。
2模块的设计与实现
本系统包括登陆模块,系统查询模块,系统管理模块,系统设置模块。
其中,登陆模块实现用户管理,系统查询模块实现学生、教师查询信息和成绩信息以及浏览功能,系统管理模块实现录入、修改、删除成绩管理等功能,系统设置模块实现修改密码功能。
4。
3设计系统管理模块
本模块实现用户登录控制,用户自己的密码修改和用户管理,其中用户管理包括修改用户信息、添加新用户、删除用户,只有管理员级用户有此权限。
4。
3.1设计登陆窗口
功能:
设置了权限管理,系统可以根据用户输入的用户名和密码识别其权限进入不同
的窗口进行各自的操作。
登陆界面如图4。
1所示
图4。
1登录窗口
1)创建窗口并设计属性
创建登录窗口(w_login),并调整其大小,在窗口上放置三个图片控件(p_1、p_2、p_3、p_4、)、两个静态文本框控件(st_1、st_2)、两个单行编辑器控件(sle_1、sle_2)、三个命令按钮控件(cb_1、cb_2、cb_3、),各控件的位置和大小参照图4。
1调整。
其他需要修改的属性见表4—1,表中未列出的属性保留其默认值。
表4-1登录窗口及其控件的属性
对象
属性
取值
W_login
Title
登录
WindowType
Response!
P_1
picturename
QQ截图20111024172608.gif
P_2
picturename
图片1。
gif
P_3
picturename
login。
gif
P_4
picturename
图片2.gif
St_1
Text
用户名;
Alignment
Center!
St_2
Text
密码:
Alignment
Center!
Cb_1
Text
安全退出
Cb_2
Text
登录
Cb_3
Text
重置
Sle_1
Text
“”
Sle_2
Text
“”
password
True
2)编写脚本
(1)定义全局变量
stringls_username,ls_password,ls_qx
分别存储登录用户的用户名、密码和权限
(2)【登录】按钮cb_2的clicked事件的脚本如下
stringpw
stringq
stringuserid
ls_username=sle_1.text
selectpassword,qx
into:
ls_password,:
ls_qx
fromusers
whereid=:
ls_username;
ifls_password=sle_2。
textthen
ifls_qx="1"then
open(w_studentlogin)
w_studentlogin.st_3。
text="欢迎”+ls_username+”学生登陆!
"
else
ifls_qx="2"then
open(w_techerlogin)
w_techerlogin.st_3.text="欢迎"+ls_username+”老师登陆!
”
else
open(w_adminlogin2)
w_adminlogin2.st_1.text="欢迎"+ls_username+"管理员登陆,您的个人信息如下”
endif
endif
else
messagebox("提示",”输入的密码不对!
请重新输入!
")
sle_2。
text=""
sle_2。
setfocus()
endif
还为此按钮自定义了U_keydown事件,事件代码如下
ifkeydown(keyenter!
)then
//如果按了Enter键,则出发Clicked事件
this.triggerevent(clicked!
)
endif
(3)【重置】按钮cb_3的clicked的事件脚本如下
sle_1.text=””
sle_2。
text=”"
还为此按钮自定义了U_keydown1事件,事件代码如下
ifkeydown(keyenter!
)then
//如果按了Enter键,则出发Clicked事件
this.triggerevent(clicked!
)
endif
(4)【安全退出】按钮cb_1的clicked事件代码如下
close(parent)
4.3。
2设计密码修改窗口
密码修改窗口如图4。
2所示
图4。
2密码修改窗口
1)创建窗口并设置属性
创建登录窗口(w_mima),并调整其大小,在窗口上放置一个图片控件(p_1、三个静态文本框控件(st_1、st_2、st_3)、三个单行编辑器控件(sle_1、sle_2、sle_3)、两个命令按钮控件(cb_1、cb_2),各控件的位置和大小参照图4.1调整。
其他需要修改的属性见表4—2,表中未列出的属性保留其默认值。
表4—2密码修改
对象
属性
取值
W_mima
Title
修改密码
Windowtype
Response!
P_1
Picturename
QQ截图20111023094902.gif
St_1
Text
原密码:
Alignment
Center!
St_2
Text
新密码:
Alignment
Center!
St_3
Text
重新输入新密码:
Alignment
Center!
Sle_1
Text
“”
Sle_2
Text
“”
Sle_3
Text
“”
Cb_1
Text
确定修改
Cb_2
Text
放弃修改
2)编写脚本
(1)【确定修改】按钮cb_1的clicked事件的脚本如下
stringpw
stringq
stringuserid
ls_username=sle_1。
text
selectpassword,qx
into:
pw,:
q
fromusers
whereid=:
ls_username;
ifls_password〈>sle_1.textthen
messagebox("提示","输入的旧密码不对!
\n请重新输入!
")
sle_1。
text=""
sle_1.setfocus()
else
ifsle_2。
text<〉sle_3。
textthen
messagebox("提示”,”两次输入的新密码不相同!
请重新输入!
”)
sle_3.text=""
sle_3。
setfocus()
else
updateusers
setpassword=:
sle_2。
text
whereid=:
ls_usernameandpassword=:
ls_password;
ifsqlca。
sqlcode〈>0then
messagebox("提示",”密码修改不成功!
")
else
close(parent)
messagebox("提示",”密码修改完成")
endif
endif
endif
(2)【重置】按钮cb_2的clicked的事件脚本如下
close(parent)
4。
3.3设计用户管理窗口
用户管理窗口如图4。
3所示
图4。
3用户管理窗口
1)创建数据窗口对象
创建数据窗口“d_yonghuguanli”,显示风格为“Grid”,数据源的类型为“QuickSelect",布局如图4.4所示。
其中列控件“qx”的编辑风格改为“DropDownListBox”,其中列控件“password”的password属性值设为true,码表如图4。
4所示
图4。
4
2)创建窗口并设置属性
创建登录窗口(w_adminlogin1),并调整其大小,在窗口上放置一个静态文本框控件(st_1)、一个数据窗口控件(dw_1)、四个命令按钮控件(cb_1、cb_2、cb_3、cb_4),各控件的位置和大小参照图4.3调整。
其他需要修改的属性见表4—3,表中未列出的属性保留其默认值。
表4—3用户管理
对象
属性
取值
W_adminlogin1
Title
用户管理
windowtype
Response
St_1
Text
用户管理
Alignment
Center!
Bold
true
italic
true
textcolor
Fuchsia
Dw_1
Dataobject
d_yonghuguanli
Vscrollbar
true
Cb_1
text
添加
Cb_2
text
删除
Cb_3
text
保存
Enabled
false
Cb_4
text
取消
3)编写脚本
(1)用户管理窗口W_adminlogin1的open事件脚本如下。
dw_1.settransobject(sqlca)
dw_1。
retrieve()
(2)用户管理窗口W_adminlogin1的closequery事件脚本如下。
//判断是否有未保存的修改,提醒保存
intrt
dw_1.accepttext()
ifdw_1.modifiedcount()=0anddw_1。
modifiedcount()=0then
return0
else
rt=messagebox("提示”,"添加修改内容为保存,确定压迫退出吗?
",question!
,yesno!
)
ifrt=1then
return0
endif
endif
return1
(3)数据窗口控件dw_1的itemchanged的事件脚本如下。
cb_3.enabled=true//激活“保存”按钮
(4)【添加】按钮cb_1的clicked事件的脚本如下
introw
row=dw_1.insertrow(0)
dw_1.scrolltorow(row)
(5)【删除】按钮cb_2的clicked事件的脚本如下
dw_1.deleterow(0)
cb_3。
enabled=true
(6)【保存】按钮cb_3的clicked事件的脚本如下
Ifdw_1.update(true,false)=1then
dw_1。
resetupdate()
commit;
cb_3。
enabled=false
else
rollback;
messagebox(”错误",”保存数据失败!
”)
endif
(7)【取消】按钮cb_4的clicked事件的脚本如下
close(parent)
4。
3.4设计菜单
1、创建菜单对象
菜单结构如图4.5所示。
菜单对象名为“m_m1"
图4.5菜单
下面编写各个菜单项的脚本,对于这些代码行,在对应的窗口没有建立之前先注释
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学生 成绩 信息管理 系统 报告