小型图书管理系统毕业设计

前言为了提高图书管理的工作效率,及时有效地了解各种信息,特开发此“小型图书管理系统”。该系统本着简单、实用、方便的宗旨,为管理人员、读者提供快捷有效的软件平台,从而,提高图书管理工作效率,节省大量人力和时间,提高了图书馆的信息化程度。本系统具有易学、易用的特点,用户可以很快掌握其操作方法,方便、快捷完成各项工作,正确无误地进行各种信息的处理工作。本系统是由本人在杨_、郗亚XX的指导下开发完成的。为了这次毕业设计本人做了大量的准备和努力,但由于本人知识和能力有限,系统难免存在许多不完善的地方甚至漏洞,敬请各位老师不吝提出宝贵建议,本人将不胜感激!

一、系统分析

1.1系统功能分析系统开发的总体任务是实现各种信息的系统化、归范化。图书管理是图书馆管理工作的重要组成部分,为了提高图书管理工作的效率,利用计算机和数据库技术设计开发了图书管理系统是图书管理工作的迫切需要。本系统的主要功能如下:l有关读者基本信息的输入,包括读者编号、读者类别、读者姓名、读者性别、工作单位、家庭住址、电话号码、电子邮件、办证日期、备注等。l读者基本信息的查询、修改,包括读者编号、读者姓名、读者类别、读者性别、工作单位、家庭住址、电话号码、电子邮件、办证日期、备注等。l图书信息的输入,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社、出日期、书籍价格、书籍类别、登记日期、备注信息等。l图书信息的查询、修改,包括书籍编号、书籍名称、书籍类别、作者姓名、出版社名称、出版日期、书籍价格、书籍类别、登记日期、备注信息等。l借书信息的输入,包括借书信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、备注等。l借书信息的查询、修改,包括借书信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、备注等。l还书信息的输入、查询和修改,包括还书信息编号、读者编号、读者姓名、书籍编号、书籍名称等。l还书信息的查询和修改,包括还书信息编号、读者编号、读者姓名、书籍编号、书籍名称等。

二、系统设计

2.1总体设计结构结构设计主要包括运行模式选择、操作系统选择、数据库管理系统选择、系统功能结构设计。选用单机模式,有一台奔腾以上的微型计算机,操作系统选择windows98/2000,开发工具选择power

8.0,数据库管理系统(D

8.0自带Sy

7.0。

2.2详细设计详细设计主要包括用户界面设计和数据库设计。用户界面设计用户运行该系统时,首先出现一个登录窗口,提示输入用户名或编号、密码,输入正确进入系统主窗口,如图:(2-1)图2-1主窗口的上部是菜单和工具栏,系统中的受所有功能通过选择菜单项或单击工具栏中的图标即可。通过选择各个菜单项或工具栏图标,分别进入各个具体界面,实现不同的操作功能。数据库设计l数据库需求分析系统的数据流程图如下:读者数据基本信息录入读者信息登记借阅信息借阅书籍数据基本信息录入书籍信息登记针对上述图书管理工作过程的内容和数据流程图分析,设计如下所述的数据项和数据结构。l读者信息,包括的数据项有:读者编号、读者类别、读者姓名、读者性别、工作单位、家庭住址、电话号码、电子邮件、办证日期、备注等。l图书信息,包括数据项有:书籍编号、书籍名称、书籍类别、作者姓名、出版社、出版日期、书籍价格、书籍类别、登记日期、备注信息等。l借书信息,包括数据项有:借书信息编号、读者编号、读者姓名、书籍编号、书籍名称、借书日期、备注等。l用户表信息,包括的数据项有:读者编号、读者姓名、权限。l图书类别信息,包括的数据项有:类别编号、图书类别。l数据库概念设计根据上面设计,规划出的实体有:读者信息实体、书籍信息实体、借阅信息实体、用户实体、读者信息实体。E-R图如图所示:读者信息实体读者信息登记读者信息登记读者姓名读者编号读者地址。书籍信息实体书籍名称书籍编号出版社。借阅信息实体书籍名称借阅编号借阅日期。读者信息管理书籍信息管理借阅书籍借阅信息管理m

(1)(E-R图)l数据库逻辑结构设计图书管理系统各个表设计如下:(图书信息表)(书籍类别表)(借阅信息表)(读者信息表)(用户表)(各个表的主键)

三、系统实施在系统中主要实现对图书信息、读者信息、借阅信息以及用户表中数据的增、删、改、查询等功能。.建立应用对象设置SQLCA的属性以及数据库的连接参数应用对象OPEN事件脚本如下:/ProfileguoshushengSQLC

c.D

XXX

c.D

XXX

XXX)returnendif/打开启动窗口open(w_start)idle

