基于.NET平台的图书馆管理信息系统设计与实现_第1页
基于.NET平台的图书馆管理信息系统设计与实现_第2页
基于.NET平台的图书馆管理信息系统设计与实现_第3页
基于.NET平台的图书馆管理信息系统设计与实现_第4页
基于.NET平台的图书馆管理信息系统设计与实现_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1、本 科 毕 业 设 计 ( 论 文 ) 计算机与信息学院题目:基于.net 平台的图书馆管理信息系统设计与实现学生:学号:专业:班级: 指导教师:日期:目录摘要.- 1 - abstract .- 2 - 第 1 章 绪论.- 4 - 1.1 开发背景及意义 . - 4 - 1.2系统简介 . - 4 - 第 2 章 技术背景 .- 5 - 2.1 开发平台 .net及 c# 语言 . - 5 - 2.2 sql server 2005 . - 6 - 2.3 ado.net . - 7 - 第 3 章 需求分析 .- 8 - 3.1 业务描述 . - 8 - 3.1.1 图书借阅者业务 .

2、- 8 - 3.1.2 图书馆工作人员业务 . - 9 - 3.1.3 图书馆管理人员业务 . - 9 - 3.2 系统基本模块功能分析 . - 10 - 3.2.1 系统数据流程图 . - 10 - 3.2.2 系统基本模块功能分析 . - 10 - 3.3 状态分析 . - 10 - 3.4 安全性分析 . - 11 - 第 4 章 系统设计 . - 12 - 4.1 系统设计基本思想 . - 12 - 4.2 系统总功能模块结构设计 . - 12 - 4.3 系统子模块设计 . - 12 - 4.4 系统界面设计 . - 14 - 4.4.1 登录界面设计 . - 14 - 4.4.2

3、系统主界面 . - 14 - 4.4.3 读者档案管理 . - 15 - 4.4.4 图书档案管理 . - 16 - 4.4.5 读者查询 . - 16 - 4.4.6 图书罚款 . - 17 -4.5 数据库设计 . - 18 - 4.5.1 概念结构设计 . - 18 - 4.5.2 逻辑结构设计 . - 19 - 4.5.3 物理结构设计 . - 19 - 第 5 章 系统实现 . - 23 - 5.1 系统实现 . - 23 - 5.1.1 系统开发及运行环境 . - 23 - 5.1.2 系统模块的实现 . - 23 - 5.2 系统测试 . - 27 - 5.2.1 测试目的 .

4、- 27 - 5.2.2 测试原则 . - 28 - 5.2.3 测试用例 . - 28 - 第 6 章 毕业设计总结 . - 29 - 谢辞 . - 30 - 参考文献 . - 31 - 附录 a:主要源程序代码 . - 32 - 附录 b:图书馆管理信息系统使用说明书. - 39 - 附录 c:光盘资料说明 . - 40 - 计算机与信息学院本科毕业设计(论文)- 1 - 基于.net平台的图书馆管理信息系统设计与实现摘要随着社会的发展,人们对知识的渴求越来越大。其中知识的主要来源就是书籍。图书馆就成了人们获得知识的一个宝贵地方。而管理现代化,办公自动化和决策科学化,是现代化办公管理发展的

5、必然趁势。图书管理比较繁琐,复杂,产生的文档比较多,并且由于手工的操作,使这些文档无法有效地核对和管理,在汇总以及分析方面更加困难。国内一些图书馆对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。这种数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。因此,迫切需要计算机技术来辅助管理。图书管理系统的目的是应用信息化的技术对图书进行管理,减少大量的数据冗余和传统管理的繁琐工作量,

6、实现图书管理的系统化,科学化。基于上述这些特点,使用visual studio 2005 和 sql server 2005 工具开发了本系统。本系统共有资料管理模块、借阅管理模块、查询报表管理模块和系统管理模块 4 大模块。本文首先对系统进行需求分析,使用流程图、实体关系图、状态图等对系统进行详细的结构分析。随后进行详细的系统设计,功能设计、模块设计、数据库设计、界面设计。本系统基本包含了小型图书馆的有关功能需求。关键词:图书;信息管理;系统分析;系统设计;系统实现计算机与信息学院本科毕业设计(论文)- 2 - based on the .net platform of the librar

7、y management information system design and realization abstract as society develops, people thirst for knowledge is growing.which is the main source of knowledge and books.library access to knowledge has become a valuable place.the modernization of management, office automation and scientific decisi

