




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
11.1课题背景现代图书馆管理的本质在于创新,以往的图书馆管理完全手工操做,通过卡片记录信息,既浪费时间,又浪费人工、纸张,而且书籍和读者的信息查询比较麻烦,不能提供领.随着电子信息技术的飞.现代化的服务手段逐渐替代传统的手工操作,计算机编目、光盘数据库和网络检索技术等新型的项目开始在图书馆领域普及。在计算机技术、网络技术的进一步冲击下,图书馆随着教育教学改革的深入和素质教育的全面推动,逐渐演变形成数字化图书管理,其作用也越来越重要了。为了使图书馆的管[1],减少重复劳动,节省图书馆建设和管理中的人力、财力,方便读者查询和借阅书籍,所以有必要建立一个图书馆管理系统。1.2课程设计目的图书馆每天都有很多的书出借归还,使用图书馆管理系统可以大大地提高工作效率,减少工作中可能出现的错误,是提高图书馆办公自动化水平的重要手段之一。其开发主要包括后台数据库的建立和维护以及前端应用程序界面开发两个方面。在中国软件行业日益进步的今天,如何利用这些资源来帮助管理员可以快速的管理,让管理员以及借书者有利用更多的时间去从事其他的事情已成为一个非常注重的事情。因而设计一个好的图书馆管理信息系统,能提高图书馆的管理效率,有利于对图书信息的统计。论文旨在论述图书馆管理系统的设计与开发。通过图书馆管理信息系统的设计,熟练掌握VisualAccess2003等工具软件,系解决问题的能力.[2]1。3课程设计任务本课程设计任务是通过开发一个数据库图书馆管理信息系统,学习数据库系统的设计与开发,采用VisualC++和Access2003等软件为开发工具.通过对计算机硬件和软件解决方案的论证,老师的帮助下,已经基本上成功地实现了设计任务书的要求,使得设计的数据库系统能够实现一般数据库的管理。22。1功能需求分析该项目系统包含的功能有:图书信息管理、读者信息管理、借书服务管理,还书服务管理,其中每个功能由若干个相关联的子功能模块组成。如图所示:图2.1系统功能模块(1)图书信息管理“图书信息管理"功能模块用于管理图书的相关信息,包括浏览、查询、添加、修改和删除功能。在进行图书信息的添加时,系统会自动检测所添加的图书信息中的书籍条码在书籍表中是否已经存在,如果存在,会提示用户该书已经存在。在进行图书信息的删除在进行图书修改时,不准用户修改书籍条码,因为书籍条码作为数据库中书籍表的主键是不同书籍的唯一标识,不准修改书籍条码可以防止不经意将书籍条码改错;如果确实要修改书籍条码,可以通过数据库管理员来实现,也可以先将错误书籍条码信息删除再添加正确的书籍信息,这样在删除时会弹出提示窗口让用户确认是否删除,给用户以提示,防止意外错误[3]。其模块如下图所示:图书信息管理图书信息查询图书信息修改图书注销图2.2图书信息管理”功能模块BOOK_ID名、出版社、作者、出版日期、尚能否借出。(2)读者信息管理“读者信息管理”功能模块用于管理与读者相关的信息,包含的子功能模块如下图所示:读者信息查询读者信息添加读者信息修改读者信息删除图2.3读者信息管理功能模块“读者信息查询”功能模块用于查询读者的相关信息,包括读者条码、读者姓名、性别、证件号码。性别、证件号码。“读者信息修改”功能模块用于修改已存读者的需修改的信息。“读者信息删除”功能模块用于删除读者的所有信息。(3)借书服务管理模块图书馆管理员通过此模块来进行借书操作。在进行借书信息的添加时,系统会自动检测该读者是否有权借书(过去借书历史中有超期未还的现象),所借书是否在馆内未被借出,只要有一个条件不满足,就会提示出错。“借书服务管理”用于登记读者借阅图书的记录并减少在库图书的库存量,登记内容包括读者编号、书籍条码(BOOK_ID(4)还书服务管理模块图书馆管理员通过此模块来进行还书操作。在进行还书信息的添加时,系统会自动检测此次还书是否在规定的时间内,若超期,则锁定该读者,并给出提示信息。“还书服务管理”功能用于登记读者归还图书的记录并增加在库图书的库存量,登记内容包括读者姓名、书籍条码(BOOK_ID2.2系统流程图在用户需求分析的基础上把系统划分为三个子模块:读者信息管理、图书信息管理、图书流通管理。这三个模块之间,紧密结合,共享信息资源,形成一种完美的学校图书管理系统流程图。如下图所示:4[]读者信息管理管理员读者信息流通管理图书借阅图书归还图书信息管理图书信息图2.4系统流程图3MicrosoftAccess2003建立.MicrosoftAccess2003是一个桌面级的数据库管理系统,简单易用,功能强大。支持的数据类型较丰富,操作简单,维护费用比较低。[5]3。1概念结构设计概念结构设计是指对用户的需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,是整个数据库设计的关键。系统基本E—R图(1)图书管理系统基本E-R图如下所示:图3.1系统基本—R图(2)各子系统功能E—R图1、图书信息管理所需管理的内容E-R图如下所示:图3.2图书信息管理E—R图2、读者信息管理所需管理的内容E—R图如下所示:图3.3读者信息管理E—R图3、借、还书服务管理所需管理的内容E-R图如下所示:图3。4图书信息管理E-R图3。2逻辑结构设计逻辑设计阶段的任务是把概念结构转换为选用[6].根据模块的设计,以及根据规范化的设计要求,该系统的数据库设计如表3-1至3-5所示,表3-1主要用来存放管理员的登录信息,表3—23—3用来存放读者信息,表3—4是借书信息表,表3—5是借还历史表。表3—1登录信息表()否88是是无表3—2书籍信息表()否是是无否否否是无否表3—3读者信息表(READER)是是否是否有权是借无否表3—4借书信息表(BORROW)否—是是是无是是借书管理是员无否表3-5借还书历史表(HISTORY)—是是是无否是无否续表是是员还书管理是呗44。1登录模块实现(1)模块功能码)。)界面设计系统登录】对话框界面如图4.1所示。图4.1系统登录】对话框界面【其中主要控件的属性设置及功能如表4—1所示。表4—1对话框IDD_DIALOG_LOGIN中的主要控件控件类型ButtonID属性设置Caption设为“登录”IDC_CONFIRMCaption设为“请输入用户名和密码"Caption设为“用户名”Caption设为“密码”IDC_STATICIDC_STATICStyles选Frame(BLACK)Styles选Frame(BLACK)Picture核心代码如下:voidOnConfirm(){CClerkDataSetmrsDataSet;/*声明记录集*/CStringmSqlStr;UpdateData(TRUE);if(m_strName。()/*判断用户名信息是否为空*/{AfxMessageBox(请输入用户名!);return;}if(!mrsDataSet。Open(AFX_DB_USE_DEFAULT_TYPE,mSqlStr{AfxMessageBox("CLERK表打开失败!);return;}(3)主界面当管理员登录信息正确时,将登录到主界面,该模块中有“图书资料”,“读者资料”图4.2主界面主界面的控件设置和说明表4-2所示。表4—2主界面控件设置及其说明IDC_BUTTON_BOOKIDC_BUTTON_READERIDC_BUTTON_BORROWIDC_BUTTON_RETURNIDC_BUTTON_GOODBYE“图书资料"按钮“读者资料"按钮“借书管理”按钮“还书管理”按钮“退出”按钮核心代码如下:CLoginDlgDlg;if(。DoModal()==IDOK){{m_strUserName=Dlg.m_strName;CLibraryDlgDlg;。DoModal}}4。2图书资料模块实现在进入该功能模块后,我们可以看到库存图书的详细信息.在该模块中还包含有对新图对已有图书信息的修改功能,以及按书名和书籍条码等搜索的功能7]。如图所示:[图4。3“图书信息"界面界面的控件设置和说明表4—3所示.表4-3对话框控件设置及其说明IDC_STATICIDC_STATICIDC_STATICIDC_STATICIDC_STATIC表示“书名”静态文本框表示“书籍条码”静态文本框表示“作者”静态文本框表示“出版社”静态文本框表示“书籍条码"静态文本框IDC_BOOKIDIDC_PRESSDATEIDC_FLAG_BORROW尚能借出编辑框核心代码如下:voidCBookDataSetAssertValid()const{CRecordset::AssertValid(}voidCBookDataSet::Dump(CDumpContext&)const{CRecordset::Dump(dc);}4。3读者资料模块实现该模块主要实现对已存在的读者信息进行管理,主要有对新增加读者信息的添加功能,对已存在读者信息的修改功能,对已存在读者信息按读者编号进行删除的功能,以及对已存在读者信息按读者条码或姓名模糊查找功能.如下图所示:图4.4“读者信息”界面界面的控件设置和说明表4-4所示。表4—4对话框控件设置及其说明IDC_DELETEIDC_ENQUERYIDC_CANCEL_RECIDC_EXITIDC_READERIDIDC_READERNAMEIDC_IDCARD身份证号编辑框核心代码如下:voidCReaderDataSetAssertValid()const{CRecordset::AssertValid();}voidCReaderDataSetDump(CDumpContext&dc)const{CRecordset::Dump(dc}4.4借书管理模块实现进入此模块首先看到的是借出图书服务模块,,在此模块中通过书号(BOOK_ID)来实现对在库图书的借出操作,在借阅图书时会显示该读者是否能借书的功能,具体如图所示:图4。5“图书借出”界面界面的控件设置和说明表4-5所示。表4-5对话框控件设置及其说明IDC_STATICIDC_STATIC表示“读者编码”静态文本框表示“书籍编码"静态文本框IDC_CONFIRMIDC_CANCELIDC_READER_IDIDC_BOOK_ID书籍编码编辑框核心代码如下:voidCBorrowDataSet::AssertValid()const{CRecordsetAssertValid(}voidCBorrowDataSetDump(CDumpContext&dc)const{CRecordset::Dump(dc}4。5图书管理模块实现进入此模块首先看到的是借出图书的信息,主要是对所借图书的日期记录,是否按时还书。对书本进行一个入库的操作,具体情况,如图所示:图4.6“还书管理”模块界面的控件设置和说明表4-6所示.表4-6对话框控件设置及其说明表示“应还书日期:”静态文本框表示“借书日期:"静态文本框“修改[&E]”按钮IDC_BOOK_IDIDC_READERNAMEIDC_RETURNDATEIDC_BORROWDATEIDC_DAYS超期天数编辑框核心代码如下:voidCReturnDlgDelete_Borrow(){CDatabase;CStringm_strsql;if(!mdb。Open(_T(”library”))){AfxMessageBox(数据库执行出错”)return;}}5本次课程设计能够顺利完成,首先要感谢我们的辅导教师罗永红老师,他一次又一次耐心地为我们讲解基础知识,使我们的基础更扎实。而罗永红老师的循循善诱又使我们掌握基础知识时,得到了更多的启发,能力又得到了提高。另外,还要感谢其她对于本次课设给了我很大帮助的同学们,他们将自己所学毫不吝惜地与别人交流,使大家的理解有加深了很多.通过这次课程设计,我才深知数据库灵活。在刚刚结束的一个学期里,我对数据库的学习才仅仅是个入门,通过这次的课程设计,我才发现自己在以往学习中的诸多问题。对于同一问题没有多角度的思考,仅仅局限于一种方法,根本没有思考是否还有别的更简单更快捷的方法,不能做到举一反三,还有太注重理论学习而忽视了上机实践,结果就是理论知识不扎实上机动手能力差,编译出现错误时不能很快的找出错误。在这次课设的编程所以我才发现了自己很多的问题,而且借此寒假,我会改正这些问题,并且深入学习数据库和C++。在这次课程中,除了达到了课设目的,我想我最大的收获就是以上的发现并且能及时的解决。致谢在这次数据库的课程设计中,曾遇到过不少问题,单靠我个人的努力,很难按时完成该课程设计.在此,我衷心感谢我的指导老师——罗永红。罗永红老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我获益非浅.另外,还要感谢学校领导、辅导员、各位同学对我们的关怀、帮助,为我们提供了良好的设计环境以及各方面的支持。[1]王红梅,胡明,王涛.数据库(版)[M]。北京:清华大学出版社,2007。[2],陈根才.数据库课程设计[M].:浙江大学出版社,2007.[3]萨师煊,王珊.数据库系统概论(第三版)[M].北京:高等教育出版社,2009。[4]齐治昌,谭庆平,宁洪.软件工程(第二版)[M].北京:高等教育出版社,2004.[5]郑阿奇.VisualC++实用教程(第三版)[M].北京:电子工业出版社,2009。[6]钱雪忠。数据库原理及应用(第二版)[M:北京邮电大学出版社,2007。[7]王晟,邓远辉.VisualC++.NET数据库开发经典案例解析[M].北京:清华大学出版,2007.附录:源程序代码voidOnConfirm(){//TODO:AddyourcontrolnotificationhandlercodehereCClerkDataSetmrsDataSet;/*声明记录集*/CString;UpdateData(TRUEif(m_strName。())/*判断用户名信息是否为空*/{AfxMessageBox(”请输入用户名);return;}mSqlStr=”SELECT*FROMCLERKWHERENAME='”;mSqlStr=mSqlStr+m_strName;mSqlStr=mSqlStr+”'ANDPASSWORD=’”;mSqlStr=mSqlStr+m_strPassword;mSqlStr=mSqlStr+;if(!mrsDataSet.Open(AFX_DB_USE_DEFAULT_TYPE,){}AfxMessageBox("CLERK表打开失败!;return;if(!mrsDataSet.IsEOF()){CDialog::OnOK();}else{AfxMessageBox(”登录失败;return;}}voidOnCancel(){CDial
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 五年级上数学教案-三角形的面积练习课-苏教版秋
- 三年级上册数学教案-1.1 估算两、三位数乘一位数丨苏教版
- 学习2025年雷锋精神六十二周年主题活动实施方案 (3份)-76
- 苏教版数学三年级上册单元测试卷-第四单元-两、三位数除以一位数含答案
- 人教版三年级英语上册期末测试卷
- 2025年河南省安全员《A证》考试题库及答案
- 2025辽宁省安全员知识题库
- 医院钢结构居间合同范本
- 2025年度城市综合体车位租赁合同
- 2025年度股权质押合同工商局备案及企业环境管理体系认证服务协议
- pop海报课件教学课件
- 血流限制训练对老年人下肢力量作用的研究进展
- 中国寺庙经济市场深度调研与未来前景发展预测研究报告(2024-2030版)
- 与信仰对话 课件-2024年入团积极分子培训
- 中医护理学-情志护理
- 中学美术《剪纸艺术》完整课件
- 诺如病毒教学课件
- 适用的法律法规和其他要求的符合性评价
- 沪科版八年级物理上册 专题01 运动的世界【考题猜想】(92题18大类型)
- 消防设施救援培训考试题及答案
- 肾包膜下血肿护理
评论
0/150
提交评论