Ⅰ 图书管理系统数据需求分析

3.系统设计

3.1开发设计思想

尽量采用学校现有的软硬件环境,及先进的管理系统开发方案,从而达到充分利用学校现有资源,提高系统开发水平的应用效果的目的。根据图书管理的规定,满足管理元和学生对图书的日常管理和使用,系统采用菜单自顶向下的设计方法,便于系统功能的各种组合和修改,又便于技术维护人员补充、维护。系统应具备数据库维护功能,及时根据用户需求进行数据的添加、查询、修改、统计等操作。系统维护一数据库,保存图书和读者的资料以及图书流通情况的资料,便于管理员管理图书和读者的有关数据,还可根据需要随时进行数据的查询和统计并按所需格式和方式输出。

3.2开发、运行环境及平台模式的选择

开发工具

中文版Visual FoxPro6.0。Visual FoxPro是微软公司出的桌面数据库系统,被认为是当今社会上用的最广的微机数据库管理系统之一,它是计算机类专业C/S(客户/服务器)结构重要的前端开发工具。虽然这个数据库系统比较小,可是它的功能强大,操作效率高,并且能够满足该系统应用的需要。因此采用Microsoft Visual FoxPro6.0作为该系统的数据库系统。

运行环境

Windows9x、Windows NT、Windows XP或Windows2000操作系统。

平台模式

该系统采用的模式为单机版数据库模式。原因在于,从费用上考虑,该系统需要实现的功能是数据添加、修改、查询、统计等操作,所以降低了成本;其次,采用单机版数据库模式,可以提高系统的安全性;最后,从实现的具体功能上考虑,此系统的服务对象是教育机构,它主要功能是进行数据的汇总、归档等,所以没有必要采用复杂的模式来实现这个系统。

3.3系统功能分析

3.3.1任务分析 本系统主要用于学校教师和学生图书管理,主要任务是通过建立图书管理系统,完善学校图书录入、租借以及读者信息的管理,通过查询可立即定位该读者的相应的信息,可以对图书进行查询、增加、修改,读者可以预约已借图书,针对这些问题设计此系统。 3.3.2功能分析 通过建立图书管理系统,把图书馆的图书管理、读者管理、图书借阅管理等日常管理工作实行计算机统一管理,以提高工作效率和管理水平。这些管理包括:

1、 图书基本信息的管理,包括增加、修改、查询、预约管理;

2、 读者基本信息的管理,包括增加、修改、查询管理;

3、 图书租借的管理,包括增加、查询、统计管理;

4、 系统管理,主要是增加用户、维护用户信息和退出系统。 3.3.3功能需求 在设计一个系统时,要弄清它能够实现什么功能,再根据具体要实现的功能来分析需要哪些元素,知道这些内容后在进行相应的界面。通过以上的功能分析,该系统要完成以下的功能需求。

1、 管理人员与学生用户登录后有不同的权限,管理人员具有管理和查询全部的权限,学生用户只有查询权限。

2、 图书管理功能,用于实现录入和修改图书纪录。

3、 图书租借功能,用于管理租借图书信息和统计租借纪录。

4、 读者服务功能,用于录入和修改读者纪录及信息。

5、 图书服务功能,主要用于查询图书和借还查询。

6、 系统管理主要用于用户注册和密码修改。 3.4系统功能模块设计 根据系统功能分析,规划设计了图书管理模块、图书租借模块、读者信息模块、图书服务模块、系统管理模块共五个主要的管理模块。如图3-1所示:

图3-1 主模块示意图 3.4.1图书管理模块 该模块主要用来录入和修改图书的基本信息,图书录入用于首次录入图书信息,输入书名后快速定位图书,然后显示要修改的图书信息进行相应的修改,应当显示上一条、下一条等信息。该模块的功能如图3-2所示。

图3-2 图书管理模块示意图

3.4.2图书租借管理模块 该模块可以录入读者信息以及所要租借图书的信息,可添加、重填以及上一条,下一条的定位;显示租借记录,包括租借人的基本信息和租借图书的基本信息;租借查询与统计可以方便在制定的时间范围内对租借的图书进行统计和分析,查询时可以按照不同的条件进行查询。该模块的功能如图3-3所示。

3-3 图书租借管理模块示意图

3.4.3读者管理模块 该模块可以对首次的登录的读者进行注册,对读者进行编号,输入读者的基本信息;修改读者信息的时候通过对读者的编号进行快速定位,找到读者信息后进行修改,有上一条、下一条等的显示。该模块的功能如图3-4所示。

图3-4 读者管理模块示意图

3.4.4读者服务模块 该模块可以方便读者借阅,查阅以及预约图书,查询时按照不同的查询方式查询,找到需要的图书后显示该书是否可借,即现在的该图书的状况,如果可以借就输入要借阅的天数等。归还图书时亦可通过编号快速定位,显示书号等信息后管理者可以进行操作完成图书归还。该模块的功能如图3-5所示。

图3-5 读者服务模块示意图

3.4.5系统管理模块 该模块主要实现管理用户注册的功能,管理员注册自己的账号后,输入正确的密码信息才能登录系统,管理员可以进行系统的维护。也可以对密码进行修改。该模块的功能如图3-6所示。

图3-6 系统管理示意图

3.5数据库设计

3.5.1数据库需求分析

更具一般用户的需求,对系统画出以下的数据流程图。如图3-7:

3.5.2数据库逻辑设计 根据系统功能设计的要求以及功能模块的划分,数据库表结构设计如下:

表3-1:入库图书信息表

表3-2:图书租借信息表

表3-3 读者信息表

表3-4:借阅信息表

表3-5:系统用户信息表

Ⅱ 图书馆管理系统