8、on-making, is the inevitable development of modern office management taking advantage of.library management is cumbersome, complex to produce more documents, and because of manual operation, so that these documents can not be effectively checked and managed, in the matrix and the analysis more diffi

9、cult.some domestic library information management is based on the main form of text, tables and other paper-based manual processing, for borrowing books (such as library days, more than the charging time of the number of days) and verification of such statistics are often used for librarycard manual

10、 inspections carried out on the borrowers borrowing authority, and the number of days with artificial lending terms were handwritten.this data processing workload, error-prone; the variety of data, easily lost, and easy to find.overall, the lack of a systematic, standardized information management t

11、ools.therefore, the urgent need for computer technology to assist management. the purpose of library management system is the application of information technology on library management, reduce the large amount of data redundancy and cumbersome traditional management workload, library management to

12、achieve a systematic and scientific.based on these characteristics, the use of visual studio 2005 and sql server 2005 计算机与信息学院本科毕业设计(论文)- 3 - tools to develop this system.total data management module of the system, to borrow management module, reporting module and the system management module manage

13、ment 4 major modules.firstly, the system needs analysis, the use of flow charts, entity relationship diagrams, state diagrams of the detailed structural analysis of the system.followed by a detailed system design, functional design, module design, database design, interface design.the basic system i

14、ncludes the functional needs of small libraries.key words: books; information management; system analysis; system design; system implementation计算机与信息学院本科毕业设计(论文)- 4 - 第1章 绪论1.1 开发背景及意义当今时代是飞速发展的信息时代,在各行各业中离不开信息处理,计算机管理系统被广泛应用。计算机的好处在于它能够进行信息管理,使用计算机信息管理,不仅提高了工作效率,而且大大提高了安全性。如今图书管理是高校内每一个系或院都必须切实面对的工

15、作,但一直以来人们使用传统的人工方式管理图书资料。这种方式存在着很多缺点,如效率低、保密性差而且较为繁琐。另外,随着图书资料数量的增加,其工作量也将大大增加,这必将增加图书资料管理者的工作量和劳动强度,这将给图书资料的查找、更新、维护都带来很多困难。随着科学技术不断的提高,这种传统的手工管理方法必然被计算机管理所取代。图书管理的优点在于,查找方便、可靠性高、保密性好、成本低等,这些优点能够极大地提高图书管理的效率。因此,开发图书馆管理系统是非常必要的。1.2 系统简介图书馆管理系统 (library manage system)的设计与实现是结合c#.net2005和 sql server20

16、05开发的 。本系统以读者管理、图书管理、读书借还管理、综合查询、报表管理、管理员等六大系统功能为重点部分。其中具体读者管理模块包括读者类型设置、读者档案管理、借书证挂失与恢复等功能;图书管理包括:图书类型设置、图书档案管理、出版社管理、图书注销、图书征订等功能;图书借还管理模块包括、图书借阅、图书归还、图书续借、图书丢失、图书罚款等功能;综合查询包括、图书借阅查询、图书归还查询、图书超期查询、图书注销查询、图书定购查询、读者档案管理员包括管理员密码修改功能。计算机与信息学院本科毕业设计(论文)- 5 - 第2章 技术背景本系统以 sql server 2005 作为后台数据库, micros

