收藏 分销(赏)

图书馆管理系统3.doc

上传人:人****来 文档编号:3899627 上传时间:2024-07-23 格式:DOC 页数:25 大小:887KB
下载 相关 举报
图书馆管理系统3.doc_第1页
第1页 / 共25页
图书馆管理系统3.doc_第2页
第2页 / 共25页
图书馆管理系统3.doc_第3页
第3页 / 共25页
图书馆管理系统3.doc_第4页
第4页 / 共25页
图书馆管理系统3.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、数据库课程设计报告设计题目: 图书馆管理系统 学生姓名: 系 别: 专 业: 班 级: 学 号: 指导教师: 评阅意见:目 录1系统需求分析31.1 用户对功能的需求31.2 数据流图42 、图书馆管理系统数据字典72.1 数据结构描述82.2 数据流的描述82.3 主要数据存储的定义103、数据库设计113.1数据库概念结构设计113.2数据库逻辑结构设计134、图书管理系统使用说明15.图书管理系统登录界面154.2 图书管理系统图书管理界面174.3 新书审核界面184.4 查询界面194.5 借阅者及还书界面215、总结221系统需求分析1.1 用户对功能的需求图书馆工作人员对功能的需

2、求细分如下:1、管理员信息的输入,查询,修改; 2、书籍信息的输入,查询,修改; 3、借书信息的输入。 4、还书信息的输入。5、读者信息的查询。读者对功能的需求1、图书信息检索:范围可按书名,作者,出版社,类别等检索款目进行任意条件组合精确或模糊检索,最快时间查找目标书籍;2、读者个人信息的输入、修改。查询。建立读者个人信息档案,获取当前读者的个人信息。并根据学号查询当前读者当前的借书情况,历史借书情况等。1.2 数据流图2 、图书馆管理系统数据字典数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程五个部分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通

3、过对数据项和数据结构的定义来描述数据流、数据存储的逻辑内容。2.1 数据结构描述名称:图书(library)含义说明:图书基本信息组成结构:条形码+编号+书名+分类+出版日期+价格+库存+借出+在库名称:借阅者(user)含义说明:办理借书证的人员组成结构:借阅号+姓名+性别+年龄+借阅数+已借数+欠还罚单+上次归还+最近借阅名称:购书(buybook)含义说明:所购书和购书单位的说明组成结构:图书编号+书名+购书单位+联系电话+入库时间+数量2.2 数据流的描述数据流名称:借书单 简述:借阅者数据流来源:借阅者数据流去向:借阅者数据流组成:图书编号+书名+借阅证号等 数据流名称:不合格借书单

4、 简述:经借书处理模块验证不合格的借书单数据流来源:借书处理模块数据流去向:借阅者数据流组成:图书编号+书名+借阅证号等数据流名称: 借书清单 简述:经借书处理模块处理后的借书情况数据单数据流来源:借书处理模块数据流去向:图书库存情况存档数据流组成:图书编号+图书名+借阅日期+借阅证号+管理员编号等 数据流名称: 图书 简述:借阅者从图书馆所借的图书数据流来源:借书处理模块数据流去向:借阅者数据流组成:图书编号+图书名 +出版日期+入库日期+作者+单价等数据流名称: 图书 简述:借阅者要准备归还给图书馆的图书数据流来源:借阅者数据流去向:还书处理模块数据流组成:图书编号+图书名+出版日期+入库

5、日期+作者+单价等 数据流名称:还书清单 简述:还书信息清单数据流来源:还书处理模块数据流去向:图书库存情况存档数据流组成:图书编号+图书名+借阅证号+还书日期等 数据流名称:订书单 简述:订购新书的信息单数据流来源:采购员数据流去向:购书处理模块数据流组成:图书名+图书数量+价格+采购单位名称+图书出版社+出版日期等数据流名称:购书清单 简述:购买图书后的信息单数据流来源:购书处理模块数据流去向:管理员数据流组成: 图书名+图书数量+价格+采购单位+联系电话等 数据流名称: 入库新书清单 简述:准备入库图书信息单数据流来源:管理员数据流去向:新书入库处理模块数据流组成:图书编号+图书名+数量

6、+入库日期等数据流名称: 入库清单 简述:刚新入库图书的信息单数据流来源:新书入库处理模块数据流去向:图书库存情况存档数据流组成:图书编号+图书名+数量+入库日期等数据流名称:销书计划 简述:准备从书库中撤除一部分图书的计划数据流来源:管理员数据流去向:销书处理模块数据流组成:图书编号+图书名称+入库日期+管理员编号+日期+数量等数据流名称:销书清单 简述:通过销书处理刚从书库中撤除的图书信息单数据流来源:销书处理模块数据流去向:图书库存情况存档数据流组成:图书编号+图书名称+入库日期+管理员编号+出库日期+数量+ 总价等2.3 主要数据存储的定义(1)存储名称:图书记录 输入:流水号 输出:

7、图书所有信息及是否借出 数据结构:流水号+分类号+索取号+书名+作者+价格+出版社+出版日期+是否借出(2)存储名称:读者记录 输入:学号 输出:读者信息及借书记录(所借书的流水号) 数据结构:学号+姓名+流水号+书名+应还日期(3)存储名称:借阅记录 输入: 书号+读者编号+职工编号 输出:图书的借阅记录信息 数据结构:流水号学号+职工编号+书名+借书日期+应还日期归还标记(4)存储名称:归还记录 输入:书号 输出:图书的归还记录信息 数据结构:流水号+学号+书名+还书日期(5)存储名称: 输入:职工编号 输出:职工信息 数据结构:职工编号+密码姓名+性别+联系电话所属部门3、数据库设计3.

8、1数据库概念结构设计1.数据库需要表述的信息有以下几种:(1)图书信息(2)借阅者信息(3)购书信息通过分析整理可得图书管理系统E-R图为:MN购书信息图书编号购书单位书名入库时间数量联系电话入库图书信息作者分类书名出版日期价格库存借出在库编号借还书 借阅者信息姓名性别年龄最近借阅欠还罚单借阅者号性别借阅数已借出由系统图可得其主要数据流和主要处理过程:. 主要数据流定义(1)数据流名称:图书信息 定义:编号+书名+作者+分类+出版日期+价格+库存+借出+在库 (2)数据流名称:借阅者信息定义:借阅号+姓名+性别+年龄+借阅数+已借数+欠还罚单+上次归还+最近借阅 (3)数据流名称:购书信息 定

9、义:图书编号+书名+购书单位+联系电话+入库时间+数量3.2数据库逻辑结构设计通过E/R模型到关系模型的转化,可以得到如下关系模式:图书(条形码,编号,书名,分类,出版日期,价格,库存,借出+在库)。借阅者(借阅号,姓名,性别,年龄,借阅数,已借数,欠还罚单,上次归还,最近借阅)。购书(图书编号,书名,购书单位,联系电话,入库时间+数量)。 数据项名别名数据类型长度图书编号bknovarchar20书名bknvarchar8作者bkauthorvarchar6分类bkkindvarchar20出版日期bktimevarchar4单价blcasefloat8库存Kucunshuint4借出bkb

10、orrowint4在库bkliveint4表2-2 采购信息数据项名别名数据类型长度图书编号bknovarchar10书名bknvarchar20购书单位bkavarchar50联系电话bktpvarchar11入库时间bksyrevarchar10数量bknumint4表2-4 借阅者信息数据项名别名数据类型长度借阅号bnovarchar10姓名bnvarchar20性别sexvarchar2年龄bageint4借阅数bbwint4已借阅bbwint4欠还罚单bpunishfloat8上次归还brecordvarchar10最近借阅brendchar10每个关系模式的主键码都用下划线标出。(

11、1)流水号是图书的键码,每本书有唯一的流水号。一个读者可以同时借阅多本书,(2)同一本书可以借给不同的同学,同一个读者可以再次借同一本书。于是借书关系的键码为流水号,学号和借书日期的组合。(3)要知道图书当前的状态,是在图书馆存放还是被借阅。需要在图书的模式中增加对应项用以表示图书当前的状态,现在增加库存项。3.3.2数据库前台的设计根据数据库的设计,该图书管理系统可以分成三个子模块:1、图书管理系统管理模块2、图书管理系统购书模块3、图书管理模块查询模块根据四个模块的不同功能,可以分别设计不同的操作界面,以实现其功能。根据不同模块的权限不同,设计登录界面,根据不同的权限访问不同的子系统。 4

