课程设计实验报告--图书管理系统


摘要

随着人类社会的发展,人类对知识的需求也不断地增长。在这种形势下,书籍就渐渐地成为人们获取并增长知识的主要途径,而图书馆就自然而然地在人们的生活中占据了一定的位置。随着现代科学技术的进步,人类社会正逐渐走向信息化,图书馆拥有丰富的文献信息资源,是社会系统的重要组成部分,在信息社会中作用愈来愈重要。因此结合开入式图书馆的要求,对Access数据库、SQL语言原理应用程序设计,数据库技术进行了较深入的学习和应用,主要完成对图书管理系统的需求分析、功能模块划分、数据库模式分析,并由此设计了数据库结构和应用程序。系统运行结果证明,本文所设计的图书管理系统可以满足借阅者、系统管理员、图书管理员和读者三方面的需要。为了联系实际,考虑各层次学校的情况,软件本身要求易学,界面友好,容易掌握,可以较简单方便的管理各种图书信息;硬件的配置要求不能太高,这样可以很好的适应当前的学校图书馆。系统的总体特点应该是方便、简单、实用。

关键词:SQL语言;管理;图书管理系统;分析;设计

目录

第一章  绪论... 5

一、课题背景... 5

二、 图书馆信息化管理... 5

第二章  图书管理系统需求分析... 6

一、引言... 6

1、编写目的... 6

2、项目背景... 6

二、任务概述... 6

1、目标... 6

2、用户特点... 6

3、需求概述... 7

4、功能层次图... 7

三、数据描述... 8

1、数据... 8

2、动态数据... 8

3、数据库描述... 8

4、数据流图与数据字典... 8

四、功能需求... 11

1、功能划分... 11

2、功能描述... 11

五、性能需求... 11

1、数据精确度... 11

2、系统响应时间... 11

3、适应性... 11

六、运行需求... 12

1、用户界面... 12

2、硬件接口... 12

3、软件接口... 12

4、故障处理... 12

第三章 图书馆管理系统数据库分析... 13

一、数据库... 13

二、用户数据... 13

三、源数据... 13

四、索引... 13

五、数据... 13

1、创建数据库... 13

2、数据库创建语句... 14

3、图书馆管理系统E-R. 17

4、图书馆管理系统数据表清单... 18

第四章  图书管理系统的功能实现... 20

一、登陆界面编码设计... 20

二、读者管理界面编码设计... 20

.. 21

三、图书管理界面编码设计... 21

四、借阅信息管理界面编码设计... 22

第五章  结论与体会... 23

参考文献... 23

第一章  绪论

一、课题背景

随着现代科学技术的进步,人类社会正逐渐走向信息化,图书馆拥有丰富的文献信息资源,是社会系统的重要组成部分,在信息社会中作用愈来愈重要。在当今知识大爆炸的时代,图书作为信息的一种载体,仍是人们获得知识的一种重要途径,因而作为图书管理与借阅的图书馆,它的运行情况则关系到知识的传播速度问题。以往旧的图书管理模式完全是手工操作,从新书的购买、编码、入库、上架,到借阅、续借、归还、查询,无一不是人工处理,需要大量的劳动力与工作量,而且由于人为的原因造成一些错误,也是再所难免的。当读者想要借阅一本书时,首先要查询大量的卡片,而且要有一定的图书管理知识,才能很快的查到。自己想要的图书,在借阅过程中还要填写许多相关的卡片,使得图书的管理效率低下,图书流通速度较慢,因而从一定程度上也影响了知识的传播速度。

二、 图书馆信息化管理

图书馆的信息化从最初的对图书馆业务管理实行信息化发展到对图书馆各个业务流程进行系统和网络话化管理,并建立大规模以个体文献目录联机查询为主的资源共享系统。进入21世纪,充分利用计算机网络和信息技术,逐步实现不同载体的实体文献的信息化管理和多方位的联机查询。图书馆的计算机信息化管理,就是将传统图书馆业务的手工操作转变成由计算机管理,既图书馆的图书期刊、音像资料等各种载体文献的采编、典藏、流通、检索及常规业务管理等工作,利用计算机技术,进行高效、准确的信息化管理。其根本目的是实现区域内及地区、国家、国家间的资源共享。要达到资源共享的目的,必须制定一定的标准,只有各个系统都遵循这些标准,不同的系统间才可以实现联机查询、资源共享的效果。

   

第二章  图书管理系统需求分析

一、引言

1、编写目的

编写本报告的目的是明确本系统的详细需求,提供给使用单位确认系统的功能和性能,并在此基础上进行修改和完善,同时作为设计人员进行软件设计的依据和使用单位的验收标准。

