图书馆管理系统MIS课程设计.docx

上传人:b****6 文档编号:5677571 上传时间:2022-12-31 格式:DOCX 页数:20 大小:292.38KB
下载 相关 举报
图书馆管理系统MIS课程设计.docx_第1页
第1页 / 共20页
图书馆管理系统MIS课程设计.docx_第2页
第2页 / 共20页
图书馆管理系统MIS课程设计.docx_第3页
第3页 / 共20页
图书馆管理系统MIS课程设计.docx_第4页
第4页 / 共20页
图书馆管理系统MIS课程设计.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

图书馆管理系统MIS课程设计.docx

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

图书馆管理系统MIS课程设计.docx

图书馆管理系统MIS课程设计

经济管理学院(信息管理与信息系统)专业

 

MIS课程设计

(2015—2016学年)

 

设计名称:

图书馆管理系统

────────────

        班级:

信息管理与信息系统11402

────────────

姓名:

───────────────────────

───────────

指导教师:

信管教研室

─────────

成绩:

─────────

序号:

─────────

 

2015年6月29日

 

 

图书馆管理系统

摘要

 图书馆管理系统是采用powerbuilder作为开发工具,然后与pb自带的数据库相连接,本系统提供4个功能模块,分别是图书类别管理模块、图书借还模块、个人中心模块以及系统帮助模块。

这4个模块里又有许多子模块,例如个人中心模块中又有借书证申请与借书证销毁等子模块,通过这些模块之间的相互连接与配合,完成操作员发出的各种指令。

关键词:

图书馆管理系统,anywhere数据库,powerbuilder

1概述

1.1选题背景

随着学校的规模不断扩大,图书数量急剧增加,有关图书的各种信息量也成倍增长。

面对庞大的信息量,就需要建立图书管理系统来提高图书管理员工作的效率。

目的:

通过这样的系统,可以做到信息的规范管理、科学统计和快速查询,从而减少管理方面的工作量。

意义:

能够充分利用现代科技来提高图书管理的效率,在原有的办公系统基础上进行扩展,将一些可以用计算机来管理的都进行计算机化,使得图书馆管理人员工作更加方便,工作效率也更加的高

1.2需求分析

图书馆管理系统是一个高度集成的图书信息处理系统,通过将图书馆的各种功能进行整合,从而达到显示检索信息,提高工作效率,降低管理成本等目的。

一个典型的图书馆管理系统应该能够管理所有的图书种类,图书信息以及读者信息,还需要提供各种图书信息的检索查询功能。

该系统还需要能够对图书的借阅,归还进行管理。

通过该系统的自动化管理,能够大大减少图书馆管理人员,还能减少管理人员的工作任务,从而降低管理开销和成本。

 一个完整的图书馆管理系统包括前台和后台,前台主要是显示在计算机屏幕上的显示界面,有各种指令按钮,操作框以及文本框,后台主要是为前台的一些操作提供一些必要的数据,也就是一个相对于系统比较完整的数据库,操作员以及各类图书的信息,借书者的信息等等。

1.3功能分析

根据以上需求分析,我们所设计的图书馆管理系统有4个功能模块,分别是图书类别管理模块、图书借还模块、借书证管理模块以及系统帮助模块。

其中各功能模块的具体说明如下:

(1)书籍等信息的输入,包括图书的名称、出版社。

(2)图书信息的查询,包括图书基本信息

(3)读者管理(新增读者,删除读者,挂失,续费)

(4)图书的管理(查询.图书入库.借出,还回图书管理.图书遗失注销管理)

(5)图书查询

读者类别类别编号、类别名称、借书数量、借书期限)

读者(读者编号、读者姓名、读者类别、性别、电话号码、办证日期、读者状态)。

图书类别信息(类别编号、类别名称)

图书(图书编号、图书名称、图书类别、作者姓名、出版社编号、价格、ISBN、登记日期)

出版社(出版社编号、出版社名称、出版社地址、邮政编码、联系电话)

借还(读者编号、图书编号、借书日期、还书日期)

图书库存(购书信息)(出版社编号、图书编号、数量)

2系统分析

2.1系统目标

(1)设计界面美观大方,系统操作简单方便

(2)图书信息的分类管理,查询等功能强大

(3)系统有强大的查询功能,查询条件多种简约

(4)实现对图书的借阅、归还信息跟踪。

(5)提供个人借书证注册功能及借书证的销毁暂停功能。

2.2开发的可行性分析

2.2.1技术上的可行性

