小型图书管理系统·第一章系统概述1.1系统开发背景和意义图书管理是高校内每一个系部或院部都必须切实面对的工作,但一直以来人们使用传统的人工方式管理图书资料。这种方式存在着许多缺点,如效率低、保密性差且较为繁琐。另外,随着图书资料数量的增加,其工作量也将大大增加,这必将增加图书资料管理者的工作量和劳动强度,这将给图书资料信息的查找、更新和维护都带来了很多困难。经过详细的调查,目前我国各类高等学校中有相当一部分单位图书资料管理还停留在人工管理的基础上。这样的管理机制已经不能适应时代的发展,其管理方法将浪费许多人力和物力。随着科学技术的不断提高,这种传统的手工管理方法必然被以计算机为基础的信息管理方法所取代。图书管理作为计算机应用的一个分支,有着手工管理无法比拟的优点,如检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高图书管理的效率。因此,开发一套能够为用户提供充足的信息和快捷的查询手段的图书管理系统,将是非常必要的,也是十分及时的。1.2开发环境开发环境的选择会影响到数据库的设计,所以在这里给出图书管理系统开发与运行环境的选择如下:开发环境:WindowsXP开发工具:VisualBasic6.0数据库管理系统:Access2003第二章可行性分析2.1任务概述经过对我校详细调查,并多次与负责图书管理的老师进行研讨后,加深了对现行图书管理业务的深刻了解,与此同时,将整个图书管理的业务流程抽象描述如下:1.新的图书购进后,分门别类地进行归并汇总,加以编号。2.新书编号后,上到书架以备学生借阅。3.如某学生需要借阅图书,则在其本人的借阅登记表上进行登记,记录相关借阅信息与借阅日期。4.学生借阅图书后,应及时归还图书,并在本人的借阅登记表上注明还书日期和时间。根据以上调查分析,可以给出其现行业务流程图如图2.1所示。分类学生学生学生图书编号图书预约图书图书借阅图书图书归还图书图书归还后的图书图书图2.1图书管理业务流程图2.2数据描述(数据流图和数据字典)经过详细的调查,我们已经清楚了解了现行的业务流程,接下来给出系统的逻辑模型。构造系统逻辑模型的工具是数据流图和数据字典。根据现行图书管理的业务流程,首先把数据流图中的源点和终点都选定为学生,因此可以得到图书管理系统的基本系统模型,如图2.2所示。图书图书管理图书借阅信息图书图书归还信息管理员管理员系统图2.2图书管理系统的基本系统模型根据基本系统模型,对其逐步细化,得到描述逻辑系统细化后的数据流图,如图2.3所示。图书信息借阅登记借阅结果图书信息借阅信息管理员图书信息2借阅图书3归还图书4学生信息图书借阅归还归还信息学生管理管理管理归还结果1归还图书学生归还登记管理预约图书5学生信息预约预约结果管理学生信息预约信息预约登记图2.3图书管理系统数据流图(顶层DFD图)对顶层DFD图中的一个加工“学生管理”进行展开,如图2.4。D1D2D3D4D5图书信息借阅登记图书信息借阅信息借阅结果管理员图书信息2借阅图书3归还图书4学生信息图书借阅归还归还信息学生管理管理管理1.1归还图书归还结果新学生1.2预约图书归还登记录入学生5学生信息查询预约预约结果学生信息管理学生信息1.3预约登记毕业学生预约信息学生信息更新清空图2.4细化后数据流图对顶层DFD图中的一个加工“图书管理”进行展开,如图2.5。借阅登记借阅信息借阅结果管理员图书编号2.13归还图书4编号借阅归还归还信息学生管理管理图书信息归还图书归还结果图书信息借阅图书归还登记2.25图书基本信息分类预约图书预约预约结果建档管理预约信息预约登记D1D2D3D4D5D2D3D4D5图2.5“图书管理”展开对第1层DFD图中的加工进一步进行展开,如图2.6。3.1学生借阅请求合法性学生信息学生学生检查3.2图书信息借阅结果借阅借阅条件图书图书图书信息(1)4.3罚款/提示罚款信息赔偿不符管理条件4.1学生借阅请求合法性学生信息学生学生检查4.2图书信息借阅结果借阅借阅条件图书图书图书信息(2)5.1学生预约请求合法性学生信息学生学生检查5.2图书信息预约结果预约预约条件图书图书图书信息(3)图2.6进一步细化数据流图有了系统的数据流图后,还有相当多的数据信息如图书、借阅、归还等信息需要进一步描述,这就是需要定义数据字典,才能把现有的系统描述清楚。图2.7列出了系统的主要数据字典。图书:图书表结构别名:描述:记录所有图书的基本情况定义:图书信息表=图书编号+图书名称+图书ISBN号+图书作者+图书出版社+图书类型+图书价格+图书库存量位置:Librarydat.mdf数据库借书登记:借书登记表结构别名:描述;记录所有图书的借阅情况定义:借阅登记表=借书编号+学生编号+图书编号+借书时间+归还时间+是否归还位置:Librarydat.mdf数据库学生信息:学生信息表结构别名:描述:记录所有学生信息情况定义:学生信息表=学生编号+学生姓名+性别+入学时间+毕业时间位置:Librarydat.mdf数据库预约图书登记:预约图书登记表结构别名:描述:记录图书预约情况定义:预约图书登记表=预约编号+学生编号+图书编号+预约时间+是否成功位置:Librarydat.mdf数据库归还登记:归还登记表结构别名:描述:记录所有已归还图书的借阅情况定义:归还信息表=图书编号+图书名称+图书作者+图书出版社+归还时间位置:Librarydat.mdf数据库名称:管理员别名:描述:记录管理员信息定义:管理员信息=管理员ID+管理员name+密码+加入时间+级别位置:名称:借阅请求名称:描述:学生借阅请求信息定义:借阅请求=借阅编号+学生编号+图书编号位置:名称:预约请求别名:描述:学生预约请求信息定义:预约图书请求=预约编号+学生编号+图书编号位置:名称:归还图书别名:描述:归还图书的相关信息定义:归还图书=借阅ID+图书ID+学生学号+归还日期位置:名称:提示惩罚信息别名:描述:为归还图书的学生需要提示的信息定义:提示惩罚信息=借阅ID+图书ID+学生学号+应归还日期+处罚提示位置:名称:借阅结果别名:描述:是否借阅成功的返回结果定义:借阅结果=借阅ID+图书ID+学生学号+借出否+提示成功借阅位置:名称:预约结果别名:描述:是否预约成功的返回结果定义:预约结果=预约编号+学生学号+图书编号+预约否+提示成功预约位置:名称:归还结果别名:描述:归还图示操作完成后的返回结果定义:归还结果=借阅ID+图书ID+学生学号+已归还(true/false)+是否提示惩罚位置:名称:管理条例1别名:描述:对正常归还的处理办法定义:管理条例1=借阅ID+未过规定归还时间位置:名称:管理条例2别名:描述:对丢失或超期归还图书的处理办法定义:管理条例2=借阅编号+未过规定归还时间+相关处罚办法位置:图2.7系统主要数据字典112.3使用该系统的一些要求图书管理人员:使工作量大大降低,图书管理更加有条理,但是,要求有一定的计算机基础知识及一定的软件维护能力。2.4技术可行性评价就目前使用的开发技术及开发环境来说建议系统的功能目标应该能够达到;利用现有的技术在规定的期限内开发工作基本能够完成;开发人员的数量和质量均符合要求。第三章需求分析在开发一个应用系统之前需要对即将开发的应用系统进行需求分析。所谓需求分析,就是指对你要解决的问题进行详细了解,弄明白问题的要求,包括应用系统应具备哪些功能、系统应有的输入项、计划得到的输出结果等。需求分析是把应用需求转化为软件需求的关键一步。它关系着系统开发的成败,是整个软件系统建设的源头。在软件工程中,通常需求分析指的是在设计开发一个新的系统或修改一个现有的系统时,描述新系统的目的、定义、范围和功能时所要做的所有的工作。需求分析是开发软件过程中的一个重要环节。在这个过程中,系统分析员和软件工程师要明白顾客的需求。只有在确定了这些需求后他们才能够分析和探求新系统的解决方案。3.1需求分析的原则1、需求分析要对所开发项目需求进行分解,形成软件的层次结构一般设计开发的应用程序都是为了处理解决某一特定的问题,而通常这些问题又是比较庞大和复杂,难以理解和处理。为了便于开发、设计和理解,软件设12计人员需要通过一定的方法把问题分解成几个较容易理解的部分,再通过建立这些部分之间的衔接,把复杂问题简单化,而最终实现整体软件系统的功能。在对所开发的软件进行需求分析阶段,软件的信息域和功能域一般都可以做进一步的细化和分解。所进行的细化分解可以是纵向分解,即不同层面(多层面)上的分解,另外也可以进行横向分解,即同一层面上的分解,对于一个大的应用系统往往纵向分解和横向分解混合应用。所谓的横向分解是指把一个功能域分解成若干个子功能域,并确定这些子功能域和父功能域之间的衔接接口。所谓的纵向分解是指对某些还能继续分解的子功能域进行继续分解,分解成为小的子功能域,小的子功能域如果还可以分解,就可以继续分解成为更小的子功能域。2、需求分析要识别开发项目的功能并确定数据处理方式众所周知,所有应用软件系统的开发和设计,它们最终的目的是实现能够对数据进行加工和处理,也就是说要将某些特定形式的数据加工处理转换成为用户所能接受的数据形式。而数据形式的转换过程一定要有以下几个步骤:a、对原始数据的录入;b、录入原始数据后对原始数据的加工和处理;c、最终能够以被用户所接受的数据形式生成并输出结果。对于计算机程序所处理的数据,它的信息模块一般包括原始数据的内容、数据的流向和数据结构。通常所说的数据的内容就是数据项。通常所说的数据流指的是数据经过一个应用程序系统的时候它的变化方式。录入的原始数据首先要转换成系统的中间数据,最后再转换成输出数据,并且在这个过程中允许从已经存储在系统数据库中的数据中引进附加数据。对数据进行加工、处理和转换应该是应用程序中需要具备的功能或者是子功能,数据转换功能之间的数据传递,确定了各个功能模块之间的接口。所谓的数据结构就是各种数据内容之间的逻辑组织。3、需求分析要给出所开发软件的物理视图和逻辑视图。开发软件前首先要设计出软件的物理视图和逻辑视图。因为软件开发过程中免不了会碰到一些物理限制条件和逻辑条件,而物理视图是解决软件开发中提出的物理限制条件不可或缺的;软件的逻辑视图是软件满足处理要求所提出的逻辑条件所不可或缺的。正因为如此,需求分析的物理视图要能够给出数据信息的结13构和数据信息加工处理功能的实际表现方式,这些一般都是由硬件设备自身所决定的。例如一些软件在处理数据的时候需要通过鼠标或键盘等终端设备来录入数据,而另一些软件系统靠的是数据转换设备(数/模转换设备)来录入数据信息。那么这时候系统分析员就要首先弄清楚软件系统中的数据对软件的限制条件,从而考虑数据信息的结构和数据信息加工处理的物理表示。需求分析的逻辑视图要能够显示出所开发的软件所具有的功能和所要处理的数据之间的关系,而并不是显示出开发软件的具体详细细节。例如,一个学校图书馆的图书集成管理系统,要从图书供应商那里获取书目信息,考虑在系统中读取书目信息的逻辑视图时,并不用关心书目数据本身的物理形式或数据由什么设备读入。类似地,从系统数据库查询图书信息的时候只关注数据库中存放的图书信息的数据结构,而不需要关注图书信息在系统数据库中的具体存储方式。系统设计的基础就是对软件系统需求进行逻辑描述。1.2需求分析的方法1、调查机构组织情况主要包括弄清楚该机构的部门组成情况,知道各部门的职能等,为分析信息流程做准备。2、调查各部门的业务情况主要包括了解各个部门都有哪些信息业务,必须的输入/输出信息,数据的加工处理方式等。3、协助分析并最终确定对新软件的各种要求包括信息要求、处理要求、安全性与完整性等方面的要求。4、确定新软件的边界确定由计算机完成哪些工作,由人工完成哪些工作。以及对计算机软件系统在功能和性能方面的要求。1.3图书室管理系统应用需求图书管理系统在一些小型图书室管理工作中有着重要的作用。随着图书室图书的日益增多,如果还采用传统的手工图书管理的方法,不仅图书管