圖書管理系統(tǒng)詳細(xì)設(shè)計(jì)說明書_第1頁
圖書管理系統(tǒng)詳細(xì)設(shè)計(jì)說明書_第2頁
圖書管理系統(tǒng)詳細(xì)設(shè)計(jì)說明書_第3頁
圖書管理系統(tǒng)詳細(xì)設(shè)計(jì)說明書_第4頁
圖書管理系統(tǒng)詳細(xì)設(shè)計(jì)說明書_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、圖書管理系統(tǒng)詳細(xì)設(shè)計(jì)說明書1 引言1.1 編寫目的圖書管理系統(tǒng)詳細(xì)設(shè)計(jì)是設(shè)計(jì)的第二個(gè)階段,這個(gè)階段的主要任務(wù)是在圖書管理系統(tǒng)概要設(shè)計(jì)書基礎(chǔ)上,對(duì)概要設(shè)計(jì)中產(chǎn)生的功能模塊進(jìn)行過程描述,設(shè)計(jì)功能模塊的部細(xì)節(jié),包括算法和詳細(xì)數(shù)據(jù)結(jié)構(gòu),為編寫源代碼提供必要的說明。概要設(shè)計(jì)解決了軟件系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)的問題,包括整個(gè)軟件系統(tǒng)的結(jié)構(gòu)、模塊劃分、模塊功能和模塊間的聯(lián)系等。詳細(xì)設(shè)計(jì)則要解決如何實(shí)現(xiàn)各個(gè)模塊的部功能,即模塊設(shè)計(jì)。具體的說,模塊設(shè)計(jì)就是要為已經(jīng)產(chǎn)生的圖書管理各子系統(tǒng)設(shè)計(jì)詳細(xì)的算法。但這并不等同于系統(tǒng)實(shí)現(xiàn)階段用具體的語言編碼,它只是對(duì)實(shí)現(xiàn)細(xì)節(jié)作精確的描述,這樣編碼階段就可以將詳細(xì)設(shè)計(jì)中對(duì)功能實(shí)現(xiàn)的描述

2、,直接翻譯、轉(zhuǎn)化為用某種程序設(shè)計(jì)語言書寫的程序。1.2 項(xiàng)目背景根據(jù)XX學(xué)校希望能夠充分利用現(xiàn)代科技來提高圖書管理的效率,在原有的辦公系統(tǒng)基礎(chǔ)上進(jìn)行擴(kuò)展,將一些可以用計(jì)算機(jī)來管理的都進(jìn)行計(jì)算機(jī)化,使得圖書館管理人員工作更加方便,工作效率也更加的高。1.3 定義? Mysql :數(shù)據(jù)庫管理軟件? DBMS數(shù)據(jù)庫管理系統(tǒng)? Windows 2000/2003/XP :運(yùn)行環(huán)境? JSP :軟件開發(fā)語言? Myeclipse :開發(fā)工具1.4 參考資料5 版海藩編著清華大學(xué)實(shí)用軟件工程Leszek A.Maciaszek Bruc Lee Liong 著機(jī)械工業(yè)2 總體設(shè)計(jì)2.1 需求概述按照需求分

3、析文檔中的規(guī)格要求,使用條形碼掃描器進(jìn)書、借書、還書,使得信息傳遞準(zhǔn)確、流暢。同時(shí),系統(tǒng)最大限度地實(shí)現(xiàn)易安裝,易維護(hù)性,易操作性,運(yùn)行穩(wěn)定,安全可靠。2.2軟件結(jié)構(gòu)系統(tǒng)由3大模塊,6小模塊組成:序號(hào) 編號(hào) 名稱1 01 登陸模塊2 02 管理模塊3 031 圖書信息查詢模塊4 032 學(xué)生信息查詢模塊5 021 入庫管理模塊6 022 學(xué)生借書模塊7 023 學(xué)生還書模塊8 024 圖書注銷模塊9 040 基礎(chǔ)信息設(shè)置3程序描述3.1 01登陸模塊具體格式見下表:功能編號(hào)01功能名稱登陸模塊容功能流程圖所屬業(yè)務(wù)圖書館管理所屬項(xiàng)目圖書館管理系統(tǒng)編寫人完成時(shí)間2007-11-26貝碼第5頁3.1.

