教材管理系统设计.docx

上传人:b****2 文档编号:721376 上传时间:2023-04-29 格式:DOCX 页数:67 大小:221.95KB
下载 相关 举报
教材管理系统设计.docx_第1页
第1页 / 共67页
教材管理系统设计.docx_第2页
第2页 / 共67页
教材管理系统设计.docx_第3页
第3页 / 共67页
教材管理系统设计.docx_第4页
第4页 / 共67页
教材管理系统设计.docx_第5页
第5页 / 共67页
教材管理系统设计.docx_第6页
第6页 / 共67页
教材管理系统设计.docx_第7页
第7页 / 共67页
教材管理系统设计.docx_第8页
第8页 / 共67页
教材管理系统设计.docx_第9页
第9页 / 共67页
教材管理系统设计.docx_第10页
第10页 / 共67页
教材管理系统设计.docx_第11页
第11页 / 共67页
教材管理系统设计.docx_第12页
第12页 / 共67页
教材管理系统设计.docx_第13页
第13页 / 共67页
教材管理系统设计.docx_第14页
第14页 / 共67页
教材管理系统设计.docx_第15页
第15页 / 共67页
教材管理系统设计.docx_第16页
第16页 / 共67页
教材管理系统设计.docx_第17页
第17页 / 共67页
教材管理系统设计.docx_第18页
第18页 / 共67页
教材管理系统设计.docx_第19页
第19页 / 共67页
教材管理系统设计.docx_第20页
第20页 / 共67页
亲,该文档总共67页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

教材管理系统设计.docx

《教材管理系统设计.docx》由会员分享,可在线阅读,更多相关《教材管理系统设计.docx(67页珍藏版)》请在冰点文库上搜索。

教材管理系统设计.docx

教材管理系统设计

教材管理信息系统

1.1系统需求分析

学校每个学期都要购进大量的教材,然后发放给学生。

目前许多学校是以班级为单位,统一向学生发放教材,然后收取书款。

学生每学期开学都需要购买教材。

目前,在我国大部分大、中、小学都是以班级为单位,统一向学校购买教材。

首先学校根据每学期所开设的课程,向各书商或出版社购进课本,然后学生以班级为单位向学校领书交费。

这项工作现在在大部分学校还是手工操作,工作起来效率很低,并且不能及时了解教材库存和领取的具体情况。

同时由于不可避免的人为因素,可能造成教材收费出错等情况。

针对这种情况,为了更好地适应当前学校管理的需求,避免手工管理存在的这些弊端,开发了本教材管理系统。

学校通过使用本系统,可以实现教材收费、领取的自动管理。

本系统主要包含4大功能,分别是教材的入库管理,学生的书费管理,系统管理以及综合查询。

本系统使用McrosoftAccess数据库作为后台的数据管理系统,利用ADO数据库组件连接后台数据库。

开发采用的是Delphi7,它是由Borland公司开发的Windows程序开发环境。

1.2系统总体设计

1.2.1系统层次模块设计

根据系统所要实现的功能要求,不同的用户具有不同的操作权限,本系统主要划分为用户登录功能模块、系统管理功能模块、书费管理功能模块、教材出入库管理模块和综合功能查询模块。

系统模块图如图1所示。

 

图2-1系统模块图

1.2.2系统流程图

 

Y

 

图2-2教材管理系统流程图

1.2.3数据库设计

教材管理系统使用McrosoftAccess数据库,数据库名称为“教材系统”,包含以下6个表:

班级表、操作用户表、单位信息表、教材表、教材出入库历史表、学生书费历史库。

下面分别介绍以上各表的结构。

1、操作用户表

用来存储操作员信息。

表1-1操作用户表

字段名称

数据类型

说明

用户名

文本

主键

密码

文本

所在单位

文本

权限一

是/否

权限二

是/否

权限三

是/否

权限四

是/否

操作员

文本

最后修改时间

日期/时间

2、班级表

班级表用来保存班级的一些信息。

表1-2班级表

字段名称

数据类型

说明

班级名

文本

主键

入学时间

日期/时间

所在院系

文本

班长

文本

班长联系电话

文本

班主任

文本

班主任联系电话

文本

操作员

文本

最后修改时间

日期/时间

学费

货币

所学专业

文本

班级人数

数字

整型

3、单位信息表

