Web開發技課程設計報告_第1頁
Web開發技課程設計報告_第2頁
Web開發技課程設計報告_第3頁
Web開發技課程設計報告_第4頁
Web開發技課程設計報告_第5頁
已閱讀5頁,還剩31頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、安安 徽徽 農農 業業 大大 學學課程實踐(設計)報課程實踐(設計)報告告實踐項目名稱 圖書管理系統的設計項目組成人員 院 系 信 年級專業 0指 導 教 師 傅 目錄1 1 課程設計背景(課程設計背景(包包括:現狀、括:現狀、研研究目的等)究目的等) .3 32 2 需求分析需求分析(包括:功包括:功能能分析、操作流程分析分析、操作流程分析等等) .3 3. 811111 課程設計背景課程設計背景圖書館信息化管理從最初的對圖書館業務管理實行信息化管理發展到對圖書館各個業務流程和網絡化管理,并建立大規模的以個體文獻目錄聯機查詢為主的資源共享系統;而圖書館的正常運營中總是面對大量的讀者信息,圖書

2、信息及兩者相互作用產生的借書信息,所以要對讀者資源,讀者資源,借書信息進行管理,本系統的開發就是在于提高圖書管理的工作效率!2 需求分析(包括:功能分析、操作流程分析等)需求分析(包括:功能分析、操作流程分析等)2.1需求分析一般通用的圖書館借閱管理系統包括系統管理、讀者管理、編目、圖書流通、統計、查詢等功能。比較先進的能夠在一個界面下實現圖書、音像、期刊的管理,設置假期、設置暫離鎖(提高安全性)、暫停某些讀者的借閱權、導入導出讀者、交換marc數據、升級輔助編碼庫等。此外隨著internet應用的發展,一個完善的系統還應該提供無縫接入internet的功能,通過ie瀏覽器讓讀者使用借閱資料查

3、詢、更換密碼、預約、資料檢索等功能。有些系統還能提供讀者自助服務,可以開放一些客戶機讓讀者自行管理密碼、查詢自己的借閱史、預約資料、檢索資料等。在構造系統時,首先從需求出發構造數據庫表,然后再由數據庫結合需求劃分系統功能模塊。這樣,就把一個大的系統分解成了幾個小系統。這里把系統的層次劃分為了兩個部分:一個是一般用戶態:即圖書有服務子系統;另一個是管理員界面:提供圖書的管理和維護功能。對于不同子系統之間的功換,采用了登錄功能和用戶注銷功能。 系統劃分了子系統后,下一步的工作是繼續劃分子系統的小模塊。先考慮在進入子系統時應該做什么,進入系統之后又應該做什么,提供那些服務等。例如,對于圖書信息服務子

4、系統,在用戶進入時首先得調用相關數據庫表,找出用戶的圖書借閱情況;進入系統后,子系統得提供圖書查詢、圖書借閱和還書功能。另外,針對本系統的特殊情況,同時也考慮系統的可移植性,在系統中增加了數據庫路徑的維護部分。但由于本人技術有限,下面只做了部分設計但由于本人技術有限,下面只做了部分設計3 設計與實現(包括:前臺頁面、數據庫、業務邏輯等設計)設計與實現(包括:前臺頁面、數據庫、業務邏輯等設計) 3.1數據庫結構設計3.1.1 概念結構設計(e-r圖)概念結構設計是將分析得到的用戶需求抽象為概念模型的過程,即在需求分析的基礎上,設計出能夠滿足用戶需求的各種實體以及它們之間的相互關系的模型。這樣才能

5、更好地、更準確地用某一dbms實現這些需求,它是整個數據庫設計的關鍵。概念結構的主要特點是能真實、充分地反映現實世界,易于理解,易于更改,易于向關系、網狀、層次等各種數據模型轉換。描述概念模型的有力工具是e-r模型。 er 圖:圖: 管理管理管理管理管理管理員圖書類型書架圖書圖書館信息借閱信息屬于屬于部分實體部分實體 er 圖:圖: 圖書書名作者書類書架號 價格管理員管理員號管理員名密碼圖書編號借閱次數3.1.2 邏輯結構設計邏輯結構設計的任務就是把概念結構設計階段設計好的基本e-r圖轉換為與選用dbms產品所支持的數據模型相符合的邏輯結構。設計邏輯結構時一般要分三步進行,首先是將概念結構轉換

6、為一般的關系、網狀、層次模型,其次是將轉換來的關系、網狀、層次模型向特定dbms支持下的數據模型轉換,最后是對數據模型進行優化。基于b/s的簡易圖書借閱管理系統采用的是將e-r圖向關系數據模型轉換。以下是由概念模型向邏輯模型轉化的關系模式:管理員(管理員編號,管理員名稱,管理員密碼)圖書(圖書編碼,圖書名稱,圖書類別,書架,作者,價格,借閱次數)3.2.1物理結構設計 數據庫的物理結構設計是對于給定的邏輯數據模型,選取一個最合適應用環境的物理結構。數據庫的物理結構指的是數據庫在物理設備上的存儲結構與存取方法,它依賴于給定的計算機系統表2.2管理員信息表(new_userlist)字段名注釋類型