图书馆管理系统
摘 要
图书管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。
因此本人结合开入式图书馆的要求,对MS SQL Server2000数据库管理系统、SQL语言原理、Delphi应用程序设计,Delphi数据库技术进行了较深入的学习和应用,主要完成对图书管理系统的需求分析、功能模块划分、数据库模式分析,并由此设计了数据库结构和应用程序。系统运行结果证明,本文所设计的图书管理系统可以满足借阅者、图书馆工作人员和高级管理员三方面的需要。
第一章对数据库应用系统开发和图书管理系统进行了简明的介绍,并分析了开发图书管理系统所应进行的工作。
第二章对数据库的设计和SQL语言的使用进行了系统分析,为深入理解数据库应用打下了基础。
第三章学习了具体的开发工具Delphi 6.0,对其数据库组件,SQL语言在Delphi中的应用等数据库编程关键技术进行了系统的介绍。
第四章分析了图书管理信息系统的应用需求,按照数据库设计理论一步一步地给出了系统需求说明书、局部ER图、全局ER图、系统关系模式,子模式,利用MS SQL Server2000建立了数据库
第五章进行了具体的程序设计,具体划分了三类用户的操作权限,设计了了三个操作界面。实现了数据库表的浏览,记录的添加、删除和修改,报表的生成,实现了多数据库表的连接操作,实现了多条件查询和模糊查询,并灵活实现了对不可更新查询结果集的更新操作,实现了主从表操作,实现了密码维护功能,最后,系统还可以导入数据库以对任意同结构的数据库进行操作。
设计充分利用Delphi 6、MS SQL Server2000数据库技术的强大力量,提高了编程效率和可靠性。
关键词:数据库,SQL语言,MS SQL Server,Delphi6,
数据库组件,图书管理,窗体,listview组件
24
37
§5.2 数据模块窗体的设置 ……………………………………………………… 第一章 绪 论
§1.1 数据库应用系统开发简介
在数据库应用系统开发之前,对开发数据库的基本概念应当了解,对数据库的结构、开发数据库应用程序的步骤、开发体系及方法都应当有相当清晰的了解和认识。
数据库应用系统开发的目标是建立一个满足用户长期需求的产品。开发的主要过程为:理解用户的需求,然后,把它们转变为有效的数据库设计。把设计转变为实际的数据库,并且这些数据库带有功能完备、高效能的应用。
数据库技术在计算机软件邻域研究中一直是非常重要的主题,产生于60年代,30多年来数据库技术得到了迅速发展,并已形成较为完整的理论体系和一大批实用系统。并且,近年来,随着World Wide Web(WWW)的猛增及Internet技术的迅速发展,使得数据库技术之时成为最热门技术之一。
1.1.1 数据库
如图1.1显示了数据库系统的主要组件。数据库由DBMS(数据库管理系统)处理,DBMS则由开发人员和用户通过应用程序直接或间接地使用。它主要包括四个要素:用户数据、元数据、索引和应用元数据。
1.1.1.1 用户数据
目前,大多数主流数据库管理系统把用户数据表示为关系。现在把关系看作数据表。表的列包含域或属性,表的行包含对应业务环境中的实体的记录。并非所有的关系都同样符合要求,有些关系比其它关系更结构化一些。第二章描述了一个用以产生良好结构关系的过程,称作规范化。
为了对比结构差的关系和结构好的关系之间的差别,以本文所设计的图书管理系统中的图书和图书借阅者关系为例来说明,假若设计关系R1(借书证号,姓名,性别,身份编号,身份证,联系电话,图书编号,图书名称,图书类别,作者,出版社,出版日期,备注,价格,数量);这个关系的问题出在它有关于两个不同主题的数据,就是图书借阅者和图书。用这种方式构成的关系在进行修改时,会出现问题。因为一个图书借阅者可能借阅多本书,如果某个图书借阅者的某个字段(如联系电话)出现变更,它所借阅的图书记录(可能多个)也就必须变化,这是不好的。因此数据用两个关系表示更好。现在如果某图书借阅者改变了它的联系电话,只有关系(表)user的对应行需要改变。当然,要想产生一个,显示图书名称及其借阅者联系电话的报表,就需要将这两个表的行结合起来。结果表明,将关系分别存储,在生成报表的时候将它们结合起来,比把它们存储在一个合成的表中更好。
user(借书证号,姓名,性别,身份编号,身份证,联系电话,)
book(图书编号,图书名称,图书类别,作者,出版社,出版日期,备注,价格,数量)
1.1.1.2 元数据
数据库是自描述的,这就意味着它自身包含了它的结构的描述,这种结构的描述称作元数据。因为DBMS产品是用来存储和操纵表的,所以大多数产品把元数据以表的形式存储,有时称作系统表。这些系统表存储了数据库中表的情况,指出每一个表中有多少列,那一列是主关键字,每一列的数据类型的描述,它也存储索引、关键字、规则和数据库结构的其他部分。
在表中存储元数据不仅对DBMS是有效的,对用户也是方便的,因为他们可以使用与查询用户数据同样的查询工具来查询元数据。本文第二章所介绍的SQL语言可以同时用于元数据和用户数据。
1.1.1.3 索引
第三种类型的数据改进了数据库的性能和可访问性,这种数据经常称作开销数据,尽管有时也采用其他类型的数据结构,如链表,但它主要还是索引。索引可以用来排序和快速访问数据。下面以本人的图书管理信息系统中的book表为例来说明。
假定数据在磁盘上是按’图书编号’的递增顺序排列的,用户想打印一个按’图书名称’排序的图书数据报表。为此,所有的数据都需要从源表中提取出来并排序,除非表很小,否则这是一个很费时的过程。或者,可以在‘图书名称’字段上创建一个索引,该索引的条目按照‘图书名称’排序,这样,该索引的条目可以读出来,并用来按顺序访问book数据。
索引用于快速访问数据。例如,一个用户只想访问book表中‘图书类别’值为‘01’的那些学生。如果没有索引,则必须搜索整个源表;但有了索引之后,可以找到索引条目,并使用它来挑选所有合适的行。
索引对排序和查找是有帮助的,但要付出代价。book表中的行每次改变时,索引也必须改变,这意味着索引并非随意的,应该在真正需要时保存。
1.1.1.4 应用元数据
存储在数据库中的第四种数据是应用元数据,它用来存储用户窗体、报表、查询和其他形式的查询组件。并非所有的DBMS都支持应用组件,支持组件的DBMS也不一定把全部组件的结构作为应用元数据存储在数据库中。然而,大多数现代的DBMS产品存储这种数据作为数据库的一部分。一般来说,数据库开发人员和用户都不直接访问应用元数据,想反,他们通过DBMS中的工具来处理这些数据。
MS SQL Server2000中就支持窗体、存储过程等应用元数据。
1.1.2 数据库管理系统
数据库管理系统(DBMS)是指数据库系统中管理数据的软件系统。DBMS是数据库系统的核心组成部分。对数据库的一切操作,包括定义、更新及各种控制,都是通过DBMS进行的。DBMS总是基于某种数据模型,可以把DBMS看成是某种数据模型在计算机系统上的具体实现。根据数据模型的不同,DBMS可以分成层次型、网状型、关系型、面向对象型等。MS SQL Server2000就是一种关系型数据库管理系统。
关系模型。关系模型主要是用二维表格结构表达实体集,用外键表示实体间联系。关系模型是由若干个关系模式组成的集合。关系模式相当于前面提到的记录类型,它的实例称为关系,每个关系实际上是一张二维表格。
关系模型和层次、网状模型的最大判别是用关键码而不是用指针导航数据,表格简单用户易懂,编程时并不涉及存储结构,访问技术等细节。关系模型是数学化模型。SQL语言是关系数据库的标准化语言,已得到了广泛的应用。
如图1.1所示,DBMS的特点和功能可以分为三个子系统:设计工具子系统、运行子系统和DBMS引擎。
设计子系统有一个方便数据库及其应用创建的工具集。它典型地包含产生表、窗体、查询和报表的工具。DBMS产品还提供编程语言和对编程语言的接口。
运行子系统处理用设计子系统开发的应用组件。它所包含的运行处理器用来处理窗体和数据库的数据交互,以及回答查询和打印报表等。
DBMS引擎从其他两个组件接受请求,并把它们翻译成对操作系统的命令,以便读写物理介质上的数据。DBMS引擎还涉及事务管理、锁、备份和恢复。
1.1.3 创建数据库
1.1.3.1 数据库模式
数据库模式定义了数据库的结构、表、关系、域和业务规则。数据库模式是一种设计,数据库和应用正是建立在此基础上的。
域是一列可能拥有的值的集合。必须为每一个表的每一列确定域。除了数据的物理格式外,还需要确定是否有些域对表来说是唯一的。
数据库模式的最后一个要素是业务规则,它是对需要反映在数据库和数据库应用程序中的业务活动的约束。业务规则是模式的一个重要部分,因为他们指定了无论什么数据变化到达DBMS引擎,允许的数据值必须满足的约束。不管无效的数据变化请求是来自窗体的用户、查询/修改请求还是应用程序,DBMS都应该拒绝。
遗憾的是,不同的DBMS产品用不同的方法实施业务规则。在某些情况下,DBMS产品不具备实施必要业务规则的能力,必须以代码形式把它们编入应用程序。
1.1.3.2 创建表
1.1.3.3 定义联系
1.1.4 应用组件
数据库应用包括窗体、查询、报表、菜单和应用程序。
§1.2 图书管理系统
当今时代是飞速发展的信息时代。在各行各业中离不开信息处理,这正是计算机被广泛应用于信息管理系统的环境。计算机的最大好处在于利用它能够进行信息管理。使用计算机进行信息控制,不仅提高了工作效率,而且大大的提高了其安全性。
尤其对于复杂的信息管理,计算机能够充分发挥它的优越性。计算机进行信息管理与信息管理系统的开发密切相关,系统的开发是系统管理的前提。本系统就是为了管理好图书馆信息而设计的。
图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理。根据调查得知,他们以前对信息管理的主要方式是基于文本、表格等纸介质的手工处理,对于图书借阅情况(如借书天数、超过限定借书时间的天数)的统计和核实等往往采用对借书卡的人工检查进行,对借阅者的借阅权限、以及借阅天数等用人工计算、手抄进行。数据信息处理工作量大,容易出错;由于数据繁多,容易丢失,且不易查找。总的来说,缺乏系统,规范的信息管理手段。尽管有的图书馆有计算机,但是尚未用于信息管理,没有发挥它的效力,资源闲置比较突出,这就是管理信息系统的开发的基本环境。
数据处理手工操作,工作量大,出错率高,出错后不易更改。图书馆采取手工方式对图书借阅情况进行人工管理,由于信息比较多,图书借阅信息的管理工作混乱而又复杂;一般借阅情况是记录在借书证上,图书的数目和内容记录在文件中,图书馆的工作人员和管理员也只是当时对它比较清楚,时间一长,如再要进行查询,就得在众多的资料中翻阅、查找了,造成查询费时、费力。如要对很长时间以前的图书进行更改就更加困难了。
基于这此问题,我认为有必要建立一个图书管理系统,使图书管理工作规范化,系统化,程序化,避免图书管理的随意性,提高信息处理的速度和准确性,能够及时、准确、有效的查询和修改图书情况。
§1.1 系统所做工作
1) 了解应用开发工具的现状
2) DelPHi6.0编程基础
3) MS SQL Server基础
4) 设计数据库;设计界面
5) 开发数据库。数据库实现的一些功能有
l 数据和数据说明的醒目显示;
l 多条件的查询、多条记录的检索、模糊查询;
l 数据文件某种存储格式导入数据窗体,经过数据完整性校验存入数据库;
l 数据库安全性的设计;
l 数据库的设计、数据接口、界面的设计。
§1.3 本文所作工作
绪论部分对数据库应用系统的结构、开发进行了简要介绍,分析了图书管理信息系统设计的特点和任务。
第二章介绍了数据库的设计和范式分析,并系统介绍了SQL语言,为设计和理解应用程序做了铺垫。
第三章对系统介绍了Delphi 6.0的数据库编程技术、SQL语言在Delphi 6.0中的应用、MS SQL Server基础。
第四章分析了图书管理系统的应用需求,设计了系统的数据库结构,并根据需求对系统功能进行了划分和细化。
第五章根据第四章的设计结果利用MSSQL Server2000和Delphi 6.0进行了具体的应用程序设计。
总结部分介绍了设计体会和编程体会,并指出了系统设计中的不足和改进的方向。
第二章 数据库理论基础
一个成功的信息管理系统,是建立在许多条件之上的,而数据库是其中一个非常重要的条件和关键技术。
信息管理系统所涉及的数据库设计分五个步骤:数据库需求分析、概念设计、逻辑设计、物理设计与加载测试。
(1) 数据库需求分析的任务是将业务管理单证流化为数据流,划分主题之间的边界,绘制出DFD图,并完成相应的数据字典。
(2) 概念设计的任务是从DFD出发,绘制出本主题的实体-关系图,并列出各个实体与关系的纲要表。
(3) 逻辑设计的任务是从E-R图与对应的纲要表出发,确定各个实体及关系的表名属性。
(4) 物理设计的任务是确定所有属性的类型、宽度与取值范围,设计出基本表的主键,将所有的表名与字段名英文化(现在很多软件能支持中文字段,如MS SQL Server,我就是用的中文字段名),实现物理建库,完成数据库物理设计字典。
(5) 加载测试工作贯穿于程序测试工作的全过程,整个录入、修改、查询、处理工作均可视为对数据库的加载测试工作。
要设计出一个好的信息管理系统数据库,除满足系统所要求的功能外,还必须遵守下列原则:
² 基本表的个数越少越好。
² 主键的个数越少越好。键是表间连接的工具,主键越少,表间的连接就越简单。
² 字段的个数越少越好。
² 所有基本表的设计均应尽量符合第三范式。
数据库的设计中,如何处理多对多的关系和如何设计主键,是两个有着较大难度、需要重点考虑的问题。下面我们着重从SQL应用、数据库设计范式和查询优化等方面来分析本课题的系统关键技术和实现难点并加以解决。
§2.1 数据库系统设计及范式分析
信息系统的主要任务是通过大量的数据获得管理所需要的信息,这就必须存储和管理大量的数据。因此建立一个良好的数据组织结构和数据库,使整个系统都可以迅速、方便、准确地调用和管理所需的数据,是衡量信息系统开发工作好坏的主要指标之一。
2.1.1 数据库系统设计
数据库设计主要是进行数据库的逻辑设计,即将数据按一定的分类、分组系统和逻辑层次组织起来,是面向用户的。数据库设计时需要综合企业各个部门的存档数据和数据需求,分析各个数据之间的关系,按照DBMS提供的功能和描述工具,设计出规模适当、正确反映数据关系、数据冗余少、存取效率高、能满足多种查询要求的数据模型。
数据库设计的步骤是:
(1) 数据库结构定义:目前的数据库管理系统(DBMS)有的是支持联机事务处理CLTP(负责对事务数据进行采集、处理、存储)的操作型DBMS,有的可支持数据仓库、有联机分析处理CLAP(指为支持决策的制定对数据的一种加工操作)功能的大型DBMS,有的数据库是关系型的、有的可支持面向对象数据库。针对选择的DBMS,进行数据库结构定义。
(2) 数据表定义:数据表定义指定义数据库中数据表的结构,数据表的逻辑结构包括:属性名称、类型、表示形式、缺省值、校验规则、是否关键字、可否为空等。关系型数据库要尽量按关系规范化要求进行数据库设计,但为使效率高,规范化程度应根据应用环境和条件来决定。数据表设计不仅要满足数据存储的要求,还要增加一些如反映有关信息、操作责任、中间数据的字段或临时数据表。
(3) 存储设备和存储空间组织:确定数据的存放地点、存储路径、存储设备等,备份方案,对多版本如何保证一致性和数据的完整性。
(4) 数据使用权限设置:针对用户的不同使用要求,确定数据的用户使用权限,确保数据安全。
(5) 数据字典设计:用数据字典描述数据库的设计,便于维护和修改。
为了更好地组织数据和设计出实际应用数据库,应该注意如下问题:
规范化地重组数据结构:对数据进行规范化表达,这在后面将会具体讨论。
关系数据结构的建立:在进行了数据基本结构的规范化重组后,还必须建立整体数据的关系结构。这一步设计完成后数据库和数据结构设计工作基本完成,只待系统实现时将数据分析和数据字典的内容代入到所设计的数据整体关系结构中,一个规范化数据库系统结构就建立起来了。
建立关系数据结构涉及三方面内容:确定关联的关键指标项并建立关联表;确定单一的父系记录结构;建立整个数据库的关系结构。
(1)链接关系的确定
在进行了上述数据规范化重组后,已经可以确保每一个基本数据表(我们简称为表)是规范的,但是这些单独的表并不能完整地反映事物,通常需要通过指标体系整体指标数据才能完整全面地反映问题。也就是说在这些基本表的各宇段中,所存储的是同一事物不同侧面的属性。那么计算机系统如何能知道哪些表中的哪些记录应与其它表中的哪些记录相对应,它们表示的是同一个事物呢?这就需要在设计数据结构时将这种各表之间的数据记录关系确定下来。这种表与表之间的数据关系一般都是通过主或辅关键词之间的连接来实现的。因为在每个表中只有主关键词才能唯一地标识表中的这一个记录值(因为根据第三范式的要求,表中其它数据字段函数都依赖于主关键词),所以将表通过关键词连接就能够唯一地标识出某一事物不同属性在不同表中的存放位置。
(2)确定单一的父子关系结构
所谓确定单一的父系关系结构就是要在所建立的各种表中消除多对多(以下用M:N来表示)的现象,即设法使得所有表中记录之间的关系呈树状结构(只能由一个主干发出若干条分支,而不能有若干条主干交错发出若干条分支状况)。所谓的“父系”就是指表的上一级关系表。消除多对多关系可以借助于E-R图的方法来解决,也可以在系统分析时予以注意,避免这种情况的发生。
消除这种M:N情况的办法也很简单,只需在二表之间增加一个表,则原来M:N的关系就改成了M:1,1:N的关系了。
确定数据资源的安全保密属性:
一般DBMS都提供给我们自己定义数据安全保密性的功能。系统所提供的安全保密功能一般有8个等级(0-7级),4种不同方式(只读、只写、删除、修改),而且允许用户利用这8个等级的4种方式对每一个表自由地进行定义。
定义安全保密性的方法一般有如下几种:
a.原则上所有文件都定义为4级,个别优先级特别高的办公室(终端或微机的入网账号)可定义高于4级的级别,反之则定义为低于4的级别。
b.统计文件(表)和数据录入文件一般只对本工作站定义为只写方式,对其它工作站则定义为只读方式。
c.财务等保密文件一般只对中工作站(如财务科等)定义为可写、可改、可删除方式,对其它工作站则定义为只读方式,而且不是每个人都能读,只有级别相同和高级别者才能读

