最新pb学生成绩管理系统1.docx

上传人:b****3 文档编号:998356 上传时间:2022-10-15 格式:DOCX 页数:46 大小:1.21MB
下载 相关 举报
最新pb学生成绩管理系统1.docx_第1页
第1页 / 共46页
最新pb学生成绩管理系统1.docx_第2页
第2页 / 共46页
最新pb学生成绩管理系统1.docx_第3页
第3页 / 共46页
最新pb学生成绩管理系统1.docx_第4页
第4页 / 共46页
最新pb学生成绩管理系统1.docx_第5页
第5页 / 共46页
点击查看更多>>
下载资源
资源描述

最新pb学生成绩管理系统1.docx

《最新pb学生成绩管理系统1.docx》由会员分享,可在线阅读,更多相关《最新pb学生成绩管理系统1.docx(46页珍藏版)》请在冰豆网上搜索。

最新pb学生成绩管理系统1.docx

最新pb学生成绩管理系统1

学生成绩管理系统

一、系统分析与设计

在任何高等院校,学生的成绩管理都是学校教务管理的重要环节之一。

随着学校学生人数的增加,学生成绩管理的任务更加繁重,必须借助现代化的管理工具和手段提高学生成绩管理效率。

学生成绩管理系统广泛适用于高校教务管理部门的学生成绩管理。

1、系统功能分析

系统功能分析阶段的任务就是确定该系统所要解决的问题及其具体要求。

需要通过与用户的交流和沟通明确用户对系统的功能要求,最终列出系统可以实现的功能由用户确认。

本例中的学生成绩管理系统需要完成的主要功能如下。

⑴班级信息的输入和存储,包括班级编号、班级名称、所属院系、入校时间和学制等。

⑵对已经输入的班级信息的修改、查询。

⑶学生基本信息的输入和存储,包括学号、姓名、性别、出生日期、班级等。

⑷学生基本信息的修改和查询。

⑸每学期初各班所开设课程的输入,包括课程名、学期、学时等。

⑹各班所开设课程信息的修改和查询。

⑺学期末输入每个学生的考试成绩。

⑻学生成绩的修改。

⑼查询某个学生某学期的各科成绩。

⑽查询并打印某班某学期所有学生的各科成绩。

⑾查询并打印某班某学期某科成绩。

⑿系统具有用户和密码的管理。

2、系统功能模块设计

通过对上述各项功能的分析、分类、综合,按照模块化程序设计的要求,得到如图1所示的功能模块图。

二、数据库设计与实现

数据库在一个管理信息系统中占有非常重要的地位,数据库结构的好坏将直接影响到应用系统的实现效果和数据操作效率以及能否保证数据的一致性、完成性和安全性。

图1系统功能模块

1、数据库设计

根据学生成绩管理系统的功能要求,通过分析系统要涉及的相关实体以及要收集、存

储和操纵的数据信息,得到如图2所示的系统E-R图。

根据系统E-R图得到以下关系模式。

班级(班级编号,班级名称,所属院系,学制,入学时间,人数)。

学生基本信息(学号,姓名,性别,出生日期,家庭住址,班级编号)。

课程(班级编号,学期,课程名称,学时,教师)。

成绩(学号,学期,课程名称,成绩)。

为了系统的使用安全,要建立用户管理,而用户使用权限分为管理员和一般用户两类,因此需要建立一个存储用户信息的关系。

用户(姓名,密码,用户类型)。

2、创建数据库

根据关系模式,确定需要建立的数据库和表。

在PowerBuilder开发环境中打开数据库画板,使用【ODBODBC】接口建立AdaptiveServerAnywhere9.0(ASA9.0)的数据库D:

\xscj\data\xscj.db,然后依次建立以下5个表和1个视图。

图2系统E_R图

1)“class”表

表名:

banji

主键:

bjbh

班级表

2)“student”表

表名:

jiben

主键:

xh

学生表

3)“subject”表

表名:

bjkc

主键:

(bjbh,xq,kcmc)

课程表

4)“xscj”表

表名:

xscj

主键:

(xh,xq,kcmc)

学生成绩表

5)“users”表

表名:

users

主键:

xm

用户表

各个表之间通过外键形成如图3所示的关联关系。

6)视图

为了访问数据库方便,还建立了1个视图“v_1”,该视图由学生基本信息表和班级

表连接而成,对应的SQL语句如下。

CREATEVIEWv_1(xh,xm,xb,csrq,bjbh,bjmc,zymc)AS

SELECT

student.xh,student.xm,student.xb,student.csrq,student.bjbh,class.bjmc,class.xbmc

FROMstudent,class

WHERE(class.bjbh=student.bjbh);

完成数据库和表的创建后,可以在数据库画板中向数据库输入部分数据。

其中,“用户”表中必须输入一条记录(“900001”,“123456”,“管理员”),作为进入系统默认的管理员,即账号为“900001”,密码为“123456”,用户类型“管理员”。

图3、各表的关联关系

三、创建应用对象

完成数据库的设计和系统功能设计之后,可以开始各个功能模块的实现。

在PowerBuilder中开发应用程序时,就是创建各种对象、为对象设置属性以及编写事件脚本的过程。