由于该系统全部由powerbuild开发完成,在软件硬件条件下完全可行。

2.2.2经济上的可行性

本系统建立在powerbuilder9.0开发的基础上。

需要一台能够运行windows系统的计算机即可,无需另外的成本。

2.2.3运行上的可行性

系统采用完全的图形化界面,易于管理,方便管理者查询设备信息,能够满足使用者的要求。

该系统应该提供简单的操作界面,能够快速的实现查书、借书、还书功能。

2.3业务流程分析

业务流程图如下1.1用户登陆时使用正确用户名及密码即可进入图书管理系统。

密码或者用户名输入错误,系统便会自动提示出现错误,并关闭登录界面。

在用户进入系统后,会有主菜单显示。

用户可以实现图书管理,查阅,借还书信息操作,借书证申请等等操作。

图1.1

2.4系统组织结构与功能结构分析

 

图1.2

2.5数据流程分析

图书管理数据流程如图1.3所示。

图1.3

图书借还数据流程如图1.4所示。

图1.4

图书检索数据流程如图1.5所示。

图1.5

2.6数据字典

数据流编号:

D01数据流名称:

图书采编信息 

简述:

图书采编信息

数据流来源:

从批发市场购得图书后,由系统信息采集员将书籍信息录入电脑

数据流去向:

采编管理模块。

图书采编信息将采编数据存入数据库(图书表)

数据流组成:

图书编码,图书类别,书名,作者,出版社,出版日期,单价,购买数量

数据流量:

100本/日高峰流量:

600本/日

数据流编号:

D02 数据流名称:

借书借阅

简述:

借书证

数据流来源:

用户将借书证交给借书员,借书员经过审查后将相关信息输入计算机

数据流去向:

P2_11检查读者身份

数据流组成:

借阅日期,书名,读者账号,读者姓名,借阅数量等

数据流量:

500个/日高峰流量:

2000个/日

数据流编号:

D04数据流名称:

图书检索要求

简述:

读者要求求得图书检索信息

数据流来源:

读者输入的检索要求

数据流去向:

图书库以及检索处理系统

数据流组成:

图书名,图书编号等

3系统设计

3.1系统分析功能分析

系统开发的总体任务是实现图书信息管理的系统化、规范化和自动化。

系统功能分析是在系统开发的总体任务的基础上完成的。

图书馆管理系统需要完成的功能主要有:

 

(1)有关借还书等信息的输入,包括输入借书编号、图书编号、读者编号、借书时间和还书时间等。

 

(2)借还书信息的查询,包括借书编号、图书编号、读者编号、借书时间和还书时间等。

 (3)图书管理信息的添加、修改、查询。

 (4)系统用户信息的添加、修改、查询。

3.2平台设计

具,经过认真分析其优缺点,结合数据库管理系统的需要和目前的硬件环境针对目前世界上流行的大量软件和开发工具,我们选用windows平台下的powerbuilder9.0作为软件开发工具。

3.3代码设计

(1)与pb自带的anywhere数据库连接,datebase数据来自PT

SQLCA.DBMS="ODBC"

SQLCA.dbparm="Connectstring='dsn=PT;UID=dba;PWD=sql'"

connect;

(2)图书借阅窗口

图书租借:

tringcert_id,bookid

intFlag,i,j,m,n

i=2

j=2

datetimeld_loandates,ld_returndates

ld_loandates=datetime(today(),now())

ld_returndates=datetime(relativedate(today(),30))

cert_id=trim(sle_certid.text)

bookid=trim(sle_bookid.text)

Flag=1

ifsle_certid.text=""then

messagebox("缺少数据","请输入借书证号")

sle_certid.setfocus()

return

elseifsle_bookid.text=""then

messagebox("缺少数据","请输入图书编号")

sle_bookid.setfocus()

return

endif

select"flag"

into:

i

from"CertificateInfo"

where"Cert_id"=:

cert_id;

ifi=1then

