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

下載本文檔

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

文檔簡(jiǎn)介

1、圖書管理系統(tǒng)圖書管理系統(tǒng)詳細(xì)設(shè)計(jì)說明書詳細(xì)設(shè)計(jì)說明書 20202020 年年 1212 月月 2020/12/14 目錄目錄 1引言引言.2 1.1編寫目的 .2 1.2項(xiàng)目背景 .2 1.3定義 .2 1.4參考資料 .2 2總體設(shè)計(jì)總體設(shè)計(jì).2 2.1需求概述 .2 2.2軟件結(jié)構(gòu) .2 3程序描述程序描述.2 3.101 登陸模塊 .2 3.202 管理模塊 .2 3.3031 圖書信息查詢模塊 .2 3.4032 學(xué)生信息查詢模塊 .2 3.5021 入庫管理模塊 .2 3.6022 學(xué)生借書模塊 .2 3.7023 學(xué)生還書模塊 .2 3.8024 圖書注銷模塊 .2 3.9接口設(shè)計(jì)

2、 .2 3.10測(cè)試要點(diǎn).2 kk 第1頁2020/12/14 文檔名稱: 詳細(xì)設(shè)計(jì)規(guī)格說明書 項(xiàng)目名稱: 圖書館管理系統(tǒng) 項(xiàng)目負(fù)責(zé)人:陳新光 編寫 TEST _年_月_日 校對(duì) 所有小組成員 _年_月_日 審核 所有小組成員 _年_月_日 批準(zhǔn) XXX _年_月_日 開發(fā)單位_ 組員: TEST1 TEST2 TEST3 kk 第2頁2020/12/14 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ì)功能模塊的內(nèi)部細(xì)節(jié),包括算法和詳細(xì)數(shù)據(jù)結(jié)構(gòu), 為編寫源代碼提供必要的說明。

3、概要設(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ì)語言書寫的程序。 1.2 項(xiàng)目背景 根據(jù) XX 學(xué)校希望能夠充分利用現(xiàn)代科技來提高圖書管理的效率,在原有的辦公系統(tǒng)基礎(chǔ)上進(jìn)行擴(kuò) 展,將一些可以用計(jì)算機(jī)來管理的都進(jìn)行計(jì)算機(jī)化,使得圖書館管理人員工作更加方便,工作效率

4、也更加 的高。 1.3 定義 Mysql:數(shù)據(jù)庫管理軟件 DBMS:數(shù)據(jù)庫管理系統(tǒng) Windows 2000/2003/XP:運(yùn)行環(huán)境 JSP :軟件開發(fā)語言 Myeclipse :開發(fā)工具 kk 第3頁2020/12/14 1.4 參考資料 軟件工程導(dǎo)論第 5 版 張海藩編著 清華大學(xué)出版社 實(shí)用軟件工程Leszek A.Maciaszek Bruc Lee Liong 著 機(jī)械工業(yè)出版社 2總體設(shè)計(jì) 2.1 需求概述 按照需求分析文檔中的規(guī)格要求,使用條形碼掃描器進(jìn)書、借書、還書,使得信息傳遞準(zhǔn)確、流暢。 同時(shí),系統(tǒng)最大限度地實(shí)現(xiàn)易安裝,易維護(hù)性,易操作性,運(yùn)行穩(wěn)定,安全可靠。 kk 第4

5、頁2020/12/14 2.2 軟件結(jié)構(gòu) 圖書館 管理系 統(tǒng) 基礎(chǔ)信息設(shè)置 查詢子系統(tǒng) 管理子系統(tǒng) 圖書館信息 系統(tǒng)參數(shù)設(shè)置 管理員設(shè)置 書架設(shè)置 圖書詞庫設(shè)置 新書購入 學(xué)生借書 學(xué)生還書 圖書注銷 學(xué)生信息查詢 圖書信息查詢 系統(tǒng)登 陸 系統(tǒng)由系統(tǒng)由 3 大模塊,大模塊,6 小模塊組成:小模塊組成: kk 第5頁2020/12/14 序號(hào)序號(hào)編號(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è)置 kk 第6頁202

