1、 九江学院 信息科学与技术学院 《软件工程》课程设计(实训)报告书 题 目:基于java平台下图书管理系统的设计与实现 专 业: 软件技术 班 级: B0932 姓 名: 邝 泰 鹏 学 号: 20914160224 指导老师:
2、 邱 兴 兴 设计时间: 2011年10月24日~2011年11月4日 目 录 《软件工程》课程设计(实训)报告书 1 1.课程设计(实训)计划 3 2.系统需求分析与功能设计 3 3. 总体设计 4 4. 数据库设计 5 5. 程序模块设计 6 6. 技术难点与分析 7 7. 系统测试 8 8. 心得体会 9 9. 参考文献 10 1.课程设计(实训)计划 1.1 问题的提出 近年来,随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的
3、各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。 另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。 图书管理工作面对大量的可模块化处理的信息,是当今信息革命的一个重要阵地。我们小组开发图书管理信息系统就是采用现代化的信息管理方式代替手工管理方式,提高图书管理工作效率,
4、作到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。 从以前的手工管理的记录中我们可以发现这样的问题: 1.检索速度慢、效率低 因为图书馆的藏书种类多、数量多,将藏书准确地分门别类,快速检索,手工进行非常困难往往是终于查到了书的信息,馆中没有此书或已被别人借走。图书馆的规模越大,这个问题越突出。 2.借书、还书工作量大 借书、还书频率越大,说明图书馆的作用越大,然而随之而来的大量的借书、 还书登记、实存图书的更新以及借出图书超期、遗失等的处理,其工作量之大,往 往是人工操作所难以胜任的。而且经常会出现这样那样的差错。 3.图书统计工作难、藏书更新不能及时完成
5、 图书馆的图书应根据科学技术的发展和教学工作的需要及时添加和更新,然而由于藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书的统计工作难以及时完成,藏书的更新也就很难有针对性地进行,藏书的知识结构得不到良好地控制。 1.2 技术路线 1.2.1 系统的可行性分析 可行性分析是在进行初步调查后所进行的对系统开发必要性和可能性的研究,所以也称为可行性研究。信息系统也应从技术可行性,经济可行性和社会可行性三方面来论证。通过长时间的观察与实践,我认为图书馆管理系统的可行性分析如下: (1)经济可行性分析 由于该单位急需采用计算机来进行图书馆的管理,因此对
6、开发此系统经济上大力支持。且该系统可带来一定效益,将节省大量人力物力。经济上也是可行的。 (2)技术可行性分析 计算机配置: 运行环境:兼容当前主流操作系统 Windows 2003/XP/Vista 硬件环境:Pentium以上计算机。 开发软件:SQL Server 、JAVA、ASP等 技术上的可行性分析主要分析现有技术条件能否顺利完成开发工作,硬件、软件配置能否满足开发者的需要,各类技术人员的数量,水平,来源等。图书馆管理系统的工作主要是在读者和图书馆之间架起一座桥梁,能相互沟通信息和处理信息。这一特点非常适合计算机特点,通过网络Internet技
7、术,发挥计算机的信息传输速度快、准确度高的优势。计算机硬件和软件技术的飞速发展,为系统的建设提供了技术条件。 (3)社会可行性分析 社会可行性有时也称为操作可行性,主要论证新系统在企业或机构开发和运行的可能性以及运行后可能一起的对企业或机构的影响,即组织内外是否具备接受和使用新系统的条件。在当前信息技术飞速发展的大环境下,计算机技术和软件技术的更新是图书馆完全有可能也有能力采用这样先进的管理技术。它对图书馆带来的影响可以看到: (a)对传统管理理念的冲击,可能引起管理层的变动和人员的调整。 (b)对图书馆工作人员的要求提高,使图书馆在一定的可能下进行机构精简,迫使工作人员继续
8、学习新知识,拓宽图书馆在市场环境下的生存空间。 (c)对图书馆与读者之间业务方式的转变和扩充。 (4)管理可行性上分析 该单位有良好的图书馆管理体制。图书已被编码,每位借书人均有借书证,同时图书馆还为每位借书人建立了档案。因此管理上可行。 1.2.2 效益分析 本系统主要实现对图书馆信息的管理,主要功能为管理有关读者,书籍,借阅和管理者的信息等。本系统结构分为读者信息管理模块,书籍信息管理模块,借阅信息管理模块,管理者信息管理模块。读者信息管理部分有两方面的功能,可以浏览读者的信息,可以对读者信息进行维护。书籍信息管理可以浏览书籍的信息,可以对书籍信息进行维护。借阅信息
9、管理可以显示当前数据库中书籍借阅情况,可以对借阅信息进行维护。管理者信息管理可以显示数据库中管理者的情况,可以对管理者信息进行维护。可见,本系统并不复杂,主要解决的问题是利用关键字对数据库进行查询。所以说设计和开发一个图书馆管理系统会让使用者受益良多,而且对城市文化的推广也帮助明显,这将会给城市带来显著的经济和社会效益。 2.系统需求分析与功能设计 2.1 界面需求分析 1.图书管理系统进入界面:可以了解图书馆的规模:现藏书册数、种类。可以对图书检索,了解图书馆历史。 2.图书管理系统检索结果界面:阅览服务、借阅服务、网络图书馆服务、办理通用借阅证服务、技术维护服务、参
10、考咨询服务、数据库检索、代理科技查新服务、定题服务、原文传递服务、代查代检服务、用户培训服务、上网上机及多媒体阅览服务、网络导航服务、学术报告及影视放映服务、文献复制服务 3.图书管理系统部门界面:馆内设有办公室、业务部、采编部、系统部、借阅部、参考咨询部、技术服务部、特藏部、期刊部、数字化部和东北文献中心等部门。 4.图书管理系统馆职工界面:可查询在职人员,入职和离职时间,工资查询,等。 5.图书订购界面:购书主要来源查询;购书流程,学校上报,政府招标,选定书商,书商供书,整理上架。 6.图书管理系统后台管理功能界面。 采编组负责图书采编工作,包括购置新书、打印编目、增加数量;借阅
11、组负责图书流通、查询统计、借阅查询等工作。各书库组负责图书整理,修复以及图书的借阅流通期刊浏览室负责报刊征订,验收以及报刊的阅览过刊阅览室负责报刊的装订修复以及报刊的整理;电子阅览室负责电子阅览及资料的整理,负责电子阅览设施的维护保养;机房负责图书馆管理系统的管理维护;书证制作组负责借书证的制作及挂失补办等业务读者咨询负责图书的检索以及读者服务;信息数据组负责电子阅览室的信息收集及管理工作; 2.2 服务器端需求分析 服务器作为后台,需要专业人员对数据进行操作个维护,而一般情况下可以由非专业性人员借助帮助文档或对应的管理软件对服务端进行简单操作。服务器端可以通过数据库同步,为客户数据
12、库端提供最新的数据,而一般情况下,服务器端需要完成以下功能: 1. 后台数据管理: 服务器的后台数据管理主要是针对数据库的数据进行操作,主要是 实现数据的增、删、改、查功能; 2. 数据同步功能: 利用Servlet技术响应客户端的请求,返回客户端相应的数据,数据以数据流的方式传递。 服务器端的功能模块划分如下: 借阅 拒绝借阅 归还 图书管 借书信息 学生 续借 理系统 罚款单 学生 查询书籍
13、 统计 管理员 图书管理系统第一层图 图书管理系统第二层图: 学生 借书证 审核借书证 第一次借书 建档 拒 证 绝 件 借 无 书 效 管理员 借书10本或库存无 借书审核
14、 删除库存记录 修 修 改 改 借书文件 库存文件 借阅图书 学生 还书 还书审核 超过两个月 处理罚单 罚款单
15、 还书 信息 借书文件 登记入库 修改 库存记录 归还图书 学生 续借 记录续借时间 超过一个月 罚款处理 修改 借书文件
16、 续借 学生 借书证 查询图书信息 查询 2.3客户端需求分析 对于客户端来说,我设计的是在电信操作系统平台下,如果将系统安装在电信上以后,用户可以通过系统来查询自己需要书籍信息,而无法通过电信来对数据库和服务器端的数据库进行操作。对于用户来说,没有这个权限。只有特定的管理员用户可以通过修改源码来对界面等信息的操作,而管理员用户也可以对数据库进行操作,以便更新公交信息。而对于图书管理系统来说,实现的主要功能如下: 借阅:输入读者借书证证号,若借书证有效,对于第一次借书者,在借书证上建立档案,否则
17、查询借书信息,若借书10本者,不予以借阅,未达10本,予以借书,查询库存,修改库存文件,并将学生信息输入借书文件。 归还:输入读者借书证号,查询借书记录和库存记录,查阅所借日期和所借图书,若超过两个月,则按逾期1天1毛钱罚款,修改库存文件与借书文件。 续借:输入读者借书证号,查询借书文件和库存文件,查阅所借日期和所借图书,修改借书文件给以续借,续借最长时间为一个月,逾期给以罚款。 查询书籍:输入借书证号,查询借书文件,了解所借书情况和读者情况,通过库存文件,查询欲借图书情况。 图书管理系统功能模块如下: 根据图书管理系统的实际需求,可以将图书管理系统划分为系统设置
18、图书管理、读者管理、图书借还、系统查询、排行榜6个部分各个部分的具体功能的系统功能结构图如下图。 图书管理系统 系统设置 管理员设置 书架设置 读者管理 排行榜 图书管理 图书借还 系统查询 读者类型管理 图书借阅排行榜 读者借阅排行榜 图书借阅查询 图书档案查询 图书归还 图书借阅 图书档案管理 图书类型管理 读者档案管理 系统功能结构图 2.4 开发环境需求分析 运行环境:兼容当前主流操作系统 Windows 2003/XP/Vista 硬
19、件环境:Pentium以上计算机。 开发软件:SQL Server 、JAVA、ASP等 技术上的可行性分析主要分析现有技术条件能否顺利完成开发工作,硬件、软件配置能否满足开发者的需要,各类技术人员的数量,水平,来源等。图书馆管理系统的工作主要是在读者和图书馆之间架起一座桥梁,能相互沟通信息和处理信息。这一特点非常适合计算机特点,通过网络Internet技术,发挥计算机的信息传输速度快、准确度高的优势。计算机硬件和软件技术的飞速发展,为系统的建设提供了技术条件。 3. 总体设计 (根据功能需求,设计系统的总体结构。系统总体功能模块图,菜单的设计) 3.1基本设计概念和处理流程
20、 3.2处理流程 基本数据管理子系统DFD图 借阅管理子系统DFD图 借书过程 查询子系统DFD图 3.3总体结构与模块外部设计 3.4功能分配 1.图书管理员: 功 能 模 块 浏览 添加 修改 删除 查询 授权 添加记录 √ 删除记录 √ 更改记录 √ 显示记录 √ √ √ √ 查询 √ √ √ √ √ 2.出版社: 功 能 模 块 浏览 添加 修改 删除 查询 添加记录 √
21、 删除记录 √ 更改记录 √ 显示记录 √ √ √ √ 查询 √ √ √ √ 功 能 模 块 3.图书分类: 浏览 添加 修改 删除 查询 添加记录 √ 删除记录 √ 更改记录 √ 显示记录 √ √ √ √ 查询 √ √ √ √ 4.图书编目: 功 能 模 块 浏览 添加 修改 删除 查询 添加记录 √ 删除记录 √ 更改记录 √
22、 显示记录 √ √ √ √ 查询 √ √ √ √ 5.图书借阅等级: 功 能 模 块 浏览 添加 修改 删除 查询 添加记录 √ 删除记录 √ 更改记录 √ 显示记录 √ √ √ √ 查询 √ √ √ √ 6.图书库存信息: 功 能 模 块 浏览 添加 修改 删除 查询 添加记录 √ 删除记录 √ 更改记录 √ 显示记录 √ √ √ √ 查询 √ √
23、 √ √ 7.读者借阅等级: 功 能 模 块 浏览 添加 修改 删除 查询 添加记录 √ 删除记录 √ 更改记录 √ 显示记录 √ √ √ √ 查询 √ √ √ √ 8.读者信息: 功 能 模 块 浏览 添加 修改 删除 查询 添加记录 √ 删除记录 √ 更改记录 √ 显示记录 √ √ √ √ 查询 √ √ √ √ 9.图书操作: 功 能 模 块 借出
24、 续借 归还 丢失 预约 查询 统计 打印 借出 √ 续借 √ 归还 √ 丢失 √ √ 添加记录 √ √ √ √ √ 删除记录 √ 更改记录 √ √ √ √ 显示记录 √ √ √ √ √ √ √ √ 查询 √ √ √ √ √ √ √ √ 4. 数据库设计(完成数据库的概念设计、逻辑设计,按数据库设计方法和规范化理论得出符合3NF的逻辑模
25、型, ER图设计,ER图转化为相应的关系模式,设计数据库的逻辑模型(以表格),在机器上完成数据库的物理设计) 4.1 数据库设计 根据系统要求,可以列出以下数据项和数据结构。 1 用户信息表 用户信息表的结构如图1-3所示。 需要说明的是用户级别是使用一个数字来表示的。1表示系统管理员。从2以上每个数字 分别表示一种用户级别。数字越大用户的权限就越小。具体实现是通过和书目阅读权限级别进行比较,例如:某本书的阅读权限是3,那么这有用户级别是1,2,和3的用户可以阅读。 用户信息表的一些初始化数据如图1-4所示。 2 书目信息表
26、 书目信息表的结构如图1-5所示。 结构如图1-5 这里的书目存放目录地址指的是书目在服务器上存放的相对目录,所有书目都存放在服务器的library目录下,因此这些书目的dir属性都是以“/library”开头的。如果服务器上的书目存放在不同的目录下,那么dir的属性应该以相应的目录开头。 3 书目类别表 书目类别表的结构如图1-7所示。 需要说明的是,对于书目的某一个类别,编号和类别编号都是唯一的。为了区分类别,只需要一个编号就够了。但是考虑到要对类别进行排序,以便对类别的显示顺序进行调整,因此增加了一项“编号“作为
27、唯一标识。 4书评信息表 书评信息表的结构如图1-9所示。 5书目评分信息表 书目评分信息表的结构如图1-10所示。 6 书签信息表 书签信息表的结构如图1-11所示 7 推荐书目表 8 新书信息表 新书信息表的结构如图1-14所示。 9 访问次数表 访问次数表的结构如图1-16所示 10 书目类别临时表 书目类别临时表的结构与书目类别表相同,如图1-17所示。这个表是用来存放临时数据的。 5
28、 程序模块设计 (设计并编写输入\输出、查询\统计、数据维护等功能模块的应用程序, 每个人设计2个以上的模块,一个组完成一个完整的系统,数据库访问,存储过程调用等作重点阐述) 图书管理系统功能模块如下: 根据图书管理系统的实际需求,可以将图书管理系统划分为系统设置、图书管理、读者管理、图书借还、系统查询、排行榜6个部分各个部分的具体功能的系统功能结构图如下图。 图书管理系统 系统设置 管理员设置 书架设置 读者管理 排行榜 图书管理 图书借还 系统查询 读者类型管理 图书借阅排行榜 读者借阅排行榜 图书借阅查询 图书档案查
29、询 图书归还 图书借阅 图书档案管理 图书类型管理 读者档案管理 系统功能结构图 6. 技术难点与分析 (主要内容:本课题在设计过程中所遇到的技术难点及解决方法。) 系统出现了一些技术难点大致如下: 1、建立合理的表结构,避免数据冗余 各表通过特定字段实现不同表的数据连接,避免数据冗余,需要设计简洁高效的表结构。 2、建立相当的系统安全性 登录用户身份的验证机制的设计、操作页面的权限保护。 3、建立严密的数据表操作机制 同一表有可能在多个模块中被修改,所以严密的数据表操作机制的建立十分比较困难的,
30、但也是必须的。除了设计时必须有相当程度的考虑,在编制时更应加强程序逻辑的可靠性和程序调试的全面性。 7.系统测试 3.测试设计说明 3.1用户登录(01) 本测试考虑到:未注册用户名的处理,用户名与密码不匹配处理 3.2.1控制 利用白盒测试和黑盒测试相结合的方式。 3.2.2输入和输出 输入与测试用例 期望输出 选取理由 输入用户名,不输入密码 显示未输入密码 密码不能为空 不输入用户名,输入密码 显示未输入用户名 用户名不能为空 输入
31、不匹配的用户名或密码 显示密码不正确 用户名和密码必须匹配才能登录 输入未注册的用户名 显示该用户不存在 登录必须为已注册用户 输入匹配的用户名和问题 显示登录成功 为合法登录请求 3.2维护学生信息模块(02) 本测试考虑到:输入信息格式的合法性,图书是否注册。 3.3.1控制 利用白盒测试和黑盒测试相结合的方式。 3.3.2输入和输出 输入 测试用例 测试数据 期望输出 选取理由 年龄(数字) 非数字字符 小于0的数字 带小数点数 四位数字 2位数字 你 -1 12.2 1000 12 显示出错 显示出错 显示出错 显示
32、出错 显示有效 年龄不能为非数字字符 年龄不能为负 年龄不能为小数 年龄不能为四位小数 类型及长度均有效 姓名 非数字,特殊字符 123 ·# 张 三 显示出错 显示出错 显示有效 姓名不能为数字字符 姓名不能为特殊符号 类型有效 学号 输入的书号不存在 输入的是数字 输入的存在 小小 123 张 三 显示出错 显示出错 显示有效 不存在的不能进行信息修改 学号不能为数字 类型及长度均有效 3.3成绩录入模块(03) 本测试考虑到:输入信息格式的合法性,图书是否注册。 3.3.1控制 利用白盒测试和黑盒测试
33、相结合的方式。 3.3.2输入和输出 输入 测试用例 测试数据 期望输出 选取理由 学号 输入的书号不存在 输入的是数字 输入的存在 小小 123 张 三 显示出错 显示出错 显示有效 不存在的不能进行成绩录入 学号不能为数字 类型及长度均有效 成绩 字符 负数 有效 Abc -123 78 显示出错 显示出错 显示有效 成绩不能为字符 成绩不能为负数 类型及长度均有效 3.4维护用户信息模块(04) 本测试考虑到:输入信息格式的合法性,管理员是否注册。 3.4.1控制 利用白盒测试和黑盒测试相结合的方式。 3.4
34、.2输入和输出 输入 测试用例 测试数据 期望输出 选取理由 年龄(数字) 非数字字符 小于0的数字 带小数点数 四位数字 2位数字 你 -1 12.2 1000 12 显示出错 显示出错 显示出错 显示出错 显示有效 年龄不能为非数字字符 年龄不能为负 年龄不能为小数 年龄不能为四位小数 类型及长度均有效 姓名 非数字,特殊字符 123 ·# 张 三 显示出错 显示出错 显示有效 姓名不能为数字字符 姓名不能为特殊符号 类型有效 id 输入的id不存在 输入的是数字 输入的存在 小小 123
35、张 三 显示出错 显示出错 显示有效 不存在的不能进行信息修改 学号不能为数字 类型及长度均有效 3.5图书查询模块(05) 本测试考虑到:输入信息格式的合法性,图书是否注册。 3.5.1控制 利用白盒测试和黑盒测试相结合的方式。 3.5.2输入和输出 输入 测试用例 测试数据 期望输出 选取理由 学号 输入的书号不存在 输入的是数字 输入的存在 小小 123 张 三 显示出错 显示出错 显示有效 不存在的不能进行基本信息查询 学号不能为数字 类型及长度均有效 姓名 输入的姓名不存在 输入的为数字 Abcd 111 显
36、示出错 显示出错 不存在的不能进行基本信息查询 姓名不能为数字 成绩 字符 负数 有效 Abc -123 78 显示出错 显示出错 显示有效 成绩不能为字符 成绩不能为负数 类型及长度均有效 8. 心得体会 (主要对本课题开发过程进行归纳和总结,还应包括所得结果与已有结果的比较和本课题尚存在的问题,以及进一步开发的见解与建议。感谢对本课题研究与论文撰写过程中曾直接给予帮助的人员) 从确定实训所设计的系统名字到最后实现和开发出这个系统;从什么都没有到一步步搭建模块;从什么都不懂到一个个了解。通过2个星期的不懈努力,我终于是将这个系统实现了。
37、在设计的过程中,出现了许多难点和问题,我通过同学的帮助,老师的细心讲解,自己通过网络的查询。慢慢的把一个个问题解决,一个个错误找出并纠正。 通过这次实训,我了解到没有什么东西是想到就有的,像设计这个系统,我有这个系统的想法,但是却没真正实现这个系统的作品。所以我通过一部分一部分的推敲,一个一个解决,在这段时间里,我有过实现模块的喜悦,有过设计过程的迷茫,其实这些都是实训过程中的一种编程体会。这些酸甜苦辣伴随着我前进的每一步。路是一步一步走出来的,什么都不是凭空想出来的。所以说在思考问题和寻找出路时应沉着冷静,保持耐心。这样才能解决问题。 在这次实训中,我是先设计这个系统,再编写代码
38、所以说必需对这个系统进行全面的需求分析和系统规划。开始时,我总是没注意这个,没想到那个,这让我前期在设计时,出现了许多漏洞,不过通过我后期的发现以及解决,这才让我的系统慢慢完善,慢慢成型。这让我了解到想做好一个系统前必需先对系统进行分析,不然后期会出现难以解决或不能解决的问题。先分析也会对我后期的测试有很大的帮助。 综上所述,通过这次实训,让我学到了许多知识,许多解决问题的思路,它让我在面对艰难险阻时有击败的把握。这次的实训将让我在以后的日子里影响着我、推动着我。 9. 参考文献 [1] 张海藩.软件工程导论(第五版)[M].北京:清华大学出版社,2008 [2] 刘乃丽.精通ASP.NET2.0+SQL Server 2005项目开发.[M].北京:人民邮电出版社, 2007:100~150. [3] (美)沃尔特,本-甘,萨卡.Microsoft SQL Server 2005技术内幕-T-SQL程序设计[M].北京:电子工业出版社,2007:50~80.






