JAVA图书馆管理系统_第1页
JAVA图书馆管理系统_第2页
JAVA图书馆管理系统_第3页
JAVA图书馆管理系统_第4页
JAVA图书馆管理系统_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、1 系统开发环境1.1 开发背景随着社会的发展,每天都有数以十万、百万计的图书/期刊问世,图书馆的图书和期刊也在迅速的增加。面对这些数量庞大的图书管理,需要处理复杂的读者信息,频繁的借还图书信息,图书增减信息,如果仍然采用传统的人工管理方法,既费时费力,更容易出错1。信息技术的发展给图书的管理带来了新的机遇。使用图书管理系统对图书馆进行管理,这不仅解决了一系列的弊端和问题,更加提高了工作效率。1.2 开发工具1.2.1 ASP.NET语言的发展1996年,ASP1.0诞生,它的诞生给Web开发界带来了福音。它作为IIS的附属产品免费发送,并且不久就在Windows平台上广泛使用2。早期的Web

2、开发是十分繁琐的,以至于要制作一个简单的动态页面都需要编写大量的代码才能完成,而ASP却允许使用VBScript这样简单的脚本语言,执行嵌在HTML网页中的代码,在进行程序设计时可以使用它的内部组件来实现一些高级的功能。它的最大贡献在于它的ADO(ActiveX Data Object),使得对数据库的操作十分简单,进行动态网页设计也变成了一件轻松的事情3。1998年,微软发布了ASP2.0。与ASP1.0的主要区别在于它的外部组件是可以初始化的。这样,在ASP程序内部的所有组件都有了自己的独立内存空间,并可以进行事务处理。2000年,随着Windows2000的发行,它内带的ASP3.0也开

3、始流行。与ASP2.0的主要区别是它使用了COM+,并且效果提高,版本稳定。2000年7月,ASP.NET发行。ASP.NET不是ASP的简单升级,而是微软推出的新一代Active Server Pages。ASP.NET是微软发展的新的体系结构.NET的一部分,其中全新的技术架构会让每个人员的编程生活变得更为简单,Web应用程序的开发人员使用这个开发环境可以实现更加模块化、功能更强大的应用程序的编程4。1.2.2 ASP.NET语言的特色网页的交互作用是通过CGI来实现的。CGI程序的伸缩性不是很理想,因为它为每一个正在运行的CGI程序开一个独立进程。解决方法就是将经常用来编写CGI程序的语

4、言的解释器编译进你的Web服务器5。ASP.NET 是MicroSoft.NET 的一部分,作为战略产品,微软为ASP.NET设计了这样一些策略:易于写出结构清晰的代码,代码易于重用和共享,可用编译类语言编写等等,目的是让程序员更容易的开发出Web 应用程序,满足计算向Web 转移的战略方向的需要6。ASP.NET不仅仅是 Active Server Page (ASP) 的下一个版本,而且是一种建立在通用语言上的程序构架,能被用于一台Web服务器来建立强大的Web应用程序。ASP.NET提供许多比现在的Web开发模式强大的优势。1.2.3 SQL Server 2000SQL Server是

5、一个关系数据库管理系统,它最初是由Microsoft Sybase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本,在Windows NT推出后Microsoft与Sybase在SQL Server的开发上就分道扬镳了7。Microsoft将SQL Server移植到Windows NT系统上,专注于开发推广SQL Server的Windows NT版本,Sybase则较专注于SQL Server在UNIX操作系统上的应用。在本书中介绍的是Microsoft SQL Server以后简称为SQL Server或MS SQL Server。SQL Server 2

6、000是Microsoft公司推出的SQL Server数据库管理系统的较新版本,该版本继承了SQL Server 7.0版本的优点同时又比它增加了许多更先进的功能,具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行Microsoft Windows 2000的膝上型电脑到运行Microsoft Windows 2000的大型多处理器的服务器等多种平台使用8。1.3应用环境1.3.1硬件环境(1) 能够运行Windows系统的高档PC台式机,笔记本电脑。1.3.2软件环境:(1) 中文Windows XP 操作系统。(2) Microsoft Visual Studio 2005集

