图书馆信息管理系统课程设计

更新时间:2023-07-26 14:57:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

管 理 信 息 系 统

指导老师:李小兵学院:机械电子工程学院

课 程 设 计 报 告

一、课题说明

1.1课题名称

图书出纳管理系统

1.2使用环境

当今世界正处于科技高速发展,信息量剧增的时代,伴随科学技术的不断发展进步,人们对图书的需求越来越大,馆存图书也不断增加,各系统对各门类图书的需求也越来越具体。但目前各图书馆对图书的管理很多停留在书卡和书目的一般查询上,花费了大量资金购置的图书和计算机软件,其关系只停留在图书和目录,主要原因在于人们所进行的计算机管理只简单的将书目录入软件中,再根据目录查找图书这一循环体中。目前大部分图书馆的图书管理都处于一种馆藏图书量大,各书馆所存图书相类似,专业性图书所占比例较小,管理方法简单,图书利用率低,管理成本又高。这就要求我们在信息技术高速发展的今天,图书馆管理运用网络技术,通过信息系统的开发,在图书馆之间互通有无,有利于提高图书的利用率。

1.3开发方法

本系统在visual foxpro环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发一个管理信息系统的过程。通过分析传统的人工管理图书馆的不足,创建了一套行之有效的计算机管理图书馆的方案。文章详细介绍了图书管理信息系统的系统分析部分,包括子系统划分、业务流程分析、数据流程分析、数据字典、关键算法等;系统设计部分介绍了系统功能结构设计、I/O设计、代码设计、界面设计、数据库设计、网络环境和存储文件格式设计。

1.4设计思路

我们将以课本和一些上网资料为参考,按照老师的作业要求,从系统使用环境和开发方法→系统概述→业务流程分析→数据流分析(包括数据流程图和数据字典)→功能结构设计→I/O设计→数据库设计→网络环境,一步步对系统进行分析和设计。

二、 系统概述

2.1现状分析

2.1.1技术分析

随着计算机技术和管理信息系统的不断进步和发展,对小型图书馆的管理从以前的手工转移到计算机是切实可行的。我们采用的是老师上课教过的visual fox pro软件进行的设计。 2.1.2管理分析

旧的图书馆管理模式不能适应现在的情况,随着藏书量的增加一级工作的复杂程度的增大,需要对现在使用的管理信息系统进行升级及完善 。新的图书馆管理信息系统充分发挥了计算机技术、网络技术的强大功能,从整体上改善了图书馆的管理工作,提高了图书馆服务的功能和质量,实现了图书管理的信息化、

自动化。

通过对经济、技术、管理可行性的充分研究,确定了图书馆管理信息系统的开发是必要的可行的。

2.2系统目标

管理有关读者,书籍,借阅和管理者的信息,实现图书管理的系统化、规范化和自动化,实现对图书资料的集中统一的管理。该系统的功能为: (1)查询功能:读者和管理员可以由书名(或书名的一部分)、作者名等查询馆藏书号及藏书量、书的在哪个读者手中,以及什么时候借出去,应该什么时候归还;

(2)借书功能:借阅者去馆藏室找书,若有借阅者要借的书,则借阅者把书给图书馆管理员办理借阅手续,图书馆管理员将借阅者的信息及所借图书的信息记入书库借阅文件;

(3)还书功能:借阅者将所借的书归还图书馆时,管理员将借阅者相应的归还信息记入图书归还文件。

三、系统分析

3.1子系统划分

该图书馆出纳管理系统按照以下六个原则进行设计:①系统满足用户需要的功能。②系统有较高的运行效率。③系统有能够在运行过程中抵御各种干扰、保证系统正常运作。④系统工作质量高。⑤系统可变更性好。⑥系统能带来好的经济效益。在以上原则的知道下,我们将该系统分为五个模块,分别为书籍查询、新书入库、读者查询、借还书情况统计、退出系统。系统的功能结构图如下:

1、“书籍查询”模块