17、oft visual studio .net 2005(c#)为前台开发工具。2.1 开发平台 .net及 c# 语言microsoft .net是一个环境,称之为理想化的未来因特网环境,微软的构想是一个“不再关注单个网站、单个设备与因特网相连的互联网环境,而是要让所有的计算机群、相关设备和服务商协同工作”的网络计算环境。 microsoft .net追求的是以上所说的一种理想的互联网环境。microsoft .net的最终目的就是让用户在任何地方、任何时间,以及利用任何设备都能访问他们所需要的信息、文件和程序。而用户无需知道这些东西存在什么地方,甚至连如何获得等具体细节都不知道。图 2-1

18、.net框架图microsoft .net开发框架支持多种语言,。而且microsoft公司支持第三方生产针对 microsoft .net的编译器和开发工具,这也就是说几乎所有市场上的编程语言都有可能应用于microsoft .net开发框架。 .net 框架图如图 2-1 所示。计算机与信息学院本科毕业设计(论文)- 6 - 需要特别指出的是, microsoft公司在 microsoft .net中推出了全新的c 语言,这种全新的面向对象的语言使得开发者可以快速地构建从底层系统级到高层商业组件的不同应用。microsoft .net会改变技术开发人员的开发应用程序的方式,而且使得开发人员

19、能创建出全新的各种应用程序,其关键是提出了web服务这个崭新的概念。microsoft .net可使用户通过互联网轻松地完成那些在当今看来十分费时费力的事务,这些事务往往要求用户进行数据重复输入并需长时间运行才能完成。总之 microsoft .net使得用户不再关心如何与计算机进行交互,从而致力于使计算机自动执行所需要完成的任务。visual c# .net 是一套综合工具集,用于为 microsoft windows 和 web 创建 xml web 服务和基于 microsoft .net 的应用程序。这个强劲的开发包使用面向组件的 c# 开发语言,为具备 c+ 或 java 经验的初级

20、和中级开发人员创建下一代软件提供了现代化的语言和环境。visual c# .net 基于强大的 c+ 传统语言而创建。 c# 是一个现代化的、直观的、面向对象的编程语言,它不仅可以让 c+ 和 java 开发人员马上熟悉,而且提供了重要的改进,包括统一的类型系统、最大化开发人员控制的“不安全”代码以及大多数开发人员容易理解的强大的新语言构造。这个现代化的面向组件的语言具有对属性、索引器、委托、版本控制和自定义属性的内在支持,开发人员可以充分享受它带来的好处。使用 xml 注释, c# 开发人员可以生成有用的源代码文档。高级继承模型使开发人员能够重用来自任何支持 .net 的语言的代码。2.2

21、sql server 2005 sql server 2005引入了 sql server management studio ,这是一个新型的统一的管理工具组。这个工具组将包括一些新的功能,以开发、配置sql server数据库,发现并修理其中的故障,同时这个工具组还对从前的功能进行了一些改进。使用 sql server 2005 ,开发人员通过使用相似的语言,例如微软的visual c# .net 和微软的 visual basic,将能够创立数据库对象。开发人员还将能够建立两个新的对象用户定义的类和集合。计算机与信息学院本科毕业设计(论文)- 7 - 从对 sql类的新的支持,到多活动结

22、果集(mars ),sql server 2005 中的ado.net 将推动数据集的存取和操纵,实现更大的可升级性和灵活性。总之, sql server 2005 非常适合与本系统的开发。2.3 ado.net ado.net 提供了对 xml 的强大支持,这也是ado.net 的一个主要设计目标。 在 ado.net 中通过 xmlreader、 xmlwriter 、 xmlnavigator 及 xmldocument等可以方便地创建和使用xml 数据,并且支持w3c 的 xslt、dtd 及 xdr 等标准。ado.net 对 xml 的支持也为 xml 成为 microsoft.n

23、et 中数据交换的统一格式提供了基础。 ado.net 引入了 dataset的概念,提供了数据的关系型视图。不管数据来源于一个关系型数据库,还是来源于一个 xml 文档,都可以用一个统一的编程模型来创建和使用它。它替代了原有的recordset的对象,提高了程序的交互性和可扩展性,尤其适合与分布式的应用场合。计算机与信息学院本科毕业设计(论文)- 8 - 第3章 需求分析需求分析就是描述系统的需求,通过定义系统中的关键类来建立模型。分析的根本目的是在开发者和提出需求的人之间建立一种理解和沟通的机制。系统分析工作是开发信息系统中的重要环节,特别是开发大中型规模的信息系统,系统分析工作做的好坏将

24、直接影响整个系统的成败。系统分析阶段是整个系统建设最关键的阶段之一,也是信息系统建设与一般工程项目建设的主要区别。系统分析也称逻辑设计,即建立新系统的逻辑模型,在逻辑上规定新系统的功能但不涉及新系统具体的物理实现,也就是要解决系统“做什么”,而不是“如何做”的问题。系统分析阶段的结果在系统分析说明书中描述,系统分析说明书是下阶段工作的依据,也是衡量一个信息系统优劣的依据。3.1 业务描述图书管理系统需要满足来自三方面的需求,这三个方面分别是图书借阅者、图书馆工作人员和图书馆管理人员。图书借阅者的需求是查询图书馆所存的图书、个人借阅情况及个人信息的修改;图书馆工作人员对图书借阅者的借阅及还书要求

25、进行操作,同时形成借书或还书报表给借阅者查看确认;图书馆管理人员的功能最为复杂,包括对工作人员、图书借阅者、图书进行管理和维护,及系统状态的查看。3.1.1 图书借阅者业务图书借阅者根据本人的借书证号码和密码登录系统,可查看图书馆中馆藏图书的情况,可以查询图书馆中的热门书籍,图书排行榜,还可以对本人借书历史、会费标准等进行的查询和维护部分个人信息。一般情况下,图书借阅者只能查询和维护本人的借书历史和个人信息,若查询和维护其他借阅者的借书情况和个人信息,就必须要知道其他图书借阅者的借书证号码和密码。但借阅者很难得到别人的登录密码,所以这是比较安全的,不但满足了各个借阅者的查询要求,还可以保护图书

26、借阅者的个人隐私。计算机与信息学院本科毕业设计(论文)- 9 - 3.1.2 图书馆工作人员业务图书馆工作人员即图书管理员有自己的登录名称和登录密码,登录系统以后,可以对图书馆内的图书信息进行操作,包括类别、出版社等具体信息进行增加、删除、修改,还可以对借阅者的借书还书要求进行操作,可以查询各种图书相关信息,并打印各种报表,可以进行读者挂失处理,但是不能对读者的借阅历史等隐私进行查看,不能查看图书馆的收入情况,不能对其他管理员的操作权限进行修改。3.1.3 图书馆管理人员业务图书馆管理人员即系统管理员功能最广,几乎涵盖本系统的所有功能,数据安全性和保密性要求高,可以是想对图书信息、借阅者信息、

27、总体借阅情况信息的管理和统计、工作人员和管理人员信息查看、修改,并对操作权限等进行维护。图书馆管理员可以浏览、查询、添加、删除、修改、统计图书的基本信息;浏览、查询、统计、添加、删除和修改图书借阅者的基本信息,浏览、查询、统计、添加、删除和修改图书馆的借阅信息,注意在删除某条图书借阅者基本信息记录或图书基本信息记录时,应实现对借阅记录的级联删除。业务流程图如图 3-1 所示。读者管理员借书证图书信息借阅表结束还书操作书库读者表图 3-1 业务流程图计算机与信息学院本科毕业设计(论文)- 10 - 3.2 系统基本模块功能分析3.2.1 系统数据流程图数据流程图又称数据流图,它以图形的方式来表达

28、数据处理系统中信息的变换和传递过程。作为一种描述手段,它可以模拟手工、自动以及两者兼而有之的数据处理过程。根据系统的调查和分析,本系统总的数据流程图如图3-2 所示。图 3-2 系统总数据流程图3.2.2 系统基本模块功能分析1)“读者管理”用于管理读者相关信息。2)“图书管理”用于管理图书相关信息。3)“图书借还管理”用于图书借还的相关信息。4)“综合查询”用于图书的相关查询和模糊查询等。5)“报表“用于显示图书分类、读者的状况。3.3 状态分析状态图在需求分析中非常重要,是系统分析的一种常用工具,通过他可以直观图 3-3 系统管理员维护借阅者帐户的活动图读者图书管理系统借阅读者归还计算机与

