版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录绪论1第1章需求分析3※1.1目标与任务3※1.2需求分析的方法5第2章总体设计6※2.1功能模块划分6※2.2系统流程分析6第3章数据库设计8※3.1概念结构设计8※3.2逻辑结构设计10第4章详细设计11※4.1借阅证管理模块11办理借阅证11借阅证挂失14添加账号16修改密码17第5章测试18设计总结19致谢20参考文献21绪论随着我国社会经济的不断开展,人民的物质生活十分丰裕,但精神生活难以满足,再多的金钱也不能换来精神上的满足,而且,现在社会竞争日益剧烈,许多人整天为生活忙碌,精神生活空虚,书籍作为传承古今中外优秀文化的范本,对人们的精神生活可以产生很大影响,使人们从其中充实自己的同时,精神上得到很大满足.书籍是人类文明进步的阶梯,在工作之余,翻阅一本优秀的书籍,会给我们带来很大的精神享受,但读书需要一个好的环境,需要有自己想要阅读的书籍,这样图书馆就有它的用武之地了,图书馆不仅藏书丰富,而且安静,看书气氛浓厚,可以很大程度上满足广阔读者的需求,是我们借阅书刊,读书的好去处,使我们畅游在书的海洋中,汲取营养,精神上得到更大满足.随着社会信息量的与日俱增,职场竞争的日趋剧烈,越来越多的人更关注知识的积累、能力的培养。作为信息存储的主要媒体之一图书,数量、规模比以往任何时候都大的多,不管个人还是图书管理部门都需要使用方便而有效的方式来管理自己的书籍。虽然图书馆很大程度上满足了我们的阅览需求,但我国处在不断开展中,竞争依然相当剧烈,机遇与挑战并存,在这样一个大开展的环境下,人们更加渴望知识,更加想充实自己,不被社会所淘汰,这样,图书馆管理系统产生了一些问题,有的大型图书馆藏书丰富,但是资源不能得到有效利用,造成资源的浪费,有的中小型图书馆很难满足读者的阅览需求,找不到自己想看的书,或者想看的书被其他人占有,为了解决这些问题,我们这次开发了一个更加合理实用的图书馆管理系统,解决人们的需求问题,使图书馆更好的效劳于群众,给人们带来更多精神上的享受.在计算机日益普及的今天,对个人而言假设采用一套行之有效的图书管理系统来管理自己的书籍,会方便许多。对图书管理部门而言,以前单一的手工检索已不能满足人们的要求,为了便于图书资料的管理需要有效的图书管理软件。对于日益扩大的图书馆,查找特定的书目总是借阅者或工作人员劳神费力,有时还没有结果。因此往往是投入了大量的人力和财力却得不到高效的管理效率。为了缩短借阅者的等待时间,减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理,从而到达提高图书借阅信息管理效率的目的,采用数据库技术生成的图书馆借阅管理系统将会极大地方便借阅者并简化图书馆管理人员和工作人员的劳动,使工作人员从繁忙、复杂的工作进入到一个简单、高效的工作中。本文以高校图书馆管理系统管理系统开发过程为背景,全文分为目录、需求分析、概要设计、逻辑设计、物理设计,以及系统的实现等全过程。在程序设计与调试上采用了自上而下,逐步细化,逐步完善的原那么。采用结构化的功能模块设计系统功能,可读性好,易于扩充。根本功能全面,系统可读性好,易于维护、更新,平安性好。图书管理系统能支持不同类型,不同权限的读者都具有借阅,归还图书。读者要与管理员别离,管理员有全部管理权限,比方:添加图书,修改图书,注销图书,添加读者,修改密码等操作权限;读者只能进行借阅,归还,查看个人借阅档案等操作。整个管理系统采用统一的窗体风格,功能导航简洁明了,与读者以及管理员交互性良好;人性化的界面设计,使读者所见即所得,对图书信息能更快捷的获取,能及时得到最新图书信息;另外,数据库采用企业级的SQLServer2000做后台支持,并进新平安备份,保证了图书管理系统的可靠性与维护性;管理员可更方便的管理图书与读者,节省时间与精力。本系统只是从实际系统中提取出来的一个简单的管理系统,具体到不同的企业,会有不同的需求,这里只做一个适合学校图书馆的简单管理系统。图书馆管理系统作为数据库信息管理系统的一种应用,其开发流程包括需求分析、系统设计、数据库分析和设计以及各功能模块的开发等,将在随后的几节分别讲述。第1章需求分析※1.1目标与任务主要任务是通过详细调查图书馆的详细业务情况,了解原系统的工作情况,明确用户的各项需求,在此根底上确定新系统的功能,了解新系统的业务流程,数据流程,完成数据字典的建立。需求分析的任务需求分析阶段是图书管管理系统开发的第一个阶段,也是非常重要的一个阶段。这是设计数据库的起点,需求分析的结果是否准确地反映了用户的实际要求,将直接影响后面各个阶段的设计,并影响到设计结果是否合理和实用。它也是我们系统开发过程当中最困难、最消耗时间的一步,作为地基的需求分析做的是否充分和准确,决定了在其上构建数据库大厦的速度和质量。需求分析的任务是通过详细的调查现实生活中图书馆,充分了解图书馆系统工作概况,明确用户的各种需求,然后再次根底上确定新系统的功能,新系统必须充分考虑到今后可能的扩充和改变,不能仅仅按照当前应用需求来建设数据库。调查的重点是“数据〞和“处理〞,我们要通过调查、收集与分析,获得用户对数据库如下要求:〔1〕信息要求我们要了解图书馆管理系统都要存储哪些信息。图书管理系统需要满足来自三个方面的需求,这三个方面分别是读者、图书馆工作人员和图书馆管理人员。一、读者在图书管理系统中,图书馆工作人员要为每个读者建立借阅账户,并给读者发放不同类别的借阅卡〔借阅卡可提供卡号、读者姓名〕,账户内存储读者的个人信息和借阅记录信息。持有借阅卡的读者可以通过管理员〔作为读者的代理人与系统交互〕借阅、归还图书,不同类别的读者可借阅图书的范围、数量和期限不同,可通过互联网或图书馆内查询终端查询图书信息和个人借阅情况,以及续借图书〔系统审核符合续借条件〕。借阅图书时,先输入读者的借阅卡号,系统验证借阅卡的有效性和读者是否可继续借阅图书,无效那么提示其原因,有效那么显示读者的根本信息〔包括照片〕,供管理员人工核对。然后输入要借阅的书号,系统查阅图书信息数据库,显示图书的根本信息,供管理员人工核对。最后提交借阅请求,假设被系统接受那么存储借阅纪录,并修改可借阅图书的数量。归还图书时,输入读者借阅卡号和图书号〔或丧失标记号〕,系统验证是否有此借阅纪录以及是否超期借阅,无那么提示,有那么显示读者和图书的根本信息供管理员人工审核。如果有超期借阅或丧失情况,先转入过期罚款或图书丧失处理。然后提交还书请求,系统接受后删除借阅纪录,并登记并修改可借阅图书的数量。二、图书馆工作人员图书馆工作人员有修改图书借阅者借书和还书记录的权限,所以需对工作人员登陆本模块进行更多的考虑。在此模块中,图书馆工作人员可以为图书借阅者参加借书记录或是还书记录。三、图书馆管理人员图书馆管理人员功能的信息量大,数据平安性和保密性要求最高。本功能实现对图书信息、借阅者信息、总体借阅情况信息的管理和统计、工作人员和管理人员信息查看及维护。图书馆管理员可以浏览、查询、添加、删除、修改、统计图书的根本信息;浏览、查询、统计、添加、删除和修改图书借阅者的根本信息。浏览、查询、统计图书馆的借阅信息,但不能添加、删除和修改借阅信息,这局部功能应该由图书馆工作人员执行,但是,删除某条图书借阅者根本信息记录时,应实现对该图书借阅者借阅记录的级联删除。并且还应具有生成催还图书报表,并打印输出的功能。这里我们了解到图书馆管理系统大概要存储的信息有:图书信息、管理员信息,学生信息,借阅卡信息,图书借阅信息,借阅卡注册、挂失信息,图书的借阅、归还、挂失信息,学生的罚款信息等。〔2〕处理要求了解图书馆管理员要完成哪些处理功能,对处理的相应时间有什么特殊要求,处理方式是批处理还是联机处理。这里我们了解到图书馆管理员要处理的事务大体为:管理学生的借阅、归还、挂失,管理学生的图书卡的注销、注册、挂失,完成对那些欠款的学生的罚款,管理图书馆员工的相关事务。〔3〕平安性与完整性要求确定用户的最终需求是意见很困难的事,这是因为一方面用户缺少计算机只是,开始的时候无法确定计算机计算机能够为自己做什么,不能做什么,因此往往不能正确的表达自己的需求,所提出的要求往往不断的变化。设计人员必需不断的深入与用户交流,才能逐步确定用户的实际需求。※1.2需求分析的方法进行需求分析首先是调查清楚用户的实际要求,与用户达成共识,然后分析语表达这些需求。调查用户需求的具体步骤是:1.调查组织机构情况。2.调查个部门的业务活动情况。3.在熟悉了业务活动的根底上协助用户明确对新系统的各种要求,包括信息要求、处理要求、平安性与完整性的要求,这是调查的又一个重点。4.确定系统的边界。第2章总体设计※2.1功能模块划分图书馆管理系统的设计目标是将传统的图书馆转换为数字信息化的图书馆,并对图书实现自动化的管理,该图书馆管理系统需要完成的功能有身份验证、书库管理、借阅证管理、和系统管理。而我所负责的模块是借阅证管理和系统管理,这两个模块的功能如下所示:借阅证管理:提供办理借阅证、借阅证信息查询、借阅证挂失功能。系统管理:包括添加账号、修改密码和退出系统等功能。对上述功能进行集中、分块、结构化,得到如图2-1所示的系统功能模系统管理借阅证管理系统管理借阅证管理添加账号办理借阅证添加账号办理借阅证修改密码借阅证查询修改密码借阅证查询退出借阅证挂失退出借阅证挂失图2-1借阅证管理和系统管理模块示意图※2.2系统流程分析前面的分析中已经定义了系统的各个功能模块,属于静态建模的范围。在系统运行时刻的动态模型应该有系统的流程决定。当用户登录系统后,可以根据拥有的权限来进行书库的管理、借阅证的管理以及系统管理等操作,具体的流程如图2-2所示。系统管理借阅证管理退出系统书库管理用户验证登陆界面系统管理借阅证管理退出系统书库管理用户验证登陆界面登录系统图2-2系统流程图第3章数据库设计※3.1概念结构设计借阅卡管理和系统管理模块的E-R图如图3-1所示:借阅卡借阅卡1借阅借阅1n图书借书图书借书图3-1总E-R图各实体的E-R图如下列图所示:图3-2图书的ER图图3-3借书的ER图图3-4借阅卡的ER图借阅卡管理和系统管理模块有图书、借书、借阅卡四个实体。图书的属性包括书号、书名、作者、出版社、单价、入库时间、总量和现存量,书号是主码。借阅卡是读者借书的凭证,包括卡号、姓名、性别,出生日期、地址、现借书总量等属性,卡号是主码。借书那么包括借书号、卡号、书号、借书时间,借书号、卡号,书号是主码。一张借阅卡可以借多本图书,可以有多个借书信息,一个借书信息包含一本书籍的借出情况。※3.2逻辑结构设计数据库的逻辑结构设计的任务就是把概念结构设计阶段设计好的根本ER图转换为DBMS产品所支持的数据模型相符合的逻辑结构。现在需要将上面的数据库概念转化为SQLsever2000数据库系统支持的实际数据模型,也就是数据库的逻辑结构。根据E-R图,有以下关系模式:图书〔书号*书名作者出版社单价入库时间图书总量现存量〕;借阅卡〔卡号*姓名性别出生日期地址身份证号码号码现借书总量〕;借书〔借书号*卡号书号借出时间〕。第4章详细设计我设计的是借阅证管理模块和系统管理模块。下面分别介绍两个模块的功能及实现过程。※4.1借阅证管理模块借阅证包括办理借阅证、借阅证信息查询和借阅证挂失3个局部下面分别描述着3个局部的功能以及实现过程。4.1.1办理借阅证办理借阅证包括了办理借阅证和查询借阅证的功能。为了方便添加借阅证和查询所有借阅证的根本信息,可以创立一个对话框。添加的对话框类名为CNewproofDlg,资源ID为IDD_DIALOG_NEW_PROOFES,对话框名称为“办理借阅证〞,界面如图4-1所示图4-1办理借阅证界面查询借阅证的实现局部,就是调用CCheckProofDlg对话框,界面如图4-2所示图4-2查询借阅证界面办理借阅证也是图书管理系统中最重要的功能之一,它的实现函数为OnButtonOK〔〕代码如下:voidCNewProofDlg::OnButtonOk(){//省略局部代码//上面的代码检查输入参数是否为空以及数据库是否正常翻开 CProofSet*m_pset=newCProofSet(&m_database); //观察是否已经有该人,有将不予办理! CStringstrSQL; strSQL.Format("select*fromProof_InfowhereProof_ID='%s'",m_strProofID); m_pset->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL); if(m_pset->GetRecordCount()!=0) { MessageBox("这个号码数据库中已经存在,请查询后重新选择!","办理借阅证"); m_pset->Close(); m_database.Close();m_strProofID.Empty(); UpdateData(FALSE); return; } m_pset->Close(); //没有这个号码,办理借阅证,存入数据库 if(m_strProofID==""||m_strName==""||m_strAddress=="" ||m_strID==""||m_strTel=="") { MessageBox("请认真填写要求的数据!","办理借阅证"); return; } m_iSex=GetCheckedRadioButton(IDC_RADIO_MALE,IDC_RADIO_FEMALE); if(m_iSex==IDC_RADIO_MALE) m_strSex="Male"; elseif(m_iSex==IDC_RADIO_FEMALE) m_strSex="Female"; else { MessageBox("请选择性别信息!","办理借阅证"); return; } CStringm_strYear,m_strMonth,m_strDay; intm_year,m_month,m_day; m_comYear.GetWindowText(m_strYear); m_year=atoi(m_strYear); m_comMonth.GetWindowText(m_strMonth); m_month=atoi(m_strMonth); m_comDay.GetWindowText(m_strDay); m_day=atoi(m_strDay);strSQL.Format("select*fromProof_Info"); m_pset->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL); if(m_pset->GetRecordCount()==0) { MessageBox("数据库中还没有一份借阅证信息,将办理第一份借阅证","办理借阅证"); }以下是在列表框中显示办理借阅证的信息,跟前面的一样//…… m_pset->Update(); m_pset->Requery(); m_pset->Close(); m_database.Close(); MessageBox("办理借阅证成功!","办理借阅证"); CPersonInfoDlgm_dlg; m_dlg.m_strProofID=m_strProofID; m_dlg.DoModal(); }在上面的办理借阅证实现代码中,首先仍然是检查输入参数是否为空以及数据库是否正常翻开,然后CProofSet实例,输入SQL语句〔“select*fromProof_InfowhereProof_ID=’%s’〞,m_strProofID〕,查看数据库是否已经有该人,有将不再为此人办理借阅证,如果没有,检查输入的读者的个人根本信息是否完整,包括姓名,性别,借阅证号,号码,住址以及办理日期等,然后插入新的记录,最后是在列表框中现实办理借阅证的信息。该模块功能简单,就是往数据库中的表中添加新的数据库项。在这里用到了一个从CString到整型变量的转换,即代码中的atoi函数,它的使用也非常简单,但是省略了很多麻烦。如果手工来完成这个转换也是可以实现的饿,需要对CString的字符串进行分析,以累加的方式将字符转换为十进制,同时还要对异常进行处理。4.1.2借阅证挂失借阅证挂失包括了挂失借阅证和查询借阅证的功能。为了方便挂失借阅证和查询所有借阅证的根本信息,可以创立一个对话框。添加对话框类名称为CProofLostDlg,资源ID为IDD_DALOG_PROOF_LOST,对话框名称为“借阅证挂失〞,界面如图4-3所示图4-3借阅证挂失界面查询的实现局部就是调用CCheckProofDlg对话框,在前面已经介绍借阅证丧失后,要及时去图书馆挂失,这也是图书馆管理系统中雨其他信息管理系统相比的重要特色之一。办理借阅证挂失的实现函数为OnButtonloet(),代码如下voidCProofLostDlg::OnButtonShow(){//…省略了局部代码//上面的代码检查输入参数是否为空以及数据库是否正常翻开 CProofSet*m_pset=newCProofSet(&m_database); CStringstrSQL; strSQL.Format("select*fromProof_InfowhereProof_ID='%s'",m_strProofID); m_pset->Open(AFX_DB_USE_DEFAULT_TYPE,strSQL); if(m_pset->GetRecordCount()==0) { MessageBox("数据库中没有该人的信息","借阅证挂失"); m_pset->Close(); m_database.Close(); return; } //挂失,删除该借阅证的记录信息 m_pset->Delete(); m_pset->Close(); m_database.Close(); intiResult; iResult=MessageBox("挂失成功,是否查阅,进行确认","借阅证挂失",MB_YESNO|MB_ICONQUESTION); if(iResult==IDYES) { CCheckProofDlgm_dlg; m_dlg.m_strProofID=m_strProofID; m_dlg.DoModal(); } }voidCProofLostDlg::OnButtonBack(){ //TODO:Addyourcontrolnotificationhandlercodehere if(m_database.IsOpen()) m_database.Close(); OnOK();}voidCProofLostDlg::OnClose(){ OnButtonBack();在以上的借阅证挂失处理函数中,其实现过程与图书挂失类似,读者可以跟上面的函数作比拟以理解其实现过程,在这个函数中对错的处理时很完善的,这也是图书馆系统开发时要非常注意的一点。※4.2系统管理模块4.2.1添加账号在添加用户界面中输入用户名和密码,即可增加成员。图4-4添加成员界面4.2.2修改密码在修改用户密码页面输入原用户明和明码,在输入两次新密码即可修改密码。图4-5修改密码界面第5章测试经过以上各节的介绍,应完成了数据库的开发,接下来将对系统的运行过程进行分析:添加借阅证号,姓名,性别,身份证号,家庭住址,号码即可办理借阅证;在借阅证查询界面输入借阅证号即可查询借阅证信息;在借阅证挂失页面输入借阅证号即可挂失借阅证;在增加成员界面添加用户名和密码即可添加成员;在修改用户密码页面输入原用户明和明码,在输入两次新密码即可修改密码。设计总结这次数据库课程设计我主要采用VisualC++6.0作为前台开发工具,MicrosoftSQLServer2000作为后台数据库,结合C++和数据库的有关知识,开发了这个图书馆管理系统。通过这次课程设计,我对于数据库课程设计的相关步骤和流程有了更深刻的理解,熟悉掌握了MicrosoftSQLServer2000和VisualC++6.0的数据库使用,另一方面,也对SQL语言作为嵌入式语言的功能有了更深刻的体会,同时,我也发现自己对于软件工程设计和数据库设计的知识掌握还不够,设计和编程能力还有待进一步提高,这次课程设计给了我一个锻炼自己的,强化数据库学习的时机,首先,我在稳固了所学知识的根底上,学到了与开发系统有关的知识。我通过复习课本,去图书馆查阅相关书籍以及上网搜索等,学到了很多自己以前不熟的知识。遇到不懂的地方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河南省南阳市邓州市重点名校2025-2026学年初三第三次模拟考试英语试题含解析
- 邵东县2025-2026学年初三第五次中考模拟考试语文试题含解析
- 岳阳市湘阴县重点名校2025-2026学年初三下学期期末教学质量检测试题(Ⅰ)数学试题含解析
- 浙江省宁波市名校2026届初三暑假末结业考试物理试题含解析
- 江苏省东台市第四联盟市级名校2025-2026学年初三英语试题期末练习试卷含解析
- 重庆市七中学2025-2026学年初三下期第二次模拟考试英语试题文试题含解析
- (正式版)DB37∕T 3039-2017 《化妆品中溴硝丙二醇的测定 高效液相色谱法》
- 压疮护理中的护理实践与经验
- 2026年旅游管理专业导游证考取与带团技巧
- 2026年基站建设项目施工计划书
- 2025新人教版七年级下册英语 Unit 8知识点梳理及语法讲义(答案版)
- 食品厂复工复产方案
- 2024年数智工程师职业鉴定考试复习题库(含答案)
- 哮喘免疫治疗
- 生态修复绿化项目施工技术标书
- 写字楼装修合同协议
- 人教A版2019必修第一册专题3.2函数的基本性质【十大题型】(原卷版+解析)
- 中医培训课件:《放血疗法》
- 人工智能伦理导论- 课件 3-人工智能伦理
- 《制药卫生》课件
- (完整版)杭州钱江新城中心区城市设计控规部分
评论
0/150
提交评论