6、0/12/14 3程序描述 3.1 01 登陸模塊 具體格式見下表: 功能編號(hào)功能編號(hào)01功能名稱功能名稱登陸模塊登陸模塊內(nèi)容內(nèi)容功能流程圖功能流程圖 所屬業(yè)務(wù)所屬業(yè)務(wù)圖書館管理所屬項(xiàng)目圖書館管理 系統(tǒng) 編寫人編寫人陳新光完成時(shí)間2007-11-26頁碼第 5 頁 3.1.1 功能流程圖 功能流程圖如下圖所示。 登陸.jsp 錄入項(xiàng)檢驗(yàn) (非空) 提交所填內(nèi)容 失敗 登陸數(shù)據(jù)處理.jsp成功是否成功執(zhí)行數(shù)據(jù)庫操作管理.jsp成功 失敗 需要說明的問題: (1) 錄入項(xiàng)檢測(cè)使用 javascript 實(shí)現(xiàn)(各項(xiàng)必須非空) (2) 登陸.jsp 頁面也包含查詢按鈕,在此的登陸.jsp 提交的數(shù)據(jù)只

7、是用戶 名和密碼。 3.1.2 功能描述 (1) 功能類型:查詢數(shù)據(jù) (2) 功能描述:提高系統(tǒng)的安全性 (3) 前提業(yè)務(wù):無 (4) 后繼業(yè)務(wù):02 (管理模塊) (5) 功能約束:權(quán)限約束 kk 第7頁2020/12/14 (6) 約束描述: (7) 操作權(quán)限:圖書館管理員 3.1.3 界面設(shè)計(jì) (1) 基礎(chǔ)信息處理 動(dòng)作說明: 動(dòng)作編號(hào)動(dòng)作編號(hào)動(dòng)作名稱動(dòng)作名稱動(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)

8、至學(xué)生信 息查詢.jsp 頁面 A05基礎(chǔ)信息點(diǎn)擊 將顯示基礎(chǔ)信息 (2) 數(shù)據(jù)要求 (1) 功能類型:數(shù)據(jù)查詢 (2) 數(shù)據(jù)描述: 頁面顯示錄入字段如下: 字段名稱字段名稱長(zhǎng)度長(zhǎng)度錄入方式錄入方式是否非空項(xiàng)是否非空項(xiàng)數(shù)據(jù)檢驗(yàn)數(shù)據(jù)檢驗(yàn)?zāi)J(rèn)顯示默認(rèn)顯示 管理員管理員 ID10文本框YN 管理員密碼管理員密碼15passwordYN 3.1.4 登陸數(shù)據(jù)處理.jsp 的內(nèi)部邏輯 登陸數(shù)據(jù)處理: 關(guān)鍵點(diǎn)兩點(diǎn):1,數(shù)據(jù)庫連接;2,記錄登陸信息及信息處理; 1, 數(shù)據(jù)庫連接: kk 第8頁2020/12/14 如下: public class lib_system_Conn extends Object

9、 public lib_system_Conn() private Connection conn = null; private ResultSet rs; String re = ; /設(shè)置你的數(shù)據(jù)庫ip String dbip = 127.0.0.1; /設(shè)置你的數(shù)據(jù)庫用戶名和密碼: String use = root; String pass = 860409; /設(shè)置您的數(shù)據(jù)庫名 String dbName = lib_system; public java.sql.Connection getConn() try Class.forName(org.gjt.mm.mysql.Dri

10、ver).newInstance(); String url =jdbc:mysql:/+dbip+:3306/+dbName+?user=+use+ conn= DriverManager.getConnection(url); catch(Exception e) e.printStackTrace(); 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 頁面。 取得帳 號(hào)密碼這兩個(gè)從頁面?zhèn)魅氲闹?,然后跟?shù)據(jù)庫當(dāng)中管理員表

11、中的賬號(hào)和密碼比 較。如果正確的話,在 JSP 的 SESSION 中存入一個(gè)標(biāo)記屬性,表示當(dāng)前已經(jīng)有 管理員登陸了。處理完畢后,跳轉(zhuǎn)到管理頁面,如果失敗,則提示登陸失敗, 并重新進(jìn)入到登陸頁面。 具體的邏輯如下: 3.1.5 存儲(chǔ)分配 管理員表:(admin) 序號(hào)序號(hào)字段名字段名類型類型長(zhǎng)度長(zhǎng)度精度精度小數(shù)小數(shù)默認(rèn)默認(rèn)允許允許主鍵主鍵說明說明 kk 第10頁2020/12/14 位數(shù)位數(shù)值值空空 1 1 (admin_ID)管理員 ID Int10 2 2(admin_password) 管理員密碼 Char15 3 3(admin_quanxian) 權(quán)限 Nvarchar15 3.2