29、信息学院本科毕业设计(论文)- 11 - 的了解到系统的功能,及不同成员登录的不同权限,不同操作,系统管理员维护限于篇幅,这里尽画出系统管理员维护借阅者帐户的活动图书籍状态图进行进行说明,如图3-3 所示。3.4 安全性分析系统的安全性是整个系统的一个重点,从使用系统的人员情况来看,在计算机上运行后, 3 种人员可以登录系统,分别是读者、图书管理员、系统管理员,读者的权限最低,只能对图书信息进行查询而不能添加、修改,可以查看自己的借阅历史记录,不能查看其他读者的记录,很好的保护了读者的隐私,较为安全。在同一台机器上可以重复登录,每种人员登录后进行操作,然后可以退出,如果需要再次登录,就必须要知

30、道其他人员的登录名密码。图书管理员只能对图书进行相关操作,而不能对读者信息记录等进行操作。系统管理员,人员较少,可以有系统的几乎所有权限。总体来说,每种使用人员中的每一个人,都只能对与自己相关的信息进行操作,而每人的密码其他人员很难得到,所以系统的安全性可以满足要求。计算机与信息学院本科毕业设计(论文)- 12 - 第4章 系统设计4.1 系统设计基本思想系统开发的总目标是实现内部图书借阅管理的系统化、规范化和自动化。系统设计的任务是:在系统分析的基础上,按逻辑模型的要求,科学合理地进行系统的总体设计和详细设计。其中,总体设计又称结构设计,包括子系统划分、模块结构图等;详细设计包括代码设计、人