4、1 功能流程圖功能流程圖如下圖所示需要說明的問題:(1)錄入項(xiàng)檢測使用javascript實(shí)現(xiàn)(各項(xiàng)必須非空)(2)登陸.jsp頁面也包含查詢按鈕,在此的登陸.jsp提交的數(shù)據(jù)只是用 戶名和密碼。3.1.2功能描述(1)功能類型:查詢數(shù)據(jù)(2)功能描述:提高系統(tǒng)的安全性(3)前提業(yè)務(wù):無(4)后繼業(yè)務(wù):02 (管理模塊)(5)功能約束:權(quán)限約束(6)約束描述:(7)操作權(quán)限:圖書館管理員3.1.3界面設(shè)計(jì)(1)基礎(chǔ)信息處理動(dòng)作說明:動(dòng)作編號(hào)動(dòng)作名稱動(dòng)作描述A01登陸點(diǎn)擊登陸按鈕提交數(shù)據(jù) 到登陸數(shù)據(jù)處理.jsp頁 面A02重至點(diǎn)擊退重至按鈕將當(dāng)前信息恢復(fù)原先狀態(tài)A03圖書信息查詢點(diǎn)擊將貝聞轉(zhuǎn)至到

5、圖書 信息查詢.jsp頁向A04學(xué)生信息查詢點(diǎn)擊將頁面轉(zhuǎn)至學(xué)生信 息查詢.jsp頁向A05基礎(chǔ)信息點(diǎn)擊將顯小基礎(chǔ)信息(2)數(shù)據(jù)要求(1) 功能類型:數(shù)據(jù)查詢(2) 數(shù)據(jù)描述:貝聞顯示錄入字段如下:字段名稱長度錄入方式是否非空項(xiàng)數(shù)據(jù)檢驗(yàn)?zāi)J(rèn)顯示管理員ID10文本框YN管埋員密碼15password YN3.1.4登陸數(shù)據(jù)處理.jsp的部邏輯登陸數(shù)據(jù)處理:關(guān)鍵點(diǎn)兩點(diǎn):1,數(shù)據(jù)庫連接;2,記錄登陸信息及信息處理;1, 數(shù)據(jù)庫連接:如下:public class lib_system_Conn extends Objectpublic lib_system_Conn()private Connecti

6、on conn = null ;private ResultSet rs ;Stringre = "" ;/ 設(shè)置你的數(shù)據(jù)庫ipStringdbip = "127.0.0.1"/ 設(shè)置你的數(shù)據(jù)庫用戶名和密碼:Stringuse = "root" ;Stringpass = "860409" ;/ 設(shè)置您的數(shù)據(jù)庫名StringdbName= "lib_system"public java.sql.Connection getConn() try Class.forName( "org.g

7、jt.mm.mysql.Driver" ).newInstance();String url="jdbc:mysql:/" +dbip +":3306/" +dbName+"?user=" +use+"&password=" +pass +"&useUnicode=t rue&characterEncoding=GBK" ;conn = DriverManager. getConnection (url);catch (Exception e)e.printSt

8、ackTrace(); return this . conn ; / 在 Mysql 建立 lib_system 數(shù)據(jù)庫,之后將與數(shù)據(jù)操作相關(guān)數(shù)據(jù)與該數(shù)據(jù)庫相連;2,記錄登陸信息及信息處理:當(dāng)用戶點(diǎn)擊“登陸”按鈕之后,數(shù)據(jù)將提交到登陸數(shù)據(jù)處理 .jsp 頁面。 取得密碼這兩個(gè)從頁面?zhèn)魅氲闹?,然后跟?shù)據(jù)庫當(dāng)中管理員表中的賬號(hào)和密碼比較。如果正確的話,在JSP的SESSIO即存入一個(gè)標(biāo)記屬性,表示當(dāng)前已經(jīng)有管理員登 陸了。處理完畢后,跳轉(zhuǎn)到管理頁面,如果失敗,則提示登陸失敗,并重新進(jìn)入到登陸頁面。具體的邏輯如下:<%String username=ParamUtil.getString(re

9、quest,"admin_ID");/ 取得用戶名String password=ParamUtil.getString(request,"admin_password");/ 取得密碼String erroMsg=""/ 錯(cuò)誤碼if(username!=null&&password!=null)trySkinUtil.login(request,response,admin_ID,admin_password);/在JSP的session中存如一個(gè)標(biāo)記屬性,表示當(dāng)前已經(jīng)有管理員登陸了Session.setAttrib