2.1.2 数据库设计范式分析
建立起一个良好的数据指标体系,是建立数据结构和数据库的最重要的一环。一个良好的数据指标体系是建立DB的必要条件,但不是充分条件。我们完全可以认为所建指标体系中的一个指标类就是关系数据库中的一个基本表,而这个指标类下面的一个个具体指标就是这个基本表中的一个字段。但如果直接按照这种方式建库显然还不能算最佳。对于指标体系中数据的结构在建库前还必须进行规范化的重新组织。
a. 数据组织的规范化形式
在数据的规范化表达中,一般将一组相互关联的数据称为一个关系(relation),而在这个关系下的每个数据指标项则被称为数据元素(data element),这种关系落实到具体数据库上就是基本表,而数据元素就是基本表中的一个字段(field)。规范化表达还规定在每一个基本表中必须定义一个数据元素为关键字(key),它可以唯一地标识出该表中其它相关的数据元素。在规范化理论中表是二维的,它有如下四个性质:
l 在表中的任意一列上,数据项应属于同一个属性(如图中每一列都存放着不同合同记录的同一属性数据)。
l 表中所有行都是不相同的,不允许有重复组项出现(如图中每一行都是一个不同的合同记录)。
l 在表中,行的顺序无关紧要(如图中每行存的都是合同记录,至于先放哪一个合同都没关系)。
l 在表中,列的顺序无关紧要,但不能重复(如图中合同号和合同名谁先谁后都没关系,但二者不可重复或同名)。
在对表的形式进行了规范化定义后,数据结构还有五种规范化定义,定名为规范化模式,称为范式。在这五种范式中,一般只用前三种,对于常用系统就足够了。而且这五种范式是“向上兼容”的,即满足第五范式的数据结构自动满足一、二、三、四范式,满足第四范式的数据结构自动满足第一、二、三范式,……,依此类推。
第一范式(first normal form,简称1st NF)就是指在同一表中没有重复项出现,如果有则应将重复项去掉。这个去掉重复项的过程就称之为规范化处理。在本文所讨论的开发方法里,1st NF实际上是没有什么意义的。因为我们按规范化建立的指标体系和表的过程都自动保证了所有?/div>