31、机界面设计、数据库设计等。4.2 系统总功能模块结构设计根据上述本图书管理系统需要实现的功能,可以得出图书馆管理系统的总体模块功能结构图,如图4-1 所示。图 4-1 图书馆管理系统总功能模块结构图4.3 系统子模块设计(1) 读者信息管理模块用于管理读者相关信息,如图4-2 所示。计算机与信息学院本科毕业设计(论文)- 13 - 图 4-2 读者管理模块功能结构图 (2) 图书信息管理模块用于管理图书相关信息,如图4-3 所示。图 4-3 图书管理功能结构图 (3) 图书借还管理模块用于图书借还的操作,如图4-4 所示。图 4-4 图书借还管理功能结构图计算机与信息学院本科毕业设计(论文)-

32、 14 - (4) 综合查询模块用于图书的相关查询和模糊查询等,如图4-5 所示。图 4-5 综合查询功能结构图4.4 系统界面设计4.4.1 登录界面设计首先,程序判断用户输入的数据是否为空,若为空则提示“请输入用户信息” ;不为空则对用户名进行判断, 如果用户名错误则不执行查询密码操作,并提示“输入信息错误,请重新输入!“相反输入正确则将密码与数据库中数据进行比较,一致则跳转到程序主界面,错误即提示“输入信息错误,请重新输入!”。用户登录界面如图4-6 所示。图 4-6 系统登录界面4.4.2 系统主界面从登录界面进入后首先看到的是系统主界面。此界面包含了所有界面的入口点该界面由菜单栏和状

33、态栏组成。每个功能的访问可通过点击菜单栏里相应的名计算机与信息学院本科毕业设计(论文)- 15 - 称进入。然后可对其进行进一步的操作。状态栏显示的是系统当前的状态、系统时间等。如图 4-7 所示。图 4-7 系统主界面4.4.3 读者档案管理此功能模块主要负责的是读者的登记、注册并输入相关信息。此页面为用户提供了用户新增、修改、删除等操作。在工具栏中提供快捷操作,可以直接翻阅记录。如图 4-8 所示。图 4-8 读者信息管理界面计算机与信息学院本科毕业设计(论文)- 16 - 4.4.4 图书档案管理在图书档案管理功能模块中,主要用于查询、浏览图书的信息以及对图书档案的增加、删除、修改等功能

34、。如图4-9 所示。图 4-9 图书档案管理界面4.4.5 读者查询在读者查询功能中,只需选择输入查询内容,然后选择查询字段。此后点击查询按钮即会在数据库查询匹配的记录,并把记录加入下面的列表框中。 如图 4-10所示。计算机与信息学院本科毕业设计(论文)- 17 - 图 4-10 读者查询界面4.4.6 图书罚款借出的图书有可能在规定的时间内没有还上,按照罚款的规则把罚款的金额记入相应证号的图书罚款表中。当读者未还清欠款时暂停该读者的借阅,必须交清欠费方可进行借阅图书。操作界面如下,输入查询的相关信息,确定无误后只需交清欠费后点击交纳罚款即可。如图4-11 所示。图 4-11 图书罚款界面计

35、算机与信息学院本科毕业设计(论文)- 18 - 4.5 数据库设计4.5.1 概念结构设计人们把数据库设计分为需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行与维护6 个阶段。概念结构设计就是对信息世界进行建模,常用的概念模型是e-r模型。1 实体描述(1)根据分析得到本图书馆管理系统的各实体分别为:图书、借阅证、管理员、读者(2)实体属性分别描述如下:图书(条形码、编号、书名、类型、作者、译者、isbn、出版社、价格、页码、书架名称、现存量、库存总量、入库时间、操作员、简介、借出次数、是否注销)管理员(编号、名称、密码、图书管理、读者管理、图书借还、系统设置、系统查

36、询)读者(条形码、编号、姓名、性别、类型、出生日期、有效证件、证件号码、联系方式、登记日期、有效期至、操作员、备注、图书借阅次数、是否挂失)(3)各实体间的联系。一个读者可借阅多本图书。一个管理员可管理多名读者;一个读者也可能被多名管理员管理。一个管理员发放多个借阅证。一个管理员可管理多本图书;同一本图书也可被多名管理员管理。一个读者拥有一个借阅证。2 e-r 图本系统的 e-r图如图 4-12 所示。计算机与信息学院本科毕业设计(论文)- 19 - 图书归还pk归还编号fk1图书编号读者编号退还押金归还时间操作员确定归还出版社pk出版社编号isbn出版社名称读者类型pk类型图书册书续借次数限