7、成开发环境。(3) IIS5.1服务器。(4) Microsoft SQL Server 2000数据库服务器。2 系统需求分析2.1系统目标(1) 设计界面友好、美观、数据存储安全、可靠。(2) 基本信息设置保证图书信息和读者信息的分类管理。(3) 强大的查询功能,保证数据查询的灵活性。(4) 实现对图书借阅、续借、归还过程的全程数据信息跟踪。(5) 设置读者借阅和图书借阅排行榜,为图书管理提供真实的数据信息。(6) 提供借阅到期提醒,使管理者可以及时了解到期的图书借阅信息。(7) 提供管理员修改自己密码的功能,保证系统的安全性。(8) 提供灵活、方便的权限设置功能,使整个系统的管理分工明确

8、。(9) 采用人机对话的操作方式,方便管理员的日常操作。(10)系统最大限度地实现了易维护性和易操作性。2.2流程图根据系统的需求分析和可行性分析,画出图书馆管理系统的系统流程图,如图2-1所示。读者图书借阅图书续借图书归还管理员管理图书档案管理读者档案信息读者档案获取读者信息图书档案图书借阅档案根据读者信息获取借阅信息完成图书续借完成图书借阅归还相关图书图书归还档案图2-1 系统流程图2.3系统功能结构根据图书馆管理系统的特点,可以将其分为系统设置、读者管理、图书管理、图书借还、系统查询等5个部分,其中各个部分及其包括的具体功能模块如图2-2所示。图书馆管理系统系统设置读者管理图书管理图书借

9、还系统查询图书馆信息管理员设置书架设置读者类型管理读者档案管理图书类型管理图书档案管理图书借阅图书续借图书归还图书档案查询图书借阅查询更改口令推出系统 图2-2 系统功能模块2.4文件夹结构组织系统完成后的文件夹结构组织,如图2-3所示。图2-3 系统文件夹3 数据库设计 通过对系统进行需求分析、系统流程图以及系统功能结构的确定,设计数据库,名称为db_tsrj,共9个表11。(1)管理员权限设置表tb_admSet,如表3-1所示。 只有系统分配的用户才能操作图书馆管理系统,而用户的权限又各不相同。表3-1 管理员权限设置表字段名数据类型长度主键否描述userNameVarchar80否管理

10、员名称systemSetbit1否系统设置readerManagebit1否读者管理bookManagebit1否图书管理bookBorrowbit1否图书借还systemSearchbit1否系统查询(2)图书借阅表tb_bookBorrow,如表3-2所示。图书借阅信息实体,用于存储所有图书借阅情况的信息,以准确地记录每本图书的借阅信息。表3-2 图书借阅表字段名数据类型长度主键否描述bookBarcodevarchar50否图书条形码bookNamevarchar20否图书名称borrowTimedatetime8否借阅日期returnTimedatetime8否应还日期readerBa

11、rCodevarchar50否读者条形码readerNamevarchar20否读者姓名isReturnbit1否是否归还(3)书架信息表tb_bookcase,如表3-3所示。图书馆对图书的分类,通常是将不同类型的图书分别放置在相应类型的书架上。书架信息实体,用于存储图书馆中所有的书架信息。表3-3 书架信息表字段名数据类型长度主键否描述bookcaseIDInt4是书架编号bookcaseNamevarchar80否书架名称(4)图书信息表tb_bookInfo,如表3-4所示。不同的图书,会有不同的图书信息。对这些图书信息进行详细的记录,方便了图书的分类和查询。图书信息实体,用于存储所有

12、图书的相关信息。表3-4 图书信息表字段名数据类型长度主键否描述bookBarCodevarchar100是图书条形码bookNamevarchar100否图书名称bookTypeint4否图书类型bookcaseint4否书架类别bookConcernvarchar100否出版社名称authorvarchar80否作者名称pricemoney8否图书价格borrowSumint4否借阅次数(5)图书类型信息表tb_bookType如表3-5所示。图书馆会有不同类型的图书,为了避免图书归类发生混乱,必须建立一个图书类型信息实体,用于存储图书的类型信息。表3-5 图书类型信息表字段名数据类型长度

