圖書管理系統(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頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

.2018年11月目錄TOC\o"2-3"\t"標(biāo)題1,1"1 引言21.1 編寫目的21.2 項(xiàng)目背景21.3 定義21.4 參考資料22 總體設(shè)計(jì)22.1 需求概述22.2 軟件結(jié)構(gòu)23 程序描述23.1 01登陸模塊23.2 02管理模塊23.3 031圖書信息查詢模塊23.4 032學(xué)生信息查詢模塊23.5 021入庫管理模塊23.6 022學(xué)生借書模塊23.7 023學(xué)生還書模塊23.8 024圖書注銷模塊23.9 接口設(shè)計(jì)23.10 測(cè)試要點(diǎn)2.文檔名稱:詳細(xì)設(shè)計(jì)規(guī)格說明書項(xiàng)目名稱:圖書館管理系統(tǒng)項(xiàng)目負(fù)責(zé)人:陳新光編寫TEST_____年_____月_____日校對(duì)所有小組成員_____年_____月_____日審核所有小組成員_____年_____月_____日批準(zhǔn)XXX_____年_____月_____日開發(fā)單位__________________________________________組員: TEST1TEST2TEST3引言編寫目的圖書管理系統(tǒng)詳細(xì)設(shè)計(jì)是設(shè)計(jì)的第二個(gè)階段,這個(gè)階段的主要任務(wù)是在圖書管理系統(tǒng)概要設(shè)計(jì)書基礎(chǔ)上,對(duì)概要設(shè)計(jì)中產(chǎn)生的功能模塊進(jìn)行過程描述,設(shè)計(jì)功能模塊的內(nèi)部細(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è)模塊的內(nèi)部功能,即模塊設(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)的描述,直接翻譯、轉(zhuǎn)化為用某種程序設(shè)計(jì)語言書寫的程序。項(xiàng)目背景根據(jù)XX學(xué)校希望能夠充分利用現(xiàn)代科技來提高圖書管理的效率,在原有的辦公系統(tǒng)基礎(chǔ)上進(jìn)行擴(kuò)展,將一些可以用計(jì)算機(jī)來管理的都進(jìn)行計(jì)算機(jī)化,使得圖書館管理人員工作更加方便,工作效率也更加的高。定義?Mysql:數(shù)據(jù)庫管理軟件?DBMS:數(shù)據(jù)庫管理系統(tǒng)?Windows2000/2003/XP:運(yùn)行環(huán)境?JSP:軟件開發(fā)語言?Myeclipse:開發(fā)工具參考資料《軟件工程導(dǎo)論——第5版》張海藩編著清華大學(xué)出版社 《實(shí)用軟件工程》 LeszekA.MaciaszekBrucLeeLiong著 機(jī)械工業(yè)出版社總體設(shè)計(jì)需求概述按照需求分析文檔中的規(guī)格要求,使用條形碼掃描器進(jìn)書、借書、還書,使得信息傳遞準(zhǔn)確、流暢。同時(shí),系統(tǒng)最大限度地實(shí)現(xiàn)易安裝,易維護(hù)性,易操作性,運(yùn)行穩(wěn)定,安全可靠。軟件結(jié)構(gòu)系統(tǒng)由3大模塊,6小模塊組成:序號(hào) 編號(hào) 名稱01登陸模塊02管理模塊031 圖書信息查詢模塊032 學(xué)生信息查詢模塊021 入庫管理模塊022 學(xué)生借書模塊023 學(xué)生還書模塊024 圖書注銷模塊040 基礎(chǔ)信息設(shè)置程序描述01登陸模塊具體格式見下表:功能編號(hào)01功能名稱登陸模塊內(nèi)容功能流程圖所屬業(yè)務(wù)圖書館管理所屬項(xiàng)目圖書館管理系統(tǒng)編寫人陳新光完成時(shí)間2007-11-26頁碼第5頁功能流程圖功能流程圖如下圖所示。需要說明的問題:錄入項(xiàng)檢測(cè)使用javascript實(shí)現(xiàn)〔各項(xiàng)必須非空登陸.jsp頁面也包含查詢按鈕,在此的登陸.jsp提交的數(shù)據(jù)只是用戶名和密碼。功能描述功能類型:查詢數(shù)據(jù)功能描述:提高系統(tǒng)的安全性前提業(yè)務(wù):無后繼業(yè)務(wù):02〔管理模塊功能約束:權(quán)限約束約束描述:操作權(quán)限:圖書館管理員界面設(shè)計(jì)基礎(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)至到圖書信息查詢.jsp頁面A04學(xué)生信息查詢點(diǎn)擊將頁面轉(zhuǎn)至學(xué)生信息查詢.jsp頁面A05基礎(chǔ)信息點(diǎn)擊將顯示基礎(chǔ)信息數(shù)據(jù)要求功能類型:數(shù)據(jù)查詢數(shù)據(jù)描述:頁面顯示錄入字段如下:字段名稱長度錄入方式是否非空項(xiàng)數(shù)據(jù)檢驗(yàn)?zāi)J(rèn)顯示管理員ID10文本框YN管理員密碼15passwordYN登陸數(shù)據(jù)處理.jsp的內(nèi)部邏輯登陸數(shù)據(jù)處理: 關(guān)鍵點(diǎn)兩點(diǎn):1,數(shù)據(jù)庫連接;2,記錄登陸信息及信息處理;數(shù)據(jù)庫連接:如下:publicclasslib_system_ConnextendsObject{publiclib_system_Conn<>{ } privateConnectionconn=null;privateResultSetrs; Stringre="";//設(shè)置你的數(shù)據(jù)庫ip Stringdbip="127.0.0.1";//設(shè)置你的數(shù)據(jù)庫用戶名和密碼: Stringuse="root"; Stringpass="860409";//設(shè)置您的數(shù)據(jù)庫名 StringdbName="lib_system";publicjava.sql.ConnectiongetConn<>{try{ Class.forName<"org.gjt.mm.mysql.Driver">.newInstance<>; Stringurl="jdbc:mysql://"+dbip+":3306/"+dbName+"?user="+use+"&password="+pass+"&useUnicode=true&characterEncoding=GBK";conn=DriverManager.getConnection<url>; }catch<Exceptione>{ e.printStackTrace<>; }returnthis.conn; }}//在Mysql建立lib_system數(shù)據(jù)庫,之后將與數(shù)據(jù)操作相關(guān)數(shù)據(jù)與該數(shù)據(jù)庫相連;記錄登陸信息及信息處理:當(dāng)用戶點(diǎn)擊"登陸"按鈕之后,數(shù)據(jù)將提交到登陸數(shù)據(jù)處理.jsp頁面。取得帳號(hào)密碼這兩個(gè)從頁面?zhèn)魅氲闹?然后跟數(shù)據(jù)庫當(dāng)中管理員表中的賬號(hào)和密碼比較。如果正確的話,在JSP的SESSION中存入一個(gè)標(biāo)記屬性,表示當(dāng)前已經(jīng)有管理員登陸了。處理完畢后,跳轉(zhuǎn)到管理頁面,如果失敗,則提示登陸失敗,并重新進(jìn)入到登陸頁面。具體的邏輯如下:<%Stringusername=ParamUtil.getString<request,"admin_ID">;//取得用戶名Stringpassword=ParamUtil.getString<request,"admin_password">;//取得密碼StringerroMsg="";//錯(cuò)誤碼if<username!=null&&password!=null> try { SkinUtil.login<request,response,admin_ID,admin_password>;//在JSP的session中存如一個(gè)標(biāo)記屬性,表示當(dāng)前已經(jīng)有管理員登陸了Session.setAttribute<"admin_ID",admin_ID>; response.sendRedirect<"login_process.jsp">; } catch<UserNotFoundExceptione> { erroMsg="錯(cuò)誤的用戶名和密碼"; response.sendRedirect<"login_process.jsp?"+response.encodeURL<erroMsg>>; }else{ out.println<"請(qǐng)?zhí)顚懞媚愕膫€(gè)人信息!">;}%>存儲(chǔ)分配管理員表:〔admin序號(hào)字段名類型長度精度小數(shù)位數(shù)默認(rèn)值允許空主鍵說明1<admin_ID>管理員IDInt10√2<admin_password>管理員密碼Char153<admin_quanxian>權(quán)限Nvarchar1502管理模塊具體格式見下表功能編號(hào)02功能名稱管理模塊內(nèi)容功能流程圖所屬業(yè)務(wù)圖書館管理所屬項(xiàng)目圖書館管理系統(tǒng)編寫人陳新光完成時(shí)間2007-11-26頁碼第8頁功能流程圖功能流程圖如下所示:需要說明的問題:在選擇相應(yīng)的業(yè)務(wù)時(shí),需要在當(dāng)前的頁面顯示;并且在管理頁面內(nèi),默認(rèn)顯示圖書查詢頁面。功能描述功能類型:其他功能概述:總體歸納圖書館管理功能前提業(yè)務(wù):登陸模塊〔01后續(xù)業(yè)務(wù):021,022,023,024,03功能約束:權(quán)限約束約束描述:操作權(quán)限:圖書館管理人員界面設(shè)計(jì)基本信息處理動(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頁面數(shù)據(jù)要求功能類型:其他031圖書信息查詢模塊具體格式如下:功能編號(hào)031功能名稱圖書信息查詢模塊內(nèi)容功能流程圖所屬業(yè)務(wù)圖書館管理所屬項(xiàng)目圖書館管理系統(tǒng)編寫人陳新光完成時(shí)間2007-11-26頁碼第10頁功能流程圖功能流程圖如下圖:需要說明的問題:錄入項(xiàng)檢測(cè)使用javascript來實(shí)現(xiàn)〔各項(xiàng)非空;操作權(quán)限:面向所有用戶功能描述功能類型:查詢數(shù)據(jù)功能概述:顯示查詢結(jié)果前提業(yè)務(wù):無后繼業(yè)務(wù):功能約束:沒有約束;約束描述:操作權(quán)限:面向所有用戶界面設(shè)計(jì)基礎(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頁面數(shù)據(jù)要求功能類型:數(shù)據(jù)查詢數(shù)據(jù)描述:頁面顯示字段見下表:字段名稱長度錄入方式是否非空項(xiàng)數(shù)據(jù)檢驗(yàn)?zāi)J(rèn)顯示請(qǐng)選擇查詢類型20下拉列表YN請(qǐng)輸入查詢內(nèi)容200文本框YN圖書信息查詢的輸出項(xiàng)書名圖書類型作者譯者ISBN出版社價(jià)格書架名稱現(xiàn)存量簡介書名圖書類型模塊內(nèi)部邏輯Search.jsp用于顯示界面的內(nèi)容,給用戶顯示一個(gè)查詢接口Lib_query.jsp用來調(diào)度所有的頁面,它根據(jù)傳入的參數(shù)來決定包含哪一個(gè)jsp頁面來顯示內(nèi)容;在lib_query.jsp頁面中,它根據(jù)傳入的參數(shù)來決定包含哪一個(gè)jsp頁面來顯示內(nèi)容;則可以通過<jsp:includepage="<%=……%>"/>,利用jsp:include標(biāo)簽來被動(dòng)態(tài)加載發(fā)送到相應(yīng)頁面;chuli.jsp用來處理數(shù)據(jù)查詢和顯示查詢到的結(jié)果列表。在這個(gè)頁面中,數(shù)據(jù)要求是以列表的形式顯示到輸出頁面。由于查詢到的結(jié)果可能過多,所以采用分頁形式顯示;對(duì)于分頁功能的內(nèi)部邏輯:View.jsp用來顯示查詢到的圖書的各項(xiàng)屬性。存儲(chǔ)分配圖書目錄文件〔Book:序號(hào)字段名類型長度精度小數(shù)位數(shù)默認(rèn)值允許空主鍵說明1<BookID>圖書編號(hào)Int101√自動(dòng)編號(hào)2<TXM>條形碼nvarchar203<Title>書名nvarchar2004<TSLX>圖書類型Nvarchar50√5<Author>作者Nvarchar20√6<Translator>譯者Nvarchar20√7<ISBN>ISBNNvarchar208<CBS>出版社Nvarchar30√10<SJMC>書架名稱Nvarchar20√11<XCL>現(xiàn)存量Smallint2√12<KCZL>庫存總量Smallint2√13<RKSJ>入庫時(shí)間Datatime√14<CZY>操作員Nvarchar10√15<JJ>簡介Nvarchar200√16<JCCS>借出次數(shù)Smallint2√17<SFzhuxiao>是否注銷Nvarchar2√18<BookZT>圖書狀態(tài)nvarchar50√借書文件表<JSWJB>:序號(hào)字段名類型長度精度小數(shù)位數(shù)默認(rèn)值允許空主鍵外鍵說明1〔JYID借閱編號(hào)Int101√自動(dòng)編號(hào)2<BookID>圖書編號(hào)Int10√3<StuID>學(xué)生編號(hào)Int10√4<JYSJ>借閱時(shí)間Datatime8√5<DQSJ>到期時(shí)間Datatime8√6<XJCS>續(xù)借次數(shù)Smallint2√7<CZY>操作員Nvarchar10√8<ZT>狀態(tài)navarchar50√032學(xué)生信息查詢模塊具體格式如下:功能編號(hào)032功能名稱學(xué)生信息查詢模塊內(nèi)容功能流程圖所屬業(yè)務(wù)圖書館管理所屬項(xiàng)目圖書館管理系統(tǒng)編寫人陳新光完成時(shí)間2007-11-26頁碼第12頁功能流程圖功能流程圖如下圖:需要說明的問題:錄入項(xiàng)檢測(cè)使用javascript來實(shí)現(xiàn)〔各項(xiàng)非空;操作權(quán)限:面向所有用戶功能描述功能類型:查詢數(shù)據(jù)功能概述:顯示查詢結(jié)果前提業(yè)務(wù):無后繼業(yè)務(wù):功能約束:沒有約束;約束描述:操作權(quán)限:面向所有用戶界面設(shè)計(jì)基礎(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頁面數(shù)據(jù)要求功能類型:數(shù)據(jù)查詢數(shù)據(jù)描述:頁面顯示字段見下表:字段名稱長度錄入方式是否非空項(xiàng)數(shù)據(jù)檢驗(yàn)?zāi)J(rèn)顯示請(qǐng)輸入學(xué)號(hào)10文本框YN學(xué)生信息查詢的輸出項(xiàng)學(xué)生學(xué)號(hào)姓名性別生日證件號(hào)碼登記日期有效期至已借書數(shù)模塊內(nèi)部邏輯Search.jsp用于顯示界面的內(nèi)容,給用戶顯示一個(gè)查詢接口Index.jsp用來調(diào)度所有的頁面,它根據(jù)傳入的參數(shù)來決定包含哪一個(gè)jsp頁面來顯示內(nèi)容;在index.jsp頁面中,它根據(jù)傳入的參數(shù)來決定包含哪一個(gè)jsp頁面來顯示內(nèi)容;則可以通過<jsp:includepage="<%=……%>"/>,利用jsp:include標(biāo)簽來被動(dòng)態(tài)加載發(fā)送到相應(yīng)頁面;List.jsp用來顯示查詢到的結(jié)果列表。View.jsp用來顯示查詢到的學(xué)生的各項(xiàng)屬性?!铩镒⑨專簩W(xué)生信息查詢模塊與圖書查詢模塊屬于同一類功能。實(shí)現(xiàn)可以完全類似。存儲(chǔ)分配學(xué)生文件:序號(hào)字段字段名類型長度精度小數(shù)位數(shù)默認(rèn)值允許空主鍵說明1XSID學(xué)生編號(hào)Int101√自動(dòng)編號(hào)2Name姓名nvarchar103Sex性別nvarchar2√4ZJH證件號(hào)碼nvarchar25√5LXDHnvarchar40√6DJRQ登記日期datetime8√7YXQZ有效期至datetime8√8YJSS已借書數(shù)smallint2√9RuleID學(xué)生規(guī)則IDint1010ZT是否掛失nvarchar2√借書文件:序號(hào)字段名類型長度精度小數(shù)位數(shù)默認(rèn)值允許空主鍵外鍵說明1借閱編號(hào)Int101√自動(dòng)編號(hào)2圖書編號(hào)Int10√3學(xué)生編號(hào)Int10√4借閱時(shí)間Datatime8√5到期時(shí)間Datatime8√6續(xù)借次數(shù)Smallint2√7操作員Nvarchar10√8狀態(tài)navarchar50√021入庫管理具體格式如下:功能編號(hào)021功能名稱入庫管理模塊內(nèi)容功能流程圖所屬業(yè)務(wù)圖書館管理所屬項(xiàng)目圖書館管理系統(tǒng)編寫人陳新光完成時(shí)間2007-11-27頁碼第16頁功能流程圖執(zhí)行數(shù)據(jù)庫操作的時(shí)候要驗(yàn)證權(quán)限錄入項(xiàng)檢驗(yàn)用javascript來實(shí)現(xiàn)〔選項(xiàng)非空功能描述功能類型:添加數(shù)據(jù)功能描述:增加圖書目錄文件中的圖書信息。前提業(yè)務(wù):管理模塊后繼業(yè)務(wù):無功能約束:權(quán)限約束約束描述:無操作權(quán)限:圖書館管理人員界面設(shè)計(jì)基礎(chǔ)信息處理動(dòng)作說明如下表:動(dòng)作編號(hào)動(dòng)作名稱動(dòng)作描述A01保存點(diǎn)擊按鈕提交數(shù)據(jù)到入庫數(shù)據(jù)處理.jsp頁面A02退出點(diǎn)擊按鈕將當(dāng)前頁面關(guān)閉數(shù)據(jù)描述功能類型:數(shù)據(jù)增加。數(shù)據(jù)描述:頁面錄入字段見下表:字段名稱長度錄入方式是否非空項(xiàng)數(shù)據(jù)檢驗(yàn)?zāi)J(rèn)顯示書號(hào)30文本框YN條形碼20文本框YN書名200文本框YN作者20文本框YN出版社30文本框YN版次50文本框YN圖書類別20文本框YN單價(jià)8文本框YN錄入時(shí)間默認(rèn)系統(tǒng)時(shí)間,格式:年月日只需程序記錄顯示在入庫界面錄入人默認(rèn)系統(tǒng)登陸人員只需程序記錄顯示在入庫界面入庫數(shù)據(jù)處理內(nèi)部邏輯:圖書入庫采用表格進(jìn)行多行添加:利用javaBean來編寫一個(gè)BookBean來管理圖書。在BookBean類中增加記錄的公共接口來實(shí)現(xiàn)入庫數(shù)據(jù)的添加。具體的類設(shè)計(jì)如下:Publicintinsert<Hashtablehash>{intintID=makeID<"Book","BookID","","",true>; Vectorvect=newVector<>; vect.add<"Book">; vect.add<addVector<"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",ds.toString<<String>hash.get<"ISBN">>,"CHAR">>; 。。。。。。。。。。。。。。。。。。。。//還有其他選項(xiàng),同上格式。 returninsertRecord<vect>;}該方法有一個(gè)參數(shù),是java.util.Hashtable類,在調(diào)用該方法前,先用和hashtable的put方法將字段名和該條記錄的值存入hashtable中,然后將這個(gè)hashtable作為參數(shù)傳入insert方法中。 在insert方法的最后,調(diào)用ParentBean中的insertRecord方法,insertRecord可以根據(jù)傳入的參數(shù)自動(dòng)的生成增加記錄的SQL語句并通過JDBC發(fā)送到數(shù)據(jù)庫。 正對(duì)ParentBean類:主要是實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的各種操作:如與數(shù)據(jù)庫的連接,對(duì)數(shù)據(jù)庫的操作。存儲(chǔ)分配圖書目錄文件:序號(hào)字段名類型長度精度小數(shù)位數(shù)默認(rèn)值允許空主鍵說明1圖書編號(hào)Int101√自動(dòng)編號(hào)2條形碼nvarchar203書名nvarchar2004圖書類型Nvarchar50√5作者Nvarchar20√6譯者Nvarchar20√7ISBNNvarchar208出版社Nvarchar30√9價(jià)格Money8√10書架名稱Nvarchar20√11現(xiàn)存量Smallint2√12庫存總量Smallint2√13入庫時(shí)間Datatime8√14操作員Nvarchar10√15簡介Nvarchar200√16借出次數(shù)Smallint2√17是否注銷Nvarchar2√18圖書狀態(tài)nvarchar50√入庫表:序號(hào)字段名類型長度精度小數(shù)位數(shù)默認(rèn)值允許空主鍵外鍵說明1書號(hào)Nvarchar301√自動(dòng)編號(hào)2條形碼Nvarchar20√3書名Nvarchar200√4作者Nvarchar20√5出版社Nvarchar30√6版次Nvarchar50√7圖書類別Nvarchar20√8存放位置Nvarchar20√9單價(jià)Money8√10入庫數(shù)量Smallint2√11金額Money8√12經(jīng)手人Nvarchar10√13票號(hào)Nvarchar30√14操作員Nvarchar10√15日期Datatime8√注:022學(xué)生借書模塊具體格式如下:功能編號(hào)022功能名稱學(xué)生借書模塊內(nèi)容功能流程圖所屬業(yè)務(wù)圖書館管理所屬項(xiàng)目圖書館管理系統(tǒng)編寫人陳新光完成時(shí)間2007-11-27頁碼第21頁功能流程圖需要說明的問題:在進(jìn)行借書,修改數(shù)據(jù)信息時(shí),應(yīng)先查詢學(xué)生的欠款信息,如欠款超額,則利用javascript實(shí)現(xiàn)信息提示,拒絕借書,如無超額,則接受借書。為便于以后的恢復(fù)操作,此修改操作只在表中做一個(gè)標(biāo)志,并不是真正的對(duì)其修改;功能描述功能類型:修改數(shù)據(jù)和查詢數(shù)據(jù)功能描述:更新學(xué)生借書文件,圖書目錄文件等中的信息;前提業(yè)務(wù):管理模塊后繼業(yè)務(wù):無功能約束:權(quán)限約束約束描述:操作權(quán)限:圖書館管理人員界面設(shè)計(jì)基礎(chǔ)信息處理動(dòng)作說明如下:動(dòng)作編號(hào)動(dòng)作名稱動(dòng)作描述A01重置點(diǎn)擊按鈕將文本框內(nèi)的所有數(shù)據(jù)清空A02提交點(diǎn)擊按鈕將數(shù)據(jù)提交到處理學(xué)生超額信息頁面A03取消將當(dāng)前頁面關(guān)閉,并取消借閱數(shù)據(jù)描述功能類型:修改數(shù)據(jù)和查詢數(shù)據(jù)界面設(shè)計(jì):數(shù)據(jù)字段描述:字段名稱長度錄入方式是否非空項(xiàng)數(shù)據(jù)檢驗(yàn)?zāi)J(rèn)顯示學(xué)生證件號(hào)碼10文本框YN書籍條形碼號(hào)10文本框YN圖書借閱數(shù)據(jù)處理內(nèi)部邏輯If<strEdit.equals<"1">>{If<學(xué)生超額|學(xué)生不存在>{ ifSuccess=false;}else{If<!bb.IsValid<hash>>{ //新增操作Intintdel[]=bb.addBorrow<hash>;If<intdel==null>{ ifSuccess=false;}else{For〔inti=0;i<intdel.length;i++{ %><script>alert<"<%=intdel[i]%>">;</script><%If<intdel[i]!=1> ifSuccess=false;}}}}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>的算法:publicint[]addBorrow<Hashtablehash> { System.out.println<"批量處理新增借閱。。。。。。">; Stringsql=""; intintID=makeID<"JYWJB","JYID","","",true>; StringstrID=String.valueOf<intID>; StringstrZJH=ds.toString<<String>hash.get<"ZJH">>;//證件號(hào) StringstrTXM=ds.toString<<String>hash.get<"TXM">>;//條形碼 StringstrJYSJ=ds.toString<<String>hash.get<"JYSJ">>;//借閱時(shí)間 StringstrXSID="";//學(xué)生ID StringstrBOOKID="";//圖書ID StringstrDQSJ="";//到期時(shí)間 StringstrXJCS="";//續(xù)借次數(shù) //根據(jù)學(xué)生證件號(hào)取的學(xué)生ID//根據(jù)學(xué)生ID取得規(guī)則ID,然后取得可以借閱天數(shù), sql="selectStudent.RuleID,Student.XSID,Rule.KJYSJ" +"fromStudengt,RULE" +"whereStudent.ZJH='"+strZJH+"'andStudent.RuleID=Rule.RuleID"; HashtablehashReId=<Hashtable>searchOneData<sql>; strXSID=ds.toString<<String>hashReId.get<"XSID">>; StringstrKJYSJ=ds.toString<<String>hashReId.get<"KJYSJ">>; //根據(jù)條形碼取得圖書ID sql="selectBOOKIDfromBookwhereTXM='"+strTXM+"'"; HashtablehashBKID=<Hashtable>searchOneData<sql>; strBOOKID=ds.toString<<String>hashBKID.get<"BOOKID">>; //新增操作 createStatement<>; clearBatch<>; sql="insertintoJSWJB<JYID,XSID,BOOKID,JYSJ,DQSJ,ZT,XJCS>" +"values<"+strID+","+strXSID+","+strBOOKID+",'"+strJYSJ +"',to_char<<to_date<'"+strJYSJ+"','yyyy-MM-dd'>+"+strKJYSJ+">,'yyyy-MM-dd'>" +",'"+strZero+"','"+strZero+"'>"; addBatch<sql>; sql="updateBooksetZT='借出'whereBOOKID="+strBOOKID; addBatch<sql>; sql="updateStudentsetYJSS=YJSS+1whereXSID="+strXSID; addBatch<sql>; intresult[]=executeBatch<>; closeStm<>; returnresult; }而對(duì)于取消按鈕事件,由于要實(shí)現(xiàn)取消借閱,所以需要調(diào)用delBorrow<Stringid>來取消借閱操作;算法如下:publicint[]delBorrow<Stringid> { System.out.println<"批量處理取消借閱。。。。。">; Stringsql=""; sql="selectBOOKIDfromJSWJBwhereJYID="+id; Hashtablehash=<Hashtable>searchOneData<sql>; StringstrBOOKID=<String>hash.get<"BOOKID">; createStatement<>; clearBatch<>; sql="updateJSWJBsetZT='"+strOne+"'whereJYID="+id; addBatch<sql>; sql="updateBOOKsetZT='可借'whereBOOKID="+strBOOKID; addBatch<sql>; intresult[]=executeBatch<>; closeStm<>; returnresult; }存儲(chǔ)分配借書文件:序號(hào)字段名類型長度精度小數(shù)位數(shù)默認(rèn)值允許空主鍵外鍵說明1借閱編號(hào)Int101√自動(dòng)編號(hào)2圖書編號(hào)Int10√3學(xué)生編號(hào)Int10√4借閱時(shí)間Datatime8√5到期時(shí)間Datatime8√6續(xù)借次數(shù)Smallint2√7操作員Nvarchar10√8狀態(tài)navarchar50√罰款單:序號(hào)字段名類型長度精度小數(shù)位數(shù)默認(rèn)值允許空主鍵外鍵說明1借閱編號(hào)Int101√自動(dòng)編號(hào)2圖書編號(hào)Int10√3學(xué)生編號(hào)Int10√4應(yīng)罰金額Smallint3√5實(shí)收金額Smallint3√6狀態(tài)Nvarchar1√7備注Nvarchar200√學(xué)生文件:序號(hào)字段字段名類型長度精度小數(shù)位數(shù)默認(rèn)值允許空主鍵說明1XSID學(xué)生編號(hào)Int101√自動(dòng)編號(hào)2Name姓名nvarchar103Sex性別nvarchar2√4ZJH證件號(hào)碼nvarchar25√5LXDHnvarchar40√6DJRQ登記日期datetime8√7YXQZ有效期至datetime8√8YJSS已借書數(shù)smallint2√9RuleID學(xué)生規(guī)則IDint1010ZT是否掛失nvarchar2√023學(xué)生還書具體格式如下:功能編號(hào)023功能名稱學(xué)生還模塊內(nèi)容功能流程圖所屬業(yè)務(wù)圖書館管理所屬項(xiàng)目圖書館管理系統(tǒng)編寫人陳新光完成時(shí)間2007-11-27頁碼第27頁功能流程圖需要說明的問題:顯示結(jié)果可直接在處理結(jié)果.jsp中利用javascript來實(shí)現(xiàn)顯示功能!處理要包含:對(duì)圖書狀態(tài)和借書文件表中信息的修改以及學(xué)生的欠款金額的計(jì)算,并更新Publish表。功能描述功能類型:修改數(shù)據(jù)功能概述:完成學(xué)生的還書業(yè)務(wù)并計(jì)算學(xué)生的欠款信息前提業(yè)務(wù):管理模塊后繼業(yè)務(wù):無功能約束:權(quán)限約束約束描述:操作權(quán)限:圖書館管理人員界面設(shè)計(jì)基礎(chǔ)信息處理動(dòng)作編號(hào)動(dòng)作名稱動(dòng)作描述A01重置點(diǎn)擊按鈕將文本框內(nèi)的所有數(shù)據(jù)清空A02提交點(diǎn)擊按鈕將數(shù)據(jù)提交到處理還書信息頁面界面描述:數(shù)據(jù)描述字段名稱長度錄入方式是否非空項(xiàng)數(shù)據(jù)檢驗(yàn)?zāi)J(rèn)顯示書籍條形碼號(hào)10文本框YN對(duì)于還書業(yè)務(wù)的處理,實(shí)質(zhì)上與借書業(yè)務(wù)的實(shí)現(xiàn)基本上相同,只是調(diào)用了backBorrow<hash>來實(shí)現(xiàn)還書功能;If<strEdit.equals<"1">>{Intintdel[]=bb.BackBorrow<hash>;If<intdel==null>{ ifSuccess=false;}else{For〔inti=0;i<intdel.length;i++{If<intdel[i]!=1> ifSuccess=false;}}}If<!ifSuccess>{ %><script>alert<"歸還操作失??!">;</script><%}else{ %><script>alert<"歸還操作成功!">;</script><%}}針對(duì)backBorrow〔hash算法如下:publicint[]backBorrow<StringTXM> { System.out.println<"批量處理還書。。。。。">; Stringsql=""; StringstrBOOKID=ds.toString<<String>toName<"BOOK","TXM","BOOKID",TXM>>; StringstrNow=ds.getDateTime<>; strNow=strNow.substring<0,10>; createStatement<>; clearBatch<>; sql="updateJSWJBsetZT='"+strOne+"',DQSJ='"+strNow+"'whereBOOKID="+strBOOKID+"andZT='"+strZero+"'"; System.out.println<"sql1:"+sql>; addBatch<sql>; sql="updateBOOKsetZT='可借'whereBOOKID="+strBOOKID; System.out.println<"sql2:"+sql>; addBatch<sql>; intresult[]=executeBatch<>; closeStm<>; returnresult; }存儲(chǔ)分配借書文件:序號(hào)字段名類型長度精度小數(shù)位數(shù)默認(rèn)值允許空主鍵外鍵說明1借閱編號(hào)Int101√自動(dòng)編號(hào)2圖書編號(hào)Int10√3學(xué)生編號(hào)Int10√4借閱時(shí)間Datatime8√5到期時(shí)間Datatime8√6續(xù)借次數(shù)Smallint2√7操作員Nvarchar10√8狀態(tài)navarchar50√學(xué)生文件:序號(hào)字段字段名類型長度精度小數(shù)位數(shù)默認(rèn)值允許空主鍵說明1XSID學(xué)生編號(hào)Int101√自動(dòng)編號(hào)2Name姓名nvarchar103Sex性別nvarchar2√4ZJH證件號(hào)碼nvarchar25√5LXDHnvarchar40√6DJRQ登記日期datetime8√7YXQZ有效期至datetime8√8YJSS已借書數(shù)smallint2√9RuleID學(xué)生規(guī)則IDint1010ZT是否掛失nvarchar2√圖書目錄文件:序號(hào)字段名類型長度精度小數(shù)位數(shù)默認(rèn)值允許空主鍵說明1圖書編號(hào)Int101√自動(dòng)編號(hào)2條形碼nvarchar203書名nvarchar2004圖書類型Nvarchar50√5作者Nvarchar20√6譯者Nvarchar20√7ISBNNvarchar208出版社Nvarchar30√9價(jià)格Money8√10書架名稱Nvarchar20√11現(xiàn)存量Smallint2√12庫存總量Smallint2√13入庫時(shí)間Datatime8√14操作員Nvarchar10√15簡介Nvarchar200√16借出次數(shù)Smallint2√17是否注銷Nvarchar2√18圖書狀態(tài)nvarchar50√罰款單;序號(hào)字段名類型長度精度小數(shù)位數(shù)默認(rèn)值允許空主鍵外鍵說明1借閱編號(hào)Int101√自動(dòng)編號(hào)2圖書編號(hào)Int10√3學(xué)生編號(hào)Int10√4應(yīng)罰金額Smallint3√5實(shí)收金額Smallint3√6狀態(tài)Nvarchar1√7備注Nvarchar200√024圖書注銷具體格式如下:功能編號(hào)024功能名稱圖書注銷模塊內(nèi)容功能流程圖所屬業(yè)務(wù)圖書館管理所屬項(xiàng)目圖書館管理系統(tǒng)編寫人陳新光完成時(shí)間2007-11-27頁碼第31頁功能流程圖需要說明的問題:顯示結(jié)果可直接在處理結(jié)果.jsp中利用javascript來實(shí)現(xiàn)顯示功能!在處理圖書注銷的時(shí)候,為了便于以后的恢復(fù)操作,此刪除操作只在表中做一標(biāo)志,并不是真正的刪除。功能描述功能描述:刪除數(shù)據(jù)功能概述:注銷圖書前提業(yè)務(wù):管理模塊后繼業(yè)務(wù):無約束描述:操作權(quán)限:圖書館管理人員界面設(shè)計(jì)基礎(chǔ)信息處理動(dòng)作說明如下:動(dòng)作編號(hào)動(dòng)作名稱動(dòng)作描述A01重置點(diǎn)擊按鈕將文本框內(nèi)的所有數(shù)據(jù)清空A02提交點(diǎn)擊按鈕將數(shù)據(jù)提交到處理還書信息頁面界面描述:數(shù)據(jù)描述:字段名稱長度錄入方式是否非空項(xiàng)數(shù)據(jù)檢驗(yàn)?zāi)J(rèn)顯示書籍條形碼號(hào)10文本框YN對(duì)于圖書注銷業(yè)務(wù)的處理存儲(chǔ)分配圖書目錄文件:序號(hào)字段名類型長度精度小數(shù)位數(shù)默認(rèn)值允許空主鍵說明1圖書編號(hào)Int101√自動(dòng)編號(hào)2條形碼nvarchar203書名nvarchar2004圖書類型Nvarchar50√5作者Nvarchar20√6譯者Nvarchar20√7ISBNNvarchar208出版社Nvarchar30√9價(jià)格Money8√10書架名稱Nvarchar20√11現(xiàn)存量Smallint2√12庫存總量Smallint2√13入庫時(shí)間Datatime8√14操作員Nvarchar10√15簡介Nvarchar200√16借出次數(shù)Smallint/r/

溫馨提示

  • 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)論