37、制图书图书丢失pk丢失编号fk1图书编号读者编号赔偿金额操作时间操作员确定丢失图书征订pk征订编号fk1图书编号订购者订购者联系方式订购数量订购单价订购日期是否验收验收日期操作员图书借阅pk借阅编号fk1图书编号读者编号借阅时间应还时间续借次数操作员状态读者信息pk编号条形码姓名性别fk1类型出生日期有效证件证件号码联系方式登记日期有效期至操作员备注图书借阅次数期刊借阅次数是否挂失图书罚款pk罚款编号fk2图书编号fk1读者编号罚款日期应罚金额实收金额是否交款备注图书类型pk类型编号类型名称可借天数图书注销pk注销编号fk1图书编号注销数量注销时间操作员确定注销图书信息pk编号条形码书名类型作

38、者译者isbn出版社价格页码书架名称现存量库存总量入库时间操作员简介借出次数是否注销图 4-12 系统 e-r 图4.5.2 逻辑结构设计er模型向关系模型的转换,实际上就是把er图转换成关系模式的集合。er图的主要成分是实体类型和联系类型,转换规则就是如何把实体类型、联系类型转换成关系模式。规则一:将每个实体类型转换成一个关系模式,实体的属性即为关系模式的属性,实体标识符即为关系模式的键。规则二:若实体间联系是1:1,可以在两个实体类型转换成的每个关系模式中任意一个关系模式的属性中加入另一个关系模式的键和联系类型的属性。若实体间联系是 1:n,则在 n端实体类型转换杨的关系模式中加入1 端实

39、体类型的键和联系类型的属性。若实体间联系是m :n ,则将联系类型也转换成关系模式,其属性为两端实体类型的键加上联系类型的属性,而键为两端实体的组合。4.5.3 物理结构设计根据本系统的需求分析,本系统的数据库共有13 张表,限于篇幅,尽列出如几张进行说明。1. 图书信息表计算机与信息学院本科毕业设计(论文)- 20 - 基本表图书信息,用于保存入库的所有图书,其中除书所专有的属性外还添加了几项属性:图书所在书架、现存量、库存总量、入库时间、借出次数、是否注销。其中现存量是根据图书借阅情况做相应更改没借出一本数,现存量减少一本,每归还一本现存量增加一本。库存总量是根据图书丢失或图书注销做相应更

40、改的每丢失一本图书现存量和库存总量都相应减少一本。如注销该图书则从数据库中减少相应的数目。注销是标记图书是否需要被注销,如标明要注销则该图书不得再借阅,查看图书是否已完全归还如在借阅中等图书归还完毕注销此数。如表 4-1 所示。表 4-1 图书信息表结构数据项数据类型主键否长度条形码varchar 否40 编码varchar 是50 书名varchar 否200 类型varchar 否100 作者varchar 否100 译者varchar 否100 isbn varchar 否40 出版社varchar 否100 价格money 否8 页码int 否4 书架名称varchar 否200 现存

41、量int 否4 库从总量int 否4 入库时间smalldatetir 否4 操作员varchar 否20 简介varchar 否100 借出次数int 否4 是否注销bit 否1 2 读者信息用于保存读者信息,其中包含了读者的基本信息。其中类型、有效证件是外键信息输入是通过选取相关值然后填充至数据库。此表还添加了借书证的信息相应减少了借书证表的创建。其还配备了图书借阅次数信息。另外还多了个是否挂失选项,如果读者丢失借书证则可以挂失。挂失的卡不能再借阅书刊,在借阅是计算机与信息学院本科毕业设计(论文)- 21 - 系统检查是否挂失,挂失则跳出提示并关闭窗口。必须注销挂失才能继续使用。如表 4-

42、2 所示。表 4-2 基本表读者信息表结构数据项数据类型主键否长度条形码varchar 否40 编号varchar 是20 姓名varchar 否20 类型varchar 否8 出生日期smalldatetir 否20 有效证件varchar 否4 证件号码varchar 否60 联系方式varchar 否60 登记日期smalldatetir 否100 有效期至smalldatetir 否4 操作员varchar 否4 备注varchar 否20 图书借阅次数int 否100 是否挂失bit 否4 性别varchar 否1 3 图书借阅基本表图书借阅记录已借出的图书的主要信息。对于图书的详细

