[优秀毕业论文]图书借阅和信息管理系统设计.doc

上传人:仙人指路1688 文档编号:3932447 上传时间:2023-03-28 格式:DOC 页数:40 大小:946.50KB
返回 下载 相关 举报
[优秀毕业论文]图书借阅和信息管理系统设计.doc_第1页
第1页 / 共40页
[优秀毕业论文]图书借阅和信息管理系统设计.doc_第2页
第2页 / 共40页
[优秀毕业论文]图书借阅和信息管理系统设计.doc_第3页
第3页 / 共40页
[优秀毕业论文]图书借阅和信息管理系统设计.doc_第4页
第4页 / 共40页
[优秀毕业论文]图书借阅和信息管理系统设计.doc_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《[优秀毕业论文]图书借阅和信息管理系统设计.doc》由会员分享,可在线阅读,更多相关《[优秀毕业论文]图书借阅和信息管理系统设计.doc(40页珍藏版)》请在三一办公上搜索。

1、第1章 绪论1.1 课题开发背景管理信息系统(Management Information System),在强调管理,强调信息的现代社会中它变得越来越普及f。MIS是一门新的学科,它是OA(办公自动化系统)的一个分支阶段。跨越了若干个领域,比如管理科学、系统科学,运筹学、统计学以及计算机科学。在这些学科的基础上,形成信息收集和加工的方法,从而形成一个纵横交织的系统。本课题就是信息管理系统的一个具体实例。它为图书馆图书和学生接借还信息管理提供了一种高效的操作方式。1.2 课题研究目的与意义该项目是以SQL Server 2005数据库和C# 编程语言实现的,其功能在系统内部由源代码直接完成。操

2、作人员只需输入一些简单的字符、数字,经过一些简单的操作就可达到自己管理目的。对于图书馆工作人员来说,利用计算机高效率地完成日常事务,是适应学校发展要求、推动管理走向科学化、规范化的必要条件;而且图书馆管理又是一项非常烦琐的事情,数量之大,传统管理极其不便。然而计算机高效的操作方式,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高学生与图书管理人员之间共享、交流信息的效率,从而有效地进行图书借阅和信息管理。1.3 国内外发展概况管理信息系统在初级阶段是统计系统,所研究的内容是数量数据间表面的规律,它可以把数据分成较相关

3、和较不相关的组,然后把数据转换为信息。第二阶段是数据更新系统,其典型代表是美国航空公司于20世纪50年代建成的SABRE预约订票系统。它设有1008个订票点,可以存取600000个旅客记录和27000个飞行段记录。它的操作比较复杂,在任何一“点”都可以查到某一航班是否有空座位。但从概念上来讲,它只是一个数据更新系统,比如它不能告诉你以现在的售票速度何时票将售完,从而采取补救措施。因而它也是管理信息系统的低级阶段。第三阶段是状态报告系统,它可以分为生产状态报告、服务状态报告和研究状态报告等系统。比如生产状态报告系统,它的典型代表是IBM公司的生产管理系统。众所周知,IBM公司是世界上最大的计算机

4、公司,1964年它生产出中型计算机IBM360,使计算机的水平提高了一个台阶,但同时组织生产的管理工作却大大复杂化了。一台计算机有超过15000个不同的部件,每一个部件又有若干个元件,加之IBM的工厂遍及美国各地,不同的定货有不同的部件和不同的元件,必须指出什么工厂什么设备生产什么元件,因此不仅生产复杂,装配、安装和运输都十分复杂。为了保证生产以及其他环节的顺利进行,必须要有一个以计算机为基础的生产状态报告系统。因此同年IBM建立了先进管理系统AAS,它能进行450个业务的操作。1968年,公司又建立了公用制造信息系统CMIS,运行很成功,过去需要15周的工作,该系统只用3周就可以完成。我国的