13、主键否描述typeIDInt4否图书类型编号typeNamevarchar50否类型名称borrowDayInt4否可借天数(6)图书馆信息表tb_library,如表3-6所示。每个事物都会有其自身的历史背景,图书馆也不例外。为了记录图书馆的历史背景及其相关的信息,需要建立一个图书馆信息实体,用于存储图书馆的有关信息。表3-6 图书馆信息表字段名数据类型长度主键否描述libraryNamevarchar80否图书馆名称curatorvarchar80否馆长名称telvarchar100否联系电话addressvarchar200否联系地址emailvarchar100否电子邮件netvarc

14、har200否网址upbuildTimedatetime8否建馆时间remarkvarchar500否备注(7)读者信息表tb_readerInfo,如表3-7所示。当有读者借阅图书时,要对读者的各项信息进行记录,以方便归还图书和已借阅图书的历史查询,读者信息实体,用于存储所有借阅图书的读者信息。表3-7 读者信息表字段名数据类型长度主键否描述readerBarCodevarchar50是读者条形码readerNamevarchar50否读者名称sexchar10否读者性别readerTypevarchar50否读者类型certificateTypeVarchar50否证件类型certific

15、ateVarchar50否证件号码telVarchar50否联系电话emailVarchar50否电子邮件remarkvarchar500否备注(8)读者类型信息表tb_readerType,如表3-8所示。在读者群体中,会有不同的分类,例如借阅图书的读者可能是教师、学生和市民等,所以对读者人群进行有效的分类是至关重要的。读者类型信息实体,用于存储读者的类型信息。表3-8 读者类型信息表字段名数据类型长度主键否描述idint4是类型编号typevarchar50否类型名称numvarchar50否可借数量(9)管理员信息表tb_user,如表3-9所示。当管理员登录图书馆管理系统时,需要通过登

16、录窗口验证成功后才能进入系统主页。管理员信息实体,用于存储管理员的登录名称和登录密码。表3-9 管理员信息表字段名数据类型长度主键否描述userIdint4是管理员编号userNamevarchar50否管理员名称userPwdvarchar50否管理员密码4 主要模块设计4.1 网站首页设计管理员通过“系统登录”模块验证后,可以登录到图书馆管理系统的主页。系统主页主要包括Banner信息栏、导航栏、借阅排行榜和版权信息等4个部分12。网站首页运行效果,如图4-1所示。 图4-1 网站首页4.2 系统设置4.2.1 图书馆信息图书馆信息记录图书馆的各种相关信息,图书馆信息的E-R图,如图4-2

17、所示。图书馆信息网址建馆时间备注图书馆名称馆长名称联系电话联系地址电子邮件图4-2 图书馆信息E-R图根据图书馆E-R图设计出图书馆信息页面,选择“系统设置”/“图书馆信息”命令,进入到图书馆信息页面,页面运行,如图4-3所示。图4-3 图书馆信息页面4.2.2 管理员设置管理员设置模块主要包括查看管理员列表、添加管理员、管理员权限设置和删除管理员4个功能。选择“系统设置”/“管理员设置”命令,进入到管理员设置页面。在此页面中将显示所有管理员的名称和管理员拥有的权限13。管理员设置页面,如图4-4所示。图4-4 管理员设置页面单击“添加管理员”连接按钮将弹出添加管理员页面对话框,在此对话框中可

18、以添加新的管理员,新添加的管理员默认拥有图书借还权限和系统查询权限,如图4-5所示。 图4-5 添加管理员 图4-6 权限设置单击“权限设置”链接按钮将弹出管理员权限设置,在此对话框中可以设置某一个管理员所拥有的权限,如图4-6所示。单击“删除”按钮可以删除某一个管理员信息。4.2.3 书架设置书架信息设置,可以帮助对图书进行分类,也可以快速进行图书查找。书架信息的E-R图,如图4-7所示。书架信息书架编号书架名称图4-7 书架信息E-R图根据信息E-R图设计出的书架设置。选择“系统设置”/“书架设置”,进入到书架设置页面,页面如图4-8所示。图4-8 书架设置页面在该页面中,单击“添加书架信