43、属性可根据图书编号返回图书表中查找,同时还记录了每本借出图书的外借日期和应还日期。并可以查看已续借的次数,同时设置了图书状态未还,以还,丢失等状态。如表4-3 所示。表 4-3 基本表图书借阅表结构数据项数据类型主键否长度借阅编号int 是4 图书编号varchar 否50 读者编号varchar 否40 借阅时间smalldatetir 否4 应还时间smalldatetir 否4 续借次数int 否4 操作员varchar 否20 状态varchar 否10 计算机与信息学院本科毕业设计(论文)- 22 - 4 图书罚款图书丢失或者图书过期都会触发图书罚款这一事件。罚款未交清则不允许再次借

44、阅图书。需等相关罚款全部交清才能继续使用借书功能。如表4-4 所示。表 4-4 基本表图书罚款表结构数据项数据类型主键否长度罚款编号int 是4 图书编号varchar 否50 读者编号varchar 否20 罚款日期smalldatetir 否4 应罚金额money 否8 实收金额money 否8 是否交款bit 否1 备注varchar 否100 计算机与信息学院本科毕业设计(论文)- 23 - 第5章系统实现5.1 系统实现实现的任务是在预定的环境中实现系统、生成代码、可执行程序和相应的软件文档,建立一个可执行的系统。5.1.1 系统开发及运行环境1. 硬件环境 intel amd 或同

45、档次以上微机; 1g 以上内存或更高; 120g 以上硬盘; 42 速以上光驱; 针打或激光打印机一台。2. 软件环境 操作系统:服务器windows xp server ,客户端 windows xp; 软件开发平台: .net 2.0 framework,开发语言 c#; 数据库: sql server 2005 ; 可视化软件开发工具: microsoft visual studio 2005;开发软件工具: microsoft office visio 2003 5.1.2 系统模块的实现限于篇幅,下面尽对系统中主要模块的实现进行阐述。1. 用户登录的不同操作权限实现该系统共有三种人员

46、使用,图书借阅者、图书管理员和系统管理员,不同的人员有不同的权限。在用户登录界面,可以选择登录的用户类型是读者还是管理员,在用户名密码都正确的情况下进入主界面。根据不同用户的不同操作权限配置系统菜单。主要代码如下:读者登录,权限固定,举例如下this .menustrip1.visible = false ; 计算机与信息学院本科毕业设计(论文)- 24 - this . 图书类别设置 toolstripbutton.visible = false ; 管理员登录,首先恢复按钮显示,举例如下this .menustrip1.visible = true ; this . 图书类别设置 tool

47、stripbutton.visible = true ; 根据操作权限表配置菜单 , 例:string mysql = select * from 操作权限设置 where 用户名称 = + this .myoperator + ; datatable mytable = new datatable (); sqldataadapter myadapter = new sqldataadapter (mysql, myconnection); myadapter.fill(mytable); if ( int )mytable.rows0 资料管理之图书类别设置 = 0) this . 图书类

48、别管理 ttoolstripmenuitem.visible = false ; this .toolstripseparator1.visible = false ; this . 图书类别设置 toolstripbutton.visible = false ; if ( int )mytable.rows0 资料管理之出版社信息设置 = 0) this . 出版社信息设置 ptoolstripmenuitem.visible = false ; this .toolstripseparator2.visible = false ; this . 出版社信息设置 toolstripbutto

49、n.visible = false ; 任何一种读者都可以在登录后,点击退出登录按钮,返回登录页面。这样就实现了在同一台机器中可以多次登录。首先要对主界面实例化,在其他界面尤其是登录界面使用。privatestaticmainform mydlg; publicstaticmainform getmydlg() return mydlg; 而在登录页面,要对主界面进行设置,并记录登录用户名、用户类型等信息。/ 显示 mainform program.getmydlg().visible = true ; / 记录登录的用户名program.getmydlg().myoperator = thi

50、s .用户名称 textbox.text; / 记录登录用户的用户说明用于在状态栏中显示 mysql = select 用户说明 from 操作权限设置 where 用户名称 = + this . 用户名称 textbox.text + ; mycommand = new sqlcommand (mysql, myconnection); program.getmydlg().userdirection = mycommand.executescalar().tostring(); / 根据用户的操作权限配置系统菜单计算机与信息学院本科毕业设计(论文)- 25 - program.getmyd

