基于PowerBuilder的学生成绩管理系统的设计与实现-2019年精选文档
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于PowerBuilder 的学生成绩管理系统的设计与实
信息社会的高科技,商品经济化的高效益,使计算机的应用已普及到经济和社会生活的各个领域。
计算机虽然与人类的关系愈来愈密切,但还有由于计算机操作不方便而继续用手工进行劳动的人。
学生成绩管理和分析系统为教务人员带来了极大的方便。
该软件是以汉语编程语言为实现语言,其功能在系统内部有源代码直接完成。
通过操作手册,使用者可以了解本软件的基本工作原理。
操作人员只需输入一些简单的汉字、数字,即可达到自己的目的。
现今成绩管理的繁琐给教务人员带来了诸多不便,教学办公室缺少一种完善的成绩管理软件,为了方便的管理学生成绩,因此开发了此学生成绩管理和分析系统。
学生成绩管理和分析系统的目标:
1)节约资源,提高学生信息的精确度:能够减少很多不必要的资源,不用像以前那样用冗余的纸张式的管理。
大大节省了学院资源。
并且计算机的存储与快速查询功能大大提高了学生成绩管理的效率,并且还提高了成绩信息管理的精确度。
2)方便快速的操作,精简人员,节约开支:方便快速的操作,可减少学生信息管理的漏洞,又可减少工作的错误,并且操作非常简单,可减少许多不必要的工作人员,这无论从物质上还
是工作人员的工资上都为学院节约了开支,为学院增加了财富。
1系统分析
成绩管理系统主要针对三类用户:学生、教师、管理员。
个良好的成绩管理系统不仅要求有方快捷的操作、简单有效的管理,而且要有高级的安全性以及很强的通用性。
根据需求分析,使用面向对象的设计技术,系统应具有如下的几个功能模块:
1) 用户登录模块
学生用户和教师用户登录以后只能输入相关查询条件进行一系列相关的成绩查询。
管理员登录以后不仅有学生用户和教师用户的所有权限,且可以对数据库和基础信息进行维护。
2) 系统维护模块
若系统在应用过程中出现问题确实需要进行初始化时,系统
管理员就可以对系统进行初始化操作。
3)基本信息维护模块
在此模块中,系统管理员可以对基本信息进行维护,如对班级信息、学生信息、课程信息等进行维护。
4)数据库管理模块
此模块可以对数据库中的数据进行备份和还原。
5)成绩管理模块
此模块只有管理员有权限进行操作,管理员登录后可以对学生成绩进行插入、删除、修改、保存等操作并且能导入和导出学
生成绩。
6)学生成绩查询模块
此模块包括个人总体成绩查询、班级单科成绩查询和系部单科成绩查询三个子功能模块。
7)教师成绩查询模块
此模块包括单科成绩分析和平行班成绩分析两个子功能。
8)报表统计模块
此模块包括成绩统计报表及打印和成绩统计图两个子功能模块。
系统功能模块设计如图 1 所示。
2数据库设计
1) 数据库概念结构设计
通过上述的系统分析,得出学生成绩管理系统涉及到如下实体:学生、教师、课程、班级、系部、用户。
系统的 E-R 图如图 2 所示。
2) 数据库逻辑结构设计
现在需要将上面的数据库概念结构模型转化为 Microsoft
SQL Server 2000 数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。
学生成绩管理系统数据库中的各个表设计结果如下表所示:
①Users 表
该表用来存放用户的基本信息。
主要字段有:编号( Id )、姓名(Name、密码(Mima、类型(Leixing )。
如表1所示是用户表。
②Student 表
该表用来存放学生的基本信息。
主要字段有:学号(S_num、所属班
级(C_num、姓名(S_name、性别(S_sex)。
如表2 所示是学生表。
③Teacher 表
该表用来存放教师的基本信息。
主要字段有:教师编号
T_num 、教师姓名( T_name 、教师性别( T_sex 。
如表 3 所示是教师表。
④Subject 表
该表用来存放课程的基本信息。
主要字段有:课程编号
Sb_num 、课程名称( Sb_name 、学分( Credit 。
如表 4 所示是课程表。
⑤Class 表
该表用来存放班级的基本信息。
主要字段有:班级编号
C_num 、所属系部编号( D_num 、班级名称( C_name 、班级人数( C_renshu 。
如表 5 所示是课程表。
⑥Department 表
该表用来存放系部的基本信息。
主要字段有:系部编号D_num 、系部名称( D_name 。
如表 6 所示是系部表。
⑦Teach 表
该表用来存放教师讲授课程的基本信息。
主要字段有:教师编号(T_num、课程编号(Sb_nun)。
如表7所示是讲授表。
⑧Chooseclass 表
该表用来存放学生选课的基本信息。
主要字段有:课程编号
(Sb_num、学生学号(S_num、成绩(Score)。
如表8所示是选课表。
3系统实现
1)关键技术
PowerBuilder 9.0 提供了完善的开发功能,可以较容易地开发大型数据库应用系统,这些应用系统可以运行在单机上,也可以运行在一个局域网内,甚至运行在广域网上;微软公司的
Microsoft SQL Server 数据库能够处理大量的数据,同时保持数据的完整性并提供许多高级管理功能,它的灵活性、易用性和安全性能够为数据库编程提供良好的条件。
因此系统的开发工具和数据库采用 PowerBuilder 9.0 与 Microsoft SQLServer 2000。
2)部分实现代码
①用户登录模块:用户进入系统登录页面,需要完成用户名、密码的输入,经过身份验证后,才能进入系统,不同的用户进入系统后的操作权限不同。
登录模块部分代码实现如下:
select count(*) into :num0 from users;
if sqlca.sqlcode 0 then
dw_1.setitem(row0,"mima",'PASSWD')
dw_1.setitem(row0,"leixin",'A') if dw_1.update()=1 then
commit;
else rollback;
messagebox(" 提示信息 "," 密码输入错误,请重新输入! ")
return end if
end if
②系统维护模块部分代码实现如下:
Re_value=messagebox(' 警告提示 !!!',' 该步操作一般是在系统运行初始进行 ,请确认是否继续? ',Question!,YesNoCancel!,3)
IF Re_value > 1 then cb_2.triggerevent(clicked!)
ELSE
mysql="CREATETABLEchooseclass" +"sb_num Char(4) NOT
NULL primary key,"&
+"s_num Char(12) NOT NULL primary key,"+"score decimal(18, 2),"
execute immediate: mysql using sqlca;
messagebox("提示信息",”初始化成功!")
end if
③数据管理模块部分代码实现如下:
string is_path,is_use
string path
title=" 路径选择 "
path=getcurrentdirectory()
getfolder(title,path)
sle_1.text=trim(path)+"\"+string(today(),"yyyymmdd")+st
ring(now(),"hhmmss")+".dat"
is_path=trim(sle_1.text)
if is_path="" or isnull(is_path) then
messagebox(" 提示信息 "," 请在目标路径中输入备份路径
")
else
提示信息 "," 数if sqlca.sqlcode>=0 then messagebox("
据库备份成功! ")
end if
end if
④成绩管理模块部分代码实现如下:
导入成绩:
string is_path
string path
string docname,named
integer value,aa
aa=dw_1.importfile(is_path) if aa。