(10)在事件中加入如下脚本:disconnectusingsqlca;.2登录界面窗口对于该信统用户分为三类:系统管理员、数据管理员、普通用户。登录窗口w_login的主要是验证用身份并确定权限,如图所示:其登录按钮代码如下:ifsle_

XXX

XXX

XXX

XXXuselseG_INPUT_TIME=G_INPUT_TIME+1G_USER=sle_

XXX

XXX取出数据库用户口令表格中对应用户的口令SELECTuser_PWD,purviewINTO:CORRECT_PSWD,:G_rightFROMUSER_infoWHEREuser_id=:G_USERorusername=:G_USER;/将数据库中保存的口令和用户输入的口令作比较IFG_PWD=CORRECT_PSWDTHEN/输入正确,打开主窗口OPEN(W_MAIN)CLOSE(W_LOGIN)ELSE/不正确,在3次以内可重新输入,超过3次结束程序IFG_INPUT_TIME3THENMESSAGE

3.3启动界面设计OPEN事件代码如下:prog+hp

XXX

XXX(prog)+%ifprog=100thentimer(0)w_stXXX

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_readers_grid,w_main,6,layered!)opensheet(w_readers_find,w_main,6,layered!)opensheet(w_

XXX

XXX

XXX

XXX

XXX

XXX取出数据库用户口令表格中对应用户的口令SELECTuser_PWD,purviewINTO:CORRECT_PSWD,:G_rightFROMUSER_infoWHEREuser_id=:G_USERorusername=:G_USER;/将数据库中保存的口令和用户输入的口令作比较IFG_PWD=CORRECT_PSWDTHEN/输入正确,打开主窗口OPEN(W_MAIN)/setredraw(false)CLOSE(W_LOGIN_re)ELSE/不正确,在3次以内可重新输入,超过3次结束程序IFG_INPUT_TIME3THENMESSAGE

XXX

1.3ena

XXX

XXX

XXX

2.te_tWHEREuser_id=:G_USERorusername=:G_USER;MESSAGE

XXX(0)/dw_1getthefocusdw_

XXX到当前行dw_

XXX(G_RowNum

XXX

(1)删除按钮代码如下:/得到当前记录G_RowNum

XXX将当前记录中的员工号取出赋值给全局变量emp_nodeleterow(dw_1,g_rownum

Question!,YesNoCancel!,3)ifa=1thenc

XXX(Clicked!)elsedw_

XXX保存按钮代码如下:ifupdate(dw_1,true,false)=1then/保存修改成功,提交修改dw_

XXX;message

XXX

XXX

Question!,&YesNoCancel!,3)/UserchosetoupdataandclosewindowIFli_rc=1THENc

XXX(Clicked!)RETURN0/UserchosetoclosewindowwithoutupdatingELSEIFli_rc=2THENRETURN0/UsercanceledELSERETURN1ENDIFELSE/Nochangestothedata,windowwilljustcloseRETURN0ENDIF添加读者信息界面如下:前一条:/定义参数当前行行数integerrow_current/数据窗口向前滚动一条记录row_current=dw_

XXXw/如果已经到达

第一条记录,则弹出一个对话框警告ifrow_current=1thenMessage

XXX得到表的总行数row_count=dw_

XXX判断是否是最后一条记录ifrow_current=row_countthenMessage

XXX;/message

XXX;message

XXX(0)/dw_1getthefocusdw_

XXX到当前行dw_

XXX(G_RowNum

XXX

(1)删除:/得到当前记录G_RowNum

XXX将当前记录中的员工号取出赋值给全局变量emp_nodeleterow(dw_1,g_rownum

Question!,YesNoCancel!,3)ifa=1thenc

XXX(Clicked!)elsedw_

XXX事件:integerli_rc/Acceptthelastdataenteredintothedatawindowdw_

XXX

XXX

Question!,&YesNoCancel!,3)/UserchosetoupdataandclosewindowIFli_rc=1THENc

XXX(Clicked!)RETURN0/UserchosetoclosewindowwithoutupdatingELSEIFli_rc=2THENRETURN0/UsercanceledELSERETURN1ENDIFELSE/Nochangestothedata,windowwilljustcloseRETURN0ENDIF退出:integerli_rc/Acceptthelastdataenteredintothedatawindowdw_

XXX

XXX

Question!,&YesNoCancel!,3)/UserchosetoupdataandclosewindowIFli_rc=1THENc