12、02 管理模塊 具體格式見下表 功能編號(hào)功能編號(hào)02功能名稱功能名稱管理模塊管理模塊內(nèi)容內(nèi)容功能流程圖功能流程圖 所屬業(yè)務(wù)所屬業(yè)務(wù)圖書館管理所屬項(xiàng)目圖書館管理 系統(tǒng) 編寫人編寫人陳新光完成時(shí)間2007-11-26頁碼第 8 頁 3.2.1 功能流程圖 功能流程圖如下所示: 管理.jsp 查詢.jsp入庫管理.jsp圖書注銷.jsp學(xué)生還書.jsp學(xué)生借書.jsp 需要說明的問題: 在選擇相應(yīng)的業(yè)務(wù)時(shí),需要在當(dāng)前的頁面顯示;并且在管理頁面內(nèi),默認(rèn) 顯示圖書查詢頁面。 kk 第11頁2020/12/14 3.2.2 功能描述 (1) 功能類型:其他 (2) 功能概述:總體歸納圖書館管理功能 (3)

13、 前提業(yè)務(wù):登陸模塊(01) (4) 后續(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)作編號(hào)動(dòng)作名稱動(dòng)作名稱動(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ù)要求 功能

14、類型:其他 kk 第12頁2020/12/14 3.3 031 圖書信息查詢模塊 具體格式如下: 功能編號(hào)功能編號(hào)031功能名稱功能名稱圖書信息查圖書信息查 詢模塊詢模塊 內(nèi)容內(nèi)容功能流程圖功能流程圖 所屬業(yè)務(wù)所屬業(yè)務(wù)圖書館管理所屬項(xiàng)目圖書館管理 系統(tǒng) 編寫人編寫人陳新光完成時(shí)間2007-11-26頁碼第 10 頁 3.3.1 功能流程圖 功能流程圖如下圖: 圖書查詢.jsp 錄入項(xiàng)檢驗(yàn) (非空) 提交所填內(nèi)容 失敗 圖書查詢數(shù)據(jù)處 理.jsp 成功是否成功執(zhí)行數(shù)據(jù)庫操作查詢結(jié)果.jsp成功 失敗 需要說明的問題: 錄入項(xiàng)檢測(cè)使用 javascript 來實(shí)現(xiàn)(各項(xiàng)非空) ; 操作權(quán)限:面向所

15、有用戶 3.3.2 功能描述 (1) 功能類型:查詢數(shù)據(jù) (2) 功能概述:顯示查詢結(jié)果 (3) 前提業(yè)務(wù):無 kk 第13頁2020/12/14 (4) 后繼業(yè)務(wù): (5) 功能約束:沒有約束; (6) 約束描述: (7) 操作權(quán)限:面向所有用戶 3.3.3 界面設(shè)計(jì) (1) 基礎(chǔ)信息處理 下表是動(dòng)作說明: 動(dòng)作編號(hào)動(dòng)作編號(hào)動(dòng)作名稱動(dòng)作名稱動(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ù)描述: 頁面顯示字段見下表: 字段名稱字段名稱長(zhǎng)

16、度長(zhǎng)度錄入方式錄入方式是否非空項(xiàng)是否非空項(xiàng)數(shù)據(jù)檢驗(yàn)數(shù)據(jù)檢驗(yàn)?zāi)J(rèn)顯示默認(rèn)顯示 請(qǐng)選擇查詢請(qǐng)選擇查詢 類型類型 20下拉列表YN 請(qǐng)輸入查詢請(qǐng)輸入查詢 內(nèi)容內(nèi)容 200文本框YN (3) 圖書信息查詢的輸出項(xiàng) 書名 圖書類型 作者 譯者 ISBN 出版社 kk 第14頁2020/12/14 價(jià)格 書架名稱 現(xiàn)存量 簡(jiǎn)介 書名 圖書類型 3.3.4 模塊內(nèi)部邏輯 Search.jsp Lib_query.jsp Chuli.jspView.jsp 1, Search.jsp 用于顯示界面的內(nèi)容,給用戶顯示一個(gè)查詢接口 2, Lib_query.jsp 用來調(diào)度所有的頁面,它根據(jù)傳入的參數(shù)來決定 包含