(1)书名查询:管理员可通过书名查询书籍的相关信息和借阅情况。 (2)书号查询:管理员可通过书号查询书籍的相关信息和借阅情况。 2、“新书入库”模块:该模块主要功能为打开图书信息表,进行新书信息的输入。 3、“读者查询”模块 (1)读者姓名查询:管理员可通过读者姓名查询该读者相关信息及书籍借阅情况。 (2)读者编号查询:管理员可通过读者编号查询该读者相关信息及书籍借阅情况。

4、“借还书情况统计”模块:该模块主要功能为查看所有读者的借阅情况。 5、“退出系统”模块:该模块主要功能为用户完成需要操作后的退出。

3.2业务流程图

业务流程分析是在业务功能的基础上将其细化,利用系统调查的资料将业务处理过程中的每一个步骤用一个完全的图形将其串起来。其功能如下: (1)了解该业务的具体处理过程;

(2)发现和处理系统调查工作中的错误和疏漏; (3)修改和删除原系统的不合理部分; (4)在新系统基础上优化业务处理流程。

业务流程图就是用一些规定的符号及连线来表示某个具体业务处理。系统的业务流程图如下:

3.3数据流图

数据流程分析把数据在组织内部的流动情况抽象地独立出来,单从数据流动过程来考查实际业务的数据处理模式。数据流程分析主要包括对信息的流动、传递、处理、存储等的分析。数据流程分析的目的是发现和解决数据流通中的问题,这些问题有:数据流程不畅、前后数据不匹配、数据处理过程不合理等。

数据流图描述数据流动、存储、处理的逻辑关系,也称为逻辑数据流程图(Logical Data Flow Diagram),一般用DFD表示。数据流图用到四个基本符号,即外部实体、数据流、数据存储和数据处理过程。系统的数据流图如下: 顶层

DFD

一层DFD

图书馆出纳管理系统分为:图书采编、图书查询、读者管理、图书借阅四个部分

二层DFD

(1)读者管理

(2)图书采编

(3)图书查询

(4)图书借阅

3.4数据字典

3.4.1数据元素

3.4.2数据结构

数据结构的描述重点数据之间的组合关系,即说明这个数据结构包括哪些

3.4.3数据存储

数据存储的条目,主要描写该数据存储的结构,及有关的数据流、查询要求。

3.4.4数据流

3.4.4.1数据流的来源

数据流可以来自某个外部实体、数据存储或某个处理。

3.4.4.2数据流的组成

指数据流所包含的数据结构。一个数据流可包含一个或多个数据结构。若只含一个数据结构,应注意名称的统一,以免产生二义性。 3.4.4.3数据流的流通量

指单位时间(每日、每小时)里的数据传输次数。可以估计平均数或最高、最低流量各是多少。

3.4.5数据处理

对于数据流图中的处理框,需要在数据字典中描述处理框中的编号、名称、功能的简要说明,有关的输入、输出。对功能进行描述,应使人能有一个较明确

3.4.6外部实体

外部实体是数据的来源和去向。因此,在数据字典中关于外部实体的条目,主要说明外部实体产生的数据流和传给该外部实体的数据流,以及该外部实体的数量。

四、系统设计

4.1功能结构设计

系统设计的目的是如何实现系统说明书规定的系统功能。总体设计最核心的问题是系统总体功能结构的确定和子系统与模块的划分。该图书馆出纳管理系统按照以下六个原则进行设计:①系统满足用户需要的功能。②系统有较高的运行效率。③系统有能够在运行过程中抵御各种干扰、保证系统正常运作。④系统工作质量高。⑤系统可变更性好。⑥系统能带来好的经济效益。在以上原则的知道下,我们将该系统分为五个模块,分别为书籍查询、新书入库、读者查询、借还书情况统计、退出系统。系统的功能结构图如系统划分部分的子系统划分。

4.2数据库设计

4.2.1数据库概念设计

E-R图是E-R模型的图形表示法,它是直接表示概念模型的有力工具。该图

书馆出纳管理系统的E-R模型如下图所示。

将以上E-R图转换成关系模型