5、管理信息系统大发展是在80年代末90年代初,国家相继建立起了“金卡”、“金关”、金桥“工程,多数企事业单位建立了局域网和广域网管理信息系统。随着世界经济和我国经济逐步向知识经济迈进,无论是基于工业经济的管理信息系统,还是面向少数专家和管理人员的专家系统 (ES)或决策支持系统 (DSS),其处理对象和服务对象,自身的系统结构,处理能力,都有了进一步的发展。第2章 需求分析2.1 需求概述2.1.1 系统设计目标根据所作的需求分析可以得出,图书馆管理系统实施后,本系统需要实现以下目标:(1) 界面设计友好、美观。(2) 数据存储安全、可靠。(3) 信息分类清晰、准确。(4) 强大的查询功能,保证

6、数据查询的灵活性。(5) 实现对图书借阅和归还过程的全程数据信息跟踪。(6) 提供图书借阅排行榜,为图书馆管理员提供了真实的数据信息。(7) 提供灵活、方便的权限设置功能,使整个系统的管理分工明确。(8) 具有易维护性和易操作性。2.1.2 系统功能概述根据校园用户的实际需求,本系统功能分为以下六部分:l 系统设置l 读者信息管理l 图书信息管理l 图书借阅与归还l 图书信息查询l 更改密码2.1.3 用户特点 用户为全校老师和学生,对计算机应用有一定的了解,所以尽可能提供友好、简洁的操作界面和使用提示。2.2 需求描述2.2.1 图书馆管理系统总需求目标在计算机网络,数据库和先进的开发平台上

7、,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的图书馆管理系统,实现读者信息管理,图书信息管理,图书借阅与归还,图书信息查询,高效的图书馆系统。2.2.2 数据需求(1)数据录入和处理的准确性和实时性数据的输入是否准确是数据处理的前提,错误的输入会导致系统输出的不正确和不可用,从而使系统的工作失去意义。数据的输入来源是手工输入。手工输入要通过系统界面上的安排系统具有容错性。在系统中,数据的输入往往是大量的,因此系统要有一定的处理能力,以保证迅速的处理数据。(2)数据的安全性本系统为校园图书馆管理部门设计,因此只有特定的图书管理者才能对数据

8、实现增、删、改、查等操作。未获授权人员无权限操作系统。(3)数据的备份要定期对数据库中的数据进行全部或新增部分的备份工作,以保证在硬件出现故障或人为原因导致无法运行时是可以快速及时的还原到原来的正常状态。2.2.3 功能需求概述(1) 管理员能够进行系统设置(2) 管理员管理读者信息(3) 管理员管理馆内图书信息(4) 读者实现图书借阅与归还(5) 读者实现图书信息查询(6) 用户更改登陆密码2.2.4约束(Constraints)计算机操作系统:Windows XP/ 2003 / Vista 系统软件编写环境:Visual Studio 2005编程语言:C#数据库系统: SQL Serv

9、er 20052.2.5系统模型(1)用例模型用例模型(Use-Case Model)是系统既定功能及系统环境的模型,它可以作为客户和开发人员之间的契约。用例是贯穿整个系统开发的一条主线。同一个用例模型即为需求工作流程的结果,可当作分析设计工作流程以及测试工作流程的输入使用(2)参与者汇总管理员:负责管理图书信息和用户信息相关数据用 户:进行图书信息查询和图书借还(3)用例汇总管理员:设置系统使用权限;设置图书馆信息;设置书架信息;添加图书类型;修改图书类型;删除图书类型;添加图书档案信息;修改图书档案信息;删除图书档案信息;管理图书借阅信息;管理图书归还信息;图书信息查询管理;图书借阅信息管

10、理。用 户:查询图书在馆信息;查询图书借阅信息;图书借阅;图书归还。第3章 系统的设计3.1 软件模块设计3.1.1 系统模块功能概述(1) 用户登录图书馆管理系统后,进入图书馆主界面,如图3.1所示,通过此界面可看到图书借阅排行榜和读者借阅排行榜,通过排行榜可以看出借阅图书的名称、图书类型、借阅次数及借阅读者等相关信息。图3.1图书馆主界面(2) 单击“系统设置”/“图书馆信息”命令,对图书馆信息进行设置操作。单击“系统设置”/“管理员设置”命令,对管理员信息进行添加、权限设置、浏览及删除操作。单击“系统设置”/“书架管理”命令,对书架信息进行添加、修改及删除操作。如图3.2、3.3、3.3

