计算机科学与技术专业实践论文6_第1页
计算机科学与技术专业实践论文6_第2页
计算机科学与技术专业实践论文6_第3页
计算机科学与技术专业实践论文6_第4页
计算机科学与技术专业实践论文6_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

专业实践论文作者:学号:学系:专业:计算机科学与技术题目:图书管理系统的设计与实现指导者:年月南京摘要随着人类社会的发展,人类对知识的需求也不断地增长。在这种形势下,书籍就渐渐地成为人们获取并增长知识的主要途径,而图书馆就自然而然地在人们的生活中占据了一定的位置,这次毕业设计,我以我所在的学校图书馆为开发背景,设计这个图书管理系统,从图书的入库登记到查询浏览,从借书证发放到图书的借阅,形成了一个整体自动化管理模式,改善了我校图书馆的管理。本文介绍了在VisualBasic6.0环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发本系统的详细过程,提出实现图书馆信息管理、资源共享的基本目标,从而推动迈向数字化图书馆的步伐,并阐述系统结构设计和功能设计,从图书的入库登记到查询浏览,从借书证发放到图书的借阅,形成了一个整体自动化管理模式,从软件工程的角度进行了科学而严谨的阐述。关键词:图书管理;VisualBasic;数据库

TitleTheDesignandImplementationofBooksManagementSystemAbstractWiththedevelopmentofsociety,mankindneedmoreknowledgealsoconstantlyincrease.Underthissituation,bookgraduallybecomethemainpathtoobtaintheknowledgeoflife,andlibrarynaturallyoccupiedinpeoplecertainlyposition,howsciencegroundthemanagementlibrarynotonlyrelatetotheconvenientdegreethatthereaderbegtoknow,butalsorelatetothelibrarythatstrategyofdevelopment,therefore,developthemanagementsystemofaperfectlibrarycan'tlittle,thistextintroducedundertheVisualBasic6.0theenvironmentadoption"fromtoptobottomtotalprogramming,fromthedetailedprocessthatbottombutupapplieddevelopment"developthissystem,bringuptorealizethebasictargetthatshareofmanagement,resourcesoflibraryinformation,fromthestepthatbutthepushheadintothearithmeticfigureofthelibrary,andshowsthesystemconstructiondesignandfunctiondesign,fromthebooksofstoreinwarehousetoregisterthesearchtoview,booksthatissuefromlibrarycardtoangleofborrow,becomeathewholeautomationthemanagementthemode,andproceedscarefulexplainfromthesoftwareengineeringscience.Keywords:librarymanagementsystem;VisualBasic;database目录TOC\o"1-3"\h\z摘要 [7]的“联系”用于刻画实体之间的关联。一种完整的方式是对局部结构中任意两个实体类型,依据需求分析的结果,考察局部结构中任意两个实体类型之间是否存在联系。若有联系,进一步确定是1:N,M:N,还是1:1等。还要考察一个实体类型内部是否存在联系,两个实体类型之间是否存在联系,多个实体类型之间是否存在联系,等等。根据上面的设计可以规划出的实体有:读者实体、图书实体和借书信息实体。3.1.1读者实体E-R图读者实体E-R图是读者信息相关的模型图,如图3-1所示读者实体读者实体编号姓名类别联系方式

证号性别图3-1读者实体3.1.2图书实体E-R图图书实体E-R图是现有图书的关系模型图,如图3-2所示图书实体图书实体图书编号类别编号作者出版日期数据库配置文件已经安装到D:\oracle\product\10.2.0,同时其他选定的安装组件也已经安装到D:\oracle\product\10.2.0\db_1。

iSQL*PlusURL为:

47:5560/isqlplus

iSQL*PlusDBAURL为:

47:5560/isqlplus/dba

证号图书名称出版日期数据库配置文件已经安装到D:\oracle\product\10.2.0,同时其他选定的安装组件也已经安装到D:\oracle\product\10.2.0\db_1。

iSQL*PlusURL为:

47:5560/isqlplus

iSQL*PlusDBAURL为:

47:5560/isqlplus/dba

证号出版日期数据库配置文件已经安装到D:\oracle\product\10.2.0,同时其他选定的安装组件也已经安装到D:\oracle\product\10.2.0\db_1。

iSQL*PlusURL为:

47:5560/isqlplus

iSQL*PlusDBAURL为:

47:5560/isqlplus/dba

证号图3-2图书实体3.1.3借书实体E-R图借书实体E-R图是读者借书和还书相关的模型图,如图3-3所示借书信息实体借书信息实体图书编号借书证号借出日期还书日期借出状态图3-3借书实体3.1.4系统实体E-R图系统实体E-R图是读者和图书间的关系模型图,如图3-4所示读者读者图书借阅图3-4实体E-R图3.2数据库的详细设计由数据模型REF_Ref218047502\r\h错误!未找到引用源。利用SQLsever2000进行数据库的详细设计,本系统设计的数据库名为book,其基本表的设计如下:(1)读者类别表介绍了读者种类,根据读者权限可以借书的数量,借书的期限和有效期限,如表3-1所示表3-1读者类别读者类别种类名称借书数量借书期限有效期限博士1877教授11012职工745本科744(2)读者信息表介绍了读者的姓名,编号,性别,类别,工作单位,联系方式等,如表3-2所示表3-2读者信息读者信息读者姓名读者编号性别读者类别工作单位家庭地址电话号码登记日期已借书数量张老师001男教授化学系627794762003-5-40王明003女本科物理系627794772003-5-51黄毅002男职工清华大学2003-5-81(3)借阅信息表介绍了借阅编号,读者编号,读者姓名,书籍编号和书籍名称等,如表3-3所示表3-3借阅信息借阅信息借阅编号读者编号读者姓名书籍编号书籍名称出借日期还书日期7003王明Tp-313VisualBasic2003-5-102003-6-78002黄毅Tp-314VisualC++2003-5-102003-6-7(4)书籍信息表介绍了书籍编号,书名,类别,作者,出版社等,如表3-4所示表3-4书籍信息书籍信息书籍编号书名类别作者出版社出版日期登记日期是否被借出Tp-312计算机模拟物理计算机黄文大学出版社2002-1-12003-1-1否Tp-313VisualBasic计算机黄文大学出版社2002-1-12003-1-1是Tp-314VisualC++计算机刘登富计算机出版社2003-1-12003-3-1是O-414高等数学物理高明大学出版社2002-1-22003-1-3否TN-21电子技术电子杨通大学出版社2001-1-12002-1-1否(5)系统管理表介绍了用户名,密码和相关的权限,如表3-5所示表3-5系统管理系统管理用户名密码权限adminadminsystemguestguestguest3.3本章小结本章主要介绍了系统开发过程中数据库的E-R模型图和详细设计图表.可以看出数据库是图书管理系统开发过程中必不可少的部分.

4详细设计与实现图书管理系统需要满足来自三方面的需求,这三个方面分别是图书借阅者、图书馆工作人员和图书馆管理人员。图书借阅者的需求是查询图书馆所存的图书、个人借阅情况及个人信息的修改;图书馆工作人员对图书借阅者的借阅及还书要求进行操作,同时形成借书或还书报表给借阅者查看确认;图书馆管理人员的功能最为复杂,包括对工作人员、图书借阅者、图书进行管理和维护,及系统状态的查看、维护并生成催还图书报表。图书借阅者可直接查看图书馆图书情况,如果图书借阅者根据本人借书证号和密码登录系统,还可以进行本人借书情况的查询和维护部分个人信息。一般情况下,图书借阅者只应该查询和维护本人的借书情况和个人信息,若查询和维护其他借阅者的借书情况和个人信息,就要知道其他图书借阅者的借书证号和密码。这些是很难得到的,特别是密码,所以不但满足了图书借阅者的要求,还保护了图书借阅者的个人隐私。图书馆工作人员有修改图书借阅者借书和还书记录的权限,所以需对工作人员登陆本模块进行更多的考虑。在此模块中,图书馆工作人员可以为图书借阅者加入借书记录或是还书记录,并打印生成相应的报表给用户查看和确认。在本系统中由于没有打印机设备供试验,所以没有制作打印模块。本系统提供的功能有