17、哪一個(gè) jsp 頁面來顯示內(nèi)容; 在 lib_query.jsp 頁面中, 它根據(jù)傳入的參數(shù)來決定包含哪一個(gè) jsp 頁面來顯示內(nèi)容;則可 以通過jsp:include page=”/,利用 jsp:include 標(biāo)簽來 kk 第15頁2020/12/14 被動(dòng)態(tài)加載發(fā)送到相應(yīng)頁面; 3, chuli.jsp 用來處理數(shù)據(jù)查詢和顯示查詢到的結(jié)果列表。 在這個(gè)頁面中,數(shù)據(jù)要求是以列表的形式顯示到輸出頁面。 由于查詢到的結(jié)果可能過多,所以采用分頁形式顯示; 對(duì)于分頁功能的內(nèi)部邏輯: 4, View.jsp 用來顯示查詢到的圖書的各項(xiàng)屬性。 3.3.5 存儲(chǔ)分配 圖書目錄文件(Book): 序號(hào)序

18、號(hào)字段名字段名類型類型長(zhǎng)度長(zhǎng)度精度精度小數(shù)位數(shù)小數(shù)位數(shù)默認(rèn)值默認(rèn)值允許空允許空主鍵主鍵說明說明 1(BookID)圖書編號(hào)Int101 自動(dòng)編號(hào) 2(TXM)條形碼 nvarchar 20 3(Title)書名 nvarchar 200 4(TSLX)圖書類型 Nvarchar 50 5(Author)作者 Nvarchar 20 6(Translator)譯者 Nvarchar 20 7(ISBN)ISBN Nvarchar 20 8(CBS)出版社 Nvarchar 30 10(SJMC)書架名稱 Nvarchar 20 11(XCL)現(xiàn)存量Smallint2 12(KCZL)庫存總量Sm

19、allint2 13(RKSJ)入庫時(shí)間Datatime 14(CZY)操作員 Nvarchar 10 15(JJ)簡(jiǎn)介 Nvarchar 200 16(JCCS)借出次數(shù)Smallint2 17(SFzhuxiao)是否注銷 Nvarchar 2 18(BookZT)圖書狀態(tài) nvarchar 50 借書文件表(JSWJB): 序號(hào)序號(hào)字段名字段名類型類型長(zhǎng)度長(zhǎng)度精度精度小數(shù)小數(shù) 位數(shù)位數(shù) 默認(rèn)默認(rèn) 值值 允許允許 空空 主鍵主鍵外鍵外鍵說明說明 1(JYID)Int101 自動(dòng) kk 第16頁2020/12/14 借閱編號(hào)編號(hào) 2(BookID) 圖書編號(hào) Int10 3(StuID)學(xué)

20、生編號(hào) Int10 4(JYSJ)借 閱時(shí)間 Datatime8 5(DQSJ)到 期時(shí)間 Datatime8 6(XJCS)續(xù) 借次數(shù) Smallint2 7(CZY)操 作員 Nvarchar10 8(ZT)狀態(tài)navarchar50 3.4 032 學(xué)生信息查詢模塊 具體格式如下: 功能編號(hào)功能編號(hào)032功能名稱功能名稱學(xué)生信息查學(xué)生信息查 詢模塊詢模塊 內(nèi)容內(nèi)容功能流程圖功能流程圖 所屬業(yè)務(wù)所屬業(yè)務(wù)圖書館管理所屬項(xiàng)目圖書館管理 系統(tǒng) 編寫人編寫人陳新光完成時(shí)間2007-11-26頁碼第 12 頁 3.4.1 功能流程圖 功能流程圖如下圖: 學(xué)生信息查詢.jsp 錄入項(xiàng)檢驗(yàn) (非空) 提

21、交所填內(nèi)容 失敗 學(xué)生信息查詢數(shù)據(jù) 處理.jsp 成功是否成功執(zhí)行數(shù)據(jù)庫操作 學(xué)生信息查詢結(jié) 果.jsp 成功 失敗 需要說明的問題: 錄入項(xiàng)檢測(cè)使用 javascript 來實(shí)現(xiàn)(各項(xiàng)非空) ; kk 第17頁2020/12/14 操作權(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)作編號(hào)動(dòng)作名稱動(dòng)作名稱動(dòng)作描述動(dòng)作描述 A01確定點(diǎn)擊

