版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 目 錄</b></p><p><b> 一、可行性研究2</b></p><p> 1.1、可行性研究的目的2</p><p> 1.2、可行性分析3</p><p> 1.2.1、技術可行性3</p><p> 1.2.
2、2、經(jīng)濟可行性3</p><p> 1.2.3、社會可行性3</p><p> 1.2.4、法律可行性3</p><p> 1.3、可行性研究的結論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> 三、概要設計9</b></p><p> 3.1、系統(tǒng)層次圖9
4、</p><p> 3.2、數(shù)據(jù)庫設計概述9</p><p> 3.3、數(shù)據(jù)字典10</p><p> 3.4、數(shù)據(jù)庫物理設計10</p><p><b> 四、詳細設計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ù)庫基本結構圖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> 七、總結27</b></p><p><b> 參考文獻28</b></p&
9、gt;<p><b> 一、可行性研究</b></p><p> 1.1、可行性研究的目的</p><p> 可行性分析是為“圖書管理系統(tǒng)”開發(fā)的可能性、可行性、必要性提供論據(jù),為開發(fā)人員進行系統(tǒng)總體規(guī)劃設計及具體實施開發(fā)工程提供必要的參考資料,在系統(tǒng)開發(fā)完成后為系統(tǒng)的測試、驗收提供幫相。圖書管理系統(tǒng)是一個高度集成的圖書信息處理系統(tǒng),通過將圖書信息
10、的各種功能進行整合,從而達到告訴檢索信息、提高工作效率、降低管理成本等。一個典型的圖書管理系統(tǒng)應該有所有的圖書種類、圖書信息、及讀者信息,還需要提高各種圖書的查詢檢索功能。該系統(tǒng)還要對圖書進行借閱和歸還管理,并對讀者的罰款進行管理。通過系統(tǒng)的自動化管理,能減少圖書管理人員的,還能減少管理人員的工作任務,從而減少管理的開銷成本</p><p><b> 1.2、可行性分析</b></p
11、><p> 1.2.1、技術可行性</p><p> 技術可行性包括以下幾個方面:硬件、系統(tǒng)軟件、應用軟件、技術人員。本系統(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)濟可
12、行性</p><p> 對于圖書館這樣的商業(yè)性質較小的場所,其經(jīng)濟成分比重相對較少。主要是支出的費用包括設備購置費,軟件開發(fā)費用,管理和維護費,人員工資和培訓費等.由于各個圖書館實行統(tǒng)一操作,系統(tǒng)共享,其設備購置,人員工資,維護費用相對較少,前期的資金投入主要集中于購置圖書上,建立信息中心,可將來自各方面的信息集中管理,提高圖書管理的計劃性和預見性,快速地反饋市場信息。</p><p>
13、 1.2.3、社會可行性</p><p> 社會可行性有時也稱為操作可行性, 主要驗證新系統(tǒng)在企業(yè)或機構開發(fā)和運行的可能性以及運行后可能一起的對企業(yè)或機構的影響, 即組織內(nèi)外是否具備接受和使用新系統(tǒng)的條件。在當前信息技術飛速發(fā)展的環(huán)境下, 計算機技術和軟件技術的更新是圖書館完全有可能也有能力采用這樣先進的管理技術。它對圖書館帶來的影響有:(a)、對傳統(tǒng)管理理念的沖擊,可能引起管理層的變動和人員的調整。(b)、
14、對圖書館工作人員的要求提高,使圖書館在一定的可能下進行機構精簡,迫使工作人員繼續(xù)學習新知識,拓寬圖書館在市場環(huán)境下的生存空間,對圖書館與讀者之間業(yè)務方式的轉變和擴充。</p><p> 1.2.4、法律可行性</p><p> 系統(tǒng)的研制和開發(fā)都選用正版軟件,不侵犯他人、集體和國家的利益,不會違反國家相關的政策和法律。</p><p> 1.3、可行性研究的結
15、論</p><p> 該圖書管理系統(tǒng)不管是從技術、經(jīng)濟、社會、法律方面考慮都具有一定的可行性。因此系統(tǒng)的開發(fā)可以立即開始進行。</p><p><b> 二、需求分析階段</b></p><p><b> 2.1、功能需求</b></p><p> 隨著圖書的日益增多,傳統(tǒng)的手工圖書管理不僅
16、工作量大,而且容易出現(xiàn)問題。圖書管理設計的內(nèi)容非常復雜而且繁瑣,比如擁有圖書信息錄入管理、用戶信息管理、圖書借閱和歸還管理等功能。</p><p> 由于系統(tǒng)主要是為了方便管理員定制開發(fā)的,因此針對圖書管理的實際工作而言,經(jīng)過反復論證,最終確定了圖書管理系統(tǒng)的設計方案,圖書管理系統(tǒng)的主要功能為:</p><p> ?。?)用戶登錄:管理員會根據(jù)用戶名和密碼登錄系統(tǒng)進行身份驗證。</
17、p><p> ?。?)新書入庫:只有管理員登錄成功后才能添加圖書。通過點擊導航條上的“添加”超鏈接添加圖書。</p><p> (3)修改圖書信息:只有管理員登錄成功后才能修改圖書。通過通過點擊導航條上的“修改”超鏈接添加圖書。</p><p> ?。?)刪除圖書信息:只有管理員登錄成功后才能刪除圖書。通過通過點擊導航條上的“刪除”超鏈接添加圖書。</p>
18、<p> (5)辦理借書證:通過通過點擊 “辦理借書證”超鏈接辦理借書證。</p><p> (6)借閱圖書:輸入借書證號和圖書編號進行借書。</p><p> (7)歸還圖書:輸入圖書編號進行還書。</p><p> (8)注銷系統(tǒng):點擊“注銷系統(tǒng)”超鏈接,退出系統(tǒng)。</p><p><b> 2.2、性能
19、需求</b></p><p> 為了保證系統(tǒng)能夠長期、安全、穩(wěn)定、可靠、高校的運行,圖書管理系統(tǒng)應該滿足以下的性能需求:</p><p> ?。?)系統(tǒng)處理的準確性和及時性</p><p> 系統(tǒng)處理的準確性和及時性是系統(tǒng)的必要性能。在系統(tǒng)設計和開發(fā)過程中,要充分考慮當前和將來可能承受的工作量,使系統(tǒng)的處理能力和響應時間能夠滿足學校對信息處理的需求。
20、</p><p> ?。?)系統(tǒng)的開放性和可擴充性</p><p> 圖書管理系統(tǒng)在開發(fā)過程中,應充分考慮以后的可擴充性。例如:用戶查詢的需求會不斷的更新和完善,要求系統(tǒng)提供足夠的功能的調整和擴充。而要實現(xiàn)這一點,應通過系統(tǒng)的開放性來完成,即系統(tǒng)應是一個開放的系統(tǒng),只要符合一定的規(guī)定,可以簡單的加入和減少系統(tǒng)的模塊,配置系統(tǒng)的硬件。通過軟件的修補,替換完成系統(tǒng)的升級和更新?lián)Q代。</
21、p><p> ?。?)系統(tǒng)的易用性和易維護性</p><p> 圖書管理系統(tǒng)是直接面對使用人員的,而使用人員往往對計算機并不一定非常熟悉。這就要求系統(tǒng)能夠提供良好的用戶接口,易用的人機交互界面。要實現(xiàn)這些,系統(tǒng)應該盡量使用用戶熟悉的術語和中文信息的界面。針對用戶使用過程中可能出現(xiàn)的問題,要提供在線幫助,縮短用戶對系統(tǒng)熟悉的過程。</p><p><b>
22、(4)系統(tǒng)的標準性</b></p><p> 系統(tǒng)在設計開發(fā)使用過程中涉及到很多計算機硬件和軟件,所有這些都要符合國際、國家和行業(yè)標準。</p><p><b> 2.3、接口需求</b></p><p><b> (1)服務器:</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> ?。?)借書證信息實體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; 三、概要設計</b></p><p><b> 3.1、系統(tǒng)層次圖</b></p><p><b> 層次圖</b></p><p> 3.2、數(shù)據(jù)庫設計概述</p><p> 計算機信息系統(tǒng)以數(shù)據(jù)庫為核心,在數(shù)據(jù)庫管理系統(tǒng)的支持下,進行信息的收集、整理、存儲、檢索、更新
27、等操作。為了使現(xiàn)實世界的信息計算機化,并對計算機化的信息進行各種常用操作,如:如何利用數(shù)據(jù)庫管理系統(tǒng)軟件和相關硬件系統(tǒng),將用戶的要求轉化成有效的數(shù)據(jù)結構,并使數(shù)據(jù)庫結構易于實現(xiàn)用戶新的要求的過程。確切的說,數(shù)據(jù)庫設計是指對一個給定的應用環(huán)境,確定最優(yōu)數(shù)據(jù)模型與處理模式的邏輯設計,以及一個確定數(shù)據(jù)庫存儲結構與存取方法的物理設計,建立起即能反應現(xiàn)實世界信息和信息聯(lián)系,滿足用戶數(shù)據(jù)要求,又能被某個數(shù)據(jù)庫管理系統(tǒng)所接受的數(shù)據(jù)庫。</p&g
28、t;<p> 根據(jù)軟件工程的設計思想:數(shù)據(jù)庫設計可劃分為六個階段:規(guī)劃階段、需求分析階段、設計階段、程序編制階段、調試階段、運行和維護階段。本系統(tǒng)的數(shù)據(jù)庫設計是在MySql環(huán)境中,通過合理的邏輯設計和有效的物理設計,建立數(shù)據(jù)庫。物理結構的設計原則如下:(1)盡可能減少數(shù)據(jù)冗余和重復;(2)結構設計與操作設計相結合;(3)數(shù)據(jù)結構具有相對的穩(wěn)定性。</p><p><b> 3.3、數(shù)據(jù)
29、字典</b></p><p><b> (1)名稱:管理員</b></p><p> 描述:記錄管理員信息。</p><p> 定義:管理員信息=管理員ID+用戶名+密碼。</p><p> 輸入數(shù)據(jù):用戶名、密碼。</p><p> 輸出數(shù)據(jù):管理員信息。</p>
30、;<p> (2)名稱:圖書信息表</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> 定義:借書證信息=借書證編號+證件名稱+姓名+證件類型+標記</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ù)庫物理設計</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> (3)certificateinfo表記錄借書證信息(包括借書證ID、證件名稱、姓名、證件類型、標記),如表3-4-3。</p><p><b> 表3-4-3</b></p><p> (4)loan表記錄借還書信息(包括圖書編號、借書證ID、借書日期、還書日期、標記),如表3-4-4。</p><p><b&g
35、t; 表3-4-4</b></p><p><b> 四、詳細設計</b></p><p><b> 4.1、圖書管理</b></p><p> 4.1.1、 新書入庫</p><p> 圖書采購人員按照每年的采購計進行購書,(不在本系統(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> 主要功能是記錄借閱證編號和圖書編號,進行借書過程。在數(shù)據(jù)庫中插入一條借書記錄,該記錄包括讀者ID、圖書ID、借出日期、借閱編號、操作員。</p><p&
38、gt; 4.2.2、圖書歸還</p><p> 主要功能是輸入借閱編號、借閱證編號、圖書ID、還書日期,在借閱登記表中找到相應的記錄,將借書記錄刪除,將該記錄的相應數(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> //跳轉頁面</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> //跳轉頁面</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、轉碼</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、轉發(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> //加載驅動</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、/將查詢結果轉為List</p><p> List<Map<String,Object>> records=ZqDBUtil.getHashMap(rs);</p><p><b> //關閉連接</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> //加載驅動</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> //加載驅動</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> //加載驅動</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> //關閉連接</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> //加載驅動</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> //關閉連接</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> //加載驅動</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> //關閉連接</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> //加載驅動</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> //關閉
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ù)庫基本結構圖</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)品質量,按照系統(tǒng)的功能和性能需求進行調試。</p><p><b> 6.2、測試的內(nèi)容</b></p><p><b> (1)、功能測試</b></p><p> 對圖書管理系統(tǒng)的所有頁面進行鏈接測試。所有的頁面都能鏈接到指定要鏈接到得頁面,所鏈接的頁面均存在,而且頁面中不存在孤立的頁面。對表單進行測試,如
118、果輸入信息不正確或者不輸入信息就直接提交,會出現(xiàn)作物提示。通過填寫正確的表單信息,數(shù)據(jù)庫運行正常。</p><p><b> (2)、性能測試</b></p><p> 通過寬帶上網(wǎng)的方式對圖書管理系統(tǒng)的鏈接速度進行測試,在可接受的范圍之內(nèi)。用圖書管理系統(tǒng)壓力測試Web-CT軟件,對測試頻率,持續(xù)時間等進行的、測試得出結論:圖書管理系統(tǒng)壓力測試結果較好。</
119、p><p><b> (3)、可用性測試</b></p><p> 圖書管理系統(tǒng)導航結構清晰、目的明確、頁面風格一致、頁面使用顏色較少。有較好的視覺效果。圖書管理系統(tǒng)整體界面布局合理,頁面風格簡潔,顏色搭配協(xié)調,可用性良好。</p><p><b> 6.3、測試案例</b></p><p>
120、方法:功能模塊測試方法</p><p> 目的:測試錄入功能的正確性</p><p> 預期結果:有出錯警告</p><p> 過程:在書名欄中,沒有選擇任何項,直接提交</p><p><b> 輸入:無輸入項</b></p><p> 測試結果:無法保存,有出錯警告</p>
121、;<p> 比較:與預期結果相當</p><p><b> 結論:正確</b></p><p><b> 七、總結</b></p><p> 兩周以來忙碌而又緊張的課程設計,我對軟件工程的基本理論知識、專業(yè)知識和基本技術有了更深入的了解和體會,把學到的知識得到了系統(tǒng)的復習,真正達到了學以致用。圖書管理
122、系統(tǒng)的開發(fā)時一項復雜的工程,在設計過程中我嚴格按照需求分析、總體設計、詳細設計、編碼、測試的流程來開發(fā)系統(tǒng)。在系統(tǒng)開發(fā)前,我首先了解了系統(tǒng)的特點,使用范圍以及要做成一個什么樣的系統(tǒng),以此作為基礎開發(fā)系統(tǒng)并準確定位。系統(tǒng)的設計不僅要實現(xiàn)對數(shù)據(jù)處理的及時性與正確性,而且要考慮系統(tǒng)是否具有控制功能,及時將數(shù)據(jù)反饋給操作者,以進行檢測和協(xié)調,保證系統(tǒng)能夠正常運行。</p><p> 在設計的過程中,我掌握了JSP的變編
123、程知識,并對其進行了深入的學習。設計過程也是一個再學習的過程,設計所稱中遇到很多問題,我們盡量想辦法想自己解決,實在解決不了再請教別的同學。</p><p> 最后感謝張老師兩周以來的細心指導!</p><p><b> 參考文獻</b></p><p> 耿祥義 張躍平 《JSP使用教程》 清華大學出版社 2003年5月</p
124、><p> 孫一林 彭波 《JAVA數(shù)據(jù)庫編程實例》 清華大學出版社 2002年8月</p><p> 3.http://www.doc88.com/p-99951170034.html</p><p> 原文已完。下文為附加文檔,如不需要,下載后可以編輯刪除,謝謝!</p><p><b> 施工組織設計</b>&
125、lt;/p><p> 本施工組織設計是本著“一流的質量、一流的工期、科學管理”來進行編制的。編制時,我公司技術發(fā)展部、質檢科以及項目部經(jīng)過精心研究、合理組織、充分利用先進工藝,特制定本施工組織設計。</p><p><b> 工程概況:</b></p><p> 西夏建材城生活區(qū)27#、30#住宅樓位于銀川市新市區(qū),橡膠廠對面。</p&
126、gt;<p> 本工程由寧夏燕寶房地產(chǎn)開發(fā)有限公司開發(fā),銀川市規(guī)劃建筑設計院設計。</p><p> 本工程耐火等級二級,屋面防水等級三級,地震防烈度為8度,設計使用年限50年。</p><p> 本工程建筑面積:27#樓3824.75m2;30#樓3824.75 m2。室內(nèi)地坪±0.00以絕對標高1110.5 m為準,總長27#樓47.28m;30#樓47.
127、28 m。總寬27#樓14.26m;30#樓14.26 m。設計室外地坪至檐口高度18.6 00m,呈長方形布置,東西向,三個單元。</p><p> 本工程設計屋面為坡屋面防水采用防水涂料。外墻水泥砂漿抹面,外刷淺灰色墻漆。內(nèi)墻面除衛(wèi)生間200×300瓷磚,高到頂外,其余均水泥砂槳罩面,刮二遍膩子;樓梯間內(nèi)墻采用50厚膠粉聚苯顆粒保溫。地面除衛(wèi)生間200×200防滑地磚,樓梯間50厚細石砼
128、1:1水泥砂漿壓光外,其余均采用50厚豆石砼毛地面。樓梯間單元門采用樓宇對講門,臥室門、衛(wèi)生間門采用木門,進戶門采用保溫防盜門。本工程窗均采用塑鋼單框雙玻窗,開啟窗均加紗扇。本工程設計為節(jié)能型住宅,外墻均貼保溫板。</p><p> 本工程設計為磚混結構,共六層。基礎采用C30鋼筋砼條形基礎,上砌MU30毛石基礎,砂漿采用M10水泥砂漿。一、二、三、四層墻體采用M10混合砂漿砌筑MU15多孔磚;五層以上采用M7
129、.5混合砂漿砌筑MU15多孔磚。</p><p> 本工程結構中使用主要材料:鋼材:I級鋼,II級鋼;砼:基礎墊層C10,基礎底板、地圈梁、基礎構造柱均采用C30,其余均C20。</p><p> 本工程設計給水管采用PPR塑料管,熱熔連接;排水管采用UPVC硬聚氯乙烯管,粘接;給水管道安裝除立管及安裝IC卡水表的管段明設計外,其余均暗設。</p><p>
130、本工程設計采暖為鋼制高頻焊翅片管散熱器。</p><p> 本工程設計照明電源采用BV-2.5銅芯線,插座電源等采用BV-4銅芯線;除客廳為吸頂燈外,其余均采用座燈。</p><p><b> 施工部署及進度計劃</b></p><p><b> 1、工期安排</b></p><p> 本工
131、程合同計劃開工日期:2004年8月21日,竣工日期:2005年7月10日,合同工期315天。計劃2004年9月15日前完成基礎工程,2004年12月30日完成主體結構工程,2005年6月20日完成裝修工種,安裝工程穿插進行,于2005年7月1日前完成。具體進度計劃詳見附圖-1(施工進度計劃)。</p><p><b> 2、施工順序</b></p><p><
132、b> ⑴基礎工程</b></p><p> 工程定位線(驗線)→挖坑→釬探(驗坑)→砂礫墊層的施工→基礎砼墊層→刷環(huán)保瀝青 →基礎放線(預檢)→砼條形基礎→刷環(huán)保瀝青 →毛石基礎的砌筑→構造柱砼→地圈梁→地溝→回填工。</p><p><b> ⑵結構工程</b></p><p> 結構定位放線(預檢)→構造柱鋼筋綁扎
133、、定位(隱檢)→磚墻砌筑(+50cm線找平、預檢)→柱梁、頂板支模(預檢)→梁板鋼筋綁扎(隱檢、開盤申請)→砼澆筑→下一層結構定位放線→重復上述施工工序直至頂。</p><p><b> ?、莾?nèi)裝修工程</b></p><p> 門窗框安裝→室內(nèi)墻面抹灰→樓地面→門窗安裝、油漆→五金安裝、內(nèi)部清理→通水通電、竣工。</p><p><b
134、> ?、韧庋b修工程</b></p><p> 外裝修工程遵循先上后下原則,屋面工程(包括煙道、透氣孔、壓頂、找平層)結束后,進行大面積裝飾,塑鋼門窗在裝修中逐步插入。</p><p><b> 施工準備</b></p><p><b> 現(xiàn)場道路</b></p><p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件工程綜合課程設計報告-圖書管理系統(tǒng)
- 軟件工程課程設計--圖書管理系統(tǒng)
- 軟件工程課程設計---圖書管理系統(tǒng)
- 圖書管理系統(tǒng)軟件工程課程設計
- 圖書管理系統(tǒng)軟件工程課程設計
- 圖書管理系統(tǒng)-軟件工程綜合設計課程總結報告
- 軟件工程課程設計--在線圖書管理系統(tǒng)
- 圖書管理系統(tǒng)軟件工程課程設計作業(yè)
- 軟件工程圖書管理系統(tǒng)課程設計[1]
- 圖書管理系統(tǒng)-軟件工程綜合設計課程總結報告.doc
- 軟件工程課程設計--圖書管理系統(tǒng)的設計和實現(xiàn)
- 綜合應用軟件課程設計報告--圖書管理系統(tǒng)
- 軟件工程課程設計--圖書借閱管理系統(tǒng)
- 軟件工程課程設計--圖書借閱管理系統(tǒng)
- 軟件工程綜合課程設計報告--基于uml的圖書館管理系統(tǒng)
- 軟件工程課程設計--基于c#的圖書管理系統(tǒng)設計和實現(xiàn)
- 軟件工程圖書管理系統(tǒng)-詳細設計
- 軟件工程課程設計--圖書館管理系統(tǒng)
- 軟件工程課程設計-- 圖書分銷系統(tǒng)
- 軟件工程課程設計-——圖書館管理系統(tǒng)
評論
0/150
提交評論