图书馆管理系统课程设计刘贤生3507软件测试.docx

上传人:b****8 文档编号:10451826 上传时间:2023-02-11 格式:DOCX 页数:43 大小:2.25MB
下载 相关 举报
图书馆管理系统课程设计刘贤生3507软件测试.docx_第1页
第1页 / 共43页
图书馆管理系统课程设计刘贤生3507软件测试.docx_第2页
第2页 / 共43页
图书馆管理系统课程设计刘贤生3507软件测试.docx_第3页
第3页 / 共43页
图书馆管理系统课程设计刘贤生3507软件测试.docx_第4页
第4页 / 共43页
图书馆管理系统课程设计刘贤生3507软件测试.docx_第5页
第5页 / 共43页
点击查看更多>>
下载资源
资源描述

图书馆管理系统课程设计刘贤生3507软件测试.docx

《图书馆管理系统课程设计刘贤生3507软件测试.docx》由会员分享,可在线阅读,更多相关《图书馆管理系统课程设计刘贤生3507软件测试.docx(43页珍藏版)》请在冰豆网上搜索。

图书馆管理系统课程设计刘贤生3507软件测试.docx

图书馆管理系统课程设计刘贤生3507软件测试

苏州市职业大学

课程设计说明书

名称图书馆管理系统课程设计 

      

2008年12月15日至2008年12月19日共一周

院 系计算机工程系

班级07软件测试

姓名刘贤生

系 主 任李金祥

教研室主任叶良

指导教师程媛、朱敏

 

苏州市职业大学

课程设计任务书

课程名称:

SQLServer

起讫时间:

08年12月15日至08年12月19日

院系:

计算机工程系

班  级:

07软件测试

指导教师:

程媛、朱敏

系主任:

李金祥

一、课程设计课题

二、课程设计要求

课程设计要求学生以数据库原理为指导,在SQLServer2000和C#.NET的环境下开发一个小型关系数据库应用系统。

具体要求:

1、按照数据库设计理论要求的方法、步骤完成系统的开发。

2、程序要求

在开发环境下独立设计、编程开发一个完整的数据库应用软件,具体要求如下:

1)程序至少包括10个窗体,并且有不少于5个独立的程序功能模块。

所谓功能模块,指用于处理数据库中数据的窗体或报表。

2)程序中必须含有对数据库中数据进行编辑(包括增加、修改、删除记录)、查询、统计等功能。

3)程序中必须有不少于200行的自行编写并有实际意义的代码。

4)软件界面美观大方,操作简洁易用,功能完备可靠。

3、数据库文件必须在三个以上,功能模块必须在四个以上。

4、掌握小型系统开发、设计、调试的基本功能。

5、培养软件文档的编写。

6、设计结果

(1)程序源文件(光盘)

(2)设计报告(打印装订成册)

三、课程设计工作量

1、数据库库设计部分:

2、WIN程序设计部分:

四、课程设计说明书内容(有指导书的可省略)

设计报告中必须包含:

(1)需求分析、数据分析

(3)系统总体结构设计

(4)系统设计中关键技术说明(关键技术使用代码说明)

1.1图书馆管理系统需求分析

一般通用的图书馆管理系统包括系统管理、读者管理、编目、图书流通、统计、查询等功能。

比较先进的能够在一个界面下实现图书、音像、期刊的管理,设置假期、设置暂离锁(提高安全性)、暂停某些读者的借阅权、导入导出读者、交换MARC数据、升级辅助编目库等。

此外随着Internet应用的发展,一个完善的系统还应该提供无缝接入Internet的功能,通过IE浏览器让读者使用借阅资料查询、更换密码、预约、资料检索等功能。

有些系统还能提供读者自助服务,可以开放一些客户机让读者自行管理密码、查询自己的借阅史、预约资料、检索资料等。

下面介绍我设计的图书馆管理系统所必备的功能,其中每一个功能模块都由若干相关联的子功能模块组成。

除此之外系统还应该包括信息系统必须具备的通用功能,例如权限设置、数据备份与恢复等。

系统功能如图1—1所示。

1.1.1读者管理

“读者管理”功能模块用于管理读者相关的信息,包含的子功能模块如图所示。

图1—2:

“读者管理“功能模块

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

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

1.1.2图书管理

