1、 宿迁学院毕业论文 专 科 毕 业 论 文基于ASP.NET图书管理系统的设计与实现Design and Implementation of Library Management System Based on the ASP.NET 学 院 名 称: 重庆电讯职业学院 专 业: 软 件 技 术 姓 名: 胡 小 波 指导教师姓名: 岳 旭 耀 指导教师职称: 讲 师 2014年1月54 重庆电讯学院毕业论文 基于ASP.NET图书管理系统的设计与实现 专业:软件技术 学生姓名:胡小波指导老师:岳旭耀 职称:讲师摘要:随着现代科学技术的进步,人类社会正逐渐走向信息化,图书馆拥有丰富的文献信息资
2、源,是社会系统的重要组成部分,在信息社会中作用愈来愈重要,我国图书馆计算机等信息技术的应用起步于20世纪70年代末期,随着改革开放的步伐得迅速发展,特别是90年代以后,我国图书馆信息网络建设取得了较大发展图书馆信息化建设迈向了一个新台阶。本系统是利用B/S架构的图书管理系统,用于实现院校图书馆办公系统的自动化,信息化,简单化。该系统采用Microsoft Visual Studio 2008为开发工具,利用现今比较流行的C#开发语言,以SQL Server 2008为存储数据库来进行系统开发,最终实现前台、后台两个方面的基本功能。如:前台登录用户对图书馆中图书及自身借阅信息的查询,后天管理员对
3、读者的管理、修改、查询、添加,图书信息的管理、修改、查询、添加等基本功能。 本系统不仅维护方便,节省了图书馆的资源,方便图书馆进行图书管理,同时,用户也能够更容易更直观的查询书籍、管理藏书,使借书、还书、查书的过程大大简化,更加的方便和容易。关键词: B/S SQL Server 2008 Visual Studio ASP.NET 图书管理系统 Based on the ASP.NET library management system design and ImplementationAbstract: with the progress of modern science and tec
4、hnology, human society is gradually towards information technology, library has the rich literature information resource, is an important component of the social system, in the information society increasingly important role in our library, computer and other information technology should be used st
5、arting in nineteen seventies end, with the pace of reform and opening up have rapid development, especially after 90 time, our country library information network construction has made great development of library information construction to a new level.This system is the use of B/S framework of the
6、 library management system, for the realization of university library office system automation, information, simple. The system adopts Microsoft Visual Studio 2008as a development tool, using the popular C# language, in SQL Server 2008for storing database for system development, finally realizes the
7、 foreground, background two basic functions. Such as: the logged-on user of library books and its borrowing information query, acquired the administrator of the reader management, query, modify, add, book information management, query, add, modify the basic functions such as.This system not only con
8、venient maintenance, saves the resources in the library, convenient library library management, at the same time, the user is also able to easier and more intuitive query books, management books, the library, books, check book process is greatly simplified, more convenient and easier.Key words: B/S
9、SQL Server 2008 Visual Studio ASP.NET library management system 目 录第一章 绪论11.1 研究背景及意义11.2 国内外研究现状及发展前景21.3 课题设计目标3第二章 相关技术介绍42.1 SQL Server 2008技术42.2 ASP.NET技术52.3 C#62.4 系统开发及运行环境8第三章 需求分析93.1 需求分析概述93.2 功能需求93.3 可行性分析103.4 性能分析11第四章 系统概要设计124.1 系统体系结构设计124.2 系统总体模块结构设计134.3 系统总体处理流程144.4数据库设计154.
10、4.1概念结构设计154.4.2 逻辑结构设计164.4.3 数据库表之间关系20第五章 系统详细设计与实现215.1登录界面的详细设计与实现215.2系统设置模块的详细设计与实现225.2.1图书馆信息模块设计与实现225.2.2管理员设置模块的设计与实现235.2.3书架管理模块的设计与实现245.3读者管理模块的详细设计与实现305.3.1读者类型管理模块的设计与实现305.3.2读者档案管理模块的设计与实现315.4图书管理模块的详细设计与实现5.4.1图书类型管理模块的详细设计与实现5.4.2图书档案管理模块的详细设计与实现5.5图书借还模块的详细设计与实现5.5.1图书借阅模块的详
11、细设计与实现5.5.2图书归还模块的详细设计与实现5.6系统查询模块的详细设计与实现5.6.1图书档案查询模块的详细设计与实现5.6.2图书借阅查询模块的详细设计与实现5.7排行榜模块的详细设计与实现5.7.1图书借阅排行榜模块的详细设计与实现5.7.2读者借阅排行版模块的详细设计与实现5.8更改口令模块的详细设计与实第六章 系统测试326.1 测试的目的326.2 测试的方法与结果32总结33致 谢34参考文献35第一章 绪论1.1 研究背景及意义 近些年来,图书馆事业的巨大进步已为图书馆在新世纪的发展打下了坚实的基础.全球信息化和高新技术的发展也为图书馆提供了更好的发展机遇,传统的单一以书
12、本作为单元信息服务手段已不能满足读者的需求,现代化服务手段的实施势在必行。随着社会的发展,信息社会的建立,图书馆开始冲破传统服务模式,紧密地配合社会需求,提供特色服务,有针对性的服务,不断提高读者的满意率。随着社会信息量的与日俱增,作为信息存储的主要媒体之一图书,数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式来管理自己的书籍。在计算机日益普及的今天,对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,为了便于图书资料的管理需要有效的图书管理软件。当今时代是飞速发展的信息时代。在
13、各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本图书管理系统系统就是为了管理好图书馆信息而设计的。 图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对
14、于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。 数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆
15、的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了。 基于这此问题,我认为在枝江市有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。1.2 国内外研究现状及发展前景90年代中期,我国图书馆自动化系统的研发曾经出现了一个高潮时期,当时推出了目前在国内较有影响的几个大型自动化系统(如南京汇文、北邮MELINETS),并提出了“第三代图书馆自动化系统”的概念。在此之后,国内图书馆自
16、动化系统处于相对平淡的一个历史时期,无论在理论上,还是在整体技术实现上,都没有大的突破,有的研究人员甚至认为图书馆自动化系统已经到达了顶点,没有发展的余地。国外自动化系统已经在我们所说的“第三代图书馆自动化系统”的基础之上,在多个方面(如体系结构、移动计算、门户集成)得到了较大的发展。国外图书馆自动化系统的起源可以追溯到1954年,当时,美国海军兵器中心(NOTS)就在IBM701机器上进行了单元词匹配检索。1958年,IBM的研究员卢恩进行了著名的自动抽词试验,开创了自动分类、自动标引、信息检索等多个与图书馆学情报学密切相关的研究领域之先河。图书馆自动化系统的真正发展是在1964年LC发起研
17、制机读目录之后。特别是20世纪70年代,以编目系统为基础的各种自动化系统已经成形,同时还出现了以编目系统为纽带的联机编目协作网,例如OCLC,BALLOTS,RLIN,WLN等;当时的图书馆自动化系统是由大学图书馆或有条件的大型图书馆自主开发的,如东伊利诺斯大学的联机图书流通系统,华盛顿州立大学的图书采购系统等。从20世纪70年代末80年代初,图书馆自动化系统由单一功能性系统转向图书馆集成管理系统,其典型代表是西北大学的NOTIS系统;这期间还出现了专门为图书馆研制计算机管理系统的公司,其中InnovativeInterface.Inc成立于1978年,Sirsi成立于1979年,Dynix(
18、epixtech)成立于1983年,Notis成立于1983年,Ex libris成立于1980年。商品化的图书馆自动化系统的出现,本身就是社会分工的体现,使得图书馆能更进一步地专注于资源建设和服务质量的提高。事实上,从上个世纪八十年代中期开始,发达国家的图书馆基本上不再自己独立研制软件,而是直接购买商品化的软件系统本文希望通过对这些国外图书馆自动化系统的分析,总结国外图书馆自动化系统的主要趋势,一方面为有志于提高国内自动化系统水平的有识之士提供参考;另一方面,也为一些希望引进国外自动化系统的图书馆提供一个当前国外图书馆自动化系统的基本概况。1.3 课题设计目标本设计尝试用ASP.NET架构一
19、个图书管理系统,以推进图书管理无纸化,过程电子化,管理智能化的发展。本文从理论和实践两个角度出发,对一个具有数据分析功能的图书管理系统进行设计与实现分析。论文首先较为详尽地介绍了面向对象分析与设计的有关概念与技术,特别深入介绍了在本系统中运用到的知识,如:面向对象的分析设计流程;系统中所用到的开发技术ASP.NET的特点。接着对图书管理系统的可行性进行了分析,然后对系统的设计思想、设计目标与系统的整体结构进行了明确的规划。最后对系统的主要页面、数据库、应用程序的设计与实现作了较为详细的讲解。本图书管理系统是在Visual Studio.Net 平台上运用ASP.NET技术、SQL Server
20、 2008数据库来实现的。其主要功能有:用户管理,图书信息管理,数据备份等。论文在撰写过程中,力求将理论与实践应用相结合,对各种理论进行阐述的同时配合系统从实际应用和操作技巧上加以说明,希望能够更充分地体现到这些知识与技术在本系统中的应用与实现。本系统是基于BS架构的系统,相对于现有的基于C/S架构的系统,其稳定性与灵活性得到了极大的提升。通过新系统的运用,为学院营造了一种新的办学环境,使管理突破了时空限制,提高了工作效率和办学水平。第二章 相关技术介绍本系统是基于B/S架构的图书管理系统,主要运用到的相关技术有SQL Server 2008,ASP.NET,C#,相关技术详细介绍如下:2.1
21、 SQL Server 2008技术SQL Server 2008是一个全面的数据库平台,使用集成的商业智能 (BI) 工具提供了企业级的数据管理。SQL Server 2008 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使用户可以构建和管理用于业务的高可用性和高性能的数据应用程序。 Microsoft SQL Server作为Microsoft公司在Windows平台上开发的数据库,是经过若干实践所证实的优秀的数据库管理系统,是一个全面的、集成的、端到端的数据解决方案。SQL Server 2008扩展了SQL Server 2005的性能,成为大规模联机事务处理(OLT
22、P)、数据仓库和电子商务应用程序的优秀数据库平台。和以往的数据解决方案相比,SQL Server 2008将给我们带来空前的价值、超强的功能和激动人心的全新体验。SQL Server 2008中包含了非常丰富的新特性,通过提供一个更安全、可靠和高效的数据管理平台,增强企业组织中用户的管理能力,大幅提升IT管理效率并降低运行风险和成本,通过提供先进的商业智能平台满足众多客户对业务的实时统计分析、监控预测等多种复杂管理需求,推动企业管理信息化建设和业务发展;同时,SQL Server 2008将提供一个极具扩展性和灵活性的开发平台,不断拓展应用空间,实现Internet数据业务互联,为我们带来新的
23、商业应用机遇。由于大大减少了应用程序宕机时间,提高了系统的可伸缩性和性能,并加以更严格的安全控制,SQL Server 2008在支持现实中最苛刻的企业级系统要求的道路上,迈出了极大的一步。SQL Server 是微软服务器家族中重要的一部分,通过微软服务器系列产品共有的 Engineering strategy所实现的增强的管理性和集成性,客户可以有效降低总体拥有成本并从更快的开发部署时间中受益。SQLServer2008具有以下优点:1、安全、可靠、高效的企业级数据管理平台2、极具扩展性和灵活性的开发平台3、先进、一体化的商业智能平台 正是基于以上的优势,所以物流管理系统将SQL Serv
24、er2008作为数据库,这样一方面能够加快开发进度、减小部署代价,另一方面也能够提升系统数据运行效率、易于数据库数据管理工作。2.2 ASP.NET技术 ASP.NET是统一的Web应用程序平台,是一种新的编程模型和基本结构,通过ASP.NET能够构建更安全、更强、可升级、更稳定的网络应用程序。 其主要特点是: (1)高效的运行性能由于ASP.NET采用代码页面(.cs文件)与前台页面(.aspx文件)分离存储,这使得ASP.NET应用程序可以像一般Windows下的应用程序一样,编译这些代码页面成DLL文件。ASP.NET在服务器上运行时,可以直接运行编译好的DLL文件,这比ASP等程序需要
25、在边编译边运行的运行性能要好很多。而且ASP.NET采用缓存机制,使页面的运行性能更好。 (2)简易性 ASP.NET完全基于面向对象开发技术,使整个网络应用程序开发根据页面各个对象的属性、方法、事件进行各个功能的开发。例如,页面中添加一个按钮,单击该按钮,就可以为按钮设置一个Click事件,在该事件中添加一些处理代码,则可以实现单击按钮时,处理一些功能。 (3)灵活性 ASP.NET不依赖于任何Web浏览器,也与任何语言无直接关系,在ASP.NET开发中可以结合多种程序语言,构建功能丰富的应用程序。ASP.NET网络应用程序甚至可以调用API、Windows其他应用程序进行联合开发,这使AS
26、P.NET的开发更具有灵活性。 (4)可管理性 ASP.NET 2.0之后的版本,是基于Web.config文件进行配置管理的应用程序,这使ASP.NET的应用程序不依赖于本地开发环境,方便该应用程序的移植。例如,要将网站发布到虚拟主机上,只要将Web.config文件复制到该虚拟空间,就可以完成在虚拟主机上配置开发环境。如果对应用程序进行修改变化,响应一些相关配置,只要将该配置文件上传到服务器,就可以使服务器上的应用程序也得到更新变化。这就是ASP.NET的可管理性。 (5)可调试性 ASP.NET可以像Windows应用程序那样进行调试,并跟踪调试的错误或异常。同时也提供了处理这些错误或异
27、常的处理机制,保证应用程序始终可以正常运行。 (6)自定义性和扩展性 ASP.NET可以将一个ASP.NET页面程序修改设置为一个自定义用户控件,并可以添加插入到不同的ASP.NET页面中,实现更具有个性化的功能组件。同时这些组件也可以应用到其他站点中,这样提高了ASP.NET代码的重复使用及功能扩展。2.3 C#C#(C Sharp)是微软公司.NET战略部署的重要一环,是面向对象(OO,Open to Object)的编程语言(PL,Programming Language)。从.NET1.0、.NET2.0到.NET3.5,C#也经历了C#1.0、C#2.0和C#3.0的过程,发展成为一
28、门成熟的语言,也使微软一次拿出以C#为“内核”,XAML为“外壳”,WPF、WCF、LINQ等为“包装”,ASP.NET AJAX和Silver Light等为“深度扩展”的全方位“阻击”Java和Flash等技术的部署。C#和Java相似,需要运行在特定的环境中,而不同的是,Java运行在JVM(Java虚拟机)上,而C#运行在.NET Framework(准确的说是CLR,Common Language Runtime)上。比如C#2.0可运行在.NET2.0和.NET3.5上,而C#3.0只能运行在.NET3.5上。要运行C#程序,电脑必须安装了Windows(XP以上版本最佳,Linu
29、x平台下的虚拟机和.NET Framework还在研究阶段),并安装必要的.NET Framework。其实,在Windows Vista中,微软已经加入了.NET3.0。而要是想要编译C#程序,则至少要安装.NET Framework SDK。对于C#的争论从来没有停止过,特别是Java阵营和C/C+阵营,其实,术业有专攻,扫大街的和看自行车的有何可争的?况且现在的状况是多门语言并存,至于哪门语言会遭淘汰(或许是几十年后才会出现的事情,或许不会出现),还是让时间去说明。C#、VB和C+托管语言(C+/CLR,是微软对C+的扩展)的源代码经过C#编译器和连接器编译成中间语言(ML, Mid-L
30、anguage),功能相同语言不同的代码可能会编译成相同的ML,这使得C#、VB、C+/CLR等语言工作者可以在同一个工程里合作,使得不同编程语言的使用者可以在同一个团队中融洽相处。当第一次运行C#程序时,CLR会根据系统配置,将其优化编译成最终程序,今后再次运行时就无需经过CLR编译而能够快速运行,这使得开发者可以最大程度的从不同系统平台上的不同代码编辑和优化中解放出来。CLR还支持延迟编译的技术,使得不同模块在使用时才编译,减少了编译的工作量,加快了程序第一次启动的速度。下面对它的几个突出特点进行了描述: 1、简洁的语法C#取消了指针,也不定义烦乱的伪关键字,它使用有限的指令、修饰符和操作
31、符,语法上几乎不存在任何冗余,整个程序结构十分清晰。初学者可以轻松快速地掌握C#的基本特性,而C和C+程序员转入C#则几乎不会有任何障碍。 2、精心的面向对象设计C#具有面向对象的语言所应有的基本特性:封装、继承和多态性。它禁止多重继承,禁止各种全局方法、全局变量和常量。C#以类为基础来构建所有的类型,并通过命名空间对代码进行层次化的组织和管理,减少了发生命名冲突的可能性。3、与Web的紧密结合借助Web服务框架,C#使得网络开发和本地开发几乎一样简单。开发人员无需了解网络的细节,可以用统一的方式来处理本地的和远程的C#对象,而C#组件能够方便地转变为Web服务,并被其他平台上的各种编程语言调
32、用。 4、完整的安全性与错误处理C#符合通用类型系统的类型安全性要求,并用公共语言运行时所提供的代码访问安全特性,从而能够在程序中方便地配置安全等级和用户权限。此外,垃圾收集机制自动管理对象的生命周期,开发人员无须再负担内存管理的任务。应用程序的可靠性进一步得到了提高。5、版本管理技术C#在语言中内置了版本控制功能,并通过接口和继承来实现应用的可扩展性。应用程序的维护和升级更加易于管理。 6、灵活性与兼容性C#中允许使用非托管代码,能够与各种现有的组件和程序(包括COM组件、WIN32 API等)进行集成和交互。它还可以通过代表(delegates)来模拟指针的功能,通过接口来模拟多继承的实现
33、。 为了吸引软件开发人员和合作伙伴对.NET的认同,Microsoft推出了新一代的集成开发环境Microsoft Visual Studio.NET。该环境提供了对C#语言编程的可视化支持,使得开发人员能够方便地创建、运行、调试和发布C#程序,从而针对.NET平台快速地构建广泛的应用。2.4 系统开发及运行环境本文是基于ASP.NET开发的图书管理系统,对系统的软件、硬件都有相应的要求,有关系统的软件、硬件要求如下:开发语言:C#开发技术:ASP.NET SQL Server 2008系统开发平台:Microsoft Visual Studio 2008配置要求: 系统:Windows XP
34、或Vista或Win7 (32bit/64bit) 内存:256MB硬盘:1GB可用空间第三章 需求分析3.1 需求分析概述进行数据库设计首先必须准确了解与分析用户需求(即用户想要做什么)。需求分析是整个设计过程的基础,是最困难、最耗费时的一步。需求分析是否做得充分、准确,决定了在此基础上创建的数据库及应用程序的速度与质量。需求分析做得不好,轻则使应用程序的开发反复性比较大,重则会导致整个数据库设计返工重做。无论哪一种都将造成巨大的经济浪费,给企业、单位和个人造成一定程度的影响。需求描述与分析设计一个性能良好的数据库系统,明确应用环境对系统的要求是首要的和最基本的。特别是数据应用非常广泛,非常
35、复杂,要是事先没有对信息进行充分和细致的分析,这种设计就很难取得成功。通过需求分析阶段对图书管理系统的整个应用情况作全面的、详细的调查,确定图书管理的目标,收集支持系统总的设计目标的基础数据和对这些数据的要求,确定用户的需求,并把这些写成用户和数据库设计者都能够接受的文档。事实上,需求分析是数据库开发中最难的任务之一。因为,第一,系统本身是可变的,用户的需求必须不断调整,使之与这种变化相适应。第二,用户很难说清某部分工作的功能处理过程。所以,设计人员必须认识到:在整个需求分析以及系统设计过程中,用户参与的重要性,通过各种方法展开调查分析。 3.2 功能需求图书管理系统网站首页中提供“用户登录”
36、,可供用户查看与登录本图书馆相关的所有操作及用户类别。普通用户登录后可通过该系统对图书馆中的图书信息进行查询以及对个人借阅信息的查看。管理员可以通过后台登录操作,对图书信息,用户信息,图书管理,用户管理等进行及时地管理及维护,并可添加新的管理员。系统各功能需求分析如下:前台模块用户登录:管理员可通过此模块进行登录, 对图书馆中的图书信息进行查询等。后台管理模块(管理员)图书管理员:图书信息的输入,包括图书的书名、出版号、价格、分类、作者、简介、出版社、出版日期、编号、数量等。对管理员和读者的添加以及管理。包括管理员的基本信息以及读者的基本信息。3.3 可行性分析为了对问题进行研究,以最小代价在
37、最短的时间内确定问题是否可解,经过对此项目进行详细调查研究,初拟本系统的实现报告,对软件开发中将要面临的问题及其解决方案进行初步设计及合理安排,明确开发目标。1) 技术可行性 本系统采用Microsoft Visual Studio 2008平台进行开发,它是一个集成于代码编写、运行、调试及发布等功能于一身的强大的开发环境。开发工程的效率非常高,环境也提供了自动代码生成机制,可以有效的减少代码编写量。基于VS的应用程序,对于程序的发布也是十分的容易,因此,开发本系统在技术上完全可行。2) 经济可行性该系统成本主要集中在软件的开发上,当系统投入使用后可以为图书馆管理部门节约大量的人力、物力。同时
38、该系统也实现了开放性图书馆管理的现代化管理模式,达到充分利用管理资源,进行科学和规范化管理,提高了管理人员的素质和工作质量。它所带来的效益远远大于系统软件的开发成本,在经济上完全可行。3) 操作可行性在设计系统的过程中,充分考虑到管理人员和学生的习惯。界面风格使用简单大方形式呈现。使用方便,而无需进行任何软件的安装,操作简单;按权限使用并提供多种查询手段,在操作上可行。3.4 性能分析1. 用户特点 操作人员:懂计算机基础的操作人员即可。2. 时间特性要求 1 响应时间: 更新处理时间: 数据转换时间: 数据传送时间: 设备客户端机器要求:普通PC机即可 2 支持系统运行环境:Windows
39、XP/Windows 2000/Windows 2003等一系列操作系统。 3 开发背景 开发期限:6周 开发语言:C# 开发技术:ASP.NET 系统开发平台:Microsoft Visual Studio 2008 数据库:SQL Server 2008第四章 系统概要设计4.1 系统体系结构设计本系统所面向的对象是广大的互连网用户。因此,将要采用比较流行的B/S结构。B/S结构即浏览器和服务器结构。B/S模式把服务器部分分解为一个数据服务器和一个或多个应用服务器(Web服务器),从而构成一个三层结构的客户服务器体系,表示层、中间层和资料层被分成三个相对独立的单元。图4-1 B/S三层结构
40、图 中间层通常包括业务逻辑层(Business Logic Layer,简称BLL)、数据访问层(Database Access Layer,简称DAL)和数据对象模型层(Database Object Model Layer,简称DOM)。此时的三层结构软件模型如图4-2所示。图 4-2 三层结构软件模型图用户界面(User Interface,简称UI),也称表示层,位于最上层,用于显示和接收用户提交的数据,为用户提供交互式的界面。表示层一般为Windows窗体应用程序或Web应用程序。业务逻辑层是表示层和数据访问层之间沟通的桥梁,主要负责数据的传递和处理。数据访问层主要实现对数据的读取、
41、保存和更新等操作。数据对象模型层即业务实体层。主要用于表示数据存储的持久对象。在实际应用程序中的实体类是跟数据库中的表相对应的,也就是说一个表会有一个对应的实体类。当然有些三层结构并不包含单独的数据对象模型层,而将其功能分解到业务逻辑层和数据访问层之中。在三层结构中,表示层直接依赖于业务逻辑层;业务逻辑层直接依赖于数据访问层;数据访问层直接依赖于数据对象模型层。三层架构的优点:三层结构主要体现出对程序分而治之的思想:数据访问层只负责提供原原始数据,并不需要了解业务逻辑;业务逻辑层调用数据访问层提供的方法自定义一些业务逻辑,对数据进行加工,本身不需要了解数据访问层的实现;表示层直接调用业务逻辑提
42、供的方法把数据呈现给用户。三层结构的优点在于不必为了业务逻辑上的微小变化而迁至整个程序的修改,只需要修改商业逻辑层中的一个函数或一个过程;增强了代码的可重用性;便于不同层次的开发人员之间的合作,只要遵循一定的接口标准就可以进行并行开发了,最终只要将各个部分拼接到一起构成最终的应用程序。三层结构的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互,这样会大大提高系统的安全性。三层结构的应用程序更能够适应企业级应用日益增长的复杂度和灵活性的要求,并且通过软件分层的高
43、内聚、低耦合原则,实现扩展、维护和重用的要求,可以大大提高开发效率。4.2 系统总体模块结构设计图书管理系统总体结构的设计分为两个部分的设计,分别是前台模块的设计,后台管理模块的设计。其中前台模块的设计,即对用户所属功能模块设计;而后台管理模块的设计,即对管理员管理系统的设计。系统总体模块结构图如下图4-3所示。图4-3 系统总体模块结构图4.3 系统总体处理流程图书管理系统总体流程图的设计分为两个部分的设计,分别是前台模块的设计,后台管理模块的设计。其中前台模块的设计,即供用户进行图书查询,借书查询的基本信息功能;而后台管理模块的设计,即供管理员对整个系统中的用户,图书以及管理员自身进行操作
44、,管理。 系统总体的流程图如图4-4所示。图书管理信息系统用户登录身份验证失败成功成功后台管理模块还书管理借书管理读者管理图书管理借书查询数据备份前台模块借书查询图书查询读者添加读者删除读者修改读者查询图书添加图书删除图书修改图书查询图书查询图4-4 系统总体的流程图4.4数据库设计4.4.1概念结构设计通过了解图书管理系统要实现的功能,可以得出图书管理数据库包含的实体有“管理员”、“书架”、“图书”,“图书类型”,“图书馆信息”,“读者”,“读者类型”,“借书情况”和“排行榜”。管理员的属性有:管理员编号,管理员姓名和密码。书架的属性有:书架编号和书架名称。图书的属性有:图书编号,图书名称,
45、图书类型,作者,译者,出版社,价格,页码,所在书架,库存数量,借书时间,还书时间以及操作人员。图书类型的属性有:类型编号,类型和可借天数。图书馆信息的属性有:图书馆名称,馆长,电话,地址,邮箱,网址,建馆时间以及图书馆简介。读者的属性有:读者ID,读者姓名,性别,类型,出生日期,证件类型,证件号码,联系电话,邮箱,创建日期,操作人员,备注,以及借阅数量读者类型的属性有:类型编号,类型,可借数量。借阅情况的属性有:借阅编号,读者编号,图书编号,节约时间,还书时间,到期时间,读者姓名,操作人员以及是否归还的状态值。管理员权限表的属性有:管理员编号,是否可操作系统设置模块的状态值,是否可操作读者管理模块的状态值,是否可操作图书管理模块的状态值,是否可操作图书借还模块的状态值,是否可操作系统查询模块的状态值。在本系统中,涉及到角色、功能、模块、图书等实体。它们之间的关系如图4-5的E-R图所示。 图 4-5 实体间的E-R图4.4.2 逻辑结构设计 数据库逻辑设计决定了数据库及其应用的整体性能,调优位置。在本系统中,主要设计了读者信息表、图书信息表、借阅表、还书记录表、图书借出表、管理员表。表的具体设计如下:读者信息表用于存储读者的相关信息,如:借书证号,密码,姓名,性别,出