酒店網(wǎng)上訂房管理系統(tǒng)設計與開發(fā)分析研究 計算機專業(yè)_第1頁
酒店網(wǎng)上訂房管理系統(tǒng)設計與開發(fā)分析研究 計算機專業(yè)_第2頁
酒店網(wǎng)上訂房管理系統(tǒng)設計與開發(fā)分析研究 計算機專業(yè)_第3頁
酒店網(wǎng)上訂房管理系統(tǒng)設計與開發(fā)分析研究 計算機專業(yè)_第4頁
酒店網(wǎng)上訂房管理系統(tǒng)設計與開發(fā)分析研究 計算機專業(yè)_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1引言酒店的基本內涵就是為旅客提供住宿服務,今天的酒店與過去的酒店相比有很大的變化。隨著社會的進步,經(jīng)濟的迅猛發(fā)展,社會人員流動頻繁,酒店管理工作越來越復雜。如何實現(xiàn)酒店管理的自動化,帶來更大的收益。如何利用現(xiàn)代社會賦予我們的新觀念、新手段創(chuàng)造更大的財富,針對酒店預訂這一環(huán)節(jié),就需要簡化后的酒店預訂系統(tǒng)。1.1研究背景基于酒店行業(yè)需要便利快捷的管理模式,計算機管理可以使酒店業(yè)運作的更加可靠、快捷和高效,不但節(jié)省了管理者的時間,更是對旅客的方便。本系統(tǒng)提供給旅客以快捷、準確和可靠的服務,同時,也提高了酒店自身的管理水平。本系統(tǒng)是針對酒店的具體業(yè)務而開發(fā)的。業(yè)務管理以酒店前臺管理為核心,為旅客提供高效的服務,減免手工處理的繁瑣與誤差,及時、準確的反映酒店的經(jīng)營情況。系統(tǒng)具體有以下特點:系統(tǒng)具有高可靠性、安全性、操作性。模塊化結構,可根據(jù)業(yè)務需要,十分方便的進行添加、刪除、修改和快速查詢的功能。直觀的圖形用戶界面,更加簡便快捷。系統(tǒng)的實用性:本系統(tǒng)的開發(fā)成本低,功能針對酒店前臺管理功能,實用性強,可維護性好。1.2研究意義鑒于目前酒店預訂工作效率低,不能及時了解旅客的需要,不能更好的適應當前旅客要求。手工管理存在許多弊端,由于不可避免的人為因素,造成數(shù)據(jù)丟失、誤報。計算機信息化管理有著存儲量大,速度快等許多優(yōu)點,因此利用計算機提供信息對旅客預訂過程形成一套動態(tài)的管理。1.3國內外研究情況隨著市場經(jīng)濟和世界貿易的不斷深入,競爭激烈,酒店行業(yè)要做到能及時滿足旅客需要,按時間分配房間,及時解決旅客退房等突發(fā)情況,這必須計劃出一個方案,使酒店入住率提高。隨著互聯(lián)網(wǎng)技術的發(fā)展普及,開設互聯(lián)網(wǎng)網(wǎng)上酒店預訂系統(tǒng),不但能夠為國內旅客提供有效的訂房服務,同時也能不受地域限制,為外國旅客提供異地預訂服務。計算機管理系統(tǒng)的應用使酒店經(jīng)濟效益得到提高,全面的信息采集和處理可以輔助提高酒店的決策水平。1.4研究系統(tǒng)目的顯而易見的巨大利益,促使酒店行業(yè)的變更,使用更為便捷、安全的管理方法可以使酒店得到更大利潤?,F(xiàn)代計算機技術的發(fā)展,使得酒店管理方式發(fā)生變化,就連酒店數(shù)據(jù)的存儲方式也改變成使用數(shù)據(jù)庫完成數(shù)據(jù)管理。酒店管理系統(tǒng)主要管理操作包括:客戶信息管理、客房管理以及對酒店資料管理等,它們是酒店管理系統(tǒng)的核心業(yè)務。2系統(tǒng)分析2.1酒店預定系統(tǒng)簡介新中環(huán)酒店預定系統(tǒng)首先會呈現(xiàn)給用戶一個友好的歡迎主界面,功能是介紹酒店的優(yōu)點和特色,也給用戶進行服務的預定提供一個平臺,如果用戶已經(jīng)有定單號又想查詢相關信息或想對本酒店有什么意見分別可以點擊"查詢訂單"和"心聲評論",如果沒有,則可以點擊預定房間進入房間預定界面,當客人輸入好名字,入住日期和天數(shù)后方可提交,由于只有會員才可以對房間進行預定,所以用戶會跳轉到一個登錄界面,如果沒用戶名則可以注冊一個,否則直接登錄,系統(tǒng)將生成一個訂單號給客戶供以后使用。本酒店主要使用到的工具和技術有Tomcat、Myeclipse、SQLServer2005、JAVA、JSPServlet、MVC模式。Servlet主要由JAVA語言編寫,JSP頁面則大多數(shù)用HTML語言編寫,做好的JSP文件都會發(fā)布到WEB服務器(其實就是Tomcat)中才可以運行,最后以MVC的形式完成作品,本作品的MVC模式主要體現(xiàn)在JSPSERVLET還有JAVABEAN各負各的職責,視圖是由我們的JSP完成、模型由我們的JAVABEAN完成,而控制則由我們的Servlet完成,而體現(xiàn)出MVC模型。2.2需求分析經(jīng)過對酒店預訂流程的大概了解及對網(wǎng)上提供的預定系統(tǒng)的參考和交流,此系統(tǒng)應有如下功能:(1)管理端有如下功能:管理員的管理;處理訂單;添加新資源;資源的修改;資源的查詢;(2)客戶端有如下功能:客戶注冊和登錄;瀏覽酒店提供的各種預訂資源,并根據(jù)自己需要下訂單;客戶注冊成功后可以下達訂單;客戶登錄后可以查看自己已提交訂單的處理情況;用戶登錄后可以修改自己的訂單并對訂單處理;3系統(tǒng)設計通過對需求的分析,對于此系統(tǒng)的功能和性能要求有了一定的了解,進而可以確定系統(tǒng)的開發(fā)目標和初步的功能結構。3.1系統(tǒng)目標通過需求分析,最終確定系統(tǒng)要實現(xiàn)的目標如下。實現(xiàn)需求分析階段所提出的功能;界面清晰明了,各個界面均具有導航功能,方便客戶瀏覽。3.2系統(tǒng)功能結構本系統(tǒng)主要包括酒店各項資源的基本信息、訂單的基本信息、添加資源、訂單處理等部分,其系統(tǒng)結構如圖3_2所示:如圖3_2系統(tǒng)結構圖3.3系統(tǒng)整體的用例模型客人主要使用賬號登錄系統(tǒng)就可以查看酒店的客房選擇適合自己的房間,提前預訂。酒店管理者可以登錄自己的賬號行駛相應的權利對酒店進行管理,例如查詢客戶信息,入住情況,客房信息等。游客用例圖如3_3_1所示:圖3_3_1游客用例圖前臺管理員用例圖如圖3_3_2所示:圖3_3_2前臺管理員用例圖用例描述如下:用例編號:001用例名:注冊用戶用例描述:本用例用于游客的注冊和個人信息的填寫。參與者:游客前置條件:網(wǎng)上酒店預定系統(tǒng)正常運行期間。后置條件:用例成功后,添加一名新用戶?;韭窂?.當游客希望注冊個人信息以使用本系統(tǒng)時,用例啟動;2.系統(tǒng)轉到用戶注冊頁面,提示用戶輸入個人信息;3.用戶輸入個人信息;4.系統(tǒng)檢查信息是否由有效,將信息存入數(shù)據(jù)庫;5.注冊成功返回界面;擴展點1a.如果用戶輸入的注冊信息無效,系統(tǒng)顯示錯誤信息并轉到錯誤頁面,用戶重新填寫信息;或者取消注冊,用例結束用例編號:002用例名:瀏覽主頁用例描述:本用例用于游客在網(wǎng)上酒店預定系統(tǒng)中瀏覽主頁。參與者:游客前置條件:網(wǎng)上酒店預定系統(tǒng)正常運行期間。后置條件:無基本路徑1.當游客進入本系統(tǒng)時,用例啟動;2.進入本用例,瀏覽網(wǎng)上酒店預定系統(tǒng)中的資源;擴展點1a.可以將套間加入訂單管理。用例編號:003用例名:預定管理用例描述:本用例用于會員在網(wǎng)上酒店預定系統(tǒng)中將需預定的套間加入訂單管理中。參與者:會員前置條件:網(wǎng)上酒店預定系統(tǒng)正常運行期間。后置條件:用例成功后,訂單管理中套間狀態(tài)發(fā)生變化基本路徑1.當會員瀏覽某本預定系統(tǒng)提出加入訂單管理時,用例啟動;2.系統(tǒng)將所瀏覽圖書加入購物車;擴展點1a.會員.可以管理預定。1a1.會員可以添加預定。1a2.會員可以刪除訂單管理中的套間。用例編號:004用例名:個人訂單管理用例描述:本用例用于會員查看個人相關信息。參與者:會員前置條件:會員登錄。后置條件:用例成功后,可以查看個人訂單和取消訂單?;韭窂?.會員提出查詢訂單時,用例啟動;2.系統(tǒng)列出所有有關該會員的相關信息(注冊信息);擴展點1a.會員可以查看訂單信息;1a1.會員取消訂單;用例編號:005用例名:提交訂單用例描述:本用例用于會員提交訂單信息。參與者:會員前置條件:會員登錄。后置條件:用例成功后,訂單提交到系統(tǒng)員工接受訂單并作相關處理?;韭窂?.會員進入網(wǎng)上酒店預定系統(tǒng)會員提交訂單界面,并在界面中提交訂單;2.界面將會員提交的訂單信息傳遞給控制對象;3.控制對象向數(shù)據(jù)庫中提交訂單信息數(shù)據(jù);4.控制對象將成功提交的訂單信息返回界面;5.會員在界面獲得訂單提交成功的信息;擴展點1a.提交訂單錯誤。1a1.會員所選套間無房。用例編號:006用例名:前臺管理員登錄用例描述:前臺管理員根據(jù)所注冊的用戶名和密碼,登錄到網(wǎng)上酒店預訂系統(tǒng)。參與者:前臺管理員前置條件:網(wǎng)上酒店預訂系統(tǒng)正常運行期間。、后置條件:如果管理員登錄成功,該管理員可以對網(wǎng)上酒店預訂系統(tǒng)進行相關操作;若登錄不成功,該管理員不能進入網(wǎng)上酒店預訂系統(tǒng)?;韭窂?.前臺管理員希望通過網(wǎng)上酒店預訂系統(tǒng)進行某一項操作;2.前臺管理員登錄系統(tǒng),在登錄頁面輸入自己的用戶名和密碼并提交;3.系統(tǒng)將前臺管理員提交的用戶名和密碼傳遞到的數(shù)據(jù)庫中檢查用戶合法身份的方法中,該方法將用戶信息與數(shù)據(jù)庫中的用戶信息進行比較,檢查用戶信息中是否存在此員工的信息,系統(tǒng)記錄并顯示當前登錄用戶;4.檢查通過,將驗證結果返回到登錄界面顯示;5.前臺管理員在登錄界面獲得驗證結果;擴展點1a.系統(tǒng)標識碼有效性檢查失敗1a1.前臺管理員重新輸入識別碼;1a2.前臺管理員離開或重新輸入賬號;1b.前臺管理員輸入無效次數(shù)超過限制(不超過3次),系統(tǒng)顯示提示信息,用例終止。用例編號:007用例名:主頁管理用例描述:本用例用于前臺管理員管理套間信息。參與者:前臺管理員前置條件:員工登錄。后置條件:用例成功后,套間信息被添加、修改或刪除。基本路徑1.前臺管理員提出查看套間信息時,用例啟動;2.系統(tǒng)列出所有符合該管理員要求的資源;3.管理員提出所要執(zhí)行的操作;4.如果前臺管理員需要修改套間信息則修改套間信息,需要刪除套間信息則刪除套間信息,需要添加套間信息則添加套間信息;5.保存信息;擴展點1a.系統(tǒng)沒有所需套間的有關信息;1a1.系統(tǒng)沒有查到套間的信息;1a2.系統(tǒng)彈出錯誤信息提示沒有該套間信息;1a3.系統(tǒng)返回繼續(xù)查詢其他套間的信息;2a.添加的數(shù)據(jù)為非法數(shù)據(jù)2a1.系統(tǒng)顯示輸入錯誤提示信息2a2.當前用戶重新添加套間信息或退出系統(tǒng)或返回進行其他操用例編號:008用例名:訂單管理用例描述:本用例用于前臺管理員管理訂單。參與者:前臺管理員前置條件:前臺管理員登錄。后置條件:用例成功后,用戶訂單處理為已預定?;韭窂?1.前臺管理員提出符合該前臺管理員要求的訂單時,用例啟動;2.系統(tǒng)列出所有符合該前臺管理員要求的訂單;3.前臺管理員提出所要執(zhí)行的操作;4.如果前臺管理員需要修改訂單信息則修改訂單信息,需要刪除訂單信息則刪除訂單信息;5.保存信息;擴展點:無用例編號:009用例名:查看客房信息用例描述:本用例用于前臺管理員管理客房。參與者:前臺管理員前置條件:前臺管理員登錄。后置條件:用例成功后,可查詢管理相關信息?;韭窂?1.前臺管理員提出符合該前臺管理員要求的套間信息時,用例啟動;2.系統(tǒng)列出所有符合該前臺管理員要求的功能;3.前臺管理員提出所要執(zhí)行的操作;4.如果前臺管理員需要查詢入住情況則查看入住信息,需要管理退房則刪除該套間信息;5.保存信息;擴展點:無3.4數(shù)據(jù)庫設計開發(fā)一個系統(tǒng)之前,做好數(shù)據(jù)庫分析和設計是十分必要的。良好的數(shù)據(jù)庫設計,使得開發(fā)變得相對簡單,耐用對系統(tǒng)以后的更新?lián)Q代有重要作用。此系統(tǒng)由Tomcat+SQLServer構成,是一個基于WEB的小型系統(tǒng),所以選擇常用的中小型數(shù)據(jù)庫SQLServer。同時SQLServer比MYSQL功能更強大,可在JAVA程序里編寫事務對數(shù)據(jù)進行處理,數(shù)據(jù)的完整性會有更好的保障,不過由于時間有限,我們沒有用到事務的功能,只是選擇了SQLServer。項目E-R圖該系統(tǒng)主要包括的實體有用戶、訂單,還有一些后面真實開發(fā)中還要用到的實體(現(xiàn)在還沒做到特別完善,所以只先設計了這兩個表)。下面通過介紹各實體的E-R圖,通過E-R圖來了解各實體的屬性。用戶E-R圖如下圖3_4_1所示。圖3_4_1用戶E-R圖管理員E-R圖如下圖3_4_2所示。圖3_4_2管理員E-R圖酒店預定客房訂單E-R圖如下圖3_4_3所示。圖3_4_3酒店預定客房訂單E-R圖4詳細設計4.1功能模塊劃分4.1.1主界面模塊該模塊是整個酒店預訂管理系統(tǒng)的前臺,從這里可以連接到其他模塊,還有一些關于酒店的一些介紹。其主要代碼main.html如下:下達訂單界面:當用戶按下預定按鈕后,客戶可以選擇入住時間和入住晚數(shù)。主要代碼如下:<h2>商務套房:</h2><formid="date"action="/jiudian/servlet/RegAndLoginServlet"method="post">入住客人姓名:<inputtype="text"name="guestname"style="width:54px;"/><br/><br/>4.1.3登錄系統(tǒng)框架在提交定單并生成定單之前需要會員才可以完成,登錄的主要代碼如下:<formname="login"action="/jiudian/servlet/RegAndLoginServlet"method="post"><divclass="fields"><pclass="seperror"><labelclass="small"for="user01">Username</label><inputtype="text"value=""class="sText"name="username"id="user01"/></p><br/><pclass="sep"><labelclass="small"for="pass01">Password</label><inputtype="password"value=""class="sText"name="userpassword"id="pass01"/></p><divclass="action"><inputtype="button"class="butDef"value="Register"id="Register"onclick="regi()"/><inputtype="hidden"name="action"value="login"><inputtype="submit"class="butDef"value="Login"id="loginbtn"onClick="checkLoginForm()"/></div></div></form>登錄界面的Servlet主要代碼如下所示:圖4_1_3登錄界面4.1.4注冊界面如果用戶沒有會員用戶和密碼,則可以點擊Register注冊一個用戶和密碼。主要JSP代碼如下所示:<formid="reg"class="appnitro"method="post"action="/jiudian/servlet/RegAndLoginServlet"><divclass="form_description"><p>注冊成功我們成為我們的一員,讓我們可以竭誠為你提供最好的服務!</p></div><ul><liid="li_4"><labelclass="description"for="username">用戶名:</label><div><inputid="username"name="username"class="elementtextmedium"type="text"maxlength="255"value=""onblur="checkEmail()"onfocus="hiddenError()"onkeypress="value=value.replace()"/></div></li><liid="li_2"><labelclass="description"for="password">設置密碼:</label><div><inputid="password"name="password"class="elementtextmedium"type="text"maxlength="255"/></div></li><liid="li_3"><labelclass="description"for="check">確認密碼:</label><div><inputid="check"name="check"class="elementtextmedium"type="text"maxlength="255"/></div></li><liclass="buttons"><inputtype="hidden"name="action"value="reg"><inputid="loginbtn"class="button_text"type="submit"name="loginbtn"value="立即注冊"onclick="checkRegForm()"/></li></ul></form>注冊界面的Servlet代碼如下所示:if(action.equals("reg")){System.out.println("11");//得到注冊用戶填寫的資料Stringusername=req.getParameter("username").trim();Stringpassword=req.getParameter("password").trim();Stringcheck=req.getParameter("check").trim();System.out.println("22");//拼裝查看用戶是否存在的SQLStringsqla="select*fromuser1whereusername='"+username+"'";if(username==""){res.sendRedirect("http://localhost:8080/jiudian/login_register.jsp");//跳轉到主頁return;}if(password==""){res.sendRedirect("http://localhost:8080/jiudian/login_register.jsp");//跳轉到主頁return;}if(check==""){res.sendRedirect("http://localhost:8080/jiudian/login_register.jsp");//跳轉到主頁return;}if(password.length()<6){res.sendRedirect("http://localhost:8080/jiudian/login_register.jsp");//跳轉到主頁return;}if(password!=check){res.sendRedirect("http://localhost:8080/jiudian/login_register.jsp");//跳轉到主頁return;}if(DB.isExist(sqla)){//res.sendRedirect("http://localhost:8080/jiudian/login_register.jsp");//跳轉到主頁return;}else{//插入新用戶的SQLStringsql="insertintouser1values('"+username+"','"+password+"')";DB.update(sql);//執(zhí)行插入動作res.sendRedirect("http://localhost:8080/jiudian/login.jsp");//跳轉到主頁}req.setAttribute("msg",msg);//轉發(fā)消息}elseif(action.equals("login")){System.out.println("1");session.removeAttribute("username");//從session中移除當前登陸用戶Stringusername=req.getParameter("username").trim();//得到登陸用戶名System.out.println(username);Stringpwd=req.getParameter("userpassword").trim();//得到登陸密碼System.out.println(pwd);//拼裝查看用戶是否存在的SQLStringsqla="select*fromuser1whereusername='"+username+"'";System.out.println("2");if(DB.isExist(sqla)){System.out.println("3");Stringsql="selectpasswordfromuser1whereusername='"+username+"'";Stringpassword=DB.getInfo(sql).trim();//從數(shù)據(jù)庫得到密碼System.out.println("4");if(pwd.equals(password)){session.setAttribute("username",username);//登陸成功res.sendRedirect("http://localhost:8080/jiudian/success.jsp");//跳轉到主頁}else{msg=username+"密碼不正確!!!<br><br>"+"<ahref=login.jsp>重新登陸</a>";req.setAttribute("msg",msg);//將信息發(fā)送到信息顯示頁面res.sendRedirect("http://localhost:8080/jiudian/fail.jsp");}}else{msg=username+"此用戶名不存在!!!<br><br>"+"<ahref=login.jsp>重新登陸</a>";req.setAttribute("msg",msg);//將信息發(fā)送到信息顯示頁面res.sendRedirect("http://localhost:8080/jiudian/NoPerson.jsp");}}elseif(action.equals("book_businessRoom")){System.out.println("111");//得到注冊用戶填寫的資料Stringguestname=req.getParameter("guestname");StringorderNum="ZCSYHQ"+System.currentTimeMillis();Stringyear=req.getParameter("years");Stringmonth=req.getParameter("months");Stringday=req.getParameter("days");Stringdate=year+"-"+month+"-"+day;StringdayNum=req.getParameter("dayNum").trim();floattotal=Integer.parseInt(dayNum)*499;System.out.println("222");if(dayNum==null){dayNum="1";}System.out.println("222");//拼裝查看用戶是否存在的SQLStringsqla="insertintoorder1values('"+orderNum+"','"+guestname+"','businessRoom','"+date+"',"+dayNum+",499,"+total+");";Stringsql=newString(sqla.getBytes("gbk"),"iso8859-1");//轉碼System.out.println("8");DB.update(sql);System.out.println("333");res.sendRedirect("http://localhost:8080/jiudian/login.jsp");//跳轉到主頁System.out.println("b");}elseif(action.equals("book_advancedRoom")){System.out.println("111");//得到注冊用戶填寫的資料Stringguestname=req.getParameter("guestname");StringorderNum="ZCSYHQ"+System.currentTimeMillis();Stringyear=req.getParameter("years");Stringmonth=req.getParameter("months");Stringday=req.getParameter("days");Stringdate=year+"-"+month+"-"+day;StringdayNum=req.getParameter("dayNum").trim();System.out.println("222");if(dayNum==null){dayNum="1";}System.out.println("222");floattotal=Integer.parseInt(dayNum)*599;//拼裝查看用戶是否存在的SQLStringsqla="insertintoorder1values('"+orderNum+"','"+guestname+"','advancedRoom','"+date+"',"+dayNum+",599,"+total+");";Stringsql=newString(sqla.getBytes("gbk"),"iso8859-1");//轉碼System.out.println("8");DB.update(sqla);System.out.println("333");res.sendRedirect("http://localhost:8080/jiudian/login.jsp");//跳轉到主頁}注冊界面如圖4_1_4所示:圖4_1_4注冊界面訂單生成模塊界面如圖4_1_6所示:圖4_1_6訂單生成模塊界面4.1.6新中環(huán)酒店管理系統(tǒng)該模塊采用的是MVC模式進行開發(fā)的管理系統(tǒng),主要實現(xiàn)客戶訂單的查詢訂單和取消訂單功能,共有四個文件組成,視圖表現(xiàn)為兩個頁面,分別用于接收用戶輸入和向用戶顯示結果;用JSP實現(xiàn),checkOrder.jsp文件實現(xiàn)訂單查詢和取消訂單入口,displycheckOrder.jsp實現(xiàn)查詢后的結果輸出,其中,查詢可以根據(jù)訂單號或姓名查詢,而取消訂單只能根據(jù)訂單號取消;控制器用Servlet實現(xiàn),文件名為OrderQuery.java,作用是從checkOrder.jsp頁面接收用戶輸入,存儲到JavaBean實例中,然后進行查詢,結果也保存在JavaBean實例中;模型用JavaBean實現(xiàn),文件名為OrderBean.java,其作用是保存用戶輸入和查詢結果。查詢和刪除入口界面如圖4_1_6_1所示:圖4_1_6_1入口界面圖輸入訂單號,通過jsp文件提交到servlet控制器中處理,處理完后存儲到JavaBean中,再通過jsp文件顯示查詢結果,其查詢的核心代碼如下:取消訂單的核心代碼如下:if(submit.equals("刪除")){Stringcondition2="deleteorder1WhereorderNum='"+number+"'";Connectioncon;Statementsql;intrs;try{Stringuri="jdbc:sqlserver://:1433;DatabaseName=Hotel";con=DriverManager.getConnection(uri,"ss_login1","123");sql=con.createStatement();rs=sql.executeUpdate(condition2);if(rs==1){response.sendRedirect("success.jsp");}else{response.sendRedirect("fail.jsp");}con.close();}catch(SQLExceptione){System.out.println(e);}}留言顯示界面如下圖4_1_7_2所示:圖4_1_7_2留言顯示5系統(tǒng)測試5.1軟件測試的方法軟件測試是軟件開發(fā)過程中的一個重要環(huán)節(jié)。軟件測試是為了發(fā)現(xiàn)程序中的錯誤而執(zhí)行程序的過程;好的測試方案是極可能發(fā)現(xiàn)迄今為止尚未發(fā)現(xiàn)的錯誤的測試方案;成功的測試是發(fā)現(xiàn)了至今為止尚未發(fā)現(xiàn)的錯誤的測試。軟件測試是根據(jù)軟件開發(fā)各階段的規(guī)格說明和程序的內部結構而精心設計出一批測試用例,并利用測試用例來運行程序,以發(fā)現(xiàn)程序錯誤的過程。測試任何產(chǎn)品都有兩種方法:5.1.1黑盒測試黑盒測試時完全不考慮程序內部的結構和處理過程,只按照規(guī)格說明書的規(guī)定來檢查程序是否符合它的功能要求。黑盒測試是在程序接口進行的測試,又稱為功能測試。從理論上講,黑盒測試只有采用窮舉輸入測試,把所有可能的輸入都作為測試情況考慮,才能查出程序中所有的錯誤。實際上測試情況有無窮多個,人們不僅要測試所有合法的輸入,而且還要對那些不合法但可能的輸入進行測試。這樣看來,完全測試是不可能的,所以我們要進行有針對性的測試,通過制定測試案例指導測試的實施,保證軟件測試有組織、按步驟,以及有計劃地進行。黑盒測試行為必須能夠加以量化,才能真正保證軟件質量,而測試用例就是將測試行為具體量化的方法之一。具體的黑盒測試用例設計方法包括等價類劃分法、邊界值分析法、錯誤推測法、因果圖法、判定表驅動法、正交試驗設計法、功能圖法、場景法等。5.1.2白盒測試白盒測試時將程序看作是一個透明的盒子,也就是說測試人員完全了解程序的內部結構和處理過程。所以測試時按照程序內部的邏輯測試程序、檢驗程序中的每條通路是否都能按預定的要求正確工作。白盒測試又稱為結構測試。從是否執(zhí)行程序的角度分為靜態(tài)測試和動態(tài)測試。從軟件開發(fā)的過程按階段劃分有單元測試,集成測試,確認測試和系統(tǒng)測試驗收測試。測試過程按4個步驟進行,即單元測試、集成測試、確認測試和系統(tǒng)測試及發(fā)版測試。不論采用何種測試方法,只要對每一種可能的情況都進行測試,就可以得到完全正確的程序。包含所有可能情況的測試成為窮盡測試。但對于實際程序而然,窮盡測試是不可能的。5.2模塊測試模塊測試是針對概要設計中的一個一個模塊來進行測試的,他的重點就是測module與module之間的關系。ModuleTes

溫馨提示

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

評論

0/150

提交評論