Web開(kāi)發(fā)技課程設(shè)計(jì)報(bào)告_第1頁(yè)
Web開(kāi)發(fā)技課程設(shè)計(jì)報(bào)告_第2頁(yè)
Web開(kāi)發(fā)技課程設(shè)計(jì)報(bào)告_第3頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余34頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、安徽農(nóng)業(yè)大學(xué)課程實(shí)踐(設(shè)計(jì))報(bào)告實(shí)踐項(xiàng)目名稱(chēng)圖書(shū)管理系統(tǒng)的設(shè)計(jì)項(xiàng)目組成人員院系信年級(jí)專(zhuān)業(yè)0指導(dǎo)教師傅目錄1.32.32.1.33.43.1.43.1.1.43.1.2. 73.2.1. 83.3.1113 4.113.4.1111 課程設(shè)計(jì)背景圖書(shū)館信息化管理從最初的對(duì)圖書(shū)館業(yè)務(wù)管理實(shí)行信息化管理發(fā)展到對(duì)圖書(shū)館各個(gè)業(yè)務(wù)流程和網(wǎng)絡(luò)化管理,并建立大規(guī)模的以個(gè)體文獻(xiàn)目錄聯(lián)機(jī)查詢(xún)?yōu)橹鞯馁Y源共享系統(tǒng);而圖書(shū)館的正常運(yùn)營(yíng)中總是面對(duì)大量的讀者信息,圖書(shū)信息及兩者相互作用產(chǎn)生的借書(shū)信息,所以要對(duì)讀者資源,讀者資源,借書(shū)信息進(jìn)行管理,本系統(tǒng)的開(kāi)發(fā)就是在于提高圖書(shū)管理的工作效率!2 需求分析(包括:功能分析、操作

2、流程分析等)2.1 需求分析一般通用的圖書(shū)館借閱管理系統(tǒng)包括系統(tǒng)管理、讀者管理、編目、圖書(shū)流通、統(tǒng)計(jì)、查詢(xún)等功能。比較先進(jìn)的能夠在一個(gè)界面下實(shí)現(xiàn)圖書(shū)、音像、期刊的管理,設(shè)置假期、設(shè)置暫離鎖(提高安全性)、暫停某些讀者的借閱權(quán)、導(dǎo)入導(dǎo)出讀者、交換MARC 數(shù)據(jù)、升級(jí)輔助編碼庫(kù)等。此外隨著Internet 應(yīng)用的發(fā)展,一個(gè)完善的系統(tǒng)還應(yīng)該提供無(wú)縫接入Internet 的功能,通過(guò)IE 瀏覽器讓讀者使用借閱資料查詢(xún)、更換密碼、預(yù)約、資料檢索等功能。有些系統(tǒng)還能提供讀者自助服務(wù),可以開(kāi)放一些客戶(hù)機(jī)讓讀者自行管理密碼、查詢(xún)自己的借閱史、預(yù)約資料、檢索資料等。- 3 -在構(gòu)造系統(tǒng)時(shí),首先從需求出發(fā)構(gòu)造數(shù)據(jù)

3、庫(kù)表,然后再由數(shù)據(jù)庫(kù)結(jié)合需求劃分系統(tǒng)功能模塊。這樣,就把一個(gè)大的系統(tǒng)分解成了幾個(gè)小系統(tǒng)。這里把系統(tǒng)的層次劃分為了兩個(gè)部分:一個(gè)是一般用戶(hù)態(tài):即圖書(shū)有服務(wù)子系統(tǒng);另一個(gè)是管理員界面:提供圖書(shū)的管理和維護(hù)功能。對(duì)于不同子系統(tǒng)之間的功換,采用了登錄功能和用戶(hù)注銷(xiāo)功能。系統(tǒng)劃分了子系統(tǒng)后,下一步的工作是繼續(xù)劃分子系統(tǒng)的小模塊。先考慮在進(jìn)入子系統(tǒng)時(shí)應(yīng)該做什么,進(jìn)入系統(tǒng)之后又應(yīng)該做什么,提供那些服務(wù)等。例如,對(duì)于圖書(shū)信息服務(wù)子系統(tǒng),在用戶(hù)進(jìn)入時(shí)首先得調(diào)用相關(guān)數(shù)據(jù)庫(kù)表,找出用戶(hù)的圖書(shū)借閱情況;進(jìn)入系統(tǒng)后,子系統(tǒng)得提供圖書(shū)查詢(xún)、圖書(shū)借閱和還書(shū)功能。另外,針對(duì)本系統(tǒng)的特殊情況,同時(shí)也考慮系統(tǒng)的可移植性,在系統(tǒng)中

