軟件詳細(xì)設(shè)計(jì)說明書實(shí)例_第1頁
軟件詳細(xì)設(shè)計(jì)說明書實(shí)例_第2頁
軟件詳細(xì)設(shè)計(jì)說明書實(shí)例_第3頁
軟件詳細(xì)設(shè)計(jì)說明書實(shí)例_第4頁
軟件詳細(xì)設(shè)計(jì)說明書實(shí)例_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、軟件詳細(xì)設(shè)計(jì)說明書實(shí)例2022年2月目錄1引言21.1編寫目的21.2項(xiàng)目背景21.3定義21.4參考資料22總體設(shè)計(jì)22.1需求概述22.2軟件結(jié)構(gòu)23程序描述23.101登陸模塊23.202管理模塊23.3031圖書信息查詢模塊23.4032學(xué)生信息查詢模塊23.5021入庫管理模塊23.6022學(xué)生借書模塊23.7023學(xué)生還書模塊23.8024圖書注銷模塊23.9接口設(shè)計(jì)23.10測試要點(diǎn)2文檔名稱: 詳細(xì)設(shè)計(jì)規(guī)格說明書項(xiàng)目名稱: 圖書館管理系統(tǒng)項(xiàng)目負(fù)責(zé)人:陳新光 編寫 TEST _年_月_日 校對 所有小組成員 _年_月_日 審核 所有小組成員 _年_月_日 批準(zhǔn) XXX _年_月_

2、日 開發(fā)單位_組員: TEST1 TEST2 TEST31 引言1.1 編寫目的圖書管理系統(tǒng)詳細(xì)設(shè)計(jì)是設(shè)計(jì)的第二個(gè)階段,這個(gè)階段的主要任務(wù)是在圖書管理系統(tǒng)概要設(shè)計(jì)書基礎(chǔ)上,對概要設(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)階段用具體的語言編碼,它只是對實(shí)現(xiàn)細(xì)節(jié)作精確的描述,這樣編碼階段

3、就可以將詳細(xì)設(shè)計(jì)中對功能實(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ī)化,使得圖書館管理人員工作更加方便,工作效率也更加的高。1.3 定義Mysql:數(shù)據(jù)庫管理軟件DBMS:數(shù)據(jù)庫管理系統(tǒng)Windows 2000/2003/XP:運(yùn)行環(huán)境JSP :軟件開發(fā)語言Myeclipse :開發(fā)工具1.4 參考資料軟件工程導(dǎo)論第5版 張海藩編著 清華大學(xué)出版社 實(shí)用軟件工程Leszek A.Maciaszek Bruc Lee Liong著機(jī)械工業(yè)出

4、版社2 總體設(shè)計(jì)2.1 需求概述按照需求分析文檔中的規(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小模塊組成:序號編號名稱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登陸模塊具體格式見下表:功能編號01功能名稱登陸模塊內(nèi)容功能流程圖所屬業(yè)務(wù)圖書館管理所屬項(xiàng)目圖書館管理系統(tǒng)編寫

5、人陳新光完成時(shí)間2007-11-26頁碼第5頁3.1.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)作編號動(dòng)作名稱動(dòng)作描述A01登陸點(diǎn)擊登陸按鈕 提交數(shù)據(jù)到登陸數(shù)據(jù)處理.jsp頁面A

6、02重至點(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ǔ)信息(2) 數(shù)據(jù)要求(1) 功能類型:數(shù)據(jù)查詢(2) 數(shù)據(jù)描述:頁面顯示錄入字段如下:字段名稱長度錄入方式是否非空項(xiàng)數(shù)據(jù)檢驗(yàn)?zāi)J(rèn)顯示管理員ID10文本框YN管理員密碼15passwordYN3.1.4 登陸數(shù)據(jù)處理.jsp的內(nèi)部邏輯登陸數(shù)據(jù)處理:關(guān)鍵點(diǎn)兩點(diǎn):1,數(shù)據(jù)庫連接;2,記錄登陸信息及信息處理;1, 數(shù)據(jù)庫連接: 如下:public class lib_system_Conn extends Ob

7、jectpublic 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.C

8、onnection getConn() try Class.forName("org.gjt.mm.mysql.Driver").newInstance(); String url ="jdbc:mysql:/"+dbip+":3306/"+dbName+"?user="+use+"&password="+pass+"&useUnicode=true&characterEncoding=GBK" ; conn= DriverManager.getCon

