ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:1.22MB ,
资源ID:3358520      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/3358520.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(图书馆管理系统设计报告.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

图书馆管理系统设计报告.docx

1、图书馆管理系统设计报告系统名称 图书馆管理系统专 业 计算机科学与技术班 级 姓 名 学 号 指导教师 2009年12月重庆邮电大学课程设计任务书学院_专业_ 班级_ _指导教师 课程名 学年 学期 第学期主要内容、方法和要求填写示例:(一)图书馆管理系统1,系统基本功能结合所学知识,利用PowerBuilder9.0为平台设计一个通用性较强、实用的系统,以提高图书管理水平,实现信息资源的共享。图书管理系统是一种基于集中统一规划的数据库数据管理新模式。在对图书、读者的管理,其实是对图书、读者数据的管理。本系统的建成无疑会为管理者对图书管理系统提供极大的帮助。使用该系统之后,图书馆管理人员可以管

2、理读者的登记、图书的入库、借出、归还以及注销等;还可以查询某位读者、某本图书的借阅情况,对当前借阅情况给出一些统计,给出统计表格,以全面掌握图书的流通情况。 本系统的宗旨是提高图书管理工作的效率,减少相关人员的工作量,使学校的图书管理工作真正做到科学、合理的规划,系统、高效的实施。 (2)产品功能 登录系统:注销用户、修改密码、系统退出。管理:用户管理、图书管理、读者管理、借阅管理。 查询:图书查询、读者查询、借阅查询、帮助。主要参考文献分工一图书馆管理系统需求分析当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能

3、够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好图书馆信息而设计的。图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进

4、行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改

5、就更加困难了。基于这此问题,我认为有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。二图书馆管理系统设计2.1目标与定位 系统设计1. 系统目标设计。本图书馆管理系统可以用于支持图书馆管理员完成一般的工作。有下面3个功能。 借书还书系统。 会员和图书录入系统。 管理员账号管理系统。2. 开发设计思想本系统开发设计有以下几点。 尽量用现有的软硬件环境,及先进的管理开发方案,从而达到充分利用现有资源。遗稿系统的开发水平和应用效果的目的。 系统应符合管理的规定,满足日常人事管理的工作需要,并达

6、到操作过程直观、方便、实用等要求。 系统具备及时根据人员的需求进行数据的添加、删除、修改等操作。3. 开发和运行环境选择用PowerBuilder 9.0作为应用开发工具。Sqlanywhere作为数据库系统。4. 系统功能分析在系统开发总体任务的基础上完成系统功能分析。本系统需要完成以下功能。 登陆权限设置 读者注册 管理员各种信息的输入,图书和读者资料。 图书的借出归还。 管理员的账号增加和密码修改。 图书和会员的基本资料查询。系统功能图权限认证x 2.2 数据库设计2.2.1 E-R图设计号实体之间的E-R图为2.2.2面向对象结构图 系统功能 查 查 看 看 借 图书 书 信 信 息

7、息 信息查询 2.2.3数据库表结构及数据字典设计2.3代码于程序的实现登陆认证代码/将全局变量-输入用户名和口令的次数赋初值0G_INPUT_TIME=0/定义变量Environment l_envint l_ScrWidth,l_ScrHeight/关闭窗口刷新setRedraw(false)/取得屏幕的高度和宽度GetEnvironment(l_env)l_ScrWidth=PixelsToUnits(l_env.ScreenWidth,XpixelsToUnits!)l_ScrHeight=PixelsToUnits(l_env.ScreenHeight,YpixelsToUnits!

8、)/移动窗口到屏幕中间Move(l_scrwidth - this.width)/2,(l_scrheight - this.height)/2)/打开窗口刷新setredraw(true)管理员注册if sle_1.text= thenmessageBox(警告:,请输入资料!)returnend ifstring id ,numberid=sle_4.textint i,j /检查有无重号select user_idinto :ifrom user_informationwhere user_id=:id;if i0 then messageBox(警告:,账号重复,请重新输入!) ret

9、urnend ifnumber=sle_3.textselect administrator_numberinto :jfrom administratorwhere administrator_number=:number;if j0 then messageBox(警告:,职工号重复,请重新输入!) returnend if INSERT INTO administrator ( administrator_sex, administrator_name, user_password, user_id, administrator_number ) VALUES ( :sle_2.text

10、, :sle_1.text, :sle_5.text, :sle_4.text, :sle_3.text ) ; if (sqlca.sqlcode 0) then messagebox(,保存失败,错误:+sqlca.sqlerrtext) rollback; else commit using sqlca;messagebox(,保存成功) end ifclose(administrator_enroll)添加图书int nn=dw_1.rowcount()dw_1.insertrow(0)dw_1.scrolltorow(n+1)integer li_rc/ Accept the las

