电子商务.docx

上传人:b****5 文档编号:11570253 上传时间:2023-03-19 格式:DOCX 页数:21 大小:22.92KB
下载 相关 举报
电子商务.docx_第1页
第1页 / 共21页
电子商务.docx_第2页
第2页 / 共21页
电子商务.docx_第3页
第3页 / 共21页
电子商务.docx_第4页
第4页 / 共21页
电子商务.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

电子商务.docx

《电子商务.docx》由会员分享,可在线阅读,更多相关《电子商务.docx(21页珍藏版)》请在冰豆网上搜索。

电子商务.docx

电子商务

 

图书借阅管理系统设计文档

一、           系统概述

为学校图书借阅室设计图书管理系统,完成新增图书上架、读者办理图书借阅证、图书查询、借书、还书工作的自动处理。

二、           需求分析

1.图书借阅处理过程简述

处理过程主要包含:

新增图书上架、办理图书借阅证、图书查询、借书、还书等。

(1)新增图书上架

新书上架时,需要登记新书的:

书名、作者、出版社、出版时间(年)、版次、价格、总册数的信息;并对图书统一编号(书号为8位数字)。

(2)办理图书借阅证

读者办理借书证时,需要登记读者(学生)的学号(6位)、姓名、班级、扫描学生证照片,并对借书证统一编号(借书证号为6位数字,值与学号相同)。

(3)图书查询

读者可以按照书名、作者、出版社查询图书基本信息,并可以得知现还有几册可以借阅。

(4)借书

每个学生读者最多借3本书;借书时间为2周,如果有超期未还的图书则不能再借书。

读者借书时,应登记借书证号、书号、借书日期(年月日);并打印借书条交给读者,借书条上包括借书证号、所借各本书的书名、应还书的时间。

(5)还书

读者还书时,应查看是否超期,如果超期则每天罚款0.1元,计算出应交罚款。

2.数据分析

数据处理过程中涉及到两个实体:

图书和读者;各实体应具有的属性如下:

²      图书(书号、书名、作者、出版社、出版时间、版次、价格、总册数)

²      读者(借书证号、学号、姓名、班级、照片)

由于同一种图书可以有多册上架,每个读者最多可以借阅3本书,所以图书和读者之间是多对多的关系;为了表示多对多关系,应将图书借阅定为实体,构造两个一对多关系。

图书借阅的属性如下:

²      借阅(借书证号、书号、借书日期)

3.功能分析

系统功能模块包括:

图书上架、借书证办理、图书查询、借书、还书;另外还包括图书信息修改和读者信息修改;共七个模块。

各模块功能如下:

a)       图书上架

登记新书信息并编号

b)       借书证办理

登记读者信息并编号

c)       图书查询

允许读者选择查询方式,并按照读者输入的信息查找到相关图书的信息并显示

d)       借书

查看是否能借书,如果可以则登记相关信息,打印借书条。

e)       还书

查看是否超期,如果超期,则计算应交罚款。

三、           数据库设计

1.数据库

数据库名称为library.mdb。

2.表

数据库中包含三个表:

图书表(book)、读者表(reader)、借阅表(borrow)各表结构如下:

book

字段名

书号

书名

作者

出版社

出版时间

版次

价格

总册数

类型

文本

文本

文本

文本

数字

数字

数字

数字

字段大小

8

20

10

10

整数

字节

单精度型

字节

其它

数字字符

必填

必填

必填

1990至当年

1~9

两位小数

1~10

主键

主键

 

 

 

 

 

 

 

reader

字段名

借书证号

学号

姓名

班级

照片

类型

文本

文本

文本

文本

OLE对象

字段大小

6

6

4

6

 

其它

数字字符

数字字符/必填

必填

 

 

主键

主键

 

 

 

 

borrow

字段名

流水号

借书证号

书号

借书日期

已归还

类型

自动编号

文本/查阅

文本/查阅

日期

是/否

字段大小

 

6

8

 

 

其它

 

数字字符/必填

数字字符/必填

默认值:

Date()

默认值:

主键

主键

 

 

 

 

book表与borrow表为一对多的关系,连接字段为book的书号和borrow的书号;

reader表与borrow表为一对多的关系,连接字段为reader的借书证号和borrow的借书证号。

四、           总体设计

1.总体功能设计

系统功能总体分为五个模块:

管理员登录、图书上架、借阅证办理、图书查询和借书还书。

2.系统功能模块图

总控模块

图书上架

借阅证办理

图书查询

借书还书

管理员登录

总控模块以主窗体形式出现。

其中,默认情况下,管理员登录、图书查询和借书还书模块可以使用,即所有用户都可以使用。

只有进行合法的管理员登录后,图书上架、借阅证办理才可以使用。

3.子模块功能设计

l       管理员登录子模块用来判断用户输入的密码是否正确,以决定是否进入管理员模式

l       图书上架子模块用来输入图书基本信息

l       借阅证办理子模块用来输入读者基本信息

l       图书查询子模块包括按照书名、读者、出版社进行选择查询、条件查询和模糊查询三大部分

l       借书还书子模块包括借书和还书两个二级子模块。

其中,

Ø       借书二级子模块包括借书信息输入和打印借书条两部分

Ø       还书二级子模块包括还书信息输入和计算超时欠费两部分

五、           详细设计

1.系统初始化模块

系统初始化模块的作用是声明系统全局变量,初始化系统变量设置等。

¨模块init

OptionCompareDatabase

PublicLoginAsBoolean                  '全局变量Login-记录管理员是否登录

2.系统主控模块——主窗体

(1)功能说明

系统主窗体是用户进入系统后首先打开的窗体,主要用于方便用户进行工作选择,因此采用按钮和菜单两种方式完成。

(2)界面设计——按钮

i主窗体界面图

系统主窗体界面设计如图1。

图1

ii主窗体及控件属性

系统主窗体及控件属性如表1。

表1

名称

属性

属性值

主窗体

标题

图书借阅管理系统

滚动条

两者均无

记录选择器

导航按钮

分割线

自动调整

自动居中

边框样式

细边框

最大最小化按钮

最小化按钮

命令0

单击事件

运行宏“管理员登录”

Label0

标题

管理员登录

命令1

单击事件

运行宏“图书上架”

可见性

Label1

标题

图书上架

可见性

命令2

单击事件

运行宏“借阅证办理”

可见性

Label2

标题

借阅证办理

可见性

命令3

单击事件

运行宏“图书查询”

Label3

标题

图书查询

命令4

单击事件

运行宏“借书还书”

Label4

标题

借书还书

iii主窗体及控件事件宏和代码

¨主窗体“加载”事件

PrivateSubForm_Load()

   Login=False

EndSub

¨主窗体“打开”事件

PrivateSubForm_Open(CancelAsInteger)

   命令1.Visible=Login

   Label1.Visible=Login

   命令2.Visible=Login

   Label2.Visible=Login

   命令0.Visible=NotLogin

   Label0.Visible=NotLogin

EndSub

¨“管理员登录”宏

操作

参数

参数值

Close

对象类型

窗体

对象名称

主窗体

OpenForm

窗体名称

管理员登录

¨“图书上架”宏

操作

参数

参数值

OpenForm

窗体名称

图书上架

数据模式

增加

¨“借阅证办理”宏

操作

参数

参数值

OpenForm

窗体名称

借阅证办理

数据模式

增加

¨“图书查询”宏

操作

参数

参数值

OpenForm

窗体名称

图书查询

¨“借书还书”宏

操作

参数

参数值

OpenForm

窗体名称

借书还书

(3)界面设计——菜单

i系统主菜单

系统主菜单(略)

如表2。

()

表2

菜单项

子菜单

参数

管理

 

 

 

 

管理员登录

打开窗体OpenForm

 

 

图书上架

打开窗体OpenForm

 

 

图书信息修改

打开窗体OpenForm

 

 

借阅证办理

打开窗体OpenForm

 

 

退出系统

Quit

 

借还书

 

 

 

 

图书查询

打开查询OpenQuery

 

 

借书

打开报表OpenReport

 

 

还书

打开报表OpenReport

 

窗口

 

 

 

 

最小化

Minimize

 

帮助

 

 

 

 

关于…

打开窗体OpenForm

 

 

系统说明

打开窗体OpenForm

系统设计说明

ii宏设计

(略)如表2。

()

表3

 

3.管理员登录子模块——“管理员登录”窗体

(1)功能说明

在系统主界面中当用户选择管理员登录功能时,打开管理员登录窗体,要求用户输入管理员密码。

密码正确才能进入。

密码输入错误,给出提示并返回主控窗体。

(2)界面设计

“管理员登录”窗体界面设计如图2:

图2

控件

属性

属性值

标签

名称

标签1

标题

请输入管理员密码:

文本框

名称

密码

输入掩码

密码

按钮

名称

命令2

标题

确定

默认

(3)功能实现

单击“确定”按钮时,进行密码验证,决定登录是否成功。

在“确定”按钮的“单击”事件中,写入如下代码:

PrivateSub命令2_Click()

   If密码<>"admin"Then

       MsgBox"密码输入错误!