9、nection(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頁面。 取得帳號密碼這兩個(gè)從頁面?zhèn)魅氲闹?,然后跟?shù)據(jù)庫當(dāng)中管理員表中的賬號和密碼比較。如果正確的話,在JSP的SESSION中存入一個(gè)標(biāo)記屬性,表示當(dāng)前已經(jīng)有管理員登陸了。處理完畢后,跳轉(zhuǎn)到管理頁面,如果失敗,則提示登陸失敗,并重新進(jìn)入到登陸頁面。具體的邏輯如下:<%St

10、ring username=ParamUtil.getString(request,"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)記

11、屬性,表示當(dāng)前已經(jīng)有管理員登陸了Session.setAttribute(“admin_ID”,admin_ID);response.sendRedirect("login_process.jsp");catch(UserNotFoundException e)erroMsg="錯(cuò)誤的用戶名和密碼"response.sendRedirect("login_process.jsp?"+response.encodeURL(erroMsg);elseout.println("請?zhí)顚懞媚愕膫€(gè)人信息!");%>3.1

12、.5 存儲分配管理員表:(admin)序號字段名類型長度精度小數(shù)位數(shù)默認(rèn)值允許空主鍵說明1(admin_ID)管理員IDInt102(admin_password)管理員密碼Char153(admin_quanxian)權(quán)限Nvarchar153.2 02管理模塊具體格式見下表功能編號02功能名稱管理模塊內(nèi)容功能流程圖所屬業(yè)務(wù)圖書館管理所屬項(xiàng)目圖書館管理系統(tǒng)編寫人陳新光完成時(shí)間2007-11-26頁碼第8頁3.2.1 功能流程圖功能流程圖如下所示:需要說明的問題:在選擇相應(yīng)的業(yè)務(wù)時(shí),需要在當(dāng)前的頁面顯示;并且在管理頁面內(nèi),默認(rèn)顯示圖書查詢頁面。3.2.2 功能描述(1) 功能類型:其他(2)

13、功能概述:總體歸納圖書館管理功能(3) 前提業(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)作編號動(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圖書信息查詢

14、模塊具體格式如下:功能編號031功能名稱圖書信息查詢模塊內(nèi)容功能流程圖所屬業(yè)務(wù)圖書館管理所屬項(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ù)(2) 功能概述:顯示查詢結(jié)果(3) 前提業(yè)務(wù):無(4) 后繼業(yè)務(wù):(5) 功能約束:沒有約束;(6) 約束描述:(7) 操作權(quán)限:面向所有用戶3.3.3 界面設(shè)計(jì)(1) 基礎(chǔ)信息處理下表是動(dòng)作說明:動(dòng)作編號動(dòng)作名稱動(dòng)作描述A01確定點(diǎn)擊按鈕 提交數(shù)據(jù)到圖書查

15、詢數(shù)據(jù)處理.jsp頁面A02學(xué)生信息查詢點(diǎn)擊按鈕 將頁面轉(zhuǎn)至學(xué)生信息查詢.jsp頁面(2) 數(shù)據(jù)要求(1) 功能類型:數(shù)據(jù)查詢(2) 數(shù)據(jù)描述:頁面顯示字段見下表:字段名稱長度錄入方式是否非空項(xiàng)數(shù)據(jù)檢驗(yàn)?zāi)J(rèn)顯示請選擇查詢類型20下拉列表YN請輸入查詢內(nèi)容200文本框YN(3) 圖書信息查詢的輸出項(xiàng)書名圖書類型作者譯者ISBN出版社價(jià)格書架名稱現(xiàn)存量簡介書名圖書類型3.3.4 模塊內(nèi)部邏輯1, Search.jsp用于顯示界面的內(nèi)容,給用戶顯示一個(gè)查詢接口2, Lib_query.jsp用來調(diào)度所有的頁面,它根據(jù)傳入的參數(shù)來決定包含哪一個(gè)jsp頁面來顯示內(nèi)容;在lib_query.jsp頁面中,

16、它根據(jù)傳入的參數(shù)來決定包含哪一個(gè)jsp頁面來顯示內(nèi)容;則可以通過<jsp:include page=”<%= %>”/>,利用jsp:include標(biāo)簽來被動(dòng)態(tài)加載發(fā)送到相應(yīng)頁面;3, chuli.jsp 用來處理數(shù)據(jù)查詢和顯示查詢到的結(jié)果列表。在這個(gè)頁面中,數(shù)據(jù)要求是以列表的形式顯示到輸出頁面。由于查詢到的結(jié)果可能過多,所以采用分頁形式顯示;對于分頁功能的內(nèi)部邏輯:4, View.jsp用來顯示查詢到的圖書的各項(xiàng)屬性。3.3.5 存儲分配圖書目錄文件(Book):序號字段名類型長度精度小數(shù)位數(shù)默認(rèn)值允許空主鍵說明1(BookID)圖書編號Int101自動(dòng)編號2(TXM

17、)條形碼nvarchar203(Title)書名nvarchar2004(TSLX)圖書類型Nvarchar505(Author)作者Nvarchar206(Translator)譯者Nvarchar207(ISBN)ISBNNvarchar208(CBS)出版社Nvarchar3010(SJMC)書架名稱Nvarchar2011(XCL)現(xiàn)存量Smallint212(KCZL)庫存總量Smallint213(RKSJ)入庫時(shí)間Datatime14(CZY)操作員Nvarchar1015(JJ)簡介Nvarchar20016(JCCS)借出次數(shù)Smallint217(SFzhuxiao)是否注

18、銷Nvarchar218(BookZT)圖書狀態(tài)nvarchar50借書文件表(JSWJB):序號字段名類型長度精度小數(shù)位數(shù)默認(rèn)值允許空主鍵外鍵說明1(JYID)借閱編號Int101自動(dòng)編號2(BookID)圖書編號Int103(StuID)學(xué)生編號Int104(JYSJ)借閱時(shí)間Datatime85(DQSJ)到期時(shí)間Datatime86(XJCS)續(xù)借次數(shù)Smallint27(CZY)操作員Nvarchar108(ZT)狀態(tài)navarchar503.4 032學(xué)生信息查詢模塊具體格式如下:功能編號032功能名稱學(xué)生信息查詢模塊內(nèi)容功能流程圖所屬業(yè)務(wù)圖書館管理所屬項(xiàng)目圖書館管理系統(tǒng)編寫人陳新

19、光完成時(shí)間2007-11-26頁碼第12頁3.4.1 功能流程圖功能流程圖如下圖:需要說明的問題:錄入項(xiàng)檢測使用javascript來實(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)作編號動(dòng)作名稱動(dòng)作描述A01確定點(diǎn)擊按鈕 提交數(shù)據(jù)到圖書查詢數(shù)據(jù)處理.jsp頁面A02圖書信息查詢點(diǎn)擊按鈕 將頁面轉(zhuǎn)至圖書信息查詢.jsp頁面(5) 數(shù)據(jù)要求(3) 功

20、能類型:數(shù)據(jù)查詢(4) 數(shù)據(jù)描述:頁面顯示字段見下表:字段名稱長度錄入方式是否非空項(xiàng)數(shù)據(jù)檢驗(yàn)?zāi)J(rèn)顯示請輸入學(xué)號10文本框YN(6) 學(xué)生信息查詢的輸出項(xiàng)學(xué)生學(xué)號姓名性別生日證件號碼聯(lián)系電話登記日期有效期至已借書數(shù)3.4.4 模塊內(nèi)部邏輯5, Search.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:includ

21、e標(biāo)簽來被動(dòng)態(tài)加載發(fā)送到相應(yīng)頁面;7, List.jsp 用來顯示查詢到的結(jié)果列表。8, View.jsp用來顯示查詢到的學(xué)生的各項(xiàng)屬性。注釋:學(xué)生信息查詢模塊與圖書查詢模塊屬于同一類功能。實(shí)現(xiàn)可以完全類似。3.4.5 存儲分配學(xué)生文件:序號字段字段名類型長度精度小數(shù)位數(shù)默認(rèn)值允許空主鍵說明1XSID學(xué)生編號Int101自動(dòng)編號2Name姓名nvarchar103Sex性別nvarchar24ZJH證件號碼nvarchar255LXDH聯(lián)系電話nvarchar406DJRQ登記日期datetime87YXQZ有效期至datetime88YJSS已借書數(shù)smallint29RuleID學(xué)生規(guī)則I

22、Dint1010ZT是否掛失nvarchar2借書文件:序號字段名類型長度精度小數(shù)位數(shù)默認(rèn)值允許空主鍵外鍵說明1借閱編號Int101自動(dòng)編號2圖書編號Int103學(xué)生編號Int104借閱時(shí)間Datatime85到期時(shí)間Datatime86續(xù)借次數(shù)Smallint27操作員Nvarchar108狀態(tài)navarchar503.5 021入庫管理具體格式如下:功能編號021功能名稱入庫管理模塊內(nèi)容功能流程圖所屬業(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í)

23、現(xiàn)(選項(xiàng)非空)3.5.2 功能描述(1) 功能類型:添加數(shù)據(jù)(2) 功能描述:增加圖書目錄文件中的圖書信息。(3) 前提業(yè)務(wù):管理模塊(4) 后繼業(yè)務(wù):無(5) 功能約束:權(quán)限約束(6) 約束描述:無(7) 操作權(quán)限:圖書館管理人員3.5.3 界面設(shè)計(jì)1, 基礎(chǔ)信息處理動(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ù)描述:頁面錄入字段見下表:字段名稱長度錄入方式是否非空項(xiàng)數(shù)據(jù)檢驗(yàn)?zāi)J(rèn)顯示書號30文本框YN條形碼20文本框YN書名200文本框YN作者20文本框YN