22、按鈕 提交數(shù)據(jù)到圖 書查詢數(shù)據(jù)處理.jsp 頁面 A02圖書信息查詢點(diǎn)擊按鈕 將頁面轉(zhuǎn)至圖 書信息查詢.jsp 頁面 (5) 數(shù)據(jù)要求 (3) 功能類型:數(shù)據(jù)查詢 (4) 數(shù)據(jù)描述: 頁面顯示字段見下表: 字段名稱字段名稱長(zhǎng)度長(zhǎng)度錄入方式錄入方式是否非空項(xiàng)是否非空項(xiàng)數(shù)據(jù)檢驗(yàn)數(shù)據(jù)檢驗(yàn)?zāi)J(rèn)顯示默認(rèn)顯示 請(qǐng)輸入學(xué)號(hào)請(qǐng)輸入學(xué)號(hào)10文本框YN (6) 學(xué)生信息查詢的輸出項(xiàng) kk 第18頁2020/12/14 學(xué)生學(xué)號(hào) 姓名 性別 生日 證件號(hào)碼 聯(lián)系電話 登記日期 有效期至 已借書數(shù) 3.4.4 模塊內(nèi)部邏輯 Search.jsp Index.jsp List.jspView.jsp 5, Search

23、.jsp 用于顯示界面的內(nèi)容,給用戶顯示一個(gè)查詢接口 6, Index.jsp 用來調(diào)度所有的頁面,它根據(jù)傳入的參數(shù)來決定包含 哪一個(gè) jsp 頁面來顯示內(nèi)容; 在 index.jsp 頁面中, 它根據(jù)傳入的參數(shù)來決定包含哪一個(gè) jsp 頁面來顯示內(nèi)容;則可 以通過jsp:include page=”/,利用 jsp:include 標(biāo)簽來 被動(dòng)態(tài)加載發(fā)送到相應(yīng)頁面; 7, List.jsp 用來顯示查詢到的結(jié)果列表。 kk 第19頁2020/12/14 8, View.jsp 用來顯示查詢到的學(xué)生的各項(xiàng)屬性。 注釋:學(xué)生信息查詢模塊與圖書查詢模塊屬于同一類功能。實(shí) 現(xiàn)可以完全類似。 3.4.

24、5 存儲(chǔ)分配 學(xué)生文件: 序號(hào)序號(hào)字段字段字段名字段名類型類型長(zhǎng)度長(zhǎng)度精度精度小數(shù)小數(shù) 位數(shù)位數(shù) 默認(rèn)默認(rèn) 值值 允許允許 空空 主鍵主鍵說明說明 1 1XSID 學(xué)生編號(hào) Int101 自動(dòng) 編號(hào) 2 2Name 姓名 nvarchar10 3 3Sex 性別 nvarchar2 4 4ZJH 證件號(hào)碼 nvarchar25 5 5LXDH 聯(lián)系電話 nvarchar40 6 6DJRQ 登記日期 datetime8 7 7YXQZ 有效期至 datetime8 8 8YJSS 已借書數(shù) smallint2 9 9RuleID 學(xué)生規(guī)則 ID int10 1010ZT 是否掛失 nvarch

25、ar2 借書文件: 序號(hào)序號(hào)字段名字段名類型類型長(zhǎng)度長(zhǎng)度精度精度小數(shù)位小數(shù)位 數(shù)數(shù) 默認(rèn)值默認(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ù)借次Smallint2 kk 第20頁2020/12/14 數(shù) 7操作員Nvarchar10 8狀態(tài)navarchar50 3.5 021 入庫管理 具體格式如下: 功能編號(hào)功能編號(hào)021功能名稱功能名稱入庫管理模入庫管理模 塊塊 內(nèi)容內(nèi)容功能流程圖功能流程圖 所屬業(yè)務(wù)所屬業(yè)務(wù)圖書館管理所屬項(xiàng)目圖書館

26、管理 系統(tǒng) 編寫人編寫人陳新光完成時(shí)間2007-11-27頁碼第 16 頁 3.5.1 功能流程圖 入庫管理.jsp 錄入項(xiàng)檢驗(yàn) (非空) 提交所填內(nèi)容 失敗 入庫數(shù)據(jù)處理.jsp成功是否成功執(zhí)行數(shù)據(jù)庫操作顯示結(jié)果.jsp成功 失敗 (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è)務(wù):無 (5) 功能約束:權(quán)限約束 kk 第21頁2020/12/14 (6) 約束描述:無 (7) 操作權(quán)限:圖書館管

