基于CS结构的图书管理系统的开发与设计_第1页
基于CS结构的图书管理系统的开发与设计_第2页
基于CS结构的图书管理系统的开发与设计_第3页
基于CS结构的图书管理系统的开发与设计_第4页
基于CS结构的图书管理系统的开发与设计_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于C/S结构的图书管理系统的开发与设计[摘要]图书馆作为提供学习的场所,不仅要求便于管理,而且要求给读者以前的图书管理中心进行信息管理主要是基于手工处理,信息处理工作量大,容易出错,缺乏系统、规范的信息管理手段。在计算机普及的今天,利用电脑来简化和方便我们的工作也不再少见,而图书管理系统只是其中一个小小的应用,利用这个系统来管理图书馆图书的借阅工作,可以非常容易和快捷的对整个流程进行很好的控制和管理,并且简化了工作的困难度和节省了人力资书馆的工作人员使用的每台电脑都需要配置该管理软件,同时,需要一台数据库服务器提供数据处理的服务,开发语言选择C#,后台数据库服务器选择management,andtherequirementtothereaderandlibraryprovideconvenieThepreviousLibraryManagementCenterforiasedonmanualprocessing,informationprocessingworkload,pronetoerror,lackofsysteentsystemisasmallapplication,usethissystemtomanagethelibrarytoborrowbooks,canfBecausethesystemisgenerallyusedinLAN,sothissystemadoptsC/Sarchitecturedevelopment,thelibrarystaffintheuseofeachcomputerwillneedtoconfigurethemanagementsoftware,atthesametime,needadatabaseserverprovidesthedataprocessingservices,developmentlanguageC#backgrounddatabaseserver,selectSQLServer2005. 1 11.2项目开发意义 1 32.1.NET框架介绍 32.2C#介绍 32.3VisualStudio2010介绍 32.4SQLServer2005介绍 42.5C/S结构 4 63.1系统分析 6 7 8 83.5数据库设计 4.1系统模块 第六章致谢 1第一章绪论一直以来人们使用传统的人工方式管理图书馆的日常工作,对于图书馆的借书和还书过程,想必大家都已很熟悉。在计算机尚未在图书馆广泛使用之前,借书和还书过程主要依靠手工。一个最典型的手工处理还书过程就是:读者将要借的书和借阅证交给工作人员,工作人员将每本书上附带的描述书的信息的卡片和读者的借阅证放在一个小格栏里,并在借阅证和每本书贴的借阅条上填写借阅信息。这样借书过程就完成了。还书时,读者将要还的书交给工作人员,工作人员根据图书信息找到相应的书卡和借阅证,并填好相应的还书信息,这样还书过程就完成了。以上所描述的手工过程的不足之处显而易见,首先处理借书、还书业务流程的效率很低,其次处理能力比较低,一段时间内,所能服务的读者人数是有限的。在计算机普及的今天,我们可以使用计算机来代替人工处理借阅图书的工作,这时候就需要一个功能完善的图书管理系统。图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前台应用程序的开发两个方面。一方面要求建立起数据一致性和完整性强、数据安全性好的数据库;另一方面则要求应用程序具有功能完备,易使用等特点。图书馆需要统一图书的管理,对各类书籍的借阅情况和图书馆现有藏书的数量、种类要及时掌握,这就要求它具有很强的时效性。既要减少旧书和大量重复的图书占用有限的空间而又要尽力做到图书种类的齐全,作为图书馆的管理人员需要及时的对图书进行上架和注销处理。同时,使用该程序之后,读者可以查阅并修改自己的信息、修改密码、查阅借阅情况、搜索图书;系统管理员可以进行读者维护、图书维护、图书搜索;图书馆管理人员可以进行图书的借阅与归还。本次毕业设计题目:“图书管理系统”主要目的是利用数据库软件编制一个管理软件,用以实现图书、读者以及日常工作等多项管理。同时对整个系统的分析、设计过程2给出一个完整论证。本系统的建成无疑会为管理者对图书管理系统提供极大的帮助。本系统的设计主要从以下几方面做起:系统业务流程分析、系统的功能设计、系统的数据库结构设计等。作这些工作需对数据库知识有足够认识,并深入的了解C#的使用和管理系统的相关知识。3第二章技术概述本系统使用的开发框架是.NET,开发语言是C#,开发工具为VisualStudio2010,数据库管理软件是MicrosoftSQLServer2005。.NET框架主要包括公共语言运行库(CommonLanguageRuntimeCLR)和.NET框架类库(FCL)。CLR(公共语言运行库),其主要作用是为我们定位、加载和管理.NET类型,同时也负责一些低层细节的工作,如内存管理,创建应用程序域、线程和对象上下文边界,安全检查等。另外,它的最终目的是让用户在任何地方、任何时间,以及利用任何设备都能访问所需的信息、文件和程序。2.2C#介绍C#是一种面向对象的编程语言,是.NET框架下的主推语言,C#既保持了C++中熟悉的语法,并且包含了大量的高效代码和面向对象特征。C#语言将在保持c/c++灵活性的基础上位程序员带来更高效的RAD开发方式。它不仅能用于WEB服务程序的开发,并且还能开发强大的系统级程序。VisualStudio是微软公司推出的开发环境。是目前最流行的Windows平台应用程序开发环境。VisualStudio2010版本于2010年4月12日上市,其集成开发环境(IDE)的界面被重新设计和组织,变得更加简单明了。VisualStudio2010同时带来了NETFramework4.0、MicrosoftVisualStudio2010CTP(CommunityTechnologyPreview--CTP),并且支持开发面向Windows7的应用程序。MicrosoftVisualStudio2010采用拖曳式便能完成软件的开发。简简单单的操作便可以实现一个界面的生成。但拖曳的界面,也应当有相应的代码来实现功能。MicrosoftVisualStudio2010支持C#、C++、VB。可以快速实现相应的功能。4SQLServer2005是一个关系数据库管理系统它是由Microsoft推出的。它是一个具备完全Web支持的数据库产品,提供了对可扩展标记语言(XML)的核心支持以及在Internet上和防火墙外进行查询的能力,提供了以Web标准为基础的扩展数据库编程功能。丰富的XML和Internet标准支持允许使用内置的存储过程以XML格式轻松存储和检索数据。SQLServer2005是一个全面的数据库平台,使用集成的商业智能(BI)工具提供了企业级的数据管理。SQLServer2005数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能,使您可以构建和管理用于业务的高可用和高性能的数据应用程序。SQLServer2005数据引擎是本企业数据管理解决方案的核心。此外SQLServer2005结合了分析、报表、集成和通知功能。这使您的企业可以构建和部署经济有效的BI解决方案,帮助您的团队通过记分卡、Dashboard、Webservices和移动设备将数据应用推向业务的各个领域。C/S(客户机/服务器),服务器是网络的核心,而客户机是网络的基础,客户机依靠服务器获得所需要的网络资源,而服务器为客户机提供网络必须的资源。这里客户和服务器都是指通信中所涉及的两个应用进程(软件)。使用计算机的人是计算机的“用户”(user)而不是“客户”(client)。但在许多国外文献中,也经常把运行客户程序的机器称为client(这种情况下也可把client译为“客户机”),把运行服务器程序的机器称为server。所以有时要根据上下文判断client与server是指软件还是硬件。(1)应用服务器运行数据负荷较轻。(2)数据的储存管理功能较为透明。(3)C/S架构的劣势是高昂的维护成本且投资大。C/S结构的缺点:C/S结构的优点是能充分发挥客户端PC的处理能力,很多工作可以在客户端处理后再提交给服务器。对应的优点就是客户端响应速度快。缺点主要有以下几个:而随着互联网的飞速发展,移动办公和分布式办公越来越普及,这需要我们的系统具5有扩展性。这种方式远程访问需要专门的技术,同时要对系统进行专门的设计来处理分布式的数据。客户端需要安装专用的客户端软件。首先涉及到安装的工作量,其次任何一台电脑出问题,如病毒、硬件损坏,都需要进行安装或维护。还有,系统软件升级时,每一台客户机需要重新安装,其维护和升级成本非常高。(大多数没法自动升级而需要人工升级)对客户端的操作系统一般也会有限制。可能适应于Windows98,但不能用于Windows2000或WindowsXP。或者不适用于微软新的操作系统等等,更不用说Linux、Unix等。6第三章系统设计图书管理系统的要求如下:在图书管理系统中,管理员要为每个读者建立借阅账户,并给读者发放不同类别的借阅卡(借阅卡可提供卡号、读者姓名),··内存储读者的个人信息和借阅记录信息。持有借阅卡的读者可以通过管理员(作为读者的代理人与系统交互)借阅、归还图书,不同类别的读者可借阅图书的范围、数量和期限不同,可通过互联网或图书馆内查询终端查询图书信息和个人借阅情况,以及续借图书(系统审核符合续借条件)。借阅图书时,先输入读者的借阅卡号,系统验证借阅卡的有效性和读者是否可继续借阅图书,无效则提示其原因,有效则显示读者的基本信息(包括照片),供管理员人工核对。然后输入要借阅的书号,系统查阅图书信息数据库,显示图书的基本信息,供管理员人工核对。最后提交借阅请求,若被系统接受则存储借阅纪录,并修改可借阅图书的数量。归还图书时,输入读者借阅卡号和图书号(或丢失标记号),系统验证是否有此借阅纪录以及是否超期借阅,无则提示,有则显示读者和图书的基本信息供管理员人工审核。如果有超期借阅或丢失情况,先转入过期罚款或图书丢失处理。然后提交还书请求,系统接受后删除借阅纪录,并登记并修改可借阅图书的数量。图书管理员定期或不定期对图书信息进行入库、修改、删除等图书信息管理以及注销(不外借),包括图书类别和出版社管理。为系统维护人员提供权限管理、数据备份等通用功能。对上述需求分析做出如下总结:(1)图书的基本操作图书的基本情况包括了对于书籍的录入、修改、删除等基本操作:a、制定书籍类别标准,输入类别信息,既类别编号、类别名称、关键词、备注信息等。b、查询、修改书籍类别信息、既类别编号、类别名称、关键词、备注信息等。7c、输入书籍信息,既书籍编号、书籍名称、书籍类别、作者名称、出版社名称、出版日期、关键词、登记日期、备注信息等。(2)借书功能借书功能是对书籍和读者的管理,实现了图书的基本运行功能,它包括了两个方面的a、输入借书信息,既借书信息编号,读书编号,读者姓名,··编号,书籍名称,借书日期,备注信息等。b、查询,修改借书信息,既借书信息编号,读者编号,读者姓名,··编号,书籍名称,借书日期,备注信息等。(3)还书功能还书信息功能和借书信息功能有类似的地方,它也包括了两个方面的内容:a、输入还书信息,既还书信息编号、读者编号、读者姓名。·籍编号、书籍名称、借书日期、还书日期、备注信息等。b、查询和修改,既还书信息编号、读书编号、读者姓名。·籍编号、书籍名称、借书日期、还书日期、备注信息等。(1)系统安全、可靠;(2)功能齐全;(3)操作方便、界面友好;(4)易于维护和扩充。3、面向的用户群体本系统的最终用户有三种:一是管理员(图书管理员和其它管理人员),他们可以删除图书信息、删除或增加学生信息等;二是读者(老师和同学等),可以查看他们的借阅信息。他们都具有一定的计算机应用基础,可以比较熟练操作计算机;三是系统维护人员为计算机专业人员,熟悉数据库、操作系统、网络维护工作。管理员和读者都是经常性用户,维护人员为间隔性用户。本系统的主要开发设计思想:1.系统应符合图书信息管理的要求,满足图书日常管理的工作需要,并达到操作过程8中的直观,方便,实用,安全等;2.系统采用模块化程序设计方法,不仅有利于系统功能的各种组合和修改,还有利于未参与开发的技术维护人员的补充,维护;3.系统应具备数据库维护功能,可以根据用户需求进行数据的添加,删除,修改等操3.3系统配置(1)硬件配置数据库服务器的硬件配置相对要求高一些,内存需要2G以上,CPU频率至少在2.0以上,硬盘250GB,对显卡和显示器无太高相求。对于客户端只需一般配置即可,512MB内存,赛扬CPU都可以流畅的运行(2)软件环境由于.NET目前只能运行在windows平台上,所以服务器操作系统采用WindowsServer2003R2企业版。服务器端需要安装的软件有:Microsoft.NETFramework2.0、SQLServer2005。客户端安装操作系统可以选择WindowsXP,同时安装Microsoft.NETFramework2.0和本软件。3.4系统功能模块设计画出功能模块图是软件开发过程中的一个重要环节,它将显示出软件中所要实现的各种功能,并分类,然后程序员和设计师根据功能模块图来通过代码具体实现这些功能。3.4.1本系统的功能模块有:(1)借阅信息管理模块(a)读者借阅历史:读者可以查看自己的所有借书记录。(b)读者当前借阅:读者查看自己目前所借阅图书情况。(c)读者借阅过期催还:读者查看自己是否有过期未还图书。(2)书籍信息管理模块(a)图书借阅:普通管理员实现用户对图书的借阅。(b)图书归还:普通管理员实现对图书的归还。(c)添加图书:高级管理员实现添加图书信息。9借阅信息管理系统管理读者信息管理书籍信息管理用户管理密码借阅信息管理系统管理读者信息管理书籍信息管理用户管理密码管理还书信息管理借书信息管理设置书籍信息设置读者种类设置读者信息设置书籍种类(3)读者信息管理模块(a)读者登录:读者通过管理人员提供的用户名和密码进行登录,登录系统后可以修(b)读者信息:读者可以查看自己的信息,并可以对自己的联系方式进行修改。(4)系统模块(a)管理员登录:对于图书馆管理人员,通过管理员登录页面进入系统,分为两个权限,高级管理员可以实现对用户的维护和图书的维护,普通管理员可以实现图书的借阅与归还。(b)添加用户:高级管理员实现添加用户信息。(c)用户维护:高级管理员实现添加图书信息。(d)修改密码:此功能为公共功能,所有用户都可以使用此功能进行秘密的修改。系统的功能模块结构图如下图所示:3.4.2系统的用例图用例图(UserCase)被称为参与者的外部用户所能观察到的系统功能的模型图,呈现了一些参与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行本系统完整的用例图如下图所示:图书归还借阅管理员图书借阅Xinclude>><<imelude>>补办借阅证<include×<<include>>图书管理修改图书信息基本值息录入读考种类催息管理基本注息录入书箱类别性息管理书群整记基本借息录入书解值息管理要者借息管理借阅信息录入书籍德息返回借阅性息营理数据库技术在计算机软件邻域研究中一直是非常重要的主题,产生于60年代,30多年来数据库技术得到了迅速发展,并已形成较为完整的理论体系和一大批实用系统[4]。并且,近年来,随着WorldWideWeb(WWW)的猛增及Internet技术的迅速发展,使得数据库技术之时成为最热门技术之一。(1)概念结构设计对于图书管理信息系统来说,概要设计是对读者,图书以及图书管理人员的一些大概分析,以数据流程图和数据字典提供的信息为依据,运用信息模型工具,发挥开发人员的综合想象能力,建立图书管理系统的概念模型。通过对图书管理系统的分析,可以得出该系统涉及三个实体:读者、图书、管理员。读者和书籍关系的主要信息是由读者种类表概括的,它使得我们能够更加明朗的看到了读者的具体情况。读者的各种情况在读者信息很具体的介绍了,包括了电话号码,家庭地址,电子邮件等等,这让我们能很清楚的查询出来每名读者的情况。所得的概念模型用E-R图表示,如下姓名ID电话邮件权限读者ISBN价图书借还书日期权阻ID姓名(2)逻辑结构设计逻辑结构设计的主要工作是将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式。与此同时,可能还需为各种数据处理应用领域产生相应的逻辑子模式。这一步设计的结果就是所谓“逻辑数据库”。本网站采用SQLServer2005,表结构如下表所示:表1:管理员表(bookadmin)序号字段名数据类型长度是否主键备注1varchar是账号2pwdvarchar否密码3namevarchar否姓名4否权限(管理员、普通用户)表2:图书信息表(bookinfo)序号字段名数据类型长度是否主键备注1bookcode是图书ID,自动增加,主键2bookname否书名3否类型4否作者5否出版社68否出版时间7bookclassify否分类8booksubject否主题9bookindex否索取号bookprice7否价格bookpagenum4否页数bookseries否系列1bookdescription否描述表3:图书借阅表(borrowandback)序号字段名数据类型长度是否主键备注14是图书借阅ID,自动增加:主键2readeridvarchar否用户编号3Bookcode4否图书编号4borrowTime8否借阅时间5ygbackTime8否应还时间或还书时间6borrowoper4否借阅状态(3)数据库的实施数据库的实施是指使用具体的DBMS创建数据库。下面是使用T-SQL语句创建数据库createtableBookadmin(idvarchar(50)primarykey,pwdvarchar(50)notnull,namevarchar(50)notnull,rolesintcheck(roles=1orroles=2)--1代表管理员,2代表普通借阅者)createtableBookinfo(bookcodeintidentity(1,1)primarykey,booknamevarchar(50)notnull,booktypevarchar(50)notnull,authorvarchar(50)notnull,pubnamevarchar(50)notnull,inTimedatetimedefaultgetdate(),bookclassifyvarchar(50)notnull,bookindexvarchar(50)notnull,bookpricefloatnotnullcheck(bookprice>0),bookpagenumintnotnullcheck(bookpagenum>0),bookseriesvarchar(50)notnull,bookdescriptionvarchar(1000)notnull)createtableBorrowandback(idintidentity(1,1)primarykey,bookcodeintnotnull,ygbacktimedatetime,borrowoperintcheck(borrowoper=lorborrowoper=2)--1第四章系统实施本系统定义了一个核心类,用来访问数据库,代码如下:classDBHelppublicDBHelp(){I/TOD0:在此处添加构造函数逻辑///</summary>{boolresult=false;tryXmlDocumentxmlDoc=newXmIDocument();xmlDoc.Load("Config.xml");XmlNoderoot=xmlDoc.SelectSingleNode("SQLServer");stringcon="server="+root.ChildNodes[0].InnerText+";uid="+root.ChildNodes[1].InnerText+";pwd="+root.ChildNodes[2].InnerText+"~人(database=BookMis";~人(mycon=newSqIConnection(con);if(mycon.State==ConnectionState.Closed)result=true;1freturnresult;publicvoidcloseDB()if(mycon.State==ConnectionState.Open)mycon.Close();/1<paramname="sql"></param>///<returns></returns>publicintupdateDB(stringsql)inti=0;if(setDB()){cmd=newSqlCommand(sql,mycon);i=cmd.ExecuteNonQuery();closeDB();returni;///</summary>/1l<paramname="sql"></param>publicintfindData(stringsql)(cmd=newSqICommand(sql,mycon);da=cmd.ExecuteReader();{returni;///把数据库里面的数据显示到控件中(执行select命令)/1<paramname="sql"></param>///<returns></returns>publicDataSetbindData(stringsql,stringtableName)DataSetds=newDataSet();adp=newSqIDataAdapter(sql,mycon);ad/|/<1summary>/<paramname="sql"></param>///<returns></returns>publicSqlDataReaderfindDD(stringsql){cmd=newSqICommand(sql,mycon);dareturnda;下面给出系统模块的部分截图和代码。下图是系统模块的登录界面:登录也)下图是用户信息录入界面:privatevoidbutton1_Click(objectsender,EventArgse)/添加if(this.textBox1.Text.Trim().Length>0)if(this.textBox2.Text.Trim().Length>0){stringuid=this.textBox1.Text.Trim();stringname=this.textBox2.Text.Trim();stringrole=boBox1.SelectedItem.ToString();intk=0;{k=1;elseif("普通用户"==role){k=2;values('"+uid+",123456,"+name+'","+k+")";DBHelpdb=newDBHelp();tryinta=db.updateDB(sqI);{MessageBox.Show("用户:"+uid+"添加成功!默认的密码BoxButtons.OK,MessageBoxIcon.Information);this.textBox1.Clear();this.textBox2.Clear();this.textBox1.Focus();{MessageBox.Show("信息录入失败!","警告提示"MessageBoxButtons.OK,MessageBoxIcon.Warninthis.textBox2.Focus();{MessageBoxButtons.OK,MessageBoxIcon.Error);this.textBox2.Focus():}{MessageBox.Show("请输入姓名!"."·告提示"MessageBoxButtons.OK,MessageBoxIcon.Warning);this.textBox2.Focus();}{MessageBox.Show("请输入账号!","警告提示",MessageBoxButtons.OKMessageBoxIcon.Warning);this.textBox1.Focus();}}4.2图书信息管理模块下面给出图书信息管理模块的部分界面和代码。下图是图书检索功能的界面:*题模Fent小要书题模Fent小要书ttmmprivatevoidbutton1_Click(objectsender,EventArgse)//查找数据if(this.checkBox1.Checked==truel|this.checkBox2.Checked==true|{if(this.checkBox1.Checked==true){sql=sql+"booknamelike'%"+this.textBox1.Text.Trim)+"%'";elseif(this.checkBox2.Checked==true)sql=sql+"authorlike'%"+this.textBox2.Text.Trim)+"%";}elseif(this.checkBox3.Checked==true){sql=sql+"pubnamelike'%"+this.textBox3.Text.Trim)+"%";}elseif(this.checkBox1.Checked==true&&this.checkBox2.Checked==true){sql=sql+"booknamelike'%"+this.textBox1.Text.Trim()+"%'andauthorlike'%"+this.textBox2.Text.Trim)+"%'";}elseif(this.checkBox1.Checked==true&&this.checkBox3.Checked==true)sql=sql+"booknamelike'%"+this.textBox1.Text.Trim()+"%'andpubnamelike'%"+this.textBox3.Text.Trim()+"%";elseif(this.checkBox2.Checked==true&&this.checkBox3.Checked==true){sql=sql+"authorlike'%"+this.textBox2.Text.Trim()+"%'andpubnamelike'%"+this.textBox3.Text.Trim()+"%'";elseif(this.checkBox1.Checked==true&&this.checkBox2.Checked==true&&this.checkBox2.Checked==true)sql=sql+"booknamelike'%"+this.textBox1.Text.Trim()+"%'andauthorlike'%"+this.textBox2.Text.Trim()+"%'andpubnamelike'%"+this.textBox3.Text.Trim()+"%'";}this.BindData(sql);}{MessageBox.Show("请选择一种查询方式!","信息提示",MessageBoxButtons.OK,M

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论