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