




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、安安 徽徽 農(nóng)農(nóng) 業(yè)業(yè) 大大 學(xué)學(xué) 課程實(shí)踐(設(shè)計(jì))報(bào)課程實(shí)踐(設(shè)計(jì))報(bào) 告告 實(shí)踐項(xiàng)目名稱 圖書管理系統(tǒng)的設(shè)計(jì) 項(xiàng)目組成人員 院 系 信 年級(jí)專業(yè) 0 指 導(dǎo) 教 師 傅 目錄 1 1 課程設(shè)計(jì)背景(課程設(shè)計(jì)背景(包包括:現(xiàn)狀、括:現(xiàn)狀、研研究目的等)究目的等) .3 3 2 2 需求分析需求分析(包括:功包括:功能能分析、操作流程分析分析、操作流程分析等等) .3 3 2.12.1 需求分析.3 3 3 設(shè)計(jì)與實(shí)設(shè)計(jì)與實(shí)現(xiàn)現(xiàn)(包括:前臺(tái)頁(包括:前臺(tái)頁面面、數(shù)據(jù)庫、業(yè)務(wù)邏輯等設(shè)計(jì))、數(shù)據(jù)庫、業(yè)務(wù)邏輯等設(shè)計(jì)) .4 4 3.13.1 數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì).4 3.1.1 概念結(jié)構(gòu)設(shè)計(jì).4 3.1.
2、2 邏輯結(jié)構(gòu)設(shè)計(jì) . 7 3.2.1 物理結(jié)構(gòu)設(shè)計(jì). 8 3.3.1 系統(tǒng)功能設(shè)計(jì)圖書管理模塊功11 34 系統(tǒng)界面設(shè)計(jì)與實(shí)現(xiàn).11 3.4.1 系統(tǒng)登錄界面11 1 課程設(shè)計(jì)背景課程設(shè)計(jì)背景 圖書館信息化管理從最初的對圖書館業(yè)務(wù)管理實(shí)行信息化管 理發(fā)展到對圖書館各個(gè)業(yè)務(wù)流程和網(wǎng)絡(luò)化管理,并建立大規(guī)模 的以個(gè)體文獻(xiàn)目錄聯(lián)機(jī)查詢?yōu)橹鞯馁Y源共享系統(tǒng);而圖書館的 正常運(yùn)營中總是面對大量的讀者信息,圖書信息及兩者相互作 用產(chǎn)生的借書信息,所以要對讀者資源,讀者資源,借書信息 進(jìn)行管理,本系統(tǒng)的開發(fā)就是在于提高圖書管理的工作效率! 2 需求分析(包括:功能分析、操作流程分析等)需求分析(包括:功能分析、
3、操作流程分析等) 2.1需求分析 一般通用的圖書館借閱管理系統(tǒng)包括系統(tǒng)管理、讀者管理、編 目、圖書流通、統(tǒng)計(jì)、查詢等功能。比較先進(jìn)的能夠在一個(gè)界 面下實(shí)現(xiàn)圖書、音像、期刊的管理,設(shè)置假期、設(shè)置暫離鎖 (提高安全性)、暫停某些讀者的借閱權(quán)、導(dǎo)入導(dǎo)出讀者、交 換MARC數(shù)據(jù)、升級(jí)輔助編碼庫等。此外隨著Internet應(yīng)用的 發(fā)展,一個(gè)完善的系統(tǒng)還應(yīng)該提供無縫接入Internet的功能, 通過IE瀏覽器讓讀者使用借閱資料查詢、更換密碼、預(yù)約、資 料檢索等功能。有些系統(tǒng)還能提供讀者自助服務(wù),可以開放一 些客戶機(jī)讓讀者自行管理密碼、查詢自己的借閱史、預(yù)約資料、 檢索資料等。 在構(gòu)造系統(tǒng)時(shí),首先從需求出發(fā)
4、構(gòu)造數(shù)據(jù)庫表,然后再由數(shù)據(jù) 庫結(jié)合需求劃分系統(tǒng)功能模塊。這樣,就把一個(gè)大的系統(tǒng)分解 成了幾個(gè)小系統(tǒng)。這里把系統(tǒng)的層次劃分為了兩個(gè)部分:一個(gè) 是一般用戶態(tài):即圖書有服務(wù)子系統(tǒng);另一個(gè)是管理員界面: 提供圖書的管理和維護(hù)功能。對于不同子系統(tǒng)之間的功換,采 用了登錄功能和用戶注銷功能。 系統(tǒng)劃分了子系統(tǒng)后,下一步的工作是繼續(xù)劃分子系統(tǒng)的小 模塊。先考慮在進(jìn)入子系統(tǒng)時(shí)應(yīng)該做什么,進(jìn)入系統(tǒng)之后又應(yīng) 該做什么,提供那些服務(wù)等。例如,對于圖書信息服務(wù)子系統(tǒng), 在用戶進(jìn)入時(shí)首先得調(diào)用相關(guān)數(shù)據(jù)庫表,找出用戶的圖書借閱 情況;進(jìn)入系統(tǒng)后,子系統(tǒng)得提供圖書查詢、圖書借閱和還書 功能。另外,針對本系統(tǒng)的特殊情況,同時(shí)
5、也考慮系統(tǒng)的可移 植性,在系統(tǒng)中增加了數(shù)據(jù)庫路徑的維護(hù)部分。 但由于本人技術(shù)有限,下面只做了部分設(shè)計(jì)但由于本人技術(shù)有限,下面只做了部分設(shè)計(jì) 3 設(shè)計(jì)與實(shí)現(xiàn)(包括:前臺(tái)頁面、數(shù)據(jù)庫、業(yè)務(wù)邏輯等設(shè)計(jì))設(shè)計(jì)與實(shí)現(xiàn)(包括:前臺(tái)頁面、數(shù)據(jù)庫、業(yè)務(wù)邏輯等設(shè)計(jì)) 3.1數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì) 3.1.1 概念結(jié)構(gòu)設(shè)計(jì)(E-R圖) 概念結(jié)構(gòu)設(shè)計(jì)是將分析得到的用戶需求抽象為概念模型的 過程,即在需求分析的基礎(chǔ)上,設(shè)計(jì)出能夠滿足用戶需求的各 種實(shí)體以及它們之間的相互關(guān)系的模型。這樣才能更好地、更 準(zhǔn)確地用某一DBMS實(shí)現(xiàn)這些需求,它是整個(gè)數(shù)據(jù)庫設(shè)計(jì)的關(guān) 鍵。概念結(jié)構(gòu)的主要特點(diǎn)是能真實(shí)、充分地反映現(xiàn)實(shí)世界,易 于理解,易于
6、更改,易于向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)模型 轉(zhuǎn)換。描述概念模型的有力工具是E-R模型。 Er 圖:圖: 管理 管理 管理 管理 管理 管理員 圖書類型 書架 圖書 圖書館信 息 借閱信息 屬于 屬于 部分實(shí)體部分實(shí)體 ER 圖:圖: 圖書 書名 作者 書類 書架號(hào) 價(jià)格 管理員 管理員號(hào) 管理員名 密碼 圖書編 號(hào) 借閱次數(shù) 3.1.2 邏輯結(jié)構(gòu)設(shè)計(jì) 邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)就是把概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)好的基本E- R圖轉(zhuǎn)換為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯 結(jié)構(gòu)。設(shè)計(jì)邏輯結(jié)構(gòu)時(shí)一般要分三步進(jìn)行,首先是將概念結(jié)構(gòu) 轉(zhuǎn)換為一般的關(guān)系、網(wǎng)狀、層次模型,其次是將轉(zhuǎn)換來的關(guān)系、 網(wǎng)狀、層次模型向
7、特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換,最后是 對數(shù)據(jù)模型進(jìn)行優(yōu)化。 基于B/S的簡易圖書借閱管理系統(tǒng)采用的是將E-R圖向關(guān)系數(shù) 據(jù)模型轉(zhuǎn)換。以下是由概念模型向邏輯模型轉(zhuǎn)化的關(guān)系模式: 管理員(管理員編號(hào),管理員名稱,管理員密碼) 圖書(圖書編碼,圖書名稱,圖書類別,書架,作者,價(jià)格, 借閱次數(shù)) 3.2.1物理結(jié)構(gòu)設(shè)計(jì) 數(shù)據(jù)庫的物理結(jié)構(gòu)設(shè)計(jì)是對于給定的邏輯數(shù)據(jù)模型,選取一個(gè) 最合適應(yīng)用環(huán)境的物理結(jié)構(gòu)。數(shù)據(jù)庫的物理結(jié)構(gòu)指的是數(shù)據(jù)庫 在物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)與存取方法,它依賴于給定的計(jì)算機(jī) 系統(tǒng) 表2.2管理員信息表(new_userlist) 字段名注釋類型長度允許空默認(rèn)值 userId 管理員 編號(hào)
8、 int4 自動(dòng)增長 (1,1) userName 管理員 名稱 varch ar 50Null userPwd 管理員 密碼 varch ar 50Null 表2.3圖書信息表(new_booklist) 字段名 注釋 類 型 長度 允 許空 默認(rèn)值 bookid圖書編 碼 varc har 50 bookNa me 圖書名 稱 varc har 50 null bookTyp e 圖書類 別 int 4 null bookcase書架int 100 null auother作者varc har 80 null price價(jià)格mon ey 8null borrowS um 借閱次 數(shù) int
9、 4 null 數(shù)據(jù)庫表: 3.3.1系統(tǒng)功能設(shè)計(jì)圖書管理模塊功能(時(shí)間技術(shù)有限目前只有 此功能) 圖書類型管理:是對圖書進(jìn)行分類管理,對圖書類型的添 加、刪除、修改等功能。 圖書信息管理:管理員對圖書信息的詳細(xì)錄入,修改圖書 信息和刪除圖書信息等功能。 34系統(tǒng)界面設(shè)計(jì)與實(shí)現(xiàn) 3.4.1系統(tǒng)登錄界面 系統(tǒng)首頁,同時(shí)也是登錄界面,在此界面中,管理可以根 據(jù)自身情況登錄到系統(tǒng)中 ,管理員登錄界面如下圖所示: 相關(guān)代碼: 用戶登陸界面 管理員登陸: 管理員姓名 管理員密碼 用戶身份驗(yàn)證 !- -JSPdl-0 顯示圖書列表 圖書列表 圖書編號(hào) 書名 作者 書類 書架號(hào) 價(jià)格 借閱次數(shù) % new_
10、booklistBean records=conn.getAllRecords(); if(records!=null) for(int i=0;irecords.length;i+) out.println(); out.println(+recordsi.getbookID()+); out.println(+recordsi.getbookName()+); out.println(+recordsi.getauother()+); out.println(+recordsi.getbookType()+); out.println(+recordsi.getbookCase()+);
11、out.println(+recordsi.getprice()+); out.println(+recordsi.getborrowSum()+); out.println(); % 更多操作: 添加圖書 返回 刪除圖書 管理員添加圖書記錄: 相關(guān)代碼: JSPdl-3 添加圖書記錄 添加新記錄 圖書編號(hào) * 書名 * 作者 書類 書架號(hào) * 價(jià)格 * 借閱次數(shù) * % if(book.getbookID()!=0 % JSPdl-4 刪除圖書記錄 圖書列表 圖書編號(hào) 書名 作者 書類 書架號(hào) 價(jià)格 借閱次數(shù) 選擇 % new_booklistBean records=conn.getAll
12、Records(); if(records!=null) for(int i=0;irecords.length;i+) out.println(); out.println(+recordsi.getbookID()+); out.println(+recordsi.getbookName()+); out.println(+recordsi.getauother()+); out.println(+recordsi.getbookType()+); out.println(+recordsi.getbookCase()+); out.println(+recordsi.getprice()
13、+); out.println(+recordsi.getborrowSum()+); % input type=checkbox name= value= / % out.println(); % % String check=new Stringrecords.length; for(int i=0;icheck.length;i+) checki=request.getParameter(check+i); if(checki=null) checki=; if(checki.equals(+i) if(conn.deleteRecord(recordsi) out.println(刪除
14、成功); response.setHeader(refresh,1); % 與系統(tǒng)相關(guān)的bean代碼: New_booklistBean package beans; public class new_booklistBean private String bookID;/表示書編號(hào); private String bookName;/書名; private String auother;/作者名; private int bookType;/書類; private int bookCase;/書架號(hào); private int price;/書價(jià); private int borrowSum;
15、/書被借的次數(shù); public String getbookID() return bookID; public void setbookID(String bookID) this.bookID = bookID; public String getbookName() return bookName; public void setbookName(String bookName) this.bookName = bookName; public String getauother() return auother; public void setauother(String auothe
16、r) this.auother = auother; public int getbookType() return bookType; public void setbookType(int bookType) this.bookType = bookType; public int getbookCase() return bookCase; public void setbookCase(int bookCase) this.bookCase = bookCase; public int getprice() return price; public void setprice(int
17、price) this.price = price; public int getborrowSum() return borrowSum; public void setborrowSum(int borrowSum) this.borrowSum = borrowSum; ConnBean package beans; import java.sql.*; /導(dǎo)入jdbc; public class ConnBean private String driver=sun.jdbc.odbc.JdbcOdbcDriver;/默認(rèn)驅(qū)動(dòng)程序?yàn)閖dbc-odbc驅(qū)動(dòng); private String
18、jdbcurl=jdbc:odbc:;/jdbcurl private String database=new_booklist;/數(shù)據(jù)庫或數(shù)據(jù)源 private String userName=root;/用戶名 private String password=;/密碼 private Connection connection=null; public Connection getConnection() try Class.forName(driver);/注冊驅(qū)動(dòng)程序; connection=DriverManager.getConnection(jdbc:odbc:new_bookl
19、ist,);/ 建立連接; catch(ClassNotFoundException e1) e1.printStackTrace(); catch(SQLException e2) e2.printStackTrace(); return connection; public void closeConnection(Connection connection)/關(guān)閉連接; try if(connection!=null) connection.close(); connection=null; catch(SQLException e3) e3.printStackTrace(); pub
20、lic void closePstmt(PreparedStatement pstmt)/關(guān)閉執(zhí)行語句; try if(pstmt!=null) pstmt.close(); pstmt=null; catch(SQLException e) e.printStackTrace(); public void closeResultSet(ResultSet rs)/關(guān)閉結(jié)果集語句; try if(rs!=null) rs.close(); rs=null; catch(SQLException e) e.printStackTrace(); public String getDriver()
21、/獲取驅(qū)動(dòng)程序 return driver; public void setDriver(String driver) this.driver = driver; public String getDatabase() return database; public void setDatabase(String database) this.database = database; public String getPassword() return password; public void setPassword(String password) this.password = pass
22、word; public String getJdbcurl() return jdbcurl; public void setJdbcurl(String url) this.jdbcurl = url; public String getUserName() return userName; public void setUserName(String userName) this.userName = userName; New_libraryBean package beans; import java.sql.Connection; import java.sql.PreparedS
23、tatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.Collection; public class new_libraryDBean extends ConnBean private Connection connection=null; public new_booklistBean getAllRecords()/獲取所有記錄 ResultSet rs=null; PreparedStatement pstmt=nul
24、l; Collection list=new ArrayList(); try connection=getConnection(); pstmt=connection.prepareStatement(select * from new_booklist);/數(shù)據(jù) 表new_booklist rs=pstmt.executeQuery(); while(rs.next() new_booklistBean new_booklist=new new_booklistBean(); new_booklist.setbookID(rs.getString(1); new_booklist.setb
25、ookName(rs.getString(2); new_booklist.setauother(rs.getString(3); new_booklist.setbookType(rs.getInt(4); new_booklist.setbookCase(rs.getInt(5); new_booklist.setprice(rs.getInt(6); new_booklist.setborrowSum(rs.getInt(7); list.add(new_booklist); catch(SQLException e) e.printStackTrace(); finally close
26、Pstmt(pstmt); closeConnection(connection); new_booklistBean records=(new_booklistBean)list.toArray(new new_booklistBean0); return records; public new_booklistBean queryARecord(String sqlStr)/查詢一條記錄 ResultSet rs=null; PreparedStatement pstmt=null; new_booklistBean new_booklist=new new_booklistBean();
27、 try connection=getConnection(); pstmt=connection.prepareStatement(sqlStr); rs=pstmt.executeQuery(); if(rs.next() new_booklist.setbookID(rs.getString(1); new_booklist.setbookName(rs.getString(2); new_booklist.setauother(rs.getString(3); new_booklist.setbookType(rs.getInt(4); new_booklist.setbookCase
28、(rs.getInt(5); new_booklist.setprice(rs.getInt(6); new_booklist.setborrowSum(rs.getInt(7); catch(SQLException e) e.printStackTrace(); finally closeResultSet(rs); closePstmt(pstmt); closeConnection(connection); return new_booklist; public boolean insertRecord(new_booklistBean record)/插入記錄 PreparedSta
29、tement pstmt=null; String insStr=insert into new_booklist values (?,?,?,?,?); if(record=null) return false; try connection=getConnection(); pstmt=connection.prepareStatement(insStr); pstmt.setString(1, record.getbookID(); pstmt.setString(2, record.getbookName(); pstmt.setString(3, record.getauother(
30、); pstmt.setInt(4, record.getbookType(); pstmt.setInt(5, record.getbookCase(); pstmt.setInt(6, record.getprice(); pstmt.setInt(7, record.getborrowSum(); pstmt.execute(); catch(SQLException e) e.printStackTrace(); finally closePstmt(pstmt); closeConnection(connection); return true; public boolean deleteRecord(new_booklistBean record)/刪除記錄; PreparedStatement pstmt=null; String del
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度終止雙方在線教育平臺(tái)合作協(xié)議
- 二零二五年度海底油氣管道水平定向鉆施工合作協(xié)議
- 二零二五年度全球市場傭金分成合作協(xié)議
- 2025年合作貨運(yùn)從業(yè)資格證科目一考試答案
- 公司領(lǐng)導(dǎo)發(fā)言稿范文
- 銀行職員續(xù)訂勞動(dòng)合同
- 2024年雙方離婚協(xié)議
- 申請采購辦公用品的通知
- 基于物聯(lián)網(wǎng)的智能家庭環(huán)境監(jiān)測系統(tǒng)操作指南
- 2025年1月福建省普通高中學(xué)業(yè)水平合格性考試地理試題仿真模擬卷02(解析版)
- 2025年高考時(shí)政考題及參考答案(100題)
- DeepSeek人工智能語言模型探索AI世界科普課件
- 《青春期心理健康指導(dǎo)》課件
- 第18講 等腰三角形 課件中考數(shù)學(xué)復(fù)習(xí)
- 社會(huì)階層與教育選擇行為分析-深度研究
- 2025年內(nèi)蒙古呼和浩特市屬國企業(yè)紀(jì)檢監(jiān)察機(jī)構(gòu)招聘工作人員80人高頻重點(diǎn)模擬試卷提升(共500題附帶答案詳解)
- 社會(huì)工作行政(第三版)課件匯 時(shí)立榮 第6-11章 項(xiàng)目管理- 社會(huì)工作行政的挑戰(zhàn)、變革與數(shù)字化發(fā)展
- 全過程工程咨詢文件管理標(biāo)準(zhǔn)
- 模特?cái)z影及肖像使用合同協(xié)議范本
- 2025年湘潭醫(yī)衛(wèi)職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試近5年??及鎱⒖碱}庫含答案解析
- 《預(yù)制高強(qiáng)混凝土風(fēng)電塔筒生產(chǎn)技術(shù)規(guī)程》文本附編制說明
評(píng)論
0/150
提交評(píng)論