图书馆管理系统的设计与开发.docx
- 文档编号:18232100
- 上传时间:2023-08-14
- 格式:DOCX
- 页数:19
- 大小:442.62KB
图书馆管理系统的设计与开发.docx
《图书馆管理系统的设计与开发.docx》由会员分享,可在线阅读,更多相关《图书馆管理系统的设计与开发.docx(19页珍藏版)》请在冰点文库上搜索。
图书馆管理系统的设计与开发
程序设计实训(VisualFoxpro)
图书馆管理系统的设计与开发
专业班级:
外国语学院英语08-2班
指导教师:
李老师,崔老师
姓 名:
汤新杰(08111216)
林皓月(08111217)
王妍(08111221)
李杰(08111201)
时间:
2009.8.23--2009.8.27
目录
第1章需求分析3
1.1系统目标3
1.2主要内容3
第2章系统设计4
2.1功能模块设计4
2.2数据库设计9
第3章系统测试12
3.1测试内容及结果12
3.2系统存在的问题12
第4章结论13
4.1本系统特点13
4.2开发心得13
附录14
第1章需求分析
1.1系统目标
本图书馆管理系统是针对图书馆自动化管理需要而开发的信息管理系统。
该系统采用了VF程序设计语言,实现了馆内图书目录数据的共享,系统包括学生管理、图书管理、图书借阅、系统维护、帮助、退出六个子系统,内含学生维护、学生查询、图书维护、图书查找、图书打印、管理员注册等系统,能够适应小型图书馆自动化、网络化管理的需求。
1.2主要内容
系统主要分为学生管理(维护、查询、报表)、图书管理(维护、查找、打印)、图书借阅(学生借书、过期图书、图书排行榜)、系统维护(管理员注册、用户管理、院系管理)帮助、退出六部分。
主要操作流程及操作步骤见图1-1。
登陆密码
借阅
退出
查询
限三次
图书借阅
登陆
图书归还
帮助
图1-1图书馆管理系统流程图
第2章系统设计
2.1功能模块设计
该系统共有六部分,包括学生管理、图书管理、图书借阅、系统维护、帮助、退出。
学生管理,可以查到学生信息,同时登陆者可以添加新记录并保存。
图书管理,登录者可以根据书名、编号等查到图书信息
图书借阅,可以借阅图书,统计图书过期天数,并可以直观看出哪本书更受读者青睐。
系统维护,管理员注册一项可以更改登陆密码,用户管理及院系管理。
帮助,关于本系统的一些说明。
退出,退出整个系统。
2.1.1登陆界面
2.1.2学生管理
学生维护,学生查询,学生报表,图书打印(图略)
2.1.3图书管理
图书维护
图书查找
2.1.4图书借阅
学生借书
过期图书
图书借阅排行榜
2.1.5系统维护
管理员注册
用户管理
院系管理(图略)
2.1.6帮助界面
关于
2.1.7退出
2.2数据库设计
数据库的设计过程如图3-1所示。
在数据库设计过程中,需求分析和概念设计可以独立于任何数据库管理系统进行。
逻辑设计和物理设计与具体的数据库管理系统密切相关。
由于需求分析比较重要。
我们在设计的时候,花了比较多的时间。
在获得这些资料之后,进行分析。
从中提取有用的部分。
分析各种用户的权限。
需求分析说明书
概念数据库模式
独立于数据(高级数据模型)
库管理系统
与数据库管
理系统相关
逻辑数据库模式
(特定数据模型)
物理数据库模式
(特定的物理存储结构和存取方式)
图2-1数据库设计过程
1、概念数据库设计
数据库是依照某种数据模型组织起来并存放二级存储器中的数据集合。
这种数据集合具有如下特点:
尽可能不重复,以最优方式为某个特定组织的多种应用服务,其数据结构独立于使用它的应用程序,对数据的增、删、改和检索由统一软件进行管理和控制。
在这里我们利用数据库系统,结合我们所学知识,建立了一套利用计算机管理图书馆的程序,从而实现管理的智能化、简约化,减少人工管理费时费力,而且不精确易出错的弊端。
2、逻辑数据库设计
1t_user表:
表2-1用户表
字段名
类型
长度
说明
用户名
字符串
20字节
由用户自己录入,主键
口令
字符串
20字节
由用户设定,其长度可在3-20个字节之间
2book表:
表2-2书本信息表
字段名
类型
长度
说明
编号
字符串型
6字节
由用户输入,不允许为空
类别
字符串型
10字节
由用户输入,不允许为空
书名
字符串型
40字节
由用户输入,不允许为空
作者
字符串型
10字节
由用户输入,不允许为空
出版社
字符串型
40字节
由用户输入,允许为空
入库时间
时间型
8字节
由用户输入,不允许为空
借阅次数
数值(整)型
4字节
由计算机自行计次
定价
数值型
9字节
由用户输入,允许为空
是否借出
逻辑型
1字节
由计算机自行统计
备注
备注型
4字节
由用户输入,允许为空
3borrow表
表2-3图书借阅表
字段名
类型
长度
说明
学号
数值型
6字节
由用户输入,不允许为空
图书编号
字符型
6字节
由用户输入,不允许为空
借阅日期
日期型
8字符
由计算机自行统计
归还日期
日期型
8字符
由计算机自行统计
4dept表
表2-4系编号名称对应表
字段
类型
长度
说明
系编号
字符型
4字符
由用户输入,不允许为空
名称
字符型
10字符
由用户输入,不允许为空
5student表
表2-5学生信息表
字段
类型
长度
说明
学号
字符型
6字符
由用户输入,不允许为空
姓名
字符型
8字符
由用户输入,不允许为空
性别
字符型
2字符
由用户输入,不允许为空
系别
字符型
4字符
由用户输入,不允许为空
班级
字符型
6字符
由用户输入,不允许为空
电话
字符型
13字符
由用户输入,允许为空
地址
字符型
30字符
由用户输入,允许为空
备注
备注型
4字符
由用户输入,允许为空
第3章系统测试
3.1测试内容及结果
经验证,系统情况,简单概括如下:
内容:
系统的可行性和操作性
结果:
系统具备基本的学生管理、学生查询、报表打印、图书管理、维护、图书打印、借阅管理,过期天数统计,图书排行榜,管理员注册,用户管理、系统帮助等功能。
功能全面、操作简单,方便实用,界面多元化,美观大方,具有很大的可操作性及功能性。
3.2系统存在的问题
缺少学生照片、班级与院系的关联不紧密、学生无法注册成用户、没办法登录后查询书、查询借阅记录,图书管理员权限分配不明确,缺少从借书列表中点击还书、过期提醒,安全性能低。
第4章结论
4.1本系统特点
本系统是用VF作为开发工具,数据库管理的一个设备管理系统,它具有以下六大特点:
通用性、适用性强。
本系统并不追求功能是多么的强大,但基本功能是较全面的。
1.界面美观,操作方便:
本系统采用了windows图形用户界面,只需要用户会拼音录入以及简单的windows操作即可使用。
2.软件提供了帮助文件。
3.提供了自动录入数据功能,最大限度地减少了重复数据的录入量。
4.2开发心得
在此次设计的过程中,我有以下两点重要体会:
1、开发一个系统一定要处理好整体与局部的关系,应从整体着眼,从局部着手,循序渐进,否则欲速则不达。
2、开发的过程同时又是资料的积累和完善的过程。
这个问题看似简单,往往容易被忽略。
开发的系统越大,周期越长,建立好文档越重要。
3、开发时要注意团队间的配合
4、要勇于创新,比如此次开发我们就是联想到了QQ等软件注册密码时要确认密码,所以大家进过一番努力终于设计出了管理员注册界面,大家还想到一些,由于时间比较紧,而没有实施。
附录
附录A
A.1图书查询源代码
ublicBfind
BFind=".T."
IFNOTEMPTY(ALLTRIM(THISFORM.txt编号.VALUE))&&如果编号栏非空
BFind="'"+ALLTRIM(Thisform.txt编号.Value)+"'$编号"
ENDIF
IFNOTEMPTY(ALLTRIM(THISFORM.txt书名.VALUE))&&如果书名栏非
空
BFind=BFind+".AND."+"'"+ALLTRIM(THISFORM.txt书名.VALUE)+"'$
书名"
ENDIF
IFNOTEMPTY(ALLTRIM(THISFORM.txt类别.VALUE))&&如果类别栏非
空
BFind=BFind+".AND."+"'"+ALLTRIM(THISFORM.txt类别.VALUE)+"'$
类别"
ENDIF
*THISFORM.RELEASE()
DOFORMforms\bookfind
A.2图书借阅源代码
SELECTStudent
record1=RECNO()&&将记录编号储存
DOFORMforms\Input
SETEXACTON&&改为精确比较
IFBookNO<>""&&表示有输入图书编号
SELECTBook
LOCATEFOR编号=BookNO
IFNOTFOUND()&&表示找不到时
MESSAGEBOX("无此书号",48,"信息窗口")
SELECTStudent
GOrecord1&&回到原记录
ELSE
IF是否借出=.T.
MESSAGEBOX("书已借出",48,"信息窗口")
SELECTStudent
GOrecord1&&回到原记录
ELSE
SELECTborrow
COUNTFOR学号=ALLTRIM(THISFORM.ComNo.VALUE)AND
EMPTY(归还日期)TOn
IFn>=5
MESSAGEBOX("借书不能超过5册!
",48,"信息窗口")
SELECTStudent
GOrecord1&&回到原记录
ELSE
SELECTBOOK
REPLACE是否借出WITH.T.,借阅次数WITH借阅次
数+1FOR编号=BookNO
INSERTINTOborrow(学号,图书编号,借阅日期)
VALUES(ALLTRIM(THISFORM.ComNo.VALUE),BookNO,DATE())
MESSAGEBOX("借出成功",64,"信息窗口")
SELECTStudent
GOrecord1&&回到原记录
ENDIF
ENDIF
ENDIF
ENDIF
Thisform.Refresh()&&重新显示表单上各对
象的数据
SETEXACTOFF&&改回模糊比较
A3还书源代码
SELECTStudent
record1=RECNO()
DOFORMforms\Input
SETEXACTON&&改为精确比较
IFBookNO<>""&&表示有输入图书编号
SELECTBook
LOCATEFOR编号=BookNO
IFNOTFOUND()&&表示找不到时
MESSAGEBOX("无此书号",48,"信息窗口")
SELECTStudent
GOrecord1&&回到原记录
ELSE
IF是否借出=.F.
MESSAGEBOX("书未借出",48,"信息窗口")
SELECTStudent
GOrecord1&&回到原记录
ELSE
SELECTborrow
LOCATEFOR图书编号=BookNOAND学号=ALLTRIM(THISFORM.comno.VALUE)
IFFOUND()
SELECTBOOK
REPLACE是否借出WITH.F.FOR编号=BookNO
SELECTborrow
REPLACE归还日期WITHDATE()FOR图书编号=BookNOANDEMPTY(归还日期)
MESSAGEBOX("还入成功",64,"信息窗口")
ELSE
MESSAGEBOX("该学生未借此书",48,"信息窗口")
SELECTStudent
GOrecord1&&回到原记录
ENDIF
ENDIF
ENDIF
ENDIF
THISFORM.REFRESH()&&重新显示表单上各对象的数据
SETEXACTOFF&&改回模糊比较
A4管理员注册源代码
selectuser
locateforallt(thisform.Text1.value)==allt(用户)
iffound()
messagebox("操作失败,此用户已经存在!
",0+64,"错误")
else
messagebox("操作成功!
",0+64,"注册提示")
insertintouser(用户,口令)value(allt(thisform.Text1.value),allt(thisform.Text2.value))
endif
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图书馆 管理 系统 设计 开发
![提示](https://static.bingdoc.com/images/bang_tan.gif)