Design1

Design1
Design1

系统设计书题目:图书馆管理系统

系别:计算机科学系专业班级:11计算机教育1班姓名:方盈

学号:111404104

指导教师:曾少宁

2013年11月25日

一.课程题目.................................................................................................... 错误!未定义书签。二.系统概述.. (4)

1.开发背景 (4)

2. 开发平台 (4)

3. 参考文献 (5)

4. 系统总框架 (5)

三.需求分析 (5)

1. 用户需求 (5)

2. 功能模块 (6)

2.1模块功能描述 (6)

3. 系统流程 (10)

四.数据库设计 (11)

1. 创建SQL表的建库脚本 (11)

2. 创建主键以及外键等表约束 (18)

3. 创建存储过程 (23)

五.逻辑结构设计 (25)

1. E-R图向关系模型转换的原则 (25)

2. 实体描述 (25)

3. 图书馆管理系统的E-R图 (26)

六.物理结构设计 (27)

1. 基本表 (27)

(1)“书架”表 (27)

(2)“供应商”表 (27)

(3)“出版社”表 (27)

(4)“图书丢失”表 (28)

(5)“图书信息”表 (28)

(6)“图书借阅”表 (29)

(7)“图书归还”表 (29)

(8)“图书征订”表 (29)

(9)“图书注销”表 (30)

(10)“图书类型”表 (31)

(11)“图书惩罚”表 (31)

(12)“图书馆”表 (31)

(13)“文献印刷”表 (31)

(14)“文献尺寸”表 (32)

(15)“文献等级”表 (33)

(16)“文献语系”表 (33)

(17)“文献附件”表 (33)

(18)“期刊丢失”表 (33)

(19)“期刊信息”表 (34)

(20)“期刊借阅”表 (34)

(21)“期刊归还”表 (35)

(22)“期刊征订”表 (35)

(23)“期刊注销”表 (35)

(24)“期刊类型”表 (36)

(25)“期刊罚款”表 (36)

(26)“管理员”表 (36)

(27)“读者信息”表 (37)

(28)“读者类型”表 (37)

2. 视图 (39)

3. 存储过程 (41)

七.界面设计 (44)

八.心得体会 (54)

一.课程题目

图书馆管理系统设计

二.系统概述

1.开发背景

图书管理是高校内每一个系部或院部都必须切实面对的工作,但一直以来人们使用传统的人工方式管理图书资料。这种方式存在着许多缺点,如:效率低、保密性差且较为繁琐。另外,随着图书资料数量的增加,其工作量也将大大增加,这必将增加图书资料管理者的工作量和劳动强度,这将给图书资料信息的查找、更新和维护都带来了很多困难。人工管理机制已经不能适应时代的发展,其管理方法将浪费许多人力和物力。随着科学技术的不断提高,这种传统手工管理方法必然被以计算机为基础的信息管理方法所取代。图书馆的信息化应从最初的对图书馆业务管理实行信息化发展到对图书馆各个业务流程进行系统和网络化管理,并建立大规模以个体文献目录联机查询为主的资源共享系统。进入21世纪,充分利用计算机网络和信息技术,逐步实现了不同载体的实体文献的信息化管理和多方位的联机查询。图书馆的信息化管理,就是将传统图书馆业务的手工操作转变成由计算机管理,即将图书馆的图书期刊、音像资料等各种载体文献的采编、典藏、流通、检索及常规业务管理等工作,利用计算机技术,进行高效、准确的信息化管理。其根本目的是实现区域及地区、国家、国际间的资源共享。要达到资源共享的目的,必须制定一定的标准,只有各个系统都遵循这些标准,不同的系统间才可以实现联机查询、资源共享的效果。

2.开发平台

开发环境:个人计算机

操作系统:Windows XP

DBMS:SQL Server2000

开发语言:C++

3.参考文献

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

《软件开发方法与管理教程》阮俊杰编著,北京希望电子出版社总策划,2003年版

4.系统总框架

三.需求分析

1.用户需求

一般通用的图书馆管理系统包括系统管理、读者管理、编目、图书流通、统计、查询等功能。比较先进的图书馆系统能够在一个界面下实现图书、音像、期刊的管理,设置假期、设置暂离锁(提高安全性)、暂停某些读者的借阅权、导入导出读者、交换MARC数据、升级辅助编目库等。此外随着Internet应用的发展,一个完善的系统还应提供无缝接入Internet的功能,通过IE浏览器让读者使用借阅资料查询、更换密码、预约、资料检索等功能。有些系统还能提供读者自助服务,可以开放一些客户机让读者自行管理密码、查询自己的借阅史、预约资料、检索资料等。

2.功能模块

根据用户需要,该软件必须具备以下几个功能。

2.1模块功能描述

读者管理部分:

·读者类型设置:用于设置读者的类型及相关信息,内容包括图书类型、图书册数、期刊册数、续借次数、限制图书、限制期刊等。

·读者档案管理:用于设置读者相关信息,内容包括编号、条形码、姓名、性别、类型、出生日期、有效证件、证件号码、联系方式、登记日期、有效期至、操作员、备注、图书借阅次数、期刊借阅次数、是否挂失等。

·借书证挂失与恢复:用于挂失和恢复读者的借书证,挂失后该编号的借书证不能再借书。

·过期续证管理:用于延续已过期的借书证。

·读者档案词库设置:用于设置读者档案常用的词库。

图书管理部分:

·图书类型设置:用于设置图书的类型及相关的信息,内容包括类型名称、可借

天数等。

·出版社设置:用于设置图书所属出版社的基本信息,内容包括出版社编号、ISBN、出版社名称等。

·图书档案管理:用于设置图书相关信息,内容包括编号、条形码、书名、类型、作者、译者、ISBN、出版社、价格、页码、书架名称、现存量、库存总量、入库时间、操作员、简介、借出次数、是否注销等。

·图书注销:用于注销报废图书,将图书档案的“是否注销”字段设置为1,被注销的图书不可以再借出。

·图书征订:用于订购新书,内容包括征订编号、书名、类型、ISBN、出版社、作者、译者、订购者、订购者联系方式、订购数量、订购单价、订购日期、是否验收、实际数量、实际金额、验收日期、操作员等。

·图书验收:用于征订的图书到货后验收,增加图书的库存。

·图书盘点:打印图书的在库清单供盘点使用。

期刊管理部分:

·“期刊管理”和“图书管理”的功能是一致的,只是期刊的档案内容和流通管理方式和图书有所区别。期刊档案的内容包括编号、条形码、期刊名、类型、统一刊号、邮件代号、编辑部、出版周期、所属年度、期号、总期号、价格、书架名称、现存量、库存总量、入库时间、操作员、简介、是否注销等。

图书流通管理部分:

·图书借阅:用于登录读者借阅图书的记录并减少图书的库存,登记内容包括借阅编号、图书编号、读者编号、押金、借阅时间、应还时间、操作员等。

·图书归还:用于登录读者归还图书的记录并增加图书在库的库存,登记内容包括归还编号、图书编号、读者编号、退还押金、归还时间、操作员等。

·图书续借:用于登记读者的到期图书续借记录。

·图书预约:用于登记读者的图书预约记录。

·图书丢失:用于报失图书,内容包括丢失编号、图书编号、读者编号、赔偿金额、操作时间、操作员等。

·图书罚款:用于对图书超期、丢失等情况的罚款管理,内容包括罚款编号、图书编号、读者编号、罚款日期、应罚金额、实收金额、是否交款、备注等。

期刊流通管理部分:

·“期刊流通管理”功能模块实现的功能和“图书流通管理”是一致的,只是管理的对象是期刊。

统计分析管理部分:

·“统计分析管理”功能模块为图书管理人员的分析决策提供依据,包括的子功能模块如下

3.系统流程

系统流程如下:

四.数据库设计

“读者信息”和“图书信息”是系统的关键表,其他各表均与这两张表通过“编号”字段相对应进行多对一的关联。系统共需要8张表,用途如表

表名称表用途

读者类型保存读者类型及相关信息

读者信息保存读者的各种信息

图书类型保存图书类型及相关信息

图书信息保存图书信息

书架保存图书馆内数据的基础信息

出版社保存图书对应出版社的基础信息

图书罚款保存图书罚款记录

图书归还保存图书归还记录

图书借阅保存图书借阅记录

图书征订保存图书征订入库记录

1.创建SQL表的建库脚本

CREATE TABLE [dbo].[书架] (

[编号] [varchar] (50) NOT NULL ,

[书架名称] [varchar] (200) NULL

) ON [PRIMARY]

GO

CREATE TABLE [dbo].[供应商] (

[Code] [varchar] (200) NULL

) ON [PRIMARY]

GO

CREATE TABLE [dbo].[出版社] (

[出版社编号] [int] NOT NULL ,

[ISBN] [varchar] (40) NULL ,

[出版社名称] [varchar] (200) NULL

) ON [PRIMARY]

GO

CREATE TABLE [dbo].[图书丢失] (

[丢失编号] [int] NOT NULL ,

[图书编号] [varchar] (50) NULL ,

[赔偿金额] [money] NULL ,

[操作时间] [smalldatetime] NULL ,

[操作员] [varchar] (20) NULL ,

[确定丢失] [bit] NULL

) ON [PRIMARY]

GO

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

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