Ⅲ 求数据库图书管理系统课程设计全套

数据库图书管理系统课程设计:
1、可以参考网上的一些开源项目,根据别人提供的一些思路,进行开发
2、找身边的学长,学姐,他们开发过类似的系统
3、请教老师同学,让他们给你提供一些思路
4、可以参考类似的系统

Ⅳ 拜求图书馆管理系统数据流程图

在图书馆管理信息系统的系统分析的基础上,做出了详细业务描述及数据流程图,下面我们着手进行系统设计。要再次申明的一点是:本系统为学校图书馆管理专用。
一、模块设计
(一)、图书建档模块:
此模块对应图书建档的业务流程,要输入的图书信息在作业的第一部分已有反映,不再赘述。信息输入之后,经过一定的分类处理,形成图书档案数据库,可用于用户查询、模块调用与数据统计。

(二)、会员注册模块
对应会员注册流程,会员基本信息及会员权限等形成会员档案数据库,可用于用户查询、模块调用与数据统计。

(三)、借阅处理模块
这一模块对应的是图书借阅流程。这一流程可包括下面五方面业务:查询、预约、外借、还书、续借。
它可以拆分为下面五个模块。
1,外借处理模块。
对应图书外借业务,这一业务在图书外借出办理,由工作人员扫入图书证条码察看用户的借阅权限,用户有欠费纪录时要求用户先缴纳罚款再行借书;无欠费纪录确认用户可以借阅图书后,扫入图书条码进行外借手续,外借完成后由计算机系统更新储存用户借阅信息及图书借阅信息,以备查询。