11、所示图3.2图书馆信息图3.3权限管理图3.4书架管理(3) 单击“读者管理”/“读者类型管理”命令,对读者类型信息进行添加、修改及删除操作。如图3.5所示图3.5读者类型管理(4) 单击“读者管理”/“读者档案管理”命令,对读者信息进行添加、修改、查看及删除操作。如图3.6所示图3.6读者档案管理(5) 单击“图书管理”/“图书类型管理”命令,对图书类型进行添加、修改及删除操作。如图3.7所示 图3.7图书类型管理 (6) 单击“图书管理”/“图书档案管理”命令,对图书信息进行添加、修改及删除操作。如图3.8所示图3.8图书档案管理(7) 单击“图书借还”/“图书借阅”命令,对图书借阅信息添

12、加操作。如图3.9所示图3.9图书借阅(8) 单击“图书借还”/“图书归还”命令,对图书归还信息进行添加操作。如图3.10所示图3.10图书归还(9) 单击“图书查询”/“图书信息查询”命令,对图书档案信息进行查询操作。如图3.11所示图3.11图书信息查询(10) 单击“图书查询”/“借阅信息查询”命令,对借阅的图书信息进行查询操作。如图3.12所示图3.12借阅信息查询(11) 单击“更改密码”按钮,对当前的用户密码进行修改操作。如图3.13所示图3.13更改密码(12) 单击“退出系统”按钮,退出当前操作系统。如图3.14所示图3.14退出系统3.1.2 系统管理流程3.2 数据库设计3

13、.2.1 数据库分析在开发应用程序时,对数据库的操作时必不可少的,一个数据库的设计优秀与否,将直接影响到软件的开发进度和性能。图书馆管理系统的需求主要包括对图书信息的管理,其中包括基本信息和存档信息;对图书的借阅和归还管理,其中包括图书借阅信息和图书归还信息;对用户档案信息的管理,其中包括基本信息和借阅信息。3.2.2 数据库概念设计数据库设计是系统设计过程中的重要组成部分,它是通过管理系统的整体需求而制定的。下面对本系统中具有代表性的数据库设计进行详细说明。在开发图书馆管理系统时,最重要的是图书信息管理和用户档案信息。在用户档案信息中又分为基本信息、借阅信息,本系统提供了用户借阅信息查询功能

14、,因此需要设计出用户档案信息的E-R图。本系统提供了图书信息查询功能,因此需要设计出图书信息的E-R图。由于信息多而复杂,这里只给出关键信息。用户档案信息表E-R图如图3.15所示;图书信息表E-R图如图3.16所示。用户信息姓 名性 别读者编号证件类型可借数量证件号码读者类型图3.15 用户档案信息表E-R图图书信息条形码图书名称图书类型出版社书架库存数量入馆时间图3.16图书信息表E-R图3.2.3 数据库逻辑结构设计数据库概念设计中已经分析了图书信息,用户信息主要数据实体对象,这些实体对象是数据表结构的基本模型,最终的数据模型都要实施到数据库中,形成整体的数据结构。可以使用PowerDe