CREATE TABLE [dbo].[图书归还] (

[归还编号] [int] IDENTITY (1, 1) NOT NULL ,

[读者编号] [varchar] (40) NULL ,

[退还押金] [money] NULL ,

[归还时间] [smalldatetime] NULL ,

[操作员] [varchar] (20) NULL ,

[确定归还] [bit] NULL

) ON [PRIMARY]

GO

CREATE 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]

GO

CREATE TABLE [dbo].[图书注销] (

[注销编号] [int] NOT NULL ,

[图书编号] [varchar] (50) NOT NULL ,

[注销数量] [int] NULL ,

[注销时间] [smalldatetime] NULL ,

[操作员] [varchar] (20) NULL ,

[确定注销] [bit] NULL

) ON [PRIMARY]

GO

CREATE TABLE [dbo].[图书类型] (

[类型编号] [varchar] (50) NOT NULL ,

[类型名称] [varchar] (100) NULL ,

[可借天数] [int] NULL

) ON [PRIMARY]

GO

CREATE 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

CREATE TABLE [dbo].[图书馆] (

[名称] [varchar] (200) NULL ,

[馆长] [char] (10) NULL ,

[负责人] [char] (10) NULL ,

[电话] [varchar] (30) NULL ,

[地址] [varchar] (200) NULL ,

[说明] [varchar] (200) NULL ,

[备注] [varchar] (200) NULL

) ON [PRIMARY]

GO

CREATE TABLE [dbo].[文献印刷] ( [Code] [varchar] (40) NULL

) ON [PRIMARY]

GO

CREATE TABLE [dbo].[文献尺寸] ( [Code] [varchar] (40) NULL

) ON [PRIMARY]

GO

CREATE TABLE [dbo].[文献等级] ( [Code] [varchar] (40) NULL

) ON [PRIMARY]

GO

CREATE TABLE [dbo].[文献语系] ( [Code] [varchar] (40) NULL

) ON [PRIMARY]

GO

CREATE TABLE [dbo].[文献附件] ( [Code] [varchar] (40) NULL

) ON [PRIMARY]

GO

CREATE TABLE [dbo].[期刊丢失] (

[丢失编号] [int] NOT NULL ,

[期刊编号] [varchar] (50) NULL ,

[读者编号] [varchar] (40) NULL ,

[赔偿金额] [money] NULL ,

[操作时间] [smalldatetime] NULL ,

[操作员] [varchar] (20) NULL

) ON [PRIMARY]

GO

CREATE TABLE [dbo].[期刊信息] (

[编号] [varchar] (50) NOT NULL ,

[条形码] [varchar] (40) NULL ,

[期刊名] [varchar] (200) NULL ,

[类型] [varchar] (100) NULL ,

[统一刊号] [varchar] (40) NULL ,

[邮发代号] [varchar] (40) NULL ,

[编辑部] [varchar] (200) NULL ,

[出版周期] [varchar] (40) NULL ,

[所属年度] [varchar] (8) NULL ,

[期号] [int] NOT NULL ,

[总期号] [int] NOT NULL ,

[价格] [money] NULL ,

[书架名称] [varchar] (200) NULL ,

[现存量] [int] NULL ,

[库存总量] [int] NULL ,

[入库时间] [smalldatetime] NULL ,

[操作员] [varchar] (20) NULL ,

[简介] [ntext] NULL ,

[借出次数] [int] NULL ,

[是否注销] [bit] NOT NULL

) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO

CREATE TABLE [dbo].[期刊借阅] (

[借阅编号] [int] NOT NULL ,

[期刊编号] [varchar] (40) NULL ,

[读者编号] [varchar] (40) NULL ,

[押金] [money] NULL ,

[借阅时间] [smalldatetime] NULL ,

[应还时间] [smalldatetime] NULL ,

[续借次数] [int] NULL ,

[操作员] [varchar] (20) NULL

) ON [PRIMARY]

GO

CREATE TABLE [dbo].[期刊归还] (

[归还编号] [int] NOT NULL ,

[期刊编号] [varchar] (40) NULL ,

[读者编号] [varchar] (40) NULL ,

[退还押金] [money] NULL ,

[归还时间] [smalldatetime] NULL ,

[操作员] [varchar] (20) NULL

) ON [PRIMARY]

GO

CREATE TABLE [dbo].[期刊征订] (

[征订编号] [varchar] (50) NOT NULL ,

[期刊名] [varchar] (200) NULL ,

[所属年度] [varchar] (8) NULL ,

[期号] [int] NOT NULL ,

[类型] [varchar] (100) NULL ,

[编辑部] [varchar] (200) NULL ,

[订购者] [varchar] (100) NULL ,

[订购者联系方式] [varchar] (100) NULL ,

[订购数量] [int] NULL ,

[订购金额] [money] NULL ,

[订购日期] [smalldatetime] NULL ,

[是否验收] [bit] NOT NULL ,

[实际金额] [money] NULL ,

[验收日期] [smalldatetime] NULL ,

[操作员] [varchar] (20) NULL

) ON [PRIMARY]