2、还书处理模块
对应还书处理流程,在图书外借出进行,用户还书时,工作人员扫入图书条码,进行还书处理,完成后由计算机系统更新储存用户借阅信息及图书借阅信息,以备查询。当图书丢失时,要求读者进行赔偿。

3、查询处理模块
对应查询处理流程,在用户端服务器进行,由读者自行操作,读者输入一定查询信息后,由用户端服务器提交到服务器,在数据库中进行寻找匹配后,输出查询结果。可循环调用。

4、预约处理模块
对应预约处理流程,在用户端服务器进行,由读者自行操作。

5、续借处理模块
对应续借处理流程,在用户端服务器进行,由读者自行操作。

二、代码设计
本系统中所使用代码:借书证号位学生学号,每一借书证都有相对应的唯一条码;索书号以中图分类法排列,每本书已有相对应的唯一条码。
三、输入输出及人机对话设计
1、输入设计:
图书建档过程中各类图书信息输入由工作人员先添入确定格式表格再以键盘输入计算机存储,在键盘输入过程中由计算机同时进行数据类型检验、格式检验、逻辑检验并即时出错提示。
会员注册过程中会员资料先由会员自行填入确定格式表格再由工作人员以键盘输入计算机存储,在键盘输入过程中由计算机同时进行数据类型检验、格式检验、逻辑检验并即时出错提示。
图书借阅及还书过程中图书条码和借书证条码在图书外借处以条码识别机扫描输入,也可以键盘输入图书证号和索书号;
图书预约、查询及续借过程中索书号和借书证号在用户服务器终端以键盘输入。
2、输出设计:
各类信息均以表格形式在显示器终端输出。
3、人机对话设计
图书建档及会员注册信息输入时以填表法进行,在填表过程中进行错误提示及警告。
操作人员进行借还书操作的界面以选单式界面为主。
用户查询、预约、续借操作界面以问答式与选单式结合。
四、数据库设计
图书馆管理信息系统数据库设计一览表,如下图所示