2、项目背景

实现一个将各种图书管理和服务功能集合起来的管理信息系统就显得十分必要,既可以节省资源又可以有效存储、更新查询信息,提高工作和服务效率。

二、任务概述

1、目标

本系统通过计算机技术实现图书信息和用户信息的管理,还包括如下目标:

减少人力成本和管理费用;

提高信息的准确性和信息的安全;

改进管理和服务;

良好的人机交互界面,操作简便;

2、用户特点

本系统的最终用户是面向管理员(图书馆管理员和系统管理人员)和读者(教师和学生),他们都具有一定的计算机基础知识和操作计算机的能力,是经常性用户。

系统维护人员是计算机专业人员,熟悉操作系统和数据库,是间隔性用户。

3、需求概述

在图书管理系统中,管理员为每个读者建立一个账户,账户内存储读者个人的详细信息,读者可以在图书馆进行图书的借、还、续借、查询等操作,不同类别的读者在借书限额、还书期限。

借阅图书时,由管理员录入读者ID账号和借书的图书的索引,系统首先验证该账号的有效性,若无效,则提示无效的原因;若有效,则显示ID账号、姓名、借书限额、是否超过还书期限等信息,本次实际借书的数量不能超出可再借数量的值。完成借书操作的同时要修改相应图书信息的状态、读者信息中的已借数量、在借阅信息中添加相应的记录。

归还图书时,由管理员录入借书卡号和待归还的图书编号,显示图书索引、读者姓名、读书编号、读书名称、借书日期、应还日期等信息,并自动计算是否超期以及超期的罚款金额,若进行续借则取消超期和罚款等信息;若图书有损坏,由管理员根据实际情况从系统中选择相应的损坏等级,系统自动计算损坏赔偿金额。完成归还操作的同时,修改相应图书信息的状态、修改读者信息中的已借数量、在借书信息中对相应的借书记录做标记、在还书信息中添加相应的记录。

图书管理员不定期地对图书信息进行添加、修改和删除等操作,在图书尚未归还的情况下不能对图书信息进行删除。也可以对读者信息进行添加、修改、删除等操作,在读者还有未归还的图书的情况下不能进行删除读者信息。

系统管理员主要进行图书管理员权限的设置、读者类别信息的设置、图书类别的设置以及罚款和赔偿标准的设置、数据备份和数据恢复等处理。

4、功能层次图

 


图1

三、数据描述

1、数据

2、动态数据

输入数据:鼠标对按钮的点击,查询方式,查询关键字,新建图书项,新建读者项,图书项、读者项记录的修改,图书借还以及注销操作时的输入信息,受限操作所需的密码等。

输出数据:查询关键字所确定的数据库子集,统计结果,操作成功或失败的消息,图书借还以及注销操作时的结果信息。

3、数据库描述

数据库采用SQL Server数据库和Access

4、数据流图与数据字典

1、数据流图

(1) 系统框架模块

图2

(2)读者信息管理

 


图4

2.图书信息管理

                          图3

(3)图书信息管理

 


图5

图4

(4)图书借阅管理

图5

2、数据信息表关系模块

图6

四、功能需求

1、功能划分

该系统具有以下主要功能:

浏览功能、查询功能、添加功能、修改功能、删除功能;

2、功能描述

(1)浏览功能:列出当前数据库文件中图书信息、读者信息、借阅信息和还书信息等的所有记录。可选定一项记录,显示所有域。

(2)查询功能:书目匹配查询、读者匹配查询、书目和读者匹配查询。

(3)添加功能:添加书目和读者记录以及借书还书记录、添加系统设置相关信息。

(4)修改功能:修改书目和读者记录,提供相关确认机制。修改系统设置相关信息,提供相关确认机制。

(5)删除功能:删除书目和读者记录,提供相关确认机制。删除系统设置相关信息,提供相关确认机制。

五、性能需求

1、数据精确度

保证查询的查全率和查准率为100%,所有在相应域中包含查询关键字的记录都能查到,所有在相应域中不包含查询关键字的记录都不能查到。

2、系统响应时间

系统对大部分操作的相应时间应在1—2秒内。

3、适应性

满足运行环境在允许操作系统之间的安全转换和与其他应用软件的独立运行要求。

六、运行需求

1、用户界面

系统采用应用窗体的方式,多功能窗口运行。

2、硬件接口

支持各种X86系列的PC机。

3、软件接口

运行于Windows2007及更高版本的具有WIN32 API的操作系统之上。