单位信息表用于存储进书单位的信息。

表2-3单位信息表

字段名称

数据类型

说明

单位名

文本

主键

负责人

文本

联系电话

文本

书费

货币

操作员

文本

最后修改时间

日期/时间

4、教材表

教材表用于存储教材的基本信息。

表1-4教材表

字段名称

数据类型

说明

id

自动编号

主键

教材名

文本

出版社

文本

作者

文本

获奖情况

文本

出版年月

日期/时间

订书单位

文本

经办人

文本

教材数量

数字

整型

教材单价

货币

使用说明

文本

入库时间

日期/时间

说明

文本

操作员

文本

最后修改时间

日期/时间

5、教材出入库历史表

教材出入库历史表用于教材购入和领出信息的存储。

1-5教材出入库历史表

字段名称

数据类型

说明

id

自动编号

主键

教材名

文本

出版社

文本

获奖情况

文本

出版年月

日期/时间

经办单位

文本

经办人

文本

上期数量

数字

整型

本次数量

数字

整型

本期数量

数字

整型

教材单位

文本

使用说明

日期/时间

入库时间

日期/时间

说明

文本

操作员

文本

最后修改时间

日期/时间

6、学生书费历史库

学生书费历史库表用于对学生订书领书的基本信息存储。

表1-6学生书费历史表

字段名称

数据类型

说明

id

自动编号

主键

班级名

文本

上期费用

货币

本次费用

货币

本期费用

货币

经办人

文本

操作员

文本

最后修改时间

日期/时间

说明

文本

班级人数

数字

1.3系统详细设计

下面分别对各个功能模块进行介绍。

1.3.1、用户登录功能模块

此模块主要用于实现登录用户的身份和权限认证。

用户输入正确的密码后,系统根据用户所具有的权限,允许用户进行合法和操作。

在该窗体上,输入正确的用户名和密码,将进入到教材管理系统中。

但根据用户的权限不同,所提供的操作也不同。

本系统具有4个功能模块,分别对应4种权限,管理权、收费权、出入库权和查询权。

只有同时具有这4种权限,系统功能才完全开放,否则没有权限操作的菜单和工具条变成灰色,不可用。

用到组件有:

bitbtn1、bitbtn2、edit1、edit2、lable1、lable2、adoconection1

3-1用户登陆图

用户登陆主要代码

(1)用户主要登陆模块代码(checkuser.pas)

procedureTCheckUserForm.BitBtn2Click(Sender:

TObject);

begin

Close;

end;

procedureTCheckUserForm.BitBtn1Click(Sender:

TObject);

var

Adodataset1:

TAdoDataset;

begin

AdoDataSet1:

=TAdoDataset.Create(self);

adoDataset1.Connection:

=adoconnection1;

adodataset1.CommandType:

=cmdtext;

Adodataset1.CommandText:

='select*from操作用户表where用户名=:

usernameand密码=:

password';

adodataset1.close;

Adodataset1.Parameters.Clear;

Adodataset1.Parameters.AddParameter;

adodataset1.Parameters[0].name:

='username';

adodataset1.Parameters[0].DataType:

=ftstring;

Adodataset1.Parameters[0].Direction:

=pdinput;

adodataset1.Parameters[0].Value:

=edit1.text;

Adodataset1.Parameters.AddParameter;

adodataset1.Parameters[1].name:

='password';

adodataset1.Parameters[1].DataType:

=ftstring;

Adodataset1.Parameters[1].Direction:

=pdinput;

adodataset1.Parameters[1].Value:

=edit2.text;

adodataset1.active:

=true;

ifadodataset1.Recordset.RecordCount=1then

begin

username:

=edit1.Text;

qx[1]:

=adodataset1.FieldByName('权限一').asboolean;

qx[2]:

=adodataset1.FieldByName('权限二').asboolean;

qx[3]:

=adodataset1.FieldByName('权限三').asboolean;

qx[4]:

=adodataset1.FieldByName('权限四').asboolean;

close;

end

else

begin