10、ute( “ admin_ID” ,admin_ID);response.sendRedirect("login_process.jsp");catch(UserNotFoundException e)erroMsg="錯(cuò)誤的用戶名和密碼"response.sendRedirect("login_process.jsp?"+response.encodeURL(err oMsg);elseout.println(" 請(qǐng)?zhí)顚懞媚愕膫€(gè)人信息!");%>3.1.5存儲(chǔ)分配管理員表:(admin)序號(hào)字段名類型長度精

11、度小數(shù)位數(shù)默認(rèn)值允許空主鍵說明1(admin_ID)管理員IDInt10V2(admin_password)管理員密碼Char153(admin_quanxian)Nvarchar15權(quán)限3.2 02管理模塊具體格式見下表功能編號(hào)02功能名稱管理模塊容功能流程圖所屬業(yè)務(wù)圖書館管理所屬項(xiàng)目圖書館管理系統(tǒng)編寫人完成時(shí)間2007-11-26貝碼第8頁3.2.1 功能流程圖功能流程圖如下所示:需要說明的問題:在選擇相應(yīng)的業(yè)務(wù)時(shí),需要在當(dāng)前的頁面顯示;并且在管理頁面,默認(rèn)顯示圖書查詢頁面3.2.2 功能描述(1)功能類型:其他(2)功能概述:總體歸納圖書館管理功能(3)前提業(yè)務(wù):登陸模塊(01)(4)

12、后續(xù)業(yè)務(wù):021, 022, 023, 024, 03(5)功能約束:權(quán)限約束(6)約束描述:(7)操作權(quán)限:圖書館管理人員3.2.3界面設(shè)計(jì)(1)基本信息處理動(dòng)作說明如下:動(dòng)作編號(hào)動(dòng)作名稱動(dòng)作描述A01入庫管理點(diǎn)擊按鈕將貝聞轉(zhuǎn)至入 庫管理.jsp頁向A02學(xué)生借書點(diǎn)擊按鈕將頁而轉(zhuǎn)至學(xué) 生借書.jsp頁向A03學(xué)生還書點(diǎn)擊按鈕將頁而轉(zhuǎn)至學(xué)生還書.jsp頁向A04圖書注銷點(diǎn)擊按鈕 將貝聞轉(zhuǎn)至圖 書注銷.jsp頁向A05圖書查詢點(diǎn)擊按鈕 將貝聞轉(zhuǎn)至圖 書查詢.jsp頁向(2)數(shù)據(jù)要求功能類型:其他3.3 031圖書信息查詢模塊具體格式如下:功能編號(hào)031功能名稱圖書信息查詢模塊容功能流程圖所屬業(yè)務(wù)

13、圖書館管理所屬項(xiàng)目圖書館管理系統(tǒng)編寫人完成時(shí)間2007-11-26貝碼第10頁3.3.1 功能流程圖功能流程圖如下圖:需要說明的問題:錄入項(xiàng)檢測使用javascript來實(shí)現(xiàn)(各項(xiàng)非空);操作權(quán)限:面向所有用戶3.3.2 功能描述(1)功能類型:查詢數(shù)據(jù)(3)前提業(yè)務(wù):無(4)后繼業(yè)務(wù):(5)功能約束:沒有約束;(6)約束描述:(7)操作權(quán)限:面向所有用戶3.3.3 界面設(shè)計(jì)(1)基礎(chǔ)信息處理下表是動(dòng)作說明:動(dòng)作編號(hào)動(dòng)作名稱動(dòng)作描述A01確定點(diǎn)擊按鈕提交數(shù)據(jù)到圖書查詢數(shù)據(jù)處理.jsp頁面A02學(xué)生信息查詢點(diǎn)擊按鈕將頁而轉(zhuǎn)至學(xué)生信息查詢.jsp貝聞(2)數(shù)據(jù)要求(1)功能類型:數(shù)據(jù)查詢(2)數(shù)據(jù)

14、描述:貝聞顯小字段見卜表:字段名稱長度錄入方式是否非空項(xiàng)數(shù)據(jù)檢驗(yàn)?zāi)J(rèn)顯示請(qǐng)選擇查詢20下拉列表YN請(qǐng)輸入查詢200文本框YN容(3)圖書信息查詢的輸出項(xiàng)書名圖書類型作者譯者ISBN價(jià)格書架名稱現(xiàn)存量簡介書名圖書類型3.3.4模塊部邏輯1, Search.jsp用于顯示界面的容,給用戶顯示一個(gè)查詢接口2, Lib_query.jsp 用來調(diào)度所有的頁面,它根據(jù)傳入的參數(shù)來決定包含哪一個(gè)jsp頁面來顯示容;在 lib_query.jsp 頁面中,它根據(jù)傳入的參數(shù)來決定包含哪一個(gè) jsp頁面來顯示容;則可以 通過<jsp:includepage=" <%=%/>,禾用 j

