图书管理系统——UML软件课程项目

1面向对象分析
1.1需求分析
1.1.1问题定义
现各大高校内基本都设有图书馆供读者借阅图书,是学习的最佳选择场所之一。图书馆涉及图书借阅,新书购入和旧书淘汰,图书分类和图书查找功能。
图书管理系统的目的是实现读者查找书籍,借阅书籍的一体化,实时为读者提供最新信息。
1.1.2可行性分析
(1)法律可行性
不违法国家法律,符合国家方针政策,属鼓励行为。法律可行。
(2)经济可行性
系统的开发成本为N人月,费用约为M万元。运行成本为一台服务器及相关软件。与每年专业分流耗费的人力成本相比,具有经济节约,因此经济可行。
(3)技术可行性
系统中的信息可由Excel导入,容易获得。现有技术可以实行此系统,无技术障碍。技术可行。
1.1.3需求描述
本图书管理系统涉及图书借阅、新书购入和旧书淘汰、图书分类功能。人员包含图书管理员和读者(读者包括教师和学生)。图书借阅功能可以展示每本图书的信息、馆藏数和可借数,限制读者借阅图书的数量,并且可以显示已借阅图书的到期时间;图书管理员可以负责录入新书的信息,删除淘汰书籍的信息,修改书籍的标签信息和位置信息,录入、修改、删除读者的信息,编写图书借阅规则;读者可以查看书籍的标签和位置信息并实现自助化的借书与还书,还可以看到图书的借阅记录。书籍信息包括书名,编码号(ISBN),作者信息,出版时间,书籍简介;教师信息包含教师姓名,入职时间,教职工号;学生信息包含学生姓名,学号,入学时间。
1.1.4详细设计
登录界面:

描述:用户输入用户名、密码和选择用户类型,来实现登录。
管理员界面:

描述:有查询、编辑和删除按钮,对显示的书目信息进行操作。
读者界面:

描述:读者在该界面可以实现对图书的查询和借阅。
1.1.5数据流图
系统中的外部实体包括读者和图书管理员两类用户。图书管理员负责输入的数据流包括:借书信息、还书信息、续借信息、图书信息、读者信息、注销信息和图书类别信息。系统输出给图书管理员的数据流包括:借书信息、还书信息、续借信息、图书信息和读者信息。读者输入的数据流包括:图书查询信息和借书信息、还书信息和续借信息。系统输出给读者的数据流包括:罚款信息、图书信息和图书借阅信息(即借书信息、还书信息和续借信息)。
系统的环境图如图1-1所示:

对系统中的数据流进行分类,可以认为图书查询信息、图书信息、注销信息和图书类别信息是系统的图书管理数据,借书信息、还书信息、续借信息是系统的借阅管理数据,罚款信息和读者信息是系统的读者管理数据。因此,可以把系统划分为图书管理、借阅管理和读者管理三个子加工。系统的一层数据流图如图1-2所示。

图书管理又可以分为图书录入、图书查询、图书注销和图书类别,加工1图书管理对应的二层数据流图如图1-3所示。

借阅管理包括借书管理、还书管理和续借管理三部分,对应的二层数据流图如图1-4所示。

读者管理包括读者信息管理,对应的二层数据流图如图1-5所示。