XXX(Clicked!)RETURN0/UserchosetoclosewindowwithoutupdatingELSEIFli_rc=2THENRETURN0/UsercanceledELSERETURN1ENDIFELSE/Nochangestothedata,windowwilljustcloseRETURN0ENDIF修改读者信息界面如下:添加:/insertarowintheendofdw_1g_RowNum

XXX(0)/dw_1getthefocusdw_

XXX到当前行dw_

XXX(G_RowNum

XXX

(1)删除:/得到当前记录G_RowNum

XXX将当前记录中的员工号取出赋值给全局变量emp_nodeleterow(dw_1,g_rownum

Question!,YesNoCancel!,3)ifa=1thenc

XXX(Clicked!)elsedw_

XXX保存:ifupdate(dw_1,true,false)=1then/保存修改成功,提交修改dw_

XXXpdatecommit;message

XXX(0)/dw_1getthefocusdw_

XXX到当前行dw_

XXX(G_RowNum

XXX

(1)删除:/得到当前记录G_RowNum

XXX将当前记录中的员工号取出赋值给全局变量emp_nodeleterow(dw_1,g_rownum

Question!,YesNoCancel!,3)ifa=1thenc

XXX(Clicked!)elsedw_

XXX保存:ifupdate(dw_1,true,false)=1then/保存修改成功,提交修改dw_

XXX;message

XXX如果已经到达

第一条记录,则弹出一个对话框警告ifrow_current=1thenMessage

XXX得到表的总行数row_count=dw_

XXX判断是否是最后一条记录ifrow_current=row_countthenMessage

XXX;message

XXX(0)/dw_1getthefocusdw_

XXX到当前行dw_

XXX(G_RowNum

XXX

(1)删除:/得到当前记录G_RowNum

XXX将当前记录中的员工号取出赋值给全局变量emp_nodeleterow(dw_1,g_rownum

Question!,YesNoCancel!,3)ifa=1thenc

XXX(Clicked!)elsedw_

XXX退出:/定义两个变量intMCount/修改后没有保存的行数intUpdateOrNot/是否修改/得到修改后没有保存的行数MCount=w_

XXX没有未保存的修改close(w_

Question!,YesNoCancel!)ifUpdateOrNot=1then/保存ifupdate(w_

XXX;else/保存修改失败,取消所作的修改roll

XXX(0)/dw_1getthefocusdw_

XXX到当前行dw_

XXX(G_RowNum

XXX

(1)删除:/得到当前记录G_RowNum

XXX将当前记录中的员工号取出赋值给全局变量emp_nodeleterow(dw_1,g_rownum

Question!,YesNoCancel!,3)ifa=1thenc

XXX(Clicked!)elsedw_

XXX保存:ifupdate(dw_1,true,false)=1then/保存修改成功,提交修改dw_

XXX;message

预览已结束,下载原文档直接使用
查看全文
若对以上有内容有疑问请反馈或举报举报
声明:
您购买的是此内容的word文档,付费前可通过免费阅读辨别合同。非质量问题不退款,如需帮助可咨询客服【客服微信】