“图书管理“功能模块用于管理图书的相关信息,包含的功能模块如图所示。

“图书类别设置“用于设置图书的类型及相关的信息,内容包括类型名称、可借天数等。

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

1.1.3流通管理

“流通管理“功能模块用于管理图书流通环节相关的操作,包含子功能模块如图所示。

“图书征订“用于登记读者在图书馆征订图书,征订内容包括征订编号、图书编号、图书名称、订购者、操作员、订购单价、订购数量等。

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

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

“逾期清单“用于登记读者预期归还的图书或未归还的图书,登记内容包括借阅编号、姓名、读者编号、图书编号、书名、节约时间、应还时间、续借次数等。

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

1.1.4退出系统

“退出系统“功能模块用于管理员在对图书馆管理系统进行所有操作结束后,退出图书馆管理系统。

1.2图书馆管理系统数据分析

1.2.1图书馆管理系统E-R图

因为整个系统涉及的实体和属性较多,限于篇幅不能一一列举。

在此只列出图书馆管理系统关键实体的E-R图,如图1—5所示。

图书借阅

PK

借阅编号

FK1

图书编号

读者编号

、、、

操作员

图书征订

PK

征订编号

FK1

图书编号

订购者

订购数量

订购单价

、、、

操作员

读者信息

PK

编号

条形码

姓名

性别

类型

、、、

是否挂失

 

图书信息

PK

编号

条形码

书名

、、、

是否注销

图书罚款

PK

罚款编号

FK2

FK1

图书编号

、、、

备注

图书注销

PK

注销编号

FK1

图书编号

、、、

操作员

图书归还

PK

归还编号

FK1

图书编号

、、、

操作员

图1—5:

图书馆管理系统E-R图

1.2.2图书馆管理系统表清单(如图1—6所示)

表名称

表用途

出版社

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

读者类型

保存读者类型及相关信息

读者信息

保存读者的各种信息

供应商

保存图书供应商信息

管理员

保存用户信息

期刊丢失

保存期刊丢失记录

期刊罚款

保存期刊罚款记录

期刊归还

保存期刊归还记录

期刊借阅

保存期刊借阅记录

期刊类型

保存期刊类型及相关信息

期刊征订

保存期刊征订入库记录

期刊注销

保存期刊注销记录

图书丢失

保存图书丢失记录

图书罚款

保存图书罚款记录

图书归还

保存图书归还记录

图书借阅

保存图书借阅记录

图书类型

保存图书类型及相关信息

图书信息

保存图书信息

图书征订

保存图书征订入库记录

图书注销

保存图书注销记录

、、、

、、、

、、、

、、、

、、、

、、、

图1—5:

图书管理系统表清单

1.3系统总体结构设计

基于以上需求分析和数据库分析,我们可以对我制作的图书馆管理系统有了一个全面的认识。

下面具体分析使用C#.NET和SQLServer数据库开发系统的具体流程。

1.3.1具体功能

图书馆管理系统具体功能的实现如图1—6所示。

 

1.3.2系统流程图

系统流程图如图1—7所示。

1.4数据库设计

1.4.1创建数据库

打开SQLServer企业管理器,新建一个数据库,并且命名为libbook。

并且利用完成的脚本代码创建数据库对象,完成数据库的设计,然后将数据库附加到SQLServer企业管理器供我用C#.NET设计的图书馆管理系统调用。

1.4.2创建“读者信息”表

创建“读者信息”表的SQL脚本如下:

