【正文】
1 1 引言 .............................................................................................................................. 2 編寫(xiě)目的 ................................................................................................................. 2 背景 ........................................................................................................................ 2 定義 ........................................................................................................................ 2 參考資料 ................................................................................................................. 2 2 圖書(shū)管理 系統(tǒng)的結(jié)構(gòu) ..................................................................................................... 2 3 圖書(shū)管理系統(tǒng)程序設(shè)計(jì)說(shuō)明 .......................................................................................... 3 程序描述 ................................................................................................................. 4 功能 ........................................................................................................................ 6 性能 ........................................................................................................................ 8 輸人項(xiàng) .................................................................................................................... 9 輸出項(xiàng) .................................................................................................................... 9 算法 ........................................................................................................................ 9 流程邏輯 ................................................................................................................. 9 接口 ...................................................................................................................... 11 存儲(chǔ)分配 ............................................................................................................... 12 注釋設(shè)計(jì) ............................................................................................................. 12 限制條件 ............................................................................................................. 12 測(cè)試計(jì)劃 ............................................................................................................. 13 尚未解決的問(wèn)題 ................................................................................................... 13 2 詳細(xì)設(shè)計(jì)說(shuō)明書(shū) 1 引言 圖書(shū)管理系統(tǒng)詳細(xì)設(shè)計(jì)階段的主要任務(wù)是在圖書(shū)管理系統(tǒng)概要設(shè)計(jì)書(shū)基礎(chǔ)上 ,對(duì)概要設(shè)計(jì)中產(chǎn)生的功能模塊進(jìn)行過(guò)程描述,設(shè)計(jì)功能模塊的內(nèi)部細(xì)節(jié),包括算法和詳細(xì)數(shù)據(jù)結(jié)構(gòu),為編寫(xiě)源代碼提供必要的說(shuō)明。 概要設(shè)計(jì)解決了軟件系統(tǒng)總體結(jié)構(gòu)設(shè)計(jì)的問(wèn)題,包括整個(gè)軟件系統(tǒng)的結(jié)構(gòu)、模塊劃分、模塊功能和模塊間的聯(lián)系等。詳細(xì)設(shè)計(jì)則要解決如何實(shí)現(xiàn)各個(gè)模塊的內(nèi)部功能,即模塊設(shè)計(jì)。具體的說(shuō),模塊設(shè)計(jì)就是要為已經(jīng)產(chǎn)生的圖書(shū)管理各子系統(tǒng)設(shè)計(jì)詳細(xì)的算法。但這并不等同于系統(tǒng)實(shí)現(xiàn)階段用具體的語(yǔ)言編碼,它只是對(duì)實(shí)現(xiàn)細(xì)節(jié)作精確的描述,這樣編碼階段就可以將詳細(xì)設(shè)計(jì)中對(duì)功能實(shí)現(xiàn)的描述,直接翻譯、轉(zhuǎn)化為用某種程序設(shè)計(jì)語(yǔ)言書(shū)寫(xiě)的程序 。 本項(xiàng)目的名稱(chēng):圖書(shū)管理系統(tǒng) 本項(xiàng)目的提出者:《軟件工程》課程教師 —— 丁華鋒 本項(xiàng)目開(kāi)發(fā)者:賓亞、劉飛、譚艷 本項(xiàng)目的用戶(hù): 讀者、圖書(shū)管理員 SQL Server:數(shù)據(jù)庫(kù)管理軟件 DBMS:數(shù)據(jù)庫(kù)管理系統(tǒng) Windows 2020/2020/XP:運(yùn)行環(huán)境 ASP:軟件開(kāi)發(fā)語(yǔ)言 Macromedia Dreamweaver 8:開(kāi)發(fā)工具 《軟件工程導(dǎo)論》(第五版) 張海藩編著 清華大學(xué)出版社 2020 年 2 月第 5 版 《數(shù)據(jù)庫(kù)系統(tǒng)概論》(第四版) 王珊 薩師煊 高等教育出版社 2020 年 5 月第 4 版 3 2 程序系統(tǒng)的結(jié)構(gòu) 依據(jù)軟件工程的基本原理,詳細(xì)設(shè)計(jì)階段的根本任務(wù)是確定應(yīng)該怎樣具體實(shí)現(xiàn)所要求的系統(tǒng),也就是說(shuō),經(jīng)過(guò)這個(gè)階段的設(shè)計(jì)工作,應(yīng)該得出對(duì)目標(biāo)系統(tǒng)的精確描述,從而在系統(tǒng)實(shí)現(xiàn)階段可以把這個(gè)描述直接翻譯成用某種程序設(shè)計(jì)語(yǔ)言書(shū)寫(xiě)的程序。具體來(lái)說(shuō)就是把經(jīng)過(guò)總體設(shè)計(jì)得到的各個(gè)模塊詳細(xì)的加以描述。 由于本系統(tǒng)采用 Macromedia Dreamweaver 8 作為開(kāi)發(fā)工具, ASP 作為開(kāi)發(fā)語(yǔ)言,在此給出軟件系統(tǒng)的主程序流程圖,如圖 所示。 開(kāi) 始選 擇 身 份管 理 員用 戶(hù)是 否 合 法 是顯 示 主 界 面選 擇 操 作是學(xué) 生 管 理 圖 書(shū) 管 理 借 閱 管 理 歸 還 管 理是查 看 借 閱 信 息 修 改 個(gè) 人 資 料 檢 索 圖 書(shū)退 出 系 統(tǒng)結(jié) 束否 否 根據(jù)以上主程序的流程圖,我們可以得出下面的關(guān)于各個(gè)模塊的程序流程圖,如下圖所示。 4 3 圖書(shū)管理系統(tǒng)程序設(shè)計(jì)說(shuō)明 本系統(tǒng)主要功能的程序描述如下: 5 : % dim uid,bid bid=request(id) uid=request(userid) if uid= then scriptalert(39。session 已經(jīng)過(guò)期,請(qǐng) 重 新 登 陸39。)。=39。39。/script else 39。判斷是否借過(guò) aa=select * from loans where uid=amp。uidamp。 and bid=amp。bid set xgw=() aa,db,1,3 if not then scriptalert(39。這本書(shū)你已經(jīng)借過(guò)了咯39。)。=39。?query=all_book39。/script else sq=select * from u where id=amp。uid set qq=(sq) if qq(loan_num)=8 then 39。插入數(shù)據(jù)向 loans set rs=() sql=select * from loans sql,db,1,3 rs(uid)=uid rs(bid)=bid rs(time)=date() rs(loan_)=1 39。sql=insert into table loans ([uid],[bid],[time])values(39。amp。uidamp。39。,39。amp。r_idamp。39。,39。amp。dateamp。39。) 39。(sql) 39。更新 book 表 sql1=update book set [num]=[num]1 where id=amp。bid (sql1) 39。update table u sql2=update u set [loan_num]=[loan_num]+1 where id=amp。uid (sql2) scriptalert(39。 借 書(shū) 成 功39。)。=39。?id=amp。uidamp。39。/script else scriptalert(39。沒(méi)有借書(shū)余額咯39。)。(1)/script end if end if end if % 書(shū) 功能程序描述: % if request(id) and request(uid) then dim id,uid id=request(id) uid=request(uid) 39。驗(yàn)證輸入正確性 sql=select * from loans where uid=39。amp。uidamp。39。 and bid=39。amp。idamp。39。 set rs=() sql,db,1,3 if or then scriptalert(39。 輸 入 錯(cuò) 誤39。)。(1)/script else 39。table book value of num + 1 (update book set [num]=[num]+1 where id=amp。id) 39。u loan_num 1 (update u set [loan_num]=[loan_num]1 where id=amp。uid) (delete from loans where uid=amp。uidamp。 and bid=amp。id ) scriptalert(39。 還 書(shū) 成 功 咯39。)。(1)/script () end if else % 6 : %39。圖書(shū)分類(lèi)添加 過(guò)程:如果請(qǐng)求操作是分類(lèi)增加,首先判斷是否有請(qǐng)求類(lèi)型,有的話(huà)執(zhí)行添加,沒(méi)有就執(zhí)行輸入類(lèi)型 if request(query)=type_add then if request(booktype) then set rs=() sql=select * from booktype where booktype=39。amp。request(booktype)amp。39。 sql,db,1,3 if not or not then script language=javascriptalert(39。已經(jīng)有這個(gè)分類(lèi) 39。)。(1)/script else rs(booktype)=request(booktype) set rs=nothing (?query=all_type) end if else39。如果分類(lèi)增加得到確認(rèn)但是沒(méi)有數(shù)據(jù) ,提示輸入 if request(add)=add then script language=javascriptalert(39。分類(lèi)增加得到確認(rèn)但是沒(méi)有數(shù)據(jù) ,提示輸入~39。)。(1)/script end if % : %39。分類(lèi)刪除 確認(rèn)該分類(lèi)下已經(jīng)沒(méi)有圖書(shū)了再刪除該分類(lèi) if request(query)=type_del then if request(id) then sql1=sel