基于c#的图书管理系统的实现和设计毕业设计论文Word下载.docx
《基于c#的图书管理系统的实现和设计毕业设计论文Word下载.docx》由会员分享,可在线阅读,更多相关《基于c#的图书管理系统的实现和设计毕业设计论文Word下载.docx(30页珍藏版)》请在冰豆网上搜索。
当时,美国海军兵器管理中心(NOTS)开始在IBM701计算机上进行单元词匹配检索[1]。
到1958年IBM公司研究员卢恩进行了自动抽词试验,开创了自动化标引、自动分类、信息检索等操作。
直到20世纪70年代,以编目系统为基础的各种自动化系统开始形成[2]。
同时,出行了以编目系统为纽带的联机编目协助网,如OCLC、BALLOTS、RLIN、WLN等,当时的图书馆系统开发主要是有大学图书馆以及大型图书馆自主开发的,如东伊利诺斯大学的联机图书流通系统,华盛顿州立大学的图书馆采购系统等。
从20世纪70年代末到80年代初,图书馆系统开始从单一功能向多功能集成系统过渡,典型的有西北大学NOTIS系统,同时出现了商品化图书馆自动化系统,使图书馆更方便快捷的完成各项操作。
到90年代后期,随着Internet的发展以及Windows具有用户界面的广泛使用,以及一系列的高新技术,如Web技术、数据库技术、Java技术的应用,是图书馆系统得到了更近一步的完善。
1.2研究目的、意义和范围
本课题主要是研究已经有的程序功能和一些非常成功的系统网站,从中找到不足之处,然后开发出更简洁、更快速和更安全的图书管理软件,让人们能够更快速的完成借书还书操作。
我们处于越来越快的生活节奏中,时间对每个人来说非常重要,但我们的很多时间都在不知不觉中流失掉了,所以我们如果能开发出更快捷的软件,无形中就延长了人们的生命。
在这个程序中主要涉及到传统C/S模式和最近几年非常流行的B/S模式的选择。
传统C/S模式,需要终端下载安装相关软件,大部分运行都在终端,但是B/S模式的出现,将软件的运行移植到了服务器,减轻了终端工作量,从而达到将终端瘦化处理。
当终端把请求发给浏览器时,与数据库连接,然后将处理结果返回了终端。
这种把处理全部转移到服务器上,对管理人员来说,非常的经济和方便。
第2章需求分析
2.1需求分析
经过对其它图书馆系统进行调查总结发现,通常图书馆系统的功能如下:
系统实现主要功能为:
●用户登录模块
●搜索图书模块
●管理图书模块
●图书信息模块
●图书种类模块
●读者类型模块
●用户信息模块
●用户权限模块
2.2系统的性能需求
这个系统性能功能要满足下面的需求:
数据精确度,借阅过程用天为计算单位。
时间特性,采用服务器的时间为标准。
2.3运行环境要求
2.3.1设备
客户机硬件要求:
最小64MB内存,corei4处理器及以上,最小2.1GB。
硬盘。
服务器硬件需求:
最小内存256MB,处理器corei4及以上,最小硬盘8GB。
2.3.2支持程序
客户端要求
操作系统需求:
WindowsXP及更高的版本
浏览器需求:
IE5.0及同等版本以上
服务器要求
操作系统:
Windows2005Server
Web服务器:
MSIIS
数据库:
Sql2005数据库
开发环境:
VS2005c#语言
第3章使用技术的介绍
3.1ASP.NET简介
ASP.NET是基于通用语言的程序在服务器上运行,通用语言的基本库,消息机制数据接口的处理能完美的整合到Web应用中[3]。
ASP.NET具有效率高,可从用性高,代码少优点[4]。
用ASP进行程序设计的时候,ASP代码使用的脚本语言,所有代码都嵌入到HTML代码中,所以当编比较复杂的网站时,代码量比较大,而且导致代码可读性差。
另外,由于所有代码都是解释执行的,所以速度慢,并且无法有效使用硬件功能。
所以ASP.NET比ASP效率更高,可用性高,对于同功能的程序ASP.NET代码更少。
该系统采用B/S模式,后台使用SQLsever2005作为后台数据库管理系统,前台使用Command组件来调用与存储SQL是一个功能的数据库语言。
SQL用于数据库通讯。
ANSI规定SQL为关系型数据库的标准语言,SQL用于完成一些数据库的操作任务[5]。
例如数据库中的数据更新、检索数据。
它具有简单、高效、功能强大等特点。
并且用C#为编程语言,C#代码在.Net框架提供的环境下运行,不允许直接操作内存。
C#和Java一样具有面向对象编程的一切特点,如封装、继承、多态[6]。
C#适用于多种数据库结构,从服务机/客户模式到多从数据库结构模式。
3.2系统的模型结构
本系统的结构模型如图3-1所示:
图3-1系统的模型结构图示
本系统结构分为三个层:
Web层:
Web层提供为客户端浏览器提供应用程序的访问,Web层有Asp.NETweb窗体和隐藏代码文件购成,web窗体是用HTML提供用户操作,而隐藏代码文件实现各种控件的事件处理程序;
业务层:
包括各种业务规则和逻辑功能,业务功能完成如账号验证和字符处理这样的业务;
数据层:
这层为上面一面层提供数据的服务,这层作为解决方案文件中的Conn类来实现的。
3.3.NETFramework概述
.NETFramework它是基于.NET平台的编程方式,其公用语言运行库包括CLR,CommonLanguageRuntime和.NETFramework类库ADO.NET、ASP.NET和Windows窗体[7]。
它提供了托管执行环境、简化了开发及部署而且集成了各种编程语言。
.NETFramework实现了下列目标:
1、提供一个相同的面向对象编程环境;
2、提供一个把各软件整合将冲突控制在最小的代码执行环境;
3、提供一个消除脚本环境及解释环境的功能问题代码的执行环境;
按工业标准生成所有通信,保证.NETFramework的代码可与其他任何代码集成。
公共语言运行库,可以把他看作是执行时代码的管理人,里面提供了内存管理、线程管理和以及远程处理等服务,代码管理的思想是运行库的最基本原则之一。
“把运行库作为目标的代码叫做托管代码与它对应的称为非托管代码。
.NETFramework类库是一种综合性的面向对象的可重复使用的集合[8]。
它能够开发出很多不同的应用程序,其中包括传统命令的行程以及用户界面的(GUI)应用程序,同时也包括基于ASP.NET所提供的创建应用程序(如Web窗体)。
3.4ASP.NET、C#语言简介
ASP.NET结构是一种三层机构:
UI层、业务逻辑层和数据层[8]。
模型结构如图3-2
图3-2ASP.NET的结构模型
1、用户层(UI)负责和用户交互,接收来自于用户的请求,然后将结果呈现给客户;
2、逻辑层负责接收用户端传来的请求并将消息传给数据处理层,随后将处理后的结果发给客户。
它是有WebServices、Web表单、XML和组件服务组成,在这些当中Web表单是一切的核心,是向客户显现数据和信息的基础,也是相应和处理客户和显示Web表单生成的数据及信息的基础;
3、通过数据层ADO.NET操纵数据为业务层提供数据服务。
ADO.NET有两个核心组件:
Dataset和.NETFramework数据提供程序,后者是包括Connection、Command、DataReader和DataAdapter对象在内的组件,其组件结构如图3-3。
图3-3ADO.NET的组件结构图示[9]
DataSet对象是ADO.NET的核心组件,实现独立于任何数据源的数据访问。
Connection对象提供一种与数据层的连接,是处理数据库的基础,表示应用层,数据源与数据源之间的唯一通路。
Command对象主要用于返回数据和修改数据,例如:
插入、查询、修改和删除等。
DataReader用于从数据源中读取数据流。
DataAdapter是DataSet与数据源的桥梁。
C#语言是.NET中一种崭新的语言,C#是由C和C++衍生来的一种简单、流行、面向对象、类型安全的程序设计语言,C#综合了VisualBasic的高效率和C++的强大功能。
3.5研究步骤、方法及措施:
该网站将采用三层架构将程序划分为三个逻辑层,三层架构优点如下:
首先,将整体划分为不同的逻辑块,降低了程序的开发难度。
其次,系统扩充性得到了增强。
模块化能让系统很方便的从纵向和水平向外拓展开来,一方面能够将系统升级到更大、更有力的平台新平台,同时可以适当增大规模来增加系统在网络上的应用。
最后,三层架构中的中间层提供了全层保护的功能,数据具有了高度的完整性及安全性。
这三个逻辑层在本系统中具体功能如下:
(1)、用户层(UserServicesTier),是程序和用户进行交互的起点。
由基于浏览器的用户界面构成。
在这层中用户可以查看、输入和处理数据。
从用户来看,用户服务层是一个整体的应用。
在该网站系统之中,用户能浏览和查询服务,并且进行互动。
(2)、业务层,也可称为叫中间层、应用服务层,其负责事物封装处理、商业规则、数据访问。
商业服务层可以作为前端应用服务层和后端数据服务及数据存储之间的桥梁。
其任务是接受请求,执行应用程申请数据处理请求,然后将处理后返回的结果提交给Web服务器,Web服务器再传给客户端。
(3)、服务层,这层负责检索和操作在一个或多个数据存储之中的数据,通过数据访问,操作分离到独立的逻辑中,这样可以把商务层从附属数据存储中抽象出来。
在该系统中,数据服务层定义和维护数据的完整性和安全性,响应数据访问请求,接受来自Web服务器对数据库操作请求,实现了数据库修改、更新、查询等一连串操作,把运行结果提交给Web服务器。
整个网站系统的逻辑体系如图3-4:
用户服务
用户交互
页面导航
数据表现
业务服务
事务处理逻辑
业务规则定义
数据访问
数据服务
数据检索
数据操作
数据验证
数据存储
数据关系
数据完整性
图3-4网站系统的逻辑体系结构图
3.6SQLServer数据库简介
3.6.1SQLServer数据库简介
SQLServer是由Microsoft公司推出的一种关系型数据库系统[10]。
其是一种可扩展的、高新能的,为分布式客服端、服务器计算所设计的数据库系统。
实现了与WindowsNT的有机结合,提供了企业级信息管理方案。
其主要特点如下:
(1)高性能设计,可扩充利用WindowNT的优势。
(2)系统管理先进,支持Windows图形处理化工具,支持本地和远程系统管理和配置。
(3)超强大的业务处理功能,使用各种方案来保证数据完整性。
(4)支持对称多处理器结构,存储过程,ODBC,并且有自主的SQL语言。
SQLServer以其内置的数据复制功能,强大的管理工具与Internet的紧密集合和开放的系统结构能够为广大用户,开发人员以及系统集成商提供一个出众的数据平台[11]。
SQLServer2008按照设计可以为部署和维护强大的、容易管理的,支持商务活动的网站站点提供非常好的性能,这些端点能够从事商家和商家,商家与客户之间的交易。
在可找支持你电子商务解决方案的数据库时,需要考虑的项目有:
可用性、性能、可管理性和单价。
3.6.2SQL语言简介
SQL是介于关系演算与关系代数之间的结构化查询语言,是一个通用的,功能极强的关系数据库语言[12]。
SQL之所以被用户和业界接受,并成为国际标准,因为她是一个综合的,功能极强的且又简单易学的语言。
SQL语言集数据定义(DataDefinition),数据查询(Dataquary),数据操作(DataManipulation)和数据控制(DataContry)功能为一体,主要特点如下:
(1)综合统一
数据库系统的功能是通过数据库支持的语言来实现的,SQL集数据定义语言(DDL),数据操作语言(DML),数据控制语言(DCL)于一体的语言[13]。
语言风格一致,它能够有效的完成整个数据周期的一切操作,包括建数据库、定义模式、插入数操作、查询操作、更新操作、维护操作、数据库重构操作、数据库安全性能控制操作等一系列操作,这为数据库开发提供了优良的环境。
数据库在运行使用后,用户可以根据需要逐步修改模式,并且不会影响数据库的一切运行,这将会使系统具有更良好的可扩展性。
(2)高度非过程化
SQL是关系型数据库,要对数据进行操作,只需提出“做什么”,无需指明“怎么做”,其操作过程由系统自动完成,不需要了解它的存取路径。
不但可以大大减降低用户负担,而且还有利于提高数据库的独立性。
(3)面向集合的操作方法
SQL采用的是集合的操作方法,不仅操作对象,查询结果是元组集合。
而在非关系型数据库中,操作对象必须是一条记录。
(4)以同一种语法结构提出两种使用方法
SQL是一个自含式语言,同时也是一种嵌入式语言。
(5)、语言简捷,易学易用
SQL语言功能非常强大,因为设计巧妙,语言内容十分简捷[13]。
只需使用9个动词就能完成其核心功能:
“查询<
SELECT>
数据定义<
CREATE,DROP,ALTER>
数据操作<
INSERT,UPDATE,DELETE>
和数据控制<
GRANT,REVOKE>
。
SQL是一种接近英语的常用语言,因此容易学,容易使用,从而易于受人们接受。
3.7UML建模简介
UML是统一建模语言的缩写,是面向对象的、可视化和编制文档的一种标准语言[14]。
3.7.1UML简介
UML也可以叫做统一建模语言,它支持可视化程序的开发,是一种非专利的建模以及规范语言[14]。
其展现了一系列最佳工程实践,而且在大规模,复杂系统,特别是软件架构层次已经验证有效。
UML非常适合数据建模操作,业务建模工程,对象建模工程,组件建模工程。
在模型建完之后,我们可以使用UML工具将她转化成特定的语言代码。
UML定义简单,功能强大的而且非常容易表达的一种建模语言[15]。
它融入了很多最先进的思想、技术和方法。
UML不但适用于是面向对象的思想,也适用于软件从需求分析一直到开发完成的过程。
这
3.7.2UML的内容
UML重要内容有五类图来定义:
第一类:
用例图,这是从用户角度描述系统的功能,并且指出各功能的操作者。
第二类:
静态图,包括对象图、包图和类图。
这里面的类图描是述系统中类的静态结构。
它不仅定义系统中的类,表示类之间的联系,如依赖、聚合、关联等。
第三类:
行为图,这是用来描述动态模型以及组成对象之间的交互关系。
其中的状态图描述类的对象所有可能的状态,以及事件发生时状态的转移条件。
第四类:
交互图,描述对象间的交互关系。
当中的顺序图显示对象的动态合作关系。
第五类:
实现图,这里面的构件图描述代码部件的物理结构及各部件之间的依赖关系。
从应用方来看,在采用面向对象的技术来设计系统时,首先要描述需求;
其次根据需求分析结果建立系统的静态模型,以构造系统的结构;
最后是描述系统的行为。
3.7.3UML的主要特点
主要特点如下:
(1)UML统一了Booch、OMT和OOSE等方法中的基本概念。
(2)UML综合了面向对象技术领域以及其他流派的长处,删除了大量的易于引起混乱的、多余的和极少使用的符号,也添加了一些新符号。
(3)UML在发展的过程中也提出了一些新的概念。
3.7.4UML的应用领域
UML是用面向对象图来描述任何类型的系统,它的应用领域非常广泛。
可以用一软件开发中,也可以应用在其他行业中,例如企业机构、机械系统以及在处理一些比较复杂的数据信息系统中。
第4章详细设计
4.1数据库设计
该系统使用Sql2005作为应用程序的数据库开发,建立了有8张数据表,各个数据表如下。
1、books表:
用来保存图书基本信息,其中包括图书编号、图书名字、图书种类、图书作者、图书单价、图书总数、等信息。
表4-1books(图书信息表)
2、bookType表:
用来存储种类ID、种类名、能借几天3中信息
表4-2bookType(图书类别信息表)
3、Users表:
用来存存储管理员信息,包括管理员ID,管理员名字,管理员密码和管理员身份(超级管理员和普通管理员)。
表4-3users(管理员信息表)
4、bookBorrow表:
用来保存借阅信息,其中包括书编号、书名、借出时间、归还时间、读者编号、读者名字和是否归还。
表4-4bookBorrow(图书借阅信息表)
5、bookReservation表:
图书预约表用来存储预约人ID、预约书编码、书名、预约时间。
表4-5bookReservation(图书预约信息表)
6、reader表:
用来存储学生信息,其中包括学生ID、学生名字、学生密码、借书证号、联系电话、电子邮箱信息。
表4-6reader(学生信息表)
7、shujia表:
用来存储图书种类编号、图书名。
表4-7shujia(书架信息表)
8、Teachter表:
用来存储教师信息,包括ID、用户名、用户密码、借读类型、联系电话、电子邮箱等信息。
表4-8Teachter(教师信息表)
4.2主要业务流程图
4.3主要用户用例图
图4-4VIP用例图
图4-4超级管理员用例图
图4-5图书管理员用例图
4.4系统流程图
图4-6系统流程图
4.5主要窗体页的图形界面介绍
登陆界面:
必须要输入正确的用户名和密码才能进入
图4-7
主要代码如下:
stringsql="
select*fromuserswhereuserName='
"
+userName+"
'
anduserPwd='
+Pwd+"
andisadmin='
1'
;
if(dataOperate.seleSQL(sql)>
0)
{
Session["
userName"
]=txtName.Text;
Response.Redirect("
admin/default.aspx"
);
}
else
RegisterStartupScript("
"
<
script>
alert('
登录失败!
)<
/script>
首页:
系统首页展示了所有的系统功能和导航菜单,提供了一个很方便的管理页面,并能显示图书借阅的排行信息。
如图:
5-2-2
图:
4-8
publicpartialclass_Default:
System.Web.UI.Page
{
protectedvoidPage_Load(objectsender,EventArgse)
if(Session["
]!
=null)
bindBookInfo();
entry.aspx"
protectedvoidbindBookInfo()
selecttop10*frombooksorderbyborrowSumdesc"
gvBookTaxis.DataSource=dataOperate.getDataset(sql,"
books"
gvBookTaxis.DataBind();
图书类型管理:
在这里添加,修改,删除图书的类型信息,在添加,查询的时候
是很有用的信息。
图4-9
protectedvoidbtnSave_Click(objects