【图书馆管理系统】详细设计报告姓名:郭佳韩国荣班级:08软件工程(1)班指导老师:王丽娟软件一班Java小组2010-11-1521引言1.1编写目的该文档旨在推动软件工程规范化,使设计人员能够遵守统一的详细设计书写规范,降低程序设计的风险。文档对【图书馆管理系统】做了系统的描述,对任务划分时间要求做了详细安排。对其中的关键模块做了详尽的设计说明。方便小组设计人员开发本系统。1.2背景说明:a.待开发的软件系统的名称:【图书馆管理系统】b.该系统的相关人员:任务提出者:XX图书馆开发者:软件一班JAVA小组项目需求方:XX图书馆用户:XX图书馆全本用户及管理员1.3定义DB---database数据库DBConnectionPool数据库连接池Query查询UI用户界面Table表1.4参考资料a.《图书馆管理系统》需求分析说明书b.《详细设计说明书编写规范》软件一班Java小组2010-11-153c.《网站论坛详细设计说明书》d.《图书馆管理系统》可行性分析说明书1.5人员配置Java小组成员:组长:郭佳成员:韩国荣李阳阳黄治华孙亚楠苏庆男李筱任务划分参与人员项目进度日期需求分析郭佳孙亚楠完成11.10数据库设计李阳阳李筱韩国荣郭佳完成11.11界面设计苏庆男黄治华前台页面设计完成后台完成40%11.12程序设计实现郭佳韩国荣李筱孙亚楠用户登录注册,综合管理用户管理用户查询模块已完成其余部分正在进行11.12软件测试李阳阳韩国荣后期维护黄治华李筱软件一班Java小组2010-11-1542程序系统的结构2.1系统总体结构软件一班Java小组2010-11-1552.2数据库设计该系统一共用到7张表。分别是:User:用户表,存放用户基本注册信息Book:书目表,存放书目基本信息,设置rtDate(归还日期)和brDate(借出日期)实现过期查询。Manager:管理员表。放置两个密码。实现二次鉴权LendBook:用户借阅历史和借阅查询数据Message:用户留言Overdue:过期书籍信息和赔偿数额。News:新闻更新板块3程序设计说明程序按照系统规定的约束条件设计,正确把握其中的逻辑关系。整个系统总体划分为9个模块。各个模块都要按照该模块的数据流程图设计。下面列举其中关键模块的逻辑实现。图2软件一班Java小组2010-11-1563.1用户登录模块3.1.1登录模块流程图Y3.1.2登录实现1.通过JSP页面获取username和password2.User业务类通过XML获取username和password3.User业务实现类(UserServiceImpl.java)通过DBconnection连接数据库执行Query操作,如图:3.1.3注册的实现如果存在返回登录成功。如果失败,提示失败,并提醒注册。注册过程与此类似。下图是注册的业务实现:StartIfexistInUserUserregisterDBUserLoginENDN软件一班Java小组2010-11-157用户注册的业务实现该过程对时间要求较高。3.2用户赔偿模块3.2.1数据流程图3.2.2赔偿功能的实现STARTENDS=PS=0+SOutputAA=A+M+SM=a;M=0+Mi=0?i=0?LOSTA,M,S初值均为0P为丢失书的价格软件一班Java小组2010-11-158创建并获取业务实现类:通过DBConnectionPool获取流程图中的i值和损坏丢失的图书列表最后通过xml配置文件传赔偿金额和图书信息到用户页面软件一班Java小组2010-11-1593.3输入项1.login.jsp在登录页面有输入接口2.UserdetQuery.jsp管理员查询用户界面3.UserQuery.jsp用户书籍查询页面3.4算法赔偿金额返回:定义3个变量A(赔偿总价)=0,M(丢失赔偿)=0,S(损坏总价)=0。定义3个定值.书籍原价P值从BOOK表获取,i(事件次数)污损赔偿DIfi!=0i=i-1IfdirtyS=S+DElseM=M+PA=M+S+AreturnAElsereturnA=0书籍过期判断:获取BOOK表rtDate和bdDate。用selectnow()获取数据库当前时间(注意,一定要用数据库当前时间)ifrtDatenow()returnTUREelsereturnFALSE续期的实现:软件一班Java小组2010-11-1510获取rtDate.用JAVA函数,获取month在month+1后,执行SQL语句。返回到数据库。sql=selectrtDatefromBook,wherebook.id=+id;set(Calendar.month,getCalendar.month+1)//获取月份并+1sql=updateBooksetrtDate='+Calendar.get()+''';//执行插入实现续期功能3.5存储分配数据库设计3.6测试计划软件测试是软件质量保证的关键步骤,本系统采用采用软件工程的方法进行软件测试。尽量发现本系统BUG并即时改正,以避免在运行过程中造成损失。1.测试步骤测试过程应采用综合测试策略;即先作静态分析,再作动态测试。2.模块测试以设计说明书为指导,测试模块内部重要控制路径软件一班Java小组2010-11-15113.集成测试将各个模块组装,对系统进行统一测试,确保系统常见的功能没有问题。4.系统测试将该系统放在服务器上进行封闭测试。5.验收测试将系统交给图书馆,并在使用中发现并改正问题。3.7尚未解决的问题问题问题描述时间后台页面后台页面引用的js效果一直不起作用。WEB-XMLxml隐藏对象的用法还有欠缺