即将进入读者登录界面。

"

       Login=False

   Else

       MsgBox"欢迎进入管理员登录界面!

"

       Login=True

   EndIf

   DoCmd.Close

   DoCmd.OpenForm"主窗体"

EndSub

4.图书上架子模块——“图书上架”窗体

(1)功能说明

在系统主界面中当用户选择“图书上架”功能时,打开“图书上架”窗体,要求用户输入图书基本信息。

输入完成后关闭窗体,即可完成图书信息输入,并返回主控窗体。

(2)界面设计

“图书上架”窗体界面设计如下图3:

图3

其中,窗体及主要控件属性设置如下:

控件

属性

属性值

窗体

记录源

“book”表

按钮

名称

关闭

标题

关闭

(3)功能实现

¨“关闭”按钮

PrivateSub关闭_Click()

OnErrorGoToErr_关闭_Click

   DoCmd.Close

Exit_关闭_Click:

   ExitSub

Err_关闭_Click:

   MsgBoxErr.Description

   ResumeExit_关闭_Click

EndSub

5.借阅证办理子模块——“借阅证办理”窗体

(1)功能说明

在系统主界面中当用户选择“借阅证办理”功能时,打开“借阅证办理”窗体,要求用户输入读者基本信息。

输入完成后关闭窗体,即可完成读者信息输入,并返回主控窗体。

(2)界面设计

“借阅证办理”窗体界面设计如图4:

图4

其中,窗体及主要控件属性设置如下:

控件

属性

属性值

窗体

记录源

“reader”表

“借书证号”

文本框

名称

借书证号

控件来源

借书证号

输入掩码

000000

是否锁定

按钮

名称

结束

标题

办理结束

默认

“班级”组合框属性如下图:

(3)功能实现

¨窗体加载后,自动将焦点设置在“学号”文本框上

PrivateSubForm_Load()

   [学号].SetFocus

EndSub

¨输入学号后,自动将“借书证号”设置为与“学号”相同

PrivateSub学号_Change()

   [借书证号]=[学号]

EndSub

 

PrivateSub学号_LostFocus()

   [借书证号]=[学号]

EndSub

¨“结束”按钮

PrivateSub结束_Click()

OnErrorGoToErr_结束_Click

  ch=MsgBox("输入的读者信息将会保存。

请确认数据输入是否正确。

"&vbCrLf_

       &"单击“是”将保存数据,单击“否”将回到输入窗口继续输入或修改。

",_

       vbQuestion+vbYesNo+vbDefaultButton2,"确认保存")

   Ifch=vbYesThen

       DoCmd.Close

   EndIf

Exit_结束_Click:

   ExitSub

Err_结束_Click:

   MsgBoxErr.Description

   ResumeExit_结束_Click

EndSub

6.图书查询子模块——“图书查询”窗体

(1)功能说明

在系统主界面中当用户选择“图书查询”功能时,打开“图书查询”窗体,允许用户选择按照书名、读者、出版社查询或使用模糊查询。

(2)界面设计

“图书查询”窗体界面设计如图5:

图5

窗体属性如下表:

属性

属性值

标题

图书查询

滚动条

两者均无

记录选择器

导航按钮

分割线

自动调整

自动居中

边框样式

细边框

最大最小化按钮

最小化按钮

“Combo条件”文本框属性如下图:

(3)功能实现

¨单击“按书名查询图书及现有册数”按钮(名称为“按书名查询”),打开“按书名查询图书及现有册数”窗体

PrivateSub按书名查询_Click()

OnErrorGoToErr_按书名查询_Click

 

   DoCmd.OpenForm"按书名查询图书及现有册数"

 

Exit_按书名查询_Click:

   ExitSub

 

Err_按书名查询_Click:

   MsgBoxErr.Description

   ResumeExit_按书名查询_Click

   

EndSub

¨单击“按作者查询图书及现有册数”按钮(名称为“按作者查询”),打开“按作者查询图书及现有册数”窗体

PrivateSub按作者查询_Click()

OnErrorGoToErr_按作者查询_Click

 

   DoCmd.OpenForm"按作者查询图书及现有册数"

 

Exit_按作者查询_Click:

   ExitSub

 

Err_按作者查询_Click:

   MsgBoxErr.Description

   ResumeExit_按作者查询_Click

   

EndSub

¨单击“按出版社查询图书及现有册数”按钮(名称为“按出版社查询”),打开“按出版社查询图书及现有册数”窗体

PrivateSub按出版社查询_Click()

OnErrorGoToErr_按出版社查询_Click

 

   DoCmd.OpenForm"按出版社查询图书及现有册数"

 