15、sp:include 標(biāo)簽來被動(dòng)態(tài)加載發(fā)送到相應(yīng)頁面;3, chuli.jsp用來處理數(shù)據(jù)查詢和顯示查詢到的結(jié)果列表。在這個(gè)頁面中,數(shù)據(jù)要以列表的形式顯示到輸出頁面。 由于查詢到的結(jié)果可能過多,所以采用分頁形式顯示; 對(duì)于分頁功能的部邏輯:4, View.jsp用來顯示查詢到的圖書的各項(xiàng)屬性。3.3.5存儲(chǔ)分配圖書目錄文件(Book):序號(hào)字段名類型長度精度小數(shù)位數(shù)默認(rèn)值允許空主鍵說明1(BookID)圖書編號(hào)Int101V自動(dòng)編號(hào)2(TXM)條形碼nvarchar203(Title)書名nvarchar2004(TSLX)圖書類型Nvarchar50V5(Author)作者Nvarchar2

16、0V6(Translator) 譯者Nvarchar20V7(ISBN)ISBNNvarchar208(CBS)Nvarchar30V10(SJMC)書架名稱Nvarchar20V11(XCL)現(xiàn)存量Smallint2V12(KCZL)庫存總量Smallint2V13(RKSJ)入庫時(shí)間DatatimeV14(CZY)操作員Nvarchar10V .15(JJ)簡介Nvarchar200V16(JCCS)借出次數(shù)Smallint2V17(SFzhuxiao)是否注銷Nvarchar2V18(BookZT)圖書狀態(tài)nvarchar50V借書文件表(JSWJB):序號(hào)字段名類型長度精度小數(shù)位數(shù)默認(rèn)

17、值允許空主鍵外鍵說明1(JYID)借閱編號(hào)Int101V自動(dòng)編號(hào)2(BookID)圖書編號(hào)Int10V3(StuID)學(xué)生編號(hào)Int10V4(JYSJ)借閱時(shí)間Datatim e8V5(DQSJ)到期時(shí)間Datatim e8V6(XJCS)續(xù)借次數(shù)Smallint2V7(CZY)操作員Nvarcha r10V8(ZT)狀態(tài)navarch ar50V3.4 032學(xué)生信息查詢模塊具體格式如下:功能編號(hào)032功能名稱學(xué)生信息查詢模塊容功能流程圖所屬業(yè)務(wù)圖書館管理所屬項(xiàng)目圖書館管理系統(tǒng)編寫人完成時(shí)間2007-11-26貝碼第12頁3.4.1功能流程圖功能流程圖如下圖:需要說明的問題:錄入項(xiàng)檢測使用j

18、avascript來實(shí)現(xiàn)(各項(xiàng)非空);操作權(quán)限:面向所有用戶3.4.2功能描述(8)功能類型:查詢數(shù)據(jù)(9)功能概述:顯示查詢結(jié)果(10)前提業(yè)務(wù):無(11)后繼業(yè)務(wù):(12)功能約束:沒有約束;(13)約束描述:(14)操作權(quán)限:面向所有用戶3.4.3界面設(shè)計(jì)(4)基礎(chǔ)信息處理下表是動(dòng)作說明:動(dòng)作編號(hào)動(dòng)作名稱動(dòng)作描述A01確定點(diǎn)擊按鈕提交數(shù)據(jù)到圖 書查詢數(shù)據(jù)處理.jsp頁 面A02圖書信息查詢點(diǎn)擊按鈕 將貝聞轉(zhuǎn)至圖書信息查詢.jsp頁面(5)數(shù)據(jù)要求(3)功能類型:數(shù)據(jù)查詢(4)數(shù)據(jù)描述:頁面顯示字段見下表:字段名稱長度錄入方式是否非空項(xiàng)數(shù)據(jù)檢驗(yàn)?zāi)J(rèn)顯示請(qǐng)輸入學(xué)號(hào) 10文本框YN(6)學(xué)生信

19、息查詢的輸出項(xiàng)學(xué)生學(xué)號(hào)性別生日證件聯(lián)系登記日期有效期至已借書數(shù)3.4.4模塊部邏輯5, Search.jsp用于顯示界面的容,給用戶顯示一個(gè)查詢接口6, Index.jsp用來調(diào)度所有的頁面,它根據(jù)傳入的參數(shù)來決定包含哪一個(gè)jsp頁面來顯示容;在index.jsp 頁面中,它根據(jù)傳入的參數(shù)來決定包含哪一個(gè)jsp頁面來顯示容;則可以通過<jsp:includepage=" <%=%/>,禾用 jsp:include 標(biāo)簽來被動(dòng)態(tài)加載發(fā)送到相應(yīng)頁面;7, List.jsp用來顯示查詢到的結(jié)果列表。8, View.jsp用來顯示查詢到的學(xué)生的各項(xiàng)屬性。注釋:學(xué)生信息查詢模

