图书馆管理系统班级09软件(2)班小组成员:组长:李子骁小组成员:仇兴、王磊、吴文飞、巫仲庆。日期:2011年8月。1引言1.1课题背景近年来,随着图书馆规模的不断扩大,图书数量也相应的增加,有关图书的各种信息量也成倍增加,面对着庞大的信息量,传统的人工方式管理会导致图书馆管理上的混乱,人力与物力过多浪费,图书馆管理费用的增加,从而使图书馆的负担过重,影响整个图书馆的运作和控制管理,因此,必须制定一套合理、有效,规范和实用的图书管理系统,对图书资料进行集中统一的管理。另一方面,IT产业和Internet获得了飞速发展,计算机应用已渗透到了各个领域,引起信息管理的革命,实现了信息的自动化处理,提高了处理的及时性和正确性。图书管理工作面对大量的可模块化处理的信息,是当今信息革命的一个重要阵地。我们开发图书管理信息系统就是采用现代化的信息管理方式代替手工管理方式,提高图书管理工作效率,作到信息的规范管理,科学统计和快速查询,让图书馆更好的为学校,社会服务。1.2课程设计目的因为图书馆的藏书种类多、数量多,将藏书准确地分门别类,快速检索,手工进行是非常困难的。其次,借书、还书频率越大,说明图书馆的作用越大,然而随之而来的大量的借书、还书登记、实存图书的更新以及借出图书超期、遗失等的处理,其工作量之大,往往是人工操作所难以胜任的,而且经常会出现这样那样的差错。同时,图书馆的图书应根据科学技术的发展和教学工作的需要及时添加和更新,然而由于藏书数量及图书种类越来越多,加上自然损耗,人为破坏,使图书的统计工作难以及时完成,藏书的更新也就很难有针对性地进行,藏书的知识结构得不到良好地控制。使用图书借出与管理系统可以大大地提高工作效率,减少工作中可能出现的错误,是提高学校图书馆自动化水平的重要手段之一。其开发主要包括后台数据库的建立和维护以及前端应用程序界面开发两个方面。对于后台数据库的建立和维护要求建立起数据的一致性和完整性强、数据安全性好、符合3NF范式库。而前端应用程序的开发则要求应用程序能提供强大的数据操纵功能,界面友好、使用简单方便等特点。在中国软件行业日益进步的今天,利用这些资源来能有效地减轻工作人员的负担,同时能让读者更加方便的查询相关的信息。通过学校图书借出与管理系统的设计,熟练掌握VisualC++、SQLServer2000等工具软件,系统地掌握需求分析、数据库设计、编码实现、测试等软件开发的流程,提高自身分析问题、解决问题的能力。1.3课程设计任务本课程设计任务是通过开发一个学校图书借出与管理的数据库系统,学习数据库系统的设计与开发,采用Visualstudio2008和SQLServer2000等软件为开发工具。通过对计算机硬件和软件解决方案的论证,对应用领域进行调查分析,参考各种资料和进行数据库系统开发实践。同时,在此系统中,我们规定,读者可以免费借阅两个月,超过两个月的,每天罚款一角,此系统在老师和同学的指导和帮助,已经基本上成功地实现了设计任务书的要求,使得设计的数据库系统能够实现一般数据库的管理。1.4开发工具的选用与介绍本系统是经过实际的需求分析,采用Visualstudio2008作为开发工具而开发出来的单机版图书查询系统。设计充分利用Visualstudio2008与SQLsever2000数据库技术的强大力量,提高了编程的效率和可靠性。通过该系统,使图书馆的信息管理工作系统化、规范化、自动化,从而达到提高图书管理效率的目的。微软公司的Visualstudio2008是Windows应用程序开发工具,是目前最为广泛的、易学易用的面向对象的开发工具。Visualstudio2008提供了大量的控件,这些控件可用于设计界面和实现与数据库的连接等各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。因而,实现本系统使用VC是一个相对较好的选择。vs是极具特色和功能强大的软件,主要表现:Visualstudio2008不仅仅是一个编译器,更是一个全面的应用程序开发环境,从而可以充分利用具有面向对象特性的c++来开发出专业级的windows应用程序。MicrosoftSQLsever2000是Microsoft推出的OFFICE系列办公室自动化软件中的用于数据库管理系统。它是一个中小型的数据库管理系统,提供了与其它数据库管理软件包的良好接口,能方便识别DBASE,FOXBASE,FOXPRO,PARADOX等数据库管理系统生成的数据库文件。这也是其命名为SQLSEVER的由来。它的数据库文件储存于扩展名为*.h的文件中,数据输入、查询非常方便。SQL(StructuredQueryLanguage,结构化查询语言)是一种功能强大的数据库语言。SQL通常使用于数据库的通信。ANSI(美国国家标准学会)声称,SQL是关系数据库管理系统的标准语言。SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据。使用SQL的常见关系数据库管理系统有:Oracle、Sybase、MicrosoftSQLServer、SQLsever、Ingress等等。虽然绝大多数的数据库系统使用SQL,但是它们同样有它们自立另外的专有扩展功能用于它们的系统。但是,标准的SQL命令,比如Select、Insert、Update、Delete、Create和Drop常常被用于完成绝大多数数据库的操作。2基于UML的图书馆管理系统建模设计2.1摘要面向对象的软件工程,同传统的面向过程的软件工程相比,在需求的获取、系统分析、设计和实现方面都有着很大的区别。UML是OOA和OOD的常用工具。使用UML来构建软件的面向对象的软件工程的过程,就是一个对系统进行不断精化的建模的过程。这些模型包括用例模型、分析模型、设计模型,然后,我们需要使用具体的计算机语言来建立系统的实现模型。当然,在整个软件工程中,我们还需要建立系统的测试模型,以保证软件产品的质量。使用面向对象的工具来构建系统,就应该使用面向对象的软件工程方法。然而,我们经常会发现,在实际的开发过程中,很多开发人员虽然能够理解UML的所有图形,却仍然不能得心应手的使用UML来构建整个项目,其很大的原因,是仍然在使用原有的软件工程方法,而不清楚如何使用UML来建立系统的这些模型,不清楚分析和设计的区别,以及他们之间的转化。应用软件系统,就其本质来说,是使用计算机对现实世界进行的数字化模拟。应用软件的制造过程,按照UML的方法,就是建立这一些列模型的过程。关于这个图书馆系统,基本的需求比较简单,就是允许学生可以在图书馆借阅和归还图书,另外,也可以通过网络或者图书馆的终端来查阅和预订书。当然,图书馆管理员也可以对图书进行管理。为了简化系统,我们没有把图书馆中的人员作细分。本文只是对使用UML的过程做一个探讨,着眼于使用UML进行建模的过程,说明各个层次的模型之间的区别和联系,展示系统演进的过程,而不会深入UML的细节方面。对于更加复杂的系统,其分析和设计的方法是相通的,可以举一反三。2.2图书馆管理系统可行性分析随着政府机关与广大企事业单位内部网络的广泛建立,在通用信息平台上构筑高效实用的协同工作和自动化办公应用系统,满足信息高度共享和即时发布的需求,有效实现内部知识管理,已成为众多用户的共同需求。图书管理系统,为政府机关与广大企事业单位自动化办公提供了一个较好的解决方案。在开发过程中,按照软件工程的步骤,从设计到开发采用了面向对象的思想和技术,采用了SQLSERVER2000数据库,使得本系统可以方便的和其他子系统进行数据交换。同时,注意从软件的图形应用界面上优化软件质量,使得本系统具有很强的可操作性。2.3图书馆管理系统需求分析2.3.1、系统目标设计系统开发的总目标是实现内部图书借阅管理的系统化、规范化和自动化。能够对图书进行注册登记,也就是将图书的基本信息(如:书的编号、书名、作者、价格等)预先存入数据库中,供以后检索。能够对借阅人进行注册登记,包括记录借阅人的姓名、编号、班级、年龄、性别、地址、电话等信息。提供方便的查询方法。如:以书名、作者、出版社、出版时间(确切的时间、时间段、某一时间之前、某一时间之后)等信息进行图书检索,并能反映出图书的借阅情况;以借阅人编号对借阅人信息进行检索;以出版社名称查询出版社联系方式信息。提供对书籍进行的预先预订的功能。提供旧书销毁功能,对于淘汰、损坏、丢失的书目可及时对数据库进行修改。能够对使用该管理系统的用户进行管理,按照不同的工作职能提供不同的功能授权。提供较为完善的差错控制与友好的用户界面,尽量避免误操作。2.3.2、系统功能需求分析(1)读者管理:读者信息的制定、输入、修改、查询,包括种类、性别、借书数量、借书期限、备注等。(2)书籍管理:书籍基本信息制定、输入、修改、查询,包括书籍编号、类别、关键词、备注。(3)借阅管理:包括借书,还书,预订书籍,续借,查询书籍,过期处理和书籍丢失后的处理。(4)系统管理:包括用户权限管理,数据管理和自动借还书机的管理满足以上需求的系统主要包含有一下几个子系统(1)基本业务功能子系统:该系统中主要包含了借书还书和预订等功能。(2)基本数据录入功能子系统:该子系统主要包含有书籍信息和读者信息录入功能。(3)信息查询子系统:包含了多功能的查询书籍信息和读者信息。(4)数据库管理功能子系统:主要包含了借阅信息管理功能,书籍信息管理功能和预订信息管理功能。(5)帮助功能子系统。下图为该图书馆管理系统的主要功能模块图:图书馆管理系统基本业务功能基本数据录入功能信息查询功能数据库管理功能帮助功能借书还书预订书籍信息录入借阅者信息录入书籍信息查询读者信息查询借阅信息管理书籍信息管理预订信息管理图2.1:图书馆管理系统功能模块图2.3.3、功能描述(1)借书。处理借书业务。(2)还书。处理还书业务。(3)书籍预订。借阅者可以通过网络进行书籍预订。(4)书籍信息录入。处理书籍个类信息录入业务。(5)借阅者信息录入。对读者信息进行录入。(6)书籍信息查询。负责书籍信息的查询。(7)读者信息查询。负责数据信息的查询。(8)借阅信息管理。书籍借阅信息包括所借书的书名、ISBN以及借书的时间等。(9)书籍信息管理。书籍信息包括书籍的名字、ISBN、作者、入库时间以及书籍在相应书目下的编号等。(10)预订信息管理。负责管理书籍预订信息。2.3.4、图书馆管理系统的数据流图。如下:修改用户表输入用户名及密码用户有效用户及密码显示系统输入有效命令修改用户名及密码处理修改密码反馈给用户显示结果书籍修改命令借.还书书籍入库及修改信息处理命令处理用户名与修改书籍信息表修改借、还书表图2.2:图书馆管理系统的DFD图3数据库设计3.1概念设计根据所要实现的功能设计,建立它们之间的关系,进而实现逻辑结构功能。图书馆管理系统可以划分的实体有:读者信息实体、图书实体、管理员实体,借书信息实体,还书信息实体,下面用E-R图一一描述这些实体。图3.1读者信息实体图3.2管理员信息实体读者信息读者姓名读者编号身份证号管理员信息管理员密管理员编管理员姓图书信息出版社名书籍作者图书名称图书编号出版日期是否借出处理借\还书命图3.3图书信息实体图3.4借书信息实体图3.5还书信息实体(2)根据分E-R图,设计出了如下所示的总的E-R图图3.6总E-R图3.2逻辑结构设计根据上述的概念结构设计出逻辑结构,将E-R图转换为关系模型。读者模型(读者编号,读者姓名,读者身份证号)管理员模型(管理员编号,管理员姓名,管理员密码)图书模型(图书编号,图书名称,书籍作者,出版社名称,出版日期,是还书信息读者编号图书编号借书日期还书信息读者编号图书编号借书日期罚款金额应还书日读者管理员借书信息图书借阅归还管理nnn1nn借阅11还书信息否借出)借书信息模型(借书编号,读者编号,书籍编号,借书日期)还书信息模型(还书编号,书籍编号,借书日期,应还书日期,超期天数)管理模型(管理员编号,图书编号)3.3数据