GO

CREATE TABLE [dbo].[期刊注销] (

[注销编号] [int] NOT NULL ,

[期刊编号] [varchar] (40) NULL ,

[注销数量] [int] NULL ,

[注销时间] [smalldatetime] NULL ,

[操作员] [varchar] (20) NULL

) ON [PRIMARY]

GO

CREATE TABLE [dbo].[期刊类型] (

[类型编号] [varchar] (50) NOT NULL ,

[类型名称] [varchar] (100) NULL ,

[可借天数] [int] NULL

) ON [PRIMARY]

GO

CREATE TABLE [dbo].[期刊罚款] ( [罚款编号] [int] NOT NULL ,

[期刊编号] [varchar] (50) NULL ,

[读者编号] [varchar] (20) NULL ,

[罚款日期] [smalldatetime] NULL ,

[应罚金额] [money] NULL ,

[实收金额] [money] NULL ,

[是否交款] [bit] NULL ,

[备注] [varchar] (100) NULL

) ON [PRIMARY]

GO

CREATE TABLE [dbo].[管理员] (

[编号] [varchar] (100) NULL ,

[名称] [varchar] (20) NULL ,

[密码] [varchar] (100) NULL ,

[图书管理] [bit] NOT NULL ,

[期刊管理] [bit] NOT NULL ,

[读者管理] [bit] NOT NULL ,

[图书借还] [bit] NOT NULL ,

[期刊借还] [bit] NOT NULL ,

[系统设置] [bit] NOT NULL ,

[系统查询] [bit] NOT NULL ,

[排行榜] [bit] NOT NULL ,

[系统维护] [bit] NOT NULL

) ON [PRIMARY]

GO

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

CREATE TABLE [dbo].[读者类型] (

[类型] [varchar] (20) NOT NULL ,

[图书册书] [smallint] NULL ,

[期刊册书] [smallint] NULL ,

[续借次数] [int] NULL ,

[限制图书] [bit] NULL ,

[限制期刊] [bit] NULL

) ON [PRIMARY]

GO

2.创建主键以及外键等表约束

ALTER TABLE [dbo].[书架] WITH NOCHECK ADD

CONSTRAINT [PK_书架] PRIMARY KEY CLUSTERED

(

[编号]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[出版社] WITH NOCHECK ADD

CONSTRAINT [PK_出版社] PRIMARY KEY CLUSTERED

(

[出版社编号]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[图书丢失] WITH NOCHECK ADD CONSTRAINT [PK_图书丢失] PRIMARY KEY CLUSTERED (

[丢失编号]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[图书信息] WITH NOCHECK ADD CONSTRAINT [PK_图书信息] PRIMARY KEY CLUSTERED (

[编号]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[图书借阅] WITH NOCHECK ADD CONSTRAINT [PK_图书借阅] PRIMARY KEY CLUSTERED (

[借阅编号]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[图书归还] WITH NOCHECK ADD CONSTRAINT [PK_图书归还] PRIMARY KEY CLUSTERED (

[归还编号]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[图书征订] WITH NOCHECK ADD CONSTRAINT [PK_图书征订] PRIMARY KEY CLUSTERED (

[征订编号]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[图书注销] WITH NOCHECK ADD CONSTRAINT [PK_图书注销] PRIMARY KEY CLUSTERED (

[注销编号]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[图书类型] WITH NOCHECK ADD CONSTRAINT [PK_图书类型] PRIMARY KEY CLUSTERED (

[类型编号]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[图书罚款] WITH NOCHECK ADD CONSTRAINT [PK_图书罚款] PRIMARY KEY CLUSTERED (

[罚款编号]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[期刊丢失] WITH NOCHECK ADD CONSTRAINT [PK_期刊丢失] PRIMARY KEY CLUSTERED (

[丢失编号]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[期刊信息] WITH NOCHECK ADD CONSTRAINT [PK_期刊信息] PRIMARY KEY CLUSTERED (

[编号]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[期刊借阅] WITH NOCHECK ADD CONSTRAINT [PK_期刊借阅] PRIMARY KEY CLUSTERED (

[借阅编号]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[期刊归还] WITH NOCHECK ADD CONSTRAINT [PK_期刊归还] PRIMARY KEY CLUSTERED (

[归还编号]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[期刊征订] WITH NOCHECK ADD CONSTRAINT [PK_期刊征订] PRIMARY KEY CLUSTERED (

[征订编号]

) ON [PRIMARY]

GO

ALTER TABLE [dbo].[期刊注销] WITH NOCHECK ADD CONSTRAINT [PK_期刊注销] PRIMARY KEY CLUSTERED (

[注销编号]

) ON [PRIMARY]

GO

相关主题
相关文档
最新文档