




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
.PAGE.>1引言1.1课题背景现代图书馆管理的本质在于创新,以往的图书馆管理完全手工操做,通过卡片记录信息,既浪费时间,又浪费人工、纸,而且书籍和读者的信息查询比拟麻烦,不能提供领导管理上需要的各种信息如本馆各种资料分布及借阅〔流通〕情况。随着电子信息技术的飞速开展,图书馆的工作也发生了实质性的进展和变化。现代化的效劳手段逐渐替代传统的手工操作,计算机编目、光盘数据库和网络检索技术等新型的工程开场在图书馆领域普及。在计算机技术、网络技术的进一步冲击下,图书馆随着教育教学改革的深入和素质教育的全面推动,逐渐演变形成数字化图书管理,其作用也越来越重要了[1]。为了使图书馆的管理更科学、更规,减少重复劳动,节省图书馆建立和管理中的人力、财力,方便读者查询和借阅书籍,所以有必要建立一个图书馆管理系统。1.2课程设计目的图书馆每天都有很多的书出借归还,使用图书馆管理系统可以大提高工作效率,减少工作中可能出现的错误,是提高图书馆办公自动化水平的重要手段之一。其开发主要包括后台数据库的建立和维护以及前端应用程序界面开发两个方面。在中国软件行业日益进步的今天,如何利用这些资源来帮助管理员可以快速的管理,让管理员以及借书者有利用更多的时间去从事其他的事情已成为一个非常注重的事情。因而设计一个好的图书馆管理信息系统,能提高图书馆的管理效率,有利于对图书信息的统计。论文旨在论述图书馆管理系统的设计与开发。通过图书馆管理信息系统的设计,熟练掌握VisualC++、Access2003等工具软件,系统地掌握需求分析、数据库设计、编码实现、测试等软件开发的流程,提高自身分析问题、解决问题的能力[2]。1.3课程设计任务本课程设计任务是通过开发一个数据库图书馆管理信息系统,学习数据库系统的设计与开发,采用VisualC++和Access2003等软件为开发工具。通过对计算机硬件和软件解决方案的论证,对应用领域进展调查分析,参考各种资料和进展数据库系统开发实践。在指导教师的帮助下,已经根本上成功地实现了设计任务书的要求,使得设计的数据库系统能够实现一般数据库的管理。2系统分析2.1功能需求分析该工程系统包含的功能有:图书信息管理、读者信息管理、借书效劳管理,还书效劳管理,其中每个功能由假设干个相关联的子功能模块组成。如下图:图2.1系统功能模块(1)图书信息管理"图书信息管理〞功能模块用于管理图书的相关信息,包括浏览、查询、添加、修改和删除功能。在进展图书信息的添加时,系统会自动检测所添加的图书信息中的书籍条码在书籍表中是否已经存在,如果存在,会提示用户该书已经存在。在进展图书信息的删除时,要首先弹出提示窗口让用户确认是否删除,只有用户确认后才能进展图书信息的删除。在进展图书修改时,不准用户修改书籍条码,因为书籍条码作为数据库中书籍表的主键是不同书籍的唯一标识,不准修改书籍条码可以防止不经意将书籍条码改错;如果确实要修改书籍条码,可以通过数据库管理员来实现,也可以先将错误书籍条码信息删除再添加正确的书籍信息,这样在删除时会弹出提示窗口让用户确认是否删除,给用户以提示,防止意外错误[3]。其模块如下列图所示:图书信息管理图书信息管理图书信息查询图书入库图书信息修改图书注销图2.2"图书信息管理〞功能模块"图书信息查询〞功能模块用于查询图书的相关信息,包括书籍条码〔BOOK_ID〕、书名、、作者、出版日期、尚能否借出。(2)读者信息管理"读者信息管理〞功能模块用于管理与读者相关的信息,包含的子功能模块如下列图所示:读者信息管理读者信息管理读者信息查询读者信息添加读者信息修改读者信息删除图2.3"读者信息管理〞功能模块"读者信息查询〞功能模块用于查询读者的相关信息,包括读者条码、读者、性别、证件。"读者信息添加〞功能模块用于添加新近读者的相关信息,包括读者条码、读者、性别、证件。"读者信息修改〞功能模块用于修改已存读者的需修改的信息。"读者信息删除〞功能模块用于删除读者的所有信息。〔3〕借书效劳管理模块图书馆管理员通过此模块来进展借书操作。在进展借书信息的添加时,系统会自动检测该读者是否有权借书〔过去借书历史中有超期未还的现象〕,所借书是否在馆未被借出,只要有一个条件不满足,就会提示出错。"借书效劳管理〞用于登记读者借阅图书的记录并减少在库图书的库存量,登记容包括读者、书籍条码〔BOOK_ID〕。〔4〕还书效劳管理模块图书馆管理员通过此模块来进展还书操作。在进展还书信息的添加时,系统会自动检测此次还书是否在规定的时间,假设超期,则锁定该读者,并给出提示信息。"还书效劳管理〞功能用于登记读者归还图书的记录并增加在库图书的库存量,登记容包括读者、书籍条码〔BOOK_ID〕、借书日期、归还时间、超期天数。2.2系统流程图在用户需求分析的根底上把系统划分为三个子模块:读者信息管理、图书信息管理、图书流通管理。这三个模块之间,严密结合,共享信息资源,形成一种完美的学校图书管理系统流程图[4]。如下列图所示:读者读者信息管理管理员图书信息管理读者信息流通管理图书信息图书借阅图书归还图2.4系统流程图3数据库设计根据系统功能需求,数据库采用MicrosoftAccess2003建立。MicrosoftAccess2003是一个桌面级的数据库管理系统,简单易用,功能强大。支持的数据类型较丰富,操作简单,维护费用比拟低[5]。3.1概念构造设计概念构造设计是指对用户的需求进展综合、归纳与抽象,形成一个独立于具体DBMS的概念模型,是整个数据库设计的关键。系统根本E-R图图书管理系统根本E-R图如下所示:图3.1系统根本E-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逻辑构造设计逻辑设计阶段的任务是把概念构造转换为选用DBMS〔数据库管理系统〕所支持的模式[6]。根据模块的设计,以及根据规化的设计要求,该系统的数据库设计如表3-1至3-5所示,表3-1主要用来存放管理员的登录信息,表3-2主要用来存放可借的书籍信息,表3-3用来存放读者信息,表3-4是借书信息表,表3-5是借还历史表。表3-1登录信息表〔CLERK〕字段名称数据类型字段属性字段大小描述必填字段索引是主键否Name文本8管理员ID是有〔无重复〕是PassWord文本8管理员密码是无否表3-2书籍信息表〔BOOK〕字段名称数据类型字段属性字段大小描述必填字段索引是主键否BOOK_ID文本30书籍条目是有〔无重复〕是BOOK_NAME文本50书籍名称是无否AUTHOR文本30作者否无否PRESS文本50否无否PRESS_DATE文本50出版日期否无否FLAG_BORROW文本10是否可借是无否表3-3读者信息表〔READER〕字段名称数据类型字段属性字段大小描述必填字段索引是主键否READER_ID文本30读者条目是有〔无重复〕是NAME文本50是无否IDCARD文本30号否无否MA*NUM_CAN_BORROW数字—最大可借数否无否FLAG_BORROW文本10是否有权借是无否表3-4借书信息表〔BORROW〕字段名称数据类型字段属性字段大小描述必填字段索引是主键否ID自动—记录号是有〔无重复〕是READER_ID文本30读者条目是无否BOOK_ID文本30书籍条目是无否BORROW_DATE日期/时间—借书日期是无否B_CLERK_ID文本30借书管理员是无否表3-5借还书历史表〔HISTORY〕字段名称数据类型字段属性字段大小描述必填字段索引是主键否ID自动—记录号是有〔无重复〕是READER_ID文本30读者条目是无否BOOK_ID文本30书籍条目是无否续表字段名称数据类型字段属性字段大小描述必填字段索引是主键否BORROW_DATE日期/时间—借书日期是有〔无重复〕是RETURN_DATE日期/时间—还书日期是无否B_CLERK_ID文本30借书管理员是无否R_CLERK_ID文本30还书管理呗是无否4系统实现4.1登录模块实现(1)模块功能该功能模块实现的功能是实现管理员到图书管理系统的登录操作,登录信息(用户名、密码)。(2)界面设计【系统登录】对话框界面如图4.1所示。图4.1【系统登录】对话框界面其中主要控件的属性设置及功能如表4-1所示。表4-1对话框IDD_DIALOG_LOGIN中的主要控件控件类型ID属性设置ButtonIDC_CONFIRMCaption设为"登录〞ButtonIDC_CANCELCaption设为"取消〞StaticTe*t默认Caption设为"请输入用户名和密码〞StaticTe*t默认Caption设为"用户名〞StaticTe*t默认Caption设为"密码〞EditBo*IDC_LOGIN_NAMEStyles选中NumberEditBo*IDC_LOGIN_PASSWORD默认PictureIDC_STATICStyles选Frame(BLACK)PictureIDC_STATICStyles选Frame(BLACK)核心代码如下:voidCLoginDlg::OnConfirm(){ CClerkDataSetmrsDataSet;/*声明记录集*/ CStringmSqlStr; UpdateData(TRUE); if(m_strName.IsEmpty())/*判断用户名信息是否为空*/ { Af*MessageBo*("请输入用户名!"); return; } if(!mrsDataSet.Open(AF*_DB_USE_DEFAULT_TYPE,mSqlStr)) { Af*MessageBo*("CLERK表翻开失败!"); return; }(3)主界面当管理员登录信息正确时,将登录到主界面,该模块中有"图书资料〞,"读者资料〞,"借书管理〞,"还书管理〞功能模块。如下列图所示:图4.2主界面主界面的控件设置和说明表4-2所示。表4-2主界面控件设置及其说明控件ID号说明IDC_BUTTON_BOOK"图书资料〞按钮IDC_BUTTON_READER"读者资料〞按钮IDC_BUTTON_BORROW"借书管理〞按钮IDC_BUTTON_RETURN"还书管理〞按钮IDC_BUTTON_GOODBYE"退出〞按钮核心代码如下:CLoginDlgDlg; if(Dlg.DoModal()==IDOK){ { m_strUserName=Dlg.m_strName; CLibraryDlgDlg; Dlg.DoModal(); }}4.2图书资料模块实现在进入该功能模块后,我们可以看到库存图书的详细信息。在该模块中还包含有对新图书的入库功能〔添加新图书的记录〕,对已有图书资料的注销功能〔删除已有图书的记录〕,对已有图书信息的修改功能,以及按书名和书籍条码等搜索的功能[7]。如下图:图4.3"图书信息〞界面界面的控件设置和说明表4-3所示。表4-3对话框控件设置及其说明控件ID号说明IDC_STATIC表示"书名〞静态文本框IDC_STATIC表示"书籍条码〞静态文本框IDC_STATIC表示"作者〞静态文本框IDC_STATIC表示"〞静态文本框IDC_STATIC表示"书籍条码〞静态文本框IDC_STATIC表示"出版日期〞静态文本框IDC_STATIC表示"尚能借出〞静态文本框IDC_STATIC表示"Y/M/D〞静态文本框IDC_FIRST"第一条[&F]〞按钮IDC_PRIOR"上一条(&P]〞按钮IDC_NE*T"下一条[&N]〞按钮IDC_LAST"末一条(&L]〞按钮IDC_NEW"增加[&N]〞按钮IDC_EDIT"修改[&E]〞按钮IDC_DELETE"删除[&D]〞按钮IDC_ENQUERY"查询[&Q]〞按钮IDC_SAVE"保存[&S]〞按钮IDC_CANCEL_REC"取消[&C]〞按钮IDC_E*IT"退出[&*]〞按钮IDC_BOOKNAME书名编辑框IDC_AUTHOR作者编辑框IDC_PRESS编辑框IDC_BOOKID书籍条码编辑框IDC_PRESSDATE出版日期编辑框IDC_FLAG_BORROW尚能借出编辑框核心代码如下:voidCBookDataSet::AssertValid()const{ CRecordset::AssertValid();}voidCBookDataSet::Dump(CDumpConte*t&dc)const{ CRecordset::Dump(dc);}4.3读者资料模块实现该模块主要实现对已存在的读者信息进展管理,主要有对新增加读者信息的添加功能,对已存在读者信息的修改功能,对已存在读者信息按读者进展删除的功能,以及对已存在读者信息按读者条码或模糊查找功能。如下列图所示:图4.4"读者信息〞界面界面的控件设置和说明表4-4所示。表4-4对话框控件设置及其说明控件ID号说明IDC_STATIC表示"读者〞静态文本框IDC_STATIC表示"读者条码〞静态文本框IDC_STATIC表示"号〞静态文本框IDC_FIRST"第一条[&F]〞按钮IDC_PRIOR"上一条(&P]〞按钮IDC_NE*T"下一条[&N]〞按钮IDC_LAST"末一条(&L]〞按钮IDC_NEW"增加[&N]〞按钮IDC_EDIT"修改[&E]〞按钮IDC_DELETE"删除[&D]〞按钮IDC_ENQUERY"查询[&Q]〞按钮IDC_SAVE"保存[&S]〞按钮IDC_CANCEL_REC"取消[&C]〞按钮IDC_E*IT"退出[&*]〞按钮IDC_READERID读者条码编辑框IDC_READERNAME读者编辑框IDC_IDCARD号编辑框核心代码如下:voidCReaderDataSet::AssertValid()const{ CRecordset::AssertValid();}voidCReaderDataSet::Dump(CDumpConte*t&dc)const{ CRecordset::Dump(dc);}4.4借书管理模块实现进入此模块首先看到的是借出图书效劳模块,,在此模块过书号〔BOOK_ID〕来实现对在库图书的借出操作,在借阅图书时会显示该读者是否能借书的功能,具体如下图:图4.5"图书借出〞界面界面的控件设置和说明表4-5所示。表4-5对话框控件设置及其说明控件ID号说明IDC_STATIC表示"读者编码〞静态文本框IDC_STATIC表示"书籍编码〞静态文本框IDC_CONFIRM"确定[&O]〞按钮IDC_CANCEL"取消[&C]〞按钮IDC_READER_ID读者编码编辑框IDC_BOOK_ID书籍编码编辑框核心代码如下:voidCBorrowDataSet::AssertValid()const{ CRecordset::AssertValid();}voidCBorrowDataSet::Dump(CDumpConte*t&dc)const{ CRecordset::Dump(dc);}4.5图书管理模块实现进入此模块首先看到的是借出图书的信息,主要是对所借图书的日期记录,是否按时还书。对书本进展一个入库的操作,具体情况,如下图:图4.6"还书管理〞模块界面的控件设置和说明表4-6所示。表4-6对话框控件设置及其说明控件ID号说明IDC_STATIC表示"图书代码:〞静态文本框IDC_STATIC表示"读者:〞静态文本框IDC_STATIC表示"应还书日期:〞静态文本框IDC_STATIC表示"借书日期:〞静态文本框IDC_STATIC表示"超期天数:〞静态文本框IDC_EDIT"修改[&E]〞按钮IDC_BOOK_ID图书代码编辑框IDC_READERNAME读者编辑框IDC_RETURNDATE应还书日期编辑框IDC_BORROWDATE借书日期编辑框IDC_DAYS超期天数编辑框核心代码如下:voidCReturnDlg::Delete_Borrow(){CDatabasemdb;CStringm_strsql;if(!mdb.Open(_T("library"))){ Af*MessageBo*("数据库执行出错"); return;} }5总结本次课程设计能够顺利完成,首先要感我们的辅导教师罗永红教师,他一次又一次耐心地为我们讲解根底知识,使我们的根底更扎实。而罗永红教师的循循善诱又使我们掌握根底知识时,得到了更多的启发,能力又得到了提高。另外,还要感其她对于本次课设给了我很大帮助的同学们,他们将自己所学毫不吝惜地与别人交流,使大家的理解有加深了很多。通过这次课程设计,我才深知数据库灵活。在刚刚完毕的一个学期里,我对数据库的学习才仅仅是个入门,通过这次的课程设计,我才发现自己在以往学习中的诸多问题。对于同一问题没有多角度的思考,仅仅局限于一种方法,根本没有思考是否还有别的更简单更快捷的方法,不能做到举一反三,还有太注重理论学习而无视了上机实践,结果就是理论知识不扎实上机动手能力差,编译出现错误时不能很快的找出错误。在这次课设的编程过程中,我尽量把以往学过的知识全部用上,对于同一个问题从不同的角度考虑实现方法,所以我才发现了自己很多的问题,而且借此寒假,我会改正这些问题,并且深入学习数据库和C++。在这次课程中,除了到达了课设目的,我想我最大的收获就是以上的发现并且能及时的解决。致在这次数据库的课程设计中,曾遇到过不少问题,单靠我个人的努力,很难按时完成该课程设计。在此,我衷心感我的指导教师——罗永红。罗永红教师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我获益非浅。另外,还要感学校领导、辅导员、各位同学对我们的关心、帮助,为我们提供了良好的设计环境以及各方面的支持。参考文献[1] 王红梅,胡明,王涛.数据库(C++版)[M].:清华大学,2007.[2]何钦铭,根才.数据库课程设计[M].:大学,2007.[3]萨师煊,王珊.数据库系统概论〔第三版〕[M].:高等教育,2009.[4]齐治昌,谭庆平,宁洪.软件工程〔第二版〕[M].:高等教育,2004.[5]阿奇.VisualC++实用教程〔第三版〕[M].:电子工业,2009.[6]钱雪忠.数据库原理及应用〔第二版〕[M].:邮电大学,2007.[7]王晟,邓远辉.VisualC++.NET数据库开发经典案例解析[M].:清华大学出版,2007.附录:源程序代码voidCLoginDlg::OnConfirm(){ //TODO:Addyourcontrolnotificationhandlercodehere CClerkDataSetmrsDataSet;/*声明记录集*/ CStringmSqlStr; UpdateData(TRUE); if(m_strName.IsEmpty())/*判断用户名信息是否为空*/ { Af*MessageBo*("请输入用户名!"); return; } mSqlStr="SELECT*FROMCLERKWHERENAME='"; mSqlStr=mSqlStr+m_strName; mSqlStr=mSqlStr+"'ANDPASSWORD='"; mSqlStr=mSqlStr+m_strPassword; mSqlStr=mSqlStr+"'"; if(!mrsDataSet.Open(AF*_DB_USE_DEFAULT_TYPE,mSqlStr)) { Af*MessageBo*("CLERK表翻开失败!"); return; } if(!mrsDataSet.I
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年工业互联网平台量子密钥分发技术产业创新与研发投入报告
- 2025年老年健康管理中慢性疼痛长期照护服务模式研究报告001
- 2025年新零售趋势分析报告:线上线下融合创新策略
- 考点攻克黑龙江省北安市7年级上册期末测试卷单元测评试题(详解版)
- 2025年教育信息化基础设施建设与教育信息化项目市场前景研究报告
- 2025年城市轨道交通智慧运维系统在地铁通信网络中的应用报告
- 基础强化人教版8年级数学下册《一次函数》专项训练试题(详解版)
- 护士企业编制面试题库及答案详解【必刷】
- 临床药物治疗学期末考试复习题库及答案详解【名校卷】
- 基础强化人教版8年级数学上册《全等三角形》专题训练试题(含答案解析版)
- 《动眼神经解剖》课件
- 2023全球数字经济白皮书
- 大学宿管部部长竞选稿
- 2023-2024苏教版小学四年级数学上册(全册)教案设计
- 烟草行业应急预案编制与管理培训
- 2024事业单位食堂考试题及答案
- “双减”政策背景下小学语文读写研究
- 光学设计 第3讲 色度学
- 孔子的美学思想对现代设计的启示
- 脑干损伤的急救处理与康复训练
- 2025年日历日程表含农历可打印
评论
0/150
提交评论