4、增加了數(shù)據(jù)庫(kù)路徑的維護(hù)部分。但由于本人技術(shù)有限,下面只做了部分設(shè)計(jì)3 設(shè)計(jì)與實(shí)現(xiàn)(包括:前臺(tái)頁(yè)面、數(shù)據(jù)庫(kù)、業(yè)務(wù)邏輯等設(shè)計(jì))3.1 數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)3.1.1 概念結(jié)構(gòu)設(shè)計(jì)( E-R 圖)- 4 -概念結(jié)構(gòu)設(shè)計(jì)是將分析得到的用戶(hù)需求抽象為概念模型的過(guò)程,即在需求分析的基礎(chǔ)上,設(shè)計(jì)出能夠滿(mǎn)足用戶(hù)需求的各種實(shí)體以及它們之間的相互關(guān)系的模型。這樣才能更好地、更準(zhǔn)確地用某一 DBMS 實(shí)現(xiàn)這些需求,它是整個(gè)數(shù)據(jù)庫(kù)設(shè)計(jì)的關(guān)鍵。概念結(jié)構(gòu)的主要特點(diǎn)是能真實(shí)、充分地反映現(xiàn)實(shí)世界,易于理解,易于更改,易于向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換。描述概念模型的有力工具是E-R 模型。Er 圖:圖書(shū)類(lèi)型管理借閱信息屬于管

5、理管理員圖書(shū)管理管理屬于管理圖書(shū)館信書(shū)架- 5 -部分實(shí)體 ER 圖:借閱次數(shù)圖書(shū)編圖書(shū)書(shū)名價(jià)格作者書(shū)類(lèi)書(shū)架號(hào)管理員管理員號(hào)密碼管理員名- 6 -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)換來(lái)的關(guān)系、網(wǎng)狀、層次模型向特定 DBMS 支持下的數(shù)據(jù)模型轉(zhuǎn)換,最后是對(duì)數(shù)據(jù)模型進(jìn)行優(yōu)化?;?B/S 的簡(jiǎn)易圖書(shū)借閱管理系統(tǒng)采用的是將 E-R圖向關(guān)系數(shù)據(jù)模型轉(zhuǎn)換。以下是由概念模型向邏輯模型轉(zhuǎn)化的關(guān)系模式:管

6、理員(管理員編號(hào) ,管理員名稱(chēng),管理員密碼)圖書(shū)(圖書(shū)編碼,圖書(shū)名稱(chēng),圖書(shū)類(lèi)別 ,書(shū)架,作者,價(jià)格,借閱次數(shù))- 7 -3.2.1 物理結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)設(shè)計(jì)是對(duì)于給定的邏輯數(shù)據(jù)模型,選取一個(gè)最合適應(yīng)用環(huán)境的物理結(jié)構(gòu)。數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)指的是數(shù)據(jù)庫(kù)在物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)與存取方法,它依賴(lài)于給定的計(jì)算機(jī)系統(tǒng)表 2.2 管理員信息表 (new_userlist)字段名注釋類(lèi)型長(zhǎng)度允許空默認(rèn)值管理員自動(dòng)增長(zhǎng)userIdint4編號(hào)(1,1)管理員varchuserName50Null名稱(chēng)ar管理員varchuserPwd50Null密碼ar- 8 -表 2.3 圖書(shū)信息表 (new_bookli

7、st)字段名注釋類(lèi)長(zhǎng)度允默認(rèn)值型許空bookid圖書(shū)編varc碼har50bookNa圖書(shū)名varcnullme稱(chēng)har50bookTyp圖書(shū)類(lèi)int4nulle別bookcase書(shū)架intnull100auother作者varc80nullharprice價(jià)格mon8nulleyborrowS借閱次int4nullum數(shù)- 9 -數(shù)據(jù)庫(kù)表:-10-3.3.1 系統(tǒng)功能設(shè)計(jì)圖書(shū)管理模塊功能(時(shí)間技術(shù)有限目前只有此功能)圖書(shū)類(lèi)型管理:是對(duì)圖書(shū)進(jìn)行分類(lèi)管理,對(duì)圖書(shū)類(lèi)型的添加、刪除、修改等功能。圖書(shū)信息管理:管理員對(duì)圖書(shū)信息的詳細(xì)錄入,修改圖書(shū)信息和刪除圖書(shū)信息等功能。34 系統(tǒng)界面設(shè)計(jì)與實(shí)現(xiàn)3.4

