学生成绩管理系统Word格式文档下载.docx

上传人:b****6 文档编号:21635126 上传时间:2023-01-31 格式:DOCX 页数:27 大小:255.16KB
下载 相关 举报
学生成绩管理系统Word格式文档下载.docx_第1页
第1页 / 共27页
学生成绩管理系统Word格式文档下载.docx_第2页
第2页 / 共27页
学生成绩管理系统Word格式文档下载.docx_第3页
第3页 / 共27页
学生成绩管理系统Word格式文档下载.docx_第4页
第4页 / 共27页
学生成绩管理系统Word格式文档下载.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

学生成绩管理系统Word格式文档下载.docx

《学生成绩管理系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《学生成绩管理系统Word格式文档下载.docx(27页珍藏版)》请在冰豆网上搜索。

学生成绩管理系统Word格式文档下载.docx

1学生成绩管理系统分析与设计

系统概述

1.1.1系统需求分析

学生成绩管理工作是学校学生管理工作的重要组成部分,现在相当一部分学校的学生成绩管理工作仍沿用手工方式。

随着学校规模的扩大、学生人数的增加,效率低下、容易出错的手工方式越来越不适应实际管理工作的需要,按照软件工程原理和数据库技术开发学生成绩管理系统已成为学生管理部门的迫切需要。

学生成绩管理系统主要包括以下功能:

(1)完成数据的录入和修改,并提交数据库保存。

其中的数据包括:

学生信息、课程设置、学生成绩以及操作员信息等;

(2)实现信息查询。

主要包括:

学生信息查询、课程信息查询和成绩查询等;

(3)具备一定的安全性管理功能。

包括操作员的权限设置、密码设置、重新登录和修改口令等功能。

1.1.2现状分析

目前在中小学中,学生的成绩管理主要以班级为单位,由各班班主任以表格的形式直接输入电脑中,故就整个学校而言对于学生成绩的管理较为分散,涉及的人员较多且不利于相关的统计工作,学生的成绩信息也得不到长久的保存。

总体目标:

实现学校对所有班级、学生的成绩信息进行系统的管理,便于操作,便于查询。

具体目标:

(1)管理员能够方便地对信息进行添加、编辑、删除、查询等操作。

(2)教务人员可以方便地查询所需的成绩信息,并得到相应的统计报表。

(3)简化现有系统的流程,使之更加便捷、高效。

1.1.3系统开发方法

客户端采用VisualBasic.NET,后台采用SQLserver2000。

1.1.4开发计划

(1) 

初步调查:

以询问、查询资料的形式,对学校现行的学生成绩管理方式进行调查,确定现行方式所存在的问题以及相关需求并进行分析。

(2) 

可行性分析:

根据初步调查的情况,从技术上、经济上、管理上进行开发的可能性和必要性分析。

(3) 

详细调查:

详细了解情况并绘制组织结构图和业务流程图。

(4) 

系统的设计:

根据对所调查情况的分析,进行系统的各种设计。

2系统设计

2.1系统总体设计

本系统采用C/S体系结构,客户端负责提供表达逻辑、显示用户界面信息、访问数据库服务器,采用PowerBuilder9作为开发工具;

本系统按照功能划分为以下四个模块:

学生管理(包括学生信息录入和学生信息查询)、课程管理(包括课程设置和课程查询)、成绩管理(包括成绩录入和成绩查询)和系统管理(包括口令更改、重新登录和操作员管理等)。

系统的功能模块图如图2-1所示:

 

系统管理

成绩管理

课程管理

学生管理

图2-1系统的功能模块图

2.2数据库设计

2.2.1数据库概念结构设计

本系统主要有学生和课程两个实体集,一个学生可以选修若干门课程,一门课程也可以被多个学生选修,两个实体集之间是多对多联系,联系上有选课成绩。

为保证系统的安全性,设置了操作员这一实体集,用来存放合法用户的编号、姓名、密码和权限。

本系统的E-R图如图2-2所示:

 

图2-2系统的E-R图

2.2.2数据库逻辑结构设计

根据关系模型的转换原则,上面的E—R图可转换为如下所示的关系模型:

Student(Sno,Sname,Sex,Sbirth,Sdept)

其中各项含义分别为:

学生(学号,姓名,性别,出生日期,所在系)

Course(Cno,Cname,Cpno,Credit)

课程(课程代码,课程名称,先行课号,学分)

SC(Sno,Cno,Grade)

选修(学号,课程代码,成绩)

Operator(Operator_id,Operator_name,Password,Permission)

操作员(操作员编号,操作员姓名,密码,权限)

根据上面的E-R图设计及关系模型的设计,得出数据表的设计,在本系统中主要的数据表如表2-1,2-2,2-3,2-4:

表2-1学生信息表Student的表结构

主码

列名

数据类型

宽度

小数位

空否

备注

Pk

Sno

Char

5

N

学号

Sname

8

Y

姓名

Sex

2

性别

Sbirth

SmallDatetime

出生日期

Sdept

20

所在系

表2-2课程信息表Course的表结构

Cno

3

课程代码

Cname