CREATETABLE[dbo].[读者信息](

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

[编号][varchar](20)NOTNULL,

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

[性别][varchar](8)NULL,

[类型][varchar](20)NOTNULL,

[出生日期][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

1.4.3创建“读者类型”表

创建“读者类型”表的SQL脚本如下:

CREATETABLE[dbo].[读者类型](

[类型][varchar](20)NOTNULL,

[图书册书][smallint]NULL,

[期刊册书][smallint]NULL,

[续借次数][int]NULL,

[限制图书][bit]NULL,

[限制期刊][bit]NULL

)ON[PRIMARY]

GO

1.4.4创建“图书借阅”表

创建“图书借阅”表SQL脚本如下:

CREATETABLE[dbo].[图书借阅](

[借阅编号][int]IDENTITY(1,1)NOTNULL,

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

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

[借阅时间][smalldatetime]NULL,

[应还时间][smalldatetime]NULL,

[续借次数][int]NULL,

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

[状态][varchar](10)NULL

)ON[PRIMARY]

GO

1.4.5创建“图书信息”表

创建“图书信息”表SQL脚本如下:

CREATETABLE[dbo].[图书信息](

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

[编号][varchar](50)NOTNULL,

[书名][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]NOTNULL

)ON[PRIMARY]

GO

1.4.6创建“图书归还”表

创建“图书归还”表SQL脚本如下:

CREATETABLE[dbo].[图书归还](

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

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

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

[退还押金][money]NULL,

[归还时间][smalldatetime]NULL,

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

[确定归还][bit]NULL

)ON[PRIMARY]

GO

1.4.7创建“图书征订”表

创建“图书征订”表SQL脚本如下:

CREATETABLE[dbo].[图书征订](

[征订编号][varchar](50)NOTNULL,

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

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

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

[订购数量][int]NULL,

[订购单价][money]NULL,

[订购日期][smalldatetime]NULL,

[是否验收][bit]NULL,

[验收日期][smalldatetime]NULL,

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

)ON[PRIMARY]

GO

1.4.8创建“图书类型”表

创建“图书类型”表SQL脚本如下:

CREATETABLE[dbo].[图书类型](

[类型编号][varchar](50)NOTNULL,

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

[可借天数][int]NULL

)ON[PRIMARY]

GO

1.4.9创建“图书罚款”表

创建“图书罚款”表SQL脚本如下:

CREATETABLE[dbo].[图书罚款](

[罚款编号][int]IDENTITY(1,1)NOTNULL,

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

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

[罚款日期][smalldatetime]NULL,

[应罚金额][money]NULL,

[实收金额][money]NULL,

[是否交款][bit]NULL,

[备注][varchar](100)NULL

)ON[PRIMARY]

GO

1.4.10创建主键及外键等表约束

在查询分析器中通过如下代码创建表的主键及外键等表约束。

--主键、外键关联字段

ALTERTABLE[dbo].[读者信息]WITHNOCHECKADD

CONSTRAINT[PK_读者信息]PRIMARYKEYCLUSTERED

[编号]

)ON[PRIMARY]

GO

ALTERTABLE[dbo].[读者类型]WITHNOCHECKADD

CONSTRAINT[PK_读者类型]PRIMARYKEYCLUSTERED

[类型]

)ON[PRIMARY]

GO

ALTERTABLE[dbo].[图书征订]ADD

CONSTRAINT[DF_图书征订_是否验收]DEFAULT(0)FOR[是否验收]

GO

ALTERTABLE[dbo].[图书丢失]ADD

CONSTRAINT[图书丢失_图书编号_fk]FOREIGNKEY

[图书编号]

)REFERENCES[dbo].[图书信息](

[编号]

GO

ALTERTABLE[dbo].[图书借阅]ADD

CONSTRAINT[图书借阅_图书编号_fk]FOREIGNKEY

[图书编号]

)REFERENCES[dbo].[图书信息](

[编号]

GO

ALTERTABLE[dbo].[图书归还]ADD

CONSTRAINT[图书归还_图书编号_fk]FOREIGNKEY

[图书编号]

)REFERENCES[dbo].[图书信息](

[编号]

GO

ALTERTABLE[dbo].[图书征订]ADD

CONSTRAINT[FK_图书征订_图书信息]FOREIGNKEY

[图书编号]

)REFERENCES[dbo].[图书信息](

[编号]

GO

ALTERTABLE[dbo].[图书注销]ADD

CONSTRAINT[图书注销_图书编号_fk]FOREIGNKEY

[图书编号]

)REFERENCES[dbo].[图书信息](

[编号]

GO

ALTERTABLE[dbo].[图书罚款]ADD

CONSTRAINT[FK_图书罚款_读者信息]FOREIGNKEY

[读者编号]

)REFERENCES[dbo].[读者信息](

[编号]

),

CONSTRAINT[FK_图书罚款_图书信息]FOREIGNKEY

[图书编号]

)REFERENCES[dbo].[图书信息](

[编号]

GO

ALTERTABLE[dbo].[出版社]WITHNOCHECKADD

CONSTRAINT[PK_出版社]PRIMARYKEYCLUSTERED

[出版社编号]

)ON[PRIMARY]

