本科毕业设计-基于c#图书管理系统.doc
郑州轻工业学院本科毕业设计(论文) 题 目 图书管理系统的设计与实现 学生姓名 专业班级 软件工程 学 号 院 (系) 软件学院 指导教师(职称) 完成时间 郑州轻工业学院毕业设计(论文)任务书题目 专业 软件工程(Java)学号 姓名 主要内容、基本要求、主要参考资料等:一、主要内容:使用C#语言开发,Visual Studio作为开发平台,SQL Server为数据库所编写图书管理系统,以制作出一个方便图书馆管理的,能进行收录、归还、借出、查询等功能的操作。对图书馆的运作方式进行调查。然后根据需求分析进行设计,编写图书管理系统,并且在电脑上进行实地的测试。二、基本要求:完成图书馆对于图书的收录、借出、归还,用户对图书的借阅、申请、归还、查询等功能。三、主要参考资料:1 (美)Christian Thilmany著(张晓坤,汤涛,谭立平译).模式:架构、设计与过程2 汤涛.NET 企业级应用程序开发教程3 (美)Angshuman Chakraborti著(王自亮译).NET Framework专业项目实例开发4 郑宇军.C#面向对象程序设计完 成 期 限: 指导教师签名: 专业负责人签名: 年 月 日目 录摘 要IABSTRACTII1 绪 论11.1 项目背景11.2 项目开发的目的12 开发技术简介42.1 C#语言42.2 ASP.NET技术42.3 SQL Server 2008技术62.4系统架构72.5 DBU三层结构82.6 体系结构83 项目分析103.1 需求分析概述103.2 使用分析113.3 管理员113.4 用户114 项目实现134.1 数据库设计134.1.1 概念结构设计134.1.2 逻辑结构设计144.1.3 数据库表之间关系154.2 系统总体模块结构设计164.3 系统总体处理流程175 模块设计与实现185.1 登录界面设计185.2 注册界面设计195.3 管理员角色设计215.3.1 分类管理设计215.3.2 图书信息模块设计235.3.3 图书借还设计255.3.4 用户管理设计275.3.5 系统管理模块设计295.4 用户角色设计305.4.1 修改信息模块设计305.4.2 借书模块设计315.4.3 记录模块设计315.4.4 密码模块设计326 系统测试346.1 测试的目的346.2 测试的方法与结果346.3 性能分析35总 结36致 谢37参考文献38图书管理系统的设计与实现图书管理系统的设计与实现摘 要本论文从基本概论展开,对图书馆管理系统的开发工具、结构设计、功能设计等方面进行了深入的讨论,并在此基础上设计和实现了图书馆管理系统。本系统是采用B/S架构,Microsoft Visual Studio 2008为开发工具,C#开发语言,以SQL Server 2008为存储数据库来进行系统开发,实现图书自动化,信息化,简单精准化的管理,从而降低了图书馆管理过程中出现的分类困难等问题。提高了图书馆管理员的工作效率,节省了借阅者的时间,为进一步研究图书馆智能化系统提供有利的参考方案。实现用户对图书信息进行查询、申请借书、查询历史借书记录及修改个人信息及密码。管理员能进行用户信息、图书分类、图书信息、图书借还等操作,可对管理员信息进行添加、修改及删除。本系统不仅维护方便,节省了图书馆的资源,方便图书馆进行图书管理,同时用户也能够更容易更直观的查询书籍,使借书、还书、查书的过程大大简化,更加的方便和容易。关键词 图书馆管理系统,SQL Server,Visual Studio,ASP.NETDESIGN AND IMPLEMENTATION OF LIBRARY MANAGEMENT SYSTEMABSTRACTThe present era is the era of rapid development of the information . Document Information Resources in Libraries enrich steady stream , is an important part of the social composition of civilization , with the continuous development of science and technology, society continues to move towards the information technology , the role of the information age increasingly important plus .In this paper, the design of the library management system is the use of B / S structure, to achieve automated library management, information technology, simplification, the system uses Microsoft Visual Studio 2008 development tools, the use of today's more popular C # development language to SQL Server 2008 database for the storage system development to achieve a simple and accurate books for the library of the management, thereby reducing the classification process library management difficulties arise. Improve the efficiency of librarians, saving borrowers time to make the library automation, information technology, simplification is not so difficult to imagine, raise some useful references for further study program library management system.The system is not only easy to maintain, saving library resources, convenient library library management, and users can more easily and more intuitive query books, so library, books, check books greatly simplify the process more convenient and easy.Key words Books Management System,SQL Server,Visual Studio,ASP.NETII图书管理系统的设计与实现1 绪 论1.1 项目背景本图书馆管理系统是运用技术(ASP.NET)、数据库(SQL Server 2008)在Visual Studio.Net 平台上来实现的。其主要功能有:数据备份,图书资源管理,用户管理等。在撰写过程中,实践与理论并行,同步的阐述理论与实践,并从实际脚步出发,深入的发现问题,并且解决问题,从模拟开始,自己一直不停的摸索着关于图书馆管理中的各种问题,从各种角色来分析,在争取方便管理人员的同时方便广大读者的需求,当我们自己面对这些问题的时候我们要怎么处理。传统的方式一直潜在着一些容易造成双方冲突的问题,当我梦自己面对这些的时候,我们又要怎么去处理,既然能够发现这类问题,那么我们就要去解决这些问题,然后更加充分地体现到该系统中的应用与实现这些知识与技术的重要作用。该系统是ASP.NET技术以B/S架构之,以推进无纸化的图书管理,过程不断的向信息化、电子化的方向发展。对系统的应用程序、数据库、主要页面的设计与实现,详细的讲解作的比较详细。图书资源传统的处理方法只要是依靠手工和纸张的记录,我们都知道传统的纸张记录不利于保存,并且记录繁琐,无形中为工作人员增加了巨大的工作量。传统的管理方式容易对图书造成不必要的损失,信息量庞大,调阅借阅信息十分困难,不利于图书的整理,有时候会出现借阅混乱的情况,这种传统的管理方式是需要大量的人力来进行管理。面对新世纪图书事业更是我们生活中不可或缺的部分,电子管理方式就已经取代了传统方式。1.2 项目开发的目的伴随着计算机日益的普及,图书馆有大量的图书信息资源,管理起来需要很大的人力,物力,以及时间和精力。而目前图书管理主要是采用手工资质管理方式,管理效率及其低下,并且浪费时间,统计图书的分类,数量都是相当困难的一件事情,图书分类一旦增加,或者借阅人数的不断增加,可能就会导致图书的丢失,破损等管理问题。这对与图书管理部门来说,是一件非常令人头疼的问题,以前手工单一检索已不能满足我们的要求,为了方便图书更省事省力的管理,就需要有一个效的图书管理系统。高新技术和全球信息化的更好的发展机遇,为图书管理系统提供一个良好的发展机遇,以书本作为单元服务手段已不能满足众多读者的需要,现代化自动化智能化的服务是实施势在必行。图书事业伴随着今天巨大的进步已为图书馆在新的潮流世纪的发展下,打下坚实无比的基础。随着社会技术的发展和不断进步,信息时代的建立,图书事业不断的改善传统服务模式自动化智能化,追寻更加完善的服务,紧密地配合现今高速发展的社会需求,提供有力的社会发展特色服务,有针对性的完整的服务,不断的加强读者对借书,还书等带来的不便,更加符合现今社会的主题。在当代社会制度体系下,虽然互联网行业已经进入千家万户,但是人们对于图书的热爱依然没有止步,跟甚已经超越传统时代,有的个人藏书已经达到一定的规模,面对这么多的书籍,我们应该有一个合理化的管理方式,以便于调看查阅,为此我们跟应该有一个好的甚至是符合现在生活的一直管理方式1。在现今这个新时代是高速发展下的信息时代而言。在现今社会当中什么都离不开资源的管理,这也正在计算机互联网为人们带来的便利,时代的发展就以为这有新的资源管理方式的出现。计算机的好处就是能够效率化的管理资源。所使用现代化的手段来进行资源的掌控,不但是为了提高了工作质量,给事为了提高效率,而且大幅度的提深安全简洁性。尤其对于复杂的多变的图书信息资源管理,计算机能够充分的完美的发挥着它的有效优越性。新时代的管理方式的出现,也离不开这些管理方法的创造,所以图书管理项目的开发是图书管理项目能够正常使用的重要前提。该图书管理项目本就是为了更好的使用图书而专门进行的设计的。图书更甚是人们生活中不可或缺的一部分,它所包含的信息宏大如山,但是想要管理这些规模宏大的书籍就出现了种种的问题,导致很多图书馆以及开始使用现代化的管理手段。但是还依然存在着没有开始使用现代化手段的图书馆,也就是说还未使用计算机来改善进行图书管理。根据统计发现,传统的图书管理方式都是基于人工统计的书籍来进行的,当我们面对众多图书是时候,却发现自己无从下手了,因为我们首先要进行对图书分类,入库的时间等等做一个详细的统计,然后记录在册,当时间一长,数据丢失,在想查起详细有关资料就已经是不可能的了。拿借阅来讲当我们借出去的图书因为长时间的未还,造成书籍的去除都无从查起了。这些人工管理的方式表面上看起来是很合理的,但是天气,时间能够对纸张进行变质从而无法查清记录,那管理人员就更加记不清楚了。总体来讲,缺乏系统化规范化的信息资源管理手段。有点图书馆又计算机,但是并没有使用信息资源管理系统,就没有没有发挥其有效做用。 本系统针对手工处理作出调整及系统特点:从可扩展性来讲:系统在做之前的需求分析的时候,充分考虑了可扩充的需求问题,针对可扩展性作出了改善。从语言程序来讲:图书管理项目采用ASP.NET语言来进行开发,能够高效的、安全的来进行项目实地操作,毕竟ASP.NET技术已经相当成熟。从技术角度来讲:系统解决了传统管理效率低,不便于管理的问题,实现了图书信息的调阅性极高、更新力度大、提高了管理的效率以及节约了成本,方便了读者,更加方便管理着,技术成熟安全性高。从整体设计来讲:系统力求人机交互良好、美观大方、数据存储安全系数高、可靠性高,信息分类清晰、明确。具有易维护性和易操作性。2 开发技术简介2.1 C#语言C#(C Sharp)编程语言是由微软公司的Anders Hejlsberg和 Scott Willamette领导的开发小组专门为NET平台设计的语言,它可以使程序员移植到.NET上2。泛型无疑是C#2.0最重大的改进,它的出现赋予了C#代码更强的类型安全,更好的复用,更高的效率和更清晰的约束。主要特点: 1.面向对象它使得程序员可以快速地编写各种基于MICROSOFT .NET平台的应用程序,MICROSOFT .NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。2.简洁的语法C#旨在设计成为一种“简单、现代、通用”,以及面向对象的程序设计语言,此种语言的实现,应提供对于以下软件工程要素的支持:强类型检查、数组维度检查、未初始化的变量引用检测、自动垃圾收集(Garbage Collection,指一种自动内存释放技术)。软件必须做到强大、持久,并具有较强的编程生产力3。3.完整的错误处理安全性安全特性是由运行来提供的主要代码访问的公共语言。4.与Web的紧密结合C#组件能够方便地转变为Web服务,并被其他平台上的各种编程语言调用。借助Web服务框架,C#使得本地开发和网络开发简单4。5.版本技术的管理C#在语言中增加了版本的控制功能,可以通过继承和接口来实现应用其中的可扩展性。并且应用程序利于维护和方便升级,利于管理。 6.兼容与灵活性 C#的兼容性高,灵活性强。2.2 ASP.NET技术ASP.NET是.NET FrameWork的一部分,是一项微软公司的技术,它可以在通过HTTP请求文档时再在Web服务器上动态创建它们5。 指 Active 开发的Web服务器之中的程序。统一的Web应用程序平台,是一种新的编程模型和基本结构,通过ASP.NET能够构建更安全、更强、可升级、更稳定的网络应用程序。其主要特点是:1.简易性ASP.NET把运行的一些平常任务,例如提交的表单的身份验证的客户端、网站配置和分布系统简单。例如ASP.NET页面构架允许你建立你自己的用户分界面,使其不同于常见的VB-Like界面。ASP.NET完全基于面向对象开发技术,使整个网络应用程序开发根据页面各个对象的属性、方法、事件进行各个功能的开发7。2.高效的运行性能ASP.NET在服务器上运行时,可以直接运行编译好的DLL文件,这比ASP等程序需要在边编译边运行的运行性能要好很多。而且ASP.NET采用缓存机制,使页面的运行性能更好。由于ASP.NET采用代码页面(.cs文件)与前台页面(.aspx文件)分离存储,这使得ASP.NET应用程序可以像一般Windows下的应用程序一样,编译这些代码页面成DLL文件。3.可管理性ASP.NET使用一种字符基础的,分级的配置系统,虚拟服务器环境和应用程序的设置更加简单。因为配置信息都保存在简单文本中,新的设置有可能都不需要启动本地的管理员工具就可以实现。ASP.NET 2.0之后的版本,是基于Web.config文件进行配置管理的程序应用,这使ASP.NET的程序应用不依赖于本地开发环境,方便该应用程序的移植。4.灵活性ASP.NET网络应用程序甚至可以调用API、Windows其他应用程序进行联合开发,这使ASP.NET的开发更具有灵活性。ASP.NET不依赖于任何Web浏览器,也与任何语言无直接关系,在ASP.NET开发中可以结合多种程序语言,构建功能丰富的应用程序。5.自定义性和扩展性良好的状态管理可以帮助开发者开发的应用程序(如基于工作流的应用程序或电子商务应用程序)持续状态的能力,但是部署状态的程度和共享的信息管理功能,这取决于应用程序选择的状态ASP.NET分为服务器端状态管理和状态管理客户端,客户端状态管理是View State,服务器端状态管理是Session和Application对象。ASP.NET页面可以是一个程序来修改设置为自定义用户控件,并且可以添加到不同的ASP.NET页,以实现更加个性化的功能组件。这些组件也可以同时施加到其他网站,从而提高了代码复用和功能扩展ASP.NET。6.可调试性代码混合在HTML标签之间的HTML输出,预计需时命令该技术在ASP.NET中,每个控件的渲染(渲染)机制收拾,加载渲染其中生成HTML命令机制的Html Text Writer对象,它会输出对Http Context的响应输出数据流。ASP.NET可以进行调试一个像Windows应用程序,并跟踪调试错误或异常。它还提供了一个机制来处理这些错误或异常处理,以确保应用程序可以随时运行8。2.3 SQL Server 2008技术SQL Server 2008的微软数据平台的发布,您可以组织管理任何数据。数据可以被结构化,半结构化和非结构化的文件直接存储在数据库中。您可以查询数据,搜索,同步,报告和分析之类的操作。数据可以存储在各种设备上,从数据中心到桌面一直是最大的服务器计算机和移动设备,它可以控制数据和不控制其中的数据被存储。 SQL Server 2008是一个全面的数据库平台,SQL Server 2008数据库的引擎主要为关系型的数据和结构化的数据,主要提供了更加可靠的安全的存储管理,管理可用性高和数据的性能和用户构建应用业务9。 SQL Server 2008中允许使用微软的。 NET和Visual Studio开发使用数据的自定义应用程序,通过微软的BizTalk Server使用面向服务的架构(SOA)和业务流程的数据进行的。信息工作者可以访问数据直接工具日常使用通过。经过几年的实践是由优秀的数据库管理系统确认是一个全面的,集成的,终端到数据的解决方案。 SQL Server 2008中扩展了SQL Server 2005的功能,成为一个大型的联机事务处理(OLTP ) ,数据仓库和电子商务应用的优秀数据库平台。而相比于以前的数据解决方案, SQL Server 2008将带给我们前所未有的价值,卓越的功能和令人兴奋的新体验。 SQL Server 2008中包含了一组新的功能非常丰富,提供了一个更加安全,可靠和高效的数据管理平台,提升用户的管理组织能力,显著提高IT管理效率,降低运营风险和成本,通过提供先进的商业智能平台,满足实时统计分析,预测及其他监控复杂的管理需求众多客户的业务,推动企业信息化管理和业务发展的建设同时, SQL Server 2008将提供一个高度可扩展和灵活的开发平台,扩大了使用空间,互联网数据服务,实现互联互通,为大家带来的业务应用程序的新机遇。由于显著减少应用程序停机时间,提高系统的可扩展性和性能,和更严格的安全控制是在道路上支持SQL Server 2008中的现实要求最苛刻的企业制度的要求,采取了极大步。 SQL Server是微软服务器家族的重要组成部分,通过微软服务器产品的工程总战略的实现增强的可管理性和集成,为客户降低总体拥有成本和更快的开发和部署时间中受益。SQL Server2008的优点突出10:可信 -启用具有高安全性,可靠性和可扩展性的公司来运行他们最关键任务的应用程序。高效的 - 使得公司可以降低开发他们的数据基础设施和管理的时间和成本。智能 - 提供了一个可以被发送到他在您的观察和信息用户需要的时候一个综合性平台。这样一方面可以提高系统的数据的效率,易于数据库数据管理。在另一方面可以加快开发进度,降低部署成本。2.4系统架构该系统是基于基于后端数据库上Asp.Net开发平台,用户(包括管理员,读者)可以很容易地通过计算机图书信息管理11。系统架构如图2-1所示。用户(管理员、用户)计算机系统后台数据库图书馆管理系统的设计与实现图2-1 系统架构2.5 DBU三层结构所谓的三层结构12,是在客户端和数据库添加一个中间件层,也称为元件层之间。及数据访问层(DAL),业务逻辑层(BLL),表示层(用户界面)。1.数据访问层(DAL):是该数据的操作,而不是数据库,业务逻辑或表示层提供数据服务的具体。2.业务逻辑层(BLL):对于特定问题的操作,但也可以理解为数据层,业务逻辑与数据处理的操作。3.表现层(UI):通俗的讲就是呈现给用户造成使用的系统,当他已经看到了用户界面。2.6 体系结构要使用比较流行的三层结构13。三层结构,浏览器和服务器结构。服务器作为数据服务器和一个或多个Web服务器,用户层,中间层和信息层被划分成三个独立的单位如图2-2所示。数据库服务器中间层(组件层)客户端用户界面图2-2 三层结构图中间层通常包括业务逻辑层(业务逻辑层,简称BLL),数据访问层(数据库访问层,简称DAL)和数据对象模型层(数据库对象模型层,简称DOM)。在这一点上,软件模型的三层结构的如图2-3所示。用户界面业务逻辑数据访问对象模型数据库服务器 图 2-3 三层结构软件模型图UI(用户接口,简称UI),也被称为表现层,位于顶部,用于接收用户提交的用于显示和向用户提供交互式界面的数据。商务逻辑层(业务逻辑层)系统架构无疑是体现核心价值的一部分。它涉及主要涉及到系统设计和业务需求的发展,业务流程和其他业务规则以实现,现场是说,它是系统的响应有关(域)的逻辑,大量的时间,而且还业务逻辑层所谓领域层。如马丁·福勒在著作“企业应用架构模式”,整体结构分为三个主要的层:表示层,领域层和数据源层。如在驱动设计Eric Evans的,作出业务逻辑层更详细领域的先驱划分,细分为应用层和领域层,通过层分离逻辑和域逻辑解决方案的其他领域。在架构业务逻辑层位置是至关重要的,它是在数据访问层和表示层的中间,数据交换关系发挥了作用。由于层是一种弱耦合结构,层与层之间的依赖是向下,自底至顶的“无知”而言,改变上有在他们的呼叫而言,底部没有效果的设计。如果分层设计,遵循面向接口的设计思路,那么这也应该依赖下来弱依赖。因为这一点,因为它起着两个不同的角色的业务逻辑设计为可扩展的体系结构支持尤为关键14。三层架构其中的优点: 1.只关注某一层2.原有层次可以用新的来实现和替换的实现3.层之间的依赖降低4.标准化5.逻辑化的符合应用6.结构化7.降低维护时间和成本三层架构的缺点: 1.降低了性能。假如并不采用这种分层式的结构,数据库就被直接访问了,而现在却需要通过中间层来进行完成。2.有很多的可能出现级联修改。对于这种修改其实体现的方向是自上而下的。若要增加某一个功能在表示层,要确保设计是主要符分层结构,就需要相应的数据访问层和业务逻辑层均加入代码。3.开发成本的增加。3 项目分析3.1 需求分析概述图书馆管理系统要做到功能实用可行,操作简洁明了,并且要严格便于管理者进行数据库设计,首先明确了解用户需求,针对客户需求进行严密的分析,这个过程是系统的一个基础,同时还是最为重要的一个过程,需求分析要做的充分、准确,做之前从全面角度来考虑客户需求,决定了就在此基础上创建的数据库,及其应用程序的速度与严格的质量15。如果需求分析做得不够严密,轻则使应用程序的开发过程反复性比较大,造成严格的误差,重则会导致整个数据库设计重新制作。造成巨大的损失,不论是时间还是精力,同样还有经济损失,这对企业、单位和个人造成一定程度的不良影响及其损失。实际上项目开发过程中所遇到的最为困难的就是项目需求分析。因为,第一,系统本身存在可变化性,不固定性存在众多未知的变化,用户的需求其实一直都在不断调整,要做出于此种变化相互适应。第二,用户有时候是很难说清某个部分的工作功能在处理过程中在所需要的原理。对此每位程序人员都必须认识到这一点所带来的影响,在项目需求分析过程当中,和系统设计的过程中,客气是否参与是一个很重要的问题,如果客户参与其中那么他可以从客观的角度来给予我们不同的见解,使用各种方法针对市场及其客户所需求进行全面的展开调查。明确的应用环境是针对系统的要求,同时是一个首要的和最为基本的条件。数据库的应用是非常普遍的,同时也是非常复杂的,要是事先没有针对调查数据进行充分和细致的分析,这种设计就很难取得成功,所以我们针对调查数据要进行充分的且细致的整体分析。针对用户需求分析设计与需求的调查描述分析过程,是一个性能良好且功能完整的数据库系统。在整个项目需求分析的过程中,对于图书馆管理方式做了尽详细的调查,并且对管理人员以及借阅人员都做了调查,以确定项目的实施开展性,从每个角度出发,因为客户一直在不断的变化,尽可能的全方位的设计数据库,以便于将来所面对的各种问题。3.2 使用分析经过对目标人群的尽详细的调查,确定了用户更加详细的需求,并且对于项目开发过程中的问题作出了模拟,以对应项目开发所带来的阻力以及问题,以尽可能的减少不必要的误差,从而以实现项目的可行性16。1.技术可行性 这个图书管理项目的开发工具是Visual Studio,C#作为开发语言,以存储数据库来为项目进行开发,实现编写和运行于调试为一身的环境,减少了不必要的代码编写,程序发布简单,所以开发这个项目在技术上是完全可行。2.操作可行性从图书管理人员到广大读者之间的微妙关系,以及日常的习惯,从而做出从页面设计到程序操作,页面上使用了简单的易于呈现的,程序上使用了简单的,易于操作的程序设计。3.3 管理员登陆管理员可以针对图书信息管理、图书借还管理、用户管理、系统管理等五大类。其中图书管理可以针对新书的收录,图书的条形码、图书名称、出版商、图书的分类等进行录入,以及查询录入时间等等信息。便于管理员管理图书。图书借还管理是针对用户的借阅情况进行管理,项目还做出比较人性化的一点,用户可以再系统是申请书籍的借还,当然管理员有权驳回。当用户借出书籍可以借阅系统会显示借出,当用户把书归还时借阅系统显示归还。用户管理是管理用对注册之后的用户进行修改,查看,删除等功能。系统管理是管理员可以添加多个管理员账户,还可以修改自己的信息。3.4 用户用户及读者,访客进入网站是可以注册成为用户,主要针对修改信息、我要借书、借还记录、密码维护等功能。我要借书是用户针对图书馆里面的书进行查阅,也可以按照图示的图书分类,图书名称、图书入库时间等信息进行查询,从而选择自己喜欢的书籍。借还记录及用户查看自己的借书情况,借书时间,借书日期,书籍名称等。密码维护,在现今的信息时代,密码以及成为我们生活中的一部分,所以本系统针对用户的信息安全作出措施,进行修改密码,更改密码是要输入原密码及新密码,同时确认新密码等。4 项目实现4.1 数据库设计4.1.1 概念结构设计通过了解图书管理系统要实现的功能17,可以得出数据库包含的实体有“用户表”、“借阅信息表”、“图书类型表”和“图书信息表”。用户表用户ID用户类型电话地址身份证姓名是否为管理员用户名图书类型表图书类型ID图书类型ID1:n图书信息表条形码到期日期图书类型ID图书图片路径图书名称价格图书库存数量m:n借阅图书表借阅ID条形码用户ID状态入库日期借出日期归还日期图 4-1 实体间的E-R图用户表:ID、用户名、密码、姓名、身份证、地址、电话、是否为管理员、用户类型。图书信息表:条形码、图书类型ID、图书名称、图书价格、图书库存数量、图书图片路径、入库日期。图书类型表:ID、图书类型名称。借阅信息表: ID、条形码、用户ID、状态、借出日期、到期日期、归还日期。在本系统中,涉及到用户信息、图书类型、图书信息、借阅信息等实体。它们之间的关系如图4-1的E-R图所示。4.1.2 逻辑结构设计 在本系统中,主要设计了用户表、图书类型表、图书信息表、借阅信息表18的具体设计如下。用户表的结构如表4-1所示。 表4-1 用户表图书类型表的结构如表4-2所示。表4-2 图书类型表图书信息表的结构如表4-3所示。表4-3 图书信息表借阅信息表的结构如表4-4所示。表4-4 借阅表4.1.3 数据库表之间关系数据库表关系图用于表示数据库中表与表之间关系,关系图如下图4-2所示。图4-2 数据库表关系图4.2 系统总体模块结构设计项目总体结构的设计分为两个部分19,分别是用户角色模块,管理员角色模块。其中用户模块,项目总体模块结构如图4-3所示。图书管理系统用户角色管理员角色修改信息我要借书借还记录密码维护图书分类管理图书信息管理图书借还管理用户管理系统管理添加图书分类图书分类查询录入新书图书查询借出管理归还管理借还记录用户列表添加管理员管理员列表图4-3 总体结构图4.3 系统总体处理流程分别是用户角色模块,管理员角色模块。其中用户角色模块,即供用户进行图书查询,图书借阅,个人基本信息、密码修改;而管理员模块,即管理员对整个系统中的用户,图书信息、分类、借还等。系统总体的流程图如图4-4所示。图书管理系统登录用户角色修改信息我要借书借还记录密码维护管理员角色图书分类管理图书类型添加图书类型修改图书类型删除图书类型查询图书信息管理录入新书信息修改图书信息删除图书信息查询图书信息图书借还管理借出管理归还管理借还记录用户管理修改用户信息删除用户信息查询用户信息用户管理添加管理员修改管理员删除管理员查询管理员注册为用户图4-4 系统总体的流程图5 模块设计与实现 5.1 登录界面设计在本项目登录页面是两种登陆方式,分别是管理员登陆与用户登陆,登录运行界面如图5-1所示。图5-1 注册界面该登录实现此功能的代码如下: if (CheckNull() string uID = txtU_Name.Value.Trim(); string pwdMd5 = Common.EncryptString.encryptMD5(txtU_Pass.Value.ToString().ToUpper(); int isadmincus = int; ENTITY.CusUsers userlogin = new ENTITY;string checkCode = Session"CheckCode".ToString().ToUpper(); if (txtU_Check.Value.Trim().ToUpper() != checkCode) Common.ShowMessage.Show(Page, "Error1", "验证码输入错误,请刷新后重新登录.", "M_UserLogin.aspx"); else bool success = BLL; Session"Customername" = uID; Session"IsCusAdmin" = isadmincus.ToString(); if (success && (Session"Customername" != null) && Session"IsCusAdmin".ToString() = "0") Response.Redirect("Admin.aspx"); else if (success && (Session"Customername" != null) && Session"IsCusAdmin".ToString() = "1")