课程名称

Cpno

先行课号

Credit

Decimal

1

学分

表2-3选课成绩表SC的表结构

Grade

成绩

表2-4操作员表Operator的表结构

Operator_id

4

操作员编号

Operator_name

12

操作员姓名

Password

10

密码

Permission

权限

下面在系统实施阶段就可以物理实现数据库了,本系统使用前面实验已经建好的服务器端SQLServer数据库—Student,具体创建方法见前面实验。

3结构设计

3.1模块结构设计

组织结构图

学生成绩管理系统分析与设计的组织结构图:

系统名称:

3.2代码设计

(1)代码设计原则:

在数据库中的关键字数据元素通常其代码都有特定含义,必要时还带有校验码。

例如成绩表中学号编码,由8个字符组成,前四个字符表示入学年份,后四个是按顺序递增的流水号。

(2)校验码计算公式:

对每一个带有校验码的关键字代码,都要有一张代码设计说明书,校验码计算公式可以相通,也可以不同。

3.3数据库设计

(1)数据库总体结构

本系统采用关系型数据库模式,因此数据库由若干个二维表(数据文件)组成,每个数据文件均设计成第三范式。

表名用含有实际意义的大写拼音首字母表示,如学生成绩表:

chengji

(2)数据库结构

每一个数据文件均有一张定义表:

成绩表(chengji)

字段名 

字段说明 

类型 

字段大小

xuehao 

学号 

文本 

xingming 

姓名 

kemubianhao 

科目编号 

kemufenshu 

科目分数 

banjimingcheng 

班级名称 

ID 

ID号 

自动编号 

长整型

学生表(xuesheng)

xingbie 

性别 

banji 

班级 

nianling 

年龄 

dianhua 

电话 

18

zhuzhi 

住址 

40

班级表(banji)

banjibianhao 

班级编号 

6

科目表(kemu)

kemumingcheng 

科目名称 

3.4输入输出设计323

输入输出设计在信息系统中占据重要地位,因为输入和输出是用户与系统的接口,是用户与系统关系最密切的两部分,它对于保证今后用户使用系统的方便性及系统的安全可靠性来说十分重要。

系统设计时,应先进行输出设计,再进行输入设计,因为输入信息只有根据输出要求才能确定。

3.4.1输出设计

输出设计的目的是使系统能输出满足用户需求的有用信息,用户所需要的各种管理业务和经营决策等方面的信息都是由系统的输出部分完成的。

(1)输出方式

本系统采用屏幕输出和打印机打印输出。

(A)屏幕显示输出:

学生登录系统查询成绩时用人机对话方式在显示屏上输出信息,以及用户通过功能按钮、输入组合条件等方式让系统显示信息,该种方式的优点是实时性强,但输出的信息不能保存。

(B)打印机输出:

需要统计分析成绩时输出的信息需要长期保存或在较广泛的范围内传递时,将信息打印输出。

(2)输出介质

本系统输出设备有显示终端、打印机等,介质是纸张。

3.4.2输入设计

输入设计的根本任务就是确保数据快速、正确地输入系统,本系统选用键盘输入。

3.5模块测试计划

(1)测试内容:

教务人员进入系统后对信息的录入、修改、删除及学生成绩的关联查询

(2)进度安排:

数据库表结构设计好就设计相应测试用例,待相应模块代码编完随即测试。

(3)测试所需的环境和设备:

本系统开发版基于单机WindowsXP,后台数据库采用SQLServer2000,测试人员由开发者本人兼任。

(4)实施测试

(5)生成测试报告

4系统实施

结合PowerBuilder进行数据库应用开发的特点,设计过程可按如下步骤进行:

(1)创建应用库及应用对象;

(2)创建全局变量;

(3)创建菜单;

(4)创建数据窗口;

(5)创建窗口并在窗口中放置所需控件。

4.1创建应用库及应用对象

设置ODBC数据源:

(1)首先在管理工具中设置ODBC数据源:

在系统DSN中设置名为GM的数据源,数据库指向自己的数据库,并测试连接是否成功。

(2)利用PB8创建工作区间GM.pbw,进一步创建应用库gm.pbl,应对象名为gm,注释为“学生成绩管理系统”。

按照下面的方法,设置应用对象的属性:

⑴默认的微帮助:

在属性视图的”Genral”标签中,将”MicroHelpDefault”编辑框中的内容设为“就绪”。

⑵取消用户对工具条的控制:

将属性视图中”Toolbar”标签中的”ToolbarUserControl”属性设置为不选中状态。

对应用对象的Open事件进行编程,程序代码如下:

(该段代码最好等W_welcome和W_login两个窗口完成后再写,否则会产生错误而无法退出;

或者先将涉及到这两个窗口的语句注释掉,待设计好两个窗口后再将注释去掉。

open(w_welcome)//打开启动封面窗口

//设置数据库连接参数

SQLCA.DBMS="

ODBC"

SQLCA.AutoCommit=False

SQLCA.DBParm="

Connectstring='

DSN=gm'

"

//数据库为Student

connect;

//判断连接是否成功,若不成功,则提示出错信息,并返回

ifsqlca.sqlcode<

>

0then

messagebox("

错误"

"

数据库连接错误,轻检查后重试!

stopsign!

close(w_welcome)

return

endif

close(w_welcome)//关闭封面窗口

openwithparm(w_login,"

First"

)//打开登陆窗口,First参数表明第一次登陆

4.2创建全局变量(PB中对任何代码的编写都必须没有语法错误才能切换到其模块)

在应用程序中,为了保存全局信息,定义的全局变量如图3-1所示:

图4-1全局变量的定义

4.3菜单设计

根据应用系统的功能要求,设计如图3-2所示的菜单结构,其中将菜单名称命名为m_main,注释为“主菜单”,其中的图标选用的是系统内置的图标(这些图标只要在“Toolbar”选项卡上的“Toolbaritemname”中选择,图标会在工具栏上显示):

图4-2系统的主菜单

各菜单项标题、名称及相应的”Clicked”事件中的代码如下(事件代码在相应的窗口没有完成之前不要写,如果要写可先注释掉):

学生管理(m_student)

学生信息录入(m_student_input):

open(w_student_input)

学生信息查询(m_student_query):

open(w_student_query)

课程管理(m_course)

课程设置(m_course_set):

open(w_course_set)

课程查询(m_course_query):

open(w_course_query)

成绩管理(m_score)

成绩录入(m_score_input):

open(w_score_input)

成绩查询(m_score_query)

按学生查询(m_score_query_student):

open(w_score_query_student)

按课程查询(m_score_query_course):

open(w_score_query_course)

系统管理(m_system)

口令更改(m_system_password):

open(w_changepassword)

重新登录(m_system_relogin):

openwithparm(w_login,”RELOGIN”)

操作员管理(m_system_operator):

open(w_operator)

退出系统(m_system_exit):

close(parentwindow)

4.4创建窗口并在窗口中放置所需控件

常用控件(单击工具栏上该按钮的下拉箭头)

,如图4-3。

CommandButton(命令按钮,默认名前缀cb_)

CheckBox(复选钮,默认名前缀cbx_)

RadioButton(单选钮,默认名前缀rb_)

StaticText(静态文本,默认名前缀st_)

SingleLineEdit(单行编辑框,默认名前缀sle_)

EditMask(单行掩码编辑框,默认名前缀em_)

MultiLineEdit(多行编辑框,默认名前缀mle_)

RropDownListBox(下拉列表框,默认名前缀ddlb_)

ListBox(列表框,默认名前缀lb_)

DataWindow(数据窗口,默认名前缀dw_)

 图4-3常用控件

根据需要创建以下窗口(注意属性窗口的操作):

⑴w_welcome:

封面窗口。

创建选项:

Title=“欢迎”;

WindowType=popup!

ControlMenu=false;

Pointer=HourGlass!

st_title.text=“欢迎使用学生成绩管理系统”;

St_message.text=“正在连接数据库,请稍等…”。

运行效果如图4-4所示:

图4-4封面窗口的运行效果

(2)w_main:

主窗口。

Title=“学生成绩管理系统”;

MenuName=”m_main”;

WindowType=mdihelp!

(3)w_login:

登录窗口。

Title=“请您登录”;

WindowType=response!

st_operator_id.text=“操作员编号”;

st_operator_name.text=“操作员姓名”;

st_password.text=“口令”;

sle_operator_id.text=””;

sle_operator_name.text=””;

sle_operator_name.Enabled=false;

sle_password.text=””;

sle_password.password=true;

cb_ok.text=“确定”;

cb_exit.text=“退出”;

cb_exit.cancel=true。

窗口的“Open”事件代码:

gs_loginparm=message.stringparm//保存传递过来的参数

“操作员编号”编辑框(sle_operator_id)的“Midified”事件代码:

stringls_operator_id

ls_operator_id=sle_operator_id.text

select"

operator"

."

operator_name"

//注意SELECT等SQL命令在PowerBuilderScript中的语法,引号的加法

into:

gs_operator_name

from"

where"

operator_id"

=:

ls_operator_id;

sle_operator_name.text="

没找到!

sle_operator_id.text="

sle_password.text="

sle_operator_name.text=gs_operator_name

“确定”按钮(cb_ok)的“Clicked”事件代码:

stringls_operator_id,ls_operator_name,ls_password,ls_permission

stringls_getpassword

password"

permission"

ls_operator_name,:

ls_password,:

ls_permission

sle_operator_id.setfocus()

sle_operator_name.text=ls_operator_name

ls_getpassword=trim(sle_password.text)

ls_password=trim(ls_password)

iflen(ls_password)=0thenls_password=space(10)

iflen(ls_getpassword)=0orisnull(ls_getpassword)then

ls_getpassword=space(10)

ifls_getpassword<

ls_passwordthen

警告"

口令错误!

sle_password.setfocus()

close(parent)

gs_operator_id=ls_operator_id

gs_operator_name=ls_operator_name

gs_password=ls_password

gs_permission=ls_p

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

当前位置:首页 > 医药卫生 > 基础医学

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

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