图书馆管理系统概要设计
图书馆管理系统概要设计
引言
1.1 编写目的
由前面的需求分析,得出了系统的基本需求,和基本的数据流图,要实现整个系统,需要对用户的需求进行设计,概要设计主要是利用比较抽象的语言对整个需求进行概括,确定对系统的物理配置,确定整个系统的处理流程和系统的数据结构,接口设计,实现对系统的初步设计。
1.2 项目背景
根据XX 学校希望能够充分利用现代科技来提高图书管理的效率,在原有的办公系统基础上进行扩展,将一些可以用计算机来管理的都进行计算机化,使得图书馆管理人员工作更加方便,工作效率也更加的高。
1.3 定义
•SQL Sever 2000:数据库管理软件 •DBMS :数据库管理系统
•Windows 2000/2003/XP:运行环境 •Java :软件开发语言
1.4 参考资料
《软件工程导论——第4版》
《软件工程实践导论:有关方法、设计、实现、管理之三十六计》
《实用软件工程》
任务概述
1.5 目标
通过该系统的实施,将图书馆管理等方面通过系统来实施,其中包括对学生借还读书信息,员工信息,以及读书信息等等,使得图书馆借还等管理业务和查询业务运转周期缩短?%以上,来提高学校图书馆运转效率。
1.6 运行环境
数据库管理系统软件:SQL Sever 2000.
运行平台:Windows XP/Windows 2000/Windows 2003. 分辨率:最佳效果1024x768像素
1.7 需求概述
按照需求分析文档中的规格要求,使用条形码扫描器进书、借书、还书,使得信息传递准确、流畅。同时,系统最大限度地实现易安装,易维护性,易操作性,运行稳定,安全可靠。
1.8 条件与限制
无
2 总体设计
2.1 处理流程
顶层数据流图:
第0层图:
第一层图:
(1):登陆子系统
第二层图:
(1):处理新书购入
(2)处理学生借书
(3):处理学生还书
(4
):处理图书注销
(5)处理学生信息查询
(6)处理图书信息查询
2.2 总体结构和模块外部设计
2.3 功能分配
针对图书馆管理系统,可以分为两大模块,一个小模块:分别为管理子系统,查询子系
统两大模块;基础信息管理小模块;
在管理子系统中:
1):新书购入处理模块只要是针对采购员在根据计划在外采购新书之后的处理,所以当采购员采购到新书后,系统根据原先计划采购的新书进行核查,如果符合计划预定,则将新书入库;否则退货;该模块主要是处理购入的新书是否符合要求;
2):处理学生借书模块:
该模块主要是处理学生借书业务,在图书馆管理人员输入学生信息的时候,系统会
根据学生文件对该学生进行查询,看看是否存在该学生,如果不存在,则系统给出警告信息:该学生不存在;如果存在该学生,则系统根据罚款单对该学生的欠款情况进行查询,如果欠款超过一定金额,则借书失败,否则接受借书,更新借书文件,在显示器上面显示借书成功;
3):处理学生还书模块:
该模块主要是处理学生还书业务,在图书馆管理人员输入要还的图书字段时,系统
会在借书文件中查找该图书信息,之后对借书文件,学生文件中的该学生已借书数,图书目录文件进行更新;然后在借书文件中提取学生数据,根据图书的还书日期和借出日期对学生的欠款金额进行计算,如果没有超期,则欠款金额在原来的基础上加0;之后将结果显示出来;
4):处理图书注销模块:
该模块主要是针对图书注销业务;
在查询子系统中:
有两个查询内容:
1) 学生信息查询:学生信息查询子模块主要是对学生信息的查询; 2) 图书信息查询:图书信息查询子模块主要是对图书信息的查询;
这些模块,是针对学生或者图书馆管理人员这两个不同的对象,查询子系统主要是让用户了解信息,所以不需要进行用户密码登陆,直接可以进行查询,而管理模块是涉及到图书馆内部的重要信息管理方面,所以必须要设置用户密码登陆和权限等等,以保数据的安全性和系统的安全性;
3 接口设计
3.1 外部接口
1, 用户接口:
采用窗口化,菜单式进行设计,在操作时响应热键。 2, 硬件接口:
一卡通,扫描仪器 3, 软件接口
//通过JDBC 对SQL Server2000数据库的连接
3.2 内部接口
通过面向对象语言设计类,在public 类中实现调用;类间实现严格封装;
4 数据结构设计
4.1 逻辑结构设计
一:学生文件表: 序号
字段名
类型
长度
精度
小数位数
1
学生编号 Int
4
默认值 1
允许空
√
自动编号
2 3 4 5 6 7 8 9 10
二:图书目录文件 序号 1 2 3 4 5 6 7 8 9
主键 说明
姓名 性别 生日
nvarchar 10 nvarchar 2 datetime 8
√ √ √ √ √ √ √ √
证件号码 nvarchar 25 联系电话 nvarchar 40 登记日期 datetime 8 有效期至 datetime 8 已借书数 smallint 2 是否挂失 nvarchar 2
字段名 类型 长度 精度 小数位数 默认值 允许空 主键 4
1
√ √ √ √ √
√
说明 自动编号
图书编号 Int 条形码 书名
nvarchar 20 nvarchar 200
图书类型 Nvarchar 50 作者 译者 ISBN 出版社 价格
Nvarchar 20 Nvarchar 20 Nvarchar 20 Nvarchar 30 Money
8
10 11 12 13 14 15 16 17
三:借书文件表 序号
字段名
1
借阅编号
2
图书编号
3
学生编号
4
借阅时间
5
应还时间
6
续借次数
7
操作员
四:罚款单表 序号
字段名
1
借阅编号
2
图书
Int
4
Int
4
类型
长度
精度
Nvarchar 10
Smallint
2
Datatime 8
Datatime 8
Int
4
Int
4
Int
4
类型
长度
精度
书架名称 Nvarchar 20 现存量
Smallint
2 2 8
√ √ √ √ √ √ √ √
库存总量 Smallint 入库时间 Datatime 操作员 简介
Nvarchar 10 Nvarchar 200
2
借出次数 Smallint
是否注销 Nvarchar 2
小数位数
默认值 1
允许空
主键 外键 说明
√
自动编号
√
√
√
√
√
√
小数位数
默认值 1
允许空
主键 外键 说明
√
自动编号
√
编号
3
学生编号
4
应罚金额
5
实收金额
6
是否交款
7
五:入库单表 序号
字段名
1
书号
Nvarchar
30
类型
长度
备注
Nvarchar 200
Nvarchar 2
Smallint
3
Smallint
3
Int
4
√
√
√
√
√
精度 小数位数
默认值 1
允许空
主键 外键 说明
√
自动编号
2 条形码
Nvarchar 20
√
3 4 5
书名 作者 出版社
Nvarchar Nvarchar Nvarchar
200 20 30
√ √ √
6 7
版次 图书类别
Nvarchar Nvarchar
50 20
√ √
8 存放位置
Nvarchar 20
√
9 10
单价 入库数量
Money Smallint
8 2
√ √
11 12
金额 经手人
Money Nvarchar
8 10
√ √
13 14
票号 操作员
15
日期
datatime
8
Nvarchar Nvarchar
30 10
√ √
√
六:管理员表 序号
字段名
类型
长度
精度
小数位数
1
管理员ID
2
管理员密码
3
权限
nvarchar 16
char
15
int
4
默认值
允许空
√
主键
说明
4.2 物理结构设计
4.3 数据结构与程序的关系
数据结构与程序是软件的重要组成部分,程序的正确执行依赖于合理的数据结构
5 运行设计
5.1 运行模块的组合
本程序主要是以一个窗口为模块,一般一个窗口完成一个特定的功能,主窗口通过
打开另一个子窗口来实现个模块之间不同功能的连接和组合。各模块之间相对独立,程序的可移植性好。各模块之间主要以传递数据项的引用来实现模块之间的合作和数据共享。
5.2 运行控制
只要符合操作说明书,用户可自由控制
5.3 运行时间
由用户决定
6 出错处理设计
6.1 出错输出信息
本程序多处采用了异常处理的机制,当遇到异常时不但能及时的处理,保证程序的安全性和稳定性,而且各种出错信息能通过弹出对话框的形式,及时的告诉用户出错的原因及解决的办法,使用户以后能够减少错误的发生。程序的大部分地方还采取了出错保护,如输入内容的长度和类型等减少了用户出错的可能。
6.2 出错处理对策
我们对于本程序的几种可能的错误进行了分析,分别进行了不同的处理。 主要的错误可能有:
数据库连接错误:
这类错误主要是数据库设置不正确,或sql server 异常引起的,我们只要取消本次
操作,提醒用户检查数据库问题就可。
输入错误:
这主要是用户输入不规范造成的,我们在尽量减少用户出错的条件的情况下,主要
也是通过对话框,提醒用户,然后再次操作。
其他操作错误:
对于用户的不正当操作,有可能使程序发生错误。我们主要是中止操作,并提醒用
户中止的原因和操作的规范。
其他不可预知的错误:
程序也会有一些我们无法预知或没考虑完全的错误,我们对此不可能作出万全的异
常处理,这时我们主要要保证数据的安全,所以要经常的进行数据库备份,并能及时的和我们联系,以逐步的完善我们的程序。
7 安全保密设计
我们这个软件的安全主要有几个方面:
软件使用安全:
这个我们在对错误的异常处理的地方已经详细说明。这里不再重述。
数据保密:
由于我们这个软件是面向企业的人事管理的,里面就会有很多员工和企业方面的重要数据。这些数据,出于企业计划,员工隐私等原因需要不宜被外人知道,所以我们设计了登陆系统,保证了操作员合法性。另外,建议企业对数据库(和备份文件)进行一定的密码保护,以防资料的泄漏。
操作安全:
由于操作员的操作不慎可能导致数据被误删,误改等情况,这里我们在每次删除的时候提醒用户,以防误操作。
8 维护设计
软件的维护主要包括,数据库的维护和软件功能的维护。
对于数据库的维护,本软件已经提供了数据库的备份和恢复的功能,可以方便的实现数据库的维护管理。
对于软件功能方面的维护,由于我们采用的是模块化的设计方法,每个模块(窗口)之间相互独立性较高,这样对软件的维护带来了很大的方便,对于单独功能的修改只需修改一个窗口就行了。而对于功能的添加,只要再添加菜单项的内容即可,软件卖出后,我们将根据客户的要求和反映,定期的对软件进行维护修改。