15、signer工具完成这个数据库的建模。3.3代码设计3.3.1 用户登陆功能代码实现界面如下:如图3.12所示图3.17登录系统代码如下:public partial class Login : System.Web.UI.Page OperatorClass operatorclass = new OperatorClass(); AdminManage adminmanage = new AdminManage(); ReaderManage readermanage = new ReaderManage(); protected void Page_Load(object sender,

16、 EventArgs e) /单击登陆按钮事件 protected void btnLogin_Click(object sender, EventArgs e) if (txtAdmin.Text = string.Empty) Response.Write(alert(管理员名称不能为空!); return; else DataSet adminds = null; DataSet readerds = null; adminmanage.Name = txtAdmin.Text; adminmanage.Pwd = txtPwd.Text; adminds = adminmanage.L

17、ogin(adminmanage); readermanage.ID=txtPwd.Text; readermanage.Name=txtAdmin.Text; readerds=readermanage.ReaderLogin(readermanage); if (adminds.Tables0.Rows.Count 0 & txtCode.Text = Request.CookiesCheckCode.Value) SessionName = txtAdmin.Text; Response.Redirect(index/Default.aspx); else if (readerds.Ta

18、bles0.Rows.Count 0 & txtCode.Text = Request.CookiesCheckCode.Value) SessionName = txtAdmin.Text; Sessionreadid = txtPwd.Text; Sessionrole = Reader; Response.Redirect(index/Default.aspx); else Response.Write(alert(登录名或密码不正确!); /单击取消按钮事件 protected void btnCancel_Click(object sender, EventArgs e) txtAd

19、min.Text = txtPwd.Text = txtCode.Text = string.Empty; 3.3.2查询功能代码实现代码如下:public partial class SysQuery_BookQuery : System.Web.UI.Page BookManage bookmanage = new BookManage(); protected void Page_Load(object sender, EventArgs e) this.Title = 图书信息查询页面; if (!IsPostBack) gvBind(); protected void btnQuer

20、y_Click(object sender, EventArgs e) gvBind(); protected void gvBookInfo_PageIndexChanging(object sender, GridViewPageEventArgs e) gvBookInfo.PageIndex = e.NewPageIndex; gvBind(); protected void gvBind() DataSet ds = null; int intCondition = ddlCondition.SelectedIndex; if (txtCondition.Text = ) ds =

21、bookmanage.GetAllBook(tb_bookinfo); else switch (intCondition) case 0: bookmanage.BookCode = txtCondition.Text; ds = bookmanage.FindBookByCode(bookmanage, tb_bookinfo); break; case 1: bookmanage.BookName = txtCondition.Text; ds = bookmanage.FindBookByName(bookmanage, tb_bookinfo); break; case 2: boo

22、kmanage.Type = txtCondition.Text; ds = bookmanage.FindBookByType(bookmanage, tb_bookinfo); break; case 3: bookmanage.Author = txtCondition.Text; ds = bookmanage.FindBookByAuthor(bookmanage, tb_bookinfo); break; case 4: bookmanage.PubName = txtCondition.Text; ds = bookmanage.FindBookByPub(bookmanage,

23、 tb_bookinfo); break; case 5: bookmanage.Bcase = txtCondition.Text; ds = bookmanage.FindBookByBCase(bookmanage, tb_bookinfo); break; gvBookInfo.DataSource = ds; gvBookInfo.DataBind(); 3.3.3插入功能代码实现代码如下:public partial class BookManage_AddBook : System.Web.UI.Page ValidateClass validate=new ValidateCl

24、ass(); BookcaseManage bookcasemanage = new BookcaseManage(); BTypeManage btypemanage = new BTypeManage(); BookManage bookmanage = new BookManage(); protected void Page_Load(object sender, EventArgs e) this.Title = 添加/修改图书信息页面; if (!IsPostBack) DataSet bcaseds = bookcasemanage.GetAllBCase(tb_bookcase

25、); ddlBCase.DataSource = bcaseds; ddlBCase.DataTextField = name; ddlBCase.DataBind(); DataSet btypeds = btypemanage.GetAllBType(tb_booktype); ddlBType.DataSource = btypeds; ddlBType.DataTextField = typename; ddlBType.DataBind(); if (Requestbookcode = null) btnAdd.Enabled = true; txtInTime.Text = Dat

26、eTime.Now.ToShortDateString(); else btnSave.Enabled = true; txtBCode.ReadOnly = txtBName.ReadOnly = true; txtBCode.Text = Requestbookcode.ToString(); bookmanage.BookCode = txtBCode.Text; DataSet bookds = bookmanage.FindBookByCode(bookmanage,tb_bookinfo); txtBName.Text = bookds.Tables0.Rows01.ToStrin

27、g(); ddlBType.SelectedValue = bookds.Tables0.Rows02.ToString(); txtAuthor.Text = bookds.Tables0.Rows03.ToString(); txtTranslator.Text = bookds.Tables0.Rows04.ToString(); txtPub.Text = bookds.Tables0.Rows05.ToString(); txtPrice.Text = bookds.Tables0.Rows06.ToString(); txtPage.Text = bookds.Tables0.Ro

28、ws07.ToString(); ddlBCase.SelectedValue = bookds.Tables0.Rows08.ToString(); txtStorage.Text = bookds.Tables0.Rows09.ToString(); txtInTime.Text = bookds.Tables0.Rows010.ToString(); txtOper.Text = bookds.Tables0.Rows011.ToString(); /单击添加按钮事件 protected void btnAdd_Click(object sender, EventArgs e) Vali

29、dateFun(); bookmanage.BookCode = txtBCode.Text; if (bookmanage.FindBookByCode(bookmanage, tb_bookinfo).Tables0.Rows.Count 0) bookmanage.BookName = txtBName.Text; bookmanage.Type = ddlBType.SelectedValue; bookmanage.Author = txtAuthor.Text; bookmanage.Translator = txtTranslator.Text; bookmanage.PubNa

30、me = txtPub.Text; bookmanage.Price = Convert.ToDecimal(txtPrice.Text); bookmanage.Page = Convert.ToInt32(txtPage.Text); bookmanage.Bcase = ddlBCase.SelectedValue; bookmanage.Storage = Convert.ToInt32(txtStorage.Text) + Convert.ToInt32(bookmanage.FindBookByCode(bookmanage, tb_bookinfo).Tables0.Rows09

31、.ToString(); bookmanage.InTime = Convert.ToDateTime(txtInTime.Text); bookmanage.Oper = txtOper.Text; bookmanage.UpdateBook(bookmanage); else bookmanage.BookName = txtBName.Text; bookmanage.Type = ddlBType.SelectedValue; bookmanage.Author = txtAuthor.Text; bookmanage.Translator = txtTranslator.Text;

32、bookmanage.PubName = txtPub.Text; bookmanage.Price = Convert.ToDecimal(txtPrice.Text); bookmanage.Page = Convert.ToInt32(txtPage.Text); bookmanage.Bcase = ddlBCase.SelectedValue; bookmanage.Storage = Convert.ToInt32(txtStorage.Text); bookmanage.InTime = Convert.ToDateTime(txtInTime.Text); bookmanage

33、.Oper = txtOper.Text; bookmanage.AddBook(bookmanage); Response.Redirect(BookManage.aspx);/单击保存按钮事件 protected void btnSave_Click(object sender, EventArgs e) ValidateFun(); bookmanage.BookCode = txtBCode.Text; bookmanage.BookName = txtBName.Text; bookmanage.Type = ddlBType.SelectedValue; bookmanage.Au

34、thor = txtAuthor.Text; bookmanage.Translator = txtTranslator.Text; bookmanage.PubName = txtPub.Text; bookmanage.Price = Convert.ToDecimal(txtPrice.Text); bookmanage.Page = Convert.ToInt32(txtPage.Text); bookmanage.Bcase = ddlBCase.SelectedValue; bookmanage.Storage = Convert.ToInt32(txtStorage.Text);

35、 bookmanage.InTime = Convert.ToDateTime(txtInTime.Text); bookmanage.Oper = txtOper.Text; bookmanage.UpdateBook(bookmanage); Response.Redirect(BookManage.aspx);/单击取消按钮事件 protected void btnCancel_Click(object sender, EventArgs e) txtInTime.Text = DateTime.Now.ToShortDateString(); txtBName.Text = txtAu

36、thor.Text = txtTranslator.Text = txtPub.Text = txtPrice.Text = txtPage.Text = txtStorage.Text = txtOper.Text = string.Empty; Response.Redirect(BookManage.aspx); protected void ValidateFun() if (txtBCode.Text = ) Response.Write(alert(图书条形码不能为空!);location=javascript:history.go(-1);); return; if (txtBN

37、ame.Text = ) Response.Write(alert(图书名称不能为空!);location=javascript:history.go(-1);); return; if (!validate.validateNum(txtPrice.Text) Response.Write(alert(图书价格输入有误!);location=javascript:history.go(-1);); return; if (!validate.validateNum(txtPage.Text) Response.Write(alert(图书页码输入有误!);location=javascript:history.go(-1);); return; if (!validate.validateNum(txtStorage.Text) Response.Write(alert(图书库存量输入有误!);location=javascript:history.go(-1);); return; 3.3.4修改/删除功能代码实现代码如下:public partial class ReaderManage_RTypeManage : System.Web.UI.Page RTypeManage rtypemanage = new RTypeManage(); prote

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号