1.设计不同用户的操作权限和登陆方法

2.对所有用户开放的图书查询

3.借阅者维护借阅者个人部分信息

4.借阅者查看个人借阅情况信息

5.维护借阅者个人密码

6.查询及统计各种信息

7.维护图书信息

8.维护借阅者信息

9.对借阅过期的图书进行通知4.1用户登陆模块的实现程序运行程序以后,就可以看到程序的登陆主界面.输入用户名和密码点击登录即可进入图书管理系统的后台界面。功能:本模块的主要功能是对操作用户身份的验证,只有系统的合法用户才能进入系统。在进行系统登录过程中,登录模块将调用数据库里的用户表,并对用户名和密码进行验证,只有输入了正确的用户名和密码后,系统登录才会成功。否则退出登录模块。并在输入了错误的或者是不存在的用户名和密码时,系统会给出出错信息提示,指明登录过程中的错误输入或错误操作,以便用户进行正确的登录。登陆代码REF_Ref218089531\r\h[9]REF_Ref218089592\r\h[10]如下:OptionExplicitDimcntAsInteger'记录确定次数PrivateSubCommand1_Click()DimsqlAsStringDimrs_loginAsNewADODB.RecordsetIfTrim(txtuser.Text)=""Then'判断输入的用户名是否为空MsgBox"没有这个用户",vbOKOnly+vbExclamation,""txtuser.SetFocusElsesql="select*from系统管理where用户名='"&txtuser.Text&"'"rs_login.Opensql,conn,adOpenKeyset,adLockPessimisticIfrs_login.EOF=TrueThenMsgBox"没有这个用户",vbOKOnly+vbExclamation,""txtuser.SetFocusElse'检验密码是否正确IfTrim(rs_login.Fields(1))=Trim(txtpwd.Text)ThenuserID=txtuser.Textuserpow=rs_login.Fields(2)rs_login.CloseUnloadMeMain.ShowElseMsgBox"密码不正确",vbOKOnly+vbExclamation,""txtpwd.SetFocusEndIfEndIfEndIfcnt=cnt+1Ifcnt=3ThenUnloadMeEndIfExitSubEndSubPrivateSubCommand2_Click()UnloadMeEndSubPrivateSubForm_Load()DimconnectionstringAsStringconnectionstring="provider=Microsoft.Jet.oledb.4.0;"&_"datasource=book.mdb"conn.Openconnectionstringcnt=0EndSub4.2图书管理模块的实现用户在登陆以后进入图书管理系统的界面,从总体上可以分为图书管理,读者管理,图书借阅,系统管理和帮助五个部分。其中图书管理模块的功能为实现图书类别管理和图书信息管理。而图书类别管理又为添加、修改和删除图书类别,图书信息管理又为添加、修改、删除和查询图书信息。在此以添加图书类别为例给出具体实现的代码。添加图书类别的代码如下:OptionExplicitPrivateSubCommand1_Click()Dimrs_bookstyleAsNewADODB.RecordsetDimsqlAsStringIfTrim(Text1.Text)=""ThenMsgBox"图书种类不能为空",vbOKOnly+vbExclamation,""Text1.SetFocusExitSubEndIfIfTrim(Text2.Text)=""ThenMsgBox"种类编号不能为空",vbOKOnly+vbExclamation,""Text2.SetFocusExitSubEndIfsql="select*from图书类别where类别名称='"&Text1.Text&"'"rs_bookstyle.Opensql,conn,adOpenKeyset,adLockPessimisticIfrs_bookstyle.EOFThenrs_bookstyle.AddNewrs_bookstyle.Fields(0)=Trim(Text1.Text)rs_bookstyle.Fields(1)=Trim(Text2.Text)rs_bookstyle.UpdateMsgBox"添加图书类别成功!",vbOKOnly,""rs_bookstyle.CloseElseMsgBox"读者类别重复!",vbOKOnly+vbExclamation,""Text1.SetFocusText1.Text=""rs_bookstyle.CloseExitSubEndIfEndSubPrivateSubCommand2_Click()UnloadMeEndSub4.3读者管理模块的实现读者管理模块的功能为实现读者类别管理和读者信息管理。其中读者类别管理可以实现添加、删除和查询读者类别,读者信息管理可以实现添加、修改、删除和查询读者信息。这里仅以添加读者信息为例来说明如何具体实现。添加读者信息的代码如下:OptionExplicitDimrs_addreaderAsNewADODB.RecordsetPrivateSubCommand1_Click()DimsqlAsStringIfTrim(Combo1.Text)=""ThenMsgBox"请选择读者种类",vbOKOnly+vbExclamation,""Combo1.SetFocusExitSubEndIfIfTrim(Text1.Text)=""ThenMsgBox"读者姓名不能为空",vbOKOnly+vbExclamation,""Text1.SetFocusExitSubEndIfIfTrim(Text2.Text)=""ThenMsgBox"读者编号不能为空",vbOKOnly+vbExclamation,""Text2.SetFocusExitSubEndIfsql="select*from读者信息where读者编号='"&Text2.Text&"'"rs_addreader.Opensql,conn,adOpenKeyset,adLockPessimisticIfrs_addreader.EOFThenrs_addreader.AddNewrs_addreader.Fields(0)=Trim(Text1.Text)rs_addreader.Fields(1)=Trim(Text2.Text)rs_addreader.Fields(2)=Trim(Combo2.Text)rs_addreader.Fields(3)=Trim(Combo1.Text)rs_addreader.Fields(4)=Trim(Text3.Text)rs_addreader.Fields(5)=Trim(Text4.Text)rs_addreader.Fields(6)=Trim(Text5.Text)rs_addreader.Fields(7)=CDate(Text6.Text)rs_addreader.UpdateMsgBox"添加读者信息成功!",vbOKOnly,""rs_addreader.CloseElseMsgBox"读者编号重复!",vbOKOnly+vbExclamation,""Text1.SetFocusText1.Text=""rs_addreader.CloseExitSubEndIfEndSubPrivateSubCommand2_Click()UnloadMeEndSubPrivateSubForm_Load()Combo2.AddItem"男"Combo2.AddItem"女"Dimrs_leibieAsNewADODB.RecordsetDimsqlAsStringsql="select*from读者类别"rs_leibie.Opensql,conn,adOpenKeyset,adLockPessimisticrs_leibie.MoveFirstDoWhileNotrs_leibie.EOFCombo1.AddItemrs_leibie.Fields(0)rs_leibie.MoveNextLooprs_leibie.CloseEndSub4.4图书借阅模块的实现图书借阅管理模块的功能为实现借书管理和还书管理。借书管理又分为添加借书信息和查询借书信息,还书管理则为添加还书信息。在借书管理和还书管理这一部分中,我们要实现的功能是在图书数据库和读者库之间建立关系。当一个读者从图书数据库中找到了自己所要的书时。系统就在这一读者和该书之间建立一个关系,从而实现读者从图书数据库中借书的功能。当读者要还书时,只需取消读者和该书之间的关系,这样一来就实现了还书的功能。此模块中以添加借书信息为例来说明如何具体实现。借书的代码如下:OptionExplicitDimleibieAsString'该读者的类别DimqixianAsInteger'该读者可以借书的期限DimshumuAsInteger'该读者已借书数量DimmaxnumAsInteger'该读者借书数量的限制PrivateSubCombo1_Click()Combo2.ListIndex=Combo1.ListIndexEndSubPrivateSubCombo2_Click()Combo1.ListIndex=Combo2.ListIndexEndSubPrivateSubCommand1_Click()Dimrs_borrowbookAsNewADODB.RecordsetDimsqlAsStringsql="select*from读者信息where读者编号='"&Combo1.Text&"'"rs_borrowbook.Opensql,conn,adOpenKeyset,adLockPessimisticleibie=rs_borrowbook.Fields(3)shumu=rs_borrowbook.Fields(8)rs_borrowbook.Closesql="select*from读者类别where种类名称='"&leibie&"'"rs_borrowbook.Opensql,conn,adOpenKeyset,adLockPessimisticqixian=rs_borrowbook.Fields(2)maxnum=rs_borrowbook.Fields(1)rs_borrowbook.CloseIfshumu>=maxnumThenMsgBox"该读者借书数额已满!",vbOKOnly+vbExclamationExitSubEndIfsql="select*from借阅信息"rs_borrowbook.Opensql,conn,adOpenKeyset,adLockPessimisticrs_borrowbook.AddNewrs_borrowbook.Fields(1)=Combo1.Textrs_borrowbook.Fields(2)=Combo2.Textrs_borrowbook.Fields(3)=Label8.Captionrs_borrowbook.Fields(4)=Label9.Captionrs_borrowbook.Fields(5)=Daters_borrowbook.Fields(6)=DateAdd("Ww",qixian,Date)rs_borrowbook.Updaters_borrowbook.Closesql="select*from书籍信息where书籍编号='"&book_num&"'"rs_borrowbook.Opensql,conn,adOpenKeyset,adLockPessimisticrs_borrowbook.Fields(7)="是"rs_borrowbook.Updaters_borrowbook.Closesql="select*from读者信息where读者编号='"&Combo1.Text&"'"rs_borrowbook.Opensql,conn,adOpenKeyset,adLockPessimisticrs_borrowbook.Fields(8)=rs_borrowbook.Fields(8)+1rs_borrowbook.Updaters_borrowbook.CloseMsgBox"本书借阅成功!",vbOKOnly+vbExclamationUnloadMeEndSubPrivateSubCommand2_Click()UnloadMeEndSubPrivateSubForm_Load()Dimrs_borrowAsNewADODB.RecordsetDimrs_readerAsNewADODB.RecordsetDimsqlAsStringsql="select*from书籍信息where书籍编号='"&book_num&"'"rs_borrow.Opensql,conn,adOpenKeyset,adLockPessimisticLabel8.Caption=rs_borrow.Fields(0)Label9.Caption=rs_borrow.Fields(1)Label10.Caption=rs_borrow.Fields(2)Label11.Caption=rs_borrow.Fields(3)Label12.Caption=rs_borrow.Fields(4)Label13.Caption=rs_borrow.Fields(5)Label14.Caption=rs_borrow.Fields(6)sql="select*from读者信息"rs_reader.Opensql,conn,adOpenKeyset,adLockPessimisticIfNotrs_reader.EOFThenDoWhileNotrs_reader.EOFCombo1.AddItemrs_reader.Fields(1)Combo2.AddItemrs_reader.Fields(0)rs_reader.MoveNextLoopElseMsgBox"请先登记读者!",vbOKOnly+vbExclamationExitSubEndIfrs_borrow.Closers_reader.CloseEndSub4.5系统管理模块的实现系统管理模块功能为实现添加管理员,修改密码和退出系统.在此模块的实现中以添加管理员为例来说明如何具体实现.添加管理员的代码如下:PrivateSubCommand1_Click()DimsqlAsStringDimrs_addAsNewADODB.RecordsetIfTrim(Text1.Text)=""ThenMsgBox"用户名不能为空",vbOKOnly+vbExclamation,""ExitSubText1.SetFocusElsesql="select*from系统管理"rs_add.Opensql,conn,adOpenKeyset,adLockPessimisticWhile(rs_add.EOF=False)IfTrim(rs_add.Fields(0))=Trim(Text1.Text)ThenMsgBox"已有这个用户",vbOKOnly+vbExclamation,""Text1.SetFocusText1.Text=""Text2.Text=""Text3.Text=""Combo1.Text=""ExitSubElsers_add.MoveNextEndIfWendIfTrim(Text2.Text)<>Trim(Text3.Text)ThenMsgBox"两次密码不一致",vbOKOnly+vbExclamation,""Text2.SetFocusText2.Text=""Text3.Text=""ExitSubElseIfTrim(Combo1.Text)<>"system"AndTrim(Combo1.Text)<>"guest"ThenMsgBox"请选择正确的用户权限",vbOKOnly+vbExclamation,""Combo1.SetFocusCombo1.Text=""ExitSubElsers_add.AddNewrs_add.Fields(0)=Text1.Textrs_add.Fields(1)=Text2.Textrs_add.Fields(2)=Combo1.Textrs_add.Updaters_add.CloseMsgBox"添加用户成功",vbOKOnly+vbExclamation,""UnloadMeEndIfEndIfEndSubPrivateSubCommand2_Click()UnloadMeEndSubPrivateSubForm_Load()Combo1.AddItem"system"Combo1.AddItem"guest"EndSub4.6本章小结本章主要介绍了图书管理系统的功能模块的具体实现.通过对系统登陆模块、图书管理模块、读者管理模块、图书借阅管理模块和系统管理模块的具体实现来讲述如何去开发一个图书管理系统.