24、出版社30文本框YN版次50文本框YN圖書類別20文本框YN單價(jià)8文本框YN錄入時(shí)間默認(rèn)系統(tǒng)時(shí)間,格式: 年 月 日只需程序記錄顯示在入庫界面錄入人默認(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","",&quo

25、t;",true);Vector vect = new Vector();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(S

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

27、t方法中。在insert方法的最后,調(diào)用ParentBean中的insertRecord方法,insertRecord可以根據(jù)傳入的參數(shù)自動(dòng)的生成增加記錄的SQL語句并通過JDBC發(fā)送到數(shù)據(jù)庫。 正對ParentBean類:主要是實(shí)現(xiàn)對數(shù)據(jù)庫的各種操作:如與數(shù)據(jù)庫的連接,對數(shù)據(jù)庫的操作。3.5.4 存儲分配圖書目錄文件:序號字段名類型長度精度小數(shù)位數(shù)默認(rèn)值允許空主鍵說明1圖書編號Int101自動(dòng)編號2條形碼nvarchar203書名nvarchar2004圖書類型Nvarchar505作者Nvarchar206譯者Nvarchar207ISBNNvarchar208出版社Nvarchar309

28、價(jià)格Money810書架名稱Nvarchar2011現(xiàn)存量Smallint212庫存總量Smallint213入庫時(shí)間Datatime814操作員Nvarchar1015簡介Nvarchar20016借出次數(shù)Smallint217是否注銷Nvarchar218圖書狀態(tài)nvarchar50入庫表:序號字段名類型長度精度小數(shù)位數(shù)默認(rèn)值允許空主鍵外鍵說明1書號Nvarchar301自動(dòng)編號2條形碼Nvarchar203書名Nvarchar2004作者Nvarchar205出版社Nvarchar306版次Nvarchar507圖書類別Nvarchar208存放位置Nvarchar209單價(jià)Money8

29、10入庫數(shù)量Smallint211金額Money812經(jīng)手人Nvarchar1013票號Nvarchar3014操作員Nvarchar1015日期Datatime8注:3.6 022學(xué)生借書模塊具體格式如下:功能編號022功能名稱學(xué)生借書模塊內(nèi)容功能流程圖所屬業(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)志,并不是真正

30、的對其修改;3.6.2 功能描述(1) 功能類型:修改數(shù)據(jù)和查詢數(shù)據(jù)(2) 功能描述:更新學(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)作編號動(dòng)作名稱動(dòng)作描述A01重置點(diǎn)擊按鈕 將文本框內(nèi)的所有數(shù)據(jù)清空A02提交點(diǎn)擊按鈕 將數(shù)據(jù)提交到處理學(xué)生超額信息頁面A03取消將當(dāng)前頁面關(guān)閉,并取消借閱2, 數(shù)據(jù)描述(1) 功能類型:修改數(shù)據(jù)和查詢數(shù)據(jù)(2) 界面設(shè)計(jì):(3) 數(shù)據(jù)字段描述:字段名稱長度錄入方式是否非空項(xiàng)數(shù)據(jù)檢驗(yàn)?zāi)J(rèn)顯示學(xué)生證