GO

ALTERTABLE[dbo].[图书丢失]WITHNOCHECKADD

CONSTRAINT[PK_图书丢失]PRIMARYKEYCLUSTERED

[丢失编号]

)ON[PRIMARY]

GO

ALTERTABLE[dbo].[图书信息]WITHNOCHECKADD

CONSTRAINT[PK_图书信息]PRIMARYKEYCLUSTERED

[编号]

)ON[PRIMARY]

GO

ALTERTABLE[dbo].[图书借阅]WITHNOCHECKADD

CONSTRAINT[PK_图书借阅]PRIMARYKEYCLUSTERED

[借阅编号]

)ON[PRIMARY]

GO

ALTERTABLE[dbo].[图书归还]WITHNOCHECKADD

CONSTRAINT[PK_图书归还]PRIMARYKEYCLUSTERED

[归还编号]

)ON[PRIMARY]

GO

ALTERTABLE[dbo].[图书征订]WITHNOCHECKADD

CONSTRAINT[PK_图书征订]PRIMARYKEYCLUSTERED

[征订编号]

)ON[PRIMARY]

GO

ALTERTABLE[dbo].[图书注销]WITHNOCHECKADD

CONSTRAINT[PK_图书注销]PRIMARYKEYCLUSTERED

[注销编号]

)ON[PRIMARY]

GO

ALTERTABLE[dbo].[图书类型]WITHNOCHECKADD

CONSTRAINT[PK_图书类型]PRIMARYKEYCLUSTERED

[类型编号]

)ON[PRIMARY]

GO

ALTERTABLE[dbo].[图书罚款]WITHNOCHECKADD

CONSTRAINT[PK_图书罚款]PRIMARYKEYCLUSTERED

[罚款编号]

)ON[PRIMARY]

GO

ALTERTABLE[dbo].[读者信息]ADD

CONSTRAINT[FK_读者信息_读者类型]FOREIGNKEY

[类型]

)REFERENCES[dbo].[读者类型](

[类型]

GO

SETQUOTED_IDENTIFIERON

GO

SETANSI_NULLSON

GO

1.4.11创建存储过程

系统使用了“sf_图书借阅”、“sf_图书归还”、“sf_图书征订”3各存储过程,实现的功能分别为征订图书入库、借阅图书入库和归还图书入库,产生罚款信息等功能。

具体计算方法在下面的脚本中有详细的注释,我们可以参考以下注释了解其重要功能。

createprocsf_图书借阅

as

begintran

--借书出库,减少图书库存量

update图书信息set现存量=isnull(现存量,0)-1

from图书信息asa,图书借阅asb

wherea.编号=b.图书编号andb.状态='新借'

--设置借阅状态

update图书借阅set续借次数=0,状态='未还'

where状态='新借'

commit

GO

SETQUOTED_IDENTIFIEROFF

GO

SETANSI_NULLSON

GO

SETQUOTED_IDENTIFIERON

GO

SETANSI_NULLSON

GO

createprocsf_图书归还@借阅编号int,@罚款金额money

as

begintran

--借书出库,减少图书库存量

update图书信息set现存量=isnull(现存量,0)+1

from图书信息asa,图书借阅asb

wherea.编号=b.图书编号andb.借阅编号=@借阅编号

--如果罚金不是0,在图书罚款中产生记录

if@罚款金额<>0

insertinto图书罚款(图书编号,读者编号,罚款日期,应罚金额,是否交款)

select图书编号,读者编号,getdate(),@罚款金额,0

from图书借阅where借阅编号=@借阅编号

--插入图书归还表

insertinto图书归还(图书编号,读者编号,归还时间)

select图书编号,读者编号,getdate()

from图书借阅where借阅编号=@借阅编号

--设置借阅状态

update图书借阅set状态='已还'where借阅编号=@借阅编号

commit

GO

SETQUOTED_IDENTIFIEROFF

GO

SETANSI_NULLSON

GO

SETQUOTED_IDENTIFIERON

GO

SETANSI_NULLSON

GO

createprocsf_图书征订

as

begintran

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

当前位置:首页 > 高等教育 > 管理学

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

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