20、塊與圖書查詢模塊屬于同一類功能。實(shí)現(xiàn) 可以完全類似。3.4.5存儲(chǔ)分配學(xué)生文件:序號(hào)字段字段名類型長度精度小數(shù)位數(shù)默認(rèn) 值允許空主鍵說明1XSID學(xué)生編號(hào)Int101V自動(dòng)編號(hào)2Namenvarchar103Sex性別nvarchar2V4ZJH證件nvarchar25V5LXDH聯(lián)系nvarchar40V6DJRQ登記日期datetime8V7YXQZ有效期至datetime8V8YJSS已借書數(shù)smallint2V9RuleID學(xué)生規(guī)則IDint1010ZT是否掛失nvarchar2V借書文件:序號(hào)字段名類型長度精度小數(shù)位數(shù)默認(rèn)值允許空主鍵外鍵說明1借閱編號(hào)Int101V自動(dòng)編號(hào)2圖書編I

21、nt10V號(hào)3學(xué)生編號(hào)Int10V4借閱時(shí)間Datatim e8V5到期時(shí)間Datatim e8V6續(xù)借次數(shù)Smallint2V7操作員Nvarcha r10V8狀態(tài)navarch ar50V3.5 021入庫管理具體格式如下:功能編號(hào)021功能名稱入庫管理模塊容功能流程圖所屬業(yè)務(wù)圖書館管理所屬項(xiàng)目圖書館管理系統(tǒng)編寫人完成時(shí)間2007-11-27貝碼第16頁3.5.1 功能流程圖(1)執(zhí)行數(shù)據(jù)庫操作的時(shí)候要驗(yàn)證權(quán)限(2)錄入項(xiàng)檢驗(yàn)用javascript 來實(shí)現(xiàn)(選項(xiàng)非空)3.5.2 功能描述(1)功能類型:添加數(shù)據(jù)(2)功能描述:增加圖書目錄文件中的圖書信息(3)前提業(yè)務(wù):管理模塊(4)后繼業(yè)

22、務(wù):無(5)功能約束:權(quán)限約束(6)約束描述:無(7)操作權(quán)限:圖書館管理人員3.5.3界面設(shè)計(jì)1,基礎(chǔ)信息處理動(dòng)作說明如下表:動(dòng)作編號(hào)動(dòng)作名稱動(dòng)作描述A01保存點(diǎn)擊按鈕提交數(shù)據(jù)到入 庫數(shù)據(jù)處理.jsp頁向A02退出點(diǎn)擊按鈕閉將當(dāng)前貝聞夫2,數(shù)據(jù)描述(1)功能類型:數(shù)據(jù)增加。(2)數(shù)據(jù)描述:貝聞錄入字段見卜表:字段名稱長度錄入方式是否非空項(xiàng)數(shù)據(jù)檢驗(yàn)?zāi)J(rèn)顯示書號(hào)30文本框YN條形碼20文本框YN書名200文本框YN作者20文本框YN30文本框YN版次50文本框YN圖書類別20文本框YN單價(jià)8文本框YN錄入時(shí)間默認(rèn)系統(tǒng)時(shí)年 月日只需程序記顯示在入庫問,格式:錄界面錄入人默認(rèn)系統(tǒng)登只需程序記顯示在入