51、lg().setuseroperatemenu(); / 最大化显示系统主窗体program.getmydlg().windowstate = formwindowstate .maximized; 2. 借书功能实现在借书的操作页面,首先系统自动创建无连接的数据表,用于展示存放结束信息,然后需要输入用户名称,在焦点离开文本框时,可以显示读者名称,读者的会员等级。点击查询,根据查询条件,显示允许借阅的图书信息,然后双击要借的图书,这时会根据会员等级得出最长借出天数、最多借出册数,根据读者编号得到已借图书册数等信息。然后判断归还天数是否合法,借出册数是否合法。成功以后,借阅信息会先暂时写入前面创

52、建的数据表中,点击保存更改数据库信息。部分重要代码如下:privatevoid bookborrowform_load( object sender, eventargs e) / 创建无连接的数据表datacolumn mykey = new datacolumn1; myborrowtable = new datatable ( 借阅管理临时表 ); myborrowtable.columns.add(图书编号 , typeof (string); myborrowtable.columns.add(读者编号 , typeof (string); myborrowtable.columns

53、.add(借出日期 , typeof (datetime); myborrowtable.columns.add(应还日期 , typeof (datetime); myborrowtable.columns.add(借阅说明 , typeof (string); this .datagridview1.datasource = myborrowtable; / 向借阅临时表中增加图书privatevoid datagridview2_doubleclick(object sender, eventargs e) / 检查此读者想借的图书数量是否符合其等级的规定if ( this .myboo

54、ks - this .myindex = 0) messagebox .show( 借出数量过多! , 信息提示 , messageboxbuttons .ok, messageboxicon.information); return ; / 应还日期和借出日期之间的天数timespan myspan = this . 应还日期 datetimepicker.value.subtract(this . 借出日期datetimepicker.value); / 检查此读者想借图书的天数是都符合其等级的规定计算机与信息学院本科毕业设计(论文)- 26 - if (myspan.days - myd

55、ays 0) messagebox .show( 借出日期过长! , 信息提示 , messageboxbuttons .ok, messageboxicon.information); return ; / 检查应还日期是否在借出日期之前,是否合法if (myspan.days = 0) messagebox .show( 应还日期不正确! , 信息提示 , messageboxbuttons .ok, messageboxicon.information); return ; / 检查库存数量sqlcommand mycommand = myconnection.createcommand

56、(); mycommand.commandtext = select (入库数量 - 出借数量 )- 遗失数量 ) as 库存数量 from 图书信息 where 图书编号 = +this .datagridview2.currentrow.cells0.value.tostring()+ ; object kc = mycommand.executescalar(); if ( convert .toint32(kc) 1) messagebox .show( 库存数量不足! , 信息提示 , messageboxbuttons .ok, messageboxicon.information

57、); return ; / 把借书信息写入临时表datarow myrow = myborrowtable.newrow(); myrow 读者编号 = this .读者编号 textbox.text; myrow 图书编号 = this .datagridview2.currentrow.cells0.value.tostring(); myrow 借出日期 = this .借出日期 datetimepicker.value; myrow 应还日期 = this .应还日期 datetimepicker.value; myrow 借阅说明 = this .借阅说明 textbox.text;

58、 myborrowtable.rows.add(myrow); myindex = myindex + 1;/ 借出数量 +1 privatevoid保存 button_click(object sender, eventargs e) for ( int i = 0; i = convert.toint32(txtbcount.text) messagebox.show( 已经达到最大借书数量,请先归还书籍后再借书 , 借书数量达到上限 , messageboxbuttons.ok, messageboxicon.information); groupbox2.enabled = false

59、; return; myconnection = new sqlconnection( datasource.connectionstring); myconnection.open(); commd = myconnection.createcommand(); datarow dr = ds.tables 图书借阅 .newrow(); string booktype; if (rabtnbookid.checked) commd.commandtext = select 编号 , 书名 , 出版社 , 价格 , 类型 from 图书信息where 编号 = +txtbooksearch.

60、text.trim() + ; else commd.commandtext = select 编号 , 书名 , 出版社 , 价格 , 类型 from 图书信息where 条形码 = +txtbooksearch.text.trim() + ; sdr = commd.executereader(); 计算机与信息学院本科毕业设计(论文)- 35 - if (sdr.hasrows = false) messagebox.show( 无 此 图 书 , 请 检 查 后 重 新 输 入 , 错 误 , messageboxbuttons.ok, messageboxicon.error); r

温馨提示

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

评论

0/150

提交评论