1.1.6数据字典
系统中包括的数据流有:借书信息、还书信息、续借信息、图书信息、读者信息、图书类别信息、图书查询信息、注销信息和罚款信息。
(1)借书信息
①数据流名:借书信息。
②简述:描述图书馆包含的图书的相关状态信息。
③组成:书籍状态+书籍数目+借阅人员+已借阅天数+书籍借阅次数
④来源:读者进行借书行为
⑤去向:加工2.1借书管理
⑥流通量:较大
⑦峰值:350~2000条
(2)还书信息
①数据流名:还书信息。
②简述:描述图书馆包含的图书的相关状态信息。
③组成:书籍状态+书籍数目+借阅人员+已借阅天数+书籍借阅次数
④来源:读者进行还书行为
⑤去向:加工,2.2还书管理
⑥流通量:较大
⑦峰值:350~2000条
(3)续借信息
①数据流名:续借信息
②简述:描述图书在临期时,读者再进行借书行为
③组成:借书信息+还书日期+续借时间
④来源:读者进行续借行为
⑤去向:加工2.3续借管理处理
⑥流通量:较小
⑦峰值:小
(4)图书信息
①数据流名:图书信息。
②简述:描述图书馆包含的具体图书相关信息。
③组成:图书ID+图书类别+书名+作者+译者+出版社+单价+出版日期+购买数量
④来源:图书购买后,由图书馆管理人员编码整理后,输入计算机
⑤去向:加工1图书管理和2借阅管理进行处理
⑥流通量:数据量较大
⑦峰值:350~2000条
(5)读者信息
①数据流名:读者信息。
②简述:描述图书馆包含的具体读者。
③组成:读者ID+姓名+班级+入学年度+性别+联系电话+已借书数
④来源:读由Excel导入、图书馆负责人输入
⑤去向:加工3.2读者信息管理
⑥流通量:导入时数据量较大
⑦峰值:350~2000条
(6)图书查询信息
①数据流名:图书查询信息。
②简述:描述图书查询情况。
③组成:学号+图书ID+图书位置
④来源:由读者输入
⑤去向:加工1图书管理
⑥流通量:小
⑦峰值:350~2000条
(7)图书类别信息
①数据流名:图书类别信息。
②简述:描述图书分类情况。
③组成:图书类型+数目+图书ID
④来源:图书管理员输入
⑤去向:加工1.4图书类别信息
⑥流通量:小
⑦峰值:35~500条
(8)罚款信息
①数据流名:罚款信息。
②简述:描述读者罚款情况。
③组成:读者ID+罚款编号+罚款数目+罚款说明
④来源:由3.2读者信息管理输入
⑤去向:读者访问数据库
⑥流通量:小
⑦峰值:350~2000条
(9)注销信息
①数据流名:注销信息。
②简述:描述图书注销情况。
③组成:图书ID+录入时间+注销时间
④来源:由图书管理员输入
⑤去向:加工1.3图书注销
⑥流通量:小
⑦峰值:350~2000条
1.1.7加工规格说明
系统包括的最底层加工有:读者信息管理;图书信息管理、借阅信息管理、管理请求信息;
(1)读者信息管理
导入、添加、修改和删除读者信息,由学院负责人使用
(2)图书信息管理
添加、修改和删除图书信息,由图书管理员使用
(3)图书资料管理
导入、添加、修改和删除图书资料,由图书管理员使用
(4)借阅信息管理
由读者进行借阅,由系统根据算法自动分配、学院负责人负责微调,读者和图书管理员可以查询到借阅信息,在读者将逾期前对读者进行提醒,逾期后计算逾期带来的费用。
(5)管理请求信息
管理者操纵和控制图书馆数据库的行为。由终极管理员进行管理。

1.2用例模型
在图书管理系统中,参与者有读者和管理员。
读者有图书查询、借还书的功能,管理员有图书分类与注销功能,并且还可以对违规读者进行罚款。

用例图书管理规格说明

用例名称 图书管理
1执行者 图书管理员、读者
2前置条件 现有的图书、读者和管理员信息已存于数据库
3后置条件 如果查询成功,显示相关图书信息;否则,提示该图书不存在。
如果借还书成功,显示借阅记录;如果不成功,提示原因。
4主事件流 (1)查询图书信息
(2)借阅图书
(3)归还图书
(4)续借图书
(5)读者违规罚款
(6)管理员对图书进行分类
(7)管理员注销图书
5备选事件流 E-1:若查询图书为空,提示图书不存在,返回查询界面。
E-2:若借阅图书失败,提示失败原因,返回借阅界面。

1.3 对象模型
1.3.1实体类
在图书管理系统中设计下面的类对象:读者、管理员、图书查询信息、借书信息、还书信息、续借信息、罚款信息、图书信息、图书类别信息和注销信息。
这些类对象之间具有这样的关系:读者可以查询图书信息、借书、还书、续借图书,管理员为图书分类和注销图书。

实体类类图

1.3.2边界类
1.3.3控制类

1.4 交互模型
1.4.1时序图
用例图书管理系统的时序图如图所示:

1.4.2状态图
用例图书管理系统的状态图如图所示:

1.4.3活动图
用例图书管理系统的活动图如图所示:

2面向对象设计
2.1体系结构设计

2.2问题域设计
2.3人机交互设计
图4-2为系统登录后首页,用户可以在此界面进行借书、还书活动,还可查询图书情况,以及进行我的借阅查询和续借操作。

图4-2 系统首页
图4-3为借书界面,用户可以在界面上输入书名或者书的id进行借阅,输入后确认即可。

