图书管理系统面向对象分析与设计报告.docx
《图书管理系统面向对象分析与设计报告.docx》由会员分享,可在线阅读,更多相关《图书管理系统面向对象分析与设计报告.docx(19页珍藏版)》请在冰豆网上搜索。
图书管理系统面向对象分析与设计报告
图书管理系统面向对象分析与设计报告
1.图书管理系统开发背景
图书馆作为一种信息资源的集散地,图书和用户借阅资料繁多,包含很多的信息数据的管理,现今,有很多的图书馆都是初步开始使用,甚至尚未使用计算机进行信息管理.图书馆若采取手工方式对图书资料和图书借阅情况进行人工管理,由于资料繁多,手工处理的工作量大,整体管理效率低下,也不方便读者对图书资料的查阅.
基于以上情况,我们需要一套图书管理系统,来提高信息管理效率.
2.图书管理系统设计
2.2可行性分析
本系统主要实现对图书馆信息的管理,主要功能为管理有关用户,资料,借阅的信息等。
本系统结构分为用户和资料信息管理模块,查询模块,借阅信息管理模块。
用户和资料信息管理的功能是,维护和修改读者和资料信息。
查询模块的功能是,查询借阅信息,图书信息,用户信息。
借阅信息管理的功能是,维护借阅信息,实现借书还书的自动化。
可见,本系统并不复杂,主要解决的问题是利用关键字对数据库进行查询。
2.2图书管理系统需求描述
2.2.1系统组成
图书管理系统由一下几个子系统构成:
1.系统管理员管理子系统
2.图书管理员管理子系统
3.读者子系统
2.2.2系统框图
2.2.3系统参与者
图书管理员,借阅者,系统管理员.
三者间的关系如下图:
其中,用户是多个,包括教员和学生,图书管理员是几个,系统管理员是一个至多个。
用户可以查询自己的借阅情况、分门别类的查询图书和借书,还书等。
图书管理员主要是日常操作有:
处理图书借阅,查询用户和资料信息。
而系统管理员统筹管理图书的系统相关事宜,比如权限维护、增删用户和管理系统后台数据等。
2.3图书管理系统功能模型
系统的参与者主要有三类:
用户(也可称为借阅者)
图书馆管理员
图书馆管理系统维护者
2.3.1系统实体关系图
2.3.2功能模型的用例图
2.3.3类图
2.3.4顺序图
一级要求:
2.3.4.1新用户录入的用例图
2.3.4.2新资料录入的顺序图
2.3.4.3更改资料信息的顺序图
2.3.4.4查询图书借阅信息的顺序图
2.3.4.5查询用户借阅信息的顺序图
2.3.4.6借阅的顺序图
2.3.4.7归还的顺序图
二级要求:
2.3.4.8按属性查询的顺序图
2.3.4.9查询剩余资料
2.3.4.10查询所有借出资料
2.3.4.11按类型查询资料
2.3.5系统包图
2.4数据库模型设计
在管理子系统中:
1):
新书购入处理模块只要是针对采购员在根据计划在外采购新书之后的处理,所以当采购员采购到新书后,系统根据原先计划采购的新书进行核查,如果符合计划预定,则将新书入库;否则退货;该模块主要是处理购入的新书是否符合要求;
图书入库:
数据输入
格式
数据范围
精度
数据类型
作者
人名
>2,<10的字符
Vchar(10)
汉字或英文
索引号
字母加数字
<20
Vchar(20)
字符
出版社
出版社名
<25
Vchar(50)
汉字或英文
出版日期
日期
8
Char(8)
日期型
图书编号
数字
10
Char(10)
数字串
2):
处理学生借书模块:
该模块主要是处理学生借书业务,在图书馆管理人员输入学生信息的时候,系统会根据学生文件对该学生进行查询,看看是否存在该学生,如果不存在,则系统给出警告信息:
该学生不存在;如果存在该学生,则系统根据罚款单对该学生的欠款情况进行查询,如果欠款超过一定金额,则借书失败,否则接受借书,更新借书文件,在显示器上面显示借书成功;
数据输出(相关信息入数据库)
格式
数据范围
精度
数据类型
学号
数字串
12
Vchar(12)
数字串
图书编号
数字
10
Char(10)
数字串
3):
处理学生还书模块:
该模块主要是处理学生还书业务,在图书馆管理人员输入要还的图书字段时,系统会在借书文件中查找该图书信息,之后对借书文件,学生文件中的该学生已借书数,图书目录文件进行更新;然后在借书文件中提取学生数据,根据图书的还书日期和借出日期对学生的欠款金额进行计算,如果没有超期,则欠款金额在原来的基础上加0;之后将结果显示出来;
数据输出(相关信息入数据库)
格式
数据范围
精度
数据类型
学号
数字串
10<=学号<12
Vchar(12)
数字串
图书编号
数字
10
Char(10)
数字串
4):
处理图书注销模块:
该模块主要是针对图书注销业务;
在查询子系统中:
有两个查询内容:
1)学生信息查询:
学生信息查询子模块主要是对学生信息的查询;
2)图书信息查询:
图书信息查询子模块主要是对图书信息的查询;
这些模块,是针对学生或者图书馆管理人员这两个不同的对象,查询子系统主要是让用户了解信息,所以不需要进行用户密码登陆,直接可以进行查询,而管理模块是涉及到图书馆内部的重要信息管理方面,所以必须要设置用户密码登陆和权限等等,以保数据的安全性和系统的安全性;
输入:
图书查询模块
数据输入
查询类型
格式
数据范围
精度
数据类型
按作者
人名
无
无
无
按索引号
字符
无
无
无
按编号
无
无
无
无
按出版社
无
无
无
无
按出版日期
19900802
无
无
日期型
学生登录模块
数据输入
格式
数据范围
精度
数据类型
学号
数字串
10<=学号<12
Vchar(12)
数字串
密码
任意
<16
Vchar(16)
任意
输出:
图书查询模块。
数据输出(显示在显示器上,相关信息加入数据库)
格式
数据范围
精度
作者
人名
>2,<5的字符
Vchar(10)
索引号
字母加数字
<20
Vchar(20
出版社
出版社名
<25
Vchar(50)
出版日期
日期
8
Char(8)
是否在馆
是/否
2
Bool
应还日期
日期
8
Char(8)
学生登录模块:
输出当前正借阅的图书信息
数据输出(显示在显示器上)
格式
数据范围
精度
数据类型
作者
人名
>2,<5的字符
Vchar(10)
汉字或英文
索引号
字母加数字
<20
Vchar(20)
字符
出版社
出版社名
<25
Vchar(50)
汉字或英文
出版日期
日期
8
Char(8)
日期型
应还日期
日期
8
Char(8)
日期型
Ⅶ、数据结构设计
逻辑结构设计
⑴:
学生文件表:
序号
字段名
类型
长度
精度
小数位数
默认值
允许空
主键
说明
1
学生编号
String
10
√
2
姓名
String
10
3
性别
String
2
√
4
生日
datetime
8
√
5
证件号码
String
25
√
6
联系电话
String
40
√
7
登记日期
datetime
8
√
8
有效期至
datetime
8
√
9
已借书数
String
2
√
10
是否挂失
String
2
√
⑵:
图书目录文件
序号
字段名
类型
长度
精度
小数位数
默认值
允许空
主键
说明
1
图书编号
String
15
1
√
自动编号
2
条形码
String
20
3
书名
String
200
4
图书类型
String
50
√
5
作者
String
20
√
6
译者
String
20
√
7
ISBN
String
20
8
出版社
String
30
√
9
价格
Money
8
√
10
书架名称
String
20
√
11
现存量
Smallint
2
√
12
库存总量
Smallint
2
√
13
入库时间
Datatime
8
√
14
操作员
String
10
√
15
简介
String
200
√
16
借出次数
Smallint
2
√
17
是否注销
String
2
√
⑶:
借书文件表
序号
字段名
类型
长度
精度
小数位数
默认值
允许空
主键
外键
说明
1
借阅编号
String
4
1
√
自动编号
2
图书编号
String
4
√
3
学生编号
String
4
√
4
借阅时间
Datatime
8
√
5
应还时间
Datatime
8
√
6
续借次数
Smallint
2
√
⑸:
入库单表
序号
字段名
类型
长度
精度
小数位数
默认值
允许空
主键
外键
说明
1
书号
String
30
1
√
自动编号
2
条形码
String
20
√
3
书名
String
200
√
4
作者
String
20
√
5
出版社
String
30
√
6
版次
String
50
√
7
图书类别
String
20
√
8
存放位置
String
20
√
9
单价
Money
8
√
10
入库数量
Smallint
2
√
14
操作员
String
10
√
15
日期
datatime
8
√
⑹:
管理员表
序号
字段名
类型
长度
精度
小数位数
默认值
允许空
主键
说明
1
管理员ID
String
4
√
2
管理员密码
String
15
3
权限
nvarchar
16