⑴创建新的工作空间,工作空间文件路径及名称设为“d:

\xscj\workplace.pbw”。

⑵创建应用对象,应用对象名设为“xscj”,应用库文件路径及名称设为“d:

\xscj\xscj.pbl”,目标文件路径及名称设为“d:

\xscj\xscj.pbt”。

(3)为应用对象xscj的Open事件编写代码如下。

SQLCA.DBMS="ODBC"

SQLCA.AutoCommit=False

SQLCA.DBParm="ConnectString='DSN=student;UID=dba;PWD=sql'"

CONNECT;

ifSQLCA.sqlcode<>0then

messagebox("提示","数据库连接失败!

")

else

open(w_main)

endif

四、设计系统管理模块

本模块实现用户登录控制、学生能查询自己的个人成绩,教师能录入班级的课程信息,

管理员能实现对用户管理的控制以及对一些基本信息的录入。

1、设计登录窗口

图4窗口w_load

1)创建窗口并设置属性

创建登录窗口w_load,调整其大小,在窗口上放置1个图片控件(p_1)、4个静态文本

对象

属性

取值

w_main

Title

登录

WindowType

Response!

p_1

picturename

登录.jpg

st_1

text

账号

st_2

text

密码

password

TRUE

st_3

text

用户类型

st_4

text

欢迎登录学生管理学系统

TextColor

LinkHove

FaceName

华文斜体

sle_1

text

""

sle_2

text

""

cb_1

text

登录

cb_2

text

退出

表1

控件(st_1、st_2、st_3、st_4)、2个单行编辑器控件(sle_1、sle_2)、1个下拉列表控件(ddlb_1)、

2个命令按钮控件(cb_1、cb_2),各个控件的属性如表1所示,表中未列出的采用默认值

2)编写脚本

⑴定义全局变量。

stringgs_username,gs_password,gs_admin

分别存储登录用户的账号、密码和用户类型。

⑵定义实例变量。

intli_n

存储登录时用户输入密码错误的尝试次数,控制在最多3次机会不能是局部变量。

⑶登录窗口w_login的Open事件脚本如下。

li_n=3

初始化变量li_n,限制出错次数为3次。

⑷【登录】按钮cb_1的Clicked事件脚本如下。

stringls_username,ls_password,ls_admin

ls_username=trim(sle_1.text)

ls_password=trim(sle_2.text)

ls_admin=ddlb_1.text

ifls_username=""orls_password=""orls_admin=""then

messagebox("提示","账号,密码,用户类型不能为空")

else

SELECT"users"."name","users"."password","users"."admin"

INTO:

gs_username,:

gs_password,:

gs_admin

FROM"users"

WHERE("users"."name"=:

ls_username)AND

("users"."password"=:

ls_password)AND

("users"."admin"=:

ls_admin);

ifsqlca.sqlcode=0then

open(w_main)

close(w_load)

else

li_n=li_n-1

ifli_n<>0then

messagebox("提示","账号或密码错误")

else

messagebox("提示","错误超过3次,自动退出")

halt

endif

endif

⑸【退出】按钮cb_2的Clicked事件脚本如下。

halt//退出程序

2、设计密码修改窗口

密码修改窗口如图5所示。

1)创建窗口并设置属性

创建密码修改窗口w_mmxg,调整其大小,在窗口上放置3个静态文本控件(st_1、st_2、st_3)、3个单行编辑器控件(sle_1、sle_2、sle_3)、2个命令按钮控件(cb_1、cb_2),各个控件的位置和大小参照图5调整。

其他需要修改的属性见表2,表中未列出的属性保留其默认值。

图5窗口w_mmxg

对象

属性

取值

w_mmxg

Title

用户密码设置

WindowType

Response!

p_1

picturename

密码修改.jpg

st_1

text

旧密码

st_2

text

新密码

password

TRUE

st_3

text

重新输入新密码

sle_1

text

""

password

TRUE

sle_2

text

""

password

TRUE

sle_3

text

""

password

TRUE

cb_1

text

确定

cb_2

text

取消

表2

2)编写脚本

(1)【确定】按钮cb_1的Clicked事件脚本如下。

stringls_password

iftrim(sle_1.text)<>gs_passwordthen

messagebox("提示","旧密码错误")

else

iftrim(sle_2.text)=(sle_3.text)then

ls_password=trim(sle_2.text)

UPDATE"users"

SET"password"=:

ls_password

WHERE("users"."name"=:

gs_username)AND

("users"."password"=:

gs_password);

ifsqlca.sqlcode<>0then

messagebox("提示","密码修改不成功")

else

close(parent)

messagebox("提示","密码修改完成")

endif

else

messagebox("提示","两次密码不相同")

endif

endif

(2)【取消】按钮cb_2的Clicked事件脚本如下。

close(parent)

3、设计用户管理的数据窗口和窗口

1)设计数据窗口

创建数据窗口“d_yhgl”,显示风格为“Grid”,数据源类型为“QuickSelect”,布局如图6所示。

数据窗口d_yhgl生成的SQLSelect语句为:

SELECT"users"."name","users"."password","users"."admin"

FROM"users"

图6数据窗口d_yhgl

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

当前位置:首页 > 工程科技 > 交通运输

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

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