31、件號碼10文本框YN書籍條形碼號10文本框YN3, 圖書借閱數(shù)據(jù)處理內(nèi)部邏輯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)i

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

33、hash)System.out.println("批量處理新增借閱。");String sql=""int intID = makeID("JYWJB","JYID","","",true);String strID=String.valueOf(intID);String strZJH = ds.toString(String)hash.get("ZJH");/證件號String strTXM = ds.toString(String)hash.get(

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

35、udent.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)h

36、ashReId.get("KJYSJ");/根據(jù)條形碼取得圖書ID 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 JSWJ

37、B(JYID,XSID,BOOKID,JYSJ,DQSJ,ZT,XJCS) "+" values("+strID+","+strXSID+","+strBOOKID+",'"+strJYSJ+"',to_char(to_date('"+strJYSJ+"','yyyy-MM-dd')+"+strKJYSJ+"),'yyyy-MM-dd')"+",'"+st

38、rZero+"','"+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;而對于取消按鈕事件,由于

39、要實(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");cr

40、eateStatement();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 存儲分配借書文件:序號字段名類型長度精度小數(shù)位數(shù)默認(rèn)值允許空主鍵

41、外鍵說明1借閱編號Int101自動(dòng)編號2圖書編號Int103學(xué)生編號Int104借閱時(shí)間Datatime85到期時(shí)間Datatime86續(xù)借次數(shù)Smallint27操作員Nvarchar108狀態(tài)navarchar50罰款單:序號字段名類型長度精度小數(shù)位數(shù)默認(rèn)值允許空主鍵外鍵說明1借閱編號Int101自動(dòng)編號2圖書編號Int103學(xué)生編號Int104應(yīng)罰金額Smallint35實(shí)收金額Smallint36狀態(tài)Nvarchar17備注Nvarchar200學(xué)生文件:序號字段字段名類型長度精度小數(shù)位數(shù)默認(rèn)值允許空主鍵說明1XSID學(xué)生編號Int101自動(dòng)編號2Name姓名nvarchar103Se

42、x性別nvarchar24ZJH證件號碼nvarchar255LXDH聯(lián)系電話nvarchar406DJRQ登記日期datetime87YXQZ有效期至datetime88YJSS已借書數(shù)smallint29RuleID學(xué)生規(guī)則IDint1010ZT是否掛失nvarchar23.7 023學(xué)生還書具體格式如下:功能編號023功能名稱學(xué)生還模塊內(nèi)容功能流程圖所屬業(yè)務(wù)圖書館管理所屬項(xiàng)目圖書館管理系統(tǒng)編寫人陳新光完成時(shí)間2007-11-27頁碼第27頁3.7.1 功能流程圖需要說明的問題:(1) 顯示結(jié)果可直接在處理結(jié)果.jsp中利用javascript來實(shí)現(xiàn)顯示功能?。?) 處理要包含:對圖書狀態(tài)

43、和借書文件表中信息的修改以及學(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)作編號動(dòng)作名稱動(dòng)作描述A01重置點(diǎn)擊按鈕 將文本框內(nèi)的所有數(shù)據(jù)清空A02提交點(diǎn)擊按鈕 將數(shù)據(jù)提交到處理還書信息頁面(2) 界面描述:(3) 數(shù)據(jù)描述字段名稱長度錄入方式是否非空項(xiàng)數(shù)據(jù)檢驗(yàn)?zāi)J(rèn)顯示書籍條形碼號10文本框YN對于還書業(yè)務(wù)的處理,實(shí)質(zhì)上與借書業(yè)務(wù)的實(shí)

44、現(xiàn)基本上相同,只是調(diào)用了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%><script>alert(“歸還操作成功!”);</script><%針對backBorrow(hash)算法如下:public int backBorrow(String TXM)System.out.println("批量處理還書。");String sql=""String strBOOKID=ds.toString(String)toName("BOOK","TXM","BOOKID",TXM);String strNow = ds.getDateTime();strNow = strNo

溫馨提示

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

評論

0/150

提交評論