版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 目 錄</b></p><p><b> 一、可行性研究2</b></p><p> 1.1、可行性研究的目的2</p><p> 1.2、可行性分析3</p><p> 1.2.1、技術(shù)可行性3</p><p> 1.2.
2、2、經(jīng)濟(jì)可行性3</p><p> 1.2.3、社會可行性3</p><p> 1.2.4、法律可行性3</p><p> 1.3、可行性研究的結(jié)論4</p><p> 二、需求分析階段4</p><p> 2.1、功能需求4</p><p> 2.2、性能需求5<
3、;/p><p> 2.3、接口需求5</p><p> 2.4、數(shù)據(jù)需求6</p><p> 2.4.1、實體E-R圖6</p><p> 2.4.2、數(shù)據(jù)流程圖8</p><p><b> 三、概要設(shè)計9</b></p><p> 3.1、系統(tǒng)層次圖9
4、</p><p> 3.2、數(shù)據(jù)庫設(shè)計概述9</p><p> 3.3、數(shù)據(jù)字典10</p><p> 3.4、數(shù)據(jù)庫物理設(shè)計10</p><p><b> 四、詳細(xì)設(shè)計12</b></p><p> 4.1、圖書管理12</p><p> 4.1.1
5、、 新書入庫12</p><p> 4.1.2 、舊書銷毀12</p><p> 4.1.3 圖書信息修改12</p><p> 4.2圖書借還管理12</p><p> 4.2.1、圖書借閱12</p><p> 4.2.2、圖書歸還13</p>&
6、lt;p> 4.3、借閱證管理13</p><p><b> 五、編碼13</b></p><p> 5.1用戶登錄模塊13</p><p> 5.2主頁面及圖書信息模塊15</p><p> 5.3圖書信息添加模塊17</p><p> 5.4圖書信息修改模塊18&
7、lt;/p><p> 5.5圖書信息刪除模塊19</p><p> 5.6圖書借閱辦理模塊20</p><p> 5.7圖書借閱模塊22</p><p> 5.8圖書歸還模塊23</p><p> 5.9數(shù)據(jù)庫基本結(jié)構(gòu)圖25</p><p><b> 六、測試26&
8、lt;/b></p><p> 6.1、系統(tǒng)測試的定義26</p><p> 6.2、測試的內(nèi)容26</p><p> 6.3、測試案例27</p><p><b> 七、總結(jié)27</b></p><p><b> 參考文獻(xiàn)28</b></p&
9、gt;<p><b> 一、可行性研究</b></p><p> 1.1、可行性研究的目的</p><p> 可行性分析是為“圖書管理系統(tǒng)”開發(fā)的可能性、可行性、必要性提供論據(jù),為開發(fā)人員進(jìn)行系統(tǒng)總體規(guī)劃設(shè)計及具體實施開發(fā)工程提供必要的參考資料,在系統(tǒng)開發(fā)完成后為系統(tǒng)的測試、驗收提供幫相。圖書管理系統(tǒng)是一個高度集成的圖書信息處理系統(tǒng),通過將圖書信息
10、的各種功能進(jìn)行整合,從而達(dá)到告訴檢索信息、提高工作效率、降低管理成本等。一個典型的圖書管理系統(tǒng)應(yīng)該有所有的圖書種類、圖書信息、及讀者信息,還需要提高各種圖書的查詢檢索功能。該系統(tǒng)還要對圖書進(jìn)行借閱和歸還管理,并對讀者的罰款進(jìn)行管理。通過系統(tǒng)的自動化管理,能減少圖書管理人員的,還能減少管理人員的工作任務(wù),從而減少管理的開銷成本</p><p><b> 1.2、可行性分析</b></p
11、><p> 1.2.1、技術(shù)可行性</p><p> 技術(shù)可行性包括以下幾個方面:硬件、系統(tǒng)軟件、應(yīng)用軟件、技術(shù)人員。本系統(tǒng)采用JAVA編程語言和SQL Server數(shù)據(jù)庫。目前數(shù)據(jù)庫產(chǎn)品較多,每個產(chǎn)品都具有各自的特點和適用范圍。考慮到圖書管理系統(tǒng)數(shù)據(jù)量大的特點個,故選用SQL Server數(shù)據(jù)庫。通過研究這四個方面是可行的。</p><p> 1.2.2、經(jīng)濟(jì)可
12、行性</p><p> 對于圖書館這樣的商業(yè)性質(zhì)較小的場所,其經(jīng)濟(jì)成分比重相對較少。主要是支出的費(fèi)用包括設(shè)備購置費(fèi),軟件開發(fā)費(fèi)用,管理和維護(hù)費(fèi),人員工資和培訓(xùn)費(fèi)等.由于各個圖書館實行統(tǒng)一操作,系統(tǒng)共享,其設(shè)備購置,人員工資,維護(hù)費(fèi)用相對較少,前期的資金投入主要集中于購置圖書上,建立信息中心,可將來自各方面的信息集中管理,提高圖書管理的計劃性和預(yù)見性,快速地反饋市場信息。</p><p>
13、 1.2.3、社會可行性</p><p> 社會可行性有時也稱為操作可行性, 主要驗證新系統(tǒng)在企業(yè)或機(jī)構(gòu)開發(fā)和運(yùn)行的可能性以及運(yùn)行后可能一起的對企業(yè)或機(jī)構(gòu)的影響, 即組織內(nèi)外是否具備接受和使用新系統(tǒng)的條件。在當(dāng)前信息技術(shù)飛速發(fā)展的環(huán)境下, 計算機(jī)技術(shù)和軟件技術(shù)的更新是圖書館完全有可能也有能力采用這樣先進(jìn)的管理技術(shù)。它對圖書館帶來的影響有:(a)、對傳統(tǒng)管理理念的沖擊,可能引起管理層的變動和人員的調(diào)整。(b)、
14、對圖書館工作人員的要求提高,使圖書館在一定的可能下進(jìn)行機(jī)構(gòu)精簡,迫使工作人員繼續(xù)學(xué)習(xí)新知識,拓寬圖書館在市場環(huán)境下的生存空間,對圖書館與讀者之間業(yè)務(wù)方式的轉(zhuǎn)變和擴(kuò)充。</p><p> 1.2.4、法律可行性</p><p> 系統(tǒng)的研制和開發(fā)都選用正版軟件,不侵犯他人、集體和國家的利益,不會違反國家相關(guān)的政策和法律。</p><p> 1.3、可行性研究的結(jié)
15、論</p><p> 該圖書管理系統(tǒng)不管是從技術(shù)、經(jīng)濟(jì)、社會、法律方面考慮都具有一定的可行性。因此系統(tǒng)的開發(fā)可以立即開始進(jìn)行。</p><p><b> 二、需求分析階段</b></p><p><b> 2.1、功能需求</b></p><p> 隨著圖書的日益增多,傳統(tǒng)的手工圖書管理不僅
16、工作量大,而且容易出現(xiàn)問題。圖書管理設(shè)計的內(nèi)容非常復(fù)雜而且繁瑣,比如擁有圖書信息錄入管理、用戶信息管理、圖書借閱和歸還管理等功能。</p><p> 由于系統(tǒng)主要是為了方便管理員定制開發(fā)的,因此針對圖書管理的實際工作而言,經(jīng)過反復(fù)論證,最終確定了圖書管理系統(tǒng)的設(shè)計方案,圖書管理系統(tǒng)的主要功能為:</p><p> ?。?)用戶登錄:管理員會根據(jù)用戶名和密碼登錄系統(tǒng)進(jìn)行身份驗證。</
17、p><p> (2)新書入庫:只有管理員登錄成功后才能添加圖書。通過點擊導(dǎo)航條上的“添加”超鏈接添加圖書。</p><p> ?。?)修改圖書信息:只有管理員登錄成功后才能修改圖書。通過通過點擊導(dǎo)航條上的“修改”超鏈接添加圖書。</p><p> ?。?)刪除圖書信息:只有管理員登錄成功后才能刪除圖書。通過通過點擊導(dǎo)航條上的“刪除”超鏈接添加圖書。</p>
18、<p> ?。?)辦理借書證:通過通過點擊 “辦理借書證”超鏈接辦理借書證。</p><p> (6)借閱圖書:輸入借書證號和圖書編號進(jìn)行借書。</p><p> (7)歸還圖書:輸入圖書編號進(jìn)行還書。</p><p> (8)注銷系統(tǒng):點擊“注銷系統(tǒng)”超鏈接,退出系統(tǒng)。</p><p><b> 2.2、性能
19、需求</b></p><p> 為了保證系統(tǒng)能夠長期、安全、穩(wěn)定、可靠、高校的運(yùn)行,圖書管理系統(tǒng)應(yīng)該滿足以下的性能需求:</p><p> ?。?)系統(tǒng)處理的準(zhǔn)確性和及時性</p><p> 系統(tǒng)處理的準(zhǔn)確性和及時性是系統(tǒng)的必要性能。在系統(tǒng)設(shè)計和開發(fā)過程中,要充分考慮當(dāng)前和將來可能承受的工作量,使系統(tǒng)的處理能力和響應(yīng)時間能夠滿足學(xué)校對信息處理的需求。
20、</p><p> ?。?)系統(tǒng)的開放性和可擴(kuò)充性</p><p> 圖書管理系統(tǒng)在開發(fā)過程中,應(yīng)充分考慮以后的可擴(kuò)充性。例如:用戶查詢的需求會不斷的更新和完善,要求系統(tǒng)提供足夠的功能的調(diào)整和擴(kuò)充。而要實現(xiàn)這一點,應(yīng)通過系統(tǒng)的開放性來完成,即系統(tǒng)應(yīng)是一個開放的系統(tǒng),只要符合一定的規(guī)定,可以簡單的加入和減少系統(tǒng)的模塊,配置系統(tǒng)的硬件。通過軟件的修補(bǔ),替換完成系統(tǒng)的升級和更新?lián)Q代。</
21、p><p> (3)系統(tǒng)的易用性和易維護(hù)性</p><p> 圖書管理系統(tǒng)是直接面對使用人員的,而使用人員往往對計算機(jī)并不一定非常熟悉。這就要求系統(tǒng)能夠提供良好的用戶接口,易用的人機(jī)交互界面。要實現(xiàn)這些,系統(tǒng)應(yīng)該盡量使用用戶熟悉的術(shù)語和中文信息的界面。針對用戶使用過程中可能出現(xiàn)的問題,要提供在線幫助,縮短用戶對系統(tǒng)熟悉的過程。</p><p><b>
22、(4)系統(tǒng)的標(biāo)準(zhǔn)性</b></p><p> 系統(tǒng)在設(shè)計開發(fā)使用過程中涉及到很多計算機(jī)硬件和軟件,所有這些都要符合國際、國家和行業(yè)標(biāo)準(zhǔn)。</p><p><b> 2.3、接口需求</b></p><p><b> (1)服務(wù)器:</b></p><p> 處理器(CPU): P
23、entium 900M</p><p> 內(nèi)存容量(RAM):至少256M</p><p><b> (2) 客戶端</b></p><p> 處理器(CPU):Pentium 133M</p><p> 內(nèi)存容量(RAM):64M</p><p><b> 2.4、數(shù)據(jù)需求&
24、lt;/b></p><p> 2.4.1、實體E-R圖</p><p> ?。?)管理員實體E-R圖</p><p><b> 管理員信息E-R圖</b></p><p> (2)圖書信息實體類別E-R圖</p><p><b> 圖書信息E-R圖</b>&l
25、t;/p><p> (3)借書證信息實體E-R圖</p><p><b> 借書證信息E-R圖</b></p><p> ?。?)圖書借還信息實體E-R圖</p><p> 圖書借閱信息E-R圖</p><p> 2.4.2、數(shù)據(jù)流程圖</p><p><b&g
26、t; 三、概要設(shè)計</b></p><p><b> 3.1、系統(tǒng)層次圖</b></p><p><b> 層次圖</b></p><p> 3.2、數(shù)據(jù)庫設(shè)計概述</p><p> 計算機(jī)信息系統(tǒng)以數(shù)據(jù)庫為核心,在數(shù)據(jù)庫管理系統(tǒng)的支持下,進(jìn)行信息的收集、整理、存儲、檢索、更新
27、等操作。為了使現(xiàn)實世界的信息計算機(jī)化,并對計算機(jī)化的信息進(jìn)行各種常用操作,如:如何利用數(shù)據(jù)庫管理系統(tǒng)軟件和相關(guān)硬件系統(tǒng),將用戶的要求轉(zhuǎn)化成有效的數(shù)據(jù)結(jié)構(gòu),并使數(shù)據(jù)庫結(jié)構(gòu)易于實現(xiàn)用戶新的要求的過程。確切的說,數(shù)據(jù)庫設(shè)計是指對一個給定的應(yīng)用環(huán)境,確定最優(yōu)數(shù)據(jù)模型與處理模式的邏輯設(shè)計,以及一個確定數(shù)據(jù)庫存儲結(jié)構(gòu)與存取方法的物理設(shè)計,建立起即能反應(yīng)現(xiàn)實世界信息和信息聯(lián)系,滿足用戶數(shù)據(jù)要求,又能被某個數(shù)據(jù)庫管理系統(tǒng)所接受的數(shù)據(jù)庫。</p&g
28、t;<p> 根據(jù)軟件工程的設(shè)計思想:數(shù)據(jù)庫設(shè)計可劃分為六個階段:規(guī)劃階段、需求分析階段、設(shè)計階段、程序編制階段、調(diào)試階段、運(yùn)行和維護(hù)階段。本系統(tǒng)的數(shù)據(jù)庫設(shè)計是在MySql環(huán)境中,通過合理的邏輯設(shè)計和有效的物理設(shè)計,建立數(shù)據(jù)庫。物理結(jié)構(gòu)的設(shè)計原則如下:(1)盡可能減少數(shù)據(jù)冗余和重復(fù);(2)結(jié)構(gòu)設(shè)計與操作設(shè)計相結(jié)合;(3)數(shù)據(jù)結(jié)構(gòu)具有相對的穩(wěn)定性。</p><p><b> 3.3、數(shù)據(jù)
29、字典</b></p><p><b> ?。?)名稱:管理員</b></p><p> 描述:記錄管理員信息。</p><p> 定義:管理員信息=管理員ID+用戶名+密碼。</p><p> 輸入數(shù)據(jù):用戶名、密碼。</p><p> 輸出數(shù)據(jù):管理員信息。</p>
30、;<p> ?。?)名稱:圖書信息表</p><p> 描述:記錄所有圖書信息</p><p> 定義:圖書信息=圖書編號+圖書ISBN+書名+出版社+作者+摘要</p><p><b> 輸入數(shù)據(jù):圖書信息</b></p><p><b> 輸出數(shù)據(jù):圖書信息</b><
31、/p><p> (3)名稱:借書證信息表</p><p> 描述:記錄所有借書證信息</p><p> 定義:借書證信息=借書證編號+證件名稱+姓名+證件類型+標(biāo)記</p><p> 輸入數(shù)據(jù):借書證信息</p><p> 輸出數(shù)據(jù):借書證信息</p><p> ?。?)名稱:借還、書信息
32、表</p><p> 描述:記錄所有借、還書信息</p><p> 定義:借還書信息=圖書編號+借書證編號+借書日期+還書日期</p><p> 輸入數(shù)據(jù):借還書信息</p><p> 輸出數(shù)據(jù):借還書信息</p><p> 3.4、數(shù)據(jù)庫物理設(shè)計</p><p> ?。?)user表
33、記錄管理員的信息(包括管理員ID、用戶名、密碼),如表3-4-1。</p><p><b> 表3-4-1</b></p><p> ?。?)bookinfo表記錄圖書信息(包括圖書編號、圖書ISBN、書名、出版社、作者、摘要),如表3-4-2。</p><p><b> 表3-4-2</b></p>&
34、lt;p> ?。?)certificateinfo表記錄借書證信息(包括借書證ID、證件名稱、姓名、證件類型、標(biāo)記),如表3-4-3。</p><p><b> 表3-4-3</b></p><p> (4)loan表記錄借還書信息(包括圖書編號、借書證ID、借書日期、還書日期、標(biāo)記),如表3-4-4。</p><p><b&g
35、t; 表3-4-4</b></p><p><b> 四、詳細(xì)設(shè)計</b></p><p><b> 4.1、圖書管理</b></p><p> 4.1.1、 新書入庫</p><p> 圖書采購人員按照每年的采購計進(jìn)行購書,(不在本系統(tǒng)考慮范圍)圖書購入后由圖書管理
36、人員將圖書按類別分類后錄入數(shù)據(jù)庫。</p><p> 4.1.2 、舊書銷毀</p><p> 某一部分圖書會隨著時間的增長及知識的更新而變得不再有收藏的價值,或者圖書被損壞,這些圖書就要在圖書庫的除去。即從圖書庫中刪除此圖書記錄。</p><p> 4.1.3 圖書信息修改</p><p> 圖書信息由于工作人
37、員的疏忽,而出現(xiàn)錯誤,提供其圖書ID就可以修改其信息。</p><p><b> 4.2圖書借還管理</b></p><p> 4.2.1、圖書借閱</p><p> 主要功能是記錄借閱證編號和圖書編號,進(jìn)行借書過程。在數(shù)據(jù)庫中插入一條借書記錄,該記錄包括讀者ID、圖書ID、借出日期、借閱編號、操作員。</p><p&
38、gt; 4.2.2、圖書歸還</p><p> 主要功能是輸入借閱編號、借閱證編號、圖書ID、還書日期,在借閱登記表中找到相應(yīng)的記錄,將借書記錄刪除,將該記錄的相應(yīng)數(shù)據(jù)更新到歷史記錄中。</p><p><b> 4.3、借閱證管理</b></p><p> 該模塊實現(xiàn)的主要功能是辦理借閱證、注銷借閱證。</p><
39、p><b> 五、編碼</b></p><p><b> 5.1用戶登錄模塊</b></p><p><b> //如果登錄成功</b></p><p> if(record!=null){</p><p> message="<script&g
40、t;alert('登陸成功');</script>";</p><p> //將提示信息傳給JSP頁面(放入,記?。河蟹疟赜腥?</p><p> request.setAttribute("message", message);</p><p> //將用戶的信息放入session(會話)</p
41、><p> HttpSession session=request.getSession();</p><p> //放入(放入,記?。河蟹疟赜腥?</p><p> session.setAttribute("userinfo", record);</p><p><b> //跳轉(zhuǎn)頁面</b>
42、</p><p> request.getRequestDispatcher("adminIndex.jsp").forward(request, response);</p><p><b> }else{</b></p><p> message="<script>alert('登陸失
43、敗');</script>";</p><p> //將提示信息傳給JSP頁面(放入,記?。河蟹疟赜腥?</p><p> request.setAttribute("message", message);</p><p><b> //跳轉(zhuǎn)頁面</b></p><p&
44、gt; request.getRequestDispatcher("login.jsp").forward(request, response);}</p><p> 5.2主頁面及圖書信息模塊</p><p> BookServlet:</p><p> //獲取session</p><p> HttpSes
45、sion session=request.getSession();</p><p> Map<String,Object> userinfo=(Map<String,Object>)session.getAttribute("userinfo");</p><p> if(userinfo!=null){</p><p&
46、gt;<b> //1、轉(zhuǎn)碼</b></p><p> request.setCharacterEncoding("utf-8");</p><p> //2、獲取參數(shù)(看你有沒有參數(shù)獲?。ú灰欢ㄓ校?lt;/p><p><b> //3、查數(shù)據(jù)庫</b></p><p>
47、 BookDAO bookDAO=new BookDAO();</p><p> List<Map<String,Object>> records=bookDAO.findAllBook();</p><p> //4、把數(shù)據(jù)傳給JSP頁面</p><p> request.setAttribute("records&quo
48、t;, records);</p><p><b> //5、轉(zhuǎn)發(fā)頁面</b></p><p> request.getRequestDispatcher("listBook.jsp").forward(request, response);</p><p> BookServlet:</p><p
49、><b> BookDAO:</b></p><p><b> try {</b></p><p><b> //加載驅(qū)動</b></p><p> Class.forName("com.mysql.jdbc.Driver");</p><p>
50、;<b> //建立連接</b></p><p> Connection cn=DriverManager.getConnection("jdbc:mysql://localhost:3306/book?user=root&password=123&useUnicode=true&characterEncoding=utf8");</p&
51、gt;<p><b> //發(fā)送SQL語句</b></p><p> Statement stmt=cn.createStatement();</p><p> ResultSet rs=stmt.executeQuery("select * from bookinfo");</p><p> /
52、/將查詢結(jié)果轉(zhuǎn)為List</p><p> List<Map<String,Object>> records=ZqDBUtil.getHashMap(rs);</p><p><b> //關(guān)閉連接</b></p><p> if(rs!=null) rs.close();</p><p>
53、 if(stmt!=null) stmt.close();</p><p> if(cn!=null) cn.close();</p><p> return records;</p><p> } catch (Exception e) {</p><p> e.printStackTrace();</p><
54、p><b> }</b></p><p> 5.3圖書信息添加模塊</p><p> BookServlet:</p><p> String bookid=request.getParameter("bookid");</p><p> String isbn=request.get
55、Parameter("isbn");</p><p> String title=request.getParameter("title");</p><p> String publish=request.getParameter("publish");</p><p> String author
56、=request.getParameter("author");</p><p> String abstract_=request.getParameter("abstract_");</p><p> Map<String,Object> record=new HashMap<String,Object>();<
57、/p><p> record.put("bookid", bookid);</p><p> record.put("isbn", isbn);</p><p> record.put("title", title);</p><p> record.put("publ
58、ish", publish);</p><p> record.put("author", author);</p><p> record.put("abstract_", abstract_);</p><p> BookDAO dao=new BookDAO();</p><p>
59、 int flag=dao.addBook(record);</p><p> String message="";</p><p> if(flag>0){</p><p> message="<script>alert('添加成功');</script>";</p
60、><p><b> }else{</b></p><p> message="<script>alert('添加失敗');</script>";</p><p><b> }</b></p><p><b> BookDAO:
61、</b></p><p><b> //加載驅(qū)動</b></p><p> Class.forName("com.mysql.jdbc.Driver");</p><p><b> //建立連接</b></p><p> Connection cn=Drive
62、rManager.getConnection("jdbc:mysql://localhost:3306/book?user=root&password=123&useUnicode=true&characterEncoding=utf8");</p><p><b> //發(fā)送SQL語句</b></p><p> Sta
63、tement stmt=cn.createStatement();</p><p> flag=stmt.executeUpdate("insert into bookinfo(bookid,isbn,title,publish,author,abstract_) values('"+record.get("bookid")+"','&q
64、uot;+record.get("isbn")+"','"+record.get("title")+"','"+record.get("publish")+"','"+record.get("author")+"','&quo
65、t;+record.get("abstract_")+"')");</p><p> 5.4圖書信息修改模塊</p><p> BookServlet:</p><p> String bookid=request.getParameter("bookid");</p><
66、p> BookDAO dao=new BookDAO();</p><p> Map<String,Object> record=dao.getBook(bookid);</p><p> request.setAttribute("record", record);</p><p> request.getReques
67、tDispatcher("editBook.jsp").forward(request, response);</p><p><b> BookDAO:</b></p><p><b> //加載驅(qū)動</b></p><p> Class.forName("com.mysql.jdbc
68、.Driver");</p><p><b> //建立連接</b></p><p> Connection cn=DriverManager.getConnection("jdbc:mysql://localhost:3306/book?user=root&password=123&useUnicode=true&ch
69、aracterEncoding=utf8");</p><p><b> //發(fā)送SQL語句</b></p><p> Statement stmt=cn.createStatement();</p><p> flag=stmt.executeUpdate("update bookinfo set bookid=
70、39;"+record.get("bookid")+"',isbn='"+record.get("isbn")+"',title='"+record.get("title")+"',publish='"+record.get("publish"
71、;)+"',author='"+record.get("author")+"',abstract_='"+record.get("abstract_")+"' where bookid='"+record.get("bookid")+"'");
72、</p><p> 5.5圖書信息刪除模塊</p><p> BookServlet:</p><p> String bookid=request.getParameter("bookid");</p><p> BookDAO dao=new BookDAO();</p><p> i
73、nt flag=dao.delBook(bookid);</p><p> String message="";</p><p> if(flag>0){</p><p> message="<script>alert('刪除成功');</script>";</p>
74、;<p><b> }else{</b></p><p> message="<script>alert('刪除失敗');</script>";</p><p><b> }</b></p><p> request.setAttribute
75、("message", message);</p><p> list(request,response);</p><p><b> BookDAO:</b></p><p><b> try{</b></p><p><b> //加載驅(qū)動</b>
76、;</p><p> Class.forName("com.mysql.jdbc.Driver");</p><p><b> //建立連接</b></p><p> Connection cn=DriverManager.getConnection("jdbc:mysql://localhost:3306/
77、book?user=root&password=123&useUnicode=true&characterEncoding=utf8");</p><p><b> //發(fā)送SQL語句</b></p><p> Statement stmt=cn.createStatement();</p><p> f
78、lag=stmt.executeUpdate("delete from bookinfo where bookid='"+bookid+"'");</p><p><b> //關(guān)閉連接</b></p><p> if(stmt!=null) stmt.close();</p><p>
79、; if(cn!=null) cn.close();</p><p> return flag;</p><p> } catch (Exception e) {</p><p> e.printStackTrace();</p><p><b> }</b></p><p> 5.6
80、圖書借閱辦理模塊</p><p> BookServlet:</p><p> String cert_id=request.getParameter("cert_id");</p><p> String cert_name=request.getParameter("cert_name");</p>&
81、lt;p> String name=request.getParameter("name");</p><p> String depart=request.getParameter("depart");</p><p> String flag=request.getParameter("flag");</p&
82、gt;<p> Map<String,Object> record=new HashMap<String,Object>();</p><p> record.put("cert_id", cert_id);</p><p> record.put("cert_name", cert_name);</
83、p><p> record.put("name", name);</p><p> record.put("depart", depart);</p><p> record.put("flag", flag); </p><p> BookDAO dao=new Book
84、DAO();</p><p> int flag1=dao.addCert(record);</p><p> String message="";</p><p> if(flag1>0){</p><p> message="<script>alert('注冊成功')
85、;</script>";</p><p><b> }else{</b></p><p> message="<script>alert('注冊失敗');</script>";</p><p><b> }</b></p>
86、<p> request.setAttribute("message", message);</p><p> request.getRequestDispatcher("addCert.jsp").forward(request, response);</p><p><b> BookDAO:</b><
87、;/p><p><b> try {</b></p><p><b> //加載驅(qū)動</b></p><p> Class.forName("com.mysql.jdbc.Driver");</p><p><b> //建立連接</b></p&g
88、t;<p> Connection cn=DriverManager.getConnection("jdbc:mysql://localhost:3306/book?user=root&password=123&useUnicode=true&characterEncoding=utf8");</p><p><b> //發(fā)送SQL語句&l
89、t;/b></p><p> Statement stmt=cn.createStatement();</p><p> flag=stmt.executeUpdate("insert into certificateinfo (cert_id,cert_name,name,depart,flag) values('"+record.get("
90、;cert_id")+"','"+record.get("cert_name")+"','"+record.get("name")+"','"+record.get("depart")+"','"+record.get(&qu
91、ot;flag")+"')");</p><p><b> //關(guān)閉連接</b></p><p> if(stmt!=null) stmt.close();</p><p> if(cn!=null) cn.close();</p><p> return flag;<
92、/p><p> } catch (Exception e) {</p><p> e.printStackTrace();</p><p><b> }</b></p><p><b> 5.7圖書借閱模塊</b></p><p> BookServlet:</p
93、><p> String bookid=request.getParameter("bookid");</p><p> String cert_id=request.getParameter("cert_id"); </p><p> Map<String,Object> record=new HashMap&
94、lt;String,Object>();</p><p> record.put("bookid", bookid);</p><p> record.put("cert_id", cert_id);</p><p> SimpleDateFormat sdf=new SimpleDateFormat("
95、yyyy-MM-dd");</p><p> String loandates=sdf.format(new Date());</p><p> record.put("loandates", loandates);</p><p> int flag=1;</p><p> record.put(&qu
96、ot;flag", flag); </p><p> BookDAO dao=new BookDAO();</p><p> int flag1=dao.borrowBook(record);</p><p> String message="";</p><p> if(flag1>0){
97、</p><p> message="<script>alert('借書成功');</script>";</p><p><b> }else{</b></p><p> message="<script>alert('借書失敗');<
98、/script>";</p><p><b> }</b></p><p> request.setAttribute("message", message);</p><p> request.getRequestDispatcher("borrowBook.jsp").forwa
99、rd(request, response);</p><p><b> BookDAO:</b></p><p><b> try {</b></p><p><b> //加載驅(qū)動</b></p><p> Class.forName("com.mysql.
100、jdbc.Driver");</p><p><b> //建立連接</b></p><p> Connection cn=DriverManager.getConnection("jdbc:mysql://localhost:3306/book?user=root&password=123&useUnicode=true&am
101、p;characterEncoding=utf8");</p><p><b> //發(fā)送SQL語句</b></p><p> Statement stmt=cn.createStatement();</p><p> flag=stmt.executeUpdate("insert into loan (bookid,
102、cert_id,loandates,flag) values('"+record.get("bookid")+"','"+record.get("cert_id")+"','"+record.get("loandates")+"','"+record.g
103、et("flag")+"')");</p><p><b> //關(guān)閉連接</b></p><p> if(stmt!=null) stmt.close();</p><p> if(cn!=null) cn.close();</p><p> return fla
104、g;</p><p> } catch (Exception e) {</p><p> e.printStackTrace();</p><p><b> }</b></p><p><b> 5.8圖書歸還模塊</b></p><p> BookServlet:
105、</p><p> String bookid=request.getParameter("bookid");</p><p> RbookDAO dao=new RbookDAO();</p><p> Map<String,Object> record=dao.getLoan(bookid);</p><
106、p> request.setAttribute("record", record);</p><p><b> }</b></p><p><b> //還書</b></p><p> public void return_(HttpServletRequest request, Http
107、ServletResponse response)</p><p> throws ServletException, IOException {</p><p> String bookid=request.getParameter("bookid");</p><p> RbookDAO dao=new RbookDAO();</
108、p><p> int flag1=dao.returnBook(bookid);</p><p> String message="";</p><p> if(flag1>0){</p><p> message="<script>alert('還書成功');</sc
109、ript>";</p><p><b> }else{</b></p><p> message="<script>alert('還書失敗');</script>";</p><p><b> }</b></p><p&g
110、t; request.setAttribute("message", message);</p><p> request.getRequestDispatcher("returnBook.jsp").forward(request, response);</p><p><b> RbookDAO:</b></p&
111、gt;<p><b> try {</b></p><p><b> //加載驅(qū)動</b></p><p> Class.forName("com.mysql.jdbc.Driver");</p><p><b> //建立連接</b></p>
112、<p> Connection cn=DriverManager.getConnection("jdbc:mysql://localhost:3306/book?user=root&password=123&useUnicode=true&characterEncoding=utf8");</p><p><b> //發(fā)送SQL語句</b
113、></p><p> Statement stmt=cn.createStatement();</p><p> flag=stmt.executeUpdate("delete from loan where bookid='"+bookid+"'");</p><p><b> //關(guān)閉
114、連接</b></p><p> if(stmt!=null) stmt.close();</p><p> if(cn!=null) cn.close();</p><p> return flag;</p><p> } catch (Exception e) {</p><p> e.prin
115、tStackTrace();</p><p><b> }</b></p><p> 5.9數(shù)據(jù)庫基本結(jié)構(gòu)圖</p><p><b> Bookinfo表</b></p><p> certificateinfo 表</p><p><b> loan表&
116、lt;/b></p><p><b> user表</b></p><p><b> 六、測試</b></p><p> 6.1、系統(tǒng)測試的定義</p><p> 系統(tǒng)測試是將經(jīng)過測試的子系統(tǒng)裝配成一個完整系統(tǒng)來測試。它是檢驗系統(tǒng)是否能夠提供方案說明中指定功能的有效方法。為了發(fā)現(xiàn)缺陷并
117、度量產(chǎn)品質(zhì)量,按照系統(tǒng)的功能和性能需求進(jìn)行調(diào)試。</p><p><b> 6.2、測試的內(nèi)容</b></p><p><b> (1)、功能測試</b></p><p> 對圖書管理系統(tǒng)的所有頁面進(jìn)行鏈接測試。所有的頁面都能鏈接到指定要鏈接到得頁面,所鏈接的頁面均存在,而且頁面中不存在孤立的頁面。對表單進(jìn)行測試,如
118、果輸入信息不正確或者不輸入信息就直接提交,會出現(xiàn)作物提示。通過填寫正確的表單信息,數(shù)據(jù)庫運(yùn)行正常。</p><p><b> (2)、性能測試</b></p><p> 通過寬帶上網(wǎng)的方式對圖書管理系統(tǒng)的鏈接速度進(jìn)行測試,在可接受的范圍之內(nèi)。用圖書管理系統(tǒng)壓力測試Web-CT軟件,對測試頻率,持續(xù)時間等進(jìn)行的、測試得出結(jié)論:圖書管理系統(tǒng)壓力測試結(jié)果較好。</
119、p><p><b> (3)、可用性測試</b></p><p> 圖書管理系統(tǒng)導(dǎo)航結(jié)構(gòu)清晰、目的明確、頁面風(fēng)格一致、頁面使用顏色較少。有較好的視覺效果。圖書管理系統(tǒng)整體界面布局合理,頁面風(fēng)格簡潔,顏色搭配協(xié)調(diào),可用性良好。</p><p><b> 6.3、測試案例</b></p><p>
120、方法:功能模塊測試方法</p><p> 目的:測試錄入功能的正確性</p><p> 預(yù)期結(jié)果:有出錯警告</p><p> 過程:在書名欄中,沒有選擇任何項,直接提交</p><p><b> 輸入:無輸入項</b></p><p> 測試結(jié)果:無法保存,有出錯警告</p>
121、;<p> 比較:與預(yù)期結(jié)果相當(dāng)</p><p><b> 結(jié)論:正確</b></p><p><b> 七、總結(jié)</b></p><p> 兩周以來忙碌而又緊張的課程設(shè)計,我對軟件工程的基本理論知識、專業(yè)知識和基本技術(shù)有了更深入的了解和體會,把學(xué)到的知識得到了系統(tǒng)的復(fù)習(xí),真正達(dá)到了學(xué)以致用。圖書管理
122、系統(tǒng)的開發(fā)時一項復(fù)雜的工程,在設(shè)計過程中我嚴(yán)格按照需求分析、總體設(shè)計、詳細(xì)設(shè)計、編碼、測試的流程來開發(fā)系統(tǒng)。在系統(tǒng)開發(fā)前,我首先了解了系統(tǒng)的特點,使用范圍以及要做成一個什么樣的系統(tǒng),以此作為基礎(chǔ)開發(fā)系統(tǒng)并準(zhǔn)確定位。系統(tǒng)的設(shè)計不僅要實現(xiàn)對數(shù)據(jù)處理的及時性與正確性,而且要考慮系統(tǒng)是否具有控制功能,及時將數(shù)據(jù)反饋給操作者,以進(jìn)行檢測和協(xié)調(diào),保證系統(tǒng)能夠正常運(yùn)行。</p><p> 在設(shè)計的過程中,我掌握了JSP的變編
123、程知識,并對其進(jìn)行了深入的學(xué)習(xí)。設(shè)計過程也是一個再學(xué)習(xí)的過程,設(shè)計所稱中遇到很多問題,我們盡量想辦法想自己解決,實在解決不了再請教別的同學(xué)。</p><p> 最后感謝張老師兩周以來的細(xì)心指導(dǎo)!</p><p><b> 參考文獻(xiàn)</b></p><p> 耿祥義 張躍平 《JSP使用教程》 清華大學(xué)出版社 2003年5月</p
124、><p> 孫一林 彭波 《JAVA數(shù)據(jù)庫編程實例》 清華大學(xué)出版社 2002年8月</p><p> 3.http://www.doc88.com/p-99951170034.html</p><p> 原文已完。下文為附加文檔,如不需要,下載后可以編輯刪除,謝謝!</p><p><b> 施工組織設(shè)計</b>&
125、lt;/p><p> 本施工組織設(shè)計是本著“一流的質(zhì)量、一流的工期、科學(xué)管理”來進(jìn)行編制的。編制時,我公司技術(shù)發(fā)展部、質(zhì)檢科以及項目部經(jīng)過精心研究、合理組織、充分利用先進(jìn)工藝,特制定本施工組織設(shè)計。</p><p><b> 工程概況:</b></p><p> 西夏建材城生活區(qū)27#、30#住宅樓位于銀川市新市區(qū),橡膠廠對面。</p&
126、gt;<p> 本工程由寧夏燕寶房地產(chǎn)開發(fā)有限公司開發(fā),銀川市規(guī)劃建筑設(shè)計院設(shè)計。</p><p> 本工程耐火等級二級,屋面防水等級三級,地震防烈度為8度,設(shè)計使用年限50年。</p><p> 本工程建筑面積:27#樓3824.75m2;30#樓3824.75 m2。室內(nèi)地坪±0.00以絕對標(biāo)高1110.5 m為準(zhǔn),總長27#樓47.28m;30#樓47.
127、28 m??倢?7#樓14.26m;30#樓14.26 m。設(shè)計室外地坪至檐口高度18.6 00m,呈長方形布置,東西向,三個單元。</p><p> 本工程設(shè)計屋面為坡屋面防水采用防水涂料。外墻水泥砂漿抹面,外刷淺灰色墻漆。內(nèi)墻面除衛(wèi)生間200×300瓷磚,高到頂外,其余均水泥砂槳罩面,刮二遍膩子;樓梯間內(nèi)墻采用50厚膠粉聚苯顆粒保溫。地面除衛(wèi)生間200×200防滑地磚,樓梯間50厚細(xì)石砼
128、1:1水泥砂漿壓光外,其余均采用50厚豆石砼毛地面。樓梯間單元門采用樓宇對講門,臥室門、衛(wèi)生間門采用木門,進(jìn)戶門采用保溫防盜門。本工程窗均采用塑鋼單框雙玻窗,開啟窗均加紗扇。本工程設(shè)計為節(jié)能型住宅,外墻均貼保溫板。</p><p> 本工程設(shè)計為磚混結(jié)構(gòu),共六層?;A(chǔ)采用C30鋼筋砼條形基礎(chǔ),上砌MU30毛石基礎(chǔ),砂漿采用M10水泥砂漿。一、二、三、四層墻體采用M10混合砂漿砌筑MU15多孔磚;五層以上采用M7
129、.5混合砂漿砌筑MU15多孔磚。</p><p> 本工程結(jié)構(gòu)中使用主要材料:鋼材:I級鋼,II級鋼;砼:基礎(chǔ)墊層C10,基礎(chǔ)底板、地圈梁、基礎(chǔ)構(gòu)造柱均采用C30,其余均C20。</p><p> 本工程設(shè)計給水管采用PPR塑料管,熱熔連接;排水管采用UPVC硬聚氯乙烯管,粘接;給水管道安裝除立管及安裝IC卡水表的管段明設(shè)計外,其余均暗設(shè)。</p><p>
130、本工程設(shè)計采暖為鋼制高頻焊翅片管散熱器。</p><p> 本工程設(shè)計照明電源采用BV-2.5銅芯線,插座電源等采用BV-4銅芯線;除客廳為吸頂燈外,其余均采用座燈。</p><p><b> 施工部署及進(jìn)度計劃</b></p><p><b> 1、工期安排</b></p><p> 本工
131、程合同計劃開工日期:2004年8月21日,竣工日期:2005年7月10日,合同工期315天。計劃2004年9月15日前完成基礎(chǔ)工程,2004年12月30日完成主體結(jié)構(gòu)工程,2005年6月20日完成裝修工種,安裝工程穿插進(jìn)行,于2005年7月1日前完成。具體進(jìn)度計劃詳見附圖-1(施工進(jìn)度計劃)。</p><p><b> 2、施工順序</b></p><p><
132、b> ?、呕A(chǔ)工程</b></p><p> 工程定位線(驗線)→挖坑→釬探(驗坑)→砂礫墊層的施工→基礎(chǔ)砼墊層→刷環(huán)保瀝青 →基礎(chǔ)放線(預(yù)檢)→砼條形基礎(chǔ)→刷環(huán)保瀝青 →毛石基礎(chǔ)的砌筑→構(gòu)造柱砼→地圈梁→地溝→回填工。</p><p><b> ?、平Y(jié)構(gòu)工程</b></p><p> 結(jié)構(gòu)定位放線(預(yù)檢)→構(gòu)造柱鋼筋綁扎
133、、定位(隱檢)→磚墻砌筑(+50cm線找平、預(yù)檢)→柱梁、頂板支模(預(yù)檢)→梁板鋼筋綁扎(隱檢、開盤申請)→砼澆筑→下一層結(jié)構(gòu)定位放線→重復(fù)上述施工工序直至頂。</p><p><b> ?、莾?nèi)裝修工程</b></p><p> 門窗框安裝→室內(nèi)墻面抹灰→樓地面→門窗安裝、油漆→五金安裝、內(nèi)部清理→通水通電、竣工。</p><p><b
134、> ?、韧庋b修工程</b></p><p> 外裝修工程遵循先上后下原則,屋面工程(包括煙道、透氣孔、壓頂、找平層)結(jié)束后,進(jìn)行大面積裝飾,塑鋼門窗在裝修中逐步插入。</p><p><b> 施工準(zhǔn)備</b></p><p><b> 現(xiàn)場道路</b></p><p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件工程綜合課程設(shè)計報告-圖書管理系統(tǒng)
- 軟件工程課程設(shè)計--圖書管理系統(tǒng)
- 軟件工程課程設(shè)計---圖書管理系統(tǒng)
- 圖書管理系統(tǒng)軟件工程課程設(shè)計
- 圖書管理系統(tǒng)軟件工程課程設(shè)計
- 圖書管理系統(tǒng)-軟件工程綜合設(shè)計課程總結(jié)報告
- 軟件工程課程設(shè)計--在線圖書管理系統(tǒng)
- 圖書管理系統(tǒng)軟件工程課程設(shè)計作業(yè)
- 軟件工程圖書管理系統(tǒng)課程設(shè)計[1]
- 圖書管理系統(tǒng)-軟件工程綜合設(shè)計課程總結(jié)報告.doc
- 軟件工程課程設(shè)計--圖書管理系統(tǒng)的設(shè)計和實現(xiàn)
- 綜合應(yīng)用軟件課程設(shè)計報告--圖書管理系統(tǒng)
- 軟件工程課程設(shè)計--圖書借閱管理系統(tǒng)
- 軟件工程課程設(shè)計--圖書借閱管理系統(tǒng)
- 軟件工程綜合課程設(shè)計報告--基于uml的圖書館管理系統(tǒng)
- 軟件工程課程設(shè)計--基于c#的圖書管理系統(tǒng)設(shè)計和實現(xiàn)
- 軟件工程圖書管理系統(tǒng)-詳細(xì)設(shè)計
- 軟件工程課程設(shè)計--圖書館管理系統(tǒng)
- 軟件工程課程設(shè)計-- 圖書分銷系統(tǒng)
- 軟件工程課程設(shè)計-——圖書館管理系統(tǒng)
評論
0/150
提交評論