4、故障处理

正常使用时不出错,对于用户的输入错误给出适当的改正提示信息,遇不可恢复的系统错误时,保证数据库的完好无损。

第三章 图书馆管理系统数据库分析

一、数据库

数据库由ODBC(数据库管理系统)处理,ODBC则由开发人员和用户通过应用程序直接或间接地使用。它主要包括四个要素:用户数据、源数据、索引和应用元数据。

二、用户数据

目前,大多数主流数据库管理系统把用户数据表示为关系。现在把关系看作数据表。表的列包含域或属性,表的行包含对应业务环境中的实体的记录。并非所有的关系都同样符合要求,有些关系比其它关系更结构化一些。

三、源数据

数据库是自描述的,这就意味着它自身包含了它的结构的描述,这种结构的描述称作元数据。因为DBMS产品是用来存储和操纵表的,以大多数产品把元数据以表的形式存储,有时称作系统表。这些系统表存储了数据库中表的情况,指出每一个表中有多少列,那一列是主关键字,每一列的数据类型的描述也存储索引、关键字、规则和数据库结构的其他部分。在表中存储元数据不仅对DBMS是有效的,对用户也是方便的,因为他们可以使用与查询用户数据同样的查询工具来查询元数据。

四、索引

第三种类型的数据改进了数据库的性能和可访问性,这种数据经常称作开销数据,尽管有时也采用其他类型的数据结构,如链表,但它主要还是索引。索引可以用来排序和快速访问数据。

五、数据

1、创建数据库

数据库模式定义了数据库的结构、表、关系、域和业务规则。数据库模式是一种设计,数据库和应用正是建立在此基础上的。

域是一列可能拥有的值的集合。必须为每一个表的每一列确定域。除了数据的物理格式外,还需要确定是否有些域对表来说是唯一的。

数据库模式的最后一个要素是业务规则,它是对需要反映在数据库和数据库应用程序中的业务活动的约束。业务规则是模式的一个重要部分,因为他们指定了无论什么数据变化到达DBMS引擎,允许的数据值必须满足的约束。不管无效的数据变化请求是来自窗体的用户、查询/修改请求还是应用程序DBMS都应该拒绝。遗憾的是,不同的DBMS产品用不同的方法实施业务规则。在某些情况下,DBMS产品不具备实施必要业务规则的能力,必须以代码形式把它们编入应用程序。

2、数据库创建语句

图书管理系统在SQL Server 20## 数据库中的创建代码:

1. 创建数据库

create database Library

2.创建表

(1)创建管理员(admin)信息表

create table admin

(

admin_id               varchar(5)   not null ,

admin_name         varchar(10)  not null,

admin_sex           varchar(2)      not null,

admin_zhiwei        varchar(10)  not null

admin_pwd           varchar(16)  not null

admin_img       varchar(16)  not null

)

Go

(2)创建读者(reader)信息表

create table reader

(

book_zuozhe       varchar(16)   not null,

reader_pwd     varchar(16)  not null,

reader_name     varchar(8)  not null,

reader_sex     varchar(2)    not null,

reader_xi      varchar(30)   not null,    

reader_class    varchar(30)   not null,

reader_dianhua  varchar(20)   not null,

reader_img        varchar(20)

)

(3)创建图书(book)信息表

create table book

(

book_index      varchar(20) not null,

book_name       varchar(30)  not null,

book_zuozhe varchar(30)  not null,

book_leibie varchar(20)  not null,

book_chubanshe  varchar(30)  not null,

book_jiage      double not null,,

book_weizhi varchar(10)  not null,

book_yunxujieyueshijian int     not null,

book_jianjie    varchar(100)  not null,

)

(4)创建借阅(library)信息表

create table library

(

reader_id              varchar(16)  not null ,

book_index     varchar(20)  not null,

start_time          datatime        not null,

end_time        datatime  not null

admin_id            varchar(5)  not null

)

Go

3.创建表的约束

(1)创建管理员(admin)信息表的约束

alter table admin

add constraint PK_admin primary key(admin_id),

    constraint CK_adminSex check(adminSex in ('男','女'))

(2)创建读者(reader)信息表的约束

alter table reader

add constraint PK_reader primary key(reader_id),

constraint FK_reader foreign key(admin_id) references admin(admin_id),

     constraint CK_readerSex check(readerSex in ('男','女')),

go

(3)创建图书(book)信息表的约束

alter table book

    add constraint PK_book primary key(book_index),

    constraint FK_book foreign key(admin_id) references admin(admin_id),

go

(4)创建借阅(library)信息表的约束

