




免费预览已结束,剩余44页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录摘要随着现代科学技术的进步,人类社会正逐渐走向信息化,图书馆拥有丰富的文献信息资源,是社会系统的重要组成部分,在信息社会中作用愈来愈重要,我国图书馆计算机等信息技术的应用起步于20世纪70年代末期,随着改革开放的步伐得迅速发展,特别是90年代以后,我国图书馆信息网络建设取得了较大发展图书馆信息化建设迈向了一个新台阶。本系统是利用B/S架构的图书管理系统,用于实现院校图书馆办公系统的自动化,信息化,简单化。该系统采用Microsoft Visual Studio 2008为开发工具,利用现今比较流行的C#开发语言,以SQL Server 2008为存储数据库来进行系统开发,最终实现用户和管理员两个方面的基本功能。如:如游客注册成为用户登录系统后可对图书馆中的图书信息进行查询,可对图书馆申请借书,查询自己的历史借书记录及修改个人用户信息及密码。管理员登录系统后对用户的信息进行管理如添加、修改、删除及查询,图书分类管理如添加、修改、删除及查询,图书信息进行管理如添加、修改、删除及查询,图书借还管理对用户所申请的图书进行审核借书、归还、驳回,及查询所有用户历史借书记录,还可以对管理进行添加、修改及删除。本系统不仅维护方便,节省了图书馆的资源,方便图书馆进行图书管理,同时,用户也能够更容易更直观的查询书籍、使借书、还书、查书的过程大大简化,更加的方便和容易。关键词: B/S SQL Server 2008 Visual Studio 2010 ASP.NET 图书管理系统 目录摘要1目 录2第一章 绪 论41.1 研究背景及意义41.2 国内外研究现状及发展前景51.3 课题设计目标7第二章 相关技术介绍82.1 SQL Server 2008技术82.2 ASP.NET技术92.3 C#112.4 三层结构132.5 系统开发及运行环境13第三章 需求分析153.1 需求分析概述153.2 功能需求163.3 可行性分析173.4 性能分析18第四章 系统概要设计204.1 系统体系结构设计204.2 系统总体模块结构设计224.3 系统总体处理流程224.4数据库设计234.4.1概念结构设计234.4.2 逻辑结构设计254.4.3 数据库表之间关系27第五章 系统详细设计与实现285.1注册界面详细设计与实现285.2 登录运行界面详细设计与实现295.3 管理员角色模块的详细设计与实现315.3.1图书分类管理模块设计与实现315.3.2图书信息管理模块设计与实现345.3.3图书借还管理模块设计与实现355.3.4用户管理模块设计与实现395.3.5系统管理模块设计与实现395.4 用户角色模块的详细设计与实现405.4.1修改信息模块设计与实现405.4.2我要借书模块设计与实现415.4.3借阅记录模块设计与实现415.4.4密码维护模块设计与实现42第六章 系统测试446.1 测试的目的446.2 测试的方法与结果44总结46致 谢47参考文献48III第一章 绪论第一章 绪 论1.1 研究背景及意义近些年来,图书馆事业的巨大进步已为图书馆在新世纪的发展打下了坚实的基础.全球信息化和高新技术的发展也为图书馆提供了更好的发展机遇,传统的单一以书本作为单元信息服务手段已不能满足读者的需求,现代化服务手段的实施势在必行。随着社会的发展,信息社会的建立,图书馆开始冲破传统服务模式,紧密地配合社会需求,提供特色服务,有针对性的服务,不断提高读者的满意率。随着社会信息量的与日俱增,作为信息存储的主要媒体之一图书,数量、规模比以往任何时候都大的多,不论个人还是图书管理部门都需要使用方便而有效的方式来管理自己的书籍。在计算机日益普及的今天,对个人而言若采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,为了便于图书资料的管理需要有效的图书管理软件。当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本图书管理系统系统就是为了管理好图书馆信息而设计的。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了。基于这此问题,我认为在枝江市有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。1.2 国内外研究现状及发展前景90年代中期,我国图书馆自动化系统的研发曾经出现了一个高潮时期,当时推出了目前在国内较有影响的几个大型自动化系统(如南京汇文、北邮MELINETS),并提出了“第三代图书馆自动化系统”的概念。在此之后,国内图书馆自动化系统处于相对平淡的一个历史时期,无论在理论上,还是在整体技术实现上,都没有大的突破,有的研究人员甚至认为图书馆自动化系统已经到达了顶点,没有发展的余地。国外自动化系统已经在我们所说的“第三代图书馆自动化系统”的基础之上,在多个方面(如体系结构、移动计算、门户集成)得到了较大的发展。国外图书馆自动化系统的起源可以追溯到1954年,当时,美国海军兵器中心(NOTS)就在IBM701机器上进行了单元词匹配检索。1958年,IBM的研究员卢恩进行了著名的自动抽词试验,开创了自动分类、自动标引、信息检索等多个与图书馆学情报学密切相关的研究领域之先河。图书馆自动化系统的真正发展是在1964年LC发起研制机读目录之后。特别是20世纪70年代,以编目系统为基础的各种自动化系统已经成形,同时还出现了以编目系统为纽带的联机编目协作网,例如OCLC,BALLOTS,RLIN,WLN等;当时的图书馆自动化系统是由大学图书馆或有条件的大型图书馆自主开发的,如东伊利诺斯大学的联机图书流通系统,华盛顿州立大学的图书采购系统等。从20世纪70年代末80年代初,图书馆自动化系统由单一功能性系统转向图书馆集成管理系统,其典型代表是西北大学的NOTIS系统;这期间还出现了专门为图书馆研制计算机管理系统的公司,其中InnovativeInterface.Inc成立于1978年,Sirsi成立于1979年,Dynix(epixtech)成立于1983年,Notis成立于1983年,Ex libris成立于1980年。商品化的图书馆自动化系统的出现,本身就是社会分工的体现,使得图书馆能更进一步地专注于资源建设和服务质量的提高。事实上,从上个世纪八十年代中期开始,发达国家的图书馆基本上不再自己独立研制软件,而是直接购买商品化的软件系统本文希望通过对这些国外图书馆自动化系统的分析,总结国外图书馆自动化系统的主要趋势,一方面为有志于提高国内自动化系统水平的有识之士提供参考;另一方面,也为一些希望引进国外自动化系统的图书馆提供一个当前国外图书馆自动化系统的基本概况。1.3 课题设计目标本系统是基于B/S架构以ASP.NET技术,以推进图书管理无纸化,过程电子化,管理智能化的发展。本文从理论和实践两个角度出发,对一个具有数据分析功能的图书管理系统进行设计与实现分析。论文首先较为详尽地介绍了面向对象分析与设计的有关概念与技术,特别深入介绍了在本系统中运用到的知识,如:面向对象的分析设计流程;系统中所用到的开发技术ASP.NET的特点。接着对图书管理系统的可行性进行了分析,然后对系统的设计思想、设计目标与系统的整体结构进行了明确的规划。最后对系统的主要页面、数据库、应用程序的设计与实现作了较为详细的讲解。本图书管理系统是在Visual Studio.Net 平台上运用ASP.NET技术、SQL Server 2008数据库来实现的。其主要功能有:用户管理,图书信息管理,数据备份等。论文在撰写过程中,力求将理论与实践应用相结合,对各种理论进行阐述的同时配合系统从实际应用和操作技巧上加以说明,希望能够更充分地体现到这些知识与技术在本系统中的应用与实现。45第二章 相关技术介绍第二章 相关技术介绍本系统是基于B/S架构的图书管理系统,主要运用到的相关技术有SQL Server 2008、ASP.NET、C#、三层结构,相关技术详细介绍如下。2.1 SQL Server 2008技术SQL Server 2008是一个全面的数据库平台,使用集成的商业智能 (BI) 工具提供了企业级的数据管理。SQL Server 2008 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使用户可以构建和管理用于业务的高可用性和高性能的数据应用程序。 Microsoft SQL Server作为Microsoft公司在Windows平台上开发的数据库,是经过若干实践所证实的优秀的数据库管理系统,是一个全面的、集成的、端到端的数据解决方案。SQL Server 2008扩展了SQL Server 2005的性能,成为大规模联机事务处理(OLTP)、数据仓库和电子商务应用程序的优秀数据库平台。和以往的数据解决方案相比,SQL Server 2008将给我们带来空前的价值、超强的功能和激动人心的全新体验。SQL Server 2008中包含了非常丰富的新特性,通过提供一个更安全、可靠和高效的数据管理平台,增强企业组织中用户的管理能力,大幅提升IT管理效率并降低运行风险和成本,通过提供先进的商业智能平台满足众多客户对业务的实时统计分析、监控预测等多种复杂管理需求,推动企业管理信息化建设和业务发展;同时,SQL Server 2008将提供一个极具扩展性和灵活性的开发平台,不断拓展应用空间,实现Internet数据业务互联,为我们带来新的商业应用机遇。由于大大减少了应用程序宕机时间,提高了系统的可伸缩性和性能,并加以更严格的安全控制,SQL Server 2008在支持现实中最苛刻的企业级系统要求的道路上,迈出了极大的一步。SQL Server 是微软服务器家族中重要的一部分,通过微软服务器系列产品共有的 Engineering strategy所实现的增强的管理性和集成性,客户可以有效降低总体拥有成本并从更快的开发部署时间中受益。SQLServer2008具有以下优点:1、安全、可靠、高效的企业级数据管理平台2、极具扩展性和灵活性的开发平台3、先进、一体化的商业智能平台正是基于以上的优势,所以物流管理系统将SQL Server2008作为数据库,这样一方面能够加快开发进度、减小部署代价,另一方面也能够提升系统数据运行效率、易于数据库数据管理工作。2.2 ASP.NET技术ASP.NET是统一的Web应用程序平台,是一种新的编程模型和基本结构,通过ASP.NET能够构建更安全、更强、可升级、更稳定的网络应用程序。其主要特点是:(1)高效的运行性能由于ASP.NET采用代码页面(.cs文件)与前台页面(.aspx文件)分离存储,这使得ASP.NET应用程序可以像一般Windows下的应用程序一样,编译这些代码页面成DLL文件。ASP.NET在服务器上运行时,可以直接运行编译好的DLL文件,这比ASP等程序需要在边编译边运行的运行性能要好很多。而且ASP.NET采用缓存机制,使页面的运行性能更好。(2)简易性ASP.NET完全基于面向对象开发技术,使整个网络应用程序开发根据页面各个对象的属性、方法、事件进行各个功能的开发。例如,页面中添加一个按钮,单击该按钮,就可以为按钮设置一个Click事件,在该事件中添加一些处理代码,则可以实现单击按钮时,处理一些功能。(3)灵活性ASP.NET不依赖于任何Web浏览器,也与任何语言无直接关系,在ASP.NET开发中可以结合多种程序语言,构建功能丰富的应用程序。ASP.NET网络应用程序甚至可以调用API、Windows其他应用程序进行联合开发,这使ASP.NET的开发更具有灵活性。(4)可管理性ASP.NET 2.0之后的版本,是基于Web.config文件进行配置管理的应用程序,这使ASP.NET的应用程序不依赖于本地开发环境,方便该应用程序的移植。例如,要将网站发布到虚拟主机上,只要将Web.config文件复制到该虚拟空间,就可以完成在虚拟主机上配置开发环境。如果对应用程序进行修改变化,响应一些相关配置,只要将该配置文件上传到服务器,就可以使服务器上的应用程序也得到更新变化。这就是ASP.NET的可管理性。(5)可调试性ASP.NET可以像Windows应用程序那样进行调试,并跟踪调试的错误或异常。同时也提供了处理这些错误或异常的处理机制,保证应用程序始终可以正常运行。(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的过程,发展成为一门成熟的语言,也使微软一次拿出以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以上版本最佳,Linux平台下的虚拟机和.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-Language),功能相同语言不同的代码可能会编译成相同的ML,这使得C#、VB、C+/CLR等语言工作者可以在同一个工程里合作,使得不同编程语言的使用者可以在同一个团队中融洽相处。当第一次运行C#程序时,CLR会根据系统配置,将其优化编译成最终程序,今后再次运行时就无需经过CLR编译而能够快速运行,这使得开发者可以最大程度的从不同系统平台上的不同代码编辑和优化中解放出来。CLR还支持延迟编译的技术,使得不同模块在使用时才编译,减少了编译的工作量,加快了程序第一次启动的速度。下面对它的几个突出特点进行了描述: 1、简洁的语法C#取消了指针,也不定义烦乱的伪关键字,它使用有限的指令、修饰符和操作符,语法上几乎不存在任何冗余,整个程序结构十分清晰。初学者可以轻松快速地掌握C#的基本特性,而C和C+程序员转入C#则几乎不会有任何障碍。 2、精心的面向对象设计C#具有面向对象的语言所应有的基本特性:封装、继承和多态性。它禁止多重继承,禁止各种全局方法、全局变量和常量。C#以类为基础来构建所有的类型,并通过命名空间对代码进行层次化的组织和管理,减少了发生命名冲突的可能性。3、与Web的紧密结合借助Web服务框架,C#使得网络开发和本地开发几乎一样简单。开发人员无需了解网络的细节,可以用统一的方式来处理本地的和远程的C#对象,而C#组件能够方便地转变为Web服务,并被其他平台上的各种编程语言调用。 4、完整的安全性与错误处理C#符合通用类型系统的类型安全性要求,并用公共语言运行时所提供的代码访问安全特性,从而能够在程序中方便地配置安全等级和用户权限。此外,垃圾收集机制自动管理对象的生命周期,开发人员无须再负担内存管理的任务。应用程序的可靠性进一步得到了提高。5、版本管理技术C#在语言中内置了版本控制功能,并通过接口和继承来实现应用的可扩展性。应用程序的维护和升级更加易于管理。 6、灵活性与兼容性C#中允许使用非托管代码,能够与各种现有的组件和程序(包括COM组件、WIN32 API等)进行集成和交互。它还可以通过代表(delegates)来模拟指针的功能,通过接口来模拟多继承的实现。 为了吸引软件开发人员和合作伙伴对.NET的认同,Microsoft推出了新一代的集成开发环境Microsoft Visual Studio.NET。该环境提供了对C#语言编程的可视化支持,使得开发人员能够方便地创建、运行、调试和发布C#程序,从而针对.NET平台快速地构建广泛的应用。2.4 三层结构三层架构通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。1、表现层(UI):通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。2、业务逻辑层(BLL):针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。3、数据访问层(DAL):该层所做事务直接操作数据库,针对数据的增添、删除、修改、查找等。2.5 系统开发及运行环境本文是基于ASP.NET开发的图书管理系统,对系统的软件、硬件都有相应的要求,有关系统的软件、硬件要求如下:开发语言:C#开发技术:ASP.NET SQL Server 2008系统开发平台:Microsoft Visual Studio 2010系统运行框架:.NET 4.0配置要求:系统:Windows XP或Win7 (32bit/64bit) 内存:256MB硬盘:1GB可用空间第三章 需求分析第三章 需求分析3.1 需求分析概述进行数据库设计首先必须准确了解与分析用户需求(即用户想要做什么)。需求分析是整个设计过程的基础,是最困难、最耗费时的一步。需求分析是否做得充分、准确,决定了在此基础上创建的数据库及应用程序的速度与质量。需求分析做得不好,轻则使应用程序的开发反复性比较大,重则会导致整个数据库设计返工重做。无论哪一种都将造成巨大的经济浪费,给企业、单位和个人造成一定程度的影响。需求描述与分析设计一个性能良好的数据库系统,明确应用环境对系统的要求是首要的和最基本的。特别是数据应用非常广泛,非常复杂,要是事先没有对信息进行充分和细致的分析,这种设计就很难取得成功。通过需求分析阶段对图书管理系统的整个应用情况作全面的、详细的调查,确定图书管理的目标,收集支持系统总的设计目标的基础数据和对这些数据的要求,确定用户的需求,并把这些写成用户和数据库设计者都能够接受的文档。事实上,需求分析是数据库开发中最难的任务之一。因为,第一,系统本身是可变的,用户的需求必须不断调整,使之与这种变化相适应。第二,用户很难说清某部分工作的功能处理过程。所以,设计人员必须认识到:在整个需求分析以及系统设计过程中,用户参与的重要性,通过各种方法展开调查分析。 3.2 功能需求该系统分为两种角色,一种是用户即借书者,另一种为管理员即图书馆管理员。游客浏览网站时可注册成为用户,用户登录进系统后可分为以下几个模块操作:修改信息:用户可对自己的信息进行修改,如姓名、身份证、地址、联系电话。我要借书:用户可对图书馆里的所有图书进行查询,可按图书的条形码、图书名称或图书类型条件进行组合查询,可查看到图书的条形码、图书名称、图书价格、图书库存及入库日期等信息,并可对自己喜好的图书进行借阅的操作。借还记录:用户可查看到自己个的的历史借还书记录。如:借书人、图书条形码、图书名称、借书日期、到期日期、归还日期及状态,该状态这里分有四种可能:第一种为“审核中”用户对图书进行借阅时,还没经过管理员审核时状态为“审核中”。第二种为“驳回”用户对图书进行借阅时,管理员可对用户申请借阅的图书进行审核,如果管理员不同意借阅时状态为“驳回”,反之同意时借阅状态为“借出”也是第三种情况。此时借书日期默认为当前日期,到期日期默认为当前日期加上三个月。第四种为“归还”,当用户把借阅的书箱归还给图书馆时,此时借阅状态为“归还”,并且归还日期为用户归还的日期。密码维护:用户可对自己的密码进行修改,当用户提供输入原密码及输入新密码和确认新密码后,保护原密码正确以及新密码和确认密码一致时可修改成功,反之修改失败。管理员登录进系统后可分为以下几个模块操作:图书分类管理:管理员可对图书的类型进行添加、修改、删除及查询。图书信息管理:管理员可对新书信息进行录入,对图书的信息进行相应的修改、删除,及可按图书的条形码、图书名称或图书类型条件进行组合查询,可查看到图书的条形码、图书名称、图书价格、图书库存及入库日期等信息。图书借还管理:管理员可对用户申请借阅的信息进行审核,当不同意时,借阅信息状态为“驳回”同意时,借阅信息状态为“借出”,当用户把借阅的书箱归还给图书馆时,此时借阅状态为“归还”,并可以查看所有用户历史的借书还书记录。用户管理:管理员可对注册后的所有用户进行修改、删除、及查看,并可设置用户类型。系统管理:管理员可对系统添加多个管理员账号及密码,同时也可以修改及删除。3.3 可行性分析为了对问题进行研究,以最小代价在最短的时间内确定问题是否可解,经过对此项目进行详细调查研究,初拟本系统的实现报告,对软件开发中将要面临的问题及其解决方案进行初步设计及合理安排,明确开发目标。1) 技术可行性 本系统采用Microsoft Visual Studio 2010平台进行开发,它是一个集成于代码编写、运行、调试及发布等功能于一身的强大的开发环境。开发工程的效率非常高,环境也提供了自动代码生成机制,可以有效的减少代码编写量。基于VS的应用程序,对于程序的发布也是十分的容易,因此,开发本系统在技术上完全可行。2) 经济可行性该系统成本主要集中在软件的开发上,当系统投入使用后可以为图书馆管理部门节约大量的人力、物力。同时该系统也实现了开放性图书馆管理的现代化管理模式,达到充分利用管理资源,进行科学和规范化管理,提高了管理人员的素质和工作质量。它所带来的效益远远大于系统软件的开发成本,在经济上完全可行。3) 操作可行性在设计系统的过程中,充分考虑到管理人员和学生的习惯。界面风格使用简单大方形式呈现。使用方便,而无需进行任何软件的安装,操作简单;按权限使用并提供多种查询手段,在操作上可行。3.4 性能分析1. 用户特点 操作人员:懂计算机基础的操作人员即可。2. 时间特性要求 1 响应时间: 更新处理时间: 数据转换时间: 数据传送时间: 设备客户端机器要求:普通PC机即可 2 支持系统运行环境:Windows XP/Windows 2000/Windows 2003等一系列操作系统。 3 开发背景 开发期限:6周 开发语言:C# 开发技术:ASP.NET 系统开发平台:Microsoft Visual Studio 2010 数据库:SQL Server 2008第四章 系统概要设计第四章 系统概要设计4.1 系统体系结构设计本系统所面向的对象是广大的互连网用户。因此,将要采用比较流行的B/S结构。B/S结构即浏览器和服务器结构。B/S模式把服务器部分分解为一个数据服务器和一个或多个应用服务器(Web服务器),从而构成一个三层结构的客户服务器体系,表示层、中间层和资料层被分成三个相对独立的单元,如图4-1所示。图4-1 B/S三层结构图中间层通常包括业务逻辑层(Business Logic Layer,简称BLL)、数据访问层(Database Access Layer,简称DAL)和数据对象模型层(Database Object Model Layer,简称DOM)。此时的三层结构软件模型如图4-2所示。图 4-2 三层结构软件模型图用户界面(User Interface,简称UI),也称表示层,位于最上层,用于显示和接收用户提交的数据,为用户提供交互式的界面。表示层一般为Windows窗体应用程序或Web应用程序。业务逻辑层是表示层和数据访问层之间沟通的桥梁,主要负责数据的传递和处理。数据访问层主要实现对数据的读取、保存和更新等操作。数据对象模型层即业务实体层。主要用于表示数据存储的持久对象。在实际应用程序中的实体类是跟数据库中的表相对应的,也就是说一个表会有一个对应的实体类。当然有些三层结构并不包含单独的数据对象模型层,而将其功能分解到业务逻辑层和数据访问层之中。在三层结构中,表示层直接依赖于业务逻辑层;业务逻辑层直接依赖于数据访问层;数据访问层直接依赖于数据对象模型层。三层架构的优点:三层结构主要体现出对程序分而治之的思想:数据访问层只负责提供原原始数据,并不需要了解业务逻辑;业务逻辑层调用数据访问层提供的方法自定义一些业务逻辑,对数据进行加工,本身不需要了解数据访问层的实现;表示层直接调用业务逻辑提供的方法把数据呈现给用户。三层结构的优点在于不必为了业务逻辑上的微小变化而迁至整个程序的修改,只需要修改商业逻辑层中的一个函数或一个过程;增强了代码的可重用性;便于不同层次的开发人员之间的合作,只要遵循一定的接口标准就可以进行并行开发了,最终只要将各个部分拼接到一起构成最终的应用程序。三层结构的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过COM/DCOM通讯与中间层建立连接,再经由中间层与数据库进行交互,这样会大大提高系统的安全性。三层结构的应用程序更能够适应企业级应用日益增长的复杂度和灵活性的要求,并且通过软件分层的高内聚、低耦合原则,实现扩展、维护和重用的要求,可以大大提高开发效率。4.2 系统总体模块结构设计图书管理系统总体结构的设计分为两个部分的设计,分别是用户角色模块设计,管理员角色模块的设计。其中用户模块的设计,系统总体模块结构图如下图4-3所示。图书管理系统管理员角色模块块用户角色模块用户管理图书借还管理图书信息管理图书分类管理系统管理密码维护借还记录我要借书修改信息管理员列表添加管理员用户列表添加图书分类图书分类查询借还记录归还管理借出管理图书查询录入新书图4-3 系统总体模块结构图4.3 系统总体处理流程图书管理系统总体流程图的设计分为两个部分的设计,分别是用户角色模块的设计,管理员角色模块的设计。其中用户角色模块的设计,即供用户进行图书查询,图书借阅,个人基本信息、密码修改;而管理员模块的设计,即供管理员对整个系统中的用户,图书分类,图书信息,图书借还以及管理员自身进行操作,管理。 系统总体的流程图如图4-4所示。图书管理系统登录用户角色模块修改信息我要借书借还记录密码维护管理员角色模块图书分类管理图书类型添加图书类型修改图书类型删除图书类型查询图书信息管理录入新书信息修改图书信息删除图书信息查询图书信息图书借还管理借出管理归还管理借还记录用户管理修改用户信息删除用户信息查询用户信息系统管理添加管理员修改管理员删除管理员查询管理员注册为用户图4-4 系统总体的流程图4.4数据库设计4.4.1概念结构设计通过了解图书管理系统要实现的功能,可以得出图书管理数据库包含的实体有“用户表”、“图书类型表”、“图书信息表”、“借阅信息表”“用户租金表”。用户表:ID、用户名、密码、姓名、身份证、地址、电话、是否为管理员、用户类型图书类型表:ID、图书类型名称图书信息表:条形码、图书类型ID、图书名称、图书价格、图书库存数量、图书图片路径、入库日期。借阅信息表: ID、条形码、用户ID、状态、借出日期、到期日期、归还日期。用户租金表:、ID、 条形码、用户ID、金额。在本系统中,涉及到用户信息、图书类型、图书信息、借阅信息、用户租金实体。它们之间的关系如图4-5的E-R图所示。条形码用户租金ID图书类型名称用户表用户ID用户类型电话地址身份证姓名是否为管理员用户名图书类型表图书类型ID1:n图书信息表条形码到期日期图书类型ID图书图片路径图书名称价格图书库存数量m:n借阅图书表借阅ID条形码用户ID状态入库日期借出日期归还日期用户租金表用户ID金额m:n图 4-5 实体间的E-R图4.4.2 逻辑结构设计 数据库逻辑设计决定了数据库及其应用的整体性能,调优位置。在本系统中,主要设计了用户表、图书类型表、图书信息表、借阅信息表的具体设计如下:用户表的结构如下表4-6所示。图4-6 用户表图书类型表的结构如下表47所示图4-7 图书类型表图书信息表的结构如下表48所示图4-8图书信息表借阅信息表的结构如下表49所示图4-9 借阅表用户租金表的结构如下表410所示图4-10 用户租金表4.4.3 数据库表之间关系数据库表关系图用于表示数据库中表与表之间关系,关系图如下图4-11所示:图4-11 数据库表关系图第五章 系统详细设计与实现第五章 系统详细设计与实现5.1注册界面详细设计与实现该界面是用于给用户注册,当游客注册成到用户后就可以登录图书管理系统。注册界面如图5-1所示:图5-1 注册界面该注册实现此功能的代码如下:protected void BtnUserSave_Click(object sender, EventArgs e) ENTITY.CusUsers u1 = new ENTITY.CusUsers(); u1.Customername = txtU_Name.Value.ToString(); u1.customerpwd = Common.EncryptString.encryptMD5(txtU_PassW.Value.Trim().ToUpper(); u1.Realname = txtRealName.Value.ToString(); u1.CustomerSfz = txtSfz.Value.ToString(); u1.address = txtAddress.Value.ToString(); u1.telphone = txtTel.Value.ToString(); u1.IsCusAdmin = 1; u1.CusType = 0; if (!BLL.bllCusUsers.Vld_UserName(ref u1) if (BLL.bllCusUsers.AddUsersInfo(u1) Common.ShowMessage.Show(Page, Suess, 用户注册成功.); else Common.ShowMessage.Show(Page, error, 用户注册失败.); else Common.ShowMessage.Show(Page, error, 此用户名已经被占用.); 程序说明:该注册功能通过Common.EncryptString.encryptMD5(txtU_PassW.Value.Trim().ToUpper();方法对密码进行了加密,先通过BLL.bllCusUsers.Vld_UserName(ref u1)方法进行用户名判断,当数据库存在该用户名时,通过弹出对话框的方法Common.ShowMessage.Show(Page, error, 此用户名已经被占用.);进行提示,当数据库不存在该用户名时,通过BLL.bllCusUsers.AddUsersInfo(u1)方法进行插入数据库。5.2 登录运行界面详细设计与实现登录分为两种角色人群操作,在进入系统进行各项具有相关权限操作功能的操作之前,首先会先进入登录界面,在此需要输入相关的用户名和密码,并选择是管理员登录还是用户登录,登录运行界面如图5-2所示:图5-2 注册界面该登录实现此功能的代码如下: protected void BtnLogin_Click(object sender, EventArgs e) if (CheckNull() string uID = txtU_Name.Value.Trim(); string pwdMd5 = Common.EncryptString.encryptMD5(txtU_Pass.Value.ToString().ToUpper(); int isadmincus = int.Parse(rblcustype.SelectedValue.Trim(); ENTITY.CusUsers userlogin = new ENTITY.CusUsers(uID, pwdMd5,isadmincus); string checkCode = SessionCheckCode.ToString().ToUpper(); if (txtU_Check.Value.Trim().ToUpper() != checkCode) Common.ShowMessage.Show(Page, Error1, 验证密码有误,请重新登录., M_UserLogin.aspx); else bool success = BLL.bllCusUsers.ulogin(ref userlogin); SessionCustomername = uID; SessionIsCusAdmin = isadmincus.ToString(); if (success & (SessionCustomername != null) & SessionIsCusAdmin.ToString() = 0) Response.Redirect(AdminIndex.aspx); else if (success & (SessionCustomername != null) & SessionIsCusAdmin.ToString() = 1) Response.Redirect(CusIndex.aspx); else Common.ShowMessage.Show(Page, Error1, 帐号和密码输入不匹配,请重新登录. + pwdMd5, M_UserLogin.aspx); 程序说明:该注册功能首先通过ENTITY.CusUsers(uID, pwdMd5,isadmincus)构造方法查询该用userlogin定义ENTITY.CusUsers实体,然后通过BLL.bllCusUsers.ulogin(ref userlogin);方法对数据库用户表的用户名,密码及是属于管理员或用户进行查询,当用户名、密码存在时,可跳转到管理员或用户的操作主界面,并通过SessionCustomername和SessionIsCusAdmin进行保存用户名及是属于管理员或用户。5.3 管理员角色模块的详细设计与实现5.3.1图书分类管理模块设计与实现图书分类管理模块主要实现了对图书类型的添加、修改、删除及查询。图书类型添加、修改界面如图5-3所示:图
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业如何避免财务数据造假的风险
- 酒店热菜摆盘技巧手册
- 2025重庆市綦江区住房和城乡建设委员会招聘全日制公益性岗位人员1人笔试备考试题及答案解析
- 中学生应当具备的胸怀宽广
- 2025浙江温州瑞安市司法局编外人员招聘1人考试含答案
- 2025浙江宁波慈溪市白沙路街道公办幼儿园招聘派遣制工作人员3人笔试备考试题及答案解析
- 石油工程压裂井设计原则
- 政治实验预案
- 心理辅导服务制度细则规程方案制度
- 2025西藏自治区山南市面向湖北专项招募“三支一扶”人员笔试含答案
- 广东省普通高中学科教学水平评估指标详述
- 污水处理厂人员培训方案
- 苏教版五年级上册数学分层作业设计 5.5 小数乘小数(附答案)
- 现货黄金购买合同模板
- 学术道德与学术规范
- 《机械基础》课件-V带传动
- 全国大学英语六级词汇表
- 中职学校实训室管理制度及流程
- JJG 4-2015钢卷尺行业标准
- 汾酒代理合同
- 小米企业质量管理手册
评论
0/150
提交评论