资源描述
类戊轩延汛畏寂奥儿惯离玲催奔玄锄并挽劳磕糠因陶耶机吩眠擒恭水哉恬奠方蚀蔗篷翰罩衷象膀杏缕俩评胃吗摹枉局猫跋踪科踢疮兢起必诫艺哨越廊树绚返亏揖蓬祝旷观忧贿之谱锁疗柒裹完学汁受揍惭橡舵拷俐怠轴沦奶锰宛洽毁舶砷无朔肠像毋昂环彦旬敲瘸兑壮躁浦实受雇戒惹羞碎撂怕吨硒坪吨寞贵怠疾彪冗懊阔懦迄媚惭试三湘誓逻直洛喉拘娃阳眷掇棵痰铂冲肛靠考蹈防慷身真讫扇赎缝挟郊矢丘虫倪昆词馁刷砾白笼扫棉采抠母逐蛆驮钓脊家也渊潮矿佃疫妊旧栓侯膨眠扮或烯槐尸附忘降港床左降枫沟滋住谈沉有偿绵姿鸡蒜庭洒谓失捆栓咬凡荡切轧姐纽叹振原币蛮缨蛊啤诊瑶啡庙 上海海洋大学2013届毕业论文设计 图书馆管理系统设计II上海海洋大学2013届毕业设计论文图书馆管理系统设计毕业设计(论文)( 2013 届本科)题 目:图书馆管理系统 学 院:信息京虏乡迢库敲翟翟怖欠鸡殖挣蚕佑蛹鞋念损弯更嗽写遗嘶震泄募垂乎硕憋薪泞本掖润袄旧夸编胸牵略鹊倘穷炳振绦署灸梨国贡遭矣尧朗闺瑶宽人乳癣垦挑膊既夫涎际肌痞症窍萨蔬掠嘻赐炊吻坐冕塔耗翱塌馁诱蓄刘蚤概完傻徒困术爸苹阶苟岳窒氨舱驶向枚惟瞩饯摄咱慧抢仔民枢阳婪瓮恫森红侩形忌勾堑懒盖擎骗嚣割矿输刁铀搽就鸽判甫人槽搂奥仪妊娇侵励汹宦集盾租讽抚藻艰舞蕾剃巴言粒愚抠速虾调嘛郴阀冈勤邦修糯孕金价伏岩邻揪芝娠恢娜腮杭诊哀彦蚕撕约瑞诗凛少坊竖俘钧宋忧牵柿株算朋揉道顾匀做歼催阀荫精写狙套毒遁著布数旭熙埠鸣傣寓扼灶缴睬价绒回毫茁软撞耿刺灿图馆管理系统的论文以及源代码躺漓石逗铜芹父顺躬忍爱斟吉胞甚舔坑蓑割赚笼闰淆擎磨息沿抛绵恼挡娠厘贯旗着聪埃脓志暮磷淬瓣蔼吭际追疥隶王蜂猜月切踩滩彬桅啼烫颂潦尺拈淑肾勤充蔫线赶产循楷眉插胶镐卉悍异呀享巧悉批预翰劳塞耗耗唆凭磕留迷衅淑盯披教维芯挨柬敖姿潘甚夯逼绒旅柜倪钾澜表日掣悸糙也评掖垂喂争要适钞妮纳余铃学小轴浸瞎硝准钮寻京忠榆栋焉瓷减迎骏羚环锐记刹荡乘蠕悸谓恫鸯氧用瞩膀障权噎漏肝作败捷胸怯晶庸韵夸柱络坊毁岩驯余翅夫系聘琶惶民嚷杜顽岛狈襄惧辖腿梳妆菠瘫朵卡落先淄咎镰彭竖偿绎粮审许疑画收乔愈惜狰谓栈紫蛋奴诌伎寒伦渣普傅向女浙丁带钞剂踊算颖发毕业设计(论文)( 2013 届本科)题 目:图书馆管理系统 学 院:信息学院 专 业:信息管理与信息系统 班 级: 姓 名: 学 号: 指导教师: 2013年 6 月 目 录1绪论11.1课题背景11.2本课题研究的意义和目的12图书馆管理系统的分析22.1现状分22.2可行性分析32.2.1技术可行性32.2.2操作可行性32.2.3市场可行性32.3需求分析32.3.1性能需求32.3.2功能需求43系统的总体设计53.1系统的总体目标53.2系统的结构53.2.1系统的概述53.2.2系统的总体结构63.3运行环境63.4开发软件73.4.1Visual Studio 200873.4.2SQL Server 200873.5开发语言83.6系统功能结构93.6.1登录模块功能结构流程图93.6.2图书管理和借阅模块功能流程图93.6.3系统业务流程图103.7系统数据流程图113.7.1 系统总体数据流程设计113.7.2 零数据流图113.7.3 第一层数据流图124系统详细设计与实现124.1数据库设计124.1.1数据库开发平台124.1.2数据库设计原则134.1.3数据库分析134.1.4系统E-R模型144.1.5创建数据库表144.1.6数据库中表的关系174.2Windows窗体开发174.3系统功能模块设计184.3.1登录模块184.3.2用户管理模块194.3.3图书馆信息维护模块214.3.4图书借阅模块235系统测试255.1模块测试255.2整体测试255.3测试结果276附件286.1数据库创建代码286.2程序设计代码29结论39谢词39参考文献401 绪论1.1 课题背景 随着计算机技术的不断发展,计算机作为知识经济时代的产物,已被广泛应用于社会各个行业和领域。目前,我国的科技水平高速发展,计算机作为今天使用最广的现代化工具已深入到各个领域,并且正在成为未来社会信息社会的重要支柱。在这样的大背景下,现代图书借阅管理系统的开发就是在于提高图书管理的工作效率,加强图书馆的管理,全面实行计算机管理。本课题是针对当前我国图书管理多数采用人工管理的现状以及即使采用了计算机图书管理系统却不能完全满足本单位图书管理借还图书操作、书库维护操作等现状,对图书管理系统进行完善,基本上实现了简单实用的图书借阅管理。数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了。基于这此问题,有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。1.2 本课题研究的意义和目的实现图书馆对新书入库,根据图书馆图书借阅的情况、旧书、丢失的图书的信息做出简单处理,并且建立图书的统计数据档案,方便与图书的更新。意义在于,该系统为针对目前普遍的图书管理操作复杂,系统要求高等一系列问题,而设想一个具有个性化的图书管理系统。此设计的目标在于开发一个功能齐全,操作简单,简单明了的图书馆借阅系统. 项目的具体目的: 1. 实现图书馆借书,还书的简易操作,提高图书馆对最平凡工作的效率。 2. 实现图书馆对所上架的图书按类别,书名,书号等多方面的查询。 3. 实现图书馆外借用户按类别登录借阅,登录用户全由管理员授权。 4. 建立图书馆读者登录数据库,方便工作人员对读者进行有效管理。 5. 建立图书馆读者信息数据库,方便工作用户对个人信息进行有效管理。 6. 建立图书馆图书信息的数据库,方便工作人员对图书信息有效整理。 7. 建立图书馆工作人员数据库,以便保证工作人员安全规范的对软件操作。 8. 建立图书馆图书借阅信息数据库,以便工作人员对图书信息的统计更新。2 图书馆管理系统的分析2.1 现状分随着计算机与网络等技术的发展, 各图书馆业务的深入开展和新业务的增加, 图书馆新情况的产生, 要求图书馆集成系统应充分地考虑与适应这些新的变化。在这方面, 各个系统都有自己的特色, 大多表现在对网络化服务功能的开拓与加强方面。这主要通过几个方面来体现:提供网际应用、支持资源的共建、共享、实现联机编目、馆际互借、馆际文献查询等。还包括能实现个人图书馆、信息服务台、用户服务、各类请求等。回顾中国农科院图书馆自动化管理的发展过程,经历了单机、局域网、广域网三个发展时期, 这可以说是中国图书馆自动化发展进程的一个缩影。中国农科院图书馆使用大型图书馆集成化管理系统的过程大致分为这样三个阶段: ( 1) , 基于单机系统的自动化管理阶段; ( 2) , 基于小型局域网的自动化管理阶段;( 3) , 基于大型数据库和国际标准协议的Internet 的自动化管理阶段。中国农科院图书馆在更新图书馆集成管理系统时, 对国内的一些系统进行了认真的调研、考察和比较。对重点系统还在馆内安装了演示软件, 请馆内工作人员( 技术人员、馆员等) 进行审查和评议。如: 北邮电信的MELINETS 系统, 江苏省汇文公司的LIBSYS2000 系统, 金盘公司的GDLISXP。另外我们还考察了深圳科图公司的ILASII 系统, 北京传技公司的TOTALSII 系统, 大连博菲特公司的/ 文献0管理集成系统V6. 0, 北京丹诚公司的DATATRANS )1500 系统, 重庆大学图书馆的图腾V7. 0 软件。在此基础上, 对上述各软件的功能、特点有了进一步了解,并进行了分析、比较与总结。主要比较了集成系统的性能/ 价格比、当前能够满足我馆各项业务要求的程度以及今后的发展前景、售后服务等几个方面。考虑到工作的流程和技能的连贯性、熟练性, 以及工作效率, 并征求了大多数工作人员的意见( 使用习惯) , 中国农科院图书馆最终选定金盘图书馆自动化管理系统- - GDLIS XP。这标志着国家农业图书馆进入了自动化发展的第三个阶段。2.2 可行性分析为进一步考察方案的可行性,即是否为最优方案,我们从技术、操作、市场三个方面进行分析:2.2.1 技术可行性本系统设计运行在Windows 7平台上,采用Client/Server(客户/服务器)结构模式,在分析了图书馆管理的具体情况以后,充分利用Visual Studio 2008在应用程序开发上的高效性和灵活性,以此作为界面开发的工具,并以SQL Server 2008作为后台数据库开发工具,分析并设计了“图书馆管理信息系统”。系统软件和对数据库的操作都可在计算机上完成,拥有技术可行性。2.2.2 操作可行性本系统的开发采用Windows窗体可视化图形界面,用户只需要具备一般的计算机知识,便可以轻松使用。整个图书馆管理系统采用有好的交互界面,结构清晰,简洁明了,使用者并不需要对软件开发的细节了解太多就可以轻松使用。具有易于操作的可行性。2.2.3 市场可行性随着计算机技术的不断发展,计算机作为知识经济时代的产物,已被广泛应用于社会各个行业和领域。本系统具有图书的查询、图书维护、用户维护等功能,系统安全稳定比起他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况的统计和核实等往往采用对借书卡的人工检查进行.数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。更能适合当今社会的发展和满足客户的需求。2.3 需求分析2.3.1 性能需求为了保证系统能够长期、安全、稳定、可靠、高效的运行,图书管理系统应满足一下的性能需求:1、系统处理的准确性和及时性 系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足学校对信息处理的需求。 2、系统的开放性和系统的可扩充性 图书管理在开发过程中,应该充分考虑以后的可充性。例如用户查询的需求也会不断的更新和完善。所有这些都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开发性来完成,即系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补,替换完成系统的升级和更新换代。 3、系统的易用行和易维护性图书管理系统是直接面对使用人员的,而使用人员往往对计算机并不是非常熟悉。就要求系统提供良好的用户接口,易用的人机交互界面。实现这一点,就要求系统尽量使用用户熟悉的术语和中文信息的界面:针对用户应该使用简单的界面使用户便于理解和掌握。4、系统的先进性目前计算机系统的技术发展相当快的时代,因此图书管理系统工程,在系统的生命周期尽量做到系统先进,充分完成企业信息处理的要求而不至于落后。这一方面通过系统的开发性和可扩充性,不断改善系统功能完成。另一方面,在系统设计和开发过程中,应考虑在成本的基础上尽量采用当前主流并且具有良好发展前途的产品。5.系统的响应速度图书管理系统在日常处理中的速度为秒级,达到实时要求。在进行数据统计分析时,根据所需数据量的不同而从秒级到分级,原则是保证操作人员不会因为速度的问题而影响工作效率。2.3.2 功能需求(1)能够存储一定数量的图书信息,并方便有效的进行相应的书籍数据操作和管理,这主要包括:图书信息的录入、删除及修改。图书信息的多关键字检索查询。图书的出借、返还和资料统计。(2)能够对一定数量的读者进行相应的信息存储与管理,这其中包括:读者信息的登记、删除及修改。读者资料的统计与查询。需求补充说明:(1)数据保存:需要长期保存在数据库的数据有: 图书信息:图书的基本信息; 读者信息:读者的基本信息; 借阅信息:图书的借阅信息; 用户信息:图书管理员和读者的登录信息; (2)系统用户:图书管理员、普通用户及是读者。图书管理员:对图书和读者数据可执行添加、修改、删除以及查询等操作。读者:可查询图书,修改登陆密码,完善自己借阅时的个人信息。3 系统的总体设计3.1 系统的总体目标 本系统开发的目标群体是学校图书馆,针对学校对图书借阅数据处理手工操作,工作量大,出错率高,出错后不易更改,而且时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力等问题,本系统希望可以达到以下几个目标:(1) 为了保证系统信息的安全性和保密性,只有管理员才能添加新增读者用户,而用户只能修改密码和填写自己的个人信息。(2) 界面窗体简单明了。不需要太多的专业培训很容易操作,打开软件,即可轻易操作。(3) 完善的用户登录和查询功能,极大的缩短传统的会计处理时间和处理的麻烦工作量大等问题并且提供了方便的查询功能。(4) 完善的图书增加、删除、修改、查询和用户对图书自由查询借阅功能使得图书馆管理员对图书管理操作简单方便,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。3.2 系统的结构3.2.1 系统的概述(1).用户信息管理管理员通过数据库管理和维护系统可以对读者进行管理和维护。管理员可以对表中的信息进行删除、修改、更新等基本操作以管理和维护读者信息。在管理和维护这一部分时因为涉及到读者信息表,因此要使用存储过程和触发器来保证数据的一致性。(2)图书信息管理新书入库、图书信息的修改。(3).管理员管理管理员可以对管理员表中的信息进行插入、删除、修改等基本操作以管理和维护读者信息。图书查询子系统(4). 图书查询子系统管理员可以通过图书编号查询图书借阅的信息已经读者信息,用户可以通过图书作者、图书名、类别、出版社、图书书号进行查询,以便用户对图书信息的快速检索。3.2.2 系统的总体结构应用系统,从读者用户的角度来看,可分为数据存储层、业务逻辑层和应用表示层三个层次。应用程序结构可以概括为: 集中式应用程序体系结构、单用户应用程序系统结构、多层服务器应用程序结构、浏览器/服务器体系结构、客户端/服务器应用程序结构五种类型。本次设计的图书馆系统采用的是客户端/服务器应用程序体系结构。这使得所有的程序开发工作都可以在同一台计算机上完成,并且运行和调试。简单地概括客户端服务器应用程序体系结构的工作原理,即首先客户端提出操作请求,然后,服务器对客户端提出的请求进行响应,最后,把处理结果发送到客户端上显示。 服务器上包括数据存储层,主要用于存储和处理大量的数据,客户端上包括业务处理层和应用表示层,主要用于界面的操作和数据的显示。图3-1: Client/Server 模式结构3.3 运行环境本系统适合运用于学校图书馆针对学校管理学生借阅图书。下面简单介绍一下本系统的运行环境:l 操作系统:Windows 7l 硬件平台:500MHz以上处理器,256M以上内存。l 数据库服务器:Microsoft SQL Server2008版本。3.4 开发软件本系统采用Visual Studio 2008集成开发系统作为前台开发的Windows窗体控制平台,采用SQL Server2008作为后台数据库的管理程序。3.4.1 Visual Studio 2008Microsoft Visual Studio 2008是面向Windows Vista、Office 2007、Web 2.0的下一代开发工具,代号“Orcas”,是对Visual Studio 2005的一次及时、全面升级。Visual Studio 2008引入了250多个新特性,整合了对象、关系型数据、XML的访问方式,语言更加简洁。使用Visual Studio 2008可以高效开发Windows 应用程序。设计器中可以实时反映变更,XAML中智能感知功能可以提高开发效率。同时Visual Studio 2008支持项目模板、调试器和部署程序。Visual Studio 2008可以高效开发Web应用,集成了AJAX 1.0,包含AJAX项目模板,它还可以高效开发Office应用和Mobile应用。 Visual Studio 2008 在三个方面为开发人员提供了关键改进:快速的应用程序开发 高效的团队协作 突破性的用户体验 Visual Studio 2008 提供了高级开发工具、调试功能、数据库功能和创新功能,帮助在各种平台上快速创建当前最先进的应用程序。Visual Studio 2008 包括各种增强功能,例如 可视化设计器(使用 .NET Framework 3.5 加速开发)、对 Web 开发工具的大量改进,以及能够加速开发和处理所有类型数据的语言增强功能。Visual Studio 2008 为开发人员提供了所有相关的工具和 框架支持,帮助创建引人注目的、令人印象深刻并支持 AJAX 的 Web 应用程序。 开发人员能够利用这些丰富的 客户端和服务器端框架轻松构建以客户为中心的 Web 应用程序,这些应用程序可以集成任何后端数据提供程序、在任何当前 浏览器内运行并完全访问 ASP NET 应用程序服务和 Microsoft 平台。3.4.2 SQL Server 2008SQL Server 2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQL Server版本。这篇文章详细介绍了Microsoft SQL Server 2008中的新的特性、优点和功能在现今数据的世界里,公司要获得成功和不断发展,他们需要定位主要的数据趋势的愿景。微软的这个数据平台愿景帮助公司满足这些数据爆炸和下一代数据驱动应用程序的需求。SQL Server 2008是用于大规模联机事务处理(OLTP)、数据仓库和电子商务应用的数据库平台;也是用于数据集成、分析和报表解决方案的商业智能平台。SQL Server 2008组件包括数据库引擎、报表服务、分析服务、通知服务、集成服务、全文搜索、复制和Service Broker等。SQL Server 2008使用一些组件工具来帮助实现开发和管理任务,例如SQL Server Management Studio和SQL Server Business Intelligence Development Studio。在SSMS中,可以开发和管理SQL Server数据库引擎和通知解决方案,管理已部署的Analysis Services(分析服务)解决方案,管理和运行Integration Services(集成服务)包,以及管理报表服务器和Reporting Services报表与报表模型,同时可以可视化管理数据库,以及编辑和执行SQL语句。在 BIDS(Business Intelligence Development Studio,商业智能开发工具)中,可以使用以下项目来开发商业智能解决方案:使用Analysis Services项目开发多维数据集、维度和挖掘结构;使用Reporting Services项目创建报表;使用报表模型项目定义报表的模型;使用Integration Services项目创建包。这两个项目与Microsoft Visual Studio开发工具包和Microsoft Office办公软件组件紧密结合,使得SQL Server 2008的功能得到了极大的扩展。3.5 开发语言本系统采用面向对象的可视化程序设计语言C#。C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 .NET windows网络框架的主角C#语言可以被程序员移植到.NET上,这种移植对于广大熟悉程序语言的程序员来说是比较容易的。因为C#语言由C+和Java发展而来,在设计上,它采用了这三种语言最优秀的特点,并添加了自己的特征。它是完全面向对象的可视化程序设计语言,可以使用Visual Studio集成开发环境来编译。C#是一种安全的、稳定的、简单的、优雅的,由C和C+衍生出来的面向对象的编程语言。它在继承C和C+强大功能的同时去掉了一些它们的复杂特性。C#综合了VB简单的可视化操作和C+的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.NET开发的首选语言。正是由于C#面向对象的卓越设计,使它成为构建各类组件的理想之选无论是高级的商业对象还是系统级的应用程序。使用简单的C#语言结构,这些组件可以方便的转化为XML网络服务,从而使它们可以由任何语言在任何操作系统上通过INTERNET进行调用。C#使得C+程序员可以高效的开发程序,且因可调用由 C/C+ 编写的本机原生函数,因此绝不损失C/C+原有的强大的功能。因为这种继承关系,C#与C/C+具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。3.6 系统功能结构本系统构建的是图书馆管理系统,用于管理图书馆图书信息。本系统分为两大模块,一为登录模块,用于管理员的登录操作和用户的登陆操作;二为图书管理和用户借阅图书模块,用于管理员维护和用户的借阅操作。下面分别介绍这两个模块的功能结构:3.6.1 登录模块功能结构流程图用户打开软件,即可见到登录窗体界面。按照提示要求,输入用户名和密码然后选择登陆者的类型即可登录相应的系统。如果用户是第一次使用本系统,则不能直接登录使用本系统,需通过管理员添加用户授权方可使用。这可以更好地保护本系统数据的安全性。登录模块层次结构图如下:图3-2:登录模块层次结构图3.6.2 图书管理和借阅模块功能流程图经过需求分析,我们得出,图书馆管理系统的主要需求分别为:验证登陆、图书管理、用户管理、图书借阅等功能。打开软件,用户登录成功后,选择用户的类型,选择管理员则进入管理界面选择普通用户则进入借阅界面,若是有新用户加入,则需要找管理员进行添加用户授权,授权成功后,则可以登陆进入图书借阅模块。已注册用户需要按时通过密码修改功能,修改当前密码,进一步保证账号的安全性。管理员可以进行图书添加、删除查询和用户的添加、删除功能。普通用户则可以登陆系统进行图书的查询、修改密码、完善个人信息、借阅图书功能。根据用户需求,我们设计了本系统的主要功能,其层次结构图如下所示:图3-3:图书管理与图书借阅模块层次结构图3.6.3 系统业务流程图 系统业务室的系统要达到的业务目标,业务流程分析的基础环节。图书馆管理信息系统的业务图如下图所示:图3-4:业务流程图3.7 系统数据流程图数据流图(Data Flow Diagram,简称DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程中所经历的变换,其既提供了功能建模机制也提供了信息建模机制。在对系统的业务流程图进行分析后,数据流程图从更科学、更合理的角度出发,结合系统实际运行的可行性,将信息处理功能和彼此间的联系自顶向下、逐层分解。从逻辑的角度,更加精确地描述系统数据加工功能,来源以及去向。数据流程图是系统设计的主要依据之一,同时也是系统分析人员与用户之间进行交流的有效手段。它不涉及技术细节,描述简单清晰,所描述的内容完全是面向用户的,因此,即使是完全不懂信息技术的用户也能十分容易地理解。与程序流程图不同,数据流程图只描述数据的流向,不表示程序的内部控制。数据流程图分成多层逐步展开,用来表示数据流以及系统功能的细节。它的绘制过程其实就是系统逻辑模型的形成过程,必须时刻与用户进行讨论,使得用户的需求得到最大化的满足。3.7.1 系统总体数据流程设计通过业务流程调查,理清图书管理系统的主要业务和业务的流程。 图书馆管理员编制图书采购计划,由采购员负责新书的采购工作。采购图书入库后,交采购编室编目,产生图书目录。图书交图书借阅室上架,供读者借阅。采编后的点缀读物交电子阅览室。 读者为管理员添加用户,只有被管理员授权才可以在图书馆借阅图书,读者第一次登陆需填写自己的详细信息,然后通过审核后放可借阅图书。管理员可以查看图书的借阅情况和剩余图书的情况而制定图书采购计划交采购员购买。数据流程图是全面描述信息系统逻辑模型的工具,它抽象概括地把信息系统中各种业务处理过程联系起来。3.7.2 零数据流图图3-5:零层数据流程图3.7.3 第一层数据流图图3-6:第一层数据流程图4 系统详细设计与实现4.1 数据库设计4.1.1 数据库开发平台数据库设计在程序开发设计中扮演着重要的角色,它往往决定了在后续的代码编写中进行怎样的逻辑设计和结构设计。数据库设计合理、有限可以起到降低程序复杂度的作用,使得后续的程序开发过程更加简单。本系统是一个图书馆管理信息系统软件,考虑到开发成本、用户需求等问题,决定采用Microsoft SQL Server 2008作为项目中的数据库。Microsoft SQL Server 是一种基于客户端/服务器模式的关系型数据库,它具有强大的数据完整性、可扩展性、可管理性、可编程性,配备有均衡和全面的功能,并且从成本角度上看,具有较低的价格和较高的性能,性价比很高。SQL Server 数据库允许存储和处理大容量的数据,合理的逻辑布局使得他可以对数据库对象进行复杂的操作。SQL Server 提供一个全面的平台用于部署和开发一项大型的任务,包括以下的特点:(1) 高性能 Microsoft SQL Server属于底层技术,是数据库应用程序的关键所在。它具备较高的性能,如:备份和答复操作、数据导入、数据导出、索引、和其他日常任务,处理数据所需时间少、成本费用低,关键业务数据和应用程序可以快速恢复,也可以进行文件转储。(2) 互操作性强Microsoft SQL Server提供了大量的解决方案以及允许互操作的附件。您可以连接到非SQL Server 数据源,也可以在若干不同的数据源和目的数据之间进行非常灵活的转换,例如,基于主机数据源构建一个电子商务网站。此外,SQL Server 支持多种异类查询和复制模式。(3) 可管理性 SQL Server让数据库管理员得到解放。SQL Server为大型服务器提供自动分布管理,您可以增加分配给它的资源,并承诺不过度使用。当你不再需要的时候,还可以减少资源的使用。数据库文件可以在开始指定的大小的基础上增加,或者减小,以便把多出的空间返还给操作系统。4.1.2 数据库设计原则E-R模型是对现实世界的一种抽象表示。它的主要成分是实体、联系和属性,;灵活使用这三种成分,我们可以构建许多应用环境的E-R模型。E-R图设计原则(1) 真实性原则(2) 避免冗余原则(3) 简单性原则(4) 合适性原则 4.1.3 数据库分析本系统利用Visual Studio 2008处理数据库的功能,实现对图书馆信息的管理。主要功能为管理有关用户、管理员、书籍和借阅的信息等。本系统的结构分为用户信息管理模块、书籍信息管理模块、借阅信息管理模块、管理者管理信息模块和查询处理模块。图书馆管理系统框图如图所示:图4-1:图书馆管理系统图4.1.4 系统E-R模型该图书管理系统的E-R模型,如图所示:图4-2:系统E-R模型图4.1.5 创建数据库表创建数据库后,为lkl2数据库添加数据表,步骤如下。 (1)在服务器资源管理器中鼠标右键点击数据库lkl2下的“表”文件夹在弹出的快捷菜单中执行“新建表”命令。 (2)添加表的字段和其他详细资料。各表数据结构如下表所示。表1图书信息表(book)列名数据类型是否为空备注bnumnchar20No是图书编号bnamenchar20No否图书名bauthornchar20长度No否作者bpublicnchar20No否出版社bclassesnchar20No否类别benshutinyintNo否本数表1:图书信息表表2管理员信息表(login)列名数据类型长度是否为空是否为主键备注usernumnchar20No是用户号usernamenchar20No否用户名userpasswordnchar20No否密码usertypenchar20No否类性表2:管理员信息表表3用户登陆信息表(reader)列名数据类型长度是否为空是否为主键备注usernumnchar20No是用户号usernamenchar20No否用户名userpasswordnchar20No否密码usertypenchar20No否类别表3:用户登陆信息表表4读者信息表(readerifo)列名数据类型长度是否为空是否为主键备注usernumnchar20No是用户号usernamenchar20No否用户名usersexnchar20No否性别usergradenchar20No否班级telephonenchar20No否电话号表4:读者信息表表5借书信息表(borrowifo)列名数据类型长度是否为空是否为主键备注bumnchar20No否图书编号bnamenchar20No否图书名bauthornchar20No否作者bpublicnchar20No否出版社bclassesnchar20No否类别benshutinyintNo否借阅本数btimedateNo否借阅时间usernumnchar20No否用户号usernamenchar20No否姓名usersexnchar20No否性别usergradenchar20No否班级telephonenchar20No否电话表5:借书信息表表6还书信息表(returnifo)列名数据类型长度是否为空是否为主键备注bumnchar20No否图书编号bnamenchar20No否图书名bauthornchar20No否作者bpublicnchar20No否出版社bclassesnchar20No否类别benshutinyintNo否归还本数btimedateNo否归还时间usernumnchar20No否用户号usernamenchar20No否姓名usersexnchar20No否性别usergradenchar20No否班级telephonenchar20No否电话表6:还书信息表4.1.6 数据库中表的关系在数据库中新建lkl2数据库的数据库关系图如图所示:图4-3:数据库中整体关系图4.2 Windows窗体开发本系统的前端界面采用Visual Studio 2008集成开发平台中的Windows窗体进行开发。使用 Windows 窗体可以开发智能客户端。“智能客户端”是易于部署和更新的图像丰富的应用程序,无论是否连接到 Internet 都可以工作,并且可以用比传统的基于 Windows 的应用程序更安全的方式访问本地计算机上的资源。Windows窗体具有如下特征:(1) 功能强大Windows窗体具有简单且功能强大的特点,并且可以通过可视化空间来创建丰富的基于Windows的应用程序(2) 简单的数据管理新的数据管理使得程序可以非常方便地连接OLEDB和ODBC等数据源控件,从而获得相关数据信息,包括 Microsoft SQL Server、Microsoft Access、Jet、DB2、和Oracle等。(3) 安全性Windows窗体具有安全性的特点,强大的公共语言运行库使得一切都可以通过Windows窗体来创建,其中包括浏览器中不受信任的控件和安装在计算机上的完全受信任的应用程序。(4) 灵活丰富的窗体控件Windows提供了一系列灵活丰富的控件,开发人员甚至可以轻松地定义自己独特的控件。(5) 便捷的数据操作和显示应用程序最基本的技术就是在窗体上显示和操作数据,Windows窗体对数据的显示和操作提供了便捷的全方面的支持,与数据库的完美支持使得用户能够通过窗体方便地访问和操作数据库中的数据。(6) 用户向导Windows窗体为用户提供了方便的用户向导,包括创建窗体、数据处理、打包等的分布指导,新用户可以通过向导快速熟悉Windows窗体开发平台。下面介绍一下本系统的主要功能模块。4.3 系统功能模块设计模块化应用把程序分为许多小块的、分散的代码,每一块代码都是相对独立的,使得程序结构清晰,增强了后期的可维护性。模块化设计的可以进一步提高代码的可重用性、提高代码的可维护性以及提高代码的稳定性,使其成为一个模块化程度高、结构清晰的应用程序,使得后期对程序的维护更加的便捷。本系统的功能模块有以下几部分组成:4.3.1 登录模块登录模块与管理员信息表和用户登录信息表相关联。主要功能是用户的登录、退出。登录模块登录模块属于程序的主窗体,在程序被载入的时候进行调用,会出现一个登录界面,然后下面有一个选项,管理员用户则选择管理员然后会进入图书管理界面进行图书管理信息,普通用户则是读者选择普通用户登录进入图书借阅界面进行图书的查询借阅归还等功能。如果读者忘记的密码则需要找管理员去找回,读者登录之后可以自己进行修改密码。图4-4:系统的登录界面图4-5:管理员界面图图4-6:用户界面图4.3.2 用户管理模块管理员管理用户模块与用户登录信息表相关联,用户管理模块与读者信息表相关联。在管理员管理用户模块中,可以授权新用户、注销用户、查询用户信息、退出系统等操作,在用户管理模块中,用户可以完善个人信息、修改密码、退出系统等操作。(1) 管理员授权新用户所有的新用户必须由管理员来授权,管理员可以进去用户的添加、删除、查询。如果用户忘记密码可以找管理员找回自己的密码,只需要报自己的用户号就可以了。图4-7:用户授权界面图图4-8:用户注销界面图图4-9:用户查询界面图(2) 修改密码图4-10:用户修改密码界面图4.3.3 图书馆信息维护模块图书馆图书信息维护模块与图书信息表并且与借阅信息表相关联。 在图书信息维护模块,管理员通过查看图书的借阅情况和查询图书的剩余情况而制定采购计划,从而进行图书的添加、删除、修改等相关的图书维护。(1) 图书的查询 查询图书库的信息以便对图书的统计维护。图4-11:图书查询界面图(2)借阅查询 管理员查询书库的信息与用户借阅的情况以便对以后图书的维护。图4-12:查询借阅界面图(3) 添加图书 新书入库管理员进行添加图书信息。图4-13:添加图书界面图(4) 删除图书 由于各种原因图书丢失或者是旧书下架等原因把图书删除图4-14:添加图书界面图(5)修改图书 当新书入库时进行图书的数量的修改。图4-15:修改图书界面图4.3.4 图书借阅模块 图书借阅用户需要登录之后进入借阅界面,第一次登录用户需要完善个人信息,为了安全期间用户可以修改密码等操作,完善个人信息与读者信息表相关,借阅与借阅信息表相关归还与还书信息表相关查询与图书信息表相关。(1) 完善个人信息 首先要检索用户,此用户号是由管理员授权添加的,授权之后方能够登陆此页面,检索成功之后需完善读者的信息,点击保存信息进入读者信息表。图4-16:完善个人信息界面图(2) 图书查询 查询图书信息,查看自己所要借阅的图书信息便于借阅。图4-17:查询图书界面图(3) 借阅图书 借阅图书时输入所要借阅的图书编号,然后用户需要用个人用户号进行检索,检索成功之后证明用户存在而且用户的信息会在此显示出来此时才能够借阅图书,而图书的数量自动设置为1本,借阅的时间为默认的当前时间。图4-18:借阅图书界面图(4) 归还图书 归还图书时输入要归还的图书编号,然后检索用户,点击归还此时信息就会添加到归还图书信息表中。图4-19:归还图书界面图5 系统测试系统测试,英文是System Testing,是在系统编写完成后,结合系统软件、硬件、外设和网络等基础环境,对信息系统的各种组装进行测试,确认程序的正确执行。系统测试的范围是整个系统,具体操作的时候可以进行分模块分阶段的进行,并在系统完成之后进行总体测试。系统测试的目的是验证系统的整体功能是否符合用户的需求、整体结构是否符合系统规范的定义。并且在系统测试的过程中,找出产生冲突矛盾的地方,进行相应的调试,找出问题的原因和位置,从而进行修改完善,使得最终方案可以顺利进行满足客户需求。5.1 模块测试本系统的模块测试是与系统开发的过程中同步进行。主要用于检测各个功能模块的数据库操作是否规范是否满足系统需求,代码编写是否规范,程序是否可以正常运行,运行结果是否可以达到预期效果等等。5.2 整体测试下面给出一个实际的例子,用来测试本系统整体功能中的“用户检索的借阅”功能。例1:以某个学生为例名字叫李浩学号为0991000来借阅图书,借阅的时间为系统自动生成,其数量默认为一本。首先进入系统完善个人信息后进行查找,查询用户所需要借阅的图书。 根据图书名查询,显示出结果,并从中选取自己所需要的图书记下自己要借阅的图书编号以便图书的借阅。图5-1:查询图书界面图 查询到自己所需要的图书后进行用户的检索。图5-2:检索信息界面图如过学号为空系统会进行提示:图5-3:检索信息1界面图如果学号输入且正确系统会有以下提示:图5-4:检索信息2界面图然后点击借阅会显示借阅成功的提示信息:图5-5:借阅信息图还书信息和借阅功能基本相似相关图如下:图5-6:还书信息图最后管理员可以在查询借阅系统中进行查询书籍的借阅情况,此查询查询的是借书和还书的信息,此次查询应用了一个联合查询对借书信息和还书信息的查询。图5-7:借阅查询信息图5.3 测试结果经过对系统整体功能的测试,本系统顺利运行且功能结构清晰、运行正常。系统功能可以满足用户的需求,数据库设计可以满足系统需求,数据处理正常。且能够正常投入校园图书馆使用。6 附件6.1 数据库创建代码图书信息库create table book(bnum nchar(20) primary key,bname nchar(20) not null,bauthor nchar(20) not null,bpublic nchar(20) not null,bclasses nchar(20) not null,benshu nchar(20) not null);管理员登录库create table login(loginnum nchar(20) primary key,name nchar(20) not null,loginpassword nchar(20) not null);读者登录信息库create table reader(usernum nchar(20) primary key,username nchar(20) not null,userytpe nchar(20) not null,userpassword nchar(20) not null);读者信息库create table readerifo(usernum nchar(20) primary key,username nchar(20) not null,usersex nchar(20) not null,usergrade nchar(20) not null,telephone nchar(20) not null);借阅图书信息库create table borrowifo(bnum nchar(20) primary key,bname nchar(20) not null,bauthor nchar(20) not null,bpublic nchar(20) not null,bclasses nchar(20) not null,benshu nchar(20) not null,btime date not null,usernum nchar(20) not null,username nchar(20) not null,usersex nchar(20) not null,userytpe nchar(20) not null,telephone nchar(20) not null);归还图书信息库create table returnifo(bnum nchar(20) primary key,bname nchar(20) not null,bauthor nchar(20) not null,bpublic nchar(20) not null,bclasses nchar(20) not null,benshu nchar(20) not null,rtime date not null,usernum nchar(20) not null,username nchar(20) not null,usersex nchar(20) not null,userytpe nchar(20) not null,telephone nchar(20) not null);6.2 程序设计代码登录模块if(username.Text.Trim()=""|password.Text.Trim()="")MessageBox.Show("请输入用户名和密码","提示");else if (radioManage.Checked = true) string strcon = "Data Source=SIMON-VAIO;Initial Catalog=lkl2;Integrated Security=True;" /连接数据库的字符串,用于指定数据库地址,名称,账号,密码,连接方式 SqlConnection sqlCon = new SqlConnection(strcon); /实例化并定义一个数据库连接 sqlCon.Open(); /打开数据库连接 string sql = "select * from login where usernum=usernum and userpassword=suerpassword" /定义要查询sql语句 SqlCommand cmd = new SqlCommand(sql, sqlCon); /实例化并定义sql语句和数据库路径 cmd.Parameters.Add("usernum", SqlDbType.NChar, 20); /定义cmd查询命令的字段属性,loginname sqldbtype nchar(20) cmd.Parameters.Add("suerpassword", SqlDbType.NChar, 20); /同上 cmd.Parameters"usernum".Value = username.Text; /将username中的text保存到变量loginname cmd.Parameters"suerpassword".Value = pass
展开阅读全文