27、理人員 3.5.3 界面設(shè)計(jì) 1, 基礎(chǔ)信息處理 動(dòng)作說明如下表: 動(dòng)作編號(hào)動(dòng)作編號(hào)動(dòng)作名稱動(dòng)作名稱動(dòng)作描述動(dòng)作描述 A01保存點(diǎn)擊按鈕 提交數(shù)據(jù)到入 庫數(shù)據(jù)處理.jsp 頁面 A02退出點(diǎn)擊按鈕 將當(dāng)前頁面關(guān) 閉 2, 數(shù)據(jù)描述 (1) 功能類型:數(shù)據(jù)增加。 (2) 數(shù)據(jù)描述: 頁面錄入字段見下表: 字段名稱字段名稱長(zhǎng)度長(zhǎng)度錄入方式錄入方式是否非空項(xiàng)是否非空項(xiàng)數(shù)據(jù)檢驗(yàn)數(shù)據(jù)檢驗(yàn)?zāi)J(rèn)顯示默認(rèn)顯示 書號(hào)書號(hào)30文本框YN 條形碼條形碼20文本框YN 書名書名200文本框YN 作者作者20文本框YN 出版社出版社30文本框YN 版次版次50文本框YN 圖書類別圖書類別20文本框YN 單價(jià)單價(jià)8文本框

28、YN 錄入時(shí)間錄入時(shí)間默認(rèn)系統(tǒng)時(shí) 間,格式: 年 月 日只需程序記 錄 顯示在入庫 界面 kk 第22頁2020/12/14 錄入人錄入人默認(rèn)系統(tǒng)登 陸人員 只需程序記 錄 顯示在入庫 界面 3, 入庫數(shù)據(jù)處理內(nèi)部邏輯: 圖書入庫采用表格進(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 Vect

29、or(); 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); 。 。 。 。 。 。 。 。 。 。

30、。 。 。 。 。 。 。 。 。 。/還有其他選項(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ù)傳入的參數(shù)自動(dòng)的生成增加記錄的 kk 第23頁2020/12/14 SQL 語句并通過 JDB

31、C 發(fā)送到數(shù)據(jù)庫。 正對(duì) ParentBean 類:主要是實(shí)現(xiàn)對(duì)數(shù)據(jù)庫的各種操作:如 與數(shù)據(jù)庫的連接,對(duì)數(shù)據(jù)庫的操作。 3.5.4 存儲(chǔ)分配 圖書目錄文件: 序號(hào)序號(hào)字段名字段名類型類型長(zhǎng)度長(zhǎng)度精度精度小數(shù)位數(shù)小數(shù)位數(shù)默認(rèn)值默認(rèn)值允許空允許空主鍵主鍵說明說明 1圖書編號(hào)Int101 自動(dòng)編號(hào) 2條形碼 nvarchar 20 3書名 nvarchar 200 4圖書類型 Nvarchar 50 5作者 Nvarchar 20 6譯者 Nvarchar 20 7ISBN Nvarchar 20 8出版社 Nvarchar 30 9價(jià)格Money8 10書架名稱 Nvarchar 20 11現(xiàn)存量

32、Smallint2 12庫存總量Smallint2 13入庫時(shí)間Datatime8 14操作員 Nvarchar 10 15簡(jiǎn)介 Nvarchar 200 16借出次數(shù)Smallint2 17是否注銷 Nvarchar 2 18圖書狀態(tài) nvarchar 50 入庫表: 序號(hào)序號(hào)字段名字段名類型類型長(zhǎng)度長(zhǎng)度精度精度小數(shù)位小數(shù)位 數(shù)數(shù) 默認(rèn)值默認(rèn)值允許空允許空主鍵主鍵外鍵外鍵說明說明 1書號(hào)Nvarchar301 自動(dòng) 編號(hào) 2條形碼Nvarchar20 3書名Nvarchar200 4作者Nvarchar20 5出版社Nvarchar30 kk 第24頁2020/12/14 6版次Nvarch