Application.MessageBox('您输入的用户名或密码错误,请检查!

','提示信息',mb_ok);

i:

=i-1;

edit1.text:

='';

edit2.text:

='';

edit1.SetFocus;

end;

ifi=0then

begin

username:

='';

close;

end;

adodataset1.Active:

=false;

end;

procedureTCheckUserForm.FormActivate(Sender:

TObject);

begin

i:

=3;

edit1.text:

='';

edit2.Text:

='';

edit1.SetFocus;

end;

end.

1.3.2、系统主界面

通过单击相应的菜单项或者相应的工具条即可进入该功能管理。

单击“系统管理”菜单,将弹出如下图所示的下拉菜单,包括操作员管理工作、密码修改、系统初始化、班级管理、单位信息、退出6个子菜单。

单击相应子菜单将弹出对应的管理窗体。

系统主界面运行图如下:

图3-2系统界面图

1.3.3、系统管理功能模块

该功能模块主要是进行操作员管理、密码修改、系统初始化、班级管理、单位信息管理和退出。

其中,操作员管理包括新增、删除操作员和修改操作员的信息与权限。

(1)操作员管理

用到组件有:

bitbtn1、bitbtn2、groupbox1、groupbox2、groupbox3、adoconection1等。

图3-3操作员管理图

主要代码如下:

procedureTOperatorForm.BitBtn2Click(Sender:

TObject);

begin

close;

end;

procedureTOperatorForm.FormActivate(Sender:

TObject);

begin

RadioButton1.Checked:

=true;

initiate;

Edit1.SetFocus;

end;

procedureTOperatorForm.Edit1Exit(Sender:

TObject);

var

AdoDataset1:

TAdoDataSet;

begin

ifedit1.text<>''then

begin

adodataset1:

=TAdoDataSet.Create(self);

adodataset1.Connection:

=adoconnection1;

adodataset1.Close;

adodataset1.CommandType:

=cmdtext;

adodataset1.CommandText:

='select*from操作用户表where用户名=:

username';

adodataset1.Parameters.clear;

adodataset1.Parameters.AddParameter;

adodataset1.Parameters[0].Name:

='username';

adodataset1.Parameters[0].DataType:

=ftstring;

adodataset1.Parameters[0].Direction:

=pdinput;

adodataset1.Parameters[0].Value:

=edit1.text;

adodataset1.Active:

=true;

ifadodataset1.Recordset.RecordCount=1then

begin

ifradiobutton1.Checkedthen

begin

application.MessageBox('用户名重复,请重新输入!

','提示信息',mb_ok);

edit1.SetFocus;

end

else

begin

edit2.text:

=adodataset1.fieldbyname('密码').asstring;

edit3.text:

=adodataset1.fieldbyname('所在单位').asstring;

edit4.text:

=adodataset1.fieldbyname('操作员').asstring;

maskedit1.text:

=datetostr(adodataset1.fieldbyname('最后修改时间').asDatetime);

CheckBox1.Checked:

=adodataset1.fieldbyname('权限一').asboolean;

CheckBox2.Checked:

=adodataset1.fieldbyname('权限二').asboolean;

CheckBox3.Checked:

=adodataset1.fieldbyname('权限三').asboolean;

CheckBox4.Checked:

=adodataset1.fieldbyname('权限四').asboolean;

end;

end

else

begin

ifnotRadioButton1.Checkedthen

begin

application.MessageBox('没有该用户名,请检查!

','提示信息',mb_ok);

edit1.SetFocus;

end;

end;

adodataset1.Active:

=false;

end;

end;

procedureTOperatorForm.RadioButton1Click(Sender:

TObject);

begin

initiate;

edit1.SetFocus;

end;

procedureTOperatorForm.BitBtn1Click(Sender:

TObject);

var

AdoQuery1:

TAdoQuery;

begin

adoquery1:

=TAdoQuery.Create(self);

adoquery1.Connection:

=adoconnection1;

adoquery1.close;

ifradiobutton2.Checkedthen

begin

adoquery1.sql.Clear;

adoquery1.sql.add('update操作用户表set密码=:

password,所在单位=:

units,权限一=:

qx1,权限二=:

qx2,权限三=:

qx3,权限四=:

qx4,操作员=:

operator,最后修改时间=:

lastdatewhere用户名=:

username');

adoquery1.Parameters.Clear;

adoquery1.Parameters.AddParameter;

adoquery1.Parameters[0].name:

='password';

adoquery1.Parameters[0].DataType:

=ftstring;

adoquery1.Parameters[0].Direction:

=pdinput;

adoquery1.Parameters[0].Value:

=edit2.text;

adoquery1.Parameters.AddParameter;

adoquery1.Parameters[1].name:

='units';

adoquery1.Parameters[1].DataType:

=ftstring;

adoquery1.Parameters[1].Direction:

=pdinput;

adoquery1.Parameters[1].Value:

=edit3.text;

adoquery1.Parameters.AddParameter;

adoquery1.Parameters[2].name:

='qx1';

adoquery1.Parameters[2].DataType:

=ftboolean;

adoquery1.Parameters[2].Direction:

=pdinput;

adoquery1.Parameters[2].Value:

=checkbox1.checked;

adoquery1.Parameters.AddParameter;

adoquery1.Parameters[3].name:

='qx2';

adoquery1.Parameters[3].DataType:

=ftboolean;

adoquery1.Parameters[3].Direction:

=pdinput;

adoquery1.Parameters[3].Value:

=checkbox2.checked;

adoquery1.Parameters.AddParameter;

adoquery1.Parameters[4].name:

='qx3';

adoquery1.Parameters[4].DataType:

=ftboolean;

adoquery1.Parameters[4].Direction:

=pdinput;

adoquery1.Parameters[4].Value:

=checkbox3.checked;

adoquery1.Parameters.AddParameter;

adoquery1.Parameters[5].name:

='qx4';

adoquery1.Parameters[5].DataType:

=ftboolean;

adoquery1.Parameters[5].Direction:

=pdinput;

adoquery1.Parameters[5].Value:

=checkbox4.checked;

adoquery1.Parameters.AddParameter;

adoquery1.Parameters[6].name:

='operator';

adoquery1.Parameters[6].DataType:

=ftstring;

adoquery1.Parameters[6].Direction:

=pdinput;

adoquery1.Parameters[6].Value:

=edit4.text;

adoquery1.Parameters.AddParameter;

adoquery1.Parameters[7].name:

='lastdate';

adoquery1.Parameters[7].DataType:

=ftdatetime;

adoquery1.Parameters[7].Direction:

=pdinput;

adoquery1.Parameters[7].Value:

=StrToDate(maskedit1.text);

adoquery1.Parameters.AddParameter;

adoquery1.Parameters[8].name:

='username';

adoquery1.Parameters[8].DataType:

=ftstring;

adoquery1.Parameters[8].Direction:

=pdinput;

adoquery1.Parameters[8].Value:

=edit1.text;

adoquery1.ExecSQL;

end

elseif(radiobutton1.Checked)and(edit1.text<>'')then

begin

adoquery1.sql.clear;

adoquery1.sql.add('insertinto操作用户表(用户名,密码,所在单位,权限一,权限二,权限三,权限四,操作员,最后修改时间)values(:

username,:

password,:

units,:

qx1,:

qx2,:

qx3,:

qx4,:

operator,:

lastdate)');

adoquery1.Parameters.Clear;

adoquery1.Parameters.AddParameter;

adoquery1.Parameters[0].name:

='username';

adoquery1.Parameters[0].DataType:

=ftstring;

adoquery1.Parameters[0].Direction:

=pdinput;

adoquery1.Parameters[0].Value:

=edit1.text;

adoquery1.Parameters.AddParameter;

adoquery1.Parameters[1].name:

='password';

adoquery1.Parameters[1].DataType:

=ftstring;

adoquery1.Parameters[1].Direction:

=pdinput;

adoquery1.Parameters[1].Value:

=edit2.text;

adoquery1.Parameters.AddParameter;

adoquery1.Parameters[2].name:

='units';

adoquery1.Parameters[2].DataType:

=ftstring;

adoquery1.Parameters[2].Direction:

=pdinput;

adoquery1.Parameters[2].Value:

=edit3.text;

adoquery1.Parameters.AddParameter;

adoquery1.Parameters[3].name:

='qx1';

adoquery1.Parameters[3].DataType:

=ftboolean;

adoquery1.Parameters[3].Direction:

=pdinput;

adoquery1.Parameters[3].Value:

=checkbox1.checked;

adoquery1.Parameters.AddParameter;

adoquery1.Parameters[4].name:

='qx2';

adoquery1.Parameters[4].DataType:

=ftboolean;

adoquery1.Parameters[4].Direction:

=pdinput;

adoquery1.Parameters[4].Value:

=checkbox2.checked;

adoquery1.Parameters.AddParameter;

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

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2