11、t data entered into the datawindowdw_1.AcceptText()/Check to see if any data has changed IF dw_1.ModifiedCount() 0 THEN li_rc = MessageBox(提示, & 是否保存所做的修改?, Question!, & YesNoCancel!, 3) /User chose to updata and close window IF li_rc = 1 THEN cb_4.triggerevent( Clicked!) RETURN 0 /User chose to clo

12、se window without updating ELSEIF li_rc = 2 THEN RETURN 0 /User canceled ELSE RETURN 1 END IFELSE / No changes to the data, window will just close RETURN 0 END IF图书查询string conditioncondition=book_number+=+sle_1.text+dw_1.setfilter(condition)filter(dw_1)sle_1.text=sle_1.setfocus()if dw_1.retrieve()=

13、0 then messagebox(提示,图书馆没有此书!)借书处理代码string Is_bookid,Is_cert_id,Il_m,Il_n,Il_f,Il_l,Il_p,checkdate Is_returndates datetime Is_loandates,Il_j,Il_kinteger Il_a,Is_flag,Il_v,Il_d,Il_bcheck=是if sle_1.text=then messagebox(缺少数据,请输入借书证书ID) sle_1.setfocus() returnelseif sle_2.text=then messagebox(缺少数据,请输入图书

14、编号) sle_2.setfocus() returnend ifIs_cert_id=sle_1.textIs_bookid=sle_2.textIs_loandates=datetime(today()Is_returndates=relativedate (today(),30)select return_dateinto:Il_jfrom borrower_informationwhere book_number=:Is_cert_id and borrowe_date:Is_loandates ;select book_numberinto:Il_mfrom bookwhere bo

15、ok_number=:Is_bookid;if Il_m Is_bookid then messagebox(信息错误,数据库内没有此图书信息!) sle_1.setfocus() returnend ifselect borrower_card_numberinto:Il_nfrom readerwhere borrower_card_number=:Is_cert_id;if Il_n Is_cert_id then messagebox(信息错误,数据库内不存在此证!) sle_1.setfocus() returnend ifselect borrow_or_notinto:Il_pf

16、rom bookwhere book_number=:Is_bookid;if Il_p=check then messagebox(信息错误,图书已借出!) sle_1.setfocus() returnend if select book_name into:Il_lfrom bookwhere book_number=:Is_bookid;insert into borrower_information(return_date,borrowe_date,borrower_card_number,book_number,book_name) values(:lib_date, :Is_lo

17、andates, :Il_n, :Il_m, :Il_l );UPDATE book SET borrow_or_not = 是 WHERE book_number=:Is_bookid; dw_1.retrieve(Is_cert_id)messagebox(提示信息,图书编号为+Is_bookid+的图书已借成功)/dw_1.update()sle_1.text=sle_2.text=em_1.text=sle_1.setfocus()还书代码string Is_cert_id,Is_bookid,Il_adatetime Il_k,Is_sjtime,l_returntime,l_loa

18、ndatestring Il_e,Il_h,Il_l,l_cid,l_bid,c_ciddouble m_money,emoney,sum,Is_priceinteger l_flagIs_bookid=sle_4.textIs_sjtime=datetime(today()Is_cert_id=sle_3.textif sle_3.text= then messagebox(缺少数据,请输入借书证书号) sle_3.setfocus() returnelseif sle_4.text= then messagebox(缺少数据,请输入图书编号) sle_4.setfocus() return

19、end if/判断证件是否借过书或借书证不存在select borrower_card_numberinto:c_cidfrom readerwhere borrower_card_number=:Is_cert_id;if c_cid sle_3.text then messagebox(信息错误,您的借书证号不存在,请询问管理员!) sle_3.setfocus() returnend if select book_numberinto:l_bidfrom borrower_informationwhere book_number=:Is_bookid;if l_bid sle_4.tex

20、t then messagebox(信息错误,该书未借出!) sle_4.setfocus() returnend ifUPDATE bookSET borrow_or_not = 否 WHERE book_number=:Is_bookid;messageBox(提示信息,图书编号为+Is_bookid+的图书已还书成功)delete from borrower_informationwhere book_number=:Is_bookid;sle_3.text=sle_4.text=sle_3.setfocus()修改密码string pwpw=SLE_2.TEXT /输入次数加1G_IN

21、PUT_TIME =G_INPUT_TIME+1/判断两次输入的新口令是否一致IF SLE_2.TEXT SLE_3.TEXT THEN IF G_INPUT_TIME 3 THEN MESSAGEBOX(警告,输入的次数太多!) CLOSE(CHANGE_PASSWORD) ELSE MESSAGEBOX(警告,两次输入的口令不一致,请重新输入) END IFELSE /判断输入的原口令是否正确 IF SLE_1.TEXT G_PWD THEN IF G_INPUT_TIME 3 THEN MESSAGEBOX(警告,输入的次数太多!) CLOSE(CHANGE_PASSWORD) ELSE

22、 MESSAGEBOX(警告,输入的原口令不正确,请重新输入) END IF ELSE /修改数据库中的该用户的口令 UPDATE user_information SET user_password =:pw WHERE user_id=:G_USER; MESSAGEBOX(注意,你的口令已经修改,请牢记) /提交修改,关闭口令修改窗口 commit using sqlca; CLOSE(CHANGE_PASSWORD) END IFEND IFif (sqlca.sqlcode 0) then messagebox(,保存失败,错误:+sqlca.sqlerrtext) rollback

23、; else commit using sqlca;messagebox(,保存成功) end if读者用户注册if sle_1.text= thenmessageBox(警告:,请输入资料!)returnend ifstring id ,numberid=sle_2.textint i,j /检查有无重号select user_idinto :ifrom user_informationwhere user_id=:id;if i0 then messageBox(警告:,账号重复,请重新输入!) returnend ifnumber=sle_5.textselect borrower_ca

24、rd_numberinto :jfrom readerwhere borrower_card_number=:number;if j0 then messageBox(警告:,借书证号重复,请重新输入!) returnend if INSERT INTO reader ( reader_sex, reader_name, user_password, user_id, borrower_card_number , reder_mobile_phone_number) VALUES ( :sle_4.text, :sle_1.text, :sle_3.text, :sle_2.text, :sl

25、e_5.text, :sle_6.text) ; if (sqlca.sqlcode 0) then messagebox(,保存失败,错误:+sqlca.sqlerrtext) rollback; else commit using sqlca;messagebox(,保存成功) end ifclose(reder_enroll)三系统功能上图为登录界面,点击进入可用借书卡号注册普通为普通用户这是普通用户注册界面填写上述信息可添加到数据库中登陆普通读者号登陆进入主程序读者可根据菜单选择相应的处理如图书查询图书管理 图书查询读者可根据图书编号、书名、作者、种类查询在查询窗口中还可查到图书是否已

26、被借出可在用户信息项查看自己的信息以及本人已借书籍的信息管理员账号登陆可以进行图书入库,删除,进行借还书处理,添加管理员,读者信息查询操作插入操作:点击窗口的添加按钮,在数据窗口中输入图书相应信息,让后点保存即可完成图书入库。删除:在数据窗口中选择要删除的行,点击删除即可。图书借还处理选择相应选项卡,如借书:输入借书证号,图书编号后点击确定完成借书处理管理员可查询更新读者基本信息选择查询种类,点击查询,在数据窗口中更改需要更改的信息,点击更新完成读者信息更新添加管理员输入相应信息后,点击添加,完成添加四心得体会在这次设计中,涉及到了之前关于PB学习的很多知识点,让我对一个软件的设计开发过程有了

27、更深的了解,重新复习了之前学习到的东西。查询曾经借过的书的记录和未还书的记录时不能全部显示,要出来对应证件号码的信息。在设计软件过程中遇到了很多困难,需要反复的改写,思考,有时候因为书看的不仔细或者上课的时候不认真,自己盲目的做而耽误了不少时间。不过多天来一直研究PB也使自己的PB编程和设计思想和水平有了稍许的提高。一开始,我觉得老师让做系统不如让我们笔试,但是经过编程、设计,使自己掌握了不少知识与技巧,这样实践性强的期末考试形式很好,可以真正的提高就业能力和动手能力。对于软件工程的学习,只有真正参与到设计和编程才能够积累经验,提高自己的软件编程能力。动手能力对于一个程序员来说至关重要。由于设

28、计系统开发经验不足,时间有限,而我的设计只能提供其基本的功能。还有许多的设想由于时间和自身和因素无法得以实现。虽然我们小组完成了系统的调研、分析、设计和调试的工作,但是仍然有许多不足之处。不过,至少它已经启发了自己的思维,提高了我的动手能力,这是我在课本中学不到的。它为我们在以后的工作岗位上发挥自己的才能奠定了坚实的基础。 心得体会这次选用的编程工具是Power Builder9.0,对于一个数据库软件的开发,PB对数据库的操作很方便,特别是提供的数据窗口控件这次程序设计复习巩固了以前学习的数据库知识,进一步掌握了PB的一些基本操作,了解到一些程序设计的基本过程,学习到一些追踪程序错误及解决问题的方法。通过这次程序实践让增强了自己的动手能力也我了解到自己的许多不足,一些设想的功能也未能实现,希望随着以后知识和经验的累计能够设计出更加完善的程序。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1