query.setParameter(i+1,params[i]);
}
}
}
//获得当前时间
publicStringgetCurrentTime()
{
SimpleDateFormatsdf=newSimpleDateFormat("yyyyMMddHHmmss");
returnsdf.format(newDate());
}
…………
}
2.2service层
@Service("userService")
@Scope("prototype")
publicclassUserServiceImplextendsCommonDAOImplimplementsUserService{
publicvoidreturnBook(intuserID,intbookID){
Useruser=this.find(User.class,userID);
Bookbook=this.find(Book.class,bookID);
//根据借阅者和图书来查找借书信息(由借阅者和图书只对应一个借书信息)
StringwhereSql="whereuserID=?
andbookID=?
";
Object[]params=newObject[]{userID,bookID};
ListborrowInfs=this.getAll(BorrowInf.class,whereSql,params);
BorrowInfborrowInf=borrowInfs.get(0);
//获得借书时间
DateborrowTime=borrowInf.getBorrowTime();
DatereturnTime=this.getCurrentDate();
//还书时间和借书时间大于60则需处罚,多一天0.1元的罚款,则要增加罚款数据
longbetweenDays=(returnTime.getTime()-borrowTime.getTime())/24*60*60*1000;
doublemoney=0;
PunishInfpunishInf=newPunishInf();
if(betweenDays>60){
money=(betweenDays-60)*0.1;
//添加罚款信息
punishInf.setReturnTime(returnTime);
punishInf.setBook(book);
punishInf.setBorrowTime(borrowTime);
punishInf.setUser(user);punishInf.setPunishMoney(money);
this.add(punishInf);
}else{
//按时还书
}
user.getBooks().remove(book);
user.setCount(user.getCount()+1);
book.getUsers().remove(user);
this.update(user);
}
……………
}
3、控制层
@Controller("/user")
@Scope("prototype")
publicclassUserActionextendsDispatchAction{
privateUserServiceuserService;
@Resource(name="userService")
publicvoidsetUserService(UserServiceuserService){
this.userService=userService;
}
publicActionForwardreturnBook(ActionMappingmapping,ActionFormform,
HttpServletRequestrequest,HttpServletResponseresponse)
throwsException{
intuserID=Integer.parseInt(request.getParameter("userID"));
intbookID=Integer.parseInt(request.getParameter("bookID"));
userService.returnBook(userID,bookID);
ActionForwardactionForward=newActionForward();
actionForward.setPath("/getAllBook.jsp");
returnactionForward;
}
…………
}
四、系统测试及部署
说明
测试用例20111206-001软件版本:
V0.1
子系统:
注册字符操作系统:
WindowsXP
测试人员姓名:
曾立欢测试日期:
2011-12-06
初始设置
1、点击图书管理系统图标,进入登录界面,点击界面上的注册
输入
1、用户名zenglihuan,密码:
fendou,注册
2、用户名zenglihuan,密码:
空格,注册
3、用户名cj,密码:
fendou,注册
4、用户名cengjingFD,密码:
fendou,注册
5、用户名cengjingFD,密码:
@#&$,注册
6、用户名zenglihuan2,密码:
fendou,注册
预期结果
1、注册成功
2、提示密码不能为空
3、提示用户名过短
4、注册成功
5、提示密码不能全为字符
6、注册成功
实际结果通过()失败()
说明
测试用例20111206-003软件版本:
V0.1
子系统:
登录字符操作系统:
WindowsXP
测试人员姓名:
曾立欢测试日期:
2011-12-06
初始设置
1、打开图书管理系统,进入登录界面
输入
1、用户名zenglihuan,密码:
fendou,登录
2、用户名zenglihuan,密码:
空格,登录
3、用户名cj,密码:
fendou,登录
4、用户名cengjingFD,密码:
fendou,登录
5、用户名cengjingFD,密码:
@#&$,登录
6、用户名zenglihuan2,密码:
fendou,登录
预期结果
1、登录成功,进入系统主界面
2、提示密码不能为空,请重新登录
3、提示用户名过短
4、登录成功,进入系统主界面
5、提示密码不能全为字符,请重新登录
6、登录成功,进入系统主界面
实际结果通过()失败()
说明
测试用例20111206-003软件版本:
V0.1
子系统:
右击一本书籍的信息查看操作系统:
WindowsXP
测试人员姓名:
曾立欢测试日期:
2011-12-06
初始设置
1、登录界面后,点击借阅按钮,进入借阅界面
输入
1、在借阅界面中,右击一本书籍
预期结果
1、出现这本书的相关信息,如作者,出版社
实际结果通过()失败()
说明
测试用例20111206-004软件版本:
V0.1
子系统:
借阅书籍操作系统:
WindowsXP
测试人员姓名:
曾立欢测试日期:
2011-12-06
初始设置
1、登录界面后,点击借阅按钮,进入借阅界面
输入
1、读者借阅卡经过扫描仪
2、在借阅界面中,随便点击一本书籍
3、在界面下方点击借阅
预期结果
1、在借阅界面中,点击刚刚借出的书籍,可看到书籍库存减1
2、读者借阅书籍信息栏中显示出这本书的借出时间和应归还时间
实际结果通过()失败()
说明
测试用例20111206-005软件版本:
V0.1
子系统:
借阅书籍数量操作系统:
WindowsXP
测试人员姓名:
曾立欢测试日期:
2011-12-06
初始设置
1、登录界面后,点击借阅按钮,进入借阅界面
2、对读者借书卡进行扫描
输入
1、随便拖曳5本书籍
2、对选中的5本书籍进行借阅
预期结果
1、提示最多可借书籍数量为4本
实际结果通过()失败()
说明
测试用例20111206-006软件版本:
V0.1
子系统:
归还书籍操作系统:
WindowsXP
测试人员姓名:
曾立欢测试日期:
2011-12-06
初始设置
1、保证扫描仪正常运作
2、对读者借书卡进行扫描
3、对一读者借书卡进行2本书的借阅
输入
1、对读者借书卡再次进行扫描
2、进入借阅主界面,点击归还书籍按钮
3、把刚刚借出的其中一本经过扫描仪扫描
4、把不是用户所借出的其中一本经过扫描扫描
预期结果
1、归还成功,同生读者借阅信息中少了该本借阅书籍
2、提示归还书籍与用户所借阅的书籍信息不吻合
实际结果通过()失败()
说明
测试用例20111206-007软件版本:
V0.1
子系统:
新书入库操作系统:
WindowsXP
测试人员姓名:
曾立欢测试日期:
2011-12-06
初始设置
1、保证扫描仪正常运作
2、登录系统主界面
输入
1、点击书信息管理按钮,进入此界面
2、点击界面下方的新书入库按钮
3、把新书的条形码经过扫描仪扫描
预期结果
1、在书籍信息管理中增加了一个书籍,并可对其进行编辑,归类
实际结果通过()失败()
说明
测试用例20111206-008软件版本:
V0.1
子系统:
书籍下架操作系统:
WindowsXP
测试人员姓名:
曾立欢测试日期:
2011-12-06
初始设置
1、保证扫描仪正常运作
2、登录系统主界面
输入
1、点击书信息管理按钮,进入此界面
2、点击界面下方的书籍下架按钮
3、把要下架书籍的条形码经过扫描仪扫描
预期结果
1、在书籍信息管理中查询不到书籍和相关信息
实际结果通过()失败()
说明
测试用例20111206-009软件版本:
V0.1
子系统:
书籍查询搜索操作系统:
WindowsXP
测试人员姓名:
曾立欢测试日期:
2011-12-06
初始设置
1、登录系统主界面
2、书籍库中有《软件设计案例分析》和《软件设计模式》这2本书和相关信息
3、有马士兵写的2本相关书籍
4、有清华大学出版社的一本书籍
输入
1、点击书籍信息管理按钮,进入此界面
2、在界面下方的书籍搜索对话框中输入《软件设计案例分析》,选中按书名查询
3、再在对话框中输入“马士兵”,按作者查询
4、再在对话框中输入“清华大学出版社”,按出版社查询
5、再在对话框中输入“软件设计”选择高级查询,选中按关键字查询
预期结果
1、出现《软件设计案例分析》和这本书相关信息
2、出现“马士兵”所写的相关2本书籍
3、出现清华大学出版社的一本书籍
4、出现《软件设计案例分析》和《软件设计模式》2本书籍和相关信息
实际结果通过()失败()
测试结果
测试用例20111206-001
实际结果
1注册成功
2提示密码不能为空
3提示用户名过短
4注册成功
5提示密码不能全为字符
6注册成功
测试用例20111206-002
实际结果
1、登录成功,进入系统主界面
2、提示密码不能为空,请重新登录
3、提示用户名过短
4、登录成功,进入系统主界面
5、提示密码不能全为字符,请重新登录
6、登录成功,进入系统主界面
测试用例20111206-003
实际结果
1、出现这本书的相关信息,如作者,出版社
测试用例20111206-004
实际结果
1、在借阅界面中,点击刚刚借出的书籍,可看到书籍库存减1
2、读者借阅书籍信息栏中显示出这本书的借出时间和应归还时间
测试用例20111206-005
实际结果
1、提示最多可借书籍数量为4本
测试用例20111206-006
实际结果
1、归还成功,同生读者借阅信息中少了该本借阅书籍
2、提示归还书籍与用户所借阅的书籍信息不吻合
测试用例20111206-007
实际结果
1、在书籍信息管理中增加了一个书籍,并可对其进行编辑,归类
测试用例20111206-008
实际结果
1、在书籍信息管理中查询不到书籍和相关信息
测试用例20111206-009
实际结果
1出现《软件设计案例分析》和这本书相关信息