alter table library

add constraint PK_library primary key(book_index),

add constraint PK_reader primary key(reader_id),

add constraint PK_reader primary key(strat_time),

constraint FK_library foreign key(admin_id) references admin(admin),

constraint FK_library foreign key(book_index) references book(book_index),

constraint FK_library foreign key(reader_id) references reader(reader_id),

go

3、图书馆管理系统E-R

 


图7

4、图书馆管理系统数据表清单

下面我们仅列出一些重要表的属性及其参数参考。如下表所示。

表4-1 图书馆管理系统数据表清单

1)表名:book表

输出数据:图书信息

数据组成:图书索引  书名    作者    所属类别    出版社  单价    图书位置    允许借阅时间(天)    简介    封面    图书管理员  上架时间

存储方式:主键(book_index),外键(admin_id)

2)表名:reader表

输出数据:读者信息

数据组成:读者ID    密码    姓名    性别    院(系)  班级    电话    照片    读者管理员ID

存储方式:主键(reader_ID), 外键(admin_id)

3)表名:library表

输出数据:图书借阅信息

数据组成:读者ID    图书索引    借阅时间    归还时间    借还管理员

存储方式:主键(book_index、reader_ID、start_time),外键(admin_ID、 reader_ID、book_index)

4)表名:admin表    输出数据:管理员信息

数据组成:管理员ID  管理员密码  姓名    性别    职位    照片

存储方式:主键(admin_ID)

第四章  图书管理系统的功能实现

一、登陆界面编码设计

本窗体集成了”登录”模块,因此在系统加载时,需要先启动”登录”模块的登录窗体,只有当用户输入了正确的用户名和密码,才能进入到系统主界面。

“登录”窗体运行界面,如图:

二、读者管理界面编码设计

通过DataCombol控件连接到数据库的dbl基础数据表,用DATA GRID控件,将它的各列显示出数据库的各列,属性设为可写,连接到数据库。

用Text 控件来显示所输入的内容,单击“保存“按钮后就可以保存到数据库中,通过ADO控件来浏览记录。

实现读者资料登记的添加、删除、修改功能。

读者信息管理界面如图:

三、图书管理界面编码设计

通过ADO控件连接到数据库,用DATA GRID控件,将它的各列显示出数据库的各种类型,其类型有:计算机、电子、电工、物理、小说。用户可以通过此窗体来添加或删除类型。次窗体连接到借书窗体。

图书管理界面如图:

  

四、借阅信息管理界面编码设计

次窗体主要用于借书功能,还可以显示借阅者的具体信息,以便于确认借阅者的正确身份。通过ADO控件连接到数据库,用DATA GRID控件,将它的各列显示出所有读者的编号和姓名。次窗体主要用于借书操作。

第五章  结论与体会

经过一周的努力,我们的图书管理系统终于如期完成了。通过这次课程设计,我又了解以及掌握到了很多的知识,现在对一个具体的功能模块有了全方面的认识,脑海中有了一个整体框架的概念。本次课程设计感触很深,其一,就是有了一个利用本专业所学到的知识,来练习,实践的机会。以前我也学了C语言、JAVA、.net等编程语言,但那时我做的仅是用一些零零碎碎的知识,简简单单的语句来解决一些小问题而已。此次做图书管理系统却给了我一个机会,一个需要将所学到的有关数据库,管理信息系统以及.net编程三方面的所有的知识结合起来。

其二,就是增强了自己的自信心。以前老是认为自己做不到,完全没有信息,本次做课程设计我虽然只是协助我的组员,但是我也有自己的构思和想法,帮组我的组员更好的完成本次图书管理系统的设计。

我们的系统规模比较小同时由于我们的时间和能力等多方面的因素影响,我们的系统也存在一定的缺陷。比如系统的有些功能没有考虑到,有的功能不够完善等,有了此次实践,以后遇到同样的问题就能够做的更好。

总之,本次课程设计是对自己以前所学的知识进行系统的综合、升华,自己受益匪浅。

参考文献

《数据库系统概论》(第三版)——王珊等 北京:高等教育出版社,2003。

《需求工程》—— 韩柯译     清华大学出版社

《软件工程导论》——张海藩  编著    清华大学出版社

《软件工程》 ——  张海藩  编著 清华大学出版社

《数据库系统概论》 ——  萨师煊  王 珊  编著 高等教育出版社 。

王晟 韩泽坤,《Access数据库开发经典案例解析》,清华大学出版社。

王毅.《ASP.NET高级编程》. 北京:清华大学出版社, 2006

相关推荐