图4-3 借书界面
图4-4为还书界面,用户可以在这个界面进行还书操作,界面美观且易懂,容易操作,简单便捷。

图4-4 还书界面
图4-5是图书管理界面管理员在此界面进行图书管理,录入,删除,查询图书状态等等,方便图书管理员进行图书管理。

图4-4 图书管理界面

2.4数据设计
2.4.1数据字典
系统中包括的数据流有:借书信息、还书信息、续借信息、图书信息、读者信息、图书类别信息、图书查询信息、注销信息和罚款信息。
(1)借书信息
①数据流名:借书信息。
②简述:描述图书馆包含的图书的相关状态信息。
③组成:书籍状态+书籍数目+借阅人员+已借阅天数+书籍借阅次数
④来源:读者进行借书行为
⑤去向:加工2.1借书管理
⑥流通量:较大
⑦峰值:350~2000条
(2)还书信息
①数据流名:还书信息。
②简述:描述图书馆包含的图书的相关状态信息。
③组成:书籍状态+书籍数目+借阅人员+已借阅天数+书籍借阅次数
④来源:读者进行还书行为
⑤去向:加工,2.2还书管理
⑥流通量:较大
⑦峰值:350~2000条
(3)续借信息
⑧数据流名:续借信息
⑨简述:描述图书在临期时,读者再进行借书行为
⑩组成:借书信息+还书日期+续借时间
⑪来源:读者进行续借行为
⑫去向:加工2.3续借管理处理
⑬流通量:较小
⑭峰值:小
(4)图书信息
①数据流名:图书信息。
②简述:描述图书馆包含的具体图书相关信息。
③组成:图书ID+图书类别+书名+作者+译者+出版社+单价+出版日期+购买数量
④来源:图书购买后,由图书馆管理人员编码整理后,输入计算机
⑤去向:加工1图书管理和2借阅管理进行处理
⑥流通量:数据量较大
⑦峰值:350~2000条
(5)读者信息
①数据流名:读者信息。
②简述:描述图书馆包含的具体读者。
③组成:读者ID+姓名+班级+入学年度+性别+联系电话+已借书数
④来源:读由Excel导入、图书馆负责人输入
⑤去向:加工3.2读者信息管理
⑥流通量:导入时数据量较大
⑦峰值:350~2000条
(6)图书查询信息
①数据流名:图书查询信息。
②简述:描述图书查询情况。
③组成:学号+图书ID+图书位置
④来源:由读者输入
⑤去向:加工1图书管理
⑥流通量:小
⑦峰值:350~2000条
(7)图书类别信息
①数据流名:图书类别信息。
②简述:描述图书分类情况。
③组成:图书类型+数目+图书ID
④来源:图书管理员输入
⑤去向:加工1.4图书类别信息
⑥流通量:小
⑦峰值:35~500条
(8)罚款信息
①数据流名:罚款信息。
②简述:描述读者罚款情况。
③组成:读者ID+罚款编号+罚款数目+罚款说明
④来源:由3.2读者信息管理输入
⑤去向:读者访问数据库
⑥流通量:小
⑦峰值:350~2000条
(9)注销信息
①数据流名:注销信息。
②简述:描述图书注销情况。
③组成:图书ID+录入时间+注销时间
④来源:由图书管理员输入
⑤去向:加工1.3图书注销
⑥流通量:小
⑦峰值:350~2000条
2.4.2加工规格说明
系统包括的最底层加工有:读者信息管理;图书信息管理、借阅信息管理、管理请求信息;
(1)读者信息管理
导入、添加、修改和删除读者信息,由学院负责人使用
(2)图书信息管理
添加、修改和删除图书信息,由图书管理员使用
(3)图书资料管理
导入、添加、修改和删除图书资料,由图书管理员使用
(4)借阅信息管理
由读者进行借阅,由系统根据算法自动分配、学院负责人负责微调,读者和图书管理员可以查询到借阅信息,在读者将逾期前对读者进行提醒,逾期后计算逾期带来的费用。
(5)管理请求信息
管理者操纵和控制图书馆数据库的行为。由终极管理员进行管理。

2.4.3数据库设计

(1)实体关系图

读者信息,图书信息,借阅信息,罚款信息和注销信息

(2)数据库表设计
数据库表包括:借书信息表BorrowInfo,还书信息表ReturnInfo,续借信息表RenewInfo
,图书信息,读者信息表ReaderInfo,图书查询信息,图书类别信息,罚款信息CancelInfo,注销信息FineInfo。

