基于C图书管理系统的设计与实现.docx
- 文档编号:23251241
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:21
- 大小:428.76KB
基于C图书管理系统的设计与实现.docx
《基于C图书管理系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于C图书管理系统的设计与实现.docx(21页珍藏版)》请在冰豆网上搜索。
基于C图书管理系统的设计与实现
------------前言------------
随着科技的发展和社会的进步,计算机已成为人们生活和工作中的得力助手。
特别是现代Internet的web技术的发展大大地推动了社会各个方面的发展。
设计一个现代的图书管理系统势在必行。
图书馆在正常运营中总是面对大量的读者信息、书籍信息以及两者相互作用产生的借书信息、还书信息。
因此需要对读者资源、书籍资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,有利于提高管理效率
图书馆管理系统是常用的信息管理系统之一,它的实现主要由两个部分组成:
数据库建立与维护和前台应用程序的开发。
数据库要求非常强的一致性与完整性及安全性,而前台应用程序则要求功能实现完善。
简单易用。
Access具有比较完善的功能。
而VisualC#.NET是专门针对Microsoft的.NET战略而推出的语言,它对.NETFramework和ASP.NET具有最为全面的支持。
综合各个方面选择C#作为程序设计语言和Access数据库。
通过对中小型图书馆的需求分析,实现了对图书馆管理系统的功能模块划分,数据库模式分析,并进一步设计了数据库结构和应用程序。
由此得到了一个基本满足读者、图书馆管理员和高级管理者需求的图书馆系统。
基于C#图书管理系统的设计与实现
【摘要】图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。
图书馆若采取手工方式对图书资料和图书借阅情况进行人工管理,由于资料繁多,手工处理的工作量大,整体管理效率低下,也不方便读者对图书资料的查阅。
为了提高日常的图书管理效率,本文以C#为环境,基于ACCESS数据库,开发了此应用软件,本系统适用于各类小型图书馆,以及各类大中专院校、中小学校、企事业单位的图书馆和资料室的现代化综合管理
【关键词】图书管理系统;C#;ASP.NET;Access数据库
1.绪论
当今时代是飞速发展的信息时代。
在各行各业中离不开信息处理,这证实计算机被广泛应用于信息管理系统的环境。
计算机的最大好处在于利用它能够进行信息管理。
使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。
尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。
计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。
本系统就是为了管理好图书馆信息而设计的。
图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现金,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。
根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。
数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。
总的来说,缺乏系统,规范的信息管理手段。
尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。
数据处理手工操作,工作量大,出错率高,出错后不易更改。
图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作乱而复杂;一般借阅情况是记录在借阅证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如要再进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。
如要对很长时间以前的图书进行更改就更加困难了。
基于这些问题,我认为有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书馆的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。
随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效、规范和实用的图书管理系统,对图书资料进行集中统一的管理。
系统开发的总的设计目标是实现图书管理的系统化、规范化和自动化,实现对图书资料的集中统一的管理。
通过该系统可以实现图书信息的检索、图书借阅管理、用户个人信息的管理等各种功能,实现图书管理的快捷、高效。
2.图书管理系统的现状与设计目标
2.1现状
国际上图书管理系统前景看好,而国内的在线图书,数量上也有了新的增长。
数字图书,各高校的电子图书室等在线图书的出现,证明了在线图书管理系统的前景。
当今世界,科学技术突飞猛进。
以计算机多媒体和网络技术为代表的信息技术,以惊人的发展速度,迅速在各领域运用,教育也面临信息技术的挑战。
图书馆信息管理系统建设作为学校教育现代化的基础工程已引起了我国教育行政部门和学校的高度重视。
上个世纪90年代初美国科学家首次提出数字图书馆(DigitalLibrary)这一概念以来,全球开展数字图书馆研究和实践已近十几个年头。
我国图书馆报界、IT业界自1995年左右开始对这一领域跟踪研究,1998年开始全面升温,迄今无论是在对数字图书馆的认识,还是理论研究、关键技术准备方面,都取得了很大的进展。
国内数字图书馆的实践活动大致可分为以下三种类型:
资源服务器型、服务研究型和联合建设型。
虽然,从严格意义上讲,资源服务型不能算是数字图书馆,但它的网上信息服务目前已在大多数图书馆开展,是现阶段我国图书馆情报界提供网上数字服务的主要形式。
2.2设计目标
本图书馆公共检索系统主要面向于现今广大图书馆工作单位的图书管理员在对图书及用户进行管理时所采用的应用系统,通过图书管理员的管理实现图书管理、读者管理、借阅情况查询、图书借还等功能,这样以来当读者登录系统后即可实现图书检索还可以实现对图书的借阅、归还等功能。
系统充分结合了传统和现代的图书馆管理系统和图书馆检索系统特点,使系统在既符合应用系统相关要求的同时又满足图书馆单位个性化的需求。
可以方便灵活的使用本系统为读者服务。
利用数据库技术实现对图书馆的数据和信息系统化、程序化的组织管理,将以往低效、功能简单的传统图书馆管理系统和图书馆检索系统合起来发展成为依靠计算机自动化技术来进行图书馆管理、图书信息检索、图书借阅等操作合为一体的高级管理软件。
通过对此系统的实施、运行,管理从而方便、快捷、准确地进行读者借还、图书信息检索以及图书管理,此外通过查看图书借阅排行榜即可了解到本馆各类书籍的受欢迎程度,为读者以提供良好的信息帮助供其进行参考,以便能提高该系统在图书馆系统中的市场竞争力和服务的质量。
3.相关技术介绍
本次设计首先通过查阅资料对图书领域的基本知识有一定的认识,了解用户各个方面的需求,包括现有的以及将来的可能增加的需求。
然后按照数据库设计的六个阶段进行了设计与实现:
需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库的运行和维护。
3.1C#简介
Csharp(又被简称为"C#")是微软公司在2006年6月发布的一种新的编程语言,并定于在微软职业开发者论坛(PDC)上登台亮相.C#是微软公司研究员AndersHejlsberg的最新成果.C#看起来与Java有着惊人的相似;它包括了诸如单一继承,界面,与Java几乎同样的语法,和编译成中间代码再运行的过程.但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司.NETwindows网络框架的主角。
C#拥有比C,C++或者Java更广泛的数据类型.这些类型是bool,byte,ubyte,short,ushort,int,uint,long,ulong,float,double,和decimal.象Java一样,所有这些类型都有一个固定的大小.又象C和C++一样,每个数据类型都有有符号和无符号两种类型.与Java相同的是,一个字符变量包含的是一个16位的Unicode字符.C#新的数据类型是decimal数据类型,对于货币数据,它能存放28位10进制数字。
3.2数据库Access
Access是微软公司推出的基于Windows的桌面关系数据库管理系统(RDBMS,即RelationalDatabaseManagementSystem),是Office系列应用软件之一。
它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通用户不必编写代码,就可以完成大部分数据管理的任务。
Access能够存取Access/Jet、MicrosoftSQLServer、Oracle(甲骨文软件公司),或者任何ODBC兼容数据库内的资料。
熟练的软件设计师和资料分析师利用它来开发应用软件,而一些不熟练的程序员和非程序员的"进阶用户"则能使用它来开发简单的应用软件。
Access具有很多优点:
存储方式简单易于维护管理、界面友好易操作、集成环境处理多种数据信息、支持广泛易于扩展弹性较大等。
总之,Access是一个既可以只用来存放数据的数据库,也可以作为一个客户端开发工具来进行数据库应用系统开发;即可以开发方便易用的小型软件,也可以用来开发大型的应用系统。
3.3Asp.NET简介
ASP.NET是统一的Web应用程序平台,它提供了为建立和部署企业级Web应用程序所必需的服务。
ASP.NET为能够面向任何浏览器或设备的更安全的、更强的可升级性、更稳定的应用程序提供了新的编程模型和基础结构。
ASP.NET为Web应用程序提供了默认的授权和身份验证方案,开发人员可以根据应用程序的需要很容易地添加、删除或替换这些方案。
通过简单地将必要的文件复制到服务器上,ASP.NET应用程序即可以部署到该服务器上,不需要重新启动服务器,甚至在部署或替换运行的已编译代码时也不需要重新启动。
ASP.NET是运行在服务器上的已编译代码。
与传统的ActiveServerPages(ASP)不同,ASP.NET能利用早期绑定、实时(JIT)编译、本机优化和全新的缓存服务来提高性能。
详细信息。
根据应用程序的需要,ASP.NET可以缓存页数据、页的一部分或整个页。
缓存的项目可以依赖于缓存中的文件或其他项目,或者可以根据过期策略进行刷新。
ASP.NET在内部使用Unicode以表示请求和响应数据,可以为每台计算机、每个目录和每页配置国际化设置。
ASP.NET支持任何设备上的任何浏览器。
开发人员使用与用于传统的桌面浏览器相同的编程技术来处理新的移动设备。
ASP.NET被设计成可扩展的、具有特别专有的功能来提高群集的、多处理器环境的性能。
4.系统设计
4.1系统需求分析
软件需求分析是软件开发期的第一个阶段,也是关系到软件开发成败的关键步骤。
准确、完整和规范化的软件需求是软件开发成功的关键。
它的重要性在于让用户完全清楚对软件系统的确切要求,它不是确定系统怎样完成它的工作,而仅仅是确定系统必须完成哪些工作。
也就是对目标系统提出完整、准确、清晰、具体的要求。
反复的调查和研究,了解数据库的组织的详细情况,了解管理的业务流程等系统需求,它对于设计好概念模型是至关重要的。
一个好的管理系统可以将我们的管理员从繁重的工作中解脱出来,使工作更轻松。
而需求分析的好坏直接影响到系统设计的好坏。
(1)管理员对功能的需求:
●注册读者的查询、删除、添加
●图书的查询、删除、新增
●借阅情况的查询
(2)读者对功能的需求:
●普通读者能够注册
●普通读者对图书的浏览
●图书的查询
●图书的借阅和归还
系统的设计应达到以下要求:
1)运用ASP.NET技术开发系统界面,用ACCESS完成数据库的建立,数据表的设计的设计。
2)界面美观、简洁,易于操作,清楚体现其功能。
3)系统要求稳定,功能要基本满足在线图书馆的需要。
4)毕业论文严格按学校的要求撰写。
5)系统要求具有一定的可扩展性。
4.2可行性分析
本系统主要实现对图书馆信息的管理,主要功能为管理有关读者,书籍,借阅和管理者的信息等。
本系统结构分为读者信息管理模块,书籍信息管理模块,借阅信息管理模块,管理者信息管理模块。
读者信息管理部分有两方面的功能,可以浏览读者的信息,可以对读者信息进行维护。
书籍信息管理可以浏览书籍的信息,可以对书籍信息进行维护。
借阅信息管理可以显示当前数据库中书籍借阅情况,可以对借阅信息进行维护。
管理者信息管理可以显示数据库中管理者的情况,可以对管理者信息进行维护。
可见,本系统并不复杂,主要解决的问题是利用关键字对数据库进行查询。
4.3运行环境
操作系统:
WindowsXP
开发技术:
C#
数据库:
:
MicrosoftAccess2003
开发工具:
MicrosoftAccess2003、VisualStudio2005等
4.4系统功能模块设计
图书管理系统主要由图书管首页模块、读者注册/登录模块、读者借书/还书模块、图书管理模块、读者管理模块,如图4.1系统功能模块图。
图4.1系统功能模块图
各功能模块详细介绍如下:
Ø图书馆首页模块:
登录之后可以浏览本图书馆内的所有图书
Ø读者注册/登录模块:
读者必须通过注册之后才能登录到图书借阅页面进行图书的查询和借阅
Ø读者借书还书模块:
读者通过查询找到需要借阅的图书并借阅和归还
Ø图书管理模块:
管理者登录之后可以对读书进行查询、删除和添加
Ø读者管理模块:
管理者对读者信息进行查询和新增
在线图书馆系统主要是实现对图书的查询、借阅和归还的功能,读者必须注册之后才能查询和借还图书。
不注册的用户则只能登录主界面对图书整体进行浏览,不能分类查询,也不能查询和借还图书。
管理者可以对图书、读者以及借阅情况进行查询与管理经过分析得到流程图,如图4.2流程图
图4.2流程图
5.系统功能设计
5.1数据库的设计与分析
结合实际情况以及对用户的需求分析,该在线图书馆的数据库中主要数据表的表结构如下:
图书信息表(图书编号,图书名称,图书类别,作者,出版社,价格)
读者信息表(读者ID,用户名,密码,性别)
借阅情况表(读者ID,图书编号,图书名称,图书类别,作者)
表5.1图书信息表
字段名称
数据类型
长度
默认值
允许空
字段描述
图书编号
文本
50
否
主键,外键
图书名称
文本
50
否
图书类别
文本
50
是
作者
文本
50
是
出版社
文本
50
是
价格
货币
50
是
表5.2读者信息表
字段名称
数据类型
长度
默认值
允许空
字段描述
读者ID
文本
50
否
主键,外键
用户名
文本
50
是
密码
文本
50
是
性别
文本
50
是
只能为“男”或“女”
表5.3借阅情况表
字段名称
数据类型
长度
默认值
允许空
字段描述
读者ID
文本
50
否
主键
图书编号
文本
50
否
主键
图书名称
文本
50
是
图书类别
文本
50
是
作者
文本
50
是
5.2系统实现
5.2.1Access数据库的连接
ASP.net连接数据库前要先引入命名空间代码如下:
usingSystem.Data.Oledb;
通过Connection对象来连接数据库,代码如下:
OleDbConnectionconn=newOleDbConnection();
conn.ConnectionString="Provider=Microsoft.Jet.OleDb.4.0;"+"DataSource="+Server.MapPath("App_Data/数据库.mdb");//设置连接字符串
conn.Open();//打开数据库
5.2.2网站首页
用户进入网站之后可以进行图书的浏览,注册成功之后可以登录然后对图书进行查询、借阅和归还。
管理者登录可对注册读者、图书以及借阅情况进行管理。
网站如图6.1主界面所示:
图5.1主界面
5.2.3管理者登录
管理员登录:
if(txtUsername.Text=="管理员"&&txtPassword.Text=="666666")
{
Session["pass"]="admin";
Response.Redirect("管理者页面.aspx");
}//管理员密码输入正确则跳转到管理者页面
会员登录:
先要连接数据库
if(txtUsername.Text==dr["用户名"].ToString()&&txtPassword.Text==dr["密码"].ToString())
{
strUsername=dr["用户名"].ToString();
strPassword=dr["密码"].ToString();
break;
}//输入的用户名和密码与数据库中的相同则将值传给strUsername,之后根据strUsername有无值判定是否可以登录
5.2.4注册
普通用户必须注册之后才能查询和借阅图书,在注册时通过验证控件设置了几个不为空的,当输入为空或格式不正确时会报错,提醒你正确必须填写相关内容,用户注册效果图如图5.2读者注册所示。
该模块的功能有:
1)验证注册用户的信息。
2)将验证成功的用户信息插入到读者信息表中。
实现过程如下:
1)当用户注册时,注册信息的验证主要通过验证控件RequiredFieldValidator和CompareValidator来实现。
2)验证通过后,通过SQL语句将信息插到读者信息中,跳转到主页面。
实现代码如下:
stringstrVal="'"+TxtNo.Text+"','"+TxtName.Text+"','"+TxtPassword.Text+"','"+TxtSex.Text+"'";
stringstrSQL="insertinto读者信息(读者ID,用户名,密码,性别)values("+strVal+")";//定义SQL语句的内容
OleDbCommandcom=newOleDbCommand(strSQL,conn);//声明一个Command对象com,该对象使用conn定义的连接,执行strSQL定义的SQL语句
com.ExecuteNonQuery();//调用ExecuteNonQuery()方法执行无返回的insert语句
conn.Close();
Response.Write("
');");
图5.2读者注册
5.2.5读者登录
读者登录之后可以对图书进行分类查询,该查询用到了RadioButtonList控件和GridView控件对数据库的绑定,在TexeBox中输入关键字进行查询,若无符合此条件的图书将做出提示。
单击“显示全部”按钮将在下方显示所有图书。
如图6.3读者对图书的查询,其查询实现代码如下:
strSQL="select*from图书信息where"+RadioButtonList1.SelectedItem.Text+"like'%"+TextBox1.Text+"%'";//筛选出符合条件的图书之后连接到所需的数据库
OleDbDataReaderdr=com.ExecuteReader();//使用com对象的ExecuteReader()方法创建一个DataReader对象dr
GridView1.DataSource=dr;//设置dr为GridView控件的数据源
GridView1.DataBind();//将GridView控件绑定到数据源
conn.Close();//关闭数据库
图5.3读者对图书的查询
5.2.6借阅归还
读者查询出自己喜欢的书籍后可以进行借阅,还可以将自己所借图书归还。
填写自己需要借还图书的详细信息,单击借阅之后会将信息存储到数据库借阅情况表中,从而实现图书的借阅。
图书的归还与该功能的实现类似,只是从借阅情况表中删除该条记录。
界面如图5.4图书的借阅与归还。
其代码如下:
图书的借阅:
OleDbConnectionconn=newOleDbConnection();
conn.ConnectionString="Provider=Microsoft.Jet.OleDb.4.0;"+"DataSource="+Server.MapPath("App_Data/数据库.mdb");
conn.Open();
stringstrVal="'"+TextBox2.Text+"','"+TextBox3.Text+"','"+TextBox4.Text+"','"+TextBox5.Text+"','"+TextBox6.Text+"'";
stringstrSQL="insertinto借阅情况(读者ID,图书编号,图书名称,图书类别,作者)values("+strVal+")";
OleDbCommandcom=newOleDbCommand(strSQL,conn);
com.ExecuteNonQuery();
conn.Close();
Response.Write("
');");
图书的归还:
stringstrDel="deletefrom借阅情况where读者ID='"+TextBox2.Text+"'"+"and图书编号='"+TextBox3.Text+"'";
OleDbCommanddelCom=newOleDbCommand(strDel,conn);
OleDbDataAdapterda=newOleDbDataAdapter();
conn.Open();
da.DeleteCommand=delCom;
da.DeleteCommand.ExecuteNonQuery();
conn.Close();
Response.Write("
');");
图5.4图书的借阅与归还
5.2.7添加新记录
管理者登录后对图书信息、读者信息、借阅情况进行管理。
管理员对读者和图书添加新记录需要在表中依次填入所需信息,单击添加按钮,然后将该信息存储到图书信息表中或读者信息表中,从而达到添加记录的目的。
如图4.5添加新记录,其代码的实现如下:
stringst
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 图书 管理 系统 设计 实现