23、庫陸人員錄界面3,入庫數(shù)據(jù)處理部邏輯:圖書入庫采用表格進(jìn)行多行添加: 利用javaBean來編寫一個(gè)BookBean來管理圖書。在BookBean類中增加記錄的公共接口來實(shí)現(xiàn)入庫數(shù)據(jù)的添加。具體的類設(shè)計(jì)如下:Public int insert (Hashtable hash)int intID = makeID("Book","BookID","","",true);Vector vect = new Vector();vect.add("Book");vect.add(addVector(&q

24、uot;BookID",String.valueOf(intID),"NUM" );vect.add(addVector("Title",ds.toString(String)hash.get ("TITLE"),"CHAR");vect.add(addVector("Author",ds.toString(String)hash.get ("AUTHOR"),"CHAR");vect.add(addVector("ISBN"

25、,ds.toString(String)hash.get("ISBN"),"CHAR");00000000000000000000/還有其他選項(xiàng),同上格式return insertRecord(vect);該方法有一個(gè)參數(shù),是java.util.Hashtable 類,在調(diào)用該 方法前,先用和hashtable的put方法將字段名和該條記錄的值 存入hashtable中,然后將這個(gè)hashtable 作為參數(shù)傳入insert 方法中。在insert 方法的最后,調(diào)用 ParentBean中的insertRecord 方法,insertRecord可以根據(jù)

26、傳入的參數(shù)自動(dòng)的生成增加記錄的 SQL語句并通過JDBC發(fā)送到數(shù)據(jù)庫。正對(duì)ParentBean類:主要是實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的各種操作:如 與數(shù)據(jù)庫的連接,對(duì)數(shù)據(jù)庫的操作。3.5.4存儲(chǔ)分配圖書目錄文件:序號(hào)字段名類型長度精度小數(shù)位數(shù)默認(rèn)值允許空主鍵說明1圖書編號(hào)Int101V自動(dòng)編號(hào)2條形碼nvarchar203書名nvarchar2004圖書類型Nvarchar50V5作者Nvarchar20V6譯者Nvarchar20V7ISBNNvarchar208Nvarchar30V9價(jià)格Money8V10書架名稱Nvarchar20V11現(xiàn)存量Smallint2V12庫存總量Smallint2V13入庫

27、時(shí)間Datatime8V14操作員Nvarchar10V15簡介Nvarchar200V16借出次數(shù)Smallint2V17是否注銷Nvarchar2V18圖書狀態(tài)nvarchar50V入庫表:序號(hào)字段名類型長度精度小數(shù)位數(shù)默認(rèn)值允許空主鍵外鍵說明1書號(hào)Nvarchar301V自動(dòng)編號(hào)2條形碼Nvarchar20V3書名Nvarchar200V4作者Nvarchar20V5Nvarchar30V6版次Nvarchar50V7圖書類Nvarchar20V別8存放位Nvarchar20V置9單價(jià)Money8V10入庫數(shù)Smallint2V里11金額Money812經(jīng)手人Nvarchar10V13票

28、號(hào)Nvarchar3014操作員Nvarchar10V15日期Datatime8V注:3.6 022學(xué)生借書模塊具體格式如下:功能編號(hào)022功能名稱學(xué)生借書模塊容功能流程圖所屬業(yè)務(wù)圖書館管理所屬項(xiàng)目圖書館管理系統(tǒng)編寫人完成時(shí)間2007-11-27貝碼第21頁3.6.1功能流程圖需要說明的問題:(1) 在進(jìn)行借書,修改數(shù)據(jù)信息時(shí),應(yīng)先查詢學(xué)生的欠款信息,如欠款 超額,則利用javascript實(shí)現(xiàn)信息提示,拒絕借書,如無超額, 則接受借書。(2) 為便于以后的恢復(fù)操作,此修改操作只在表中做一個(gè)標(biāo)志,并不是 真正的對(duì)其修改;3.6.2 功能描述(1)功能類型:修改數(shù)據(jù)和查詢數(shù)據(jù)(2)功能描述:更新

29、學(xué)生借書文件,圖書目錄文件等中的信息;(3)前提業(yè)務(wù):管理模塊(4)后繼業(yè)務(wù):無(5)功能約束:權(quán)限約束(6)約束描述:(7)操作權(quán)限:圖書館管理人員3.6.3 界面設(shè)計(jì)1, 基礎(chǔ)信息處理動(dòng)作說明如下:動(dòng)作編號(hào)動(dòng)作名稱動(dòng)作描述A01重置點(diǎn)擊按鈕將文本框的所有數(shù)據(jù)清空A02提交點(diǎn)擊按鈕將數(shù)據(jù)提交到處理學(xué)生超額信息頁而A03取消將當(dāng)前頁而關(guān)閉,并取消 借閱2, 數(shù)據(jù)描述(1)功能類型:修改數(shù)據(jù)和查詢數(shù)據(jù)(2)界面設(shè)計(jì):書 藕 借 閱 管 理學(xué)生迎伴號(hào)碼:書箝篆用碼;重置 .(3)數(shù)據(jù)字段描述:字段名稱長度錄入方式是否非空項(xiàng)數(shù)據(jù)檢驗(yàn)?zāi)J(rèn)顯示學(xué)生證件10文本框YN書籍條形碼號(hào)10文本框YN3, 圖書借

