1 引言
1.1 目的
1.2 范围
1.3 定义
1.4 参考文献
2 建立分析的对象模型
建立分析的对象模型如表4.1所示
表4.1 建立分析的对象模型
| 候选类 | 描 述 | 类 名 | 注 释 |
| 图书 | 在系统中,需要保存图书的的基本信息,它应该是系统的对象 | Book | 持久 |
| 读者 | 在系统中,需要保存图书的的基本信息,它应该是系统的对象 | Reader | 持久 |
| 借阅记录 | 在系统中,需要保存借书的记录,它应该是系统的对象 | Record | 持久 |
| 账号 | 在系统中,账号是用来保存用户名和密码的,用于权限判定,他应该是系统的对象 | Account | 持久 |
类名:Book。
图书类属性如表4.2所示。
表4.2 图书类属性
| 属性名 | 属性解释 | 数据类型 |
| bookId | 图书编号 | String |
| bookName | 图书书名 | String |
| author | 图书作者 | String |
| publisher | 图书出版社 | String |
| price | 图书单价 | Double |
| abstracts | 图书摘要 | String |
| catelog | 图书分类 | String |
| status | 图书状态 | String |
表4.3 图书类方法
| 方法名 | 方法功能 | 返回值类型 |
| saveBook | 添加图书信息 | void |
| deleteBook | 删除图书信息 | void |
| updateBook | 修改图书信息 | void |
| getBook | 根据id查找某本图书的详细信息 | |
| getBooks | 查询图书信息 | List |
类名:Reader。
读者类属性如表4.4所示。
表4.4 读者类属性
| 属性名 | 属性解释 | 数据类型 |
| readerId | 读者证号 | String |
| readerName | 读者姓名 | String |
| address | 读者联系地址 | String |
| phone | 读者电话号码 | String |
| 读者电子邮件 | String |
表4.5 读者类方法
| 方法名 | 方法功能 | 返回值类型 |
| saveReader | 添加图书信息 | void |
| deleteReader | 删除图书信息 | void |
| updateReader | 修改图书信息 | void |
| getReader | 根据id查找某本图书的详细信息 | |
| getReaders | 查询图书信息 | List |
类名:Record。
借阅记录类属性如表4.6所示。
表4.6 借阅记录类属性
| 属性名 | 属性解释 | 数据类型 |
| bookId | 图书编号 | String |
| readerId | 读者证号 | String |
| borrowDate | 借阅日期 | Date |
表4.7 借阅记录类方法
| 方法名 | 方法功能 | 返回值类型 |
| saveReade | 添加借书信息 | void |
| deleteReader | 删除借书信息 | void |
| getReader | 查询借书信息 | List |
| isExpired | 是否过期 | boolean |
| borrowBook | 借书 | void |
| returnBook | 还书 | void |
类名:Account。
账号类属性如表4.8所示。
表4.8 账号类属性
| 属性名 | 属性解释 | 数据类型 |
| username | 用户名 | String |
| password | 密码 | String |
| type | 用户类型 | String |
表4.9 账号类方法
| 方法名 | 方法功能 | 返回值类型 |
| saveAccount | 添加账号 | void |
| deleteAccount | 删除账号 | void |
| updateAccount | 修改账号 | void |
| isAccountr | 判断是否是合法用户 | boolean |
| getAccounts | 查询账号信息 | List |
3.1对图书信息操作的界面类
book_save.jsp: 添加图书页面
book_list.jsp: 查询图录的列表显示
book_detail.jsp: 显示图书详细信息
book_update.jsp: 图书信息更新页面
book_query.jsp: 图示信息查询页面
3.2对读者信息操作的界面类
reader_save.jsp:添加读者页面
reader_list.jsp: 多条读者记录的列表显示
reader_detail.jsp: 显示读者详细信息
reader_update.jsp: 读者信息更新页面
reader_query.jsp: 读者信息查询页面
3.3对借阅记录信息操作的界面类
record_save.jsp:添加借阅记录页面
record _list.jsp: 查询借阅记录结果的列表显示
record r_query.jsp: 借阅记录信息查询页面
record _delete.jsp: 还书页面
3.4对账号信息操作的界面类
account_save.jsp:添加账号页面
account _list.jsp: 查询账号记录结果的列表显示
account _update.jsp: 账号信息更新页面
account _query.jsp: 账号信息查询页面
4.建立动态模型
由于借书和还书的过程是本系统中较重要而且较复杂的流程,因此在这里列出他们的时序图。
4.1 借书
借书时序描述如下。
(1)读者将借阅证和图书交给图书管理员。
(2)图书管理员在record_save.jsp页面中输入读者证号和图书编号,单击“保存”按钮。
(3)系统调用Record中的borrowBook()方法来进行借书处理。
(4)saveRecord()方法调用Book中的方法getBook(),来查询该图书是否入库。
(5)同时saveRecord()方法调用Reader中的getReader()方法,来查询是否存在该读者。
(6)如果图书已入库且读者是合法的读者,则调用saveRecord()方法。
(7)返回到record_save.jsp;如果需要可以继续借书。
(8)图书管理员将图书和借阅证返还给读者。
4.2 还书
还书时序描述如下。
(1)读者将待还的图书交给图书管理员。
(2)图书管理员在record_delete.jsp页面中输入图书编号,单击“还书”按钮。
(3)系统调用Record中的returnBook()方法来进行还书处理。
(4)returnBook()方法调用Record中的方法getBook(),来查询该图书是否是本馆出借的图书。
(5)同时returnBook()方法调用Record中的isExpired()方法,来查询节约是否超期。
(6)如果没有超期,returnBook()方法调用Record中的deleteReader()方法,来删除该条借阅记录。
(7)跳转到record_delete.jsp;如果需要,可以继续进行还书。
(8)图书管理员将图书和借阅证返还给读者
5 数据库设计
5.1 图书表
表名:book。图书表如表4.10所示
表4.10 图书表
| 字段名 | 字段含义 | 数据类型 | 是否允许空 | 是否主键 |
| id | 图书的自然主键 | int | 是 | |
| bookId | 图书编号 | varchar(20) | ||
| bookName | 图书书名 | varchar(20) | ||
| author | 图书作者 | varchar(20) | ||
| publisher | 图书出版社 | varchar(50) | ||
| price | 图书单价 | double | ||
| abstracts | 图书摘要 | varchar(20) | 是 | |
| catelog | 图书分类 | varchar(20) | ||
| status | 图书状态 | char(1) |
表名:reader。读者表如表4.11所示
表4.11 读者表
| 属性名 | 属性解释 | 数据类型 | 是否允许空 | 是否主键 |
| id | 读者的自然主键 | int | 是 | |
| readerId | 读者证号 | varchar(20) | ||
| readerName | 读者姓名 | varchar(20) | ||
| address | 读者联系地址 | varchar(100) | 是 | |
| phone | 读者电话号码 | varchar(20) | 是 | |
| 读者电子邮件 | varchar(40) | 是 |
表名:record。借阅记录表如表4.12所示
表4.12 借阅记录表
| 属性名 | 属性解释 | 数据类型 | 是否允许空 | 是否主键 |
| id | 借阅记录的自然主键 | int | 是 | |
| bookId | 图书编号 | varchar(20) | ||
| readerId | 读者证号 | varchar(20) | ||
| borrowDate | 借阅日期 | Date |
表名:account。账号表如表4.13所示
表4.13 账号表
| 属性名 | 属性解释 | 数据类型 | 是否允许空 | 是否主键 |
| id | 账号的自然主键 | int | 是 | |
| username | 用户名 | varchar(20) | ||
| password | 密码 | varchar(20) | ||
| type | 用户类型 | 1har(1) |
用户界面设计采用图形用户界面。
6.1 系统登录界面
打开浏览器并输入http://localhost:8080/lms/logon.jsp.出现如图4.4所示的登录界面。
输入正确的用户名和密码,选择“管理员”,跳转到操作主界面,如图4.5所示
6.2 图书信息界面
1.添加图书
选择“图书维护”菜单中的“添加图书”菜单,出现如图4.6所示的输入图书信息界面。
输入信息后,单击“添加”按钮。
2.查询图书
选择“图书维护”菜单中的“查询图书”菜单,出现如图4.7所示的输入图书信息查询条件界面。
输入查询条件后,单击“查询”按钮,出现查询结果,如图4.8所示。
3.删除图书
在图4.8中选择要删除的记录,单击“删除”按钮,进行删除。
4.修改图书
在图4.8中选择要修改的图录,单击“更新”按钮,出现图书更新界面,如图4.9所示。
在图书更新界面中,编辑要修改的信息,单击“保存”按钮。
6.3 读者信息界面
(大致与图书信息的操作类似,故省略)
6.4 图书流通操作
1.借书
选择“图书流通”菜单中的“借书”菜单,出现如图4,10所示的添加页面。
输入借阅信息后,单击“添加”按钮。
2. 还书
选择“图书流通”菜单中的“还书”菜单,出现如图4.11所示的还书界面。
输入借阅信息后,单击“还书”按钮。下载本文