上海应用技术学院课程设计报告课程名称信息系统综合课程设计设计题目图书馆管理系统姓名专业班级11104113 学号1110411333指导教师兰风日期2014-6-23 ~ 2013-7-11 成绩一、设计目的及要求通过三的课程设计,要求学生加深对信息系统和数据库技术相关理论的理解,增强动手能力,掌握使用现行较为流行的数据库理论和数据库开发工具进行管理信息系统设计(如前台界面和后台对数据库中数据进行查询,更改等操作)的法;具体应用面,要求学生对SQL语言要有较深入的了解和掌握,对数据库的管理要有一定程度的了解二、课程设计容说明1.需求分析需求分析简单的说就是分析用户的要求。
需求分析是涉及数据库的起点,需求分析的结果是否准确地反映了用户的实际要求,将直接影响到后面各个阶段的设计,并影响到设计的结果是否合理和实用。
1.1需求分析阶段的目标(1) 了解图书馆管理的基本容;(2) 综合理解图书馆管理员和借书者的不同需求;(3) 了解图书馆管理的基本业务流程;(4) 了解图书馆人工管理模式与信息系统的工作概况,以及它们之间的区别与联系;(5) 通过自身的体验和与主管图书馆的老师的交流,了解用户图书馆管理系统的业务要求,完整性和安全性要求。
1.2需求分析阶段的任务图书馆管理系统包括系统管理、读者管理、编目、图书流通、统计、查询等功能。
能够在一个界面下实现图书、音像、期刊的管理。
设置假期、设置暂离锁(提高安全性)、暂停某些读者的借阅权,导入导出读者,交换MARC数据、升级辅助编目库等。
此外随着internet应用的发展,一个完善的系统还应提供无缝接入internet的功能,通过IE 浏览器让读者使用借阅资料查询、更换密码、预约、资料检索等功能。
系统还提供读者自助服务、可以开放一些客户机让读者自行管理密码、查询自己的借阅史、预约资料、检索资料等。
下面我们介绍图书管理系统所必备的功能,如图1.1所示,其中每个功能都是由若干相关联的子功能组成。
除此之外系统还应包括信息系统必须具备的通用功能。
如权限设置,数据备份与恢复等。
图1.11.2.1基础信息维护基础信息维护用于对图书馆信息、书籍信息、常用词库等等项目进行初始化设置,这些设置一般不轻易改动,包含功能模块如图1.2所示。
图1.21.2.2 读者管理读者管理用于管理读者相关信息包含的功能模块如图1.3所示。
图1.31.2.3 图书管理读者管理用于管理图书相关信息,包含的功能模块如图1.4所示。
图1.41.2.4 期刊管理期刊管理用于管理期刊相关信息,包含的功能模块如图1.5所示。
图1.51.2.5 图书流通管理图书流通管理用于管理图书流通环节相关操作,包含如图1.6所示功能模块。
图1.61.2.6 期刊流通管理期刊流通管理实现的功能和图书流通管理是一致的,知识管理的对象是期刊,包含的功能模块如图1.7所示。
图1.71.2.7 统计分析管理统计分析管理为图书馆管理人员的分析决策提供依据,包含的功能模块如图1.8所示。
图1.82. 总体设计2.1 图书馆管理系统数据库分析根据与上需求,一个基本的图书馆管理系统数据库致包括40多数据表,分别存放了子功能的数据信息,其中图书信息和读者信息是关键表,图书管理系统实际是对读者和文献的管理。
其他设计读者信息和文献的数据表,都只记录相应编号,根据作为外键的“编号”字段相对应。
因此“读者信息“、”图书信息“和其他数据表之间的关系是1:N的关系。
2.1.1 开发思想基于以上系统设计目标,本文在开发人事管理信息系统时遵循了以下开发设计思想(1)采用现有的软硬件环境及先进的管理系统开发案,从而达到充分利用现有资源,提高系统开发水平和应用效果的目的。
(2)尽量达到操作过程中的直观、便、实用、安全等要求。
(3)系统采用C/S体系结构,Clinet(客户端)负责提供表达逻辑、显示用户界面信息、访问数据库服务器;Server(服务器端)则用于提供数据服务。
(4)系统采用模块化程序设计法,既便于系统功能的各种组合和修改,又便于未参与开发的技术维护人员补充、维护。
(5)系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作2.2图书馆管理系统E-R图(概念结构设计)因为整个系统涉及的实体和属性较多,限于篇幅不能也没有必要一一举例。
如图2.1为图书馆管理系统关键实体的E-R图。
2.3数据库逻辑结构设计概念结构是独立于实际数据模型的信息结构,必须将其转化为逻辑结构后才能进行数据库应用的设计。
也就是要将概念上的结构转化为BP数据库系统所支持的实际数据模型。
2.3.1 逻辑结构设计根据需求分析进行数据库设计,数据库名称为libbook,由于表比较多,所以在此只列举几关键表(用户清单表、读者信息表、图书信息表、图书借阅表)(1)用户表存放用户账号的信息,一个用户可以对应一个账户,包括用户姓名、密码、用户编号和用户性别。
通过用户表查阅用户权限和用户编号,判断是否是管理员,是否拥有修改图书和用户信息的权限。
(2)图书信息表里每条记录都是一本书,包括图书名称、编号、条形码、图书类型、作者、译者、ISBN、出版社、价格、页码、书架名、现存量、库存总数、入库时间、操作员、简介和借出总数。
通过图书信息表可以获取图书信息。
(3)读者信息表每条记录都包含该读者的基本登记信息及借阅情况,包括条形码、编号、姓名、性别、类型、出生日期、有效证件、证件、联系式、登记日期、有限期至、操作员、备注、图书借阅次数、期刊借阅次数、是否挂失。
(4)图书借阅表记录用户借阅图书的信息,包括借阅编号、图书编号、借阅时间、读者编号、应还时间、续借次数、操作员、状态。
通过图书借阅信息表可以获取图书借阅的信息。
2.3.2 图书馆管理系统数据表清单表2.1数据表清单数据表名称数据表用途保存图书对出版社的基础信息读者类型保存读者类型及相关信息读者信息保存读者的各种信息供应商保存图书供应商信息管理员保存用户信息期刊丢失保存期刊丢失记录期刊罚款保存期刊罚款记录期刊归还保存期刊归还记录期刊借阅保存期刊借阅记录期刊类型保存期刊类型及相关信息期刊信息保存期刊信息期刊征订保存期刊征订入库记录期刊注销保存期刊注销记录书架保存图书馆数据的基础信息图书丢失保存图书丢失记录图书罚款保存图书罚款记录图书馆保存图书馆的基础信息图书归还保存图书归还记录图书借阅保存图书借阅记录图书类型保存图书类型及相关信息图书信息保存图书信息图书征订保存图书征订入库记录图书注销保存图书注销记录文献尺寸保存文献(包括图书或期刊)的尺寸基础信息文献等级保存文献(包括图书或期刊)的等级基础信息文献附件保存文献(包括图书或期刊)的附件基础信息文献印刷保存文献(包括图书或期刊)的印刷基础信息文献语系保存文献(包括图书或期刊)的语系基础信息用户清单存放用户账号的信息2.4 功能结构介绍2.4.1功能由于篇幅有限,如图2.2所示简化各功能所包含的属性。
图2.2 总体结构图2.4.2 系统流程图图 2.3 系统流程图3.系统数据库设计及程序开发(详细设计)3.1 创建数据库(1)创建“读者信息”表CREATE TABLE [dbo].[读者信息] ([条形码] [varchar] (40) NULL ,[编号] [varchar] (20) NOT NULL ,[姓名] [varchar] (20) NULL ,[性别] [varchar] (8) NULL ,[类型] [varchar] (20) NOT NULL ,[出生日期] [smalldatetime] NULL ,[有效证件] [varchar] (60) NULL ,[证件] [varchar] (60) NULL ,[联系式] [varchar] (100) NULL ,[登记日期] [smalldatetime] NULL ,[有限期至] [smalldatetime] NULL ,[操作员] [varchar] (20) NULL ,[备注] [varchar] (100) NULL ,[图书借阅次数] [int] NULL ,[期刊借阅次数] [int] NULL ,[是否挂失] [bit] NULL) ON [PRIMARY]GO(2)创建“图书信息”表CREATE TABLE [dbo].[图书信息] ([条形码] [varchar] (40) NULL ,[编号] [varchar] (50) NOT NULL ,[书名] [varchar] (200) NULL ,[类型] [varchar] (100) NULL ,[作者] [varchar] (100) NULL ,[译者] [varchar] (100) NULL ,[ISBN] [varchar] (40) NULL ,[出版社] [varchar] (100) NULL ,[价格] [money] NULL ,[页码] [int] NULL ,[书架名称] [varchar] (200) NULL ,[现存量] [int] NULL ,[库存总量] [int] NULL ,[入库时间] [smalldatetime] NULL ,[操作员] [varchar] (20) NULL ,[简介] [varchar] (100) NULL ,[借出次数] [int] NULL ,[是否注销] [bit] NOT NULL) ON [PRIMARY]GO(3)创建“图书借阅表“CREATE TABLE [dbo].[图书借阅] ([借阅编号] [int] IDENTITY (1, 1) NOT NULL , [图书编号] [varchar] (50) NULL ,[读者编号] [varchar] (40) NULL ,[借阅时间] [smalldatetime] NULL ,[应还时间] [smalldatetime] NULL ,[续借次数] [int] NULL ,[操作员] [varchar] (20) NULL ,[状态] [varchar] (10) NULL) ON [PRIMARY]GO(5)创建其他关键表CREATE TABLE [dbo].[图书归还] ([归还编号] [int] IDENTITY (1, 1) NOT NULL , [图书编号] [varchar] (50) NULL ,[读者编号] [varchar] (40) NULL ,[退还押金] [money] NULL ,[归还时间] [smalldatetime] NULL ,[操作员] [varchar] (20) NULL ,[确定归还] [bit] NULL) ON [PRIMARY]GOCREATE TABLE [dbo].[图书征订] ([征订编号] [varchar] (50) NOT NULL ,[图书编号] [varchar] (50) NOT NULL ,[订购者] [varchar] (100) NULL ,[订购者联系式] [varchar] (100) NULL ,[订购数量] [int] NULL ,[订购单价] [money] NULL ,[订购日期] [smalldatetime] NULL ,[是否验收] [bit] NULL ,[验收日期] [smalldatetime] NULL ,[操作员] [varchar] (20) NULL) ON [PRIMARY]GOCREATE TABLE [dbo].[图书罚款] ([罚款编号] [int] IDENTITY (1, 1) NOT NULL , [图书编号] [varchar] (50) NULL ,[读者编号] [varchar] (20) NULL ,[罚款日期] [smalldatetime] NULL ,[应罚金额] [money] NULL ,[实收金额] [money] NULL ,[是否交款] [bit] NULL ,[备注] [varchar] (100) NULL) ON [PRIMARY]GO(5)创建主键及外键等表约束在查询分析器过代码创建表的主键及外键等表约束(代码见第四步)(6)创建存储过程系统使用了“sf_图书征订”、“sf_图书借阅”和“sf_图书归还”3个存储过程,实现的功能分别为征订图书入库、借阅图书出库和归还图书入库,产生罚款信息等功能。