资源描述
图书馆图书管理信息系统分析设计报告
———————————————————————————————— 作者:
———————————————————————————————— 日期:
2
个人收集整理 勿做商业用途
图书馆图书管理信息系统
分析设计报告
一. 可行性分析
1. 管理可行性
当今社会是信息化的社会,工作信息化使得很多复杂、烦琐的工作变得简单。我们将要实现的就是为烦琐的图书馆借出入工作以及图书处理工作做的管理信息系统。
我们的成品,将可以运用于一些小型的图书馆运营,还可以运用于一些私人租书处,据了解,我校也有这样的私人租书店。不过,其日常图书出入登记都是书面记录的,这样会有很大的安全隐患和操作不便性。本系统就可以用于解决这一类问题,所以管理上有可行性。
2. 经济可行性
我们的开发人员基本上都有各自的电脑.而开发工具easyEclipse和J2EE技术的支持组件皆是开源软件,所以不存在经济问题。我们的数据库选用的是SQLserver,虽然它是收费软件,不过我们在开发过程中使用的是试用版,而且该系统的成员不自带数据库.所以在经济上本系统也是可行的.
3. 技术可行性
我们的开发人员都已熟练掌握了J2EE开发B/S程序的技术,也掌握了使用PowerBuilder开发C/S结构程序的技术,并且在这之前,我们已详细了解过图书馆系统的基本结构和《中图法》中的图书分类方法。所以在技术上,本系统也是可行的。
二. 系统分析
1. 需求分析
1) 详细调查
访问我校图书馆网站http://library.wuse。
2) 组织结构分析
下面是组织结构图,如图2—1—2
本系统不是图书馆管理人员组织关系的处理系统,而是帮助采编部、网络部、流通阅览部以及读者的日常工作的信息系统。
图2—2—1—1
3) 功能分析
业务功能表:
序号
使用者
业务功能
1
采编部
注册新书进数据库(自动显示在网站的“新书通报”中),注销旧书,图书的分类管理。
2
网络部
在图书馆网站上:更新维护网站,发布公告,网上读者留言解答。
3
流通阅览部
以管理员身份登入后台,注册、删除用户,记录借出、归还图书信息,图书过期、丢失索赔操作。
4
读者
借还书。以用户名登录,在线提问,查询已借图书信息,图书查询,查看新书通报,修改个人资料,财金查询。
2. 流程描述
1) 业务流程
以下是采编部业务流程图(图2-2-1—1)、网络部业务流程图(图2-2-1—2)、流通阅览部业务流程图(图2-2-1—3)、还书业务流程图(图2-2-1-4)、借书业务流程图(图2-2-1-5)、读者访问网站的业务流程图(图2—2—1-6)
图2—2-1—1 图2-2-1—2
图2-2—1-3
图2—2—1—4
图2—2—1—5
图2—2-1-6
2) 数据流程
·顶层数据流程图,如图2—2-2-1
·第二层数据流程图,如图2-2—2—2
图2—2—2—2
·第三层数据流程图,如图2—2—2-3
图2—2—2—3
·第底层数据流程图,如图2-2—2-4至图2—2-2—6
图2-2-2—4
图2-2—2—1
图2—2—2-5
图2-2—2—6
3) 数据字典
·数据项
数据项编号:S—01
数据项名称:学号
别名:s_id
简述:学生的学号
类型及宽度:字符型,10位
取值范围:0000000000~9999999999
数据项编号:S—02
数据项名称:姓名
别名:s_name
简述:学生姓名
类型及宽度:字符型,2~15位
取值范围:无
数据项编号:S—03
数据项名称:性别
别名:s_sex
简述:学生的性别
类型及宽度:数字型,1位
取值范围:0表示女,1表示男。
数据项编号:S—04
数据项名称:年龄
别名:s_age
简述:学生的年龄
类型及宽度:数字型,1~3位
取值范围:1~999位
数据项编号:S—05
数据项名称:班级
别名:s_class
简述:学生所在的班级
类型及宽度:字符型,4~15位
取值范围:字母和数字组成
数据项编号:S-06
数据项名称:密码
别名:s_password
简述:学生登录的密码
类型及宽度:字符型,6~20位
取值范围:字母和数字组成
数据项编号:S—07
数据项名称:联系方式
别名:s_tel
简述:学生姓名
类型及宽度:字符型,7~15位
取值范围:无
数据项编号:S—08
数据项名称:财金
别名:s_ money
简述:学生与图书馆之间的财务上所欠金额
类型及宽度:数字型,1~4位
取值范围: 0~9999
数据项编号:A—01
数据项名称:用户名
别名:a_id
简述:管理员登录系统所有用户名
类型及宽度:字符型,1~15位
取值范围:字母、汉字、数字组成
数据项编号:A—02
数据项名称:密码
别名:a_password
简述:管理员登录系统所用的密码
类型及宽度:字符型,6~20位
取值范围:字母、数字组成
数据项编号:A-03
数据项名称:类型
别名:a_type
简述:管理员所属部门
类型及宽度:数字型,1~2位
取值范围:1为采编部,2为阅览部,3为网络部
数据项编号:B—01
数据项名称:条形码
别名:b_code
简述:图书的条形码
类型及宽度:字符型,2~10位
取值范围:00~9999999999
数据项编号:B-02
数据项名称:索取号
别名:b_get
简述:图书的对应存放位置的号码,按《中图法》标准分类形成
类型及宽度:字符型,2~15位
取值范围:字母和数字
数据项编号:B—03
数据项名称:状态
别名:b_status
简述:图书的借出还是入藏等状态标示
类型及宽度:数字型,1~2位
取值范围:1入藏,2借出,3锁定
数据项编号:B—04
数据项名称:书名
别名:b_title
简述:图书的名字
类型及宽度:字符型,1~50位
取值范围:无
数据项编号:B—05
数据项名称:作者
别名:b_author
简述:图书的作者,责任人
类型及宽度:字符型,1~15位
取值范围:汉字、字母或数字组成
数据项编号:N-01
数据项名称:编号
别名:n_id
简述:公告的编号,唯一标识
类型及宽度:数字型,1~4位
取值范围:1~9999
数据项编号:N—02
数据项名称:标题
别名:n_title
简述:公告的标题
类型及宽度:字符型,1~50位
取值范围:无
数据项编号:N—03
数据项名称:内容
别名:n_content
简述:公告的内容
类型及宽度:字符型,2000字
取值范围:无
数据项编号:N—04
数据项名称:发布时间
别名:n_time
简述:公告的发布时间
类型及宽度:时间型,8字节
取值范围:小时间型,即只有年月日
数据项编号:Q-01
数据项名称:编号
别名:q_id
简述:问题的编号
类型及宽度:数字型,1~10位
取值范围:1~9999999999
数据项编号:Q-02
数据项名称:标题
别名:q_title
简述:问题标题
类型及宽度:字符型,1~50位
取值范围:无
数据项编号:Q—03
数据项名称:内容
别名:q_content
简述:问题的内容
类型及宽度:字符型,2000字
取值范围:无
数据项编号:Q—04
数据项名称:作者
别名:q_author
简述:回答者,或提问者姓名
类型及宽度:字符型,1~15位
取值范围:字母、汉字、数字组成
数据项编号:L—04
数据项名称:借出时间
别名:l_lend_time
简述:借出图书的时间
类型及宽度:时间型,16字节
取值范围:大时间型,年月日+时分秒
数据项编号:L-05
数据项名称:应还时间
别名:l_back_time
简述:应还图书的时间
类型及宽度:时间型,8字节
取值范围:小时间型,即只有年月日
数据项编号:L-06
数据项名称:续借次数
别名:l_times
简述:该学生已续借这本书的次数
类型及宽度:数字型,1~2位
取值范围:0~99,默认是0
·数据结构
数据结构编号:S2S—01
数据结构名称:学生
简述:该系统的用户对象
组成:学号+姓名+性别+年龄+班级+密码+联系方式+财经
相关数据流:用户登录表单、用户信息资料
相关处理逻辑:读者资料管理、图书借还管理
数据结构编号:S2A—01
数据结构名称:管理员
简述:该系统的管理人员
组成:用户名+密码+类型
相关数据流:管理员登录表单,管理员资料
相关处理逻辑:问题管理、公告管理、图书借还管理
数据结构编号:S2B-01
数据结构名称:图书
简述:图书馆的图书对象
组成:条形码+索取号+状态+书名+作者
相关数据流:新书注册表单、图书借还信息
相关处理逻辑:图书信息管理、图书借还管理
数据结构编号:S2NB—01
数据结构名称:新书
简述:该系统的新入库的图书对象
组成:条形码
相关数据流:新书注册表单
相关处理逻辑:图书管理
数据结构编号:S2N-01
数据结构名称:公告
简述:发布在网站上的关于图书馆的公共提示
组成:编号+标题+内容+作者用户名+发布时间
相关数据流:公告表单
相关处理逻辑:公告管理
数据结构编号:S2Q—01
数据结构名称:问题及回答
简述:学生的提问及管理员的回答
组成:编号+标题+内容+作者用户名+回答的提问的编号
相关数据流:问题表单、回答表单
相关处理逻辑:提问管理、回答管理
·数据流
数据流编号:C2S—01
数据流名称:用户信息表单
数据流来源:用户提供表单
数据流去向:数据库用户表记录
数据流量:1份/天
高峰流通量:1份/天
数据流编号:C2B-01
数据流名称:图书信息表单
数据流来源:新进图书
数据流去向:数据库图书表记录
数据流量:30份/天
高峰流通量:30份/天
数据流编号:C2L—01
数据流名称:借书关联信息
数据流来源:读者借书
数据流去向:数据库借书表记录
数据流量:300份/天
高峰流通量:300份/天
数据流编号:C2N-01
数据流名称:公告信息表单
数据流来源:网络部管理员填写
数据流去向:数据库公告表记录
数据流量:1份/天
高峰流通量:1份/天
数据流编号:C2Q-01
数据流名称:问题表单
数据流来源:读者提出
数据流去向:数据库问题表记录
数据流量:30份/天
高峰流通量:30份/天
数据流编号:C2Q—02
数据流名称:回答表单
数据流来源:网络部管理员填写
数据流去向:数据库问题表记录
数据流量:30份/天
高峰流通量:30份/天
·数据存储
数据存储编号:D2L-01
数据存储名称:借阅关系入库
简述:存储用户和所借阅的图书之间的关系
数据存储组成:图书条形码、借阅人编号、经手管理员编号、借出时间、应还时间
关键字:图书条形码
数据存储编号:D2S—01
数据存储名称:读者资料入库
简述:存储新读者的信息
数据存储组成:学号、姓名、性别、年龄、班级、密码、联系方式
关键字:学号
数据存储编号:D2B-01
数据存储名称:图书资料入库
简述:存储图书的信息
数据存储组成:图书条形码、索取号、状态、书名、作者
关键字:图书条形码
数据存储编号:D2N-01
数据存储名称:公告信息入库
简述:存储网络管理员所发布的公告信息
数据存储组成:编号、标题、内容、发布人编号、发布时间
关键字:编号
数据存储编号:D2Q—01
数据存储名称:提问入库
简述:存储读者所提的问题信息
数据存储组成:编号、标题、提问内容、提问的读者的学号
关键字:编号
数据存储编号:D2Q-02
数据存储名称:回答入库
简述:存储管理员针对某一问题的回答信息
数据存储组成:编号、回答内容、回答的管理员的用户名
关键字:编号
·处理逻辑
数据逻辑编号:X2B-01
数据逻辑名称:旧书管理
简述:采编部管理员对旧书注销
处理:删除某书在图书馆的记录
输入:所要注销的图书的条形码
输出:注销是否成功
处理频率:100次/月
数据逻辑编号:X2B—02
数据逻辑名称:新书管理
简述:采编部管理员将新书信息注册进数据库
处理:将管理员提交过来的图书信息插入数据库中
输入:所要注册的图书的信息
输出:注册是否成功
处理频率:100次/月
数据逻辑编号:X2B-03
数据逻辑名称:图书信息管理
简述:提供图书查询功能
处理:按读者输入信息从数据库中找出该图书的所有信息
输入:所要查询的图书的一个或多个信息点
输出:符合条件的所有图书的信息
处理频率:100次/天
数据逻辑编号:X2B-04
数据逻辑名称:报失管理
简述:针对某些遗失了的图书的管理
处理:查询该图书是否被该读者所借,是则计算索赔费用.
输入:遗失的图书的条形码号及借者借书证
输出:如果锁定成功则输出索赔费用,否则提示原因
处理频率:100次/月
数据逻辑编号:X2B-05
数据逻辑名称:索赔管理
简述:对于确认遗失图书的读者,进行索赔。
处理:收取费用,并删除借阅记录,再锁定图书.
输入:确认收费成功
输出:图书锁定结果
处理频率:100次/月
数据逻辑编号:X2B—06
数据逻辑名称:借出管理
简述:关于读者借书的过程
处理:确认该图书为入藏状态,该读者没有过期图书且没达到满借数量.
输入:图书的条形码和读者学号
输出:借出成功
处理频率:300次/天
数据逻辑编号:X2B—07
数据逻辑名称:还书管理
简述:关于读者还书的过程
处理:确认图书为借出状态
输入:图书条形码
输出:归还结果
处理频率:300次/天
数据逻辑编号:X2S—01
数据逻辑名称:读者注册管理
简述:增加新的读者
处理:确认学号唯一,正确则把信息插入数据库
输入:读者信息
输出:注册是否成功
处理频率:100次/月
数据逻辑编号:X2S-02
数据逻辑名称:读者登录管理
简述:对读者登录的验证
处理:把输入学号和密码与数据库里的进行比对
输入:学号和密码
输出:登录结果
处理频率:300次/天
数据逻辑编号:X2S-03
数据逻辑名称:改密管理
简述:读者登录网站进行修改登录密码
处理:验证旧密码是否正确,及新密码是否合法
输入:新、旧密码
输出:修改结果
处理频率:100次/月
数据逻辑编号:X2S—04
数据逻辑名称:财金管理
简述:查询读者与图书馆之间的欠费金额
处理:查询该读者与图书馆之间的欠费金额
输入:读者学号
输出:欠费金额
处理频率:100次/月
三. 系统设计
1. 系统平台设计
1) 系统网络结构设计
网络结构图(如图3-1-1)
服务器
图3—1—1
2) 系统数据库平台设计
我们采用Microsoft公司的SQLServer 2000数据库,作为本系统的数据库,数据库管理系统采用该数据库自带的“企业管理器”。
3) 系统的软件平台设计
系统软件架构图(如图3-1-3)
图3—1-3
4) 系统的硬件平台设计
稳定优良的专业服务器,条形码阅读器,磁性读卡器,打印机用于打印制作条形码,数台管理员计算机.
2. 系统总体结构设计
1) 模块设计
·数据库访问公共类,使用Hibernate提供的SessionFactory类,提供公共的获取数据库连接的方法。
·条形码生成检查器,使用乘3模10的算法制做的类,可以用于生成条形码的验证位,以及检查条形码的正确性.
·插入新记录公共类,使用Hibernate提供的save方法,所有插入操作使用该一个方法。
·删除记录公共类,使用Hibernate提供的delete方法,所有删除操作使用该一个方法。
·更新记录公共类,使用Hibernate提供的update方法,所有更新操作使用该一个方法。
·查询记录公共类,使用Hibernate的查询机制,所有操作使用一个查询方法。
2) 功能设计
3. 系统详细设计
1) 输入输出设计
a) 输入
·用户登录界面:
需要输入用户名、密码、验证码,且有“三者不能为空",“密码不能少于六位”的动态提示。
·查询图书界面:
以单选框选择查询的方式(按书名、作者、索取号等),再把关键字填入文本框,点击查询。
·在线提问界面:
用户填入标题、内容,作者学号和日期自动填入.
·管理员回答界面:在线编辑器提供排版功能,管理员只输入内容,用户名和日期自动填入
·管理员发布公告:在线编辑器提供排版功能,需输入标题和内容.
·采编、阅览部管理员登录界面:
需输入用户名和密码,判空提示。
·借还图书界面:
管理员只需用条形码阅读器扫描图书和学生证即可,但也有手动输入的位置。
·注册新用户界面:
必须输入学号、姓名、班级、密码,可选输入性别、年龄、电话。
·注册新书界面:
需输入条形码、索取号、书名、作者.
b) 输出
·借阅查询:输出该读者已借图书的列表,每一行里是书名、作者、索取号、条形码号、图书状态、借出日期、应还日期、续借次数。
·图书查询:输出图书列表,每行包含书名、作者、索取号、状态
·借书操作:当输入学生学号后,显示该学生已借图书的信息(条形码、索取号、书名、作者、借出时间、应还时间)以及学生信息(学号、姓名、)
·还书操作:显示结果。但不需要管理员去点确认,即可执行下一次还书操作。
2) 界面设计
网站的出错提示皆用动态提示,即在用户填入数据还没有提交时已经提示错误。
网络管理员后台使用在线编辑器,帮助实现排版功能。
采编、阅览管理员使用同一程序,出错都将以弹出窗口的形式提示。
4. 数据库设计
该系统数据库将涉及到六个实体对象:学生、图书、问题和回答、管理员、公告、新书,ER图如图(图3-4)
数据库中建立七张表,学生student、问题和回答question、借书lent、图书book、管理员admin、新书newbook、公告notice
5. 代码模型设计
·索取号
使用层次码,图书的索取号严格按照《中图法》标记作为分类前缀,如图(图5—1).
如图(图5-1)
图3—4
·条形码
使用顺序码,从入库的第一本图书000001[校验码]开始,校验码的算法是将偶数位之和乘以3再加上奇数位之和,再将他们的和取10的模,得到的数便作为校验码。所以前三者便是0000013,0000026,0000039。
·数据库字段
使用助忆码,学生表命名为student,而其中各字段前面都加上s_,如学号为s_id.
·管理员用户名
使用层次码加助忆码,如图(图5-2)。如:采编部成员的用户名就可以是cb001
如图(图5—2)
6. 安全设计
1) 数据安全
在借书和还书程序中,设置事务Transcation,即借阅者信息和图书信息先存储在缓存中,如出错,刚两个事务即作回滚操作,不会造成以下情况:图书馆已还,学生的借书记录未消;或图书馆未设为入藏状态,学生的记录就已消等。
SQLServer 2000本身就是安全性非常高的数据库产品,并且我们还对用户的保密信息使用MD5不可逆算法进行了加密。
2) 网络安全
根据本系统设计的网络结构,图书馆内的工作机和服务器是以局域网的形式连接的,不接外网,所以安全性较高。服务器外是作为WEB服务器,关闭服务器对外不使用的端口,并设置防火墙。
3) 容错与容灾
SQLServer 2000所带的企业管理员就有备份数据库的功能.只要服务器管理员定期备份数据库,当出现重大失误时,只要恢复数据库,就能重新正常运作。
展开阅读全文