基于c#图书管理系统学位论文.docx
《基于c#图书管理系统学位论文.docx》由会员分享,可在线阅读,更多相关《基于c#图书管理系统学位论文.docx(47页珍藏版)》请在冰豆网上搜索。
![基于c#图书管理系统学位论文.docx](https://file1.bdocx.com/fileroot1/2023-2/26/c9ec0fb9-ef8a-43b5-8673-1f187a898749/c9ec0fb9-ef8a-43b5-8673-1f187a8987491.gif)
基于c#图书管理系统学位论文
郑州轻工业学院
本科毕业设计(论文)
题目图书管理系统的设计与实现
学生姓名
专业班级软件工程
学号
院(系)软件学院
指导教师(职称)
完成时间
郑州轻工业学院
毕业设计(论文)任务书
题目
专业软件工程(Java)学号姓名
主要内容、基本要求、主要参考资料等:
一、主要内容:
使用C#语言开发,VisualStudio作为开发平台,SQLServer为数据库所编写图书管理系统,以制作出一个方便图书馆管理的,能进行收录、归还、借出、查询等功能的操作。
对图书馆的运作方式进行调查。
然后根据需求分析进行设计,编写图书管理系统,并且在电脑上进行实地的测试。
二、基本要求:
完成图书馆对于图书的收录、借出、归还,用户对图书的借阅、申请、归还、查询等功能。
三、主要参考资料:
[1](美)ChristianThilmany著(张晓坤,汤涛,谭立平译).模式:
架构、设计与过程
[2]汤涛.NET企业级应用程序开发教程
[3](美)AngshumanChakraborti著(王自亮译).NETFramework专业项目实例开发
[4]郑宇军.C#面向对象程序设计
完成期限:
指导教师签名:
专业负责人签名:
年月日
目录
摘要I
ABSTRACTII
1绪论1
1.1项目背景1
1.2项目开发的目的1
2开发技术简介4
2.1C#语言4
2.2ASP.NET技术4
2.3SQLServer2008技术6
2.4系统架构7
2.5DBU三层结构8
2.6体系结构8
3项目分析10
3.1需求分析概述10
3.2使用分析11
3.3管理员11
3.4用户11
4项目实现13
4.1数据库设计13
4.1.1概念结构设计13
4.1.2逻辑结构设计14
4.1.3数据库表之间关系15
4.2系统总体模块结构设计16
4.3系统总体处理流程17
5模块设计与实现18
5.1登录界面设计18
5.2注册界面设计19
5.3管理员角色设计21
5.3.1分类管理设计21
5.3.2图书信息模块设计23
5.3.3图书借还设计25
5.3.4用户管理设计27
5.3.5系统管理模块设计29
5.4用户角色设计30
5.4.1修改信息模块设计30
5.4.2借书模块设计31
5.4.3记录模块设计31
5.4.4密码模块设计32
6系统测试34
6.1测试的目的34
6.2测试的方法与结果34
6.3性能分析35
总结36
致谢37
参考文献38
图书管理系统的设计与实现
摘要
本论文从基本概论展开,对图书馆管理系统的开发工具、结构设计、功能设计等方面进行了深入的讨论,并在此基础上设计和实现了图书馆管理系统。
本系统是采用B/S架构,MicrosoftVisualStudio2008为开发工具,C#开发语言,以SQLServer2008为存储数据库来进行系统开发,实现图书自动化,信息化,简单精准化的管理,从而降低了图书馆管理过程中出现的分类困难等问题。
提高了图书馆管理员的工作效率,节省了借阅者的时间,为进一步研究图书馆智能化系统提供有利的参考方案。
实现用户对图书信息进行查询、申请借书、查询历史借书记录及修改个人信息及密码。
管理员能进行用户信息、图书分类、图书信息、图书借还等操作,可对管理员信息进行添加、修改及删除。
本系统不仅维护方便,节省了图书馆的资源,方便图书馆进行图书管理,同时用户也能够更容易更直观的查询书籍,使借书、还书、查书的过程大大简化,更加的方便和容易。
关键词图书馆管理系统,SQLServer,VisualStudio,ASP.NET
DESIGNANDIMPLEMENTATIONOFLIBRARYMANAGEMENTSYSTEM
ABSTRACT
Thepresenteraistheeraofrapiddevelopmentoftheinformation.DocumentInformationResourcesinLibrariesenrichsteadystream,isanimportantpartofthesocialcompositionofcivilization,withthecontinuousdevelopmentofscienceandtechnology,societycontinuestomovetowardstheinformationtechnology,theroleoftheinformationageincreasinglyimportantplus.
Inthispaper,thedesignofthelibrarymanagementsystemistheuseofB/Sstructure,toachieveautomatedlibrarymanagement,informationtechnology,simplification,thesystemusesMicrosoftVisualStudio2008developmenttools,theuseoftoday'smorepopularC#developmentlanguagetoSQLServer2008databaseforthestoragesystemdevelopmenttoachieveasimpleandaccuratebooksforthelibraryofthemanagement,therebyreducingtheclassificationprocesslibrarymanagementdifficultiesarise.Improvetheefficiencyoflibrarians,savingborrowerstimetomakethelibraryautomation,informationtechnology,simplificationisnotsodifficulttoimagine,raisesomeusefulreferencesforfurtherstudyprogramlibrarymanagementsystem.
Thesystemisnotonlyeasytomaintain,savinglibraryresources,convenientlibrarylibrarymanagement,anduserscanmoreeasilyandmoreintuitivequerybooks,solibrary,books,checkbooksgreatlysimplifytheprocessmoreconvenientandeasy.
KeywordsBooksManagementSystem,SQLServer,VisualStudio,ASP.NET
1绪论
1.1项目背景
本图书馆管理系统是运用技术(ASP.NET)、数据库(SQLServer2008)在VisualStudio.Net平台上来实现的。
其主要功能有:
数据备份,图书资源管理,用户管理等。
在撰写过程中,实践与理论并行,同步的阐述理论与实践,并从实际脚步出发,深入的发现问题,并且解决问题,从模拟开始,自己一直不停的摸索着关于图书馆管理中的各种问题,从各种角色来分析,在争取方便管理人员的同时方便广大读者的需求,当我们自己面对这些问题的时候我们要怎么处理。
传统的方式一直潜在着一些容易造成双方冲突的问题,当我梦自己面对这些的时候,我们又要怎么去处理,既然能够发现这类问题,那么我们就要去解决这些问题,然后更加充分地体现到该系统中的应用与实现这些知识与技术的重要作用。
该系统是ASP.NET技术以B/S架构之,以推进无纸化的图书管理,过程不断的向信息化、电子化的方向发展。
对系统的应用程序、数据库、主要页面的设计与实现,详细的讲解作的比较详细。
图书资源传统的处理方法只要是依靠手工和纸张的记录,我们都知道传统的纸张记录不利于保存,并且记录繁琐,无形中为工作人员增加了巨大的工作量。
传统的管理方式容易对图书造成不必要的损失,信息量庞大,调阅借阅信息十分困难,不利于图书的整理,有时候会出现借阅混乱的情况,这种传统的管理方式是需要大量的人力来进行管理。
面对新世纪图书事业更是我们生活中不可或缺的部分,电子管理方式就已经取代了传统方式。
1.2项目开发的目的
伴随着计算机日益的普及,图书馆有大量的图书信息资源,管理起来需要很大的人力,物力,以及时间和精力。
而目前图书管理主要是采用手工资质管理方式,管理效率及其低下,并且浪费时间,统计图书的分类,数量都是相当困难的一件事情,图书分类一旦增加,或者借阅人数的不断增加,可能就会导致图书的丢失,破损等管理问题。
这对与图书管理部门来说,是一件非常令人头疼的问题,以前手工单一检索已不能满足我们的要求,为了方便图书更省事省力的管理,就需要有一个效的图书管理系统。
高新技术和全球信息化的更好的发展机遇,为图书管理系统提供一个良好的发展机遇,以书本作为单元服务手段已不能满足众多读者的需要,现代化自动化智能化的服务是实施势在必行。
图书事业伴随着今天巨大的进步已为图书馆在新的潮流世纪的发展下,打下坚实无比的基础。
随着社会技术的发展和不断进步,信息时代的建立,图书事业不断的改善传统服务模式自动化智能化,追寻更加完善的服务,紧密地配合现今高速发展的社会需求,提供有力的社会发展特色服务,有针对性的完整的服务,不断的加强读者对借书,还书等带来的不便,更加符合现今社会的主题。
在当代社会制度体系下,虽然互联网行业已经进入千家万户,但是人们对于图书的热爱依然没有止步,跟甚已经超越传统时代,有的个人藏书已经达到一定的规模,面对这么多的书籍,我们应该有一个合理化的管理方式,以便于调看查阅,为此我们跟应该有一个好的甚至是符合现在生活的一直管理方式[1]。
在现今这个新时代是高速发展下的信息时代而言。
在现今社会当中什么都离不开资源的管理,这也正在计算机互联网为人们带来的便利,时代的发展就以为这有新的资源管理方式的出现。
计算机的好处就是能够效率化的管理资源。
所使用现代化的手段来进行资源的掌控,不但是为了提高了工作质量,给事为了提高效率,而且大幅度的提深安全简洁性。
尤其对于复杂的多变的图书信息资源管理,计算机能够充分的完美的发挥着它的有效优越性。
新时代的管理方式的出现,也离不开这些管理方法的创造,所以图书管理项目的开发是图书管理项目能够正常使用的重要前提。
该图书管理项目本就是为了更好的使用图书而专门进行的设计的。
图书更甚是人们生活中不可或缺的一部分,它所包含的信息宏大如山,但是想要管理这些规模宏大的书籍就出现了种种的问题,导致很多图书馆以及开始使用现代化的管理手段。
但是还依然存在着没有开始使用现代化手段的图书馆,也就是说还未使用计算机来改善进行图书管理。
根据统计发现,传统的图书管理方式都是基于人工统计的书籍来进行的,当我们面对众多图书是时候,却发现自己无从下手了,因为我们首先要进行对图书分类,入库的时间等等做一个详细的统计,然后记录在册,当时间一长,数据丢失,在想查起详细有关资料就已经是不可能的了。
拿借阅来讲当我们借出去的图书因为长时间的未还,造成书籍的去除都无从查起了。
这些人工管理的方式表面上看起来是很合理的,但是天气,时间能够对纸张进行变质从而无法查清记录,那管理人员就更加记不清楚了。
总体来讲,缺乏系统化规范化的信息资源管理手段。
有点图书馆又计算机,但是并没有使用信息资源管理系统,就没有没有发挥其有效做用。
本系统针对手工处理作出调整及系统特点:
从可扩展性来讲:
系统在做之前的需求分析的时候,充分考虑了可扩充的需求问题,针对可扩展性作出了改善。
从语言程序来讲:
图书管理项目采用ASP.NET语言来进行开发,能够高效的、安全的来进行项目实地操作,毕竟ASP.NET技术已经相当成熟。
从技术角度来讲:
系统解决了传统管理效率低,不便于管理的问题,实现了图书信息的调阅性极高、更新力度大、提高了管理的效率以及节约了成本,方便了读者,更加方便管理着,技术成熟安全性高。
从整体设计来讲:
系统力求人机交互良好、美观大方、数据存储安全系数高、可靠性高,信息分类清晰、明确。
具有易维护性和易操作性。
2开发技术简介
2.1C#语言
C#(CSharp)编程语言是由微软公司的AndersHejlsberg和ScottWillamette领导的开发小组专门为NET平台设计的语言,它可以使程序员移植到.NET上[2]。
泛型无疑是C#2.0最重大的改进,它的出现赋予了C#代码更强的类型安全,更好的复用,更高的效率和更清晰的约束。
主要特点:
1.面向对象
它使得程序员可以快速地编写各种基于MICROSOFT.NET平台的应用程序,MICROSOFT.NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。
2.简洁的语法
C#旨在设计成为一种“简单、现代、通用”,以及面向对象的程序设计语言,此种语言的实现,应提供对于以下软件工程要素的支持:
强类型检查、数组维度检查、未初始化的变量引用检测、自动垃圾收集(GarbageCollection,指一种自动内存释放技术)。
软件必须做到强大、持久,并具有较强的编程生产力[3]。
3.完整的错误处理安全性
安全特性是由运行来提供的主要代码访问的公共语言。
4.与Web的紧密结合
C#组件能够方便地转变为Web服务,并被其他平台上的各种编程语言调用。
借助Web服务框架,C#使得本地开发和网络开发简单[4]。
5.版本技术的管理
C#在语言中增加了版本的控制功能,可以通过继承和接口来实现应用其中的可扩展性。
并且应用程序利于维护和方便升级,利于管理。
6.兼容与灵活性
C#的兼容性高,灵活性强。
2.2ASP.NET技术
ASP.NET是.NETFrameWork的一部分,是一项微软公司的技术,它可以在通过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.NET2.0之后的版本,是基于Web.config文件进行配置管理的程序应用,这使ASP.NET的程序应用不依赖于本地开发环境,方便该应用程序的移植。
4.灵活性
ASP.NET网络应用程序甚至可以调用API、Windows其他应用程序进行联合开发,这使ASP.NET的开发更具有灵活性。
ASP.NET不依赖于任何Web浏览器,也与任何语言无直接关系,在ASP.NET开发中可以结合多种程序语言,构建功能丰富的应用程序。
5.自定义性和扩展性
良好的状态管理可以帮助开发者开发的应用程序(如基于工作流的应用程序或电子商务应用程序)持续状态的能力,但是部署状态的程度和共享的信息管理功能,这取决于应用程序选择的状态ASP.NET分为服务器端状态管理和状态管理客户端,客户端状态管理是ViewState,服务器端状态管理是Session和Application对象。
ASP.NET页面可以是一个程序来修改设置为自定义用户控件,并且可以添加到不同的ASP.NET页,以实现更加个性化的功能组件。
这些组件也可以同时施加到其他网站,从而提高了代码复用和功能扩展ASP.NET。
6.可调试性
代码混合在HTML标签之间的HTML输出,预计需时命令该技术在ASP.NET中,每个控件的渲染(渲染)机制收拾,加载渲染其中生成HTML命令机制的HtmlTextWriter对象,它会输出对HttpContext的响应输出数据流。
ASP.NET可以进行调试一个像Windows应用程序,并跟踪调试错误或异常。
它还提供了一个机制来处理这些错误或异常处理,以确保应用程序可以随时运行[8]。
2.3SQLServer2008技术
SQLServer2008的微软数据平台的发布,您可以组织管理任何数据。
数据可以被结构化,半结构化和非结构化的文件直接存储在数据库中。
您可以查询数据,搜索,同步,报告和分析之类的操作。
数据可以存储在各种设备上,从数据中心到桌面一直是最大的服务器计算机和移动设备,它可以控制数据和不控制其中的数据被存储。
SQLServer2008是一个全面的数据库平台,SQLServer2008数据库的引擎主要为关系型的数据和结构化的数据,主要提供了更加可靠的安全的存储管理,管理可用性高和数据的性能和用户构建应用业务[9]。
SQLServer2008中允许使用微软的。
NET和VisualStudio开发使用数据的自定义应用程序,通过微软的BizTalkServer使用面向服务的架构(SOA)和业务流程的数据进行的。
信息工作者可以访问数据直接工具日常使用通过。
经过几年的实践是由优秀的数据库管理系统确认是一个全面的,集成的,终端到数据的解决方案。
SQLServer2008中扩展了SQLServer2005的功能,成为一个大型的联机事务处理(OLTP),数据仓库和电子商务应用的优秀数据库平台。
而相比于以前的数据解决方案,SQLServer2008将带给我们前所未有的价值,卓越的功能和令人兴奋的新体验。
SQLServer2008中包含了一组新的功能非常丰富,提供了一个更加安全,可靠和高效的数据管理平台,提升用户的管理组织能力,显著提高IT管理效率,降低运营风险和成本,通过提供先进的商业智能平台,满足实时统计分析,预测及其他监控复杂的管理需求众多客户的业务,推动企业信息化管理和业务发展的建设同时,SQLServer2008将提供一个高度可扩展和灵活的开发平台,扩大了使用空间,互联网数据服务,实现互联互通,为大家带来的业务应用程序的新机遇。
由于显著减少应用程序停机时间,提高系统的可扩展性和性能,和更严格的安全控制是在道路上支持SQLServer2008中的现实要求最苛刻的企业制度的要求,采取了极大步。
SQLServer是微软服务器家族的重要组成部分,通过微软服务器产品的工程总战略的实现增强的可管理性和集成,为客户降低总体拥有成本和更快的开发和部署时间中受益。
SQLServer2008的优点突出[10]:
可信-启用具有高安全性,可靠性和可扩展性的公司来运行他们最关键任务的应用程序。
高效的-使得公司可以降低开发他们的数据基础设施和管理的时间和成本。
智能-提供了一个可以被发送到他在您的观察和信息用户需要的时候一个综合性平台。
这样一方面可以提高系统的数据的效率,易于数据库数据管理。
在另一方面可以加快开发进度,降低部署成本。
2.4系统架构
该系统是基于基于后端数据库上Asp.Net开发平台,用户(包括管理员,读者)可以很容易地通过计算机图书信息管理[11]。
系统架构如图2-1所示。
图2-1系统架构
2.5DBU三层结构
所谓的三层结构[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),也被称为表现层,位于顶部,用于接收用户提交的用于显示和向用户提供交互式界面的数据。
商务逻辑层(业务逻辑层)系统架构无疑是体现核心价值的一部分。
它涉及主要涉及到系统设计和业务需求的发展,业务流程和其他业务规则以实现,现场是说,它是系统的响应有关(域)的逻辑,大量的时间,而且还业务逻辑层所谓领域层。
如马丁·福勒在著作“企业应用架构模式”,整体结构分为三个主要的层:
表示层,领域层和数据源层。
如在驱动设计EricEvans的,作出业务逻辑层更详细领域的先驱划分,细分为应用层和领域层,通过层分离逻辑和域逻辑解决方案的其他领域。
在架构业务逻辑层位置是至关重要的,它是在数据访问层和表示层的中间,数据交换关系发挥了作用。
由于层是一种弱耦合结构,层与层之间的依赖是向下,自底至顶的“无知”而言,改变上有在他们的呼叫而言,底部没有效果的设计。
如果分层设计,遵循面向接口的设计思路,那么这也应该依赖下来弱依赖。
因为这一点,因为它起着两个不同的角色的业务逻辑设计为可扩展的体系结构支持尤为关键[14]。
三层架构其中的优点:
1.只关注某一层
2.原有层次可以用新的来实现和替换的实现
3.层之间的依赖降低
4.标准化
5.逻辑化的符合应用
6.结构化
7.降低维护时间和成本
三层架构的缺点:
1.降低了性能。
假如并不采用这种分层式的结构,数据库就被直接访问了,而现在却需要通过中间层来进行完成。
2.有很多的可能出现级联修改。
对于这种修改其实体现的方向是自上而下的。
若要增加某一个功能在表示层,要确保设计是主要符分层结构,就需要相应的数据访问层和业务逻辑层均加入代码。
3.开发成