表2-1图书信息表
字段名 中文名 数据类型 长度 备注
BookID 图书编号 Varchar 12 主键
BookType 图书类别 Varchar 12 外键
BookName 书名 Varchar 100
Author 作者 Varchar 100
translator 译者 Varchar 100
publisher 出版社 Varchar 100
UnitPrice 单价 Decimal 8,2
PubDate 出版日期 DateTime
quantity purchased 购买数量 Int 15

表2-2读者信息表ReaderInfo
字段名 中文名 数据类型 长度 备注
ReaderId 读者编号 Varchar 12 主键
ReaderName 读者姓名 Varchar 12
ReaderSex 读者性别 Varchar 2
ReaderPhone 读者联系电话 Varchar 11

2-3图书类别信息表
字段名 中文名 数据类型 长度 备注
BookType 图书类型 Varchar 12 主键
BookID 图书序号 Varchar 12 主键、外键
Booksum 图书数目 Int 100

2-4图书查询信息

字段名 中文名 数据类型 长度 备注
BookID 图书编号 Varchar 12 主键
BookName 图书名称 Varchar 100 外键
IsBorrow 是否可借 Boolen 2
IsOrder 是否预约 Boolen 2

表2-5借书信息表RorrowInfo
字段名 中文名 数据类型 长度 备注
BookID 图书序号 Varchar 12 主键、外键
ReaderID 读者编号 Varchar 12 主键、外键
Numbers 已借图书数量 Int 4
BorrowDate 借阅日期 DateTime

表2-6还书信息表ReturnInfo
字段名 中文名 数据类型 长度 备注
BookID 图书序号 Varchar 12 主键、外键
ReaderID 读者编号 Varchar 12 主键、外键
NumDays 已借天数 Int 4
return 是否归还 Bool

表2-7续借信息表RenewInfo
字段名 中文名 数据类型 长度 备注
BookID 图书编号 Varchar 12 主键、外键
ReaderID 读者编号 Varchar 12 主键、外键
Renew 是否续借 Bool
RenDate 续借日期 DateTime

2-8注销信息表CancelInfo
字段名 中文名 数据类型 长度 备注
BookId 图书编号 Varchar 12 主键、外键
ReaderId 读者编号 Varchar 12 主键、外键
CancelTime 注销日期 DateTime

2-9罚款信息表FineInfo
字段名 中文名 数据类型 长度 备注
FineId 罚款编号 Varchar 12 主键
ReaderId 读者编号 Varchar 12 主键、外键
FineMoney 罚款金额 Decimal 8,2
FineTime 罚款日期 DateTime
FineReason 罚款原因 Varchar 500

3心得总结
本次的课程设计,从需求分析出发,描述一个项目可行性,并从技术角度对整体的需求进行描述,并设计好每个页面所需要显示的框架内容。从需求分析中得出数据流图,明白了每个图案和符号所代表的含义,并熟悉数据流图的三大原则:父图与子图的平衡原则,数据守恒原则,守恒加工原则。据此得出我们的数据字典,进一步明确图书管理系统各部分所需要的数据信息,并给出加工规格说明。
在用例模型中,可以明确设计所需要的功能点:读者有图书查询、借还书的功能,管理员有图书分类与注销功能,并且还可以对违规读者进行罚款。并在表中得出主时间流和备选时间流。接着得出对象模型,得出本系统的实体类类图,用来描述系统中包含了哪些实体以及各实体之间如何关联的。
在交互模型中,时序图通过描述对象之间发送消息的时间顺序显示多个对象之间的动态协作。即通过确定对象与对象之间的发送消息时间顺序,进而对对象之间的动作关系进行描述。状态图显示了当前实体如何根据当前所处的状态对不同的事件做出反应,如借书时,如果书出去借出状态,则返回借阅失败信息;若该书处于闲置状态,则返回借阅成功信息。活动图则描述从一个活动到另一个活动的控制流,即活动执行顺序及限制条件。
至此,便可得出本系统的体系结构。并给出我们的图书馆系统的主要交互页面。最终,根据我们所有的分析和总结,得出我们的数据库设计。
通过图书管理系统的课程设计,我们的团队协作能力大大提高,既能分工明确,独立工作;又能团队协作,共同进步。同时,我们对软件设计的思想及流程有了大致的了解。

  • 4
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值