12、、图书管理系统使用说明.图书管理系统登录界面(1) 界面界面核心代码:LRESULT CALLBACK WndProc(HWND hwnd,UINT msg,WPARAM wparam,LPARAM lparam)PAINTSTRUCT ps;switch(msg)case WM_SIZE:cxClient=LOWORD(lparam);cyClient=HIWORD(lparam);break;case WM_PAINT:hdc=BeginPaint(hwnd,&ps);ShowWindow(hwnd,SW_SHOWMAXIMIZED); hmendc=CreateCompatibleDC(

13、hdc);hbitmap=CreateCompatibleBitmap(hdc,cxClient,cyClient);SelectObject(hmendc,hbitmap);for (i=0;iEdit();m_pSet-m_bkno=m_bkno2;m_pSet-m_bkn=m_bkn2;m_pSet-m_bkauthor=m_bkauthor2;m_pSet-m_bkkind=m_bkkind2;m_pSet-m_bktime=m_bktime2;m_pSet-m_bkcost=m_bkcost2;m_pSet-m_bksave=m_bksave2;m_pSet-m_bkborrow=m

14、_bkborrow2;m_pSet-m_bklive=m_bklive2;m_pSet-Update();m_pSet-Requery();MessageBox(记录修改成功);UpdateData(FALSE);4.3 新书审核界面(3) 新书审核界面购书模块核心代码:void CMyView:Ontongji() UpdateData(TRUE);CString str= ;while(m_list.GetCount()0)m_list.DeleteString(0);m_pSet-MoveFirst();while(m_pSet-IsEOF()!=1)str.Format(%s %30s

15、 %16s %16s %16s %8d,m_pSet-m_bkno,m_pSet-m_bkn,m_pSet-m_bka,m_pSet-m_bktp,m_pSet-m_bksave,m_pSet-m_bknum);m_list.AddString(str);m_pSet-MoveNext();UpdateData(FALSE);4.4 查询界面(4) 查询界面图书查询模块核心代码:oid CMyView:OnButton2() UpdateData(TRUE);CString str= ;while(m_list.GetCount()0)m_list.DeleteString(0);m_pSet

16、-MoveFirst();while(m_pSet-IsEOF()!=1)if (strcmp(m_pSet-m_bkn,m_bkn)=0 | strcmp(m_bkno,m_pSet-m_bkno)=0 | m_pSet-m_bksave=m_bksave | strcmp(m_pSet-m_bktime,m_bktime)=0| m_pSet-m_bklive=m_bklive | strcmp(m_pSet-m_bkkind,m_bkkind)=0 | m_pSet-m_bkcost=m_bkcost | m_pSet-m_bkborrow=m_bkborrow | strcmp(m_p

17、Set-m_bkauthor,m_bkauthor)=0)str.Format(%8s %8s%8s%8s%8s%12f%8d%8d%8d,m_pSet-m_bkno,m_pSet-m_bkn,m_pSet-m_bkauthor,m_pSet-m_bkkind,m_pSet-m_bktime,m_pSet-m_bkcost,m_pSet-m_bksave,m_pSet-m_bkborrow,m_pSet-m_bklive);m_list.AddString(str);m_pSet-MoveNext();UpdateData(FALSE);else m_pSet-MoveNext();4.5 借

18、阅者及还书界面 (5)借阅者及借书还书界面借阅者模块核心代码:void CMy2View:Ontianjia() m_pSet-AddNew();UpdateData(TRUE);m_pSet-Update();m_pSet-MoveLast();m_pSet-Requery();MessageBox(添加成功!);UpdateData(FALSE);void CMy2View:Onshanchu() m_pSet-Delete();m_pSet-Requery();MessageBox(已经删除当前记录);UpdateData(FALSE);void CMy2View:Onxiugai()

19、m_pSet-Edit();UpdateData(TRUE);m_pSet-Update();m_pSet-Requery();MessageBox(修改成功!);UpdateData(FALSE);5、总结本设计使用Microsoft SQL Server 2000创建后台数据库,使用MFC作为前台操作界面实现对图书管理系统的功能操作。本图书管理系统实现了图书管理的基本功能,经过调试运行,表明该系统具有可行性和可扩充性。但数据库还有待进一步的完善与规划,操作系统还有待于进一步的改善,使系统更加高效,更加人性化。通过几周的设计练习,从系统的需求分析开始,到概念设计,逻辑设计,再到最后的系统实施

20、与维护,一步步走下来虽然感觉有点累,但每一步都获益匪浅。认认真真完成每一步,直到完成整个系统之后,忽然有一种破茧而出的感觉。从这个设计中,不仅仅从实践中巩固提高了数据库的相关知识,体会了设计一个系统的过程,更学到了一种设计分析的思想,一种能力。我们这组分工合作,我主要编写代码实现程序的运行。一开始真的不知道怎么开始,并不是由于自己数据库知识基础差,而是既要管理后台设计前台的课程设计还是头一会尝试,为此,我上网找了很多资料,借鉴了很多其他系统的精髓,一点一滴的设计管理界面,一步一步将BUG解决掉,然后慢慢地这个图书管理系统就有个雏形了,最后再经过多次调试把图书管理系统的借书,还书,添加图书,修改图书,删除图书,管理图书等功能基本实现了。在这期间,无形中锻炼了我分析问题,解决问题的能里,锻炼了我自主学习的能力。在课程设计期间,我体会到了学习的乐趣,体会到了付出之后获得回报的喜悦,与欣慰。感谢老师的大力帮助和支持,感谢我的同学与朋友,在我遇到各种各样复杂问题的时候,给与我鼓励和帮助。参考文献 1钱雪忠,黄建华.数据库原理及应用.北京邮电大学出版社 20092Charles Petzold.Windows程序设计.北京大学出版社 20093杨章伟.21天学通Visual C+.电子工业出版社 2009

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服