小型图书管理系统毕业设计.doc
《小型图书管理系统毕业设计.doc》由会员分享,可在线阅读,更多相关《小型图书管理系统毕业设计.doc(47页珍藏版)》请在三一办公上搜索。
1、前言为了提高图书管理的工作效率,及时有效地了解各种信息,特开发此“小型图书管理系统”。该系统本着简单、实用、方便的宗旨,为管理人员、读者提供快捷有效的软件平台,从而,提高图书管理工作效率,节省大量人力和时间,提高了图书馆的信息化程度。本系统具有易学、易用的特点,用户可以很快掌握其操作方法,方便、快捷完成各项工作,正确无误地进行各种信息的处理工作。本系统是由本人在杨成、郗亚辉老师的指导下开发完成的。为了这次毕业设计本人做了大量的准备和努力,但由于本人知识和能力有限,系统难免存在许多不完善的地方甚至漏洞,敬请各位老师不吝提出宝贵建议,本人将不胜感激! 一、系统分析1.1系统功能分析 系统开发的总体
2、任务是实现各种信息的系统化、归范化。图书管理是图书馆管理工作的重要组成部分,为了提高图书管理工作的效率,利用计算机和数据库技术设计开发了图书管理系统是图书管理工作的迫切需要。本系统的主要功能如下:l 有关读者基本信息的输入,包括读者编号、读者类别、读者姓名、读者性别、工作单位、家庭住址、电话号码、电子邮件、办证日期、备注等。l 读者基本信息的查询、修改,包括读者编号、读者姓名、读者类别、读者性别、工作单位、家庭住址、电话号码、电子邮件、办证日期、备注等。l 图书信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社、出日期、书籍价格、书籍类别、登记日期、备注信息等。l 图书信息的查询、
3、修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、书籍价格、书籍类别、登记日期、备注信息等。l 借书信息的输入,包括借书信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、备注等。l 借书信息的查询、修改,包括借书信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、备注等。l 还书信息的输入、查询和修改,包括还书信息编号、读者编号、读者姓名、书籍编号、书籍名称等。l 还书信息的查询和修改,包括还书信息编号、读者编号、读者姓名、书籍编号、书籍名称等。二、系统设计2.1总体设计结构结构设计主要包括运行模式选择、操作系统选择、数据库管理系统选择、系统功能结构设计
4、。选用单机模式,有一台奔腾以上的微型计算机,操作系统选择windows 98/2000,开发工具选择powerbuilder8.0,数据库管理系统(DBMS)选择powerbuilder8.0自带Sybase SQL anywhere 7.0。2.2详细设计详细设计主要包括用户界面设计和数据库设计。 用户界面设计用户运行该系统时,首先出现一个登录窗口,提示输入用户名或编号、密码,输入正确进入系统主窗口,如图:(2-1) 图2-1主窗口的上部是菜单和工具栏,系统中的受所有功能通过选择菜单项或单击工具栏中的图标即可。通过选择各个菜单项或工具栏图标,分别进入各个具体界面,实现不同的操作功能。 数据库
5、设计l 数据库需求分析 系统的数据流程图如下:读者数据基本信息录入读者信息登记 借阅信息借阅 书籍数据基本信息录入书籍信息登记 针对上述图书管理工作过程的内容和数据流程图分析,设计如下所述的数据项和数据结构。l 读者信息,包括的数据项有:读者编号、读者类别、读者姓名、读者性别、工作单位、家庭住址、电话号码、电子邮件、办证日期、备注等。l 图书信息,包括数据项有:书籍编号、书籍名称、书籍类别、作者姓名、出版社、出版日期、书籍价格、书籍类别、登记日期、备注信息等。l 借书信息,包括数据项有:借书信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、备注等。l 用户表信息,包括的数据项有:读者
6、编号、读者姓名、权限。l 图书类别信息,包括的数据项有:类别编号、图书类别。l 数据库概念设计根据上面设计,规划出的实体有:读者信息实体、书籍信息实体、借阅信息实体、用户实体、读者信息实体。E-R图如图所示:读者信息实体读者信息登记读者信息登记读者姓名读者编号读者地址 。书籍信息实体书籍名称书籍编号出版社。借阅信息实体书籍名称借阅编号借阅日期。读者信息管理书籍信息管理借阅书籍借阅信息管理m(1) ( E-R图)l 数据库逻辑结构设计图书管理系统各个表设计如下:(图书信息表)(书籍类别表)(借阅信息表)(读者信息表)(用户表)(各个表的主键)三、系统实施在系统中主要实现对图书信息、读者信息、借阅
7、信息以及用户表中数据的增、删、改、查询等功能。.建立应用对象设置SQLCA的属性以及数据库的连接参数应用对象OPEN事件脚本如下:/ Profile guoshushengSQLCA.DBMS = ODBCSQLCA.AutoCommit = FalseSQLCA.DBParm = ConnectString=DSN=guoshusheng;UID=dba;PWD=sqlCONNECT;/错误处理if sqlca.sqlcode 0 then MessageBox (Cannot Connect to Database, sqlca.sqlerrtext) returnend if/打开启动窗
8、口open(w_start)idle(10)在事件中加入如下脚本:disconnect using sqlca;.2登录界面窗口对于该信统用户分为三类:系统管理员、数据管理员、普通用户。登录窗口w_login的主要是验证用身份并确定权限,如图所示:其登录按钮代码如下:if sle_1.text = then/pop a message boxmessagebox(PayAttention!,The user name cant be null)/sle_1 get the focussle_1.setfocus()elseif sle_2.text = then/pop a message b
9、oxmessagebox(PayAttention!,The password cant be null)/sle_2 get the focussle_2.setfocus()elseG_INPUT_TIME =G_INPUT_TIME+1G_USER = sle_1.textG_PWD =sle_2.text/取出数据库用户口令表格中对应用户的口令SELECT user_PWD ,purview INTO :CORRECT_PSWD,:G_right FROM USER_info WHERE user_id=:G_USER or username=:G_USER;/将数据库中保存的口令和用
10、户输入的口令作比较IF G_PWD=CORRECT_PSWD THEN/输入正确,打开主窗口OPEN(W_MAIN)CLOSE(W_LOGIN)ELSE/不正确,在3次以内可重新输入,超过3次结束程序IF G_INPUT_TIME 3 THENMESSAGEBOX(警告,输入用户口令的次数太多!)CLOSE(W_LOGIN)ELSEMESSAGEBOX(警告,输入的用户口令有误,请重新输入)END IFEND IFend ifclose(w_start) (W_login)3.3启动界面设计OPEN事件代码如下:prog+hpb_1.position=progst_2.text=string(
11、prog)+%if prog=100 thentimer(0)w_start.visible=falseopen(w_login)end ifw_start.屏幕保护界面 (w_screen)3.4 菜单设计菜单项代码如下:opensheet (w_login_re,w_main,6,layered!)opensheet (w_change_password,w_main,6,layered!)opensheet (w_user,w_main,6,layered!)close(w_main) opensheet (w_readers,w_main,6,layered!)opensheet (w
12、_readers_grid,w_main,6,layered!)opensheet (w_readers_find,w_main,6,layered!)opensheet (w_books,w_main,6,layered!)opensheet (w_books_grid,w_main,6,layered!)opensheet (w_books_find,w_main,6,layered!)opensheet (w_borrow,w_main,6,layered!) opensheet (w_return,w_main,6,layered!)opensheet (w_borrow_find,w
13、_main,6,layered!)opensheet (w_store,w_main,6,layered!)opensheet (w_kucun,w_main,6,layered!)W_MAIN.ArrangeSheets(CASCADE!)W_MAIN.ArrangeSheets(LAYER!)close(w_about)close(w_books)close(w_books_find)close(w_books_grid)close(w_borrow)close(w_borrow_find)close(w_change_password)close(w_kucun)close(w_logi
14、n)close(w_login_re)close(w_readers)close(w_readers_find)close(w_readers_grid)close(w_return)close(w_user)opensheet (w_about,w_main,6,original!)重新登录界面如下:确定按钮代码如下:string correct_pswdif sle_1.text = then/pop a message boxmessagebox(PayAttention!,The user name cant be null)/sle_1 get the focussle_1.setf
15、ocus()elseif sle_2.text = then/pop a message boxmessagebox(PayAttention!,The password cant be null)/sle_2 get the focussle_2.setfocus()elseG_INPUT_TIME =G_INPUT_TIME+1G_USER = sle_1.textG_PWD =sle_2.text/取出数据库用户口令表格中对应用户的口令SELECT user_PWD ,purview INTO :CORRECT_PSWD,:G_right FROM USER_info WHERE use
16、r_id=:G_USER or username=:G_USER;/将数据库中保存的口令和用户输入的口令作比较IF G_PWD=CORRECT_PSWD THEN/输入正确,打开主窗口OPEN(W_MAIN)/setredraw(false) CLOSE(W_LOGIN_re)ELSE/不正确,在3次以内可重新输入,超过3次结束程序IF G_INPUT_TIME 3 THENMESSAGEBOX(警告,输入用户口令的次数太多!)CLOSE(W_LOGIN_re)ELSEMESSAGEBOX(警告,输入的用户口令有误,请重新输入)END IFEND IFend ifif G_right1 the
17、n m_main.m_1.m_13.enabled=falseend if修改用户信息界面如下:确定按钮代码如下:/输入次数加1G_INPUT_TIME =G_INPUT_TIME+1/判断两次输入的新口令是否一致IF SLE_2.TEXT SLE_3.TEXT THENIF G_INPUT_TIME 3 THENMESSAGEBOX(警告,输入的次数太多!)CLOSE(W_CHANGE_PASSWORD)ELSEMESSAGEBOX(警告,两次输入的口令不一致,请重新输入)END IFELSE/判断输入的原口令是否正确IF SLE_1.TEXT G_PWD THENIF G_INPUT_TI
18、ME 3 THENMESSAGEBOX(警告,输入的次数太多!)CLOSE(W_CHANGE_PASSWORD)ELSEMESSAGEBOX(警告,输入的原口令不正确,请重新输入)END IFELSE/修改数据库中的该用户的口令UPDATE user_infoSET user_pwd=:sle_2.text WHERE user_id=:G_USER or username=:G_USER;MESSAGEBOX(注意,你的口令已经修改,请牢记)/提交修改,关闭口令修改窗口 COMMIT;CLOSE(W_CHANGE_PASSWORD)END IFEND IFOPEN事件代码如下:/将全局变量-
19、输入用户名和口令的次数赋初值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!)/移动窗口到屏幕中间Move(l_scrwidth - this.width)/2,(l_scr
20、height - this.height)/2)/打开窗口刷新setredraw(true)用户管理界面如下:添加按钮代码如下:/insert a row in the end of dw_1g_RowNumber=dw_1.InsertRow(0)/dw_1 get the focusdw_1.SetFocus()/到当前行dw_1.ScrollToRow(G_RowNumber) /the first column get the focusdw_1.SetColumn(1)删除按钮代码如下:/得到当前记录 G_RowNumber=dw_1.getrow()/将当前记录中的员工号取出赋值给
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 小型图书管理系统 毕业设计 小型 图书 管理 系统
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-3942182.html