《管理信息系统课程设计_-图书馆管理信息的系统.doc》由会员分享,可在线阅读,更多相关《管理信息系统课程设计_-图书馆管理信息的系统.doc(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 课程设计报告题目:图书馆管理系统的分析与设计专业班级: 市场营销 学生姓名: 于明心 指导教师: 成 绩:目 录第1章 系统分析11.1 开发背景11.2 需求分析11.3 系统业务流程图21.4 系统数据流图2第2章 系统设计32.1 数据库设计32.1.1 数据库概念设计32.1.2 数据库逻辑设计42.1.3 数据库物理设计52.2 程序设计52.2.1 总体设计52.2.2 详细设计6第3章 系统实施73.1 数据库实施73.2 程序实施9第4章 课设总结13第5章 参考文献14第1章 系统分析1.1 开发背景随着电子计算机和通信技术的发展,人类已经逐渐地进入信息化社会。信息和材料、
2、能源一样 成为一种社会的基本生产资料,在人类的社会生产活动中发挥着重要的作用。同时人们对信息和数据的利用与处理也已进入自动化、网络化和社会化的阶段,因此,开发相关的管理信息系统已经成 为各行各业的必要和必需了,管理信息系统作为一门边缘学科,集管理科学、信息科学、系统科学、 现代通信技术和电子计算机技术于一体,可以解决企业或组织所面临的问题,对内来看,可以提高 工作效率;对外来看,获得竞争优势。图书馆是高等院校的重要组成部门,是教师和学生获取知识的重要场所。随着校园网的发展,各高等院校的图书馆都开始使用“图书管理信息系统软件”开展工作。由于目前市场上的软件大多只是一些条框,没有形成特定环境下工作
3、的图书管理系统 。特别是各图书馆之间、图书馆与读者及管理者之间要互连互通,共享信息资源。为了更好的适应当前读者借阅需求,解决手工管理中存在的许多弊端,越来越多的学校图书馆正在逐步向计算机信息化管理转变。1.2 需求分析图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进
4、行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。本图书馆管理系统所要实现的目标是从图书馆人工管理到计算机信息化管理,从而实现人工管理做不到得一些功能并发会图书馆的最大效益。实现了对图书馆图书的管理,用户管理,读者管理以及满足了大部分用户的检索需求,方便用户浏览图书馆信息和借阅图书。.便于用户进行操作,这样才能使系统易学易用。其中应该合理的设计数据库,设计出友好的界面,实现基本功能和一些特殊功能的操作。1.3 系统业务
5、流程图图书馆管理,首先由管理员编制图书采购计划,由采购员负责新书的采购工作。采购图书入库后,由采编室编目,粘贴标签,产生图书目录。图书交由图书借阅室上架,供读者借阅。读者图书目录借书证注册登记表采编室入库单图书登记表借阅记录表读者登记表借阅管理员图书馆管理员采编员图1.1图书馆业务流程图1.4 系统数据流图数据流图(Data Flow Diagram):简称DFD,它从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程,是结构化系统分析方法的主要表达工具及用于表示软件模型的一种图示方法。图书馆管理系统借还书过程数据流图图书馆管理人员图书归还处理检查读者身
6、份检测图书是否存在填写借阅库单修改图书表借阅表图书表借阅表读者表图书表读者表还书记录图书借阅有效在库归还修改在库数量填写还书记录登记借阅记录借阅修改在库读者信息图书信息图1.2借还书过程数据流图第2章 系统设计2.1 数据库设计2.1.1 数据库概念设计在数据库的概念设计中主要使用E-R图来标识,其中E-R图包括三个组成部分分别是实体,属性,联系。E-R图的主要作用是为了给下一步数据库设计工作做准备,如在数据库逻辑设计阶段,要将实体转换成数据库中的表,在物理结构设计中要根据关系将每个实体的属性转换成数据表中的字段,然后再通过需求分析阶段所做的工作以确定每个表中每个字段所存放的类型,主关键字和外
7、关键字。在本图书馆管理系统数据库中的实体E-R图如下:1.图书实体,用来存放图书的信息,如图书编号,图书名称,图书作者,出版社,出版时间,图书类型,现有存储数量,总数量,借出数量等属性。图书编号名称存放位置出版社借出数总数量存储数量类型出版时间入库时间图2.1图书实体E-R图2.读者实体,用来存放读者的个人信息,如读者编号,读者姓名,性别,学好,所属学院,所属专业,读者类型,未还书籍数量,密码等信息。读者编号姓名性别学号未还书籍数量所属系别读者类型所属专业图2.2读者实体E-R图3.图书存放位置实体,用来存储图书位置,如位置编号,位置名称。这些信息将反映图书馆中具体都在哪些位置存放图书,如果将
8、图书存放位置直接与图书相连将造成图书位置删除,修改复杂等问题。图书位置编号存放位置图2.3 图书存放位置实体E-R图2.1.2 数据库逻辑设计总体E-R图,通过对各个实体的分析和了解,确定了总体E-R图。在总体E-R图,首先要删除各个实体之间的重复字段,之所以要删除各个实体之间的重复字段的目的是为使添加,删除和修改数据的便捷,尽可能的满足3NF。在图书实体中所使用的图书类型和图书存放位置都应该是图书类型实体和图书存放位置实体的编号而不能是其实质内容,在读者实体中也应是如此,这样每个实体的属性就至少满足3NF。系统总体E-R图如下图书读者留言图书存放位置类型专业学院借阅属于属于留言存放属于图书类
9、型属于查看管理员1nnn1n1nn1n1nnnn图书借阅图2.4 总体E-R图2.1.3 数据库物理设计在数据库的物理设计主要是对数据的存储位置和存取方法进行设计。在图书中由于经常使用查询操作,所以为了加快图书的查询速度这里我将图书的编号设置成为索引项。同时在图书中存在图书位置和图书类型,为了满足3NF所以将图书位置和图书类型设置成单独的实体,其主要目的是为了减少数据的冗余。2.2 程序设计2.2.1 总体设计图书馆管理系统包括4大模块分别是系统管理,系统设置,系统查询,系统操作,其每个大模块下分别包括如下子模块。系统管理:主要是对系统的管理员信息,图书信息,读者信息,在线图书信息进行管理。实
10、现添加,删除和修改等基本操作。系统设置:是对系统的基本信息进行设置,它包括了读者基本信息设置,图书基本信息设置和系统信息设置。在读者基本信息设置中包括了读者学院,读者类型,读者专业等信息进行设置。图书基本信息设置包括了图书类型设置,图书存放位置设置。在系统基本信息设置中,包括了系统名称设置,每本书每次借阅的最大天数设置和逾期罚款金额设置。系统查询:是对图书信息,读者信息,用户信息,借阅情况信息,进行查询实现对系统信息的全面了解。系统操作:是对借书,还书,设置系统公告和查看留言进行操作。系统功能模块图图书馆管理系统系统管理系统设置系统查询系统操作用 户 管 理读 者 管 理图 书 管 理在线阅读
11、管理图书信息设置读者信息设置系统信息设置借阅信息查询读者信息查询图书信息查询借 书 操 作还 书 操 作留 言 查 看公 告 设 置图2.5系统功能模块图2.2.2 详细设计1.借书模块流程功能描述:管理员输入读者编号,图书编号,系统验证是否正确,如果读者已达到借书次数,则提示你已达到借书次数,读者编号,图书编号不能为空,当借书成功后,应有提示信息,借书成功。读者编号是否正确图书编号判断NYNY错误信息错误信息是否超限借书成功借书成功NY 图2.6借书模块流程图2.还书过程业务流程功能描述:读者给出图书编号,管理员输入图书编号就可以显示出读者借阅信息,看读者是否超出借阅期限,如果超出借阅期限,
12、则读者应交一定的罚金,如果没有超出借阅期限,则还书成功。图书编号图书信息判断读者编号是否正确错误信息是否逾期逾期交款还书成功错误信息NYYYNN图2.7还书模块流程第3章 系统实施3.1 数据库实施1.数据库表总汇表3.1为数据库中所有表总汇包括各个表中的英文名称,中文名称及其功能。表3.1数据库表总汇英文表名中文表名功能说明Users用户表存储用户的基本信息BookInfo图书表存储图书的基本信息ReaderInfo读者表存储读者的基本信息SysInfo系统设置存储系统信息ReaderType读者类型存储读者类型的信息BookType书记类型存储图书类型的信息BorrowInfo借阅信息用于
13、存储读者借阅信息BookLocation存放位置用于存储图书的存放位置信息Olbook在线图书信息用于存放在线图书信息Coll学院信息用于存放读者学院信息Pro专业信息用于存放读者专业信息PayInfo逾期罚款信息用于存放逾期罚款缴费记录Message读者留言用于存放读者留言Notice系统公告用于存放系统公告信息2.图书表(Bookinfo)中的字段及其属性,功能是存储图书的基本信息。表3.2 图书信息表表字段属性列名数据类型长度空/非空约束条件注释BookIDvarchar50NPK图书编号BookNamevarchar255NDefault : 6666图书名称Authorvarchar
14、50Y图书作者Pubsvarchar100Y出版社PublishTimesmalldatetime8Y出版时间PageNumberint4Y页数Typeidint4NFK类别编号Storageint4NTotalNumber- Borrowed现存数量positionidint4NFK存放位置编号TotalNumberint4NDefault:0图书总数InTimesmalldatetime8N入库时Pricemoney8NDefault:0图书价格Borrowedint4NDefault:0借出数量3.读者表(ReaderInfo) 中的字段及其属性,功能是存储读者的基本信息。表3.3 读者
15、信息表字段属性列名数据类型长度空/非空约束条件注释ReaderIDvarchar50NPK读者编号Namevarchar255NDefault : 6666姓名stdnumvarchar20N读者学号sexvarchar2NCheck(Sex=男 or Sex=女)读者性别collidint4NFK所属学院编号proidint4NFK所属专业编号Typeidint4NFK所属读者类型编号UnReturnNumint4NDefault:0未还书数pwdvarchar4NDefault:6666密码RegDatesmalldatetime8N登记日期4.借阅表(BorrowInfo) 中的字段及其
16、属性,用于存储读者借阅信息。这个表是根据读者信息和图书信息表综合起来创建的分别提取出这两个表中的主键作为当前表的关键字,从而实现借阅信息表和他们的联系。表3.4 借阅信息表中的字段及其属性列名数据类型长度空/非空约束条件注释ReaderIDvarchar50NPK读者编号BookIDvarchar50NPK图书编号BorrowDatesmalldatetim4N借阅时间Operatorvarchar50Y操作员5.图书位置表(BookLocation) 用于存放图书的位置信息,这张表的图书位置编号与图书表中的位置相对应。表3.5 图书位置表中的字段及其属性列名数据类型长度空/非空约束条件注释p
17、ositionidint4NPK位置编号BookPlacevarchar50NPK位置名称3.2 程序实施1.图书管理模块主要是对图书馆中的图书进行管理,它不仅可以添加、删除、修改图书信息,同时还能够实现图书信息的查询工作。并且可以将查询出的内容导入到EXCEL中实现打印等功能。图3.1图书管理窗体在图书管理窗体中主要包括了,treeview控件,按钮控件,列表框控件,文本框控件、datagrid控件和单选按钮。图书管理窗体控件功能及属性如表3.2表3.2 图书管理窗体控件功能及属性控件名称控件属性功能bkdel(pushbutton)Caption设置为删除图书删除datagrid选中的图书
18、bkupd(pushbutton)Caption设置为修改图书打开修改图书窗体Bkexl(pushbutton)Caption设置为导出为EXL将datagrid中的数据导入到EXCEL中bkexit(pushbutton)Caption设置为退出关闭当前窗体返回到上一级窗体Bkselt(radiobutton)Caption设置为精确查询Value=true如果选中该按钮在bktext中输入的信息将按完全匹配查询bkself(radiobutton)Caption设置为模糊查询Value=false如果选中该按钮在bktext中输入的信息将按部分匹配查询Bktext(text)Text属性设
19、置为空获得所要查询的信息控件名称控件属性功能Bkseltype(combobox)将List中设置为各种查询类型通过选择查询类型来判断所使用的SQL查询语句Bkdg(datagrid)Datascore设置为查询出来的结果集显示查询出来的结果bksel(pushbutton)Caption设置为查询执行相应的SQL查询语句Treeview1(treeview)通过查询语句动态设置其属性显现当前系统的图书类型,并且点击该类型图书将显示所有该图书类型的图书信息bkfirst(pushbutton)Caption设置为第一条记录将bkdg的指针移到第一条bkpre(pushbutton)Captio
20、n设置为上一条记录将bkdg的指针移到前一条bknext(pushbutton)Caption设置为下一条记录将bkdg的指针移到后一条Bkadd(pushbutton)Caption设置为添加新书打开添加新书窗体bklast(pushbutton)Caption设置为最后一条记录将bkdg的指针移到最后一条Fbook(form)Caption设置为图书管理主窗体初始化图书代码,在窗体加载时自重加载查询所有的图书信息sql=selecta.bookid,a.bookname,a.author,a.pubs,a.publishtime,a.pagenumber,a.storage,a.total
21、number,a.intime,a.price,a.borrowed,a.positionid,a.Typeid,b.bookplace,c.type from bookinfo a,booklocation b,booktype c where a.positionid=b.positionid and a.typeid=c.typeidIf TreeView1.SelectedItem Is Nothing ThenSelect Case TreeView1.SelectedItem.TextCase 图书信息: sel = Case 所有信息: sel = Case 图书类型: sel
22、= Case Else: sel = and type= & TreeView1.SelectedItem.Text & End SelectEnd If If Not (bktext.Text = ) Then If bkselt.Value = True Then Select Case bkseltype.ListIndex Case 0: sel = sel & and bookid= & Trim(bktext.Text) & Case 1: sel = sel & and bookname= & Trim(bktext.Text) & Case 2: sel = sel & and
23、 Author= & Trim(bktext.Text) & Case 3: sel = sel & and Pubs= & Trim(bktext.Text) & End Select ElseIf bkself.Value = True Then Select Case bkseltype.ListIndex Case 0: sel = sel & and bookid like % & Trim(bktext.Text) & % Case 1: sel = sel & and bookname like % & Trim(bktext.Text) & % Case 2: sel = se
24、l & and Author like % & Trim(bktext.Text) & % Case 3: sel = sel & and Pubs like % & Trim(bktext.Text) & % End Select2.借阅模块是图书馆管理系统中最重要的,也是操作最频繁的模块。借阅模块主要的功能是通过输入读者编号和图书编号实现读者的借书操作。在借阅模块中包含了诸多状态显现,通过这些显示可以基本了解读者的借阅数量情况。图3.2借阅窗体借阅窗体包含了Frame控件,Textbox控件,Label控件,datagrid控件,timer控件和PushButton控件。详细控件功能属性如
25、表3.3表3.3借阅窗体控件功能及其属性控件名称控件属性功能Text1(textbox)Text属性设置为空获取用户编号Text4(textbox)Text属性设置为空获取图书编号Label13(label)Caption属性设置为0读者已经借阅图书的数量Timer1(timer)Interval属性设置为1000每秒钟刷新系统同时间Lbrdname(label)Caption属性设置为空显示读者姓名Lbrdt(label)Caption属性设置为空显示读者类型Lbbkname(label)Caption属性设置为空显示图书名称lbbkph(label)Caption属性设置为空显示图书出版社
26、Lbbkt(label)Caption属性设置为空显示图书类型名称Lbbkn(label)Caption属性设置为空显示读者最大的借阅数量借书按钮代码:Set con = New ADODB.Connectioncon.Open getconn()con.CursorLocation = adUseClientSet rs = New ADODB.Recordsetrs.Open select readerid,bookid from borrowinfo, conSet rs = New ADODB.Recordsetrs.Open select * from borrowinfo, con
27、, adOpenDynamic, adLockPessimisticrs.AddNewrs.Fields(readerid) = UCase(Text1.Text) 更新数据库中的借书表rs.Fields(bookid) = Text4.Textrs.Fields(borrowdate) = lbdate.Captionrs.Fields(operator) = lbop.Captionrs.UpdateSet rs = New ADODB.Recordsetrs.Open select * from borrowinfo where readerid= & UCase(Trim(Text1.
28、Text) & , conSet DataGrid1.DataSource = rsMsgBox 借书成功, vbInformation, 成功Set con = New ADODB.ConnectionSet rs = New ADODB.Recordsetcon.Open getconn()con.CursorLocation = adUseClientrs.Openselectreaderid,name,readertype.type,readertype.canborrownum,readerinfo.unreturnnum from readerinfo,readertype whe
29、re readertype.typeid=readerinfo.typeid and readerinfo.readerid= & Text1.Text & , con lbrdname.Caption = rs.Fields(name) lbrdt.Caption = rs.Fields(type) Label11.Caption = Val(rs.Fields(canborrownum) Label13.Caption = Val(rs.Fields(unreturnnum) Label15.Caption = Val(Label11.Caption) - Val(Label13.Capt
30、ion) Set rs = New ADODB.Recordset rs.Openselect borrowinfo.readerid,borrowinfo.bookid,bookinfo.bookname,borrowinfo.borrowdate,borrowinfo.operator from borrowinfo,bookinfo where readerid= & Trim(Text1.Text) & & and bookinfo.bookid=borrowinfo.bookid, con Set DataGrid1.DataSource = rs Text4.Enabled = T
31、rue Text4.SetFocus第4章 课设总结这次的课程设计可以说是为毕业设计做的一个预演,真的做起来困难重重,深刻体会到做一个软件,里面需要的很多知识都是我们没有接触过的,发现我们学的仅仅是皮毛,还有很多东西需要我们去发掘,就算是把一本书看完,我们还是会现还有很多知识没有吃透,这需要我们不断的实践,不断地自学习,不断地发现问题去思考问题。 此次课程设计对我来说很大的一次挑战。通过本次课程设计,我对管理信息系统这门课程有了更加深刻的理解。设计的初期,在对管理信息系统的系统分析、系统设计中,碰到很多概念上很模糊的问题,通过老师的指点以及查阅相关资料,问题得到了解决,设计工作也顺利进行。关键
32、的我们对程序设计的基础掌握不牢在刚开始写文档的时候并不是按照正常的软件工程的工作流程来写的,经常出现位置错误或者内容错误等问题,经过老师的细心讲解,我明白了很多东西,同时也发现了自己的不足之处,例如对软件开发的过程理解很不深刻,对一些基础理论有很大欠缺等问题。这些将是我在以后学习的过程中应该重点注意的地方。在系统实施的时候碰到过好多问题,有些是和同学一起讨论解决的,但是有些技术问题我们自己很难解决又不能及时请教老师,于是我就查阅相关书籍和网络资源,经过大量的查阅资料,我终于解决了各种问题,成功完成了课程设计。现在我们对管理信息系统这门学科也有了一定的了解和认识。这次课程设计,我们不但收获了丰富
33、的知识,而且更加认识到在遇到问题时要不退缩、努力解决的重要性。相信这些收获会使我们终身受益。这次实践可以给我敲了一个警钟,我面临毕业,面临择业,需要这些实践经验,在困难面前要勇于尝试,这是这次课程设计给我的最大感想。第5章 参考文献1 杨文龙.软件工程.北京:电子工业出版,20022 甘刃初.信息系统开发.北京:经济科学出版社,19963 薛华成.管理信息系统.北京:清华大学出版社,19994 西尔伯沙茨. 数据库系统概念.北京:机械工业出版社,20005 Leszek A.Maciaszek.需求分析与系统设计.北京:机械工业出版社.20006 郑阿奇.SQL Server 实用教程.北京:清华大学出版社,20057 张莉.SQL Server 数据库原理及应用教程.北京:清华大学出版社,20038 袁鹏飞.SQL Server 数据库应用开发技术.北京:人民邮电出版社,19989 李鸿吉.Visual Basic 高级编程技术.北京:科学出版社,200310 张树兵.VB6. 0 入门与提高.北京:清华大学出版社,1998