messagebox("警告","该借书证已经挂失,暂时无法使用!

")

return

elseifi=2then

messagebox("无效","没有该借书证信息!

")

return

endif

select"flag"

into:

j

from"bookinfo"

where"BookID"=:

bookid;

ifj=1then

messagebox("警告","该书已经被借出!

")

return

elseifj=2then

messagebox("无效","没有该图书编号信息!

")

return

endif

selectcount(BookID)

into:

m

from"Loan"

where"Cert_id"=:

cert_idand"flag"=1;

insertinto"Loan"

("BookID",

"Cert_id",

"Loandates",

"Returndates",

"flag"

values

(:

bookid,

:

cert_id,

:

ld_loandates,

:

ld_returndates,

:

Flag

);

update"BookInfo"

set"flag"=1

where"BookID"=:

bookid;

sle_certid.text=""

sle_bookid.text=""

dw_jieshu.retrieve(cert_id)

messagebox("警告","借书成功")

update"Loan"

set"flag"=1

where"BookID"=:

bookid;

证件办理:

stringID,depart,name,Cname,Cvalue,Ctype,flag

inti

ID=trim(sle_cert_id.text)

selectCert_id

into:

i

fromcertificateinfo

whereCert_id=:

ID;

ifi<>0then

messagebox("重复","借书证ID重复,请重新输入!

")

sle_cert_id.text=""

sle_cert_id.setfocus()

return

endif

ifsle_cert_id.text=""then

messagebox("缺少数据","请输入借书证ID")

sle_cert_id.setfocus()

return

elseifsle_name.text=""then

messagebox("缺少数据","请输入姓名")

sle_name.setfocus()

return

endif

ifsle_cert_value.text=""then

messagebox("缺少数据","请输入证件号")

return

elseifsle_depart.text=""then

messagebox("缺少数据","请输入系别或部门")

return

endif

ifddlb_cert_type.text=""then

messagebox("缺少数据","请选择借书证类型")

return

elseifddlb_cert_name.text=""then

messagebox("缺少数据","请输入证件名称")

return

endif

name=trim(sle_name.text)

Cvalue=trim(sle_cert_value.text)

Cname=trim(ddlb_cert_name.text)

depart=trim(sle_depart.text)

Ctype=trim(ddlb_cert_type.text)

flag="0";

insertinto"certificateinfo"

("Cert_id",

"Name",

"Cert_name",

"Cert_value",

"Depart",

"flag"

values

(:

ID,

:

name,

:

Cname,

:

Cvalue,

:

depart,

:

flag

);

MessageBox("成功注册","你已经成功注册")

sle_cert_id.text=""

sle_name.text=""

ddlb_cert_name.text=""

sle_cert_value.text=""

sle_depart.text=""

ddlb_cert_type.text=""

sle_cert_id.setfocus()

(3)图书检索窗口

按图书编号查询:

stringlookforcondition

lookforcondition='bookid'+'='+"'"+sle_1.text+"'"

dw_1.setfilter(lookforcondition)

filter(dw_1)

ifdw_1.retrieve()=0thenmessagebox('提示','图书馆没有此书!

')

按作者姓名查询:

stringIs_author

Is_author=trim(sle_author.text)

ifnotsle_author.text=""then

dw_author.retrieve(Is_author)

else

messageBox("数据不全","请输入作者姓名")

endif

sle_author.setfocus()

(4)借书证管理

证件信息查询

stringcert_id,bookid

intFlag,i,j,m,n

i=2

j=2

datetimeld_loandates,ld_returndates

ld_loandates=datetime(today(),now())

ld_returndates=datetime(relativedate(today(),30))

cert_id=trim(sle_certid.text)

bookid=trim(sle_bookid.text)

Flag=1

ifsle_certid.text=""then

messagebox("缺少数据","请输入借书证号")

sle_certid.setfocus()

return

elseifsle_bookid.text=""then

messagebox("缺少数据","请输入图书编号")

sle_bookid.setfocus()

return

endif

select"flag"

into:

i

from"CertificateInfo"

where"Cert_id"=:

cert_id;

ifi=1then

messagebox("警告","该借书证已经挂失,暂时无法使用!

")

return

elseifi=2then

messagebox("无效","没有该借书证信息!

")

return

endif

select"flag"

into:

j

from"bookinfo"

where"BookID"=:

bookid;

ifj=1then

messagebox("警告","该书已经被借出!

")

return

elseifj=2then

messagebox("无效","没有该图书编号信息!

")

return

endif

selectcount(BookID)

into:

m

from"Loan"

where"Cert_id"=:

cert_idand"flag"=1;

insertinto"Loan"

("BookID",

"Cert_id",

"Loandates",

"Returndates",

"flag"

values

(:

bookid,

:

cert_id,

:

ld_loandates,

:

ld_returndates,

:

Flag

);

update"BookInfo"

set"flag"=1

where"BookID"=:

bookid;

sle_certid.text=""

sle_bookid.text=""

dw_jieshu.retrieve(cert_id)

messagebox("警告","借书成功")

update"Loan"

set"flag"=1

where"BookID"=:

bookid;

3.4数据库设计

数据库:

是数据的集合,具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序共享。

数据库存放数据是按数据所提供的数据模式存放的,具有集成与共享的特点。

数据库的有点有1.快速算量,精度提升2.数据调用,决策支持3.精确计划,减少浪费4.多算对比,有效管控。

因此一个良好的管理信息系统,最重要的一部分便是数据库。

数据库信息的建立能很好的体现信息系统的各部分功能。

3.4.1E-R图

图2.1图书类别信息实体E-R图

3.4.2数据表设计

数据库中,部分表的结构见表1-表5。

存放图书信息的表BookInfo的结构见表1。

其中图书编号具有惟一性,8位编码中最高2位为图书类型代码,例如电子类、计算机类等,通过表4“BookClass”表进行图书类型的管理,其余6位为图书顺序号。

表1BookInfo表

字段名

意义

数据类型

宽度

Null

PrimaryKey

BookID

图书编号

Char

8

No

ISBN

ISBN书号

Char

30

Yse

Title

书名

Char

40

Yse

Publish

出版日期

Char

Yse

Author

作者

Char

30

Yse

Words

字数(千字)

Integer

Yse

PublisherID

出版社ID

Char

4

Yse

Number

印刷册数

Char

Yse

Price

定价

Money

Yse

Keyword

关键字

Char

30

Yse

Abstract

摘要

Varchar

400

Yse

表2Publisherlnfo表

字段名

意义

数据类型

宽度

Null

PrimaryKey

PublisherId

出版社ID

Char

4

No

Publisher

出版社名称

Char

30

Yes

Address

出版社地址

Char

50

Yes

Tel

电话

Char

16

Yes

Fax

传真

Char

16

Yes

Postcode

邮政编码

Char

6

Yes

http

网址

Char

16

Yes

出版社ID是代表出版社的代码,它与图书信息表(表1BookInfo表)相关联。

图书租借表(表3Loan表)记录了图书租借情况,借书证书ID与CertificateInfo表相关联。

表3Loan表

字段名

意义

数据类型

宽度

Null

PrimaryKey

BookID

图书编号

Char

2

No

Cert_id

借书证书ID

Char

5

No

Loandates

借书日期

Date

Yes

Return

还书日期

Date

Yes

flag

标记

Tinyint

Yes

表4BookClass

字段名

意义

数据类型

宽度

Null

PrimaryKey

ClassID

图书分类代号

Char

2

No

Classname

图书分类名称

Char

30

Yes

表5CertificateInfo

字段名

意义

数据类型

宽度

Null

PrimaryKey

Cert_id

借书证书ID

Char

5

No

Cert_name

证件名称

Char

10

Yes

Cert_value

证件号码

Char

18

Yes

Name

姓名

Char

8

Yes

Depart

所在部门

Char

20

Yes

flag

标记

Tinyint

Yes

3.5系统安全设计

1、系统的数据安全

要使系统有足够的数据安全保障能力,就应该有一套好的数据安全策略。

好的数据安全策略应该从终端用户和系统管理员两方面来考虑。

2、网络安全

网络的物理安全,网络的拓扑结构安全,网络系统安全,应用系统安全和网络管理安全等。

4系统实施

4.1创建项目

为了用Powerbuilder9.0创建应用程序,应当使用工程。

启动powerbuilder9.0后,单击New Project菜单,在工程模板中选择application将自动产生一个Form窗体,属性都为缺省设置。

删除窗体,单击File/Save Project菜单,将工程项目命名图书馆管理系统。

4.2图书馆管理系统的主窗体及各功能模块页面

主窗体:

图书管理页面:

图书查询页面:

借书证注册页面:

5系统总结

书馆管理系统是图书馆管理工作中不可缺少的部分,它对于图书馆的管理者和使用者都非常重要,所以图书馆管理系统应该为管理者与读者提供充足的信息和快捷的数据处理手段。

本系统是一个小型的图书管理系统,具备基本的登录查询功能,但在在数据库的设计以及功能模块上仍然有欠缺与不足。

小伙们在一起讨论,分工合作最终完成该系统。

过程中对pb的运用以及powerscript语言更加理解深刻,同时也增强了我们的团队合作能力,在学习中体会到快乐。

参考文献

[1]郑阿奇.Powerbuilder实用教程(第4版)北京:

电子工业出版社

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

当前位置:首页 > 经管营销

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

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