19、息”可以添加书架,单击“修改”按钮可以修改已有书架的信息,单击“删除”按钮可以删除空书架,如果该书架有图书,则弹出提示对话框,禁止删除。4.3 图书借还模块在图书借还模块中,主要应该有图书借阅、图书续借和图书归还这3个功能。在图书借阅页面中,输入读者条形码,点击“查找读者”按钮,下面可以显示出系统中已经存在的读者的各种信息。页面设计如图4-9所示。图4-9 图书借阅页面图书续借模块中,根据输入的读者条形码,显示出读者的信息和读者借阅未还的图书信息,如果想续借某本书,则输入图书条形码,单击“查找”,然后在该图书中点击“续借”,该页面的运行效果如图4-10所示。图4-10 图书续借页面图书归还模块

20、中,根据输入的读者条形码,显示出读者的信息和读者借阅未还的图书信息,如果归还某本书,则输入图书条形码,单击“查找”,然后在该图书中点击“归还”,该页面的运行效果如图4-11所示。图4-11 图书归还页面4.4 更改口令模块在该模块中,可以修改管理员的密码,进入到更改口令模块中,输入管理员名称和旧密码,可以重新设置密码。页面运行效果如图4-12所示。图4-12 更改口令页面5 系统功能测试5.1 系统测试的意义 系统测试是系统开发周期中的一个十分重要的环节。在系统开发周期中的各个阶段采取了严格仔细的审查,但是仍然会有很多的错误,在系统运行之前需要对系统的各项功能进行严格的测试,以便使问题及时更早

21、的暴露出来,这样才能在投入使用时减少损失,否则到那时再纠正就会付出更大的代价14。5.2 系统测试内容(1)登录测试正确输入管理员名称和管理员密码,点击“确定”按钮,就会进入到系统首页。点击“关闭”系统则提示是否要关闭当前窗口。(2)图书馆信息测试登录成功后,进入首页面,点击“系统设置”/“图书馆信息”,进入到图书管信息页面,在该页面中显示出图书馆的信息。(3)管理员设置测试点击“系统设置”/“管理员设置”,进入到管理员设置页面,在该页面中可以添加管理员、权限设置和删除三个功能。点击添加管理员,弹出添加管理员对话框,输入系统中已有的登录名称和未有的登录名称,不同的登录密码和确认密码,点击添加,

22、查看效果。(4)书架设置测试点击“系统设置”/“书架设置”,进入到管理员设置页面。在该页面中分别测试添加书架信息,修改和删除三个功能。(5)读者类型管理测试在读者类型管理页面中,分别测试添加读者类型信息管理,修改和删除功能。(6)读者档案管理测试在读者档案管理测试中,有添加读者信息,修改读者信息和删除读者信息者三个功能,在每个功能中输入不同的数据,查看运行效果。(7)图书类型设置测试在图书类型设置的页面中需要分别测试添加图书类型信息,修改和删除功能。(8)图书档案设置测试在该页面中,测试打印图书信息、添加图书信息,修改和删除功能。(9)图书借阅测试在图书借阅中,输入不同的数据,测试查找读者和查

23、找图书功能。(10)图书续借测试在这个页面中,输入不同读者条形码和图书条形码,测试续借功能。(11)图书归还测试在图书归还中,测试归还功能。(12)图书档案查询测试选择不同的查询条件,输入不同的信息,测试搜书功能。(13)图书借阅查询测试选择不同的查询条件,输入不同的信息,测试图书借阅的信息。(14)更改口令测试在该页面中,测试管理员口令的更改。(15)退出系统测试点击退出系统,则进入到登录页面中15。6 代码系统主要代码: 网站首页主要代码:using System;using System.Data;using System.Configuration;using System.Web;u

24、sing System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;public partial class _Default : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if (SessionuserNa

25、me != null) /判断用户是否登录 bindBookInfo(); /调用自定义方法用来绑定图书借阅排行 else Response.Redirect(entry.aspx); /跳转到登录页面 protected void bindBookInfo() string sql = select top 10 * from tb_bookInfo order by borrowSum desc; /设置SQL语句 gvBookTaxis.DataSource = dataOperate.getDataset(sql, tb_bookInfo); /获取图书信息数据源 gvBookTaxi