序号 模块名 数据库名 用途 数据来源 数据去向
1 图书建档 图书档案 存放图书信息 键盘输入 查询及统计
2 会员注册 会员档案 存放会员信息 键盘输入 查询及统计
3 借阅处理 用户借阅
档案 存放用户借阅信息 预约、外借、还书、续借过程中生成 查询、
检验权限
4 借阅处理 图书借阅
档案 存放图书被借阅信息 预约、外借、还书、续借过程中生成 查询、
检验
五、网络设计
计算机网络系统采用开放式用户机/服务器体系结构实现图书馆信息管理系统。具体设计成一个计算机网络系统,由服务器进行数据处理,用户端显示结果。
1,服务器上运行UNIX操作系统,支持多用户系统。
2,用户端运行Windows2000。
3,TCP/IP网络协议连接用户与服务器。
六、安全保密设计
系统安全以设置分级用户权限保障,不同权限的用户可调用的资源不同。

Ⅳ 图书管理系统设计报告

不知道你是不是系统设计大作业啊……找到了一份我以前参考过的文档。希望有点帮助吧。里面系统实现部分没有写,因为每个人用的东西都不一样,你就斟酌一下吧。至于时间表,这个完全看技术水平。毕竟逻辑还是挺简单的。

一、系统简介
随着计算机技术的飞速发展,利用计算机来获得和处理信息是当今信息管理的一大特点。伴随计算机硬件的快速发展,有关信息管理的软件——数据库系统软件也在迅猛发展着。图书馆是高等院校的重要组成部门,是教师和学生获取知识的重要场所。由于图书馆主要从事大量的图书资料的储存和流通。所以一直以来,计算机在图书馆的图书管理中得到了广泛的应用。本系统即是结合实际情况开发的图书资料管理系统。系统开发的主要任务是针对原来系统的时效性、数据的正确性、操作的方便性上的不足,解决图书流通上的问题。实现图书信息管理的系统化,规范化和自动化,以最大程度提高操作人员的办公效率。
二、系统需求分析及总体设计
2.1 系统的功能要求
1、 对信息进行条形码管理。
2、 对成批数据的高效录入, 系统对录入的数据的合法性应做出有效性检查, 能够对数据进行增加、删除、修改等基本操作。
3、 实现对数据的动态查询且查询速度快, 并能够将数据以统一形式的报表打印输出。
4、系统应该提供相应的代码维护功能。
5、该系统应具有对数据库中重要数据的备份和恢复的功能。
6、该系统应该采用用户匿名登录的方式, 以保护系统数据库的重要敏感数据。
2.2 系统总体设计
本数据库管理系统主要由图书检索、图书管理、数据维护、图书统计、打印输出、系统维护六大模块组成, 如图1 所示。各模块功能如下:
1、主控模块主控模块的功能是控制各个分支模块,它是实现各模块功能的总控制台
2、图书检索模块是图书管理系统的重要模块之一,是读者快速查询图书的途径 本模块的功能是按书名、书号、作者、出版社、图书分类查询
3、图书管理模块是图书管理员操作模块,读者是无权进入的。本模块由读者编号和姓名查询、借出图书登记、归还图书登记和续借图书登记子模块构成,在“借出图书登记”中管理员对借出的图书进行登记,图书库中这本书的库存减少,而读者在归还图书的图书库中这本书库存增加。对超过规定日期未归还图书的读者进行计算罚金 。图书管理相当于图书管理人员日常的管理工作,即图书借阅、归还和续借等登记工作。
图1 图书管理系统功能模块图
4、数据维护模块是由图书管理员控制的模块,它由增加、修改和删除读者,增加、修改删除图书,浏览修改读者、浏览修改图书等程序组成。 在软件设计时考虑到读者编号、书名、书号是唯一的,因此,在修改读者或图书中,读者记录或图书记录一经登记“读者编号”和“姓名”便不能修改,在删除读者或图书时只要读者有借出图书未还或库存图书原有数量与现有库存量不符便不能删除。
5、数据统计模块由读者统计、图书统计、借出图书分类统计、到期未归还图书读者统计几部分组成。
6、打印输出模块由读者信息、打印借出图书、打印到期未归还图书的读者和打印图书简介卡片组成,本模块由图书管理员控制。
7、系统维护模块由数据备份、数据恢复、密码修改和数据库索引构成,本模块由管理员控制。数据备份主要备份读者库、借出图书库、图书库及索引库,主要防止意外事件发生,如突然掉电、病毒或硬盘的损坏等。 数据恢复是数据备份的逆操作 密码的修改主要考虑到数据的安全,图书管理员可以随时更改密码,不让他人进入图书管理系统 数据索引是在操作过程中如果发生数据库与索引库不能同步时,图书管理员只要使用本功能,就可以正常使用 。
8、退出系统退出系统模块由帮助和退出构成。
三、系统设计步骤、方法
开发工具
平台:Visual C++ 6.0
语言:兼容C的C++语言
3.1 数据库的设计
3.2 功能模块的设计与实现
3.3 菜单的设计与创建
3.4 主程序的编写
3.5 系统的编译与运行
3.6 系统说明

Ⅵ 图书管理系统 uml图

【原文出处】现代图书情报技术
【原刊地名】京
【原刊期号】200206
【原刊页号】4~6
【分 类 号】G9
【分 类 名】图书馆学、信息科学、资料工作
【复印期号】200301
【 标 题】基于UML的高校图书馆管理系统
【英文标题】The Application of UML in Digital Library
Jin Yi Yang Zongying