33、ar50 7圖書類 別 Nvarchar20 8存放位 置 Nvarchar20 9單價(jià)Money8 10入庫數(shù) 量 Smallint2 11金額Money8 12經(jīng)手人Nvarchar10 13票號(hào)Nvarchar30 14操作員Nvarchar10 15日期Datatime8 注: 3.6 022 學(xué)生借書模塊 具體格式如下: 功能編號(hào)功能編號(hào)022功能名稱功能名稱學(xué)生借書模學(xué)生借書模 塊塊 內(nèi)容內(nèi)容功能流程圖功能流程圖 所屬業(yè)務(wù)所屬業(yè)務(wù)圖書館管理所屬項(xiàng)目圖書館管理 系統(tǒng) 編寫人編寫人陳新光完成時(shí)間2007-11-27頁碼第 21 頁 3.6.1 功能流程圖 借書.jsp 錄入項(xiàng)檢驗(yàn) (非

34、空) 提交所填內(nèi)容 失敗 檢查學(xué)生欠款信息成功欠款是否超額執(zhí)行數(shù)據(jù)庫操作處理借書數(shù)據(jù).jsp未超額 超額 是否成功失敗 顯示學(xué)生借書信 息.jsp kk 第25頁2020/12/14 需要說明的問題: (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) 功能描述:更新學(xué)生借書文件,圖書目錄文件等中的信息; (3) 前提業(yè)務(wù):管理模塊 (4)

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