5软件测试与维护5.1测试范围与主要内容软件测试REF_Ref218089393\r\h[6]REF_Ref218047476\r\h[7]REF_Ref218089398\r\h[8]需要测试的范围和测试的主要内容,并对其进行简要的说明.具体实现如表6-1所示表6-1测试范围与主要内容测试范围主要内容简要说明系统登陆验证验证用户身份功能性测试信息检索功能测试测试数据库检索代码的健壮性功能性测试图书管理功能测试测试系统实用性、方便性功能性测试统计分析测试测试按时段统计的准确性功能性测试数据完整性测试测试操作失败时的数据完整性控制功能性测试核心代码复检检验核心代码的质量逻辑检错性测试5.2测试方法软件的测试方法分为功能性测试和逻辑检错性测试,其中功能性测试可以通过黑盒测试来实现,逻辑检错性测试可以通过白盒测试来实现.5.3软件维护本图书管理系统的维护主要包括以下内容:(1)权限维护。管理员需要对用户的用户名、密码和权限进行维护,给每位读者分配享用的用户名和密码,确定阅读级别。(2)书目管理。书目需要经常进行更新。同时,在书目信息表中更改、增加各相应的数据信息。(3)书目类别管理。书目的更新操作,引起书目类别信息表的更改,管理员就需要及时调整书目类别。5.4本章小结本章主要讲述了软件测试的范围和方法,以及如何去维护软件。软件的测试与维护可以帮助我们去更好的去使用软件。

结论通过系统的在校学习和对外界的认识,我对软件开发的大致过程有了一些基本的了解,有了一些体会:程序没有最好,只有更好,程序没有十全十美,只有更完美;在编程的过程中,会遇到各种各样的问题,优秀的编程大师正是在解决了遇到的这些问题而积累经验的成果,提升了编程能力和丰富了编程思维。深入的体会:编程总会深入内部,深究根源,一个程序只有不断地测试和修改才能减少错误,才能提高质量,才能做得更好,程序是在不断地壮大的。编程需要严谨的思维,程序是一个逻辑产品,它存储在磁盘等物理介质中,它看不见,摸不着,它运行时一环接一环,一丝扣一丝,一旦出错,有可能导致难以预料的严重后果。而严谨的思维能使程序逻辑出错的可能性大大降低,也使程序易于维护。而且,保持严谨的思维总是一个好的习惯。在学习的过程中,要学会应用网络上的知识,把它变为自己的知识,应用在实际中来解决问题。因为在网络上有各种各样的资源可以供你参考。编程需要良好的编程习惯。好的编程习惯能给编程人员省去很多不必要的麻烦,提

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论