26、s.DataBind(); /绑定GridView控件 protected void gvBookTaxis_RowDataBound(object sender, GridViewRowEventArgs e) if (e.Row.RowIndex != -1) /判断GridView控件中是否有值 int id = e.Row.RowIndex + 1;/将当前行的索引加上一赋值给变量id e.Row.Cells0.Text = id.ToString();/将变量id的值传给GridView控件的每一行的单元格中 if (e.Row.RowType = DataControlRowTyp

27、e.DataRow) /绑定图书类型 string bookType = e.Row.Cells3.Text.ToString(); /获取图书类型编号 string typeSql = select * from tb_bookType where TypeID= + bookType; SqlDataReader typeSdr = dataOperate.getRow(typeSql); typeSdr.Read(); /读取一条数据 e.Row.Cells3.Text = typeSdrtypeName.ToString(); /设置图书类型 /绑定书架 string bookcase

28、 = e.Row.Cells4.Text.ToString(); /获取书架编号 string caseSql = select * from tb_bookcase where bookcaseID= + bookcase; SqlDataReader caseSdr = dataOperate.getRow(caseSql); caseSdr.Read(); e.Row.Cells4.Text = caseSdrbookcaseName.ToString(); /设置书架 /设置鼠标悬停行的颜色 e.Row.Attributes.Add(onMouseOver, Color=this.st

29、yle.backgroundColor;this.style.backgroundColor=lightBlue); e.Row.Attributes.Add(onMouseOut, this.style.backgroundColor=Color;); 图书馆信息主要代码:using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web

30、.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.SqlClient;public partial class libraryInfo : System.Web.UI.Page protected void Page_Load(object sender, EventArgs e) if (SessionuserName != null) /判断管理员是否登录 if (getSet() /判断是否拥有权限 if (!IsPostB

31、ack) bindLibrary(); else Response.Write(alert(您没有此权限);location=index.aspx;); else Response.Redirect(entry.aspx); /返回到登录页面 protected void btnSave_Click(object sender, EventArgs e) string libraryName = txtLibraryName.Text; string curator = txtCurator.Text; string tel = txtTel.Text; string address = tx

32、tAddress.Text; string email = txtEmail.Text; string net = txtNet.Text; string upbuildTime = txtUpbuildTime.Text; string remark = txtRemark.Text; string sql = update tb_library set libraryName= + libraryName + ,curator= + curator + ,tel= + tel + ,address= + address + ,email= + email + ,net= + net + ,

33、upbuildTime= + upbuildTime + ,remark= + remark + ; if (dataOperate.execSQL(sql) RegisterStartupScript(, alert(保存成功!); else RegisterStartupScript(, alert(保存失败!); /自定义方法判断当前管理员是否拥有管理此页面的权限 public bool getSet() string userName = SessionuserName.ToString(); /获取管理员登录名 string sql = select * from tb_admSet

34、 where userName= + userName + ; SqlDataReader sdr = dataOperate.getRow(sql); sdr.Read(); /读取一条记录 return Convert.ToBoolean(sdrsystemSet); /返回是否拥有权限 /自定义方法显示图书馆信息 public void bindLibrary() string sql = select * from tb_library; SqlDataReader sdr = dataOperate.getRow(sql); sdr.Read(); txtLibraryName.Te

35、xt = sdrlibraryName.ToString(); /获取图书馆名称 txtCurator.Text = sdrcurator.ToString(); /获取馆长 txtTel.Text = sdrtel.ToString(); /获取电话 txtAddress.Text = sdraddress.ToString(); /获取地址 txtEmail.Text = sdremail.ToString(); /获取电子邮件 txtNet.Text = sdrnet.ToString(); /获取网址 txtUpbuildTime.Text = sdrupbuildTime.ToString(); /获取建馆时间 txtRemark.Text = sdrremark.ToString(); /获取备注 15 protected void txtRemark_TextChanged(object sender, EventArgs e) 管理员设置主要代码:using System.Web.UI.WebControls;using System.Web.UI.WebControl

温馨提示

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

评论

0/150

提交评论