图书馆管理系统课程设计模板.docx
- 文档编号:11752827
- 上传时间:2023-03-31
- 格式:DOCX
- 页数:39
- 大小:1.19MB
图书馆管理系统课程设计模板.docx
《图书馆管理系统课程设计模板.docx》由会员分享,可在线阅读,更多相关《图书馆管理系统课程设计模板.docx(39页珍藏版)》请在冰豆网上搜索。
图书馆管理系统课程设计模板
辽宁科技大学
课程设计说明书
图书馆管理系统
专业:
软件工程
学生姓名:
****
学号:
****
班级:
****
指导老师:
****
提交日期:
2014年7月
图书馆管理系统
摘要
随着新世纪的到来,科学技术的突飞猛进,知识经济的日益发展,许多图书管理系统已经慢慢走向了老化。
图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。
针对这种情况我个人做出了这个具有图书查询、图书借阅、归还、续借、账户管理以及图书信息管理等功能的简单的图书管理系统网站。
本系统运用面向对象和面向接口融合的程序设计方法,利用VisualStudio2010开发工具及SQLServer2008数据库工具实现了系统的基本功能。
网站采用三层架构的思想,、JavaScript等技术。
通过具体的业务逻辑实现其功能。
使之在选用平台、采用技术上具有先进性、前瞻性、扩充性,从而保证建成的系统具有良好的稳定性、可扩充性。
系统设计按标准化、规范化,分层设计,构件化实现。
采用软件构件化的开发方式,使系统结构分层,业务与实现分离,逻辑与数据分离;以统一的服务接口规范为核心,使用开放标准。
从功能上来说,系统是比较完备的,系统以Web界面与用户交互,为用户提供信息并接受其操作,同时通过数据库管理系统来存储信息数据。
系统实现了对信息数据的浏览、查询、编辑和管理等基本数据库操作,采用了模块化设计方法,根据用户的需求及程序的应用与维护的易用性,将各个部分置于不同的模块当中,方便了程序的扩展与维护,同时建立了程序功能复用的基础。
关键词:
图书馆;三层架构;Asp.Net;结构化
librarymanagesystemstation
Abstract
Alongwiththenewcenturyarrival,scienceandtechnologyprogressingbyleapsandbounds,knowledgeeconomyflourishingmoreandmoredaily,manybooksmanagementsystemalreadyslowlymovedtowardstheaging.Thelibrarytookonekindofinformationresourcethecollectionanddistributioncenter,thebooksandtheuserborrowthematerialtobemany,containstheverymanyinformationdatathemanagement,nowadays,hasverymanylibrariesallisinitiallystartstouse,evennotyetusesthecomputertocarryontheinformationmanagement.BythisconditionImadethissimplelibrarymanagesystemstation.
ThewebstationusesaprogramdesigningmethodwhichcombinesObject-OrientedwithObject-Interfacetechnology,andappliesVisualStudio2010,SQLServer2008andothertools.MeanwhileitalsousesthethinkingofThreeLayersArchitectureandtechnologyofandJavaScript.WecompleteitsfunctionsbyconcreteBusinessLogicLayer,keepitadvanced,prospective,extensional,andaimtoensurethissystem’sstabilityandextensibility.Thissystem’designingisinaccordancewithstandardization,normalization,hierarchicaldesignandcomponent.Thedevelopmentofsoftwarestructuremakessystemhierarchicallayered,logicanddataseparated.Anditmakesanopenstandardwithaunifiedserviceinterfacespecificationforthecore.
Fromthefunctionalpointofview,thissystemisrelativelycomplete.Itprovidesuserswithinformationandacceptstheiroperation,storageinformationbyDatabaseManagementSystematthesametime.ANDitoperatestheinformationofdatabasebymeansofbrowsing,selection,editingandmanagement,andusesthemodulardesignmethod.Accordingtotheneedsofusers,theapplicationofprogramandtheeaseofmaintenance,itplaceseachcomponentindifferentmodulestofacilitatetheexpansionandmaintenanceofprogramandestablishesthebaseofreusableprogram.
KeyWords:
LibrarySystem,ThreeLayersArchitecture,Asp.Net,Structure
图书馆管理系统
1绪论
1.1开发背景
近年来,随着计算机技术的发展和互联网时代的到来,我们已经进入了信息时代,也有人称为数字化时代,在这数字化的时代里,图书事业的发展就成为精神文明进步的一个动力。
在迈入二十一世纪的今天,对图书馆的管理显得极其重要,合理地管理不但反映一个国家的科技水平,而且影响人们对知识掌握的速度和质量。
在知识经济时代到来的今天,用计算机控制图书馆的工作由自动化系统运行而完成。
这不仅节省了人力,还提高了工作效率和服务质量,而且还加速了图书的流通。
计算机技术是现代技术的一部分,图书自动化也只是图书馆现代化的一部分,它们之间是部分和整体的关系,但由于计算机技术是信息技术的心脏,现代社会的骄子,信息社会的科技主角,所以在图书馆现代技术中,计算机技术处于核心地位,它对于其他现代化设备起控制,连接和转换的作用,而图书馆自动化是图书馆现代化的核心和主导部分。
图书的计算机管理系统能提高图书馆本身管理水平,能代替工作人员进行图书资料的某些加工处理,把工作人员从繁重的手工劳动,重复劳动中解放出来。
总之,建立图书馆的计算机自动化管理系统,不但可以大大提高图书馆图书流通率,而且推动了社会文化生活的进步。
1.2设计思想
通过建立图书馆的计算机自动化管理系统,提高图书馆本身管理水平,能代替工作
人员进行图书资料的某些加工处理,提高工作效率。
2相关技术介绍
2.1A技术
随着网络经济的到来,微软公司希望帮助用户在任何时候、任何地方、利用任何工具都可以获得网络上的信息,并享受网络通信所带来的快乐。
.NET战略就是为实现这样的目标而设立的。
现在越来越多的企业都建立了自己的WWW网站,企业通过网站可以展示产品,发布最新动态,与用户进行交流和沟通,开展电子商务等。
目前都是基于ASP.NET和脚本语言,将动态网页和数据库结合,通过应用程序来处理。
ASP.NET具有如下的性能特点:
1、由于ASP.NET页面每次打开都必须经过先编译后解释的过程,所以页面在反复打开时速度没有任何提升,而ASP.NET页面只需要一次编译后不需要重新编译,这使得在多次访问时速度有了极大的提升。
2、由于ASP.NET没有提供任何输出数据为内容的元件,所以在使用ASP.NET撰写数据库页面时只能借助ADO的RecordSet对象逐笔读取记录,而ASP.NET通过ADO.NET提供的DataGrid等数据库元件可以直接和数据库联系。
3、ASP.NET支持应用程序的实时更新。
管理员不必关掉网络服务器或者甚至不用停止应用程序的运行就可以更新应用文件。
4、ASP.NET采取“code-behind”方式编写代码使得代码更易于编写,结构更清晰,降低了系统的开发与维护的复杂度和费用。
Microsoft公司推出了基于XML的WebServices平台的.NET技术,并提供包括VisualStudio.NET在内的一系列.NET平台。
而VisualStudio.NET平台支持的C#是面向构件的新型开发语言,它具有:
(1)支持构件开发;
(2)面向对象;(3)类型安全;(4)能支持版本处理等特点,因此,开发基于.NET平台上的商品化构件,以及基于.NET平台开发应用程序将成为软件业的发展方向,对基于.NET平台的C#逆向工程工具,尤其是支持C#构件化特征的逆向工程工具的需求便日趋迫切。
C#是一种面向对象的语言,同时也是面向构件的编程语言,它具有面向对象和面向构件两方面的功能。
C#支持所有关键的面向对象概念:
封装、继承和多态性。
在C#中所有的对象被封装在类中,C#取消了多继承,每个类仅允许有一个基类,以Object作为基类.。
当需要多继承时,可以运用接口,一个类可以实现多个接口,从而实现多继承.。
C#提供名字空间(namespace)声明一个范围,以便组织代码并创建全局类型。
在一个名字空间下,可以声明别的名字空间、类、接口、结构、枚举和代理。
通过嵌套的名字空间,把语义相关的程序分成层次结构,从而提供一个逻辑上的组织系统。
2000年7月,ASP.NET发行。
ASP.NET不是ASP的简单升级,而是微软推出的新一代ActiveServerPages。
ASP.NET是微软发展的新的体系结构.NET的一部分,其中全新的技术架构会让每个人员的编程生活变得更为简单,Web应用程序的开发人员使用这个开发环境可以实现更加模块化、功能更强大的应用程序的编程[4]。
2.2SQL简介
SQL是英文StructuredQueryLanguage的缩写,意思为结构化查询语言。
SQL语言的主要功能就是同各种数据库建立联系,进行沟通。
按照ANSI(美国国家标准协会)的规定,SQL被作为关系型数据库管理系统的标准语言。
SQL语句可以用来执行各种各样的操作,例如更新数据库中的数据,从数据库中提取数据等。
绝大多数流行的关系型数据库管理系统,如Oracle,Sybase,MicrosoftSQLServer,Access等都采用了SQL语言标准。
虽然很多数据库都对SQL语句进行了再开发和扩展,但是包括Select,Insert,Update,Delete,Create,以及Drop在内的标准的SQL命令仍然可以被用来完成几乎所有的数据库操作。
SQLServer
SQLServer是一个关系数据库管理系统。
它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,于1988年推出了第一个OS/2版本。
在WindowsNT推出后,Microsoft与Sybase在SQLServer的开发上就分道扬镳了,Microsoft将SQLServer移植到WindowsNT系统上,专注于开发推广SQLServer的WindowsNT版本。
Sybase则较专注于SQLServer在UNⅨ操作系统上的应用。
SQLServer2008是Microsoft公司推出的SQLServer数据库管理系统,该版本继承了SQLServer2005版本的优点,同时又比它增加了许多更先进的功能。
具有使用方便可伸缩性好与相关软件集成程度高等优点,可跨越从运行MicrosoftWindows98的膝上型电脑到运行MicrosoftWindows7的大型多处理器的服务器等多种平台使用。
3需求分析
长期以来,人们使用传统的人工方式管理图书馆的日常业务,其操作流程比较繁琐。
在借书时,读者首先将要借的书和借阅证交给工作人员,工作人员然后将每本书的信息卡片和读者的借阅证放在一个小格栏里,最后在借阅证和每本书贴的借阅条上填写借阅信息。
在还书时,读者首先将要还的书交给工作人员,工作人员然后根据图书信息找到相应的书卡和借阅证,并填写相应的还书信息,了解用户的明确需求,WEB图书管理系统需要满足来自三方面的需求,这三个方面分别是图书借阅者、图书馆工作人员和图书馆管理人员。
图书借阅者的需求是查询图书馆所存的图书、个人借阅情况及个人信息的修改;图书馆工作人员对图书借阅者的借阅及还书要求进行操作,同时形成借书或还书报表给借阅者查看确认;图书馆管理人员的功能最为复杂,包括对工作人员、图书借阅者、图书进行管理和维护,及系统状态的查看、维护并生成催还图书报表。
图书借阅者可直接查看图书馆图书情况,如果图书借阅者根据本人借书证号和密码登录系统,还可以进行本人借书情况的查询和维护部分个人信息。
一般情况下,图书借阅者只应该查询和维护本人的借书情况和个人信息,若查询和维护其他借阅者的借书情况和个人信息,就要知道其他图书借阅者的借书证号和密码。
这些是很难得到的,特别是密码,所以不但满足了图书借阅者的要求,还保护了图书借阅者的个人隐私。
图书馆工作人员有修改图书借阅者借书和还书记录的权限,所以需对工作人员登陆本模块进行更多的考虑。
在此模块中,图书馆工作人员可以为图书借阅者加入借书记录或是还书记录,并打印生成相应的报表给用户查看和确认。
图书馆管理人员功能的信息量大,数据安全性和保密性要求最高。
本功能实现对图书信息、借阅者信息、总体借阅情况信息的管理和统计、工作人员和管理人员信息查看及维护。
图书馆管理员可以浏览、查询、添加、删除、修改、统计图书的基本信息;浏览、查询、统计、添加、删除和修改图书借阅者的基本信息,浏览、查询、统计图书馆的借阅信息,但不能添加、删除和修改借阅信息,这部分功能应该由图书馆工作人员执行,但是,删除某条图书借阅者基本信息记录时,应实现对该图书借阅者借阅记录的级联删除。
并且还应具有生成催还图书报表,并打印输出的功能。
4总体设计
4.1体系结构
图书馆管理系统是基于B/S结构作为系统的解决方案。
B/S是Browser/Server指浏览器和服务器端,在客户机端不需要再装繁琐的专门的软件,只需一个浏览器即可。
B/S最大的优点:
客户端不用维护,适用于用户群庞大,或客户需求经常发生变化的情况。
系统结构图如下:
图3.1B/S模式结构图
在系统架构实现上采用三层架构,即将系统划分为表示层、业务逻辑层、数据访问层,区分层次的目的即为了“高内聚,低耦合”的思想。
1.表现层(UI):
通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。
2.业务逻辑层(BLL):
针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。
3.数据访问层(DAL):
该层所做事务直接操作数据库,针对数据的增添、删除、修改、查找等。
图3.2三层架构示意图
4.2系统功能结构
根据图书馆管理系统的特点,可以将其分为系统设置、读者管理、图书管理、图书借环、系统查询、排行榜6个部分。
系统功能模块划分图
注册登录模块:
用户在前台的登录、注册、等功能只与用户自身相关,功能独立,集成到此模块中。
系统设置模块:
完成图书馆信息设置、管理员权限设置、书架管理三个功能。
读者管理模块:
完成读者的信息管理、读者分类等功能。
图书管理模块:
完成图书的分类、图书的基本信息管理等功能。
图书借环模块:
完成图书的借阅和归还。
系统查询模块:
查询图书信息、图书的借阅情况。
排行榜模块:
查看图书借阅排行榜、读者借阅排行榜。
账号管理模块:
完成修改密码和退出系统。
4.3系统流程图
4.4数据库设计
数据库将会是一个整个系统管理的关键性,该数据库具有一定的针对性,只适合该系统生成的数据进行存储并建立数据关系,只有这样才能是系统效率提高到最大值。
整个业务完成效率只有选择了适合本系统的数据库并且建立适当的数据关系,才能使管理系统的工作效率提高并提高整体的阔值。
4.5实体属性图
根据对系统所做的分析、系统设计,规划出系统中使用的数据库实体主要有图书馆信息实体、读者档案实体、图书档案实体、图书借环实体和管理员实体等。
下面介绍几个主要实体的E-R图。
图书馆信息实体E-R图
图书档案实体E-R图
读者档案实体E-R图
读者借环实体E-R图
管理员实体E-R图
4.6逻辑结构设计
逻辑结构设计应该首先选择最适于描述与表达相应概念结构的数据模型,然后选择数据库管理系统。
数据表间的关系是多层依附关系,版块从属于区域,帖子从属于版块,帖子作者是论坛的用户,帖子不能脱离版块、用户存在,也就是说在数据库表中它们是外键的关系。
本系统所涉及数据库表包括:
用户表(tb_admin)、书架表(tb_bookcase)、图书信息表(tb_bookinfo)、图书借环表(tb_borrowandback)、图书馆信息表(tb_libraryinfo)、读者信息表(tb_reader)。
表3.1用户表设计
表3.2书架表设计
表3.3图书信息表设计
表3.4图书借环设计
表3.5图书馆信息表设计
表3.6读者信息表设计
5系统实现
5.1系统模板页
系统模板页如下图所示:
图4.1模板页
模板页主要布局为上下四大部分,上半部分就如上图是系统的头部,左侧显示导航菜单,右侧放置内容页,底部是版权信息。
模板页的框架是应用了CSS+DIV技术搭建的,头部、菜单、版权信息为我自己创建的3个用户控件。
模板页的脚本如下:
<%@MasterLanguage="C#"AutoEventWireup="true"CodeBehind="Site1.master.cs"Inherits="图书馆管理系统.Site1"%>
<%@RegisterSrc="bottom.ascx"TagName="bottom"TagPrefix="uc2"%>
<%@RegisterSrc="menu.ascx"TagName="menu"TagPrefix="uc3"%>
<%@RegisterSrc="header.ascx"TagName="header"TagPrefix="uc1"%>
DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http:
//www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
//www.w3.org/1999/xhtml"> <
ContentPlaceHolderID="head"runat="server">
ContentPlaceHolder>
center"> headerID="Header1"runat="server"/>
menuID="menu1"runat="server"/>
ContentPlaceHolderID="ContentPlaceHolder1"runat="server"> ContentPlaceHolder>
bottomID="Bottom1"runat="server"/>