30、閱數(shù)據(jù)處理部邏輯If(strEdit.equals( "1")If(學(xué)生超額|學(xué)生不存在)ifSuccess=false;elseIf(!bb.IsValid(hash)/ 新增操作Int intdel=bb.addBorrow(hash);If(intdel=null)ifSuccess=false;elseFor( int i=0;i<intdel.length;i+ ) %><script>alert( “ <%=intdeli%> ” );</script><%If(intdeli!=1)ifSuccess=fa

31、lse;If(!ifSuccess)%><script>alert( “借閱失??!”);</script><%else%><script>alert( “借閱成功!”);</script><%執(zhí)行的過程如下:首先要驗(yàn)證學(xué)生信息是否存在和學(xué)生的欠款是否超額,也就是說學(xué)生是否可確定合法之后調(diào)用bb.addBorrow(hash) 來完成借閱流程。流程其實(shí)就是對(duì)幾個(gè)表進(jìn)行增改的操作關(guān)于 addBorrow(hash) 的算法:public int addBorrow(Hashtable hash)System.out.print

32、ln(" 批量處理新增借閱。 。 。 。 。 ");String sql=""int intID = makeID("JYWJB","JYID","","",true);String strID=String.valueOf(intID);String strZJH = ds.toString(String)hash.get("ZJH");/證件號(hào)String strTXM = ds.toString(String)hash.get("TXM&q

33、uot;);/條形碼String strJYSJ = ds.toString(String)hash.get("JYSJ");/借閱時(shí)間String strXSID = ""/學(xué)生IDString strBOOKID = ""/ 圖書 IDString strDQSJ = ""/到期時(shí)間String strXJCS = ""/續(xù)借次數(shù)/ 根據(jù)學(xué)生證件號(hào)取的學(xué)生ID/ 根據(jù)學(xué)生ID 取得規(guī)則ID, 然后取得可以借閱天數(shù),sql="select Student.RuleID,Student

34、.XSID,Rule.KJYSJ "+" from Studengt,RULE "+"where Student.ZJH='"+strZJH+"'andStudent.RuleID=Rule.RuleID "Hashtable hashReId=(Hashtable)searchOneData(sql);strXSID=ds.toString(String)hashReId.get("XSID");String strKJYSJ=ds.toString(String)hashReId.ge

35、t("KJYSJ");/ 根據(jù)條形碼取得圖書IDsql="select BOOKID from Book where TXM='"+strTXM+"'"Hashtable hashBKID=(Hashtable)searchOneData(sql);strBOOKID = ds.toString(String)hashBKID.get("BOOKID");/ 新增操作createStatement();clearBatch();sql=" insert into JSWJB(JYID,XS

36、ID,BOOKID,JYSJ,DQSJ,ZT,XJCS) "+"values("+strID+","+strXSID+","+strBOOKID+",'"+strJYSJ+"',to_char(to_date('"+strJYSJ+"','yyyy-MM-dd')+"+strKJYSJ+"),'yyyy-MM-dd')"+",'"+strZero+&quo

37、t;','"+strZero+"')"addBatch(sql);sql="update Book set ZT=' 借出 ' where BOOKID="+strBOOKID;addBatch(sql);sql="update Student set YJSS=YJSS+1 where XSID="+strXSID;addBatch(sql);int result=executeBatch();closeStm();return result;而對(duì)于取消按鈕事件,由于要實(shí)現(xiàn)取消借閱,

38、所以需要調(diào)用 delBorrow(String id)來取消借閱操作;算法如下:public int口 delBorrow(String id)System.out.println("批量處理取消借閱。");String sql=""sql="select BOOKID from JSWJB where JYID="+id;Hashtable hash=(Hashtable)searchOneData(sql);String strBOOKID=(String)hash.get("BOOKID");createSt

39、atement();clearBatch();sql="update JSWJB set ZT='"+strOne+"' where JYID="+id;addBatch(sql);sql="update BOOK set ZT=' 可借'where BOOKID="+strBOOKID;addBatch(sql);int result-executeBatch();closeStm();return result;3.6.4存儲(chǔ)分配借書文件:序號(hào) 字段名 iii <5 SE 小數(shù)位默認(rèn)值允許空

40、E5 #5 w- 數(shù)1借閱編Int101M自動(dòng)號(hào)編號(hào)2圖書編號(hào)Int10V3學(xué)生編Int10V號(hào)4借閱時(shí)Datatim8V間e5到期時(shí)Datatim8V間e6續(xù)借次Smallin2V數(shù)t7操作員Nvarcha10Vr8狀態(tài)navarch50Var罰款單:序號(hào)字段名類型長度精度 小數(shù)位 默認(rèn)值允許空 主鍵外鍵說明數(shù)1借閱編Int101V自動(dòng)編號(hào)號(hào)2圖書編Int10V號(hào)3學(xué)生編Int10V號(hào)4應(yīng)罰金Smallin3V額t5實(shí)收金Smallin3V額t6狀態(tài)Nvarcha1Vr7備注Nvarcha200Vr學(xué)生文件:序號(hào)字段字段名類型長度 精度小數(shù) 默認(rèn) 允許主鍵 說明位數(shù)值空1XSID學(xué)生編號(hào)In

41、t101,自動(dòng)編號(hào)2Namenvarchar 103Sex性別nvarchar2V4ZJH證件nvarchar25V5LXDH聯(lián)系nvarchar40V6DJRQ登記日期datetime8V7YXQZ有效期至datetime8V8YJSS已借書數(shù)smallint2V9RuleID學(xué)生規(guī)則IDint1010ZT是否掛失nvarchar2V3.7 023學(xué)生還書具體格式如下:功能編號(hào)023功能名稱學(xué)生還模塊容功能流程圖所屬業(yè)務(wù)圖書館管理所屬項(xiàng)目圖書館管理系統(tǒng)編寫人完成時(shí)間2007-11-27貝碼第27頁3.7.1功能流程圖需要說明的問題:(1)顯示結(jié)果可直接在處理結(jié)果.jsp中利用javascri

42、pt來實(shí)現(xiàn)顯示功能!(2)處理要包含:對(duì)圖書狀態(tài)和借書文件表息的修改以及學(xué)生的欠款金額 的計(jì)算,并更新Publish表。3.7.2功能描述(1)功能類型:修改數(shù)據(jù)(2)功能概述:完成學(xué)生的還書業(yè)務(wù)并計(jì)算學(xué)生的欠款信息(3)前提業(yè)務(wù):管理模塊(4)后繼業(yè)務(wù):無(5)功能約束:權(quán)限約束(6)約束描述:(7)操作權(quán)限:圖書館管理人員3.7.3界面設(shè)計(jì)(1)基礎(chǔ)信息處理動(dòng)作編號(hào)動(dòng)作名稱動(dòng)作描述A01重置點(diǎn)擊按鈕將文本框的所有數(shù)據(jù)清空A02提交點(diǎn)擊按鈕將數(shù)據(jù)提交到處理還書信息頁向(2)界面描述:判箱條形眄:重苴提交(3)數(shù)據(jù)描述字段名稱長度錄入方式是否非空項(xiàng)數(shù)據(jù)檢驗(yàn)?zāi)J(rèn)顯示書籍條形碼10文本框YN號(hào)只是

