图书管理系统第二章图书管理系统分析与设计2.1图书管理系统的用户需求简介系统的调查与分析,简称系统分析,是管理信息系统开发工作的第一个阶段,也是最重要的一个环节。系统分析在整个系统开发过程中是解决系统是“干什么”的,逐步明确系统的目标,系统的界面以及系统的基本功能等。为下一阶段进行物理方案设计,解决“怎么干”提供依据。这个阶段的主要活动有:系统初步调查、可行性研究、系统详细调查、新系统逻辑方案的提出。系统的初步调查是系统分析的第一项活动,也是整个系统开发的第一项活动。初步调查是在“图书馆”的最高层进行的,系统分析员站在高层观察“图书馆”的现状,分析系统的运营情况。初步调查主要由两部分组成:一般调查和信息需求调查。前者包括了解“图书馆”的内部环境和管理目标,调查分析“图书馆”的业务流程,明确进行改造的需求以及确定系统目标和主要功能;后者是初步调查的主要内容,调查组织系统的工作职责和各职能部门所要处理的数据。用户的需求可分为三个方面:一方面是图书馆工作人员通过图书管理系统来管理各类图书,使得图书馆的各项工作能够有序地进行,从而满足学生的需求;二方面是学生们能通过该系统来查询图书馆中的各类图书,来确定自已需要的书籍的借阅情况,为借阅做好准备;三方面是对图书馆数据库管理的需求,数据库在系统中扮演着极其重要的角色,所以能对系统数据库进行安全和全面地管理也成为了图书管理者的一个重要需求。2.2图书管理系统的要求在软、硬件方面对系统的需求,软件要求易学,界面友好,容易掌握,可以很简单方便的管理各种图书信息。硬件需求的配置要求不能太高,这样可以很好的适应当前的学校图书管理工作。在编目图书这一部分,主要有以下方面的要求:1,编目前先查看书库中是否有与未编目书同样的图书;2,选择已编目书的分类号给要编目的新图书;3,若书库中没有与新书相同的图书,则由编目给图书分类并录入图书分类号。4,录入新图书类编号;在流通部分的借书这一方面,主要有以下方面的要求:1,查看学生的个人借阅情况,看是否已经借满;2,进行借书登记,同步修改相关信息。在流通部分的还书这一方面,主要有以下方面的要求:1,学生还书时,核对其图书的有效性;2,进行还书登记,同步修改相关信息。在流通部分的查书这一方面:用户即就是学生,所提出得的需求比较集中:学生可以根据各种不同的查询途径来对书库图书进行全面的查询。此外,系统的安全性等其他方面还有以下的要求:1,系统的所有数据进行统一的管理,要保证其安全性;2,有专门的人员对数据库进行更新和维护;3,设计不同用户的操作权限和登陆方法。2.3图书管理系统功能描述根据图书管理的功能要求,结合学校图书管理的实际情况,系统分成以下若干模块:编目、典藏、流通、读者、查询、系统维护。各模块完成如下功能:编目:实现图书/期刊的简易编目与维护。其中“图书/期刊简易编目”作业的作用是新增简单编目,可简单至只需要入书刊名、作者、日期等。“图书/期刊简易维护作业”的作用是处理图书和期刊的编目信息,在这里可以查询书目、修改书目和进行馆藏维护等工作。典藏:实现对馆藏资料的管理和维护。在“典藏资料管理”作业中操作员可以进行新增、修改及删除馆藏等操作。流通:实现图书流通的各项操作。流通界面是图书馆对外的窗口,馆员可在“图书流通”作业中按读者学号查询读者相关资料及其借书、还书等情况,并进行借书、还书等各项操作。读者:实现对读者资料的各项操作。在“读者管理”作业中可以按照各种条件来查询读者相关资料,并进行新增读者、修改读者资料、删除读者等各项操作。查询:实现对读者个人借阅情况查询、编目查询、馆藏查询及分类查询。“读者个人借阅查询”、“编目查询”和“馆藏查询”作业可以按照所选择或输入的多项查询条件。“分类查询”作业则是按照图书分类法,从大类直到细类逐层进行查询。系统维护:实现对操作员的管理与维护、系统参数维护、操作员登录密码的修改等。其中“操作员管理”作业可对系统操作人员进行管理与维护,包括对组员的增加与删除。“系统参数维护”作业可对系统内使用到的各种数据、参数等进行维护,例如管理员可以编辑或修改“读者身份”、“借阅规则”等。“修改登录密码”用来修改操作员的登录密码。2.4系统功能模块图在这一阶段中我们将根据系统调查与分析阶段的结果,进行系统的设计。系统设计包括两个方面的工作:首先是系统总体结构的设计,即把系统的功能分解成许多基本的功能模块,确定它们之间的联系,规定它们的功能和处理流程;其次是具体的物理设计,即对实现系统的各项功能,选择具体的技术手段和处理方式。因此,如果说系统研制人员在系统调查与分析阶段的任务是在逻辑上弄清楚系统“作什么”的话,在系统设计阶段的任务则是在物理上确定系统“如何去做”。系统设计包括如下工作内容:1.系统的总体设计(1)系统功能结构的划分(2)系统界面设置2.具体物理设计(1)代码设计(2)输出设计(3)输入设计从图书管理系统的整体出发,根据系统的目标将其分解成一系列子系统,各个子系统既相互配合,又各自具有一定的独立功能,共同实现整个系统的目标。上层的子系统其功能越笼统、越抽象,越下层的子系统其功能越简单、越优越,越具体。对于每一个子系统或系统模块,都应该尽量使其相对独立,要尽可能减少各个子系统之间的联系。系统划分的结果最终为一张分层的树型结构图——图书管理系统的功能结构图如3—1所示。2.5系统开发环境简介程序设计是系统实施工作中工作量最大、耗时最多的工作,是开发管理信息系统的主要环节。正确的程序设计思想和良好的方法学指导是非常重要的。传统的结构化程序设计把一个大程序分解成具有层次结构的若干个模块,每层模块在分解成下一层子模块,如此自顶向下,逐步细分,就可以把复杂的大模块分解成功能单一的小模块。在这些小模块完成设计之后,再按其逻辑结构,层层向上组织起来,大的程序就得到了解决。从而使程序设计更加符合人类对现实世界的理解和描述,大大提高了程序设计的能力。基于上述特点,决定了采用结构化程序设计和面向对象程序设计相结合的方法,以MicrosoftVisualBasic6.0为开发工具进行程序设计,不仅实现了系统各模块的功能,而且具有直观友好的用户界面,使用户操作简单、方便、快捷,也大大减轻了管理员的工作图书管理系统编目典藏流通读者查询系统维护资料管理客户借阅读者管理借阅查询编目查询馆藏查询分类查询操作员管理修改密码简易编目图3-1图书管理系统功能结构图量,提高了图书管理的自动化程度。VisualBasic具有强大的数据库管理功能,利用数据控件和数据库管理窗口,可以直接建立或处理MicrosoftAccess格式的数据库,并提供了强大的数据存储和检索功能。同时,VisualBasic还能直接编辑和访问其他外部数据库。2.6数据库设计2.6.1数据库介绍数据库是一种存储数据并对数据进行操作的工具。数据库的作用在于组织和表达信息,简而言之,数据库就是信息的集合。计算机的数据库可以分为两类:非关系数据库和关系数据库。关系数据库中包含了多个数据表的信息,数据库含有各个不同部分的术语,如记录、域等。Access2000就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。Access的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于Excel的电子表格,可以使数据库一目了然。另外,Access允许创建自定义报表用于输出数据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。Access是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。如上所述,Access作为关系数据库开发,具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。数据库表:字段名数据类型数据长度种类名称文本型(char)50借书数量数字(INT)10借书期限数字(INT)10有效期限数字(INT)10系统管理:字段名数据类型数据长度用户名文本型(char)50密码文本型(char)502.6.2使用ADO数据控件访问数据库ADO是ActiveXDataObjects的缩写,提供对各种数据库访问的标准接口。1、如何用ADO存取数据:在实际编程过程中使用ADO的一个典型的存取数据的步骤为:a连接数据源b打开记录集对象c使用记录集d断开连接2、关闭所有的数据连接如果在代码中使用了数据控件如ADO,在退出时应该关闭所有打开的recordsource,database。虽然对象能自动注销,但是数据连接不会马上断开,可能会导致一些内存不能被系统重新分配。VisualBasic提供了与底层数据库系统紧密的连接。VisualBasic支持不同的关系数据库管理系统并充分发挥每一个数据库的特长。生成独立应用或脱离服务器运行的服务以上的应用,VisualBasic连接数据库的方式有两种:1.通过使用VisualBasic的ADO控件。2.通过使用由VisualBasic提供的专用的直接与数据库相连的接口。2.6.3数据库需求分析数据存储设计的任务是根据系统功能的要求(特别是数据存储的要求),决定数据的组织形式和存储方法,以便获得最好的文件结构和文件组织形式。数据存储设计主要是进行数据库设计。(1)规划阶段确定开发的总目标,给出计划开发的软件系统的功能、性能、可靠性以及接等方面的设想。(2)需求分析阶段认真细致地了解用户对数据的加工要求,确定系统的功能与边界。本阶段的最终结果,提供一个可作为设计基础的系统说明书,包括对软硬件环境的要求和一整套完善的数据流程图。(3)设计阶段把需求分析阶段所确定的功能细化,主要工作是概念设计阶段、逻辑设计阶段、物理设计阶段,然后,对每个阶段内部设计详细的流程。(4)程序编制阶段以一种或几种特定的程序设计语言表达上一阶段确定的各模块控制流程。程序编制时应遵循结构化程序设计方法。(5)调试阶段对已编好的程序进行单元调试(分调),整体调试(联调)和系统测试(验收)。(6)运行和维护阶段这是整个设计周期最长的阶段,其工作重点是收集和记录系统实际运行的数据。在运行中,必须保持数据库的完整性,必须有效的处理数据故障和进行数据库恢复。同时解决开发过程的遗留问题,改正错误进行功能完善。2.6.4数据库概念结构设计数据库设计是要在一个给定的应用环境中通过合理的逻辑设计和有效的物理设计来构造较优的数据库模式,建立数据库及其应用系统,满足用户的各种信息需求。从数据应用系统和开发的全过程来考虑,数据库的设计可分为四个阶段:需求分析、概念设计、逻辑设计、物理设计。需求分析阶段综合用户的需求;在概念设计阶段形成独立于数据库管理系统的概念模式,形成数据库的逻辑模式。然后根据用户的需求,在基本表的基础上建立必要的视图形成数据的外模式。在物理设计阶段根据系统数据库的特点和处理要求,进行物理存储安排,建立索引形成数据库内模式。逻辑设计的任务就是把概念设计阶段的E—R图转换为系统支持的数据模型(如关系模型),形成数据库的逻辑模式。转化时要解决的问题就是如何将实体间的联系转化为关系模型:对于实体,将每个实体转换为一个关系,实体的属性即为关系的属性,实体的码即为关系的码。若实体间的联系是1:1,可以在两个实体转换成两个关系中任意一个关系的属性中加入另一个关系的码。若实体间的联系是m:n,则将联系转换为关系。关系的属性为诸实体的码加上联系具有的属性,而关系的码为诸实体码的组合。物理设计是为数据模型在存储设备上选择合适的存储结构和存储方法,以获得数据库的最佳存取效率,其设计原则如下:1.尽可能的减少数据冗余和重复2.构设计与操作设计相结合3.数据结构具有相对的稳定性2.7数据词典分析2.7.1读者信息表里面记录了读者所有的基本资料:2.7.2图书信息表里面记录了书籍最基本的信息:2.7.3借阅信息表里面记录着所以书籍的借阅信息2.8数据流程图这项工作的主要任务是给组成系统的各个子系统和模块勾画出大致的计算机处理流程。目的是让开发人员明确子系统或模块中信息的流动、转换、存储和处理