一个图书馆管理系统要是可以实现以上所描述的各种功能,那么这个图书馆管理系统也就可以算是比较成功的一个系统了。
2.2 功能分析
根据以上的需求分析,我所进行设计的图书馆管理系统具有5个的功能模块,分别是图书信息管理模块,图书类别管理模块,图书借阅模块,读者信息管理模块以及系统查询模块。其中各功能模块的具体说明如下:
图书类别管理模块:该模块主要负责的是管理图书馆的图书种类的信息,比如图书种类的名称、可以借阅的天数等信息。
图书信息管理模块:该模块主要负责的是管理图书馆的图书的信息,比如图书的编号、图书的名称、作者、出版社等信息。
读者信息管理模块:该模块主要负责的是管理图书馆的读者的信息,比如读者的编号、读者的信息、证件号码、最大的借书量等信息。
图书借阅管理模块:该模块主要负责的是图书馆的书籍借阅和归还信息,具体包括图书借阅、图书归还2个子模块。
系统查询模块:该模块主要负责的是图书馆的工作人员和用户对于书籍查询工作。
2.3系统用例图设计
图书馆管理系统是一个只有内部人员才可以全面使用的系统,也就是说不是所有的人都可以使用它,只有图书馆的工作人员才可以使用。而图书馆的工作人员也是分为两类,一类是日常操作人员,主要负责图书的借阅和归还的工作;一类就是管理员,除了操作人员的这两项功能外,还能可以对书籍列表,书籍信息,读者信息等进行管理。下面以管理员为例而绘制其所对应的用例图,如图1-1所示。
图1-1 管理员用例图
2.4 绘制系统流程图
图书管理系统首先需要对用户的身份进行有效识别,只有合法的用户才能够进入本系统,否则将无法进入系统。进入系统之后,首先会打开系统的主窗体,在系统首页的菜单栏或者是功能区可以选择不同种类的导航链接来进行各种需要的操作。由于不同权限的用户对于系统是配有不同的功能,下面是以功能最多的图书馆管理员为例,其系统流程图,如图1-2所示。
2
图1-2 系统流程图
2.5 系统的开发环境
图书馆管理系统的具体的开发环境要求如下: (1)系统开发平台:MyEclipse。
(2)数据库管理系统软件:SQL Server 2005。 (3)运行平台:Windows 7旗舰版。 (4)Java开发包:JDK 5.0以上。 (5)分辨率:800×600以上。 (6)GUI开发包:Swing。
第三章 数据库分析与设计
3.1数据库分析
在开始开发图书馆管理系统时,应考虑到图书的储存量大,数据库维护量大的特点,比较适合用SQL Server 2005作为数据库管理的系统。在SQL Server 2005中先新增一个数据库,并将其数据库命名为db_library。数据库当中可以包含图书类别信息、图书信息、图书借阅信息、操作员信息及读者信息等等实体,可以用来存储不同种类的信息。
3.2数据库概念设计
本系统一共设计规划出5个实体,分别为图书类别信息实体、图书信息实体、读者信息实体、操作员实体、图书借阅信息实体。因为图书的类别有很多,因此可以专门的建立一个图书馆类别信息表,可以用来保存图书的类别信息。同时又因为每种类别的书籍阅读时间有所不同,所以需要在类别表中保存该类别可
3
借天数的信息。图书类别信息实体E-R图,如图2-1所示。
图2-1 图书类别信息实体E-R图
对于图书馆来说最重要的一环就是要管理其下的书籍,所以必需要建立一个图书信息表,可以用来保存图书的所有信息。图书信息实体E-R图,如图2-2所示。
图2-2 图书信息实体E-R图
对于图书馆来说最大的功能就是能可以借书,这时候需要建立一个图书借阅信息表,可以用来保存读者的借书信息。图书的借阅信息实体E-R图,如图2-3所示。
图2-3 图书的借阅信息实体E-R图
3.3数据逻辑结构设计
根据设计好的各个实体E-R图来创建数据库的逻辑结构,数据库各个表的结构如下:
(1) 图书类别信息表是用来储存所有的图书类别信息,其中包括图书类别编号、图书类别名称、可借
天数和迟还一天的罚款数目4个字段。该表的逻辑结构如表2-1所示。
表2-1 图书类别信息表
字 段 名
id typeName
数 据 类 型 整数(int) 文本(varchar)
4
是 否 主 键
是 否 描 述 图书类别编号 图书类别名称
days fk 整数(int) 浮点数 否 否 可借天数
迟还一天的罚款数目
(2) 图书信息表是用来储存所有的图书信息,其中包括图书编号、类别编号、图书名称、作者、译者、
出版社、出版日期以及书籍价格8个字段。该表的逻辑结构如表2-2所示。
表2-2 图书信息表
字 段 名
ISBN typeId bookname writer translator publisher date price
数 据 类 型 文本(varchar) 整数(int) 文本(varchar) 文本(varchar) 文本(varchar) 文本(varchar) 日期时间(datetime) 金钱货币(money) 是 否 主 键
是 否(外键)
否 否 否 否 否 否 描 述 图书编号 类别编号 图书名称 作者 译者 出版社 出版日期 书籍价格
(3) 读者信息表是用来储存所有的读者信息,包括读者姓名、性别、年龄、证件号码、借书证有效日
期、最大借书量、押金、证件类型、职业、电话号码、读者编号以及办证日期12个字段。该表的逻辑结构如表2-3所示。
表2-3 读者信息表
字 段 名
name sex age identityCard
date maxNum tel keepMoney
zj zy ISBN bztime
数 据 类 型 文本(varchar) 文本(varchar) 整数(int) 文本(varchar) 日期时间(datetime)
整数(int) 文本(varchar) 金钱货币(money)
整数(int) 文本(varchar) 文本(varchar) 日期时间(datetime) 是 否 主 键
是 否(外键)
否 否 否 否 否 否 否 否 是 否 描 述 读者姓名 读者性别 读者年龄 证件号码 会员证有效日期 最大借书量 电话号码 押金 证件类型 职业 读者编号 办证日期
(4) 操作员信息表是用来保存操作员信息,包括操作员编号、用户名、性别、年龄、证件号码、工作
时间、电话号码、是否为管理员、密码9个字段。该表的逻辑结构如表2-4所示。\\
表2-4 操作员信息表
字 段 名
id name sex age identityCard workdate
数 据 类 型 整数(int) 文本(varchar) 文本(varchar) 整数(int) 文本(varchar) 日期时间(datetime)
5
是 否 主 键 是(自动递增)
否 否 否 否 否 描 述 操作员编号 用户名 性别 年龄 证件号码 工作时间
tel admin password 文本(varchar) 整数(int) 文本(varchar) 否 否 否 电话号码 是否为管理员
密码
(5) 图书借阅信息表是用来保存所有图书的借阅信息,包括借阅编号、书籍编号、操作员编号、读者
编号、是够归还、借书日期以及应还日期7字段。该表的逻辑结构如表2-5所示。
表2-5 图书借阅信息表
字 段 名
id bookISBN operatorId readerISBN
数 据 类 型 整数(int) 文本(varchar) 整数(int) 文本(varchar) 是 否 主 键 是(自动递增) 否(外键) 否(外键) 否(外键) 描 述 借阅编号 书籍编号 操作员编号 读者编号
3.4各表之间的联系图
图2-4 各表间联系图
3.5数据库Dao类的构建
首先定义了一个Dao类,并且为该类添加了4种方法,分别为构造方法Dao、查询方法executeQuery、
更新方法executeUpdate以及关闭连接方法close。
public class Dao {
protected static String dbClassName =
\数据库连接驱动类
protected static String dbUrl = \
+ \数据库连接URL
6
protected static String dbUser = \ //数据库用户名
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库大学生软件工程毕业论文设计 - 图文(2)在线全文阅读。
相关推荐: