基于工作流和数据挖掘的高校图书馆管理系统的 设计与实现

来源: 未知 作者:paper 发布时间: 2020-03-31 19:33
论文地区:中国 论文语言:中文 论文类型:教育论文
顺应信息时代大趋势,信息管理系统在各行各业被迅速建立和推广起来,高 校图书馆也不例外,曾经图书馆管理严重依赖人工,通过用纸笔来进行记录和管 理,繁琐且低效,信息系统
摘要
顺应信息时代大趋势,信息管理系统在各行各业被迅速建立和推广起来,高 校图书馆也不例外,曾经图书馆管理严重依赖人工,通过用纸笔来进行记录和管 理,繁琐且低效,信息系统的建立可以有效地解决这些问题。然而与普通的信息 系统相比,图书管理系统要为广大师生提供图书借阅,信息查询等服务,逻辑业 务更大,对效率要求更高,现有的系统大多照搬已有的信息管理系统模式,无法 满足广大师生的借阅需求。
以此为背景,本文拟对传统图书管理系统进行改进,首先通过阅读相关文献 对国内外研究现状进行讨论,进而介绍了图书馆设计开发涉及到的相关技术,其 后介绍了本文所引入的基于工作流模型的图书馆设计方案和出基于数据挖掘的 图书个性推荐模块设计方案,最后阐述了基于以上两方面的图书馆系统设计与实 现过程。本文的主要工作内容如下:
(1)提出基于工作流模型的图书馆管理系统设计方案
针对图书馆系统流程和规则较为复杂的特点,本文引入工作流的模型,从读 者和管理员等参与者角度出发,设计图书馆书籍,借阅,用户管理的自动化处理, 规范图书管理系统中业务流程,提高图书馆管理系统的运行效率。首先对工作流 技术进行介绍和总结,进而针对图书馆管理的特点,分析并设计了基于工作流的 图书管理系统的体系结构,最后给出图书馆管理工作流的参考模型。
(2)提出基于数据挖掘的图书个性推荐模块设计方案
传统的图书馆系统还停留在被动地为读者用户提供信息服务的层面,为了进 一步提高图书馆的服务质量,体现以读者为中心的人文关怀理念,本文引入了数 据挖掘的方法,采用协同过滤算法,从图书馆数据库系统中提取相关信息,以用 户借阅的相关记录以及与之记录与之类似的读者的阅读书目为依据,对读者的兴 趣和特征进行分析,挖掘出读者可能感兴趣的书籍进行推荐,从而使图书馆完成 由被动提供服务向主动推送服务的角色的转变。
(3)设计并实现基于工作流和数据挖掘的图书馆系统
在具体实施过程中本文运用软件工程的相关思想,进行需求分析和详细设计, 对图书馆的业务逻辑进行建模,通过定义工作流,完成图书馆管理事务中的一系 列流程;接着运用ASP.NET应用开发框架,设计并实现基于B/S构架的高校图 书馆管理系统,同时将基于协同过滤的个性化图书推荐子系统集成入系统;在完 成系统的编码部署后还对系统进行了详尽的测试,测试结果表明,本系统运行良 好,具有较好的可用性。最终以期实现图书馆的数字化,智能化管理。
目 录
第一章绪论 1
1.1研究背景与意义 1
2.2国内外研究现状 1
1.3主要工作与方法 2
1.4章节安排 3
第二章 相关技术及发展现状 5
2.1工作流技术 5
2丄丄工作流定义 5
2.1.2工作流管理系统 5
2.1.3工作流技术的优势 6
2.2数据挖掘概述 7
221数据挖掘定义 7
2.2.2数据挖掘技术 7
2.2.3数据挖掘工具 8
2.3ASP.NET 框架 9
232简介 9
232ASP.NET的生命周期 9
2.4IIS服务器 10
第三章 图书馆管理系统分析 13
3.1图书馆管理系统概要分析 13
3.1.1系统的目标 13
3.1.2系统要解决的问题 13
第四章 图韦馆管理系统设计 18
4.1图书馆管理系统功能模块设计 18
4.2图书馆管理系统数据库设计 19
422数据库概念设计 19
第五章基于工作流和数据挖掘的图书馆系统的实现 30
5.1运行环境和工具 30
5.2基于协同过滤算法的图书推荐 30
5.2.1协同过滤算法思路 30
第六章图书馆管理系统测试 47
6. 1功能测试 47
6.1.1图书馆管理系统前台测试 47
第七章总结与展望 54
7.1总结 54
第一章绪论
1・1研究背景与意义
随着个人计算机的普及和互联网时代的到来,人们走入了信息化和数字化的 时代。这场变革在逐渐的改变人们的生活和工作的方式,各类信息管理系统润物 细无声般地融入了各行各业,逐步地代替传统的依靠人工纸张办理记录的工作模 式。信息管理系统相比传统工作方式具有明显的优势:沟通更加方便,借助信息 技术,即时通讯、电子邮件、语音和视频通话可以使得人们更快、更便宜、效率 更高地进行交流和沟通;促进全球化以及消除文化鸿沟,通过实施部署信息系统, 可以消除语言、地理和一些文化边界。使得分享不同国家、语言和文化之间的信 息、知识、交流和关系变得更加容易;较高的可用性,信息系统使企业和机构24x7 全天开放,为目标人群提供服务;提高成本效益和生产力,信息管理系统的应用 促进了相关企业机构更有效率地运作,也改善了向决策者提供的信息的途径,从 而提高决策力⑴。由此可见,信息管理系统对于那些工作流程复杂,信息量大, 信息记录繁杂,服务请求频繁的行业显得尤为重要。
放眼如今高校图书馆,站在管理者的角度,馆藏海量的图书资源,囊括各个 学科专业,需要分门别类去管理,而每天又有数量繁多的借书和还书的业务等待 处理,图书馆管理系统业务流程设计的合理性以及性能的健壮性将直接影响到图 书馆工作人员的工作效率和服务质量;站在师生的角度而言,他们需要从浩瀚的 书海中去查找到自己所需要的图书资源,图书馆管理系统功能是否齐全,交互是 否人性化将直接影响到高校师生科研教学的质量。因此,结合高校的实际应用场 景设计并开发出一套功能完善,性能健壮,交互友好的高校图书管理系统是很有 必要的。
1.2国内外研究现状
图书馆作为提供书籍、手稿、录音、电影或参考资料供私人或公共使用的公 共资源的场所,通常要能够处理一系列的信息,例如采购,馆际互借,编目,流 通,连载管理,统计报告等,业务繁多,流程复杂,因此如何高效合理地处理图 书馆的日常业务一直是图书馆行业的热点问题,自从信息管理系统的出现,便被 迅速地应用到了图书馆管理的场景中。从上个世纪80年代开始,国内外研究者 便在探索如何设计实现高可用的图书馆管理系统。
D.Chudnov为文献⑵中所提开放源代码系统的图书馆项目的创始人,文中提 到了三个图书馆相关开源软件项目。这些项目成为了日后的图书馆管理的三大系 统软件包。第一个组件是一个传统组件,例如书籍采购,图书分类等;第二个组 件是馆间协调系统。因为一个图书馆可能没有所有需要的资料,馆际互借是其资 助人向其他图书馆索取这些资料的一种方式。最后一个部分是管理电子材料和数 字媒体的系统。除了上述三个主要组件外,图书馆管理系统软件包还必须包含一 个共同共享的组件,例如用户帐户管理特性、安全组件、警报系统特性、统计报 告开票和制作统计报告的会计系统或其他行政决策支持材料。
在过去的十年里,有许多图书馆管理系统问世。广泛使用的商业产品包括来 自创新界面的Millennium⑶,来自SirsiDynix的HORIZON⑷,来自Ex Libris的 ALEPH⑸和Voyager⑹。然而,许多图书馆可能负担不起这些商业产品。此外,一 些图书馆可能有自己的特殊要求,这可能还会继续增加成本。
随着web2.0的到来,国内的图书馆管理系统在基本的图书管理之上功能越 来越多,但是存在着明显的问题,即功能模块之间的信息缺乏共享和融合,信息 孤岛的现象越来越突出。相关研究工作者提出了 libaray2.0冋的理念,即以读者 为中心,围绕着读者的借阅需求设计开发系统,近些年来越来越多的高校引入了 该思路,有效地提高了图书馆的管理效率和服务质量,然而这些系统还是停留在 被动地为用户提供服务的阶段。伴随着数据挖掘和机器学习等技术的发展,各式 各样的推荐系统被开发出了,推荐系统可以根据用户的特点为用户推荐相关的内 容和服务,和以读者为中心的设计理念不谋而合,因此近些年有学者提出并设计 基于数据挖掘的图书馆系统,文献[9]介绍了数据挖掘在图书馆系统中的种种应 用,其中最见常用的应用是推荐系统。
1.3主要工作与方法
在对本课题开展研究之前,首先对研究背景和现状进行充分的调研,明确了 课题的现实意义,并对本课题的国内外研究现状进行了综述性调查。通过研究分 析前人工作,发现图书馆管理的主要内容都与业务流程比较依赖,而工作流技术 可以适合这种业务流程场景,因此考虑引入工作流来简化明确系统业务流程,提 高系统效率和稳定性。
另外纵观近些年来图书馆管理系统的研究案例,主要集中于对系统性能和稳 定性的优化,鲜有对功能性的研究,结合当下,提出将数据挖掘技术引入图书馆 管理系统,通过对读者的习惯和爱好进行分析,个性化地推荐书籍给读者,提高 系统易用性和人性化。
最终,本文将采用当下流行的B/S架构设计实现系统。首先运用软件工程的 相关理论基础,对图书馆管理系统的需求进行分析,接着对系统的用户分析,并 依此对系统的功能模块划分,进一步细化,对系统中的实体对象进行分析,实现 对数据库的设计。最终,利用ASP.NET对系统进行编码实现。
1.4章节安排
本文围绕着所提出的课题,阐述了基于工作流和数据挖掘的高校图书馆管理 系统。本文将分章节对所提课题相关工作进行介绍:
第二章为相关技术及发展现状。主要涵盖了对工作流技术、数据挖掘技术、 ASP. NET框架、IIS服务器以及SQL Server数据库管理系统等概念的介绍。对系 统设计实现过程中所可能运用到的相关理论和技术细节进行逐一阐述。
第三章为系统分析。在系统设计之前,需对系统进行详尽的分析,主要包括 对系统目标和拟解决的问题进行分析,进而根据计划的目标和研究内容,分析系 统的可行性,主要是从经济和技术两个方面来阐述系统的可行性;在确定系统的 可行性之后,对基于工作流和数据挖掘的高校管理系统的需求进行分析。
第四章为系统设计。在完成相应分析后,需完成对所提的图书馆系统的设计, 由概要到具体,由总体到细节,分别是对功能模块的总体设计,实体关系设计, 系统的数据库的详细设计,以及系统各个功能模块的具体流程设计。
第五章为系统实现。在前两章的基础上,对系统进行编码实现,介绍编码实 现中所需要的开发环境以及工具,进而对系统的具体实现细节进行阐述,分别从 登录页面、前台访问页面和后台管理页面三个部分进行介绍,并给出系统功能实 现的效果图。
第六章为系统测试。在系统实现后,对系统进行测试。分别通过功能测试和 性能测试,来验证基于工作流和数据挖掘的高校图书馆管理系统的可用性和鲁棒 性。
第七章为总结与展望。在完成对本文所提系统的设计与实现的基础上,对全 文所作的相关工作进行总结,并对以后的研究和改进提出了展望。
第二章相关技术及发展现状
在确立本文主要的研究内容和实施方法之后,本章将针对问题研究和系统设 计开发过程中所涉及到的相关技术进行简要的阐述,具体地讲,本章将分别对工 作流技术、数据挖掘、ASP.NET框架、IIS服务器、SQL Server数据库等相关技 术进行简明扼要地阐述和介绍。
2.1工作流技术
2.1.1工作流定义
工作流管理是组成组织工作的任务的协调。“工作流程”是指一系列任务,它 们是一些较大任务的一部分,有时也是“业务流程”的同义词。工作流的目的是实 现一些结果,工作流管理的目的是根据一些目标实现更好的结果【缺⑹。
工作流程支持应用程序,组织和人员之间的协作。基于工作流的管理系统的 组件或子系统可以分为以下几类:
路由系统:这是工作流管理系统的基本功能。它有助于信息流或文档流的路 由,它将信息从一个工作项传输到下一个工作项,此功能不会响应特殊情况。
分配系统:这个功能是一个扩展。它检测特殊情况并将信息传送到指定的工 作位置。通过动态分配,它可以将新任务分配给工作不足的位置,以实现工作流 内的工作负载的延续或平衡。
协调系统:此函数协调并发活动,以防止资源冲突或优先级冲突。
代理人制度:此功能自动执行legworko这减轻了不需要决策的操作的执行 实例。
助理系统:此功能将以前的功能扩展到流程调整实例以及进一步操作的提议。 基础是人工智能的方法。
2.1.21作流管理系统
工作流管理系统是通过自动化管理协调通用于不同的工作流程的部分支持 工作流管理软件[⑷。在雇用员工的示例中,工作流管理系统将管理关于每个招聘 流程的信息和诸如候选人的简历之类的文档,并根据预定义的招聘工作流程协调 招聘人员,调查员和其他人员的任务分配。
工作流管理系统旨在成为可以支持任何工作流程的通用工具。工作流管理系 统通常提供以下功能:
(1)用于指定工作流的图形流程设计器,可能使用业务流程模型和符号标 准。
(2)表单构建器,用于创建用于输入结构化工作流数据的用户界
(3)用于在文件中上载非结构化数据的文档集成。
(4)人们可以用来发现要处理的任务的“收件箱”。
(5)通知参与者工作流程更改的通知,例如分配任务的时间。
(6)可以设置的访问权限,以控制谁可以做什么。
(7)报告,提供正在进行的工作和已完成工作的概述。
集成点使系统集成成为可能。这种广泛的功能意味着工作流管理系统是一种 相对复杂的软件产品。然而,最简单和最重量级的产品之间仍然存在很大的复杂 性。
2.1.31作流技术的优势
采用了工作流技术机制的信息管理系统在提高工作效率方面可以大大提高 工作效率,例如跟踪团队的任务或软件缺陷。这些系统有助于提高工作流程的可 见性和可靠性,这意味着它可以帮助管理人员密切跟踪所有内容,并确保每个团 队成员都知道他们应该做什么。具体地,工作流技术具有以下优点:
工具可以适应业务流程,而不是业务流程去适应工具:让团队改变他们的工 作方式以适应工具要比去适应流程要难的多。
工作流程很容易在系统运营中进行调整或修改:业务流程不断发展,将会需 要进行一些更改。使用灵活的系统,操作人员可以在工作过程中轻松调整流程, 这是相当必要的。
不同的团队可以使用单一平台来管理和自动化他们的系统:灵活的工作流管 理系统允许不同的团队在单个工具上管理不同的流程,减少学习使用不同工具所 花费的时间以及维护多个平台的成本。
自动与团队成员/客户进行沟通:大多数动态工作流管理系统允许设置预先 设计的自动化电子邮件,以便向团队成员和客户通知流程中的重要步骤或事件, 从而节省花费的时间和金钱,而不需人工手动编写数百封电子邮件。
集成系统以消除人为错误:动态工作流管理系统通常很容易与不同团队已经 使用的大多数(如果不是全部)系统集成。集成不仅有助于降低流程管理成本, 而且还可以大大有助于防止人为错误。
2.2数据挖掘概述
2.2. 1数据挖掘定义
数据挖掘a"]是一项流行的技术创新,可将大量数据转换为有用的知识,帮 助数据所有者/用户做出明智的选择,并采取明智的行动以实现自身利益。具体 而言,数据挖掘在巨大的数据集中寻找隐藏的模式,这些模式可以帮助理解,预 测和指导未来的行为。更技术性的解释:数据挖掘是一组方法,用于分析来自各 个维度和视角的数据,查找以前未知的隐藏模式,对数据进行分类和分组以及总 结已识别的关系。
数据挖掘的要素包括将数据提取,转换和加载到数据仓库系统,管理多维数 据库系统中的数据,提供对业务分析师和IT专家的访问,通过工具分析数据以 及将数据呈现在有用的数据中格式,例如图形或表格。这是通过使用统计分析, 机器倾斜和神经网络来识别使用类,集群,关联和顺序模式的关系来实现的[国。
2.2. 2数据挖掘技术
数据挖掘技术在不断地发展。已经出现了许多创新的、直观的技术,它们对 数据挖掘概念进行了微调,以便让用户更全面地了解自己的数据,并在未来具有 相当的发展前景。数据挖掘专家采用了许多技术,其中一些技术如下:
1.查找不完整数据:
数据挖掘依赖于当前的实际数据,因此,如果数据不完整,结果将完全偏离 标记。因此,如果可能的话,有足够的能力去检测出不完整的数据是非常必要的。 自组织映射(SOM5s)等技术通过可视化多维复杂数据模型,有助于映射丢失的数 据。对于缺失输入的多任务学习,将一个现有的、有效的数据集及其过程与另一 个兼容但不完整的数据集进行比较,是查找此类数据的一种方法。利用智能算法 构建的多维感知器可以解决数据的不完全属性问题。
2.数据库分析:
数据库以结构化格式保存关键数据,因此使用自己的语言(如SQL宏)构建 的算法(用于查找组织数据中的隐藏模式)非常有用。这些算法有时会被嵌入到数 据流中,例如,与用户定义的函数紧密耦合,以及在大数据中分析出具有意义的 结果。
一种好的技术是随时将来自大型数据库的数据快照转储到缓存文件中,然后 对其进行进一步分析。同样,数据挖掘算法必须能够从多个异构数据库中提取数 据并预测变化的趋势。
3.文本分析:
这个概念对于自动查找嵌入在大量文本文件、文字处理文件、PDF等表示文 件中的文本中的模式非常有用。例如,文本处理算法可以找到重复提取的数据, 这在出版行业或大学追踪剽窃非常有用。
4.高效处理复杂和相关数据:
一个数据仓库必须支持交互式和基于查询的数据挖掘,用于各种数据挖掘功 能,如分类、聚类、关联、预测。联机分析处理(OLAP)就是这样一种有用的方法。 促进交互式数据挖掘的其他概念包括分析图形、聚合查询、图像分类、元规则引 导挖掘、交换随机化、和多维统计分析。
选择的数据挖掘算法的相关性和可伸缩性:
在选择或选择数据挖掘算法时,必须牢记预测的业务相关性和可伸缩性,以 降低未来的成本。为了提高时间效率,多个算法应该能够并行执行,独立地执行, 并且不会干扰跨界业务应用程序,尤其是注重时间消耗的应用程序。
2. 2. 3数据挖掘工具
下面列出了一些流行的多用途数据挖掘工具:
1.WEKA:这是一个基于JAVA的定制工具,可以免费使用。它包括可视化 和预测分析和建模技术,聚类,关联,回归和分类。
2.Rapid Miner :这是非常受相关工作者欢迎的一款数据挖掘工具,因为它是 一个现成的,开源的,先进的分析软件。用Java编写的,它包含了多方面的数据 挖掘功能,比如数据预处理、可视化、预测分析,可以很容易地集成和WEKAR- tool直接给从脚本写在前两个模型。
3.Orange:这是使用数据科学的Python用户常用的一款数据挖掘工具。它是 一个Python库,用其丰富的挖掘和机器学习算法编译Python脚本,用于数据预 处理、分类、建模、回归、聚类和其他杂项功能。Orange还提供了一个可视化编 程环境,其工作台由用于导入数据、拖放小部件和链接以连接不同小部件以完成 工作流的工具组成。它具备用户友好的可视化编程界面,且带有大量在线教程帮 助。由于Python中的编程和集成很容易,对于新手和专家来说,Orange可以成 为深入数据挖掘的一个很好的起点。
4. Apache Mahout
Mahout主要是机器学习算法的一个库,可以帮助集群、分类和频繁模式挖 掘。它可以在分布式模式下使用,这有助于与Hadoop进行简单的集成。Mahout 目前正被Adobe> AOL、Drupal和Twitter等科技行业巨头所使用,它也对研究 和学术产生了影响。
2.3 ASP.NET 框架
2.3.1简介
ASP.NET"]是一种与.NET框架集成的统一 Web开发模型,旨在提供创建动 态Web应用程序和Web服务的服务。它构建于.NET框架的公共语言运行时(CLR) 之上,包括多语言互操作性,类型安全性,垃圾回收和继承等优点。
微软的Mark Anders和Scott Guthrie于1992年创建了 ASP.NET的第一个版 本。它的创建是为了通过分离表示和内容从而编写干净的代码,以结构化和面向 对象的方式促进分布式应用程序的开发。ASP.NET使用代码隐藏模型基于模型・ 视图■控制器架构生成动态页面。
它们与ASP的早期版本有一些区别。因此,ASP.NET的对象模型从ASP显 著改进,这使得它完全向后兼容ASP。这些差异包括:
1.使用已编译的代码(而不是解释的代码)。
2.事件驱动的服务器端脚本模型。
3.状态管理。
4.使用.NET框架的控件和库进行快速应用程序开发。
5.动态编程代码分别放在文件或专门指定的标签中。这避免了程序代码在 运行时被修改。
2. 3. 2ASP. NET的生命周期
应用程序生命周期包括以下阶段:
(1)用户请求访问应用程序资源,页面。浏览器将此请求发送到Web服务器。
统一管道接收第一个请求并发生以下事件;
⑵创建ApplicationManager类的对象;
(3) 创建HostingEnvironment类的对象以提供有关资源的信息;
(4) 编译应用程序中的顶级项目;
(5) 响应对象已创建。创建并初始化应用程序对象,如HttpContext, HttpRequest 禾口 HttpResponse;
(6) 创建HttpApplication对象的实例并将其分配给请求;
(7) 该请求由HttpApplication类处理,此类引发了不同的事件来处理请求。
2.4IIS服务器
IIS是Internet Information Service的缩写,代表"互联网信息服务”。IIS是 专为Windows Server设计的Web服务器软件包。它用于托管网站上的网站和其 他内容El。
Microsoft的Internet信息服务提供了用于管理网站和关联用户的图形用户界 面(GUI)。它提供了在Web上创建,配置和发布站点的可视化方法。IIS管理器 工具允许Web管理员修改网站选项,例如默认页面,错误页面,日志记录设置, 安全设置和性能优化。
IIS可以同时提供标准HTML网页和动态网页,例如ASP.NET应用程序和 PHP页面。当访问者访问静态网站上的页面时,IIS只会将HTML和相关图像发 送到用户的浏览器。当访问动态网站上的页面时,IIS运行任何应用程序并处理 页面中包含的任何脚本,然后将结果数据发送到用户的浏览器。
虽然IIS包含托管网站所需的所有功能,但它还支持向服务器添加额外功能 的扩展(或“模块”)。例如,WinCache Extension通过缓存PHP进程使PHP脚 本运行得更快。URL Rewrite模块允许网站管理员发布带有友好URL的页面,以 便访问者更容易输入和记忆。一个数据流扩展可以被安装到提供流媒体网站访问 者。
2.5SQL Server 数据库
2.5. 1简介
SQL Server是由Microsoft开发和销售的关系数据库管理系统或RDBMS。 与其他RDBMS软件类似,SQL Server构建于SQL之上,SQL是一种用于与关 系数据库交互的标准编程语言。SQL服务器与Transact-SQL或T-SQL绑定,后 者是Microsoft的SQL实现,它添加了一组专有的编程结构。
SQLServer有四个主要版本,它们具有不同的捆绑服务和工具。两个版本免 费提供:
SQL Server Developer版,用于数据库开发和测试。
SQL Server Expression适用于小型数据库,其大小最大为10 GB的磁盘存储 容量。
对于更大和更关键的应用程序,SQL Server提供包含所有SQL Server功能 的企业版。
SQL Server Standard Edition 具有 Enterprise Edition 的部分功能集,并且在服 务器上限制了可配置的处理器核心和内存的数量。
2.5. 2 SQL Server服务和工具
Microsoft与SQL Server —起提供数据管理和商业智能(BI)工具和服务。
对于数据管理,SQL Server 包括 SQL Server Integration ServicesC SSIS ), SQL Server 数据质量服务和SQL Server主数据服务。为了开发数据库,SQL Server提供了 SQLServer数据工具;以及管理,部署和监视数据库SQLServer具有SQLServer Management Studio (SSMS) [22]O
对于数据分析,SQL Server 提供 SQL Server Analysis Services (SSAS)。SQL Server Reporting Services (SSRS)提供数据的报告和可视化。机器学习服务技术 首先出现在SQL Server 2016中,该服务器已从R服务重命名。
对于示例功能包括:XML数据类型支持,动态管理视图(DMV),全文搜索 功能和数据库镜像。
2.5. 3SQL Server 组件
SQL Server由两个主要组件组成:数据库引擎和SQLOSo
数据库引擎是SQL Server的核心组件。数据库引擎由处理查询的关系引擎 和管理数据库文件,页面,页面,索引等的存储引擎组成。数据库引擎也创建并 执行数据库对象,如存储过程,视图和触发器。
关系引擎:关系引擎包含确定执行查询的最佳方式的组件。关系引擎也称为 查询处理器。关系引擎基于输入查询从存储引擎请求数据并处理结果。关系引擎 的一些任务包括查询处理,内存管理,线程和任务管理,缓冲区管理和分布式查 询处理。
存储引擎:存储引擎负责存储和检索来自存储系统(如磁盘和SAN)的数 据。在关系引擎和存储引擎下是SQLServer操作系统或SQLOSo SQLOS提供许 多操作系统服务,如内存和I/O管理。其他服务包括异常处理和同步服务。
2.6本章小结
本章主要针对问题研究和系统设计开发过程中所涉及到的相关技术进行介 绍,首先对本文所选择的工作流和数据挖掘技术进行概要的介绍;接着对设计和 实现系统所用的编程框架ASP.NET、WEB服务器IIS以及数据库管理系统SQL Servei'进行介绍,至此,本章对本文工作所涉及到的主要技术和框架已进行了简 要的介绍。
第三章图书馆管理系统分析
在软件工程理论中,系统分析是构建系统之初必不可少的环节。分析主要围 绕着系统的目标及要解决的问题、系统可行性、系统需求这几个方面进行探讨。
3.1图书馆管理系统概要分析
在对系统分析之初,首先需要对本文所提系统进行概要性分析。本小节将从 系统的目标出发,根据系统面向的用户为划分,介绍系统的主要设计方向和功能 目标,紧接着,对系统将要解决的问题进行阐述。
3.1.1系统的目标
本文以设计并实现面向高校的图书馆管理系统为目标,该系统主要面向的用 户为读者和系统管理员。为读者用户提供图书查询、借阅查询和个性推荐等功能; 为管理员提供图书管理、读者管理、借阅管理、系统管理等功能。系统需要能够 高效稳定地为广大师生提供服务,为工作人员的相关业务提供有力的支持,从而 达到提高工作效率和服务质量的目标。
3.1.2系统要解决的问题
本系统拟解决传统图书馆管理系统业务逻辑之间相互独立,缺乏协作,效率 低下的弊端,引入工作流机制,将图书馆管理系统后台的业务工作联系起来,提 高系统内部的运行效率。此外改变传统图书馆被动地为用户提供信息,主动为用 户推荐可能感兴趣地书籍名目,提高图书馆管理系统的服务水准。
3.2图书馆管理系统可行性分析
在确定开始对本系统进行具体设计与实现之前,将先结合系统目标、拟解决 的问题以及实际情况对所提系统进行可行性分析。以下将从经济可行性和技术可 行性两个方面对其进行分析。
顾名思义,可行性研究是对想法可行性的分析。可行性研究的重点是帮助回 答“是否应该继续提出项目构想么? ”这一基本问题。简而言之,可行性研究是 用于衡量成功完成项目的能力和可能性的分析,包括所有相关因素。它必须考虑 影响它的因素,如经济,技术,法律和调度因素㈤。在投入大量时间和金钱之前, 通过可行性研究可以在项目实施之前确定项目的潜在的积极或是消极结果。
3.2. 1经济可行性
本文所提的基于工作流和数据挖掘的高校图书馆系统是在对目前高校图书 馆发展现在做了充足调查研究后确立的课题,针对现阶段高校图书馆尚有的不足, 引入工作流机制,预计可以有效地简化图书馆管理系统的运作流程,提高图书馆 管理的工作效率,若能最终投入使用,将会带来一定的经济效益。且目前系统开 发的所需的主要包括编码和测试用的PC以及安装的软件费用,在可以承受的范 围之内,因此本课题是具备经济可行性的。
3.2. 2技术可行性
本文采用B/S架构,在进入Web2.0时代之后,就有大量的B/S架构的系统 相继被开发出来,被应用在生活生产的各个场景中,因此,有充足的案例和解决 方案可供参考;此外系统采用了微软的Asp.Net框架,该框架目前已经开源,有 丰富的社区资源,系统基于C#语言进行系统开发,该语言具有敏捷高效的特点, 借助Visual studio等一系列开发工具链,编码调试方便,可以大幅提高开发部署 的效率,利用.Net平台下开源的RoadFlow[24]可以轻松地完成工作流的系统集成, 利用Sql Server提供的数据挖掘服务SSAS(Sql server analysis service)[25]可以有效 地对数据库中的数据进行数据分析和挖掘。因此经分析可以得出本课题的技术是 可行的结论。
3.3图书馆管理系统需求分析
本文所提高校图书馆管理系统从用户类别进行分析,可以分为前台和后台两 个主要逻辑模块。其中,前台展示页面面向师生,为借阅者提供查阅预约以及个 性推荐等主要功能;后台管理页面面向图书馆管理员,为工作人员提供借还登记、 图书采购和图书录入等功能。对系统从整体层面进行分析,可以得出本系统主要 有以下功能性需求的结论:
1 •读者进入系统后,可以通过导航链接进入图书查询功能,在去图书馆之 前,查询图书馆中的图书信息,确定要借阅的书籍;读者在去图书馆借书成功后, 可以登陆系统,查看自己的借还记录,起到辅助核对借还信息,提醒还书日期的 作用;系统还需在读者登陆后,根据读者信息和在图书馆借阅的历史行为,个性 化地为读者推荐相关书籍信息。
2.管理员用户在登陆系统后,系统需要为图书馆管理员提供图书馆信息管理 页面,页面需包含对读者信息、图书信息、借阅记录、账户信息、个人信息等内 容的管理功能。
如图3.1所示,本文分析得出了系统边界,通过其可以划分出系统内部的参与 者、用例以及外部的参与者。从图中可以看到高校图书馆管理系统的用户可以划 分为读者用户和图书馆管理员用户。图书馆管理系统用例主要由读者信息查询和 管理员信息管理两部分组成。

基于工作流和数据挖掘的图书馆管理系统应该分为两大部分,由为读者用户
(教师和学生)提供图书信息查询服务的前台信息查询页面和负责提供给图书管 理员的后台管理页面和组成。接着将以不同的用户类别为依据,创建不同的用例, 进一步地对系统的功能进行分析。
(1)读者图书信息查询页面功能需求
读者用户在成功登陆系统后,可进入图书信息查询功能页面。学生用户用例 图如图3. 2所示:
具体地,功能查询页面需要具备以下的功能:
1.查询图书,读者用户登陆后,可以在该功能页面下根据关键词搜索所需求 或是感兴趣的书籍,并查看书籍的相关介绍。
2.借阅查询,读者可以通过该功能页面对自身借阅情况进行查询,主要包括
查看已借待还信息和已还记录。
3.查看推荐,系统在该页面需要为根据读者的兴趣和历史借阅情况为读者提 供相关书籍的个性推荐。
4.个人信息管理,读者可以对自己的基本信息进行修改,同时还可以对系统 安全密码进行修改。

3.4本章小结
本章结合了软件工程系统分析的相关知识和概念,对本文所提的基于工作流 和数据挖掘的高校图书馆管理系统进行详尽的分析。首先对系统进行概要性的阐 述,主要从系统的目标和需要解决的问题进行展开介绍。随后依次对系统进行了 可行性分析和需求分析。

第四章图书馆管理系统设计
在第三章的系统设计的基础上,本章将对系统进行相关设计,主要将围绕软 件工程的理论分别对系统进行相关设计。具体地,将分别从功能模块、数据库、 以及流程等方面进行阐述。
4.1图书馆管理系统功能模块设计
基于工作流和数据挖掘的高校图书馆管理系统的功能模块可以被分为前台 和后台两块。前台页面主要为读者用户提供图书信息查询检索,图书借阅记录查 询以及个性化推荐查看等功能;后台在图书馆管理员登陆后后台管理页面后为其 提供的管理功能,主要包括对图书信息、借阅信息、读者信息、系统信息等模块 的管理功能。这些模块组成了整个图书馆管理系统的后台功能。
具体地,基于工作流和数据挖掘对的高校图书馆管理系统由2个子系统构 成,包括图书信息查询子系统以及系统管理子系统。
(1)图书信息查询子系统
前台的图书信息查询子系统包含图书信息查询、借阅信息查询、推荐信息 查询3个子功能模块,如图4.1所示,其中图书信息查询包括图书信息浏览和 图书馆藏查询;借阅信息查询包括借书记录查询、还书记录查询;推荐信息查 询包括推荐数据查询和个人兴趣设置。
(2)图书馆管理子系统
后台图书馆管理子系统包括4个模块构成,分别对应着图书信息,读者信息、 借阅信息和系统信息的管理模块,其功能模块结构图如图4.2所示。其中图书信 息管理包括图书信息的录入,更新,移除等功能;借阅信息管理包括借书登记管 理和还书记录管理等;读者信息管理包括对读者信息的录入,更新,移除等功能; 系统管理包括系统信息设置和安全设置等功能。

第五章基于工作流和数据挖掘的图书馆系统的实现
在完成前两章的工作之后,基本实现了对系统的分析和设计。接下来本章将 着眼于基于工作流和数据挖掘的高校图书馆管理系统的具体实现。而后依次对系 统的各个功能模块的实现进行描述,同时展示出其对应的页面效果图。
5.1运行环境和工具
本文设计实现的图书馆管理系统是运行在Windows 10x64操作系统之上的; 硬件环境为 I5・3470@3.2Ghz CPU, 8GB DDR3 RAM, 500GB HDD □采用 VisualStudio 2013作为开发调试工具,选择SQL Server2012作为数据库管理系 统,最后利用微软提供的服务器软件IIS对系统进行部署。
5.2基于协同过滤算法的图书推荐
5.2. 1协同过滤算法思路
为了能让本文所提系统具有为读者用户个性推荐图书的功能,引入了协同过 滤算法,该算法的基本思想是:基于之前被其他相似用户借阅的图书为特定用户 推荐类似的书籍。这个想法是容易理解的,例如我们经常做决定基于朋友的建议 在我们的日常生活中。大多数协同过滤系统都应用所谓的基于邻域的技术。在基 于邻域的方法中,基于他们与活动用户的相似性来选择多个用户。通过计算所选 用户的评级的加权平均来进行对活动用户的预测。
以表5.1为例,显示六个人对于五类书籍的喜好。“ ^表示该读者喜欢该类型 的书籍,而“ X 表示该人不喜欢该类型的书。为了预测读者A是否会喜欢某本 书籍,将读者A的借阅习惯与其他读者进行比较。在这种情况下,发现读者A 和读者C的评级是最接近的,说明读者A和读者C读书喜好比较接近,因此可 以预测读者A喜欢读的书读者C也很有可能喜欢,反之亦然。
预测通常基于几个人的推荐的加权平均值,而不仅仅依赖于最相似的人。给 予人的评级的权重由该人与预测人之间的相关性确定。作为相关性的度量,可以 使用Pearson相关系数。
六章图书馆管理系统测试
在完成开发之后,还需进一步地验证系统的可用性和稳定性。软件测试是 评估软件应用程序功能的过程,旨在查找开发的软件是否满足指定的要求,并 识别缺陷以确保产品无缺陷以生产咼质量的产品卩5。
软件测试类型可以分为两种分别为手动测试和自动化测试。本章将分别分 两步进行:首先将对系统进行功能测试,使用人工手动测试的方法;接着进行 性能测试,主要采用自动化软件模拟测试系统的稳定性。
第七章总结与展望
7・1总结
本文在web2.0大环境下,在总结了图书馆管理系统的研究背景和现实意义 的情况下,结合国内外相关研究文献的整理和阅读,提出了基于工作流和数据挖 掘的高校图书馆管理系统,以下为对本文所作的工作的总结:
(1)将工作流技术运用到图书馆管理系统,提高系统处理相关业务的效率。
(2)通过对读者用户的性格和特点以及使用习惯进行数据挖掘,为读者提 供个性化的书籍推荐服务。
(3)结合软件工程的相关理论知识,对本文所提的系统进行分析和设计, 其中分析层面包括可行性分析和需求分析;设计包括功能设计,数据库设计和流 程设计等,主要是利用UML对系统进行相关建模。
(4)在前期良好的系统分析和设计的基础上,利用Asp.net对系统进行编 码,实现目标系统的主要功能内容。最后经测试,本系统可以稳定的运行,具备 一定的可用性,达到了预期的目标。
7・2展望
在完成本文所提系统的设计与实现后,对研究过程的不足和可以提升的地方 做出反思,并提出今后研究中的展望,具体如下:
(1)在移动互联网不断发展的今天,可以将图书馆管理系统与移动互联相 结合,今后可以考虑基于微信公众平台的API,实现基于微信公众号的图书馆管 理系统,作为读者或是管理员不在电脑前的补充,不仅如此,移动互联的宗旨随 时随地在线可以为读者推送相关借阅信息和书籍推荐。预期可以进一步地提升图 书馆的服务质量。
(2)可以引入网评功能,考虑借鉴豆瓣社区的设计,为图书馆的每一本图 书提供评价交流的页面,读者可以在该页面上进行发帖,留言和回复。读者的经 验和评论可以为其他读者提供一项重要的评判依据。可以增强图书馆系统的易用 性,丰富系统的内容性。