图书馆系统软件设计的需求分析及总体设计摘要:目的:图书馆系统软件是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强.数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。关键词:信息管理系统;浏览器服务器架构;MVC框架一、系统需求分析(一)功能需求1.基础信息维护。“基础信息维护”用于对图书馆信息、书籍信息、常用词库等项目进行初始化设置。“图书馆信息”用于设置本图书馆的基础信息,包括图书馆名称、馆长、负责人、电话、说明等。“系统参数设置”用于设置系统运行所需的参数,包括办证费用、证件有效期、图书超期罚款金额、期刊超期罚款金额等。“书架设置”用于设置书架的基础信息,内容包括书架编号、书架名称等。“管理员设置”用于设置使用的人员及权限。“图书期刊词库设置”用于设置系统常用的词库,内容包括供应商、分级、附件、尺寸、语系、印刷等信息的预先设定数值。2.读者管理。“读者管理“用于管理读者相关的信息。“读者类型设置”用于设置读者的类型及相关的信息,内容包括类型、图书册数、期刊册数、续借次数、限制图书、限制期刊等。“读者档案管理”用于设置读者相关的信息,内容包括编号、条形码、姓名、性别、类型、出生日期、有效证件、证件号码、联系方式、登记日期、有效期至、操作员、备注、图书借阅次数、期刊借阅次数、是否挂失等。“借书证挂失与恢复”用于挂失和恢复读者的借书证,挂失后该编号的读者不能在借书。“过期续证管理”用于延续已过期的借书证。“读者档案词库设置”用于设置读者档案常用的词库。3.图书管理。“图书管理”用于管理图书相关的信息,包含的功能模块入。“图书类型设置”用于设置图书的类型及相关的信息,内容包括类型名称,可借天数等。“出版社管理”用于设置图书所属出版社的基础信息,内容包括出版社编号,ISBN、出版社名称等。“图书档案管理”用于设置图书相关的信息,内容包括编号、条形码、书名、类型、作者、译者、ISBN、出版社、价格、页码、书架名称、入库时间、操作员、简介、借出次数、是否注销等。“图书作者”,“图书译者”是添加图书的作者和译者信息。“图书添加”是用于订购新书,内容包括征订编号、书名、类型、ISBN、出版社、作者、译者、订购者、订购者联系方式、订购数量、订购单价、订购日期、是否验收、实际数量、实际金额、验收日期、操作员等。4.图书流通管理。图书流通管理用于管理图书流通环节相关的操作。图书借阅用于登记读者借阅图书的记录并减少图书在库的库存,登记内容包括借阅编号、图书编号、读者编号、押金、借阅时间、应还时间、操作员等。图书归还用于登记读者到期图书的续借记录。图书丢失用于报失图书,内容包括丢失编号、图书编号、读者编号、赔偿金额、操作时间、操作员等。图书罚款用于对图书超期、丢失等情况的罚款管理,内容包括罚款编号、图书编号、读者编号、罚款日期、应罚金额、实收金额、是否交款、备注等。5.统计分析管理。统计分析管理为图书馆管理人员的分析决策提供依据。(二)用例图用例图定义:由参与者(Actor)、用例(UseCase)以及它们之间的关系构成的用于描述系统功能的动态视图称为用例图。用例图(UserCase)是被称为参与者的外部用户所能观察到的系统功能的模型图,呈现了一些参与者和一些用例,以及它们之间的关系,主要用于对系统、子系统或类的功能行为进行建模[1]。用例图展示了用例之间以及同用例参与者之间是怎样相互联系的。用例图用于对系统、子系统或类的行为进行可视化,使用户能够理解如何使用这些元素,并使开发者能够实现这些元素。将每个系统中的用户分出工作状态的属性和工作内容,方便建模,防止功能重复和多余的类用例图定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现。用例图由参与者、用例、系统边界、箭头组成,用画图的方法来完成。(三)性能需求。性能需求有以下三个方面:安全可靠。系统管理员的权限机制完善,对于不同权限的管理员可以对图书或用户等进行相应的管理。系统有一个超级用户能设置普通管理员的管理权限。如果用户长时间不对系统进行相应的操作,系统会自动断开与服务器的链接;系统运行稳定。在用户使用系统的过程中不会出现异常情况,从而导致用户数据丢失,给读者和管理员带来不便;系统可支持多个用户同时访问。(四)环境需求。随着国内软件开发的日益发展壮大,各种中小企事业单位已具备独立开发各种类型的软件的能力,能够满足不同行业的特别的需求。现在,市场上可以选购的应用开发产品很多,流行的也有数十种。随着计算机技术的发展和普及,程序开发的门槛日益降低,早已不再是少数专业人员的专利。拥有较强研发能力和众多技术人才储备的高等院校足以独立完成一个功能完善的图书管理系统的开发任务。技术往往是系统开发过程中难度最大的工作,这其中必须进行风险分析、资源分析和技术分析,开发人员必须在给定的约束条件下,判断是否能在预定的计划顺利完成任务,但这些因素很难把握好,因为在开发的过程中往往会发生一些意外因素,综合各方面的困素,敲定本系统采用MyEclipse+Tomcat+Mysql作为开发平台。综合自已对这方面的熟练程度,能方便的进行系统开发、维护。对于整个系统而言,在系统未运行之前,初期投资比较大,花费相对而言比较多。各部门必须配置电脑、服务器、打印机、传真机及相关的网络设备,但是在整个系统投入运行之后,将会给该企业带来前所未有的方便和快捷,减少不必要的中间环节以及不必要的开支,而且可以给其带来更大的利润[2]。总之,这个系统的经济效益远远大于开发成本,而同时又减少了数据的流通环节,不必要花费那么多的时间,也就是说最重要的是就是提高了效率,而又保证了各项数据的准确性,也避免了工作人员的流动造成的收据丢失等问题,适应了当前的发展形式。对于个人而言,开发这个管理系统一方面是锻炼自己的能力,另一方面是了解当今比较流行的管理系统知识。该系统很具有针对性,能够对用户的所有服务进行管理,经济有效。随着时代的发展,人员素质己逐步提高,不论是对于电脑系统的基本操作还是对于系统的维护都有了一定的基础。同时还可以配置专业的电脑维护人员来维护电脑,不必担心电脑故障问题。这样不仅节约了人力物力,而且还给图书的管理带来很大的方便,并且能给读者进行图书信息的查询以及借阅带来很大的方便。二、总体设计(一)系统功能模块设计。需要强调的是,由于用户登录和权限管理的功能各个系统实现的方法是一致的(二)数据库设计1.数据库系统简介。数据库由DBMS(数据库管理系统)处理,DBMS则由开发人员和用户通过应用程序直接或间接地使用。它主要包括四个要素:用户数据、元数据、索引和应用元数据[3]。1.1用户数据。目前,大多数主流数据库管理系统把用户数据表示为关系。现在把关系看作数据表。表的列包含域或属性,表的行包含对应业务环境中的实体的记录。并非所有的关系都同样符合要求,有些关系比其它关系更结构化一些。第二章描述了一个用以产生良好结构关系的过程,称作规范化。1.2元数据。数据库是自描述的,这就意味着它自身包含了它的结构的描述,这种结构的描述称作元数据。元数据可以被称作描述数据及其环境的数据。因为DBMS产品是用来存储和操纵表的,以大多数产品把元数据以表的形式存储,有时称作系统表。这些系统表存储了数据库中表的情况,指出每一个表中有多少列,那一列是主关键词,每一列的数据类型的描述也存储索引、关键词、规则和数据库结构的其他部分。在表中存储元数据不仅对DBMS是有效的,对用户也是方便的,因为他们可以使用与查询用户数据同样的查询工具来查询元数据。1.3索引。第三种类型的数据改进了数据库的性能和可访问性,这种数据经常称作开销数据,尽管有时也采用其他类型的数据结构,如链表,但它主要还是索引。索引可以用来排序和快速访问数据。1.4应用元数据。存储在数据库中的第四种数据是应用元数据,它用来存储用户窗体、报表、查询和其他形式的查询组件。并非所有的DBMS都支持应用组件,支持组件的DBMS也不一定把全部组件的结构作为应用元数据存储在数据库中[4]。然而,大多数现代的DBMS产品存储这种数据作为数据库的一部分。一般来说,数据库开发人员和用户都不直接访问应用元数据,相反,他们通过DBMS中的工具来处理这些数据。2.数据库需求分析及结构设计。图书馆管理系统,顾名思义是对图书馆的管理而设计的一个应用程序。所以需要收集大量的数据信息。而此信息要从需求分析入手。由对该设计的需求分析可以得出一下数据信息:首先,数据库中要有读者的相关信息,此外,在图书流通过程中不仅要有读者借阅图书的信息,还要有图书信息。另外除了图书类型与读者类型信息,管理员的相关信息等也是不可缺少的一部分[5]。表2-1图书管理系统数据表清单数据表名称数据表用途tb_bookcas图书书架保存图书对应书架基础信息tb_bookinf图书信息保存图书相关信息tb_booktyp图书类型保存图书类型信息tb_borrow借阅信息保存图书借阅信息tb_giveback归还信息保存图书归还信息tb_library图书馆信息保存图书馆基本信息tb_manager管理员信息保存管理员基本信息tb_parameter数信息保存相关参数tb_publishing出版社信息保存出版社信息tb_purview保存权限信息3.E-R图因为整个系统涉及的实体和属性较多,限于篇幅不能也没有必要一一列举。其他实体与基本信息表间的对应关系都是类似的。(三)系统类图设计。图书与图书类型图书书架之间的类图以及读者,类型,管理员之间的类图关系等。三、结语本系统是一个面向小型图书管理系统,具有一定实用性的数据库信息管理系统。它主要完成对图书馆的一系列管理,包括进入新书、借阅、信息查询管理。本系统采用当前流行的面向对象的开发语言java来完成整个系统的设计,在数据库的设计上利用了SQL的便利性和实用性。这次项目的开发是利用java程序设计语言基于J2EE平台,Struts框架以及jsp技术和Mysql数据库开发的一个基于web的小型图书馆管理系统,该系统是一个基于B/S多层结构的系统。【参考文献】[1]萨师煊,王珊.数据库系统概论[M].北京:高等教育出版社,2003:40-67[2]李绍原.数据库原理及应用[M].北京:科学出版社,2003:22-49[3]王晖.面向对象软件分析设计与测试[M].北京:科学出版社,2004:21-38[4]余杰.jsp动态网站建设[M].北京:国防工业出版社,2002:77-83[5]融软科技.jsp动态网站开发与实例[M].北京:清华大学出版社,2006:128-134