【工时】
3周
【目标】
●基于SSH框架
【任务内容】
开发某学校图书管理系统的项目,通过使用SSH框架完成基本业务功能的开发,保证代码整洁,框架清晰。
【项目资料】
图书管理系统需求和需求分析说明书
文件状态:
[ ] 草稿
[√] 正式发布
| [ ] 正在修改 | 文件标识 | |
| 当前版本 | 1.0.0 | |
| 作 者 | ||
| 完成日期 |
| 版本/状态 | 修订人 | 修改日期 | 备注 |
1、项目名称及背景
项目名称
图书管理系统
开发背景
图书管理员在图书馆需要查阅和管理如下信息:图书馆的书籍、读者和读者借阅信息。
2、文档说明
本文档系统的描述了图书管理系统的业务需求以及需求分析文档。可用与指导软件的系统设计和测试阶段的工作。
第二部分、任务说明
1、功能概述
图书管理员可以使用系统提供的如下功能:
浏览图书馆的所有书籍
更新图书馆的书籍信息
向图书馆添加图书
删除书籍
浏览读者相关信息
添加新读者
更新读者信息
删除读者
读者借阅图书
读者归还读书
管理员修改密码
此外,图书管理员在使用系统提供的上述功能之前需要进行登录。当职员不需要使用系统的上述功能时,也可退出系统。
2、用户环境
服务器硬件要求:
处理器:Pentium 3以上;内存>=512MB;硬盘>=40G;
服务器端软件要求:
操作系统: Windows XP;数据库服务器:MySql;
Web容器:Tomcat 6.x;
客户端软件要求:
操作系统: Windows XP;浏览器:Internet Explorer 6.0;
开发工具:MyEclipse6.5;
3、其他要求
访问容量
系统要求支持的最大并发用户数为20;
第三部分、需求分析
1、实现功能
系统用例图
图1图书管理系统的用例图
图书管理员可以使用或访问系统的全部功能,在图1中使用一个“火柴人”表示图书管理员,称为用例的参与者,系统只有图书管理员一个参与者。此外,图一中从参与者到用例的单向箭头表示二者之间的关联关系,例如图书管理员使用或访问这些功能。
功能清单
| 功能编号 | 功能名称 | 文中标 题编号 | 备注 |
| 01 | 登录 | ||
| 02 | 退出 | ||
| 04 | 浏览图书信息 | ||
| 04 | 添加图书 | ||
| 05 | 修改图书信息 | ||
| 06 | 删除图书 | ||
| 07 | 浏览读者信息 | ||
| 08 | 添加读者 | ||
| 09 | 修改读者信息 | ||
| 010 | 删除读者 | ||
| 011 | 读者借阅图书 | ||
| 012 | 读者归还图书 | ||
| 013 | 管理员口令修改 |
登录
图书管理员输入URL地址,显示登录页面,管理员输入用户名和口令,点击登录,若用户名或密码错误,则返回错误页面,确定后重新登录,登陆成功后进入系统主页面。同时会查询出所有图书信息。
退出
图书管理员点击退出按钮后,会退出回到登录页面。
浏览图书信息
点击图书档案管理后,经过后台会查询出所有图书信息
添加图书
进入图书管理页面后,点击添加图书,会跳转到添加图书页面,管理员填写相关信息后,点击确定按钮,则会经过后台添加图书返回到图书管理页面。
修改图书的信息
在图书管理页面,当点击“修改”后,会跳转到图书修改页面,管理员修改相关信息后,点击确定后,则会经过后台修改图书信息返回到图书管理页面。
删除图书
在图书管理页面,点击 “删除”后,会经过后台删除图书管理页面。
浏览读者信息
点击读者档案管理后,经过后台会查询出所有读者信息。
修改读者信息
在读者管理页面,点击“修改”后,会跳转到读者修改页面,管理员修改相关信息后,点击确定,则经过后台修改读者信息后返回读者管理页面。
添加读者
进入读者管理页面后,点击添加读者,会跳转到读者添加页面,管理员填写相关信息后,点击确定按钮,则会经过后台添加读者返回到读者管理页面。
删除读者
在读者管理页面,当点击“删除”后,会经过后台删除读者。
读者借阅图书
点击图书借阅管理后,经过后台处理会查询出所有读者信息返回要借阅图书的页面,当点击“借阅”后,会经过后台根据id和ReaderId查询出读者详细信息和已经借阅的图书。点击“借阅”按钮,经过后台会查询出未借阅的图书,当勾选要借阅的图书后,点击确定,此时借阅成功跳转到上一页面。
读者归还图书
点击图书借阅管理后,经过后台处理会查询出所有读者信息返回要借阅图书的页面,当点击“借阅”后,会经过后台根据id和ReaderId查询出读者详细信息和已经借阅的图书。当勾选要归还的图书后,点击“归还”按钮,经过后台会删除读者借阅的图书。
管理员口令管理
点击“口令管理”,经过后台会查询出所有管理员信息,当点击修改后,经过后台处理后会跳转到口令修改页面,管理员修改口令后,点击确定按钮,此时口令修改成功跳转到系统主页面。
第四部分、系统设计及实现
1、技术选择
系统设计时基于SSH框架设计模型,如图2所示。
图2图书管理系统的体系结构
2、类图模型
图3 图书管理系统类图模型
3、过程事件流的顺序图
登录
A、顺序图
图4 图书管理系统的“登录成功”的顺序图
B、描述
| 编号 | 类名或方法名 | 功能描述 |
| 1 | Login.jsp | jsp页面,显示登录界面 |
| 2 | Struts.xml | 控制管理员的登录请求 |
| 3 | ManagerAction | 执行登录方法 |
| 4 | Main.jsp | jsp页面, 返回登录成功页面 |
A、顺序图
图5 图书管理系统的“退出系统”的顺序图
B、描述
| 编号 | 类名或方法名 | 功能描述 |
| 1 | Main.jsp | 系统主页 |
| 2 | Login.jsp | 系统登录页 |
A、顺序图
图14 图书管理系统的“修改口令”的顺序图
B、描述
| 编号 | 类名或方法名 | 功能描述 |
| 1 | Main.jsp | 系统主页面 |
| 2 | Manager.jsp | Jsp页面,显示所有管理员信息 |
| 3 | Struts.xml | 控制查询所有管理员的请求 控制根据Id查询管理员的信息 控制修改管理员的口令 |
| 4 | ManagerAction.java | 执行查询所有管理员的方法 执行根据Id查询管理员的信息的方法 执行修改管理员的口令 |
| 5 | pwd_Modify.jsp | jsp页面,显示要更新的管理员的信息 |
A、 顺序图
图6图书管理系统的“浏览书籍”的顺序图
B、描述
| 编号 | 类名或方法名 | 功能描述 |
| 1 | Main.jsp | 系统主页面 |
| 2 | Struts.xml | 控制管理员查询图书请求 |
| 3 | BookAction | 执行查询全部的图书方法 |
| 4 | Book.jsp | jsp页面, 显示查询出的全部书籍 |
A、顺序图
图7 图书管理系统的 “添加图书”顺序图
B、描述
| 编号 | 类名或方法名 | 功能描述 |
| 1 | Book.jsp | jsp页面, 显示查询出的全部书籍 |
| 2 | Book_add.jsp | 添加图书页面 |
| 3 | Struts.xml | 控制添加图书请求 |
| 4 | BookAction | 执行添加图书方法 |
A、顺序图
图8 图书管理系统的“更新图书信息”的顺序图
B、描述
| 编号 | 类名或方法名 | 功能描述 |
| 1 | Book.jsp | jsp页面, 显示查询出的全部书籍 |
| 2 | Struts.xml | 控制根据图书Id查询图书信息的请求 控制修改图书信息的请求 |
| 3 | Book_Modify.jsp | jsp页面, 要跟新的图书信息页面 |
| 4 | BookAction.java | 执行根据Id查询图书信息方法 执行更新图书信息的方法 |
A、顺序图
图9 图书管理系统的“删除图书”的顺序图
B、描述
| 编号 | 类名或方法名 | 功能描述 |
| 1 | Book.jsp | jsp页面, 显示查询出的全部书籍 |
| 2 | Struts.xml | 控制删除图书的请求 |
| 3 | BookAction | 执行删除图书的方法 |
A、顺序图
图10 图书管理系统的“浏览读者信息”的顺序图
B、描述
| 编号 | 类名或方法名 | 功能描述 |
| 1 | Main.jsp | 显示系统主页 |
| 2 | Struts.jsp | 控制浏览所有读者信息的请求 |
| 3 | ReaderAction | 执行查询所有读者的方法 |
A、顺序图
图11 图书管理系统的“更新读者信息”的顺序图
B、描述
| 编号 | 类名或方法名 | 功能描述 |
| 1 | Reader.jsp | Jsp页面,显示所有读者信息 |
| 2 | Struts.xml | 控制根据读者Id查询读者信息的请求 控制更新读者信息的请求 |
| 3 | Reader_Modify.jsp | jsp页面,显示要更新的读者信息页面 |
| 4 | ReaderAction.java | 执行根据读者Id查询读者信息的方法 执行修改读者信息的方法 |
A、顺序图
图12 图书管理系统的“添加读者”的顺序图
B、描述
| 编号 | 类名或方法名 | 功能描述 |
| 1 | Reader.jsp | Jsp页面,显示所有读者信息 |
| 2 | Reader_Modify.jsp | Jsp页面,显示添加读者页面 |
| 3 | Struts.xml | 控制添加读者的方法 |
| 4 | ReaderAction | 执行添加读者的方法 |
A、顺序图
图13 图书管理系统的“删除读者”的顺序图
B、描述
| 编号 | 类名或方法名 | 功能描述 |
| 1 | Reader.jsp | Jsp页面,显示所有读者信息 |
| 2 | Struts.xml | 控制删除读者的方法 |
| 3 | ReaderAction | 执行删除读者的方法 |
A、顺序图
图13 图书管理系统的“删除读者”的顺序图
B、描述
| 编号 | 类名或方法名 | 功能描述 |
| 1 | Main.jsp | 系统主页面 |
| 2 | Struts.xml | 控制查询所有读者的请求 控制根据ReaderId查询书籍的请求 控制查询剩余没被借阅的书籍的请求 控制借阅图书的请求 |
| 3 | ReaderAction | 执行查询所有读者的方法 |
| 4 | readerPBorrow.jsp | 显示所有读者信息页面 |
| 5 | BookAction | 执行根据ReaderId查询相应图书的方法 执行查询剩余图书的方法 执行借阅图书的方法 |
| 6 | readerPBorrowInfo.jsp | 显示读者信息和已经借阅的图书页面 |
| 7 | readerBorrow.jsp | 显示还没被借阅的图书页面 |
A、顺序图
图13 图书管理系统的“删除读者”的顺序图
B、描述
| 编号 | 类名或方法名 | 功能描述 |
| 1 | Main.jsp | 系统主页面 |
| 2 | Struts.xml | 控制查询所有读者的请求 控制根据ReaderId查询书籍的请求 控制删除图书的请求 |
| 3 | ReaderAction | 执行查询所有读者的方法 |
| 4 | readerPBorrow.jsp | 显示所有读者信息页面 |
| 5 | BookAction | 控制根据ReaderId查询书籍的请求 控制删除图书的请求 |
| 6 | readerPBorrowInfo.jsp | 显示读者信息和已经借阅的图书页面 |
系统的E-R图如下:
图15 系统的E-R序图
表设计
| 表名 | 功能说明 |
| book | 存储图书馆图书信息 |
| manager | 存储图书管理员信息 |
| reader | 存储读者信息 |
| 表名 | manager | |||
| 列名 | 数据类型(精度范围) | 空/非空 | 约束条件 | 其它说明 |
| id | INT | NOT NULL | IDENTITY(1,1) PRIMARY KEY AUTO INCREATE | |
| managerName | VARCHAR(30) | |||
| managerPassword | VARCHAR(11) | |||
| 表名 | book | |||
| 列名 | 数据类型(精度范围) | 空/非空 | 约束条件 | 其它说明 |
| id | INT | NOT NULL | IDENTITY(1,1) PRIMARY KEY AUTO INCREATE | |
| bookName | VARCHAR(30) | |||
| bookAuthor | VARCHAR(20) | |||
| bookPublisher | VARCHAR(30) | |||
| bookPrice | INT | |||
| readerId | INT | foreign key REFERENCES reader(id) | ||
| 补充说明 | ||||
| 表名 | reader | |||
| 列名 | 数据类型(精度范围) | 空/非空 | 约束条件 | 其它说明 |
| id | INT | NOT NULL | IDENTITY(1,1) PRIMARY KEY AUTO INCREATE | |
| readerName | VARCHAR(30) | |||
| readerAge | INT | |||
| readerGrede | VARCHAR(30) | |||
| 补充说明 | ||||
特色一:批量借阅和批量归还图书。下载本文