读者表(读者编号,姓名,学院,学号)

借还书表(读者编号,书号,借书日期,还书日期,按期还书否) 图书信息表(书号,书名,作者,出版社,价格) 4.2.3数据库物理设计

该数据库包含读者表、借还书表、图书信息表三张表,三张表的结构如下

4.3输入输出设计

输入内容:姓名、密码,输入正确后可进入系统进行相应的输入。 图书馆信息管理系统能够完成读者信息、书籍信息和借阅情况的录入,体现了图书馆信息管理系统的发展。输入方式灵活,可通过选择、填写等方式来实现。在输入信息时,应注意格式的要求。

输出内容:

1、登录成功,用户将直接进入系统进行操作。 2、无该用户或密码错误,系统将进行提示。 3、正常操作下显示用户查询等操作的结果。

4、当输入内容有格式错误或其他错误时,则不能进行正常录入。

常用输出设备有显示终端、打印机、磁带机、绘图仪、多媒体设备等,常见的输出介质有纸张、磁盘、光盘、多媒体介质等。该信息系统的输出采用最为广泛的输出方式之一的屏幕实现。在功能选择、查询时采用的是屏幕输出方式。

4.4界面设计

4.4.1登录界面设计

该模块首先对用户的访问权限进行检查,登录用户的信息放在自由表user中,当用户在表单中输入姓名密码时,将与user表中的信息进行比较,只有信息完全吻合的用户才可以访问本系统。

1、表单界面的设计如图所示

2、添加响应代码

(1)“进入系统”按钮控件的click事件

LOCATE FOR ALLTRIM(user.uname)==ALLTRIM(Thisform.Text2.Value) uname=user.uname

upassword=user.upassword

IF LEN(ALLTRIM(Thisform.Text2.Value))<>0 AND; LEN(ALLTRIM(Thisform.Text1.Value))<>0 LOCATE FOR ALLTRIM(user.uname)== ; ALLTRIM(Thisform.Text2.Value)

IF ALLTRIM(user.upassword)==ALLTRIM(Thisform.text1.Value) Thisform.Release

DO FORM 图书馆信息管理系统主界面.scx ELSE

MESSAGEBOX("密码不正确,请重新输入",0,"提示!") Thisform.Text1.Value="" Thisform.Text1.SetFocus ENDIF ELSE

MESSAGEBOX("密码或用户名不能为空,请重新输入",0,"提示!") Thisform.Text1.SetFocus ENDIF

(2)“退出系统”按钮的click事件

yn=MESSAGEBOX("您确定退出吗?",4+32,"系统信息") IF yn=6

thisform.Release CLEAR EVENTS QUIT Endif

另外,管理员相关信息如表所示

4.4.2系统主界面设计

该界面为登录系统后用户进入的主界面,用户可在该界面上调用系统的各种功能模块。

1、表单界面设计。下图分别为主菜单设计图和主表单的运行图。 (1)主菜单的设计

而书籍查询与读者查询,在该菜单下仍有子菜单,进一步设计如下图

2、主表单的设计

在该表单下,可实现主菜单的设计功能,该表单的Init事件如下 DO 主菜单.MPR WITH THIS,.T. 4.4.3读者编号查询界面设计

在该页面下,用户可更具读者编号查询相应读者的个人信息和书籍借阅情况。

1、表单界面的设计及运行结果如图所示。

2、添加响应代码

(1)“确定”按钮的click事件

SELECT 读者表.读者编号,姓名,学院,学号,书名,作者,出版社,价格,借书日期,还书日期,是否按期还书 FROM 读者表,图书信息表,借还书表 WHERE 读者表.读者编号=借还书表.读者编号;

AND 图书信息表.书号=借还书表.书号 AND;

ALLTRIM(读者表.读者编号)=ALLTRIM(thisform.text1.Value)INTO TABLE cxb读者编号

SELECT cxb读者编号

LOCATE FOR ALLTRIM(读者编号)=ALLTRIM(thisform.text1.value) IF NOT FOUND()

