




免费预览已结束,剩余12页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象程序设计课程设计说明书题 目:图书管理系统学 院:计算机与信息工程学院专 业:计算机科学与技术班 级:计算机级班姓 名:学 号:起止时间:2009.6.29-2009.7.10 成绩: 课程设计任务书一、设计题目:图书管理系统二、设计内容:设计图书管理借阅系统,将用户登陆、图书查询、图书信息、图书预借、图书借阅结合在一起。用户可以在登陆以后享受以上功能。三、设计要求:1系统登陆界面包括:用户登陆、账号、密码、注册、图书查询。2系统登录后,首页显示我的信息、我的预借、我的借阅。3使用鼠标单击系统管理,页面显示系统管理用于进行用户管理,管理员用户具有最大权限,可以全方位控制信息资源。4用户单击借阅管理,显示请输入借阅号和归还号。四、工作计划:时间完成内容提交文档备注第1天查找资料,确定题目,选择方案课程设计任务书设计准备阶段第2天需求分析建模需求分析阶段第3天设计建模设计阶段第4天第5天详细设计与实现编码测试阶段第6天第7天第8天整理材料,撰写设计说明书收尾阶段第9天第10天课程设计答辩课程设计说明书、设计源代码课程设计考核,评定成绩指导教师: 教研室主任: 2009 年 6月29 日II 摘 要随着人类社会的发展,人类对知识的需求也不断地增长。在这种形势下,书籍就渐渐地成为人们获取并增长知识的主要途径,而图书馆就自然而然地在人们的生活中占据了一定的位置,如何科学地管理图书馆不但关系到读者求知的方便程度,也关系到图书馆的发展,因此,开发一套完善的图书馆管理系统就成不可少了,本文介绍了在Myeclipse环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发本系统的详细过程,提出实现图书馆信息管理、资源共享的基本目标,从而推动迈向数字化图书馆的步伐,并阐述系统结构设计和功能设计,从图书的入库登记到查询浏览,从借书放到图书的借阅,形成了一个整体自动化管理模式,从软件工程的角度进行了科学而严谨的阐述。关键词:Java 面向对象 图书管理 借阅11目 录课程设计任务书I摘 要II目 录III一、设计内容1二、设计过程12.1需求分析12.2概要设计12.3详细设计22.4代码实现32.5程序运行与发布10三、总结10四、参考文献11一、设计内容设计图书管理借阅系统,将用户登陆、图书查询、图书信息、图书预借、图书借阅结合在一起。用户可以在登陆以后享受以上功能。二、设计过程2.1需求分析随着读书及图书数量的不断增加,其管理工作难度也愈来愈大,为了提高效率,减轻劳动强度,采用计算机管理日常借阅工作,就显得由为重要。在计算机飞速发展的今天,将计算机这一信息利器应用于日常管理,已是势必所然,他可以带来意想不到的效益,同时为企业的飞速发展提供了无限潜力。采用计算机管理信息系统极大的提高了管理人员的工作效率,大大减少了出错率。鉴于此,我选择了图书管理系统作为本次课程设计的题目。2.2概要设计根据图书管理借阅系统的需求绘制系统结构如图2-1所示: 图书管理系统用户管理图书查询用户信息用户预借用户借阅分类管理添加图书删除图书图2-1 系统结构图2.3详细设计管理员提交登录表单以后,需要调用数据库判断管理员的用户名和密码,和用户登录的检验基本相似,管理员只有登录成功后才可以对商品进行增加,删除,修改工作。数据库详细设计:book表如表2-1所示:表2-1 book表列名类型字数段BookNoINTEGER4NameVARCHAR30AuthorVARCHAR30BookManVARCHAR30BriefVARCHAR1024PublishDateDATEIsbnVARCHAR64ImageFileVARCHAR128PriceINTEGER4AmountINTEGER4RemainINTEGER4bookcategory表如表2-2所示:表2-2 bookcategory表列名类型字数段BcNoINTEGER4BookNoINTEGER4CategoryNoINTEGER4RemarkVARCHAR64borrow表如表2-3所示:表2-3 borrow表列名类型字数段BookNoINTEGER4PreBorrowNoINTEGER4BorrowTimeDATETIMERemarkVARCHAR64StatusINTEGER4category表如表2-4所示:表2-4 category表列名类型字数段CategoryNoINTEGER4NameVARCHAR30ParentNoINTEGER4RemarkVARCHAR642.4代码实现经过前面的工作,最后在集成编辑环境中,编写的程序代码如下:package c18.dao;import java.util.List;import mons.logging.Log;import mons.logging.LogFactory;import org.hibernate.HibernateException;import org.hibernate.Query;import org.hibernate.Session;import c18.entity.Book;import c18.entity.BookCategory;import c18.helper.PageBean;import c18.helper.PageResult;/* * 图书持久化接口实现类 * author yuxd */public class BookDaoImpl extends PageDao implements BookDao /* * 日志操作对象 */ private static final Log log = LogFactory.getLog(BookDaoImpl.class); /* * 以会话对象作参数的构造器 * param session */public BookDaoImpl(Session session)this.session = session; /* * 根据图书号得到图书 */public Book get(int bookNo) throws HibernateException /得到对象return (Book)session.get(Book.class, new Integer(bookNo);/* * 得到所有图书(支持分页) */public PageResult getBooks(PageBean pageBean) throws HibernateException /组成查询sqlString sql = from Book book;/输出日志信息log.debug(getBooks: + sql);PageResult pageresult = new PageResult();/生成查询对象Query query = session.createQuery(sql);/设置分页查询数query.setFirstResult(pageBean.getPage() - 1) * pageBean.getPageSize();query.setMaxResults(pageBean.getPageSize();/得到结果pageresult.setResultList(query.list();/查询总数if(pageBean.getCount() = 0)pageBean.setCount(getCount(sql, new Object);/设置分页信息pageresult.setPageBean(pageBean);/得到查询列表return pageresult;/* * 删除图书 */public void remove(Book book) throws HibernateException /删除对象session.delete(book);/* * 保存图书 */public void save(Book book) throws HibernateException /保存对象session.save(book);/* * 更新图书 */public void update(Book book) throws HibernateException /更新对象session.update(book);/* * 保存图书分类 */public void save(BookCategory bookcategory) throws HibernateException /保存对象session.save(bookcategory);/* * 根据分类号得到分类下的图书数目 */public int getBookCountByCategory(int categoryNo) throws HibernateException /组成查询sqlString sql = select count(*) from BookCategory bookcategory where bookcategory.categoryNo=?;/输出日志信息log.debug(getBookCountByCategory: + sql);log.debug(categoryNo: + categoryNo);/生成查询对象Query query = session.createQuery(sql);query.setInteger(0, new Integer(categoryNo);/得到结果return (Integer)query.list().get(0).intValue();/* * 根据分类号得到分类下图书信息(支持分页) */public PageResult getBooksByCategory(int categoryNo, PageBean pageBean) throws HibernateException /组成查询sqlString sql = from Book book where exists (select bookcategory.bookNo from BookCategory bookcategory where bookcategory.bookNo=book.bookNo and bookcategory.categoryNo=?);/输出日志信息log.debug(getBooksByCategory: + sql);log.debug(categoryNo: + categoryNo);PageResult pageresult = new PageResult();/生成查询对象Query query = session.createQuery(sql);query.setInteger(0, new Integer(categoryNo);/设置分页查询数query.setFirstResult(pageBean.getPage() - 1) * pageBean.getPageSize();query.setMaxResults(pageBean.getPageSize();/得到结果pageresult.setResultList(query.list();/查询总数if(pageBean.getCount() = 0)pageBean.setCount(getCount(sql, new Objectnew Integer(categoryNo);/设置分页信息pageresult.setPageBean(pageBean);/得到查询列表return pageresult;/* * 根据图书号删除图书分类关系 */public void delBookCategoryByBook(int bookNo) throws HibernateException /得到图书对应的图书分类关系列表List list = getBookCategoryByBook(bookNo);if(list != null)for(int i=0; ilist.size(); i+)BookCategory bookcategory = (BookCategory)list.get(i);/删除图书分类关系session.delete(bookcategory);/* * 得到图书相关的分类关系 */public List getBookCategoryByBook(int bookNo) throws HibernateException /组成查询sqlString sql = from BookCategory bookcategory where bookcategory.bookNo=?;/输出日志信息log.debug(delBookCategoryByBook: + sql);log.debug(bookNo: + bookNo);/生成查询对象Query query = session.createQuery(sql);query.setInteger(0, new Integer(bookNo);/得到结果return query.list();/* * 根据关键字查询图书 */public PageResult findBooksByProperty(String propertyName, String propertyValue, PageBean pageBean) throws HibernateException /组成查询sqlString sql = from Book book where book. + propertyName + like ?;/输出日志信息log.debug(findBooksByProperty: + sql);log.debug(propertyName: + propertyName);log.debug(propertyValue: + propertyValue);PageResult pageresult = new PageResult();/生成查询对象Query query = session.createQuery(sql);query.setString(0, % + propertyValue + %);/设置分页查询数query.setFirstResult(pageBean.getPage() - 1) * pageBean.getPageSize();query.setMaxResults(pageBean.getPageSize();/得到结果pageresult.setResultList(query.list();/查询总数if(pageBean.getCount() = 0)pageBean.setCount(getCount(sql, new Object% + propertyValue + %);/设置分页信息pageresult.setPageBean(pageBean);/得到查询列表return pageresult;2.5程序运行与发布将此程序部署到Tomcat服务器目录下,启动Tomcat服务器,在浏览器地址栏输入HTTP:/localhost:8080/c18即可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年绿色节能型保安劳务派遣服务标准合同
- 2025年天车工职业素养与职业心态考试试卷
- 2025年起重装卸机械操作工职业技能鉴定试卷(设备润滑)
- 2025年体育系统公务员录用考试申论试卷
- 2025年陕西省公务员遴选考试行政职业能力测验试题
- 2025年软件设计师考试软件质量保证与测试试题
- 六下53数学试卷
- 民办初中招收数学试卷
- 岑溪市2025-2026学年九年级上学期语文月考模拟试卷
- 博乐市2025-2026学年八年级上学期语文期中模拟试卷
- 股权转让股东会决议范本
- 合作社和公司合作协议书(2篇)
- 路试作业安全操作规程(4篇)
- keycloak中文使用文档-Keycloak使用手册(打印版)
- 医药代表大客户管理经验分享
- 教师安全教育培训内容
- 人教版八年级下册地理2024-2025学年八年级下册地理期末综合测试卷(二)(含答案)
- 密态深度学习-记录
- 医院医学院医疗机构培训《烧伤病人护理教学查房》课件
- 家政服务协议书范本
- 中小学生研学旅行投标方案(技术方案)
评论
0/150
提交评论