毕设-基于C语言的winform图书管理系统设计与实现.doc
-
资源ID:85462078
资源大小:1.80MB
全文页数:47页
- 资源格式: DOC
下载积分:20金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
毕设-基于C语言的winform图书管理系统设计与实现.doc
基于C#语言的winform图书管理系统设计与实现目录目录1摘要3Abstract3第一章 引言41.1课题研究背景41.2研究目的及意义41.3课题研究内容51.4课题研究综述61.4.1国内外研究现状61.4.2图书管理系统的发展方向6第二章 系统开发相关技术研究72.1软件体系结构72.1.1C/S结构72.1.2B/S结构82.2.NET技术概述92.2.1.NET框架102.2.2Winform介绍112.2.3C#与.NET的关系122.3Visual Studio简介122.4SQL Server数据库概述12第三章 系统的需求分析133.1可行性需求分析133.2性能需求分析143.3用户需求分析143.3.1需求概述143.3.2用例模型153.4系统非功能性需求173.4.1可用性183.4.2可维护性183.4.3可扩展性183.4.4容错性18第四章 系统设计194.1总体设计194.1.1系统角色设计194.1.2功能模块总体设计194.2详细设计214.2.1用户登录模块214.2.2系统管理模块234.2.3图书管理模块244.2.4读者管理模块254.2.5图书借阅管理模块264.2.6查询图书信息模块274.3数据库设计274.3.1概念结构设计274.3.2逻辑结构设计28第五章 系统主要功能的实现315.1用户登录模块315.2查询图书模块335.3读者管理模块365.4图书管理模块375.5借阅管理模块40第六章 总结与展望446.1总结446.2展望45参考文献45致谢46摘要随着科学技术的进步和计算机行业的快速发展,人们的工作效率显著提高。计算机信息处理系统的引进已经彻底改变了许多系统的经营管理方式。高校图书馆作为一种信息资源的集散地,存在图书借阅频繁、用户管理多变等问题。从图书信息管理和图书用户来设计,充分实现高校图书信息的系统管理,是当前高校图书信息管理系统设计与开发的必然趋势。 图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库建立和维护,以及前端应用程序的开发两个方面。前者要求建立数据一致和完整性强、数据安全性好的库。后者要求应用程序功能完备,容易使用等特点。本系统使用Winform窗体进行界面设计,结合图书馆的要求,对SQL Server数据库、SQL语言原理、C#语言的Winform应用程序设计,数据库技术进行了较深入的学习和应用。主要完成对图书管理系统的需求分析、详细设计、数据库模式分析,并由此设计了数据库结构和应用程序。系统运行结构证明,所设计的图书管理系统可以满足系统管理员、图书管理员、读者管理员和读者对系统的需要。当本系统投入实际使用后,即可提高日常的工作效率,使得人力资源大大减少,把管理员从繁琐的工作中释放出来。在论文的最后,总结了本文的工作内容,并对接下来的工作进行展望。关键字:.NET;C#;SQL Server数据库;图书管理系统;Winform应用程序开发Abstract第一章 引言1.1课题研究背景随着高等学校招生规模的不断扩大,高校信息化建设在高校管理和服务中显得极为紧迫和必要。高校信息化建设主要为教育管理、教学管理、图书管理、财务管理、后勤服务管理等。图书信息化管理已成为高校信息化建设的重要组成部分,无论是中等职业学校、高等职业学校,还是普通高等学校都建设起了大小不同的图书馆或是资料室,但由于各个学校的信息化程度不一样,绝大多数学校的图书管理系统不尽人意,如无法预约借阅、网上查询等,这就导致有借阅者为了借阅某本图书,而查阅了多个图书管理库,浪费了大量时间以及精力。图书馆作为人类知识的宝库,为人类知识的积累和传播发挥重要作用。图书馆是用科学的方法搜集、整理、保管、传播以及利用资料,为一定的经济、政治服务的科学、文化、教育机构。随着信息科学的迅猛发展,信息化彻底改变了图书馆工作人员传统的工作方法,计算机已成为图书馆馆员的工作工具。目前很多大型的图书馆已经有一整套比较完整的信息管理系统,但大多图书管理系统都是比较常见C/S的体系结构软件,这种结构的软件对于小型图书馆比较适用,而对大型一些的图书馆,特别是校园网上的应用,就遇到了许多问题,如客户端安装维护问题、系统反应慢。1.2研究目的及意义科技高速发展,计算机的价格已经普遍较为低廉。但是其性能却有了很大的提高。如今在各个高校都配备了许多电脑,老师和学生都具备一定程度的电脑知识。在学校的学习和办公中计算机被广泛的应用。能得到如此广泛应用主要是由于以下几个方面的原因:计算机的运算速度非常快,可以比人力资源带来更大效率;计算机可以为学校在各个方面借阅各种资源;计算机的应用可以使教职工的工作效率大大提高;计算机在安全性方面也有一定的保障。本论文旨在通过对图书信息管理系统构建相关理论的系统研究,结合高校信息化建设的实际情况,建立一个先进、灵活的图书信息管理系统,为高校师生服务,促进我国高校信息化建设水平迈上新的台阶。其研究的意义在于:图书信息管理系统的实施,管理人员可以实时统计图书库存、借阅状况等,同时可以提高图书馆工作人员的总体素质和管理水平。总之,归纳起来的优点:用数字的形式来记录和存储学校的图书和电子资源的信息,包括图书、读者、还有借阅信息。使得更安全和高效大大减少了人力资源的浪费,只需要为数不多的几个管理员就可以完成传统需要很多人才能完成的工作量;查询的效率大大得到提高,管理系统可以为在校的老师和学生提供多样化的查询手段,来实现方便和快捷的查询读者所需要的各种资源情况。综上所述,为了更好的服务广大读者,提高效率节约资源,在现行的人工流程的上开发图书管理系统,来满足当前图书管理的要求,提升工作效率。本研究的主要目的是设计和实现一个具有一定实用意义的图书馆管理平台。1.3课题研究内容结合国内外对图书信息管理系统的建设以及软件开发思想的研究情况,开发出C/S模式的高校图书信息管理系统。主要工作为通过对现有图书信息管理系统建设情况的研究,分析现有高校图书信息管理系统存在的不足。对现有软件开发技术的研究,搭建起高校图书信息管理系统的开发环境。通过对高校图书信息管理系统的需求分析,采用.NET技术,设计与开发出了先进的高校图书信息管理系统。具体为以下:1)综述高校图书管理中存在的问题以及信息化建设研究现状,并对基于C/S模式开发的网络图书管理信息系统中的关键技术进行了简单论述,阐明基本开发路线。2)完成图书管理信息系统的需求分析。分析中将具体模块进行细分,利用结构化分析方法获取了系统主要功能模块需求以及主要的数据流程,按照软件需求规格说明书的要求对系统需求分析进行了整理,着重从系统功能需求、性能需求、数据流图以及系统设计要求等要素,给出了主要分析过程。3)完成高校图书管理信息系统的总体结构设计与详细设计。对系统各用户特征及其主要功能业务流程、核心类及其关系,数据结构及其模式等内容进行了详细设计,给出了主要设计文档,最后对系统的调试与测试进行了阐述。4)利用Visual S集成开发工具,按照软件设计的规范化要求,完成高校图书管理信息系统功能模块的代码实现,实现图书信息管理、图书借阅管理、图书检索、用户管理等主要模块的功能。给出详细的测试用例及测试结果分析。1.4课题研究综述1.4.1国内外研究现状我国的图书管理系统始于上世纪八十年代初,经过了30年的发展,如今已经取得了傲人的成绩。目前,我国绝大多数的图书馆已经把计算机应用到了图书的管理当中。图书馆已经发展到计算机系统管理的自动化、网络化、数字化操作模式。根据图书馆的工作流程,国内图书管理系统设置了采访、编目、流通、期刊、参考咨询、联机检索、公共查询等子系统,其功能覆盖了图书馆的全部业务环节。图书管理系统的数据资源在子系统之间具有高度的共享一致性,数据资源具有较高的集成性。国外对信息检索技术的研究始于上世纪70年代的美国海军兵器中心,其研究主要内容是单词匹配技术。随着这项技术的发展,信息检索、自动分类、自动索引等技术的研究工作也相继展开,图书管理系统的发展由此开始。上世纪90年代初,美国的科学家首次提出数字图书馆这一概念,近二十年的研究与发展使其各方面技术经验都较为完备。网络技术的飞速发展全面带动了国外图书管理系统自动化的研究。在研究初期,仅在英国,就有120多个商家对图书管理系统进行开发。国外比较知名的图书管理系统软件有:美国的SIRSI、INNOPAC以及澳大利亚的HORIZON等。国外的产品在开发、销售、售后服务及版本的升级等方面具有较强的实力,而且其产品经过了多年市场使用检验,反复修改,系统更加完善,更具有先进性和稳定性。1.4.2图书管理系统的发展方向随着高校信息化的不断推进,高校图书信息管理系统呈现出如下发展方向:(1)高校图书信息管理系统必须使用高新技术做支撑。随着高校规模的扩张,无论是师生用户,还是图书信息都不断增大,许多高校建立了多个校区,多个图书馆,这就要求需要采用高新技术如数据仓库、高效联机解析处理、数据挖掘等技术对图书信息进行管理,实现分布式图书资源库的可互操作性。(2)高校图书信息管理系统要实现图书馆的数字化。随着因特网的发展,用户希望无论在何处都能够查询到图书信息,这就要求系统能够突破时空限制为用户全方位的信息服务。第二章 系统开发相关技术研究应用系统的实现技术一直是软件工程领域的一大研究热点,一般软件开发包含了2种模式,即C/S和B/S模式,这2种模式,各有自己的优缺点。在对应用系统开发之前,需要对软件构架、编程语言、开发技术以及数据库进行研究,才能开发出系统高的应用程序。2.1软件体系结构软件体系结构是具有一定形式的结构化元素,即构件的集合,包括处理构件、数据构件和连接构件。处理构件负责对数据进行加工,数据构件是被加工的信息,连接构件把体系结构的不同部分组组合连接起来。这一定义注重区分处理构件、数据构件和连接构件,这一方法在其他的定义和方法中基本上得到保持。其发展过程可以分为以下三个阶段:集中式计算结构、客户机/服务器计算结构(简称C/S结构)、浏览器服务器计算结构(简称B/S结构)。集中式计算机结构下客户、数据和程序被集中在主机上,通常只有少量的GUI界面,对远程数据库的访问比较困难。这种结构由于信息共享能力较差,属于全封闭式系统,且不同系统之间无法进行交流,系统扩展也不方便,已经无法适应信息技术发展的需求。2.1.1C/S结构C/S结构的基本原则是将计算机应用任务分解成多个子任务,由多台计算机分工完成,即采用“功能分布”原则。客户机/服务器结构,即所谓的C/S结构作为一种较为传统的软件体系结构,其优点在可以很好的发挥客户端和服务器端的资源优势,通过给两端分配不同的任务来实现系统的运行。其结构如图所示。图 C/S模式体系结构图Client和Server常常分别处在相距很远的两台计算机上,Client程序的任务是将用户的要求提交给Server程序,再将Server程序返回的结果以特定的形式显示给用户;Server程序的任务是接收客户程序提出的服务请求,进行相应的处理,再将结果返回给客户程序。C/S结构的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。2.1.2B/S结构B/S结构是对C/S结构的一种变化或者改进的结构。本质上,Browser/Server也是一种Client/Server结构,它是一种由传统的二层Client/Server结构发展而来的三层Client/Server结构在Web上应用的特例。三层体系结构是在两层体系结构的中间增加了一层(通常称为中间层)来实现业务逻辑的表达。分布式多层体系结构是指将系统分散到不同的机器上,并把中间层进行了模块化处理。由传统的二层Client/Server结构发展而来的三层Client/Server结构在Web上应用的特例。B/S架构体系结构如下图所示。它由三部分组成:客户机、应用服务器和数据服务器。图 B/S三层架构模型目前,常见的应用架构有两种:B/S结构和C/S结构。B/S结构系统的主要优点是系统的安装、修改和维护全在服务器端解决,达到了“零客户端”的功能,但其缺点是安全性难以控制,数据处理的响应速度不高,数据的动态交互性不强,不利于在线事务处理(OLTP)应用。C/S结构系统的优点是客户端的安全性较高,数据处理的相应速度快,数据的动态交互性强,缺点是客户端程序设计复杂,软件的移植、维护和升级困难。2.2.NET技术概述.NET Framework技术是微软公司推出的一个全新开发框架概念,它代表了一个集合、一个环境、一个可支持下一代Internet的可编程结构。它是一个支持环境与Windows一样,.NET也是一个位于客户机上的用户环境和基础用户服务集合。.NET的最终目标就是让用户无论在何方、何时、何设备都可以访问到所需要的资源。用户并不要知道这些资源存放在何处,而只需发出请求,然后就能接受到响应结果,具体复杂处理过程对用户而言是透明的。其最终目的就是将互联网作为新一代操作系统的基础,对互联网的设计思想进行扩展。.NET框架可分为两部分:公共语言运行环境CLR(Common Language Runtime)和.NET Framework框架的类库。其基本框架如下图:图 .NET平台框架结构图公共语言运行环境在框架的底层,是负责程序的运行,具有内存、线程、安全和异常的管理功能以及通用类型系统与生命周期监控等服务。在公共语言运行环境之上的是.NET框架的类库,具有多种类以及接口。公共语言运行库(CLR)是.NET 的基础,它为各种各样.NET语言提供了公共的类库,也为用这些语言编写的应用程序提供了运行环境。使用针对公共语言运行库的语言编译器开发的代码称为托管代码。类库是一个可重用类型集合,具有综合性及面向对象的特征。使用者可以利用类库来进行多种应用程序的开发,包括传统的基于命令行或基于图形用户界面的应用程序,也可以包括基于 ASP.NET 所提供的最新应用程序。2.2.1.NET框架.NET框架是.NET平台的重要组成部分,其目的是便于开发者更加容易地建立网络应用程序和WEB服务。它简化了在高度分布式Internet环境中进行应用程序开发。.NET技术的核心的.NET框架,它是基于网络基础的开发工具。.NET Framework包括了5个层次:通用语言运行环境(CLR)、统一基础类库、ADO.NET、ASP.NET和通用语言规范(CLS),如下图所示。图 .NET平台框架支持环境.NET Framework主要功能如下:(1)提供了丰富的框架,从而使用户可以NET Framework快速进行数据驱动的开发,而无需编写代码,ASP.NETAJA的一项新增功能,对管理浏览器历史记录提供了支持。(2)对公共语言运行时的核心改进包括:改进了.NET Framework本机映像的布局、选择不再对完全受信任的程序集进行强名称验证、提高了应用程序启动性能、改进了生成的代码以缩短端对端应用程序执行时间、选择在ASLR(地址空间布局随机化)模式下运行托管代码(如果操作系统支持)。(3)提高了Windows Presentation Foundation的性能,包括缩短了启动时间,提高了与位图效果有关的性能。WPF的其他新增功能包括:改善了对业务线应用程序、本机初始屏幕、Direct X像素着色器的支持,并且新增了Web Browser控件。(4)为解决脚本环境或解释环境的性能问题,提供了一个代码执行环境。统一开发人员个体经验对应用程序开发的影响。提供标准化的通信服务,基于.NET Framework的代码与任何其他代码可以集成交流。2.2.2Winform介绍WinForm是.Net开发平台中对Windows Form的一种称谓。Windows窗体的一些重要特点如下:1) 功能强大:Windows窗体可用于设计窗体和可视控件,以创建丰富的基于Windows的应用程序。2) 操作方便:新的数据提供程序管理:数据提供程序管理提供易于连接OLEDB和ODBC数据源的数据控件,包括Microsoft SQL Server、Microsoft Access、JET、DB2以及Oracle等。3) 使用安全:Windows窗体充分利用公共语言运行库的安全特性。这就意味着,一切都可以通过Windows窗体来实现,包括在浏览器中运行的不可信控件和用户硬盘上安装的完全可信的应用程序。优点:1) 控件灵活:Windows窗体提供了一套丰富的控件,并且开发人员可以定义自己有特色的新的控件。WinForm控件是指以输入或操作数据的对象。比如ComponentOne是.NET平台下对数据和方法的封装。有自己的属性和方法。属性是控件数据的简单访问者。方法则是控件的一些简单而可见的功能。包含在.NET Framework中的Windows窗体类旨在用于GUI开发。您可以轻松创建具有适应多变的商业需求所需的灵活性的命令窗口、按钮、菜单、工具栏和其他屏幕元素。2) 数据管理:方便的数据显示和操作:应用程序开发中最常见的情形之一是在窗体上显示数据。Windows窗体对数据库处理提供全面支持。可以访问数据库中的数据,并在窗体上显示和操作数据。3) 向导明确:向用户提供创建窗体、数据处理、打包和部署等的分布指导。2.2.3C#与.NET的关系为了支持.NET框架,微软公司博采众长,开发出一种具有java简洁性、C+语言灵活性、Pascal语言严谨的语言:C#,这是一个非常优秀的语言。C#的诞生就是为了支持.NET Framework应用程序开发平台的,他们之间密不可分。熟练使用C#是作为一个在.NET平台上的开发者必不可少的技能。.NET和C#语言之间是密不可分的,C#这门语言是伴随着.NET的出现而诞生。用C#语言开发和编写代码时,必不可少的需要使用.NET framework为其提供的框架集合类库来进行开发。C#并不是.NET框架唯一支持的语言,开发人员可以使用Visual Basic.NET或者其他一些支持.NET语言进行开发。2.3Visual Studio简介Visual Studio是微软公司推出的开发环境,Visual Studio可以用来创建Windows平台下的Windows应用程序和网络应用程序,也可以用来创建网络服务、智能设备应用程序和Office插件。Visual Studio是目前最流行的Windows平台应用程序开发环境。Visual Studio 2005是基于.NET2.0框架的。它同时也能开发跨平台的应用程序,如开发使用微软操作系统的手机的程序等。总体来说是一个非常庞大的软件,甚至包含代码测试功能。这个版本的Visual Studio包含有众多版本,分别面向不同的开发角色。同时还永久提供免费的Visual Studio Express版本。2.4SQL Server数据库概述SQL Server是微软公司的开发的关系型数据库管理系统,该数据库管理系统具有C/S体系结构的特点,跨操作系统平台,支持多核心处理,能够很好的提供Web支持,支持XML可扩展标记语言,可以支持在因特网上查询的能力。对不同的网络协议也有很好的支持,IPX/SPX,TCP/IP等。该数据库系统是微软为企业平台所设计的大型数据库产品。SQL Server 2008在Microsoft的数据平台上发布,可以组织管理任何数据。可以将结构化、半结构化和非结构化文档的数据直接存储到数据库中。可以对数据进行查询、搜索、同步、报告和分析之类的操作。数据可以存储在各种设备上,从数据中心最大的服务器一直到桌面计算机和移动设备,它都可以控制数据而不用管数据存储在哪里。SQL Server 2008允许使用Microsoft .NET和Visual Studio开发的自定义应用程序中使用数据,在面向服务的架构(SOA)和通过Microsoft BizTalk Server 进行的业务流程中使用数据。信息工作人员可以通过日常使用的工具直接访问数据。第三章 系统的需求分析系统的需求分析包括可行性需求分析、性能需求分析和功能需求分析。分析的主要目的是确保开发出的系统真正满足用户实际需求。3.1可行性需求分析整个高校图书信息管理系统的可行性分析主要包括以下几个方面:(1)经济方面:作为一个高校,普遍财务收入几千万以上,开发一个图书信息管理系统经费和实施整个平台的费用也不过是几十万之内,实施系统后整个高校的工作效率将得到显著的提高,这有助于全校师学查阅资料,提高教育、教学科研水平。因此,开发图书信息管理系统,从经济角度是可行的。(2)技术方面:软件方面,该平台采用了目前新兴的.NET和SQL2008的开发技术方案,选用功能强大的Microsoft SQL Server2008作为数据库,确保了平台能够处理大量数据。因此,整个图书信息管理系统的软件开发技术方案是成熟可行的。硬件方面,科技迅猛发展的今天,CPU运算速度越来越快,硬盘和内存容量越来越大,价格却越来越低。因此,完成硬件上能够满足实施图书信息管理系统的需要。(3)时机方面:各个高校已经建立了千兆校园网,学校所有办公室、教学区、学生宿舍区都得到了覆盖,家家户户实现了宽带接入,这些良好的网络环境为开发网络教学平台奠定了坚实的基础。(4)管理方面:各个高校都建立了各种管理规章制度,教学齐全,原始数据准确可直接使用,这些都为网络教学平台开发提供了制度方面的保障。因此,图书信息管理系统的开发无论从经济、技术、时机,还是从管理方面都具备了开发条件,完全可行。3.2性能需求分析图书信息管理系统在正常使用过程中总是需要处理大量的借阅者信息、书信息以及两者相互作用产生的借书信息、还书信息和图书查询信息。因此整个管理系统在图书馆的管理工作中起着重要的作用,关系到整个图书馆的正常运行。所以系统可靠性、可维护性要求较高:(1)系统要求稳定、可靠:图书信息管理系统是为全校师生提供优质服务的一个管理系统,这就要求系统要稳定、可靠地长时间运行。(2)系统延迟尽可能短:系统数据流量大,为了给用户更加优质的服务,要求系统反应速度要快,避免大量借阅、归还等用户排队等候。(3)系统信息要有安全:系统涉及到全校师生的各种信息,要求要有安全机制,确保整个系统的安全,防止非法入侵、篡改系统相关数据,造成不必要的麻烦。(4)系统用户界面要友好:整个系统涉及到图书的查询、借阅、归还等多种功能,而大多高校的图书管理人员文化程度相对偏低,这就要求系统设计过程中要特别注意界面要友好,使使用者能够容易上手。3.3用户需求分析3.3.1需求概述在过去没有计算机的时代,高校都采用人工方式管理图书,采用手工方式登记图书的借阅和归还情况。随着信息科学技术的迅猛发展,各高校数字化校园建设已铺开,图书信息管理系统作为数字化校园的重要组成部分,迫切需要在追求整个校园数字化前,建立起一套功能完善的图书信息管理系统来作铺垫。(1)功能要完善,解决传统管理方式不能完成的难题 图书传统管理方式,具有许多不能完成的难题,如准确的图书借阅、归还情况。这就要求整个图书信息管理系统能够解决这些问题。(2)操作要简便、工作流程尽量与传统方式吻合。由于各个高校的图书管理人员大多文化素质要比教学人员低,他们习惯了传统手工管理的工作流程,这就要求软件设计过程中界面要简洁、业务流程尽量与传统的人工管理模式类似,使图书管理人员能够很快适应计算机来管理图书。(3)维护简单。系统要求维护简单,使得在出现故障时,能够及时排错,恢复正常使用。此外,应向系统管理人员提交整个开发过程的各种文档。3.3.2用例模型这里采用统一建模语言的方法即UML建模语言。适用于描述以用例为驱动,以体系结构为中心的软件设计的全过程。用例图描述了一组用例、参与者以及他们之间的关系。用例图是用来表达系统与外界间的一系列的交互,甚至系统还没有构建出来,就可以绘制用例图。(1)系统整体用例图 首先从总体的角度观察图书管理系统,给出整体的用例图,如图所示。这里体现了不同的角色,系统管理员、图书管理员、读者管理员和读者。描述了他们各自的分工情况和用例之间的关系。图 系统管理用例图图 图书管理用例图图 读者管理用例图图 读者用例图3.4系统非功能性需求除了上述功能性需求,要使系统在日常的工作情况下正常维持,要保证系统的完整性和交互性就必须有一些非功能性需求。3.4.1可用性MTTF,即系统平均无故障时间,该参数是用来指示计算机系统的可靠性。就是计算机在发生两次故障之间所用的时间的平均值。换种说法就是平均需要多久才发生故障。按照这种说话,MTTF越大系统无故障时间越长,就越可靠。MTTR,系统平均维修时间,维护系统从故障到恢复正常使用这段时间的平均值。维护性就是通过他来进行度量的,系统的可维护性MTTR成反比。由以上的结果可以推论出公式:MTTF/(MTTF+MTTR)*100%。所以,可用性即为系统保持正常时间所占的比例。3.4.2可维护性对软件系统的改正、理解、改进、改动的难易程度即为可维护性。可理解性和修改性在软件维护性上有重要的作用。就本系统来说,系统的正常运行通过管理员的维护来实现。而且,对系统需求变化的做出快速的调整和改变。3.4.3可扩展性在适当的地方插入尽可能多的代码即为系统的可扩展性。其目的是为了应付未来应用需求发生的改变从而对项目做出的修改,以减少代码的修改量。系统的可扩展性是通过软件的框架来实现的。可以有如下方法:动态加载、回调函数、顶端抽象接口和使用可塑性很强的代码结构。3.4.4容错性容错性是指从错误中恢复的能力,这种错误是软件或者硬件在运行时产生的。一般来说系统的容错性可以用过可靠性、可测行和可用性三个指标来衡量。就具体的本项目而言,由于某些特殊的原因服务器出现问题时候,却不影响本系统的正常运行即为好的容错性,容错的提高可以通过服务器的部署来得到实现。第四章 系统设计4.1总体设计众所周知,图书管理系统对图书馆来说有着举足轻重的作用,它不但方便了读者的检索,是否在馆、以及借阅和续借等。也极大方便了图书馆和图书管理者对图书的管理。鉴于上述功能。因此,对于一个好的图书馆里系统以下几个功能就必不可少。4.1.1系统角色设计管理员系统分为系统管理员、图书管理员、读者管理员(1)系统管理员:主要负责系统中用户信息的维护和数据库的备份欢迎,保证系统的正常运行。(2)图书管理员:主要功能对系统中借阅信息,图书信息,读者信息,数据进行统计以及个人资料的维护。借阅信息:读者借书,读者还书,读者续借,查询读者借阅信息。读者借书:根据读者编号检索读者类型和已经借阅图书相应信息。读者还书:根据读者编号检索提取读者信息,加载借阅图书信息列表选择要归还的图书信息进行归还操作。读者续借:若读者在固定时间内没有读完某本图书,可以进行续借操作。借阅查询:可以对借阅信息就行统计查询。图书管理:查询图书信息并维护图书信息。(3) 读者管理:查询读者信息;添加读者;维护读者类别;数据统计;维护个人资料。读者管理员:维护图书信息、读者信息和个人信息等。(4) 读者可以查询图书信息,以及自己借阅图书信息。维护个人信息。4.1.2功能模块总体设计由于图书馆里系统的总体和各个功能板块的需要,现将图书管理系统做如下具体设计,以使该管理系统能够正常运行。根据系统的需求分析,系统的总体功能模块设计如下图:图 系统功能模块数据流图是结构化分析方法中使用的工具,它以图形的方式描绘数据在系统中流动和处理的过程,它将数据独立抽象出来,通过图形方式描述信息的实际流程。数据流程图由系统的外部实体、数据处理、数据存储和系统中的数据流四个部分组成。为了更加清晰的获取图书管理系统内部业务流程以及数据流交互情况,下面通过结构化分析方法,获取图书管理系统的数据流图。图 顶层数据流图类图是最常用的UML图,显示出类、接口以及它们之间的静态结构和关系;它用于描述系统的结构化设计。本系统中一共用到了几个基本的数据类,具体类图如下图:图 系统的基本类图4.2详细设计4.2.1用户登录模块用户登录板块是图书管理系统的重要组成部分,它既是用户进入图书管理系统的端口或凭证,也是图书管理系统的重要安全保证。功能模块图如下:图 管理员登陆模块功能图其主要功能分别分为:帐号管理,用户密码的输入。只有当用户名和密码相匹配时才能够进入图书管理系统经行帐号的管理如密码的修改等或图书的管理如预订、预借等。但当帐号和密码不相匹配时,系统将自动弹出错误提醒,并拒绝用户进入该管理系统用户登录时的身份认证及处理过程:图 用户登录时序图1) 打开登录页面。2) 输入帐号和密码。3) 系统检查帐号和密码,看是否相匹配。4) 如果帐号或密码不相匹配,则弹出错误提醒,点击后并返回登陆页面保留帐号,但要重新输入密码。5) 如果帐号和密码相匹配,则根据用户的权限类别进入相应的系统登录。6) 进入图书管理系统主页。4.2.2系统管理模块系统管理模块主要实现不同权限的图书管理系统操作人员设置不同的模块和使用范围,也可以实现管理员的添加、修改以及删除等。系统管理模块图如下图所示:图系统管理模块1、添加新管理员1) 输入管理员账号、密码,对管理权限类别的识别2) 相应管理权限的取得3) 在数据库中添加新的管理员2、管理员权限的设置1) 登录有该权限的管理员2) 选择所需要设置权限的用户3) 权限类别的获取和修改,确认信息4) 完成对数据库中管理员及权限的更新3、删除指定管理员1) 登录具有该权限的管理员2) 选择需要删除的管理员并执行删除操作3) 完成对数据库中管理员及权限的更新4.2.3图书管理模块图书管理模块主要实现的是对图书信息的管理功能,它应该具备图书信息的查询、添加、修改、删除等,此外还应该具有对图书的分类管理功能。1、图书类别设置模块处理过程:1) 读取并显示图书类别信息表中的己有信息2) 图书类别信息的添加、修改、删除等3) 图书类别信息表的更新并提示2、图书信息管理模块处理过程:1) 从图书信息表中读取已有的信息并显示2) 添加新的图书记录或修改已有记录或删除指定图书记录3) 更新图书信息表,并提示用户图 图书管理模块功能图其操作流程图如图所示:图 管理员图书管理操作流程图4.2.4读者管理模块读者信息维护模块主要负责读者类别的设置,包括类型、可借册书等信息。读者信息的建立及维护,包括了读者信息的新建、编辑、删除。读者管理模块图如下图所示:图 读者管理模块图读者类别管理模块的处理过程:读取并显示读者类别信息表中的信息;新的类别的添加、修改、删除以及更新;读者类别信息表的更新和提醒。读者信息管理模块处理过程:读取并显示读者信息表中的信息;当管理员或读者输入读者编号时,会显示其详细信息;图书管理员可以添加新的读者信息、以及对已有读者信息的修改或删除;读者信息表的更行及提醒。4.2.5图书借阅管理模块图书借阅管理模块主要负责图书的借阅、续借以及图书的归还等。借阅管理模块操作流程图如图所示:图 借阅管理操作流程图1、图书借阅模块处理过程:1) 扫描或输入读者编号,对读者的类型进行识别看是否达到借书上限,并显示所借书籍情况以及相关信息2) 若未达到则扫描输入所借图书编号或条形码,并自动生成更新该用户的相关借阅信息2、图书的续借:1) 扫描或输入读者编号,对读者的类型经行识别并显示相关信息2) 对所续借的书籍经行扫描输入,并自动生成更新用户的相关借阅信息3、图书归还模块处理过程:1) 输入读者的编号或条形码,显示该读者所借图书信息2) 在所借图书书目中、选择或者扫描读者还书条目3) 查看所借书的时间,判断是否超期,若未过期,则完成还书过程4) 若逾期,则自动弹出过期窗口,按逾期处理4.2.6查询图书信息模块读者查询书刊信息的时序图,具体如下图所示:图 查询图书时序图4.3数据库设计在目前的数据库管理系统中有层次模型、网状模型、关系模型三种数据模型。其中,关系模型具有较高的数据独立性,使用也较为方便,因而数据库设计的核心问题就是根据系统数据模式对系统主要数据实体关系进行设计。本文采用SQL Server 2008关系数据库,利用该数据库对图书管理信息进行增、删、编辑、统计、显示等功能操作,对数据快速定位、查询提供了有利条件。4.3.1概念结构设计通过对本系统的做出的需求分析工作、系统流程设计工作等及系统功能结构的确定,得到最终数据库实体对象。整个图书管理系统的关系图,包括管理员、借阅者、书籍等等。整个图书管理系统的关系图,包括管理员、借阅者、书籍等等。具体关系如图:图 总体E-R图系统给不同的用户划分不同的管理权限,不同的权限对管理系统的操作又各不相同。图书借阅信息实体,存储着图书的所有信息,包括读者信息、读者条形码、应还日期、借阅日期、图书名称、图书条形码等。可以准确的记录着每本书的借阅情况。为了实现对图书的分类,一般是将不同的书进行归类,相同类型的书归为一类,放在对应的书架上。书架信息被存储在书架实体信息中。每本书都有自己的图书信息,包括图书价格、作者名称、出版社名称、书架类型、图书类型、图书类型、图书名称、图书条形码、借阅此书、图书价格等。为了方便对图书进行查询和分类。设计了图书信息实体,将这些信息保存在实体中。4.3.2逻辑结构设计在设计完数据库实体E-R图之后,需要根据实体E-R图设计数据表结构。下面给出主要数据表的数据结构和用途。本系统使用的数据库管理系统为SQL Server 2008。数据库中的表有图书信息表、图书类型信息表、图书借阅表、读者信息表、读者类型信息表、管理员信息表。(1)图书信息表,表名Book,如下表所示:表1图书信息表序号列名数据类型长度主键允许空描述1bkIDint10是否图书ID2bkCodevarchar50否是图书编号3bkNamevarchar50否是图书名称4bkAuthorvarchar50否是作者5bkPressvarchar50否是出版社6bkDatePressSmalldatetime否是出版日期7bkISBNvarchar50否是图书书号8bkCatalogvarchar50否是图书分类9bkLanguagevarchar50否是图书语种10bkPageint10否是页码11bkPricemoney