8、.1 系統(tǒng)登錄界面系統(tǒng)首頁(yè),同時(shí)也是登錄界面,在此界面中,管理可以根據(jù)自身情況登錄到系統(tǒng)中 ,管理員登錄界面如下圖所示:-11-相關(guān)代碼: 用戶(hù)登陸界面 管理員登陸: 管理員姓名 管理員密碼 -13- 用戶(hù)身份驗(yàn)證 !- -JSPdl-0 顯示圖書(shū)列表 圖書(shū)列表 -16- 圖書(shū)編號(hào) 書(shū)名 作者 書(shū)類(lèi) 書(shū)架號(hào) 價(jià)格 借閱次數(shù) %new_booklistBean records=conn.getAllRecords();if(records!=null)for(int i=0;irecords.length;i+)out.println();out.println(+recordsi.getboo

9、kID()+);out.println(+recordsi.getbookName()+);out.println(+recordsi.getauother()+);out.println(+recordsi.getbookType()+);out.println(+recordsi.getbookCase()+);out.println(+recordsi.getprice()+);out.println(+recordsi.getborrowSum()+);out.println();-17-% 更多操作 : 添加圖書(shū) 返回 刪除圖書(shū) 管理員添加圖書(shū)記錄:-18-相關(guān)代碼:JSPdl-3

10、添加圖書(shū)記錄 -19- 添加新記錄 圖書(shū)編號(hào) *書(shū)名 *作者 書(shū)類(lèi) 書(shū)架號(hào) *-20-價(jià)格 *借閱次數(shù) *%if(book.getbookID()!=0&conn.insertRecord(book)out.println( 添加記錄成功 );%-21-JSPdl-4 刪除圖書(shū)記錄 圖書(shū)列表 圖書(shū)編號(hào) 書(shū)名 作者 書(shū)類(lèi) 書(shū)架號(hào) 價(jià)格-22- 借閱次數(shù) 選擇%new_booklistBean records=conn.getAllRecords();if(records!=null)for(int i=0;irecords.length;i+)out.println();out.println(

11、+recordsi.getbookID()+);out.println(+recordsi.getbookName()+);out.println(+recordsi.getauother()+);out.println(+recordsi.getbookType()+);out.println(+recordsi.getbookCase()+);out.println(+recordsi.getprice()+);out.println(+recordsi.getborrowSum()+);%input type=checkbox name= value= /%out.println();-

12、23-%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( 刪除成功 );response.setHeader(refresh,1);%與系統(tǒng)相關(guān)的 bean 代碼:New_booklistBean-24-package beans;public class new_bo

13、oklistBean private String bookID;/ 表示書(shū)編號(hào);private String bookName;/ 書(shū)名;private String auother;/ 作者名;private int bookType;/ 書(shū)類(lèi);private int bookCase;/ 書(shū)架號(hào);private int price;/ 書(shū)價(jià);private int borrowSum;/ 書(shū)被借的次數(shù);public String getbookID() return bookID;public void setbookID(String bookID) this.bookID = boo

14、kID;public String getbookName() return bookName;public void setbookName(String bookName) this.bookName = bookName;public String getauother() return auother;-25-public void setauother(String auother) this.auother = auother;public int getbookType() return bookType;public void setbookType(int bookType)

15、 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 price) this.price = price;public int getborrowSum() return borrowSum;public void setborrowSum(int borrowSum) -