Exit_按出版社查询_Click:

   ExitSub

 

Err_按出版社查询_Click:

   MsgBoxErr.Description

   ResumeExit_按出版社查询_Click

   

EndSub

¨如果在“查询条件”组合框(名称为“Combo条件”)中选择“全部”,则不显示“查询内容”文本框,否则显示

PrivateSubCombo条件_Change()

   IfCombo条件.ListIndex=0Then

       Text查询内容.Visible=False

       Label查询内容.Visible=False

   Else

       Text查询内容.Visible=True

       Label查询内容.Visible=True

   EndIf

EndSub

 

PrivateSubCombo条件_Click()

   IfCombo条件.ListIndex=0Then

       Text查询内容.Visible=False

       Label查询内容.Visible=False

   Else

       Text查询内容.Visible=True

       Label查询内容.Visible=True

   EndIf

EndSub

¨单击“条件查询”按钮(名称为“Cmd查询”),根据条件分别打开不同窗体

PrivateSubCmd查询_Click()

   SelectCaseCombo条件

       Case"全部"

           DoCmd.OpenForm"查询结果"

       Case"书名"

           DoCmd.OpenForm"书名查询",OpenArgs:

=Text查询内容

       Case"作者"

           DoCmd.OpenForm"作者查询",OpenArgs:

=Text查询内容

       Case"出版社"

           DoCmd.OpenForm"出版社查询",OpenArgs:

=Text查询内容

   EndIf

EndSub

¨单击“模糊查询”按钮(名称为“模糊查询”),根据条件查询(使用SQL命令)后显示

PrivateSub模糊查询_Click()

OnErrorGoToErr_模糊查询_Click

 

   sqlstr=""

   num=1

   If书号<>""Then

       Ifnum<>1Then

           sqlstr=sqlstr&"and"

       EndIf

       num=num+1

       sqlstr=sqlstr&"书号like'*"&书号&"*'"

   EndIf

   If书名<>""Then

       Ifnum<>1Then

           sqlstr=sqlstr&"and"

       EndIf

       num=num+1

       sqlstr=sqlstr&"书名like'*"&书名&"*'"

   EndIf

   If作者<>""Then

       Ifnum<>1Then

           sqlstr=sqlstr&"and"

       EndIf

       num=num+1

       sqlstr=sqlstr&"作者like'*"&作者&"*'"

   EndIf

   If出版社<>""Then

       Ifnum<>1Then

           sqlstr=sqlstr&"and"

       EndIf

       num=num+1

       sqlstr=sqlstr&"出版社like'*"&出版社&"*'"

   EndIf

   If出版时间<>""Then

       Ifnum<>1Then

           sqlstr=sqlstr&"and"

       EndIf

       num=num+1

       sqlstr=sqlstr&"出版时间like'*"&出版时间&"*'"

   EndIf

   If版次<>""Then

       Ifnum<>1Then

           sqlstr=sqlstr&"and"

       EndIf

       num=num+1

       sqlstr=sqlstr&"版次like'*"&版次&"*'"

   EndIf

   If价格<>""Then

       Ifnum<>1Then

           sqlstr=sqlstr&"and"

       EndIf

       num=num+1

       sqlstr=sqlstr&"价格like'*"&价格&"*'"

   EndIf

   Ifsqlstr<>""Then

       DoCmd.OpenForm"查询结果",OpenArgs:

=sqlstr

   Else

       MsgBox"请输入查询要求!

"

   EndIf

 

Exit_模糊查询_Click:

   ExitSub

 

Err_模糊查询_Click:

   MsgBoxErr.Description

   ResumeExit_模糊查询_Click

   

EndSub

7.图书查询各子模块(子窗体)

(1)“按书名查询图书及现有册数”窗体、“按作者查询图书及现有册数”窗体、“按出版社查询图书及现有册数”窗体

¨界面设计

“按书名查询图书及现有册数”窗体界面如图6(其他类似):

图6

各窗体“记录源”属性如下表:

窗体

属性值

“按书名查询图书及现有册数”

“按书名查询图书及现有册数”查询

“按作者查询图书及现有册数”

“按作者查询图书及现有册数”查询

“按出版社查询图书及现有册数”

“按出版社查询图书及现有册数”查询

¨查询实现

“按书名查询图书及现有册数”查询设计如图7:

(其余类似)

图7

¨“查询图书借出册数”查询实现

(2)“书名查询”窗体、“作者查询”窗体、“出版社查询”窗体

¨界面设计

“书名查

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

当前位置:首页 > 经管营销 > 经济市场

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

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