第一范文网 - 专业文章范例文档资料分享平台

《软件设计案例分析》

来源:用户分享 时间:2026/8/15 11:52:22 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

《软件设计案例分析》大作业2011-2012(1)

public void update(Object obj) { entityManager.merge(obj); } //根据where语句查找多个对象 @Transactional(propagation=Propagation.NOT_SUPPORTED,readOnly=true) public List getAll(Class clazz,String whereSql, Object[] params){ Query query=entityManager.createQuery(\\+getBeanName(clazz)+\+whereSql); setWhereParam(whereSql, query, params); return query.getResultList(); } ) //根据clazz返回不含包的实体名 @Transactional(propagation=Propagation.NOT_SUPPORTED,readOnly=trueprotected String getBeanName(Class clazz){ String entityName=\; Entity entity=clazz.getAnnotation(Entity.class); if(entity!=null){ entityName=clazz.getSimpleName(); } return entityName; } //设置传入where条件名的参数 @Transactional(propagation=Propagation.NOT_SUPPORTED,readOnly=true) protected void setWhereParam(String whereSql, Query query, Object[] params){ if(whereSql!=\&¶ms!=null){ for (int i = 0; i < params.length; i++) { query.setParameter(i+1, params[i]); } } } //获得当前时间 public String getCurrentTime() { SimpleDateFormat sdf = new SimpleDateFormat(\); return sdf.format(new Date()); } 5 / 16

《软件设计案例分析》大作业2011-2012(1)

………… } 2.2 service层 @Service(\) @Scope(\public class UserServiceImpl extends CommonDAOImpl implements UserService{ public void returnBook(int userID, int bookID) { User user=this.find(User.class, userID); Book book=this.find(Book.class, bookID); //根据借阅者和图书来查找借书信息(由借阅者和图书只对应一个借书信息) String whereSql=\; Object[] params=new Object[]{userID,bookID}; List borrowInfs=this.getAll(BorrowInf.class, whereSql, params); BorrowInf borrowInf=borrowInfs.get(0); //获得借书时间 Date borrowTime=borrowInf.getBorrowTime(); Date returnTime=this.getCurrentDate(); //还书时间和借书时间大于60则需处罚,多一天0.1元的罚款,则要增加罚款数据 long betweenDays=(returnTime.getTime()-borrowTime.getTime())/24*60*60*1000; double money=0; PunishInf punishInf=new PunishInf(); 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); 6 / 16

《软件设计案例分析》大作业2011-2012(1)

book.getUsers().remove(user); this.update(user); } …………… } 3、控制层 @Controller(\) @Scope(\public class UserAction extends DispatchAction{ private UserService userService; @Resource(name=\) public void setUserService(UserService userService) { this.userService = userService; } public ActionForward returnBook(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { int userID=Integer.parseInt(request.getParameter(\)); int bookID=Integer.parseInt(request.getParameter(\)); userService.returnBook(userID,bookID); ActionForward actionForward=new ActionForward(); actionForward.setPath(\); return actionForward; } ………… } 四、 系统测试及部署 说明 测试用例20111206-001 软件版本:V0.1 子系统:注册字符 操作系统:Windows XP 测试人员姓名:曾立欢 测试日期:2011-12-06 初始设置 1、点击图书管理系统图标,进入登录界面,点击界面上的注册 输入 1、用户名zenglihuan, 密码:fendou,注册 7 / 16

《软件设计案例分析》大作业2011-2012(1)

2、用户名zenglihuan, 密码:空格 ,注册 3、用户名cj , 密码:fendou,注册 4、用户名 cengjingFD, 密码:fendou,注册 5、用户名cengjingFD, 密码:@#&$,注册 6、用户名zenglihuan2, 密码:fendou,注册 预期结果 1、 注册成功 2、 提示密码不能为空 3、 提示用户名过短 4、 注册成功 5、 提示密码不能全为字符 6、 注册成功 实际结果 通过() 失败() 说明 测试用例20111206-003 软件版本:V0.1 子系统:登录字符 操作系统:Windows XP 测试人员姓名:曾立欢 测试日期:2011-12-06 初始设置 1、打开图书管理系统,进入登录界面 8 / 16

搜索更多关于: 《软件设计案例分析》 的文档
《软件设计案例分析》.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8xjcy1zq7a17c193745l_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top