目录
一.图书管理系统需求描述
1. 图书管理系统的系统组成
2. 图书管理系统的系统功能
2.2 系统功能框图
二.图书管理系统用例建模
1. 图书管理系统UML用例图
2. 图书管理系统事件流
3. 图书管理系统用例规约
4. 图书管理系统UML活动图
三.图书管理系统行为交互建模
1.UML时序图
2.UML协作图
四.图书管理系统结构设计
1.确定架构风格
2.识别子系统
3.确定物理结构
一.图书管理系统需求描述
1. 图书管理系统的系统组成
本管理系统主要由以下子系统构成:
- 系统管理员管理子系统
- 数据库管理员管理子系统
- 图书借阅者子系统
2. 图书管理系统的系统功能
2.1 系统功能介绍
2.1.1系统管理员层面
(1) 处理图书信息:增加,删除,更新图书信息。
(2) 处理借阅者账户信息:增加,删除,修改借阅者账户信息。
(3) 查询系统的数据信息:查询图书信息,查询借阅者信息。
2.1.2 数据库管理层面
(1) 管理系统的数据信息:图书信息,借阅者信息等。
2.1.3 借阅者层面
(1) 查询图书信息
(2) 借阅书籍和归还书籍。
2.2 系统功能框图
3. 系统参与者
对于一个图书管理系统,我们从功能出发,图书管理系统基本的功能是完成图书的借阅和归还操作,并实现对系统中相关的信息的管理。
图书管理系统的主要服务对象可归结为一个类,即借阅者,其主要进行的活动为查询图书信息,并进行图书的借阅和归还。负责处理图书信息,处理借阅者账户信息,查询系统数据信息的角色为系统管理员。借阅者和系统管理员的主要特征类似,可抽象出“基”活动者“人”。而负责管理系统数据信息的角色是数据库管理。
因此对于一个图书管理系统主要有三类参与者,分别为“基”活动者“人”,系统管理员,数据库管理,借阅者。
综上,图书管理系统识别出的系统参与者如下:
二.图书管理系统用例建模
1. 图书管理系统UML用例图
1. 图书管理系统UML用例图
2. 图书管理系统事件流
2.1 添加图书事件流
| 添加图书事件流: 1.管理员选择进入管理界面,用例开始 2.系统提示输入管理员密码 3.管理员输入密码 4.系统验证密码 A1:密码错误 5.进入管理界面,系统显示目前全部图书信息 6.管理员选择添加图书 7.系统提示输入图书信息 8.管理员输入图书信息 9.系统验证该图书是否有冲突 A2:存在冲突 10.系统添加新图书信息,提示添加成功 11.系统重新进入管理主界面,显示所有信息 12.用例结束 异常事件流处理: A1:密码错误 1.系统提示输入错误 2.用户确认 3.进入添加图书事件流第2步 A2:存在冲突 1.系统提示修改图书信息 2.管理员修改输入图书信息 3.进入添加图书事件流第9步 |
2.2 修改图书信息事件流
| 修改图书信息事件流: 1.管理员选择进入管理界面,用例开始 2.系统提示输入管理员密码 3.管理员输入密码 4.系统验证密码 A1:密码错误 5.进入管理界面,系统显示目前全部图书信息 6.管理员选择要修改的图书 7.系统显示原有信息 8.管理员修改信息 9.系统验证信息 A2:信息错误 10.系统更新图书信息,提示修改成功 11.系统重新进入管理主界面,显示所有信息 12.用例结束 异常事件流处理: A1:密码错误 1.系统提示输入错误 2.用户确认 3.进入修改图书信息事件流第2步 A2:信息错误 1.系统提示修改错误信息 2.管理员修改输入信息 3.进入修改图书信息事件流第9步 |
2.3 删除图书事件流
| 删除图书事件流: 1.管理员选择进入管理界面,用例开始 2.系统提示输入管理员密码 3.管理员输入密码 4.系统验证密码 A1:密码错误 5.进入管理界面,系统显示目前全部图书信息 6.管理员选择要删除的图书 7.系统显示是否确认删除 8.管理员选择确认 A2:管理员选择取消 9.系统删除图书信息,提示删除成功 11.系统重新进入管理主界面,显示所有信息 12.用例结束 异常事件流处理: A1:密码错误 1.系统提示输入错误 2.用户确认 3.进入修改图书信息事件流第2步 A2:管理员选择取消 1.进入修改图书信息事件流第11步 |
2.4 添加借阅者账户事件流
| 添加借阅者账户事件流: 1.管理员选择进入管理界面,用例开始 2.系统提示输入管理员密码 3.管理员输入密码 4.系统验证密码 A1:密码错误 5.进入管理界面,系统显示目前全部借阅者账户信息 6.管理员选择添加借阅者账户 7.系统提示输入借阅者账户信息 8.管理员输入借阅者账户信息 9.系统验证该借阅者账户是否有冲突 A2:存在冲突 10.系统添加新借阅者账户信息,提示添加成功 11.系统重新进入管理主界面,显示所有信息 12.用例结束 异常事件流处理: A1:密码错误 1.系统提示输入错误 2.用户确认 3.进入添加借阅者账户信息流第2步 A2:存在冲突 1.系统提示修改借阅者账户信息 2.管理员修改输入借阅者账户信息 3.进入添加借阅者账户事件流第9步 |
2.5 修改借阅者信息事件流
| 修改借阅者信息事件流: 1.管理员选择进入管理界面,用例开始 2.系统提示输入管理员密码 3.管理员输入密码 4.系统验证密码 A1:密码错误 5.进入管理界面,系统显示目前全部借阅者信息 6.管理员选择要修改的借阅者 7.系统显示原有借阅者信息 8.管理员修改借阅者信息 9.系统验证借阅者信息 A2:信息错误 10.系统更新借阅者信息,提示修改成功 11.系统重新进入管理主界面,显示所有信息 12.用例结束 异常事件流处理: A1:密码错误 1.系统提示输入错误 2.用户确认 3.进入修改借阅者信息事件流第2步 A2:信息错误 1.系统提示修改错误信息 2.管理员修改输入信息 3.进入修改借阅者信息事件流第9步 |
2.6 删除借阅者账户事件流
| 删除借阅者账户事件流: 1.管理员选择进入管理界面,用例开始 2.系统提示输入管理员密码 3.管理员输入密码 4.系统验证密码 A1:密码错误 5.进入管理界面,系统显示目前全部借阅者账户信息 6.管理员选择要删除的借阅者账户 7.系统显示是否确认删除 8.管理员选择确认 A2:管理员选择取消 9.系统删除借阅者账户信息,提示删除成功 11.系统重新进入管理主界面,显示所有信息 12.用例结束 异常事件流处理: A1:密码错误 1.系统提示输入错误 2.用户确认 3.进入修改借阅者账户信息事件流第2步 A2:管理员选择取消 1.进入修改借阅者账户信息事件流第11步 |
2.7 借阅书籍事件流
| 借阅书籍事件流: 1.进入读者主界面,用例开始 2.读者输入借书证号、书号,选择借书 3.系统验证借书证号、书号 A1:借书证号不存在 A2:已达到借书数量上限 A3:书号不存在 A4:图书流通状态冲突 4.借书成功 5.系统显示读者借书信息 6.读者确认 7.系统重新进入读者主界面 8.用例结束 异常事件流处理: A1:借书证号不存在 1.系统提示再次输入 2.读者确认 3.进入借书事件流第2步 A2:已达到借书数量上限 1.系统提示已达到借书数量上限 2.读者确认 3.进入借书事件流第5步 A3:书号不存在 1.系统提示再次输入 2.读者确认 3.进入借书事件流第2步 A4:图书流通状态冲突 1.系统提示图书流通状态冲突 2.读者确认 3.进入借书事件流第2步 |
2.8 归还书籍事件流
| 归还书籍事件流: 1.进入读者主界面,用例开始 2.读者输入书号,选择还书 3.系统验证书号 A1:书号不存在 A2:图书流通状态冲突 A3:借阅过期 4.还书成功 5.系统重新进入读者主界面 6.用例结束 异常事件流处理: A1:书号不存在 1.系统提示再次输入 2.读者确认 3.进入借书事件流第2步 A2:图书流通状态冲突 1.系统提示图书流通状态冲突 2.读者确认 3.进入借书事件流第2步 A3:借阅过期 1.系统提示借阅过期,提示缴纳超期费用 2.读者确认并缴纳超期费用 3.进入还书事件流第4步 |
3. 图书管理系统用例规约
3.1 添加图书用例规约
| 用例编号 | UC0001 | 用例名称 | 添加图书 |
| 描述 | 管理员通过系统管理界面进入,添加新的图书,将图书信息保存在数据库中。 | ||
| 执行者 | 系统管理员 | ||
| 前置条件 | 系统管理员需拥有更改权限 | ||
| 后置条件 | 系统管理员的操作被系统记录 | ||
| 基本流 | 1.管理员选择进入管理界面,用例开始 2.系统提示输入管理员密码 3.管理员输入密码 4.系统验证密码 A1:密码错误 5.进入管理界面,系统显示目前全部图书信息 6.管理员选择添加图书 7.系统提示输入图书信息 8.管理员输入图书信息 9.系统验证该图书是否有冲突 A2:存在冲突 10.系统添加新图书信息,提示添加成功 11.系统重新进入管理主界面,显示所有信息 12.用例结束 异常事件流处理: A1:密码错误 1.系统提示输入错误 2.用户确认 3.进入添加图书事件流第2步 A2:存在冲突 1.系统提示修改图书信息 2.管理员修改输入图书信息 3.进入添加图书事件流第9步 | ||
| 备选流 | 3a.管理员密码错误 系统提示再次输入密码,管理员重新输入密码,三次错误,拒绝再次访问。输入正确,进入第5步。 7a.管理员选择取消 用例结束 | ||
| 扩展点 | 「待定」 | ||
| 非功能需求 | 系统相应客户时间不超过3秒 | ||
| 业务规则 | 6a.已经离职的管理员不得参与图书添加 | ||
3.2 修改图书信息用例规约
| 用例编号 | UC0002 | 用例名称 | 修改图书信息 |
| 描述 | 管理员通过系统管理界面进入,修改图书信息,将修改后的图书信息保存在数据库中。 | ||
| 执行者 | 系统管理员 | ||
| 前置条件 | 系统管理员需拥有更改权限 | ||
| 后置条件 | 系统管理员的操作被系统记录 | ||
| 基本流 | 1.管理员选择进入管理界面,用例开始 2.系统提示输入管理员密码 3.管理员输入密码 4.系统验证密码 A1:密码错误 5.进入管理界面,系统显示目前全部图书信息 6.管理员选择要修改的图书 7.系统显示原有信息 8.管理员修改信息 9.系统验证信息 A2:信息错误 10.系统更新图书信息,提示修改成功 11.系统重新进入管理主界面,显示所有信息 12.用例结束 异常事件流处理: A1:密码错误 1.系统提示输入错误 2.用户确认 3.进入修改图书信息事件流第2步 A2:信息错误 1.系统提示修改错误信息 2.管理员修改输入信息 3.进入修改图书信息事件流第9步 | ||
| 备选流 | 3a.管理员密码错误 系统提示再次输入密码,管理员重新输入密码,三次错误,拒绝再次访问。输入正确,进入第5步。 7a.管理员选择取消 用例结束 | ||
| 扩展点 | 「待定」 | ||
| 非功能需求 | 系统相应客户时间不超过3秒 | ||
| 业务规则 | 6a.已经离职的管理员不得参与图书修改 | ||
3.3 删除图书信息用例规约
| 用例编号 | UC0003 | 用例名称 | 删除图书信息 |
| 描述 | 管理员通过系统管理界面进入,删除图书信息,在数据库中更改相应的信息。 | ||
| 执行者 | 系统管理员 | ||
| 前置条件 | 系统管理员需拥有更改权限 | ||
| 后置条件 | 系统管理员的操作被系统记录 | ||
| 基本流 | 1.管理员选择进入管理界面,用例开始 2.系统提示输入管理员密码 3.管理员输入密码 4.系统验证密码 A1:密码错误 5.进入管理界面,系统显示目前全部图书信息 6.管理员选择要删除的图书 7.系统显示是否确认删除 8.管理员选择确认 A2:管理员选择取消 9.系统删除图书信息,提示删除成功 11.系统重新进入管理主界面,显示所有信息 12.用例结束 异常事件流处理: A1:密码错误 1.系统提示输入错误 2.用户确认 3.进入修改图书信息事件流第2步 A2:管理员选择取消 1.进入修改图书信息事件流第11步 | ||
| 备选流 | 3a.管理员密码错误 系统提示再次输入密码,管理员重新输入密码,三次错误,拒绝再次访问。输入正确,进入第5步。 7a.管理员选择取消 用例结束 | ||
| 扩展点 | 「待定」 | ||
| 非功能需求 | 系统相应客户时间不超过3秒 | ||
| 业务规则 | 6a.已经离职的管理员不得参与图书删除 | ||
3.4 添加借阅者账户用例规约
| 用例编号 | UC0004 | 用例名称 | 添加借阅者账户 |
| 描述 | 管理员通过系统管理界面进入,添加新的借阅者账户,将借阅者账户信息保存在数据库中。 | ||
| 执行者 | 系统管理员 | ||
| 前置条件 | 系统管理员需拥有更改权限 | ||
| 后置条件 | 系统管理员的操作被系统记录 | ||
| 基本流 | 1.管理员选择进入管理界面,用例开始 2.系统提示输入管理员密码 3.管理员输入密码 4.系统验证密码 A1:密码错误 5.进入管理界面,系统显示目前全部借阅者账户信息 6.管理员选择添加借阅者账户 7.系统提示输入借阅者账户信息 8.管理员输入借阅者账户信息 9.系统验证该借阅者账户是否有冲突 A2:存在冲突 10.系统添加新借阅者账户信息,提示添加成功 11.系统重新进入管理主界面,显示所有信息 12.用例结束 异常事件流处理: A1:密码错误 1.系统提示输入错误 2.用户确认 3.进入添加借阅者账户信息流第2步 A2:存在冲突 1.系统提示修改借阅者账户信息 2.管理员修改输入借阅者账户信息 3.进入添加借阅者账户事件流第9步 | ||
| 备选流 | 3a.管理员密码错误 系统提示再次输入密码,管理员重新输入密码,三次错误,拒绝再次访问。输入正确,进入第5步。 7a.管理员选择取消 用例结束 | ||
| 扩展点 | 「待定」 | ||
| 非功能需求 | 系统相应客户时间不超过3秒 | ||
| 业务规则 | 6a.已经离职的管理员不得参与借阅者账户添加 | ||
3.5 修改借阅者账户信息用例规约
| 用例编号 | UC0005 | 用例名称 | 修改借阅者账户信息 |
| 描述 | 管理员通过系统管理界面进入,修改借阅者账户信息,将修改后的借阅者账户信息保存在数据库中。 | ||
| 执行者 | 系统管理员 | ||
| 前置条件 | 系统管理员需拥有更改权限 | ||
| 后置条件 | 系统管理员的操作被系统记录 | ||
| 基本流 | 1.管理员选择进入管理界面,用例开始 2.系统提示输入管理员密码 3.管理员输入密码 4.系统验证密码 A1:密码错误 5.进入管理界面,系统显示目前全部借阅者信息 6.管理员选择要修改的借阅者 7.系统显示原有借阅者信息 8.管理员修改借阅者信息 9.系统验证借阅者信息 A2:信息错误 10.系统更新借阅者信息,提示修改成功 11.系统重新进入管理主界面,显示所有信息 12.用例结束 异常事件流处理: A1:密码错误 1.系统提示输入错误 2.用户确认 3.进入修改借阅者信息事件流第2步 A2:信息错误 1.系统提示修改错误信息 2.管理员修改输入信息 3.进入修改借阅者账户信息事件流第9步 | ||
| 备选流 | 3a.管理员密码错误 系统提示再次输入密码,管理员重新输入密码,三次错误,拒绝再次访问。输入正确,进入第5步。 7a.管理员选择取消 用例结束 | ||
| 扩展点 | 「待定」 | ||
| 非功能需求 | 系统相应客户时间不超过3秒 | ||
| 业务规则 | 6a.已经离职的管理员不得参与借阅者账户修改 | ||
3.6 删除借阅者账户用例规约
| 用例编号 | UC0006 | 用例名称 | 删除借阅者账户 |
| 描述 | 管理员通过系统管理界面进入,删除借阅者账户信息,在数据库中更改相应的信息。 | ||
| 执行者 | 系统管理员 | ||
| 前置条件 | 系统管理员需拥有更改权限 | ||
| 后置条件 | 系统管理员的操作被系统记录 | ||
| 基本流 | 1.管理员选择进入管理界面,用例开始 2.系统提示输入管理员密码 3.管理员输入密码 4.系统验证密码 A1:密码错误 5.进入管理界面,系统显示目前全部借阅者账户信息 6.管理员选择要删除的借阅者账户 7.系统显示是否确认删除 8.管理员选择确认 A2:管理员选择取消 9.系统删除借阅者账户信息,提示删除成功 11.系统重新进入管理主界面,显示所有信息 12.用例结束 异常事件流处理: A1:密码错误 1.系统提示输入错误 2.用户确认 3.进入修改借阅者账户信息事件流第2步 A2:管理员选择取消 1.进入修改借阅者账户信息事件流第11步 | ||
| 备选流 | 3a.管理员密码错误 系统提示再次输入密码,管理员重新输入密码,三次错误,拒绝再次访问。输入正确,进入第5步。 7a.管理员选择取消 用例结束 | ||
| 扩展点 | 「待定」 | ||
| 非功能需求 | 系统相应客户时间不超过3秒 | ||
| 业务规则 | 6a.已经离职的管理员不得参与借阅者账户删除 | ||
3.7 借阅书籍用例规约
| 用例编号 | UC0007 | 用例名称 | 借阅书籍 |
| 描述 | 借阅者通过读者界面进入,选择要借阅的书籍,在数据库中更改相应的信息。 | ||
| 执行者 | 借阅者 | ||
| 前置条件 | 借阅者需拥有借书证 | ||
| 后置条件 | 借阅者的操作被系统记录 | ||
| 基本流 | 1.进入读者主界面,用例开始 2.读者输入借书证号、书号,选择借书 3.系统验证借书证号、书号 A1:借书证号不存在 A2:已达到借书数量上限 A3:书号不存在 A4:图书流通状态冲突 4.借书成功 5.系统显示读者借书信息 6.读者确认 7.系统重新进入读者主界面 8.用例结束 异常事件流处理: A1:借书证号不存在 1.系统提示再次输入 2.读者确认 3.进入借书事件流第2步 A2:已达到借书数量上限 1.系统提示已达到借书数量上限 2.读者确认 3.进入借书事件流第5步 A3:书号不存在 1.系统提示再次输入 2.读者确认 3.进入借书事件流第2步 A4:图书流通状态冲突 1.系统提示图书流通状态冲突 2.读者确认 3.进入借书事件流第2步 | ||
| 备选流 | 无 | ||
| 扩展点 | 「待定」 | ||
| 非功能需求 | 系统相应客户时间不超过3秒 | ||
| 业务规则 | 「待定」 | ||
3.8 归还书籍用例规约
| 用例编号 | UC0008 | 用例名称 | 归还书籍 |
| 描述 | 借阅者通过读者界面进入,选择要归还的书籍,在数据库中更改相应的信息。 | ||
| 执行者 | 借阅者 | ||
| 前置条件 | 借阅者需已经借过书籍 | ||
| 后置条件 | 借阅者的操作被系统记录 | ||
| 基本流 | 1.进入读者主界面,用例开始 2.读者输入书号,选择还书 3.系统验证书号 A1:书号不存在 A2:图书流通状态冲突 A3:借阅过期 4.还书成功 5.系统重新进入读者主界面 6.用例结束 异常事件流处理: A1:书号不存在 1.系统提示再次输入 2.读者确认 3.进入借书事件流第2步 A2:图书流通状态冲突 1.系统提示图书流通状态冲突 2.读者确认 3.进入借书事件流第2步 A3:借阅过期 1.系统提示借阅过期,提示缴纳超期费用 2.读者确认并缴纳超期费用 3.进入还书事件流第4步 | ||
| 备选流 | 无 | ||
| 扩展点 | 「待定」 | ||
| 非功能需求 | 系统相应客户时间不超过3秒 | ||
| 业务规则 | 「待定」 | ||
4. 图书管理系统UML活动图
4.1 添加图书活动图
4.2 修改图书信息活动图
4.3 删除图书信息活动图
4.4 添加借阅者账号活动图
4.5 修改借阅者账号活动图
4.6 删除借阅者账号活动图
4.7 借阅书籍活动图
4.8 归还书籍活动图
三.图书管理系统行为交互建模
根据图书管理系统事件流对系统的行为进行了交互建模,包括时序图和协作图
1.UML时序图
- 添加图书
- 修改图书
- 删除图书
- 添加借阅者
- 修改借阅者
- 删除借阅者
- 借阅者借阅书籍
- 借阅者归还书
2.UML协作图
- 添加图书
- 修改图书
- 删除图书
- 添加借阅者
- 修改借阅者
- 删除借阅者
- 借阅者借阅书籍
- 借阅者归还书籍
四.图书管理系统结构设计
1.确定架构风格
我们将本图书管理系统分为三层架构:数据存储层、控制层和用户界面层。整体架构设计如下:
2.识别子系统
分析整体系统,我们发现系统主要功能主要包含图书的借阅管理、图书信息管理、借阅者信息管理三个部分。同时在最小化耦合度的前提下,我们识别得到以下三个子系统:图书借阅系统、图书信息管理系统和借阅者信息管理系统。
于是绘制包图如下:
3.确定物理结构
本系统的物理结构为一个多层Web应用结构,并将web层和应用层部署在X相同的物理节点上,使其使用本地接口进行通讯,而其他的相邻两层则采用远程方法调用的方式进行通讯。
绘制系统部署图如下:



