图书管理系统分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图书管理信息系统的分析、设计和实施一、可行性分析
可行性分析的基础是对系统的初步调查,系统的初步调查正确与否关系到可行性的成败,系统分析员应先分析图书馆各部门之间的情况,对图书馆的组织部门进行了解,为了确实了解图书馆的借阅情况,就要对图书馆的图书管理进行实际考察,调查图书馆的图书借阅应具备哪些功能。
1.技术可行性
(1)本系统采用的工具软件是PowerBuilder 9.0
PowerBuilder工具软件是 SYBASE公司开发的分布式数据库应用程序的前端开发工具,它以功能强大、使用灵活的数据窗口、面向对象的开发能力等优势在数据库应用程序开发领域占据了领先的位置。
PowerBuilder 9.0是该公司推出的较新版本,该版本在开发环境的集成、对的支持、主件的开发等方面比早期版本增加了许多新的功能,对以前的功能也有了不同程度的改进。
PowerBuilder正在成为客户/服务器应用程序开发的标准。
与其他客户/服务器开发环境相比,PowerBuilder可以使开发人员的工作更快、成本更低、质量更高、功能更强。
(2)本系统采用的数据库是SQL Server 2000
SQL Server 2000 是Microsoft 公司推出的SQL Server 数据库管理系统的最新版本该版本继承了SQL Server 7.0 版本的优点同时又比它增加了许多更先进的功能具有使用方便可伸缩性好与相关软件集成程度高等优点可跨越从运行Microsoft Windows 98 的膝上型电脑到运行Microsoft Windows 2000 的大型多处理器的服务器等多种平台使用。
2.经济可行性
经过考察比较,引入了图书的计算机化管理,可使整体计算机应用水平的提高和藏书规模的扩大、方便读者查询、借阅操作,解决流通中存在的问题。
它能使图书馆工作人员从繁重的工作中解脱出来,大大减轻了工作量,减少人为的工作失误,全面提高图书馆的管理效率及服务质量,从而使图书馆管理水平和业务水平跃上一个新的台阶。
3.社会可行性
本图书管理系统的操作简单,而且界面友好,系统的操作流程是图书管理工作者所熟悉的。
并且本图书管理系统能够实现其各个功能,在当前操作环境下也能够很好的运行。
综上所述,不管是从技术上考虑,还是从经济以及社会上考虑,我们的系统都具有一定的可行性,因此我们才开发研究这个系统供广大读者使用。
二、系统分析部分
图书管理员可以方便地对新书进行录入,对违规违纪的同学进行罚款处理。
领导能够在自己的办公室看到每年的图书采集信息及学生对某类书的借阅情况统计分析图。
1.系统目标设计
系统开发的总目标是实现内部图书借阅管理的系统化、规范化和自动化。
1) 能够对图书进行登记,也就是将图书的基本信息(如:书名、作者、价格等)预先存入数据库中,供以后检索。
2) 提供方便的检索方法。
包括按作者姓名、出版日期、出版社名称、图书类别、书名、关键字等信息进行图书检索,并能反映出图书的借阅情况;以出版社名称查询出版社联系方式信息。
3) 能够方便图书的租借。
包括借书登记、限界数量控制、还书登记、过期罚款计算等。
4) 提供统计分析功能。
包括借出数量与库存数量的比例、各类图书数量与总数量的比例、热门图书数据等各种信息资料的统计。
5) 能够对书库中的图书进行浏览。
包括对图书摘要的浏览和新书预览。
2. 业务流程图
1)顶层数据流图:
2
3)查询处理数据流程图:4)借书处理数据流程图:学生情况
图书情况
统计表
况
D3
图
书
信
息
5)还书处理数据流程图:
4. 功能分析图
5.
1
数据元素条目
数据元素名称:学生学号别名:stud_id
类型:数值型
长度:10
描述:学生借书的编号数据元素条目
数据元素名称:图书分类编号别名: Bookid
类型:数值型
长度:10
描述:图书分类的编号
数据元素条目
数据元素名称:学生姓名别名: name
类型:varchar
长度:50
描述:区分读者的唯一标识数据元素条目
数据元素名称:图书名称别名:title 类型:文本型
长度:50
描述:图书的名称
2)数据流条目
数据流条目
数据流名称:管理员登陆
简述:管理员对图书进行管理数据来源:user_id
数据流向:zjy02_user_info 包含的数据结构:数据元素条目数据流条目
数据流名称:管理员登陆密码简述:管理员对图书进行管理数据来源:user_passwd
数据流向:zjy02_user_info 包含的数据结构:数据元素条目
数据流条目
数据流名称:查询结果
简述:从图书信息表中检索信息数据来源:zjy02_bookinfo
数据流向:查询结果
包含的数据结构:数据流条目
数据流名称:按条件查找
简述:读者按类别或作者等查找的结果数据来源:查询窗口
数据流向:zjy02_bookinfo
包含的数据结构:
数据流条目
数据流名称:添加图书 简述:新购图书的添加 数据来源:管理员输入 数据流向:zjy02_bookinfo 包含的数据结构: 数据流条目
数据流名称:删除图书信息 简述:图书删除
数据来源:zjy02_bookinfo 数据流向:zjy02_bookinfo 包含的数据结构:
数据流条目
数据流名称:添加出版社 简述:出版社信息的添加 数据来源:管理员输入
数据流向:zjy02_publisherinfo 包含的数据结构: 数据流条目
数据流名称:出版社信息修改 简述:由条件将各类数据显示 数据来源: zjy02_publisherinfo 数据流向:zjy02_publisherinfo 包含的数据结构:
3)处理过程描述
4) 数据存储
处理功能条目 名称:查询图书
输入数据:按图书编号、书目名称、作者、关键字、摘要等来查询 输出数据:图书编号,书目名称,书目作者等等
处理逻辑:支持模糊查询,对查询的图书可进行修改删除等 处理功能条目 名称:添加图书
输入数据:图书编号,图书名称,作者,出版社编号,价格,图书分类,图书摘要等 输出数据:是否添加成功
处理逻辑:1.是否有漏填2.数据要求是否匹配3.信息是否填写完整 数据存储条目
数据存储名称:图书信息表 说明:存储图书基本信息
结构:图书编号,图书名称 ,图书分类,出版社 ,入库时间,入库数量,图书状态,在库数量,图书简介。
关键字:图书编号
相关处理:查询,修改,添加,删除 数据存储条目
数据存储名称:出版社信息表 说明:出版社基本信息
结构:出版社编号,出版社名称 ,地址,邮编,电话,传真,HTTP 。
关键字:出版社编号
相关处理:添加,修改,删除
5)外部实体条目
外部实体条目
名称:图书
说明:
输出数据流:
输入数据流图书借阅信息
外部实体条目
名称:管理员
说明:
输出数据流:
输入数据流管理员读者信息
三、系统设计部分
1.系统目标设计
1)方便的数据输入性能,良好的人机界面,尽量避免汉字和长字符串的人工重复输入。
2)灵活地查询性能,能快速实现通过多项数据进行的查询。
3)考虑到图书馆的发展,对新书数据及折旧书籍也能给予处理。
4)把目前基本上是“静态”图书管理变为“动态”管理,能随时提供书籍现状信息。
3. 输出设计(主要指打印输出设计)
本系统的报表输出格式设计成表1~表3的形式(表中的数据为试运行结果数据)1)新书预览表
2)旧书删除表
3)出版社信息修改表
4. 存储文件格式设计(数据库结构设计)
5. 输入设计(主要指数据录入卡设计)
3)新书入库:
6. 代码设计(职工证号和部门代号等)1)书分类代码设计
2)版社代码设计
3)图书代码
7. 程序设计说明书
1)图书管理模块
1.1模块描述:此模块对应图书建档的业务流程:如新书入库、新书编码、图书出库和图书信息修改。
1.2功能:信息输入之后,经过一定的分类处理,形成图书档案数据库,可用于用户查询、模块调用与数据统计。
1.3性能:准确性要求高,可靠性要求高,输入控制严格,页面响应时间短,用户界面友好,输出准确,能够准确有效的进行用户权限的管理。
1.4输入项
新书名称:任意的字符,数字的组合或是单独使用字符或是数字
新书编码:任意的数字,字符的组合或是单独使用字符或是数字
1.5输出项
错误提示:新书编码规则不正确
操作界面:添加(或修改)成功,继续下一步操作
2)图书借阅模块
2.1模块描述:此模块对应图书流通的业务流程:如图书的借阅和归还。
2.2功能:完成图书的借阅业务流程。
2.3性能:准确性要求高,可靠性要求高,输入控制严格,页面响应时间短,用户界面友好,输出准确,能够准确有效的进行用户权限的管理。
2.4输入项
学生学号:任意的字符,数字的组合或是单独使用字符或是数字
图书编码:任意的数字,字符的组合或是单独使用字符或是数字
2.5输出项
错误提示:任意的字符,数字的组合或是单独使用字符或是数字
操作界面:借书(或还书)成功
3)统计查询模块
3.1模块描述:此模块对应完成用户或管理员对馆藏图书的查询。
3.2功能:实现对图书的查询。
3.3性能:准确性要求高,可靠性要求高,输入控制严格,页面响应时间短,用户界面友好,输出准确,能够准确有效的进行用户权限的管理。
3.4输入项
用户名称:任意的字符,数字的组合或是单独使用字符或是数字
用户密码:任意的字符,数字的组合或是单独使用字符或是数字
3.5输出项
错误提示:任意的字符,数字的组合或是单独使用字符或是数字
四、系统实施部分
1. 程序框图
登录界面:
旧书销毁界面:
显示图书摘要界面:
新书预览界面:
出版社信息管理界面(新增、删除和修改):
图书检索界面(按作者姓名检索):
2. 源程序
1)借书按钮:
long ls_stuid,ls_bookid,ls_count date ls_loandates
integer ls_flag
ls_stuid=long(sle_stuid.text)
ls_bookid=long(sle_bookid.text)
ls_loandates=today()
SELECT delflag
INTO :ls_flag
FROM zjy02_loan WHERE bookid=:ls_bookid;
SELECT COUNT(*)
INTO :ls_count
FROM zjy02_loan WHERE stud_id=:ls_stuid and delflag=1;
if ls_flag=1 then
messagebox("系统提示","本书已经外借!")
sle_bookid.setfocus()
return
else
if ls_count<5 then
INSERT INTO zjy02_loan
(bookid,stud_id,loandate,delflag)
VALUES (:ls_bookid,:ls_stuid,getdate(),1);
UPDATE zjy02_loan
set
loandate=:ls_loandates,
returndate=NULL,
fine=0,
delflag=1
WHERE bookid=:ls_bookid;
messagebox("提示","图书编号为"+string(ls_bookid)+"的图书借出成功!") else
messagebox("提示","该生所借图书数量已达最大(5本)!借阅失败!") end if
end if
sle_bookid.text=""
sle_bookid.setfocus()
dw_1.visible=false
cb_2.enabled=false
2)还书按钮:
long ls_stuid,ls_bookid,ls_bookid2,day
date ls_loandates,ls_returndates
integer ls_flag
dec ls_fine
int ret
ls_bookid=long(sle_bookid.text)
ls_returndates=today()
SELECT loandate
INTO :ls_loandates
FROM zjy02_loan
WHERE bookid=:ls_bookid;
day=daysafter(ls_loandates,ls_returndates)
if day>30 then
ls_fine=dec(day - 30) * 0.1
messagebox("提示信息","所借书在"+string(ls_returndates)+ "已超期,罚款
"+string(ls_fine)+"元,请交罚款!")
ret=messagebox("询问","罚款"+string(ls_fine)+"元是否已交?",Question!,YesNo!,3) if ret=2 then
return
end if
//DELETE loan where bookid=:ls_bookid;
end if
SELECT bookid
INTO :ls_bookid2
FROM zjy02_loan
WHERE bookid=:ls_bookid and delflag=1;
if ls_bookid=ls_bookid2 then
messagebox("提示信息","图书编号为"+string(ls_bookid)+"的图书已还借成功!") update zjy02_loan
set returndate=:ls_returndates,fine=:ls_fine,delflag=0
where bookid=:ls_bookid;
else
messagebox("提示信息","此书未借出!")
end if
sle_bookid.text=""
sle_loan.text=""
sle_return.text=""
sle_days.text=""
sle_fine.text=""
sle_bookid.setfocus()
cb_2.enabled=false
3.模拟运行数据
4.系统使用说明书
1)登录:当软件打开后,会出现登录对话框,这时请使用者输入用户名:123,密码:123。
输入后,点击“登录”便进入系统主界面。
2)图书管理
2.1新书入库:单击“图书管理—新书入库”。
打开“新书入库”对话框后,输入图书编号、书名、编者、出版社、分类号、单价等信息后单击“入库”,此时系统会弹出输入成功的对话框,说明信息已输入。
图书信息输入完毕后,单击“退出”按钮退出。
2.2旧书销毁:单击“图书管理—旧书销毁”菜单。
输入要删除的图书编号,显示图书信息,确认后,点击“删除”按钮后,则可将所选文件进行彻底删除。
(注:此键需慎用。
)使用完毕,点击“退出”即可关闭窗口。
2.3出版社资料添加:单击“图书管理—出版社资料—出版社信息添加”。
输入出版社基本信息后单击“添加”按钮,系统弹出信息输成功对话框。
单击“返回”按钮退出本界面。
2.4出版社资料修改:单击“图书管理—出版社资料—出版社信息修改”菜单。
先输入要修改的出版社编号,然后单击“确定”按钮,便可以进行修改。
修改完毕后,单击“更新”按钮即可。
2.5出版社资料删除:单击“图书管理—出版社资料—出版社信息删除”菜单。
输入要删除的出版社编号,显示出版社信息,确认后,点击“删除”按钮后,则可将所选文件进行彻底删除。
使用完毕,点击“返回”即可关闭窗口。
3)图书租借
3.1借书:单击“图书租借——借书”。
将光标分别定位到“学生学号”和“图书编号”后的文本框中并输入相应信息。
然后点击“确定”按钮,显示图书信息,点击“借阅”即可完成图书借阅登记。
3.2还书:单击“图书租借——还书”。
先输入要归还的图书编号,然后单击“确定”按钮,显示借阅信息,单击“归还”按钮即可。
4)图书检索
4.1按作者姓名查询:单击“图书检索—按作者姓名”菜单。
输入要查询的作者姓名,然后单击“确定”按钮,即可显示图书信息。
五、附录或参考资料
参考资料:
《PowerBuilder实用教程(第二版)》,郑阿奇主编,电子工业出版社,2008年。
《管理信息系统》,张金城主编,北京大学出版社,2006年。
《PowerBuilder+SQL Server数据库应用系统开发与实例》张勇毅、姚华主编,人民邮电出版社,2007年。
《管理信息系统实验指导书》,张金城主编,北京大学出版社,2006年。
《SQL Server实用教程》,郑阿奇,电子工业出版社,2005年。
《管理信息系统开发案例分析》,钟雁主编,清华大学出版社,2006年。