JSP課程設(shè)計《圖書館管理系統(tǒng)》
《JSP課程設(shè)計《圖書館管理系統(tǒng)》》由會員分享,可在線閱讀,更多相關(guān)《JSP課程設(shè)計《圖書館管理系統(tǒng)》(17頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 《面向?qū)ο蟪绦蛟O(shè)計Ⅱ》 課程設(shè)計說明書 題 學(xué) 專 班 姓 學(xué) 目: 圖書管理系統(tǒng) 院: 計算機與信息工程學(xué)院 業(yè): 級: 名: 號: 計算機科學(xué)與技術(shù) 計算機級班 起止時間: 2009.6.29--2009.7.10 成績: 課程設(shè)計任務(wù)書 一、設(shè)計題目:《圖書管理系統(tǒng)》 二、設(shè)計內(nèi)容:設(shè)計圖書管理借閱系統(tǒng),將用戶登陸、圖書查詢、圖 書信息、圖書預(yù)借、圖書借閱結(jié)合在一起。用戶可以在登陸以后享受 以上功能。 三、設(shè)計要求: 1.系統(tǒng)登陸界面包括 :用戶登陸、賬號、密碼、注冊、圖書查詢。 2.系統(tǒng)登錄后,首頁顯示我的信息、我
2、的預(yù)借、我的借閱。 3.使用鼠標(biāo)單擊系統(tǒng)管理,頁面顯示系統(tǒng)管理用于進行用戶管理, 管理員用戶具有最大權(quán)限,可以全方位控制信息資源。 4.用戶單擊借閱管理,顯示請輸入借閱號和歸還號。 四、工作計劃: 時間 完成內(nèi)容 查找資料,確定題目,選擇方案 需求分析建模 提交文檔 備注 第 1天 第 2天 課程設(shè)計任務(wù)書 設(shè)計準(zhǔn)備階段 需求分析階段 第 3天 第 4天 第 5天 第 6天 第 7天 第 8天 第 9天 設(shè)計建模 設(shè)計階段 編碼測試階段 收尾階段 詳細設(shè)計與實現(xiàn) 整理材料,撰寫設(shè)計說明書 課程設(shè)計考核,評定 成績 課程設(shè)計說明書、設(shè)
3、 計源代碼 第 10 天課程設(shè)計答辯 指導(dǎo)教師: 教研室主任: 2009年 6月 29日 摘要 隨著人類社會的發(fā)展,人類對知識的需求也不斷地增長。在這種形勢下,書 籍就漸漸地成為人們獲取并增長知識的主要途徑,而圖書館就自然而然地在人們 的生活中占據(jù)了一定的位置,如何科學(xué)地管理圖書館不但關(guān)系到讀者求知的方便 程度,也關(guān)系到圖書館的發(fā)展,因此,開發(fā)一套完善的圖書館管理系統(tǒng)就成不可 少了,本文介紹了在 Myeclipse環(huán)境下采用“自上而下地總體規(guī)劃,自下而上地應(yīng) 用開發(fā)”的策略開發(fā)本系統(tǒng)的詳細過程,提出實現(xiàn)圖書館信息管理、資源共享的 基本目標(biāo),從而推
4、動邁向數(shù)字化圖書館的步伐,并闡述系統(tǒng)結(jié)構(gòu)設(shè)計和功能設(shè)計, 從圖書的入庫登記到查詢?yōu)g覽,從借書放到圖書的借閱,形成了一個整體自動化 管理模式,從軟件工程的角度進行了科學(xué)而嚴(yán)謹?shù)年U述。 關(guān)鍵詞: Java面向?qū)ο髨D書管理借閱 目錄 課程設(shè)計任務(wù)書 ........................................................................................................................ I 摘要.....................................
5、.................................................................................................. II 目錄...................................................................................................................................... III 一、設(shè)計內(nèi)容 ................................
6、........................................................................................... 1 二、設(shè)計過程 ........................................................................................................................... 1 2.1需求分析 .........................................................
7、............................................................ 1 2.2概要設(shè)計 ..................................................................................................................... 1 2.3詳細設(shè)計 ...........................................................................................
8、.......................... 2 2.4代碼實現(xiàn) ..................................................................................................................... 3 2.5程序運行與發(fā)布 ....................................................................................................... 10 三、總結(jié) .....
9、............................................................................................................................ 11 四、參考文獻 ......................................................................................................................... 11 一、設(shè)計內(nèi)容 設(shè)計圖書管理借閱系統(tǒng),將用戶登陸、圖書查
10、詢、圖書信息、圖書預(yù)借、圖 書借閱結(jié)合在一起。用戶可以在登陸以后享受以上功能。 二、設(shè)計過程 2.1需求分析 隨著讀書及圖書數(shù)量的不斷增加,其管理工作難度也愈來愈大,為了提高效 率,減輕勞動強度,采用計算機管理日常借閱工作,就顯得由為重要。在計算機 飛速發(fā)展的今天,將計算機這一信息利器應(yīng)用于日常管理,已是勢必所然, 他可 以帶來意想不到的效益,同時為企業(yè)的飛速發(fā)展提供了無限潛力。采用計算機管 理信息系統(tǒng)極大的提高了管理人員的工作效率,大大減少了出錯率。鑒于此, 選擇了圖書管理系統(tǒng)作為本次課程設(shè)計的題目。 我 2.2概要設(shè)計 根據(jù)圖書管理借閱系統(tǒng)的需求繪制系統(tǒng)結(jié)構(gòu)如圖
11、 圖書管理系統(tǒng) 2-1所示: 用戶管理 圖書查詢 分 類 管 理 添 加 圖 書 刪 除 圖 書 用 戶 信 息 用 戶 預(yù) 借 用 戶 借 閱 圖 2-1系統(tǒng)結(jié)構(gòu)圖 2.3詳細設(shè)計 管理員提交登錄表單以后,需要調(diào)用數(shù)據(jù)庫判斷管理員的用戶名和密碼,和 用戶登錄的檢驗基本相似,管理員只有登錄成功后才可以對商品進行增加,刪除, 修改工作。 數(shù)據(jù)庫詳細設(shè)計: book表如表 2-1所示: 表 2-1 book表 列名 類型 字數(shù)段 4 BookNo Name INTEGER VARCHAR V
12、ARCHAR VARCHAR VARCHAR DATE 30 Author BookMan Brief 30 30 1024 PublishDate Isbn VARCHAR VARCHAR INTEGER INTEGER INTEGER 64 128 4 ImageFile Price Amount Remain 4 4 bookcategory表如表 2-2所示: 表 2-2 bookcategory表 列名 類型 字數(shù)段 BcNo INTEGER INTEGER INTEGER VARCHAR 4 Book
13、No CategoryNo Remark 4 4 64 borrow表如表 2-3所示: 表 2-3 borrow表 列名 類型 字數(shù)段 BookNo PreBorrowNo BorrowTime Remark INTEGER INTEGER DATETIME VARCHAR INTEGER 4 4 64 4 Status category表如表 2-4所示: 表 2-4 category表 列名 類型 字數(shù)段 CategoryNo Name INTEGER VARCHAR INTEGER VARCH
14、AR 4 30 4 ParentNo Remark 64 2.4代碼實現(xiàn) 經(jīng)過前面的工作,最后在集成編輯環(huán)境中,編寫的程序代碼如下: 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.Boo
15、k; import c18.entity.BookCategory; import c18.helper.PageBean; import c18.helper.PageResult; /** *圖書持久化接口實現(xiàn)類 * @author yuxd */ public class BookDaoImpl extends PageDao implements BookDao { /** *日志操作對象 */ private static final Log log = LogFactory.getLog(BookDaoImpl.class); /** *以會
16、話對象作參數(shù)的構(gòu)造器 * @param session */ public BookDaoImpl(Session session){ this.session = session; } /** *根據(jù)圖書號得到圖書 */ public Book get(int bookNo) throws HibernateException { //得到對象 return (Book)session.get(Book.class, new Integer(bookNo)); } /** *得到所有圖書(支持分頁) */ public PageResult getBooks(
17、PageBean pageBean) throws HibernateException { //組成查詢 sql String sql = "from Book book"; //輸出日志信息 log.debug("getBooks:" + sql); PageResult pageresult = new PageResult(); //生成查詢對象 Query query = session.createQuery(sql); //設(shè)置分頁查詢數(shù) query.setFirstResult((pageBean.getPage() - 1) * pageBean.get
18、PageSize()); query.setMaxResults(pageBean.getPageSize()); //得到結(jié)果 pageresult.setResultList(query.list()); //查詢總數(shù) if(pageBean.getCount() <= 0){ pageBean.setCount(getCount(sql, new Object[]{})); } //設(shè)置分頁信息 pageresult.setPageBean(pageBean); //得到查詢列表 return pageresult; } /** *刪除圖書 */
19、 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(bo
20、ok); } /** *保存圖書分類 */ public void save(BookCategory bookcategory) throws HibernateException { //保存對象 session.save(bookcategory); } /** *根據(jù)分類號得到分類下的圖書數(shù)目 */ public int getBookCountByCategory(int categoryNo) throws HibernateException { //組成查詢 sql String sql = "select count(*)
21、 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)); //得到結(jié)果 return ((Integer)query.list(
22、).get(0)).intValue(); } /** *根據(jù)分類號得到分類下圖書信息(支持分頁) */ public PageResult getBooksByCategory(int categoryNo, PageBean pageBean) throws HibernateException { //組成查詢 sql String sql = "from Book book where exists (select bookcategory.bookNo from BookCategory bookcategory where bo
23、okcategory.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));
24、 //設(shè)置分頁查詢數(shù) query.setFirstResult((pageBean.getPage() - 1) * pageBean.getPageSize()); query.setMaxResults(pageBean.getPageSize()); //得到結(jié)果 pageresult.setResultList(query.list()); //查詢總數(shù) if(pageBean.getCount() <= 0){ pageBean.setCount(getCount(sql, new Object[]{new Integer(categoryNo)})); } //
25、設(shè)置分頁信息
pageresult.setPageBean(pageBean);
//得到查詢列表
return pageresult;
}
/**
*根據(jù)圖書號刪除圖書分類關(guān)系
*/
public void delBookCategoryByBook(int bookNo) throws HibernateException {
//得到圖書對應(yīng)的圖書分類關(guān)系列表
List list = getBookCategoryByBook(bookNo);
if(list != null){
for(int i=0; i 26、ookCategory bookcategory = (BookCategory)list.get(i);
//刪除圖書分類關(guān)系
session.delete(bookcategory);
}
}
}
/**
*得到圖書相關(guān)的分類關(guān)系
*/
public List getBookCategoryByBook(int bookNo) throws HibernateException {
//組成查詢 sql
String sql = "from BookCategory bookcategory where bookcategory.bookNo=?";
//輸出日 27、志信息
log.debug("delBookCategoryByBook:" + sql);
log.debug("bookNo:" + bookNo);
//生成查詢對象
Query query = session.createQuery(sql);
query.setInteger(0, new Integer(bookNo));
//得到結(jié)果
return query.list();
}
/**
*根據(jù)關(guān)鍵字查詢圖書
*/
public PageResult findBooksByProperty(String propertyName, S 28、tring propertyValue, PageBean
pageBean) throws HibernateException {
//組成查詢 sql
String sql = "from Book book where book." + propertyName + " like ?";
//輸出日志信息
log.debug("findBooksByProperty:" + sql);
log.debug("propertyName:" + propertyName);
log.debug("propertyValue:" + propertyVa 29、lue);
PageResult pageresult = new PageResult();
//生成查詢對象
Query query = session.createQuery(sql);
query.setString(0, "%" + propertyValue + "%");
//設(shè)置分頁查詢數(shù)
query.setFirstResult((pageBean.getPage() - 1) * pageBean.getPageSize());
query.setMaxResults(pageBean.getPageSize());
//得到結(jié)果
pageresult.s 30、etResultList(query.list());
//查詢總數(shù)
if(pageBean.getCount() <= 0){
pageBean.setCount(getCount(sql, new Object[]{"%" + propertyValue + "%"}));
}
//設(shè)置分頁信息
pageresult.setPageBean(pageBean);
//得到查詢列表
return pageresult;
}
}
2.5程序運行與發(fā)布
將此程序部署到 Tomcat服務(wù)器目錄下,啟動 Tomcat服務(wù)器,在瀏覽器地址
欄輸入 HTT 31、P://localhost:8080/c18即可執(zhí)行留言板程序。
程序運行結(jié)果如圖 2-2所示:
圖 2-2圖書管理系統(tǒng)程序界面
三、總結(jié)
本文提出并設(shè)計了一個基于 J2EE的完整的圖書管理系統(tǒng),該系統(tǒng)整合了數(shù)據(jù)
庫技術(shù)、 JSP技術(shù)、網(wǎng)站開發(fā)技術(shù)等。主要實現(xiàn)了當(dāng)前的圖書管理的基本功能,
由于本人的實力還沒有達到完全自己開發(fā)的能力,于是就采用了“拿來主義”
。
雖然本系內(nèi)容很簡單不夠完善,而且存在一些不足,不過通過對這個系統(tǒng)的學(xué)習(xí)
與開發(fā),讓我更好地掌握了基于 J2EE的 Web開發(fā)技術(shù),更深刻地理解了網(wǎng)站的
開發(fā)流程。
在兩周的開發(fā)中,讓 32、我明白一點,就是測試的重要性。所謂建系統(tǒng),測試先
行,軟件工程的知識告訴我們一個系統(tǒng)的開發(fā)從立項到投入運行,
是在測試上的,這次的實際的系統(tǒng)開發(fā)讓我增長了測試的經(jīng)驗。
很長的周期都
四、參考文獻
[1]申吉紅、廖學(xué)峰、余建編著 JSP動態(tài)網(wǎng)頁設(shè)計教程 [M]北京:電子工
業(yè), 2005 105-267
[2]張海藩編著軟件工程導(dǎo)論 [M]北京 :人民郵電 2002.3 ISBN
7-115-09378-4
[3]張白一,崔尚森。面向?qū)ο蟪绦蛟O(shè)計 -J2EE.西安,西安電子科技大學(xué)出版
社 2003.1 33、
課程設(shè)計成績評定表
質(zhì)量評價指標(biāo)
評價項目
學(xué)習(xí)態(tài)度
具體要求
滿分得分
學(xué)習(xí)認真,態(tài)度端正,遵守紀(jì)律,
出勤情況良好,能夠獨立完成設(shè)計
工作。
20
20
按期圓滿完成規(guī)定的設(shè)計任務(wù),工
作量飽滿,難度適宜。
工作量
設(shè)計方案正確、表達清楚;設(shè)計思
路、方法科學(xué)合理;達到課程設(shè)計
任務(wù)書規(guī)定的要求;圖、表、文字
表達準(zhǔn)確規(guī)范,上交及時。
設(shè)計說明書質(zhì)量
30
30
陳述簡明扼要,思路清晰,清楚流
答辯陳述和回答問題
利,回答問題準(zhǔn)確,基本概念清楚,
有理有據(jù),有一定深度。
評定成績
評定人員簽名
年月日
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案