43、調(diào)對(duì)于還書業(yè)務(wù)的處理,實(shí)質(zhì)上與借書業(yè)務(wù)的實(shí)現(xiàn)基本上相同,用了 backBorrow(hash) 來實(shí)現(xiàn)還書功能;If(strEdit.equals( “ 1” )Int intdel=bb.BackBorrow(hash);If(intdel=null)ifSuccess=false;elseFor( int i=0;i<intdel.length;i+ ) If(intdeli!=1)ifSuccess=false;If(!ifSuccess)%><script>alert( “歸還操作失??!”);</script><%else%><sc

44、ript>alert( “歸還操作成功!”);</script><%針對(duì)backBorrow (hash)算法如下:public int backBorrow(String TXM)System.out.println(" 批量處理還書。 。 。 。 ");String sql=""StringstrBOOKID=ds.toString(String)toName("BOOK","TXM","BOOKID",TXM);String strNow = ds.getDateT

45、ime();strNow = strNow.substring(0,10);createStatement();clearBatch();sql="update JSWJB set ZT='"+strOne+"',DQSJ='"+strNow+"' where BOOKID="+strBOOKID+" and ZT='"+strZero+"”'System.out.println("sql1:"+sql);addBatch(sql);sql="update BOOK set ZT=' 可借'where BOOKID="+strBOOKID;System.out.println("sql2:"+sql);addBatch(sql);int result-executeBatch();closeStm();return result;3.7.4存儲(chǔ)分配借書文件:序號(hào)字段名類型長度精度小數(shù)位數(shù)默認(rèn)值允許空主鍵外鍵說明1借閱編號(hào)Int101V自動(dòng)編號(hào)2圖書編號(hào)Int10

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論