(Institute of Information Science and Technology,Shanghai Jiaotong University, Shanghai 200030,China)
【 作 者】金毅/杨宗英
【作者简介】金毅,杨宗英,上海交通大学情报科学技术研究所 上海 200030
【内容提要】数字图书馆的研究方兴未艾,目前正处于传统图书馆向数字图书馆过渡的阶段,转变过程中需要应用和集成最新的信息技术,以达到对网络信息资源最有效的利用和共享。传统的系统分析设计的方法难以保证开发的效率和质量,将UML应用于数字图书馆建设,可以加速开发进程,提高代码质量,支持动态的业务需求,并方便地集成已有的传统图书馆信息资源。这是UML一个有着很好前景的应用方向。
【摘 要 题】实践研究
【英文摘要】The study of digital library is booming. Now traditional library is converting to digital library,this needs the application and integration of the latest information technologies for the maximum usage and shareof network information resources. Traditional system analysis and design methods can't guarantee the efficiencyand quality. Using UML in developing digital library can quicken the process, improve the code quality, supportthe dynamic needs and easily integrate the traditional resources. This is a hopeful application field for UML.
【关 键 词】UML/数字图书馆
UML/Digital library
【 正 文】
【分类号】G250.76
1 引言
在信息技术迅猛发展及基于Internet网络应用日益普及的今天,传统图书馆正在向自动化、网络化、电子化的数字化方向发展,这是目前网络信息资源开发和研究的热点。数字图书馆的建设涉及到信息资源数字化、多媒体数据库、分布式网络、信息管理系统结构等多方面的问题,需要有效地集成和应用最新的信息技术。如何在宏观上有效地把握和组织,并运用到数字图书馆的开发建设上,是数字图书馆研究的重点。UML(The Unified Modeling Language,即统一建模语言)是一种编制系统蓝图的标准化语言,可以对复杂的系统建立可视化的系统模型,目前已经被工业标准化组织OMG(Object Management Group)接受,一经推出便得到许多著名的计算机厂商如Microsoft、HP、IBM、Oracle等的支持,在国际上的应用日益广泛。数字图书馆的开发建设是一个复杂的软件工程,需要集成不同的操作系统、数据库和应用软件,有众多不同级别的用户、管理员,满足图书馆从书目查询、普通和电子书刊借阅到提供网上信息服务、资源共享等各种需求。用传统的系统开发和集成的分析设计方法难以保证效率和质量,UML的特点及数字图书馆的要求,决定UML在数字图书馆中应该有很好的应用前景。
1.1 数字图书馆的基本特征和模式
数字图书馆组织了一系列与平台无关、面向对象、分布式的数字化信息资源并且提供相关的服务,它应该具有以下一些特征〔2〕〔4〕:
(1)数字图书馆拥有海量的数字化资源, 其信息度量单位不再是KB、MB,而是GB、TB甚至PB。数字化的资源又是多种媒体(如文字、图像、音频、视频、虚拟空间等)的,具有多种存储和压缩格式。
(2)数字化资源并不是孤立的,而是相互关联的动态的。 数字图书馆是数字化资源的统一,可以通过一定的相关关系,由特定的协议和存取方法来查找和访问这些数字化资源。
(3)数字图书馆必须为用户提供统一的访问手段, 能够让用户透明方便地获取所需的信息而不必关心这些信息的具体位置。对数字资源的检索应该是智能化、交互式的,对全文、多媒体信息、多语言信息的检索都可以达到很好的查全率和查准率。
(4)数字图书馆建立在异构平台上,具有分布、 开放的信息结构,高速、可靠的网络环境是其运行的基础。它突破了时间、空间的限制,让用户可以在任何地方、任何时间获取自己所需的信息。在此基础上提供的导航式和个性化的服务,使服务内容更多样、服务模式更广泛,这是对传统图书馆服务功能的突破。
数字图书馆的模式,可以用图1简单说明, 用户通过网络和通信系统,连接到数字图书馆的咨询系统,通过这个统一的访问界面,用户可以透明地获取各种信息资源。
附图
图1 数字图书馆模式
1.2 UML概述及特点
UML是一种编制系统蓝图的标准化语言, 可以对大型复杂的系统的各种成分可视化、说明并构造系统模型,以及建立各种所需的文档。UML通过三类图形建立系统模型:Use Case图、静态结构图(对象类图、对象图、组件图、配置图)和动态行为图(顺序图、协同图、状态图、活动图),这些图可以从不同的抽象角度使系统可视化。UML 具有以下特点〔1〕:
(1)面向对象。UML支持面向对象技术的主要概念,提供了一批基本的模型元素的表示图形和方法,能简洁明了地表达面向对象的各种概念。
(2)可视化,表示能力强。通过UML的模型图能清晰地表示系统的逻辑模型和实现模型,可用于各种复杂系统的建模。
(3)独立与过程。UML是系统建模语言,独立与开发过程。
(4)独立于程序设计语言。用UML建立的软件系统模型可以用Java、VC++、Smalltalk等任何一种面向对象的程序设计来实现。
(5)易于掌握使用。UML图形结构清晰,建模简洁明了,容易掌握使用。
使用UML进行系统的分析和设计,可以加速开发的进程,提高代码的质量,支持动态的业务需求。UML适用于各种规模的系统开发,能促进软件复用,方便地集成已有的系统并有效处理开发中的各种风险。
2 UML在数字图书馆中的应用
UML是一种建模语言,是系统开发的一个组成部分,本身并没有关于开发过程概念的定义和表示符号。UML的创始者Booch、Jacobson和Rumbaugh在Rational公司的支持下综合了多种系统开发过程的长处,提出新的面向对象的开发过程,称为Rational 统一过程(RationalUnified Process, RUP)。RUP过程的核心工作流包括:业务建模、需求分析、系统分析与设计、实现、测试和系统配置。下面通过UML来分析并构造数字图书馆模型,并结合Rational统一过程加以描述,图形用Rational Rose工具软件绘制。
2.1 数字图书馆的业务建模和需求分析
业务建模和需求分析的目的是对数字图书馆进行评估,采集和分析系统的需求,理解系统要解决的问题,重点是充分考虑系统的实用性。结果可以用一个Use Case模型表达(图2), 模型中的活动者代表外部与系统交互的单元,包括用户、图书馆工作人员和外部信息源;UseCase是对系统需求的描述,表达了系统的功能和所提供的服务,包括采购子系统、编目子系统和流通子系统。对于数字图书馆而言,流通子系统还应该考虑到普通书刊流通和电子书刊流通的区别。电子书刊是指内容为数字格式、发行为电子方式、用计算机阅读和存储的电子读物,可以实现普通书刊所没有的全文检索、页面批注、摘要、字体缩放等功能。用户无论何时何地,都可以在线借还,这是数字图书馆服务功能的一个重要组成部分,也是对传统图书馆服务功能的延伸和拓展,其中的关键是流通子系统在实现时必须能对电子书刊的版权、以及可以同时借阅的用户数进行保护和控制。
附图
图2 数字图书馆Use Case模型
图2中模型元素之间的实线表示二者存在关联关系, 带空心箭头的实箭线说明存在泛化关系,这里有两种情况,一种是一般与特殊的关系,如“流通子系统”与“普通书刊流通”、“电子书刊流通”的关系;另一种是使用关联,表示一个模型元素需要使用另一个模型元素,在箭线上标有<<Use>>, 如“流通子系统”需要使用“编目子系统”生成的书目数据,图2是数字图书馆系统层的Use Case模型, 只包含了最基本的Use Case模型,是系统的高层抽象。在开发过程中,随着对系统的认识不断加深,Use Case模型可以从顶向下不断精化,演化出更为详细的Use Case模型。
2.2 数字图书馆系统分析与设计
系统分析与设计是研究欲采用的实现环境和系统结构,结果是产生一个对象模型,即设计模型,设计模型包含了Use Case的实现,可以表现对象是如何相互通信和运作来实现Use Case流的。对于系统的静态结构,可以通过对象类图、对象图、组件图和配置图来描述;对于系统的动态行为,可以通过顺序图、协同图、状态图、活动图描绘。这些图再加上支持说明文档就构成一个完整的设计模型。
(1)静态结构的分析与设计
数字图书馆拥有大量数字化信息资源,这些资源是多种媒体、多种格式的,而且还是相互关联的。其数据量大,信息长度不定,非结构化信息与结构化信息并存。传统的数据库和信息管理系统在数据模型、系统结构、用户接口等方面都难以实现对这些数字化信息资源的管理和操作,这就决定了数字图书馆必须采用面向对象的方法来建立数据模型和管理模型,建立面向对象的数据库,实现面向对象的信息管理系统。使用UML 对数字图书馆系统进行基于面向对象的分析和设计,可以从开发的第一步开始,从系统的底层就把握住数字图书馆信息资源的特征,为下一步的具体实现打好基础。在为数字图书馆系统建立模型时要涉及到处理大量的模型元素,如对象类、接口、组件、节点、图等,可以将语义上相近的模型元素组织在一起,这就是UML的包, 包从较高的层次来组织管理数字图书馆的系统模型。
在详细设计阶段可以对包图中的所有类、对象从实现角度再进一步进行细化,绘制具体的对象类图、对象图等。图3 是数字图书馆系统的包图,虚箭线说明包之间的依赖关系,如“流通”包依赖于“数据库”包,要使用“数据库”包中的类及数据。带空心箭头的实箭线说明包之间的泛化关系,这里是一般与特殊的关系,如“编目”包与“本馆编目”包、“联合编目”包之间存在泛化关系。
附图
图3 数字图书馆系统包图
(2)动态结构的分析与设计
数字图书馆提供的各种服务都是建立在分布、开放的信息结构之上,依托高速、可靠的网络环境来完成。每项服务都可以看成一个事件流,由若干相关的对象交互合作来完成。对于这种系统内部的协作关系和过程行为,可以通过绘制顺序图和协同图来帮助观察和理解。
一个对象在其生存期间所经历的状态序列,对于把握对象的行为和状态的迁移变化是非常重要的,可以通过状态图来了解一个对象的历史,引起一个状态向另一个状态转移的事件,以及由于状态的转移而引发的动作。
此外,描述工作流和并发处理行为还可以用活动图,表达从一个活动到另一个活动的控制流。
顺序图和协同图适合描述多个对象的协同行为,而状态图适合描述一个对象穿越多个Use Case的行为。状态图与活动图的区别是,状态图描述的是对象类响应事件的外部行为,活动图描述的是响应内部处理的对象类的行为。
附图
图4 数字图书馆电子书刊流通服务顺序图
图4是一个电子书刊流通服务的顺序图例子, 用以说明数字图书馆电子书刊基本流通服务。用户向流通子系统的用户接口登录,经用户合法性验证后,向流通子系统的电子书刊流通模块提交服务请求,电子书刊需要经过版权和复本的验证,以保证电子书刊的每一个复本在同一时间只允许一个用户借阅或阅读。比如购买了一本电子书的五个复本,那么就可以有五个用户同时借阅或阅读这本书,而且必须能够控制用户对电子书刊的任意复制和打印,以保护电子书刊出版者的合法权益。然后就可以完成电子书刊的借、还、预约、续借等流通服务,最后退出。
通过顺序图可以清晰地看出用户、流通子系统的用户接口和电子书刊流通模块之间按时间顺序的消息交换,这对于把握系统的控制流、顺序行为和交互行为是非常有益的。建立在分布、网络环境下的数字图书馆其事件流和控制流是十分复杂的,需要从层顶到底层进行一步步的分解,用多幅能反映动态结构的图来分析与说明。
2.3 数字图书馆的实现、测试和系统配置
经过系统分析与设计后,就可以根据设计模型在具体的环境中实现系统,生成系统的源代码、可执行程序和相应的软件文档,建立一个可执行的系统。然后需要对系统进行测试和排错,保证系统符合预定的要求,获得一个无错的系统实现。测试的结果将确认所完成的系统可以真正使用。最后系统配置的任务是在真实的使用运行环境中配置、调试系统、解决系统正式使用前可能存在的任何问题。
3 小结
数字图书馆的发展方兴未艾,目前正处于传统图书馆向数字图书馆过渡的阶段,转变过程中需要应用和集成最新的信息技术,以达到对网络信息资源最有效的利用和共享。传统的系统分析设计的方法难以保证效率和质量,将UML应用于数字图书馆建设,可以加速开发进程, 提高代码质量,支持动态的业务需求,并方便地集成已有的传统图书馆信息资源。这是UML一个有着很好前景的应用方向。
【参考文献】
〔1〕张龙详.UML与系统分析设计.人民邮电出版社,2001
〔2〕郑巧英.杨宗英.图书馆自动化新论:信息管理自动化.上海交通大学出版社,1998
〔3〕郑巧英.数字图书馆的一种模式——网络图书馆. 现代图书情报技术,2000,(2)
〔4〕陈英.UML多视点建模机制应用研究.北京理工大学学报.2001,(2)
〔5〕于升峰.数字图书馆的关键技术研究.情报学报,1999,(12)