36、10文本框YN 書籍條形碼書籍條形碼 號(hào)號(hào) 10文本框YN 3,圖書借閱數(shù)據(jù)處理內(nèi)部邏輯 If(strEdit.equals(“1”) If(學(xué)生超額|學(xué)生不存在) ifSuccess=false; else If(!bb.IsValid(hash) /新增操作 Int intdel=bb.addBorrow(hash); If(intdel=null) ifSuccess=false; else kk 第27頁2020/12/14 For(int i=0;ialert(“”);alert(“借閱失?。 ?;alert(“借閱成功!”);% 執(zhí)行的過程如下: 首先要驗(yàn)證學(xué)生信息是否存在和學(xué)生的

37、欠款是否超額,也就是說學(xué)生是否 可以借書,圖書是否在館等,在 確定合法之后調(diào)用 bb.addBorrow(hash)來完成 借閱流程。流程其實(shí)就是對(duì)幾個(gè)表進(jìn)行增改的操作。 關(guān)于 addBorrow(hash)的算法: public int addBorrow(Hashtable hash) System.out.println(批量處理新增借閱。 。 。 。 。 。); String sql=; int intID = makeID(JYWJB,JYID,true); String strID=String.valueOf(intID); kk 第28頁2020/12/14 String st

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

39、 sql=select Student.RuleID,Student.XSID,Rule.KJYSJ + from Studengt,RULE + where Student.ZJH=+strZJH+ and Student.RuleID=Rule.RuleID ; Hashtable hashReId=(Hashtable)searchOneData(sql); strXSID=ds.toString(String)hashReId.get(XSID); String strKJYSJ=ds.toString(String)hashReId.get(KJYSJ); /根據(jù)條形碼取得圖書 ID

40、 sql=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,XSID,BOOKID,JYSJ,DQSJ,ZT,XJCS) kk 第29頁2020/12/14 + values(+strID+,+strXSID+,+strB

41、OOKID+,+strJYSJ +,to_char(to_date(+strJYSJ+,yyyy-MM- dd)+strKJYSJ+),yyyy-MM-dd) +,+strZero+,+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(); retur

42、n result; 而對(duì)于取消按鈕事件,由于要實(shí)現(xiàn)取消借閱,所以需要調(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); createState

43、ment(); clearBatch(); sql=update JSWJB set ZT=+strOne+ where JYID=+id; addBatch(sql); kk 第30頁2020/12/14 sql=update BOOK set ZT=可借 where BOOKID=+strBOOKID; addBatch(sql); int result=executeBatch(); closeStm(); return result; 3.6.4 存儲(chǔ)分配 借書文件: 序號(hào)序號(hào)字段名字段名類型類型長(zhǎng)度長(zhǎng)度精度精度小數(shù)位小數(shù)位 數(shù)數(shù) 默認(rèn)值默認(rèn)值允許空允許空主鍵主鍵外鍵外鍵說明說明 1借

44、閱編 號(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)序號(hào)字段名字段名類型類型長(zhǎng)度長(zhǎng)度精度精度小數(shù)位小數(shù)位 數(shù)數(shù) 默認(rèn)值默認(rèn)值允許空允許空主鍵主鍵外鍵外鍵說明說明 1借閱編 號(hào) Int101 自動(dòng)編 號(hào) 2圖書編Int10 kk 第31頁2020/12/14 號(hào) 3學(xué)生編 號(hào) Int10 4應(yīng)罰金 額 Smallint3 5實(shí)收金 額 Smallint3 6狀態(tài)Nvarchar1 7備注

45、Nvarchar200 學(xué)生文件: 序號(hào)序號(hào)字段字段字段名字段名類型類型長(zhǎng)度長(zhǎng)度精度精度小數(shù)小數(shù) 位數(shù)位數(shù) 默認(rèn)默認(rèn) 值值 允許允許 空空 主鍵主鍵說明說明 1 1XSID 學(xué)生編號(hào) Int101 自動(dòng) 編號(hào) 2 2Name 姓名 nvarchar10 3 3Sex 性別 nvarchar2 4 4ZJH 證件號(hào)碼 nvarchar25 5 5LXDH 聯(lián)系電話 nvarchar40 6 6DJRQ 登記日期 datetime8 7 7YXQZ 有效期至 datetime8 8 8YJSS 已借書數(shù) smallint2 9 9RuleID 學(xué)生規(guī)則 ID int10 1010ZT 是否掛失 n

46、varchar2 3.7 023 學(xué)生還書 具體格式如下: 功能編號(hào)功能編號(hào)023功能名稱功能名稱學(xué)生還模塊學(xué)生還模塊內(nèi)容內(nèi)容功能流程圖功能流程圖 所屬業(yè)務(wù)所屬業(yè)務(wù)圖書館管理所屬項(xiàng)目圖書館管理 系統(tǒng) 編寫人編寫人陳新光完成時(shí)間2007-11-27頁碼第 27 頁 kk 第32頁2020/12/14 3.7.1 功能流程圖 還書.jsp 錄入項(xiàng)檢測(cè) (非空) 提交數(shù)據(jù)處理.jsp成功 失敗 是否 成功執(zhí)行數(shù)據(jù)庫操作顯示結(jié)果成功 失敗 需要說明的問題: (1) 顯示結(jié)果可直接在處理結(jié)果.jsp 中利用 javascript 來實(shí)現(xiàn)顯示功能! (2) 處理要包含:對(duì)圖書狀態(tài)和借書文件表中信息的修改以

47、及學(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)作編號(hào)動(dòng)作名稱動(dòng)作名稱動(dòng)作描述動(dòng)作描述 A01重置點(diǎn)擊按鈕 將文本框內(nèi)的 所有數(shù)據(jù)清空 A02提交點(diǎn)擊按鈕 將數(shù)據(jù)提交到 處理還書信息頁面 kk 第33頁2020/12/14 (2) 界面描述: (3) 數(shù)據(jù)描述 字段名稱字段名稱長(zhǎng)度長(zhǎng)度錄入方式錄入

48、方式是否非空項(xiàng)是否非空項(xiàng)數(shù)據(jù)檢驗(yàn)數(shù)據(jù)檢驗(yàn)?zāi)J(rèn)顯示默認(rèn)顯示 書籍條形碼書籍條形碼 號(hào)號(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”) Int intdel=bb.BackBorrow(hash); If(intdel=null) ifSuccess=false; else For(int i=0;ialert(“歸還操作失??!”);alert(“歸還操作成功!”);% kk 第34頁2020/12/14 針對(duì) backBorrow(hash)算法如下: publi

49、c int backBorrow(String TXM) System.out.println(批量處理還書。 。 。 。 。); String sql=; String strBOOKID=ds.toString(String)toName(BOOK,TXM,BOOKID,TXM); String strNow = ds.getDateTime(); strNow = strNow.substring(0,10); createStatement(); clearBatch(); sql=update JSWJB set ZT=+strOne+,DQSJ=+strNow+ where BOO

50、KID=+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; kk 第35頁2020/12/14 3.7.4 存儲(chǔ)分配 借書文件: 序號(hào)序號(hào)字段名字段名類型類型長(zhǎng)度長(zhǎng)度精度精度小數(shù)位小數(shù)位 數(shù)數(shù) 默認(rèn)值默認(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)序號(hào)字段字段字段名字段名類型類型長(zhǎng)度長(zhǎng)度精度精度小數(shù)小數(shù) 位數(shù)位數(shù) 默認(rèn)默認(rèn) 值值 允許允許

溫馨提示

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