MESSAGEBOX("无该读者,请核对您输入是否正确",0+48,"注意:") ELSE

thisform.grd.recordsourcetype=0

thisform.grd.recordsource="cxb读者编号" Endif

(2)“退出”按钮的click事件

yn=MESSAGEBOX("您确定退出吗?",4+32,"系统信息") IF yn=6

thisform.Release CLEAR EVENTS QUIT endif

4.4.4 读者姓名查询界面设计

在该页面下,用户可更具读者姓名查询相应读者的个人信息和书籍借阅情况。

1、表单界面的设计及运行结果如图所示。

2、添加响应代码

(1)“确定”按钮的click事件

SELECT 读者表.读者编号,姓名,学院,学号,书名,作者,出版社,价格,借书日期,还书日期,是否按期还书 FROM 读者表,图书信息表,借还书表 WHERE 读者表.读者编号=借还书表.读者编号;

AND 图书信息表.书号=借还书表.书号 AND;

ALLTRIM(姓名)=ALLTRIM(thisform.text1.Value)INTO TABLE cxb姓名 SELECT cxb姓名

LOCATE FOR ALLTRIM(姓名)=ALLTRIM(thisform.text1.value) IF NOT FOUND()

MESSAGEBOX("无该读者,请核对您输入是否正确",0+48,"注意:") ELSE

thisform.grd.recordsourcetype=0

thisform.grd.recordsource="cxb姓名" Endif

(2)“退出”按钮的click事件

yn=MESSAGEBOX("您确定退出吗?",4+32,"系统信息") IF yn=6

thisform.Release CLEAR EVENTS QUIT Endif

4.4.5 书名查询界面设计

在该界面下,用户可根据书名查询相关书籍的对应信息和借阅情况。 1、表单界面的设计与运行情况如下图所示

2、添加响应代码

(1)“确定”按钮的click事件

SELECT 借还书表.书号,书名,作者,出版社,价格,姓名,借书日期,还书日期,是否按期还书 FROM 图书信息表,借还书表,读者表 WHERE 读者表.读者编号=借还书表.读者编号;

AND 借还书表.书号=图书信息表.书号 AND;

ALLTRIM(书名)=ALLTRIM(thisform.text.value)into TABLE cxb书名 select cxb书名

LOCATE FOR ALLTRIM(书名)=ALLTRIM(thisform.text.value) thisform.grd.recordsourcetype=0

thisform.grd.recordsource="cxb书名" (2)“退出”按钮的click事件

yn=MESSAGEBOX("您确定退出吗?",4+32,"系统信息") IF yn=6

thisform.Release CLEAR EVENTS QUIT Endif

4.4.6 书号查询页面设计

在该界面下,用户可根据书名查询相关书籍的对应信息和借阅情况。 1、表单界面的设计与运行情况如下图所示

2、添加响相应代码

(1)“确定”按钮的click事件

SELECT 借还书表.书号,书名,作者,出版社,价格,姓名,借书日期,还书日期,是否按期还书 FROM 图书信息表,借还书表,读者表 WHERE 读者表.读者编号=借还书表.读者编号;

AND 借还书表.书号=图书信息表.书号 AND;

ALLTRIM(图书信息表.书号)=ALLTRIM(thisform.text1.value)into TABLE cxb书号

select cxb书号

LOCATE FOR ALLTRIM(图书信息表.书号)=ALLTRIM(thisform.text1.value) thisform.grd.recordsourcetype=0

thisform.grd.recordsource="cxb书号" (2)”退出”按钮的click事件

yn=MESSAGEBOX("您确定退出吗?",4+32,"系统信息") IF yn=6

thisform.Release CLEAR EVENTS QUIT Endif

4.4.7 新书入库界面设计

在主界面点击新书入库,可在该界面下进行新书信息的录入与保存。而且在该界面下,也可以利用图书的任一属性对已有图书进行查找,快速定位。 ①新书信息录入界面

②图书查找界面

本文来源:https://www.bwwdw.com/article/734m.html

Top