16、26-this.borrowSum = borrowSum;ConnBeanpackage beans;import java.sql.*;/ 導(dǎo)入 jdbc;public class ConnBean private String driver=sun.jdbc.odbc.JdbcOdbcDriver;/ 默認(rèn)驅(qū)動(dòng)程序?yàn)?jdbc-odbc 驅(qū)動(dòng);private String jdbcurl=jdbc:odbc:;/jdbcurlprivate String database=new_booklist;/數(shù)據(jù)庫(kù)或數(shù)據(jù)源private String userName=root;/用戶(hù)名priv

17、ate String password=123456;/ 密碼private Connection connection=null;public Connection getConnection() tryClass.forName(driver);/ 注冊(cè)驅(qū)動(dòng)程序 ;connection=DriverManager.getConnection(jdbc:odbc:new_booklist,);/建立連接;catch(ClassNotFoundException e1)e1.printStackTrace();catch(SQLException e2)e2.printStackTrace()

18、;-27-return connection;public void closeConnection(Connection connection)/ 關(guān)閉連接;tryif(connection!=null)connection.close();connection=null;catch(SQLException e3)e3.printStackTrace();public void closePstmt(PreparedStatement pstmt)/ 關(guān)閉執(zhí)行語(yǔ)句;tryif(pstmt!=null)pstmt.close();pstmt=null;catch(SQLException e

19、)e.printStackTrace();public void closeResultSet(ResultSet rs)/關(guān)閉結(jié)果集語(yǔ)句;tryif(rs!=null)rs.close();-28-rs=null;catch(SQLException e)e.printStackTrace();public String getDriver() / 獲取驅(qū)動(dòng)程序return driver;public void setDriver(String driver) this.driver = driver;public String getDatabase() return database;p

20、ublic void setDatabase(String database) this.database = database;public String getPassword() return password;public void setPassword(String password) this.password = password;public String getJdbcurl() return jdbcurl;-29-public void setJdbcurl(String url) this.jdbcurl = url;public String getUserName

21、() return userName;public void setUserName(String userName) this.userName = userName;New_libraryBeanpackage beans;import java.sql.Connection;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;-30-import java.util.ArrayList;import java.util.Collection;public clas

22、s new_libraryDBean extends ConnBeanprivate Connection connection=null;public new_booklistBean getAllRecords()/ 獲取所有記錄ResultSet rs=null;PreparedStatement pstmt=null;Collection list=new ArrayList();tryconnection=getConnection();pstmt=connection.prepareStatement(select * from new_booklist);/數(shù)據(jù)表 new_boo

23、klistrs=pstmt.executeQuery();while(rs.next()new_booklistBean new_booklist=new new_booklistBean();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);new_boo

24、klist.setprice(rs.getInt(6);new_booklist.setborrowSum(rs.getInt(7);list.add(new_booklist);-31-catch(SQLException e)e.printStackTrace();finallyclosePstmt(pstmt);closeConnection(connection);new_booklistBean records=(new_booklistBean)list.toArray(new new_booklistBean0);return records;public new_booklis

25、tBean queryARecord(String sqlStr)/ 查詢(xún)一條記錄ResultSet rs=null;PreparedStatement pstmt=null;new_booklistBean new_booklist=new new_booklistBean();tryconnection=getConnection();pstmt=connection.prepareStatement(sqlStr);rs=pstmt.executeQuery();if(rs.next()new_booklist.setbookID(rs.getString(1);new_booklist

26、.setbookName(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);-32-new_booklist.setborrowSum(rs.getInt(7);catch(SQLException e)e.printStackTrace();finallycloseResultSet(rs);closePstmt(pstmt);closeConnection(connection);return new_booklist;public boolean insertRecord(new_booklistBean record)/ 插入記錄PreparedStatement pstmt=null;String insStr=insert into new_booklist val

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論