7、長度允許空默認值userid管理員編號int4自動增長(1,1)username管理員名稱varchar50nulluserpwd管理員密碼varchar50null表2.3圖書信息表(new_booklist)字段名 注釋 類型長度 允許空 默認值bookid圖書編碼varchar 50 bookname圖書名稱varchar 50 null booktype圖書類別 int 4 null bookcase書架int 100 nullauother作者varchar 80 nullprice價格money 8nullborrowsum借閱次數int 4 null數據庫表:3.3.1系統功能設

8、計圖書管理模塊功能(時間技術有限目前只有此功能)圖書類型管理:是對圖書進行分類管理,對圖書類型的添加、刪除、修改等功能。圖書信息管理:管理員對圖書信息的詳細錄入,修改圖書信息和刪除圖書信息等功能。34系統界面設計與實現3.4.1系統登錄界面系統首頁,同時也是登錄界面,在此界面中,管理可以根據自身情況登錄到系統中 ,管理員登錄界面如下圖所示:相關代碼:用戶登陸界面 管理員登陸: 管理員姓名 管理員密碼 用戶身份驗證 !- -jspdl-0顯示圖書列表 圖書列表 圖書編號 書名 作者 書類 書架號 價格 借閱次數 % new_booklistbean records=conn.getallreco

9、rds(); 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()+);

10、out.println(+recordsi.getborrowsum()+); out.println(); % 更多操作:添加圖書返回刪除圖書管理員添加圖書記錄:相關代碼:jspdl-3添加圖書記錄 添加新記錄 圖書編號 * 書名 * 作者 書類 書架號 * 價格 * 借閱次數 * % if(book.getbookid()!=0&conn.insertrecord(book) out.println(添加記錄成功); % jspdl-4刪除圖書記錄 圖書列表 圖書編號 書名 作者 書類 書架號 價格 借閱次數 選擇 % new_booklistbean records=conn.getal

11、lrecords(); 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(

12、)+); 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(刪

13、除成功); response.setheader(refresh,1); % 與系統相關的bean代碼:new_booklistbeanpackage beans;public class new_booklistbean private string bookid;/表示書編號; private string bookname;/書名; private string auother;/作者名; private int booktype;/書類; private int bookcase;/書架號; private int price;/書價; private int borrowsum;/書

14、被借的次數; 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 auother)

15、 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 pr

16、ice) this.price = price; public int getborrowsum() return borrowsum; public void setborrowsum(int borrowsum) this.borrowsum = borrowsum; connbeanpackage beans;import java.sql.*; /導入jdbc;public class connbean private string driver=sun.jdbc.odbc.jdbcodbcdriver;/默認驅動程序為jdbc-odbc驅動; private string jdbcu

17、rl=jdbc:odbc:;/jdbcurl private string database=new_booklist;/數據庫或數據源 private string username=root;/用戶名 private string password=123456;/密碼 private connection connection=null; public connection getconnection() try class.forname(driver);/注冊驅動程序; connection=drivermanager.getconnection(jdbc:odbc:new_book

18、list,);/建立連接; catch(classnotfoundexception e1) e1.printstacktrace(); catch(sqlexception e2) e2.printstacktrace(); return connection; public void closeconnection(connection connection)/關閉連接; try if(connection!=null) connection.close(); connection=null; catch(sqlexception e3) e3.printstacktrace(); pub

19、lic void closepstmt(preparedstatement pstmt)/關閉執行語句; try if(pstmt!=null) pstmt.close(); pstmt=null; catch(sqlexception e) e.printstacktrace(); public void closeresultset(resultset rs)/關閉結果集語句; try if(rs!=null) rs.close(); rs=null; catch(sqlexception e) e.printstacktrace(); public string getdriver()

20、/獲取驅動程序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 = passw

21、ord; 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_librarybeanpackage beans;import java.sql.connection;import java.sql.preparedstate

22、ment;import java.sql.resultset;import java.sql.sqlexception;import java.util.arraylist;import java.util.collection;public class new_librarydbean extends connbeanprivate connection connection=null;public new_booklistbean getallrecords()/獲取所有記錄 resultset rs=null; preparedstatement pstmt=null; collecti

23、on list=new arraylist(); try connection=getconnection(); pstmt=connection.preparestatement(select * from new_booklist);/數據表new_booklist rs=pstmt.executequery(); while(rs.next() new_booklistbean new_booklist=new new_booklistbean(); new_booklist.setbookid(rs.getstring(1); new_booklist.setbookname(rs.g

24、etstring(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 closepstmt(pstmt)

25、; 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(); try connect

26、ion=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(rs.getint(5

27、); 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)/插入記錄 preparedstatement pstmt

28、=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(); pstmt.set

29、int(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 delstr=delete from new_booklist w

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論