版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
人力資源管理的趨勢與創(chuàng)新 南陽理工學(xué)院本科生畢業(yè)設(shè)計(論文)學(xué)院(系): 軟件學(xué)院專業(yè): 軟件工程學(xué)生: xxxxxxx指導(dǎo)教師: xxxxxxxx完成日期2012年04月南陽理工學(xué)院本科生畢業(yè)設(shè)計(論文)健身房會員卡管理系統(tǒng)的設(shè)計與實現(xiàn)Thedesignandimplementationofagymmembershipcardmanagementsystem健身房會員卡管理系統(tǒng)的設(shè)計與實現(xiàn)軟件工程xxx隨著社會經(jīng)濟的日益繁榮,人們的經(jīng)濟收入日漸提高,人們的健身意識也不斷加強,健身房作為專業(yè)的健身服務(wù)行業(yè),已經(jīng)越來越受到人們的親睞。隨著自身的規(guī)模不斷擴大,客戶數(shù)量的增多,傳統(tǒng)的管理模式已不能適應(yīng)現(xiàn)代健身機構(gòu)的發(fā)展趨勢,出于更好地對客戶進行管理和服務(wù),提高員工工作效率,降低管理成本等多方面的考慮,有必要通過現(xiàn)代化科技手段,建立完善的客戶自動化管理系統(tǒng),通過自動化的客戶管理方法,提升健身房檔次,方便客戶服務(wù),擴大業(yè)務(wù)規(guī)模,為客戶提供專業(yè)的健身服務(wù),實施專業(yè)化、科學(xué)化的管理。SSH框架;MySQL數(shù)據(jù)庫;會員卡
ThedesignandimplementationofagymmembershipcardmanagementsystemAlongwiththesocialeconomygrowingprosperity,people'sincomeisincreasing,people'shealthconsciousnesshasbeenstrengthened,thegymasaprofessionalfitnessserviceindustry,hasbeenmoreandmorepopular.Withitsownscaleconstantlyexpanding,increasingthenumberofcustomers,thetraditionalmanagementmodelhasbeenunabletoadapttothedevelopmenttrendofmodernfitnessmechanism,forbettermanagementandservicesforcustomers,improveworkefficiency,reducemanagementcostsandotherconsiderations,itisnecessarytothemodernmeansofscienceandtechnology,theestablishmentofcustomerautomationmanagementsystemthecustomermanagementmethod,throughautomation,improvethegymclass,convenientcustomerservice,expandbusinessscale,toprovideprofessionalhealthserviceforcustomers,theimplementationofprofessional,scientificmanagement。SSHframework;MySQLdatabase;membershipcard目錄1背景與意義 11.1課題的來源及背景 11.2課題研究的意義 11.3研究內(nèi)容 11.4預(yù)期目標(biāo) 21.5本章小結(jié) 22健身房會員卡管理系統(tǒng)分析 22.1系統(tǒng)可行性分析 22.1.1技術(shù)可行性 22.1.2經(jīng)濟可行性 32.1.3使用可行性 32.2業(yè)務(wù)流程分析 32.3數(shù)據(jù)流程分析 32.4使用技術(shù)簡介 52.4.1SSH框架簡介 52.4.2MySQL數(shù)據(jù)庫簡介 92.4.3JDBC簡介 102.4.4MVC設(shè)計模式簡介 112.5本章小結(jié) 123健身房會員卡管理系統(tǒng)設(shè)計 123.1模塊設(shè)計 123.1.1個人收入管理模塊 123.1.2個人支出管理模塊 123.1.3物品信息管理模塊 133.1.4用戶管理模塊 133.2設(shè)計原則及一般要求 133.3健身房會員卡管理系統(tǒng)關(guān)系數(shù)據(jù)庫設(shè)計 133.3.1數(shù)據(jù)庫分析 133.3.2數(shù)據(jù)庫概念設(shè)計以及創(chuàng)建表結(jié)構(gòu) 143.4本章小結(jié) 154健身房會員卡管理系統(tǒng)的編碼與實現(xiàn) 154.1公共部分的實現(xiàn) 154.1.1連接數(shù)據(jù)庫的實現(xiàn) 154.1.2系統(tǒng)過濾器的實現(xiàn) 154.2網(wǎng)站模塊的實現(xiàn) 164.2.1網(wǎng)站的登錄頁面 164.2.2網(wǎng)站的主頁設(shè)計 164.2.3個人收入管理設(shè)計 174.2.4個人支出管理設(shè)計 184.2.5物品信息管理模塊 204.2.6用戶管理模塊 214.3本章小結(jié) 225系統(tǒng)測試與運行 225.1測試概述 225.1.1測試目的 225.1.2測試原則 225.1.3測試范圍 245.2測試內(nèi)容 245.2.1內(nèi)容與功能測試 245.2.2容錯性與易用性測試 245.3測試舉例 255.3.1頁面控件檢測 255.3.2功能測試 255.3.3網(wǎng)頁功能測試 265.4本章小結(jié) 266總結(jié)與展望 27結(jié)束語 28參考文獻 29致謝 30PAGE26背景與意義課題的來源及背景二十一世紀進入信息發(fā)展高速路,信息化革命給所有服務(wù)領(lǐng)域帶來新的發(fā)展。隨著全民健身運動的興起,越來越多的人走進了健身房,而傳統(tǒng)的管理模式已不能適應(yīng)現(xiàn)代健身機構(gòu)的發(fā)展趨勢,如何增強健身房會員卡的管理和完善客戶服務(wù),成了健身房發(fā)展的當(dāng)務(wù)之急。健身房會員卡管理系統(tǒng)的研究與開發(fā)適合當(dāng)前健身行業(yè)的業(yè)務(wù)處理需要,既滿足了健身房管理人員管理會員供了一整套的操作流程服務(wù),又方便了對客戶的服務(wù),為客戶提供了個性化的展示平臺,是一套真正使用的綜合性管理系統(tǒng)課題研究的意義隨著社會主義市場經(jīng)濟的確立、人民收入的不斷提高、新的生活方式和全民健身計劃的順勢推行,全民的健身熱潮呈現(xiàn)出空前活躍的景象。特別近幾年來,強身健體更是為廣大國人所推崇,越來越多的人走進健身房,跳健身操、做瑜珈已經(jīng)成為時下比較流行的一種健身娛樂項目,因此健身行業(yè)得到了迅速蓬勃的發(fā)展。隨著自身規(guī)模的不斷擴大,客戶數(shù)量不斷增多,傳統(tǒng)的管理模式已不能適應(yīng)現(xiàn)代健身機構(gòu)的發(fā)展趨勢。作為經(jīng)營者,應(yīng)該培養(yǎng)市場意識,將IT與健身行業(yè)相結(jié)合,建立自己的管理系統(tǒng),在硬件上達到一定的高度的同時在軟件上也要有自己的一套管理模式。出于更好地對俱樂部進行管理和服務(wù),提高員工工作效率,降低管理成本等多方面考慮,有必要通過現(xiàn)代化科技手段,建立完善的會員自動化管理系統(tǒng),以取代現(xiàn)有的手工操作,通過自動化管理方案,為客戶提供專業(yè)的健身服務(wù),實施專業(yè)化、科學(xué)化的管理。只有具備了高效地管理、個性化的服務(wù),才會使這個行業(yè)有更長遠地發(fā)展。由此可以看出,我們開發(fā)這樣的系統(tǒng),具有一定的時效性和實用價值,意義較為深遠研究內(nèi)容為了實現(xiàn)基于SSH框架和MySQL數(shù)據(jù)庫的健身房會員卡管理系統(tǒng),本文主要圍繞會員卡管理的模塊做了大量工作,同時也完善了會員信息的管理。首先分析了會員管理中的卡片管理,并且具體分析了其增加,修改,刪除的方法;其次分析了會員的消費管理模塊,最后分析了系統(tǒng)的安全性管理。同時也要考慮這個系統(tǒng)的使用便利性,另外還要研究這個系統(tǒng)的架構(gòu),怎樣才能更有利于系統(tǒng)的形成和后期維護。預(yù)期目標(biāo)(1)安全可靠無論用戶什么時候使用該系統(tǒng),都要求對用戶的數(shù)據(jù)有足夠的保密性。由于此系統(tǒng)都涉及用戶的財產(chǎn)信息,所以要求對用戶的信息有絕對的保密性,而且用戶保密性也是對一個系統(tǒng)最基本的要求。(2)簡單易用由于用戶覆蓋面的廣大,所以該系統(tǒng)要求在使用方面簡單易用,以確保所有的用戶都可以輕松地使用該系統(tǒng)。(3)便捷省時在操作方面要求給用戶最直觀的操作體驗,在最短的時間內(nèi)完成用戶所需要完成的操作,節(jié)省用戶的時間。本章小結(jié)本章主要闡述了健身房會員卡管理系統(tǒng)的研究背景,研究意義,研究內(nèi)容,預(yù)期目標(biāo)。總體的概述了該系統(tǒng)在研發(fā)過程中所要做的工作以及對以后在使用過程中能夠給大家?guī)淼谋憷?,并對所需要做的工作做了一個初步的分析。健身房會員卡管理系統(tǒng)分析系統(tǒng)可行性分析可行性研究的目的是用最小的代價在盡可能的時間內(nèi)確定問題是否能解決。這一階段只是分析和確定問題是否值得去解決,而不是去解決問題,該系統(tǒng)的開發(fā)主要從下面三個方面考慮解決的問題:技術(shù)可行性本系統(tǒng)采用JavaEE的三層結(jié)構(gòu),分為表現(xiàn)層、業(yè)務(wù)邏輯層和數(shù)據(jù)持久層。系統(tǒng)的開發(fā)利用Struts、Spring、Hibernate等目前比較流行的框架技術(shù),并結(jié)合比較成熟的MySQL數(shù)據(jù)庫。通過使用Strut2框架,提供了良好的MVC模式,所有的用戶請求都交由Struts2的FilterDispatcher和Action進行攔截,然后通過Spring提供的自動裝配功能,定位到Spring容器中的業(yè)務(wù)邏輯組件,調(diào)用相應(yīng)的業(yè)務(wù)邏輯組件方法來處理用戶的請求[3]??傮w來說本系統(tǒng)所使用的技術(shù)在目前的條件下都已經(jīng)相對成熟,具有較高的技術(shù)可行性,可以實現(xiàn)對軟件的編寫工作。經(jīng)濟可行性本系統(tǒng)所使用的軟件都可以是用免費版本,編寫出來的軟件有利于用戶對其自身的財產(chǎn)做出一個科學(xué)的管理與使用,其使用代價幾乎可以忽略,所以本軟件具有極高的經(jīng)濟可行性。使用可行性本軟件采用的是最簡單直接的用戶對話模式,用戶能直接明白所要采取的操作所帶來的結(jié)果,對于用戶來說是一款實用性很強的軟件。業(yè)務(wù)流程分析首先,用戶需要使用初始賬號和密碼,通過登錄頁面登錄健身房會員卡管理系統(tǒng)。之后可以注冊賬號并登錄,登陸后進入系統(tǒng)主窗體,可對個人賬目信息進行輸入、相關(guān)賬目查看、用戶管理,賬目操作等操作,退出后系統(tǒng)關(guān)閉。用例圖如圖2-1所示:圖STYLEREF1\s2–SEQ圖\*ARABIC\s11系統(tǒng)用例圖數(shù)據(jù)流程分析數(shù)據(jù)流程分析:數(shù)據(jù)流程圖(DFD)是系統(tǒng)開發(fā)結(jié)構(gòu)化分析方法的核心,它從數(shù)據(jù)傳遞與加工的角度,以圖形的方式描繪數(shù)據(jù)從輸入移動到輸出所經(jīng)歷的變換過程。數(shù)據(jù)流程圖由數(shù)據(jù)流、數(shù)據(jù)儲存、數(shù)據(jù)處理和外部實體四要素組成。數(shù)據(jù)流程圖為后期的功能模塊設(shè)計提供了依據(jù)[4]。頂層DFD圖如圖2-2所示:圖STYLEREF1\s2–SEQ圖\*ARABIC\s12頂層DFD圖系統(tǒng)一層DFD圖如圖2-3所示:圖STYLEREF1\s2–SEQ圖\*ARABIC\s13一層DFD圖使用技術(shù)簡介SSH框架簡介Struts2.0框架Struts是一個為開發(fā)基于模型(Model)-視圖(View)-控制器(Controller)(MVC)模式的應(yīng)用架構(gòu)的開源框架,是利用JavaServlet和JSP構(gòu)建Web應(yīng)用的一項非常有用的技術(shù)。MVC模式的提出雖然改變了程序員的設(shè)計思路,但代碼的規(guī)范性還是差,而Struts框架所具有組件的模塊化、靈活性、重用性的優(yōu)點,同時也簡化了基于MVC的Web應(yīng)用程序的開發(fā)。從應(yīng)用的角度來說,Struts有三大塊,分別是Struts核心類、Struts配置文件及Struts標(biāo)簽庫。一般情況下所說的Struts框架指的是Struts1框架,而非Struts2框架。本系統(tǒng)使用Struts2框架開發(fā)。Struts2是一個優(yōu)秀的、可擴展的企業(yè)級JavaWeb應(yīng)用程序開發(fā)框架。Struts2并不是Struts1的升級版本,它是WebWork及Struts1結(jié)合的產(chǎn)物。在Struts中,用戶的請求一般以*.do作為請求服務(wù)名,所有的*.do請求均被指向ActionSevlet,ActionSevlet根據(jù)Struts-config.xml中的配置信息,將用戶請求封裝成一個指定名稱的FormBean,并將此FormBean傳至指定名稱的ActionBean,由ActionBean完成相應(yīng)的業(yè)務(wù)操作,如文件操作,數(shù)據(jù)庫操作等。每一個*.do均有對應(yīng)的FormBean名稱和ActionBean名稱,這些在Struts-config.xml中配置。Struts的核心是ActionSevlet,ActionSevlet的核心是Struts-config.xml。Struts2核心機制如圖2-5所示:圖STYLEREF1\s2–SEQ圖\*ARABIC\s15Struts2核心機制Spring核心機制及容器同Struts框架一樣,Spring也是一個優(yōu)秀的Web開發(fā)框架。它是一個分層的輕量級開源框架,由七個模塊組成,分別是SpringCore模塊、ApplicationContext模塊、AOP模塊、SpringDAO模塊、SpringORM模塊、SpringWeb模塊及SpringMVC框架。Spring模塊構(gòu)建在核心容器之上,核心容器定義了創(chuàng)建、配置和管理Bean的方式。Spring是一個解決了許多在J2EE開發(fā)中常見的問題的強大框架。Spring提供了管理業(yè)務(wù)對象的一致方法并且鼓勵了注入對接口編程而不是對類編程的良好習(xí)慣。Spring的架構(gòu)基礎(chǔ)是基于使用JavaBean屬性的InversionofControl容器。然而,這僅僅是完整圖景中的一部分:Spring在使用IoC容器作為構(gòu)建完關(guān)注所有架構(gòu)層的完整解決方案方面是獨一無二的。Spring提供了唯一的數(shù)據(jù)訪問抽象,包括簡單和有效率的JDBC框架,極大的改進了效率并且減少了可能的錯誤。Spring的數(shù)據(jù)訪問架構(gòu)還集成了Hibernate和其他O/Rmapping解決方案。Spring還提供了唯一的事務(wù)管理抽象,它能夠在各種底層事務(wù)管理技術(shù),例如JTA或者JDBC事務(wù)提供一個一致的編程模型。Spring提供了一個用標(biāo)準(zhǔn)Java語言編寫的AOP框架。Spring還提供了可以和IoC容器集成的強大而靈活的MVCWeb框架。它實現(xiàn)了很優(yōu)雅的MVC,對不同的數(shù)據(jù)訪問技術(shù)提供了統(tǒng)一的接口,采用IoC使得可以很容易的實現(xiàn)bean的裝配,提供了簡潔的AOP并據(jù)此實現(xiàn)TranscationManagment,等等。Spring的核心是個輕量級的容器,它是實現(xiàn)IoC(InverseofControl)容器、非侵入性的框架,并提供AOP(AspectOrientedProgramming)概念的實現(xiàn)方式,提供對持久層、事務(wù)的支持,提供MVCWeb框架的實現(xiàn),并對一些常用的企業(yè)服務(wù)API(ApplicationInterface)提供一致的模型封裝,是一個全方位的應(yīng)用程序框架具體如圖2-6所示。圖STYLEREF1\s2–SEQ圖\*ARABIC\s16spring的七個模塊組成Spring框架是架構(gòu)在JavaEE平臺之上的,從而能夠確保企業(yè)應(yīng)用的可移植性。與此同時,由于Spring不是簡單地對JavaEEAPI和容器服務(wù)進行集成和封裝,因此基于Spring架構(gòu)和開發(fā)的企業(yè)應(yīng)用更健壯、可維護性更好[7]。在本系統(tǒng)中應(yīng)用Spring和其它的流行框架進行了整合。因為Spring可以貫穿程序的各個層之間,而且它并不是想取代那些已有的框架,而是以高度的開放性和它們緊密的整合。Hibernate技術(shù)概述Hibernate是目前Java開發(fā)中最為流行的數(shù)據(jù)庫持久層框架,本系統(tǒng)的開發(fā)也使用它作為數(shù)據(jù)庫持久層。Hibernate是一個開源的對象關(guān)系映射框架,它對JDBC進行了輕量級的封裝。應(yīng)用Hibernate框架,程序員可以不用再面對繁瑣的面向過程的數(shù)據(jù)庫操作,而是升級到面向?qū)ο蟮臑轭}上來,這樣不僅提高了開發(fā)效率,還可以避免應(yīng)用JDBC編程時容易產(chǎn)生的錯誤。相對于使用JDBC和SQL來手工操作數(shù)據(jù)庫,Hibernate可以大大減少操作數(shù)據(jù)庫的工作量。Hibernate以優(yōu)雅、靈活的方法操作數(shù)據(jù)庫,無需開發(fā)者編寫繁瑣的SQL語句,執(zhí)行冗長的多表查詢,而通過對象與對象之間的關(guān)聯(lián)操作數(shù)據(jù)庫。Hibernate為底層的DAO對象的實現(xiàn)提供了支持。Hibernate持久化對象是基于簡單的Java對象以及Java對象集合。它可以應(yīng)用在任何使用JDBC(JavaDataBaseConnectivity)的場合,可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應(yīng)用中使用。Hibernate這個持久層框架,提供了一個具體的ORM(ObjectRelationalMapping)解決方案。Hibernate實現(xiàn)對象和數(shù)據(jù)庫表,對象屬性和數(shù)據(jù)庫表列的映射,并實現(xiàn)它們之間的自動轉(zhuǎn)換工作。Hibernate內(nèi)部封裝了JDBC操作,實現(xiàn)底層的對數(shù)據(jù)庫的讀寫,對上層提供了對實體對象保存、更新、刪除、檢索的面向?qū)ο蟮腁PI。使用Hibernate實現(xiàn)持久層,使得開發(fā)人員可以以面向?qū)ο蟮乃枷脒M行持久化工作。其工作流程如圖2-7所示:圖STYLEREF1\s2–SEQ圖\*ARABIC\s17Hibernate工作流程SSH整合系統(tǒng)從職責(zé)上分為四層:表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層和域模塊層。其中使用Struts作為系統(tǒng)的整體基礎(chǔ)架構(gòu),負責(zé)MVC的分離,在Struts框架的模型部分,利用Hibernate框架對持久層提供支持,業(yè)務(wù)層用Spring支持[5]。具體如下:1.Struts負責(zé)web層。ActionFormBean接收網(wǎng)頁中表單提交的數(shù)據(jù),然后通過Action進行處理,再Forward到對應(yīng)的網(wǎng)頁。在struts-config.xml中定義<action-mapping>,ActionServlet會加載。2.Spring負責(zé)業(yè)務(wù)層管理,即Service(或Manager)。(1)service為action提供統(tǒng)計的調(diào)用接口,封裝持久層的DAO。(2)可以寫一些自己的業(yè)務(wù)方法。(3)統(tǒng)一的javabean管理方法。(4)聲明式事務(wù)管理。(5)集成Hiberante。3.Hiberante負責(zé)持久化層,完成數(shù)據(jù)庫的CURD(增刪改查)操作。Spring:Aop管理事務(wù)控制,IOC管理各個組件的耦合,DaoTemplate作為常規(guī)持久層的快速開發(fā)模板。Struts:控制層Action,頁面標(biāo)簽和Model數(shù)據(jù),調(diào)用業(yè)務(wù)層。Hibernate:負責(zé)數(shù)據(jù)庫和對象的映射操作,負責(zé)DAO層(即DataAccessObject,進行數(shù)據(jù)訪問操作)。Spring整合Hibernate和Struts,只要在配好了applicationContext.xml,在Struts的action中直接調(diào)用就可以了。Hibernate訪問數(shù)據(jù)庫的操作都在Spring中實現(xiàn)了,Spring的調(diào)用又在Struts的action中實現(xiàn)了。系統(tǒng)的基本業(yè)務(wù)流程是:在表示層中,首先通過JSP頁面實現(xiàn)交互界面,負責(zé)傳送請求(Request)和接收響應(yīng)(Response),然后Struts根據(jù)配置文件(struts-config.xml)將ActionServlet接收到的Request委派給相應(yīng)的Action處理。在業(yè)務(wù)層中,管理服務(wù)組件的SpringIoC容器負責(zé)向Action提供業(yè)務(wù)模型(Model)組件和該組件的協(xié)作對象數(shù)據(jù)處理(DAO)組件完成業(yè)務(wù)邏輯,并提供事務(wù)處理、緩沖池等容器組件以提升系統(tǒng)性能和保證數(shù)據(jù)的完整性。而在持久層中,則依賴于Hibernate的對象化映射和數(shù)據(jù)庫交互,處理DAO組件請求的數(shù)據(jù),并返回處理結(jié)果。MySQL數(shù)據(jù)庫簡介MySQL最初的開發(fā)者的意圖是用MySQL和他們自己的快速低級例程(ISAM)去連接表格。不管怎樣,在經(jīng)過一些測試后,開發(fā)者得出結(jié)論:MySQL并沒有他們需要的那么快和靈活。這導(dǎo)致了一個使用幾乎和MySQL一樣的API接口的用于他們的數(shù)據(jù)庫的新的SQL接口的產(chǎn)生,因此這個API被設(shè)計成允許為用于MySQL而寫的第三方代碼更容易移植到MySQL。
MySQL的概述:MySQL是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。目前MySQL被廣泛地應(yīng)用在Internet上的中小型網(wǎng)站中。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫[6]。MySQL的特性:
(1)使用C和C++編寫,并使用了多種編譯器進行測試,保證源代碼的可移植性。
(2)支持Mac
OS、Windows等多種操作系統(tǒng)。
(3)為多種編程語言提供了API。這些編程語言包括C、C++、Eiffel、Java、Perl、Python、Ruby和Tcl等。
(4)支持多線程,充分利用CPU資源。
(5)優(yōu)化的SQL查詢算法,有效地提高查詢速度。
(6)既能夠作為一個單獨的應(yīng)用程序應(yīng)用在客戶端服務(wù)器網(wǎng)絡(luò)環(huán)境中,也能夠作為一個庫而嵌入到其他的軟件中提供多語言支持,常見的編碼如中文的GB
2312、BIG5,日文的Shift_JIS等都可以用作數(shù)據(jù)表名和數(shù)據(jù)列名。
(7)提供TCP/IP、JDBC和JDBC等多種數(shù)據(jù)庫連接途徑。
(8)提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫操作的管理工具。
(9)可以處理擁有上千萬條記錄的大型數(shù)據(jù)庫。
MySQL的應(yīng)用:與其他的大型數(shù)據(jù)庫例如Oracle、DB2等相比,MySQL自有它的不足之處,如規(guī)模小、功能有限等,但是這絲毫也沒有減少它受歡迎的程度。對于一般的個人使用者和中小型企業(yè)來說,MySQL提供的功能已經(jīng)綽綽有余。
MySQL管理:可以使用命令行工具管理MySQL數(shù)據(jù)庫,也可以使用MySQL自帶的企業(yè)管理器來進行管理,界面友好,操作簡單。
MySQL存儲引擎:
(1)master:MySQL的默認數(shù)據(jù)庫,最為常用。擁有較高的插入,查詢速度,但不支持事務(wù)。
(2)InnoDB:事務(wù)型數(shù)據(jù)庫的首選引擎,支持ACID事務(wù),支持行級鎖定。
(3)BDB:源自Berkeley
DB,事務(wù)型數(shù)據(jù)庫的另一種選擇,支持COMMI和ROLLBACK等其他事務(wù)特性。
(4)Memory:
所有數(shù)據(jù)置于內(nèi)存的存儲引擎,擁有極高的插入,更新和查詢效率。但是會占用和數(shù)據(jù)量成正比的內(nèi)存空間。并且其內(nèi)容會在MySQL重新啟動時丟失。
(5)Merge:
將一定數(shù)量的MyISAM表聯(lián)合而成一個整體,在超大規(guī)模數(shù)據(jù)存儲時很有用。
(6)Archive:
非常適合存儲大量的獨立的,作為歷史記錄的數(shù)據(jù)。因為它們不經(jīng)常被讀取。Archive擁有高效的插入速度,但其對查詢的支持相對較差。
(7)Federated:將不同的MySQL服務(wù)器聯(lián)合起來,邏輯上組成一個完整的數(shù)據(jù)庫。非常適合分布式應(yīng)用。
(8)Cluster/NDB:高冗余的存儲引擎,用多臺數(shù)據(jù)機器聯(lián)合提供服務(wù)以提高整體性能和安全性。適合數(shù)據(jù)量大,安全和性能要求高的應(yīng)用。
(9)CSV:
邏輯上由逗號分割數(shù)據(jù)的存儲引擎。
(10)BlackHole:
黑洞引擎,寫入的任何數(shù)據(jù)都會消失。JDBC簡介JDBC(Java
Data
Base
Connectivity,java數(shù)據(jù)庫連接)是一種用于執(zhí)行SQL語句的Java
API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,它由一組用Java語言編寫的類和接口組成[7]。JDBC為工具/數(shù)據(jù)庫開發(fā)人員提供了一個標(biāo)準(zhǔn)的API,據(jù)此可以構(gòu)建更高級的工具和接口,使數(shù)據(jù)庫開發(fā)人員能夠用純
Java
API
編寫數(shù)據(jù)庫應(yīng)用程序,同時,JDBC也是個商標(biāo)名。
有了JDBC,向各種關(guān)系數(shù)據(jù)發(fā)送SQL語句就是一件很容易的事。有了JDBC就不必為訪問access數(shù)據(jù)庫專門寫一個程序,為訪問Oracle數(shù)據(jù)庫又專門寫一個程序,或為訪問Informix數(shù)據(jù)庫又編寫另一個程序等等,程序員只需用JDBC寫一個程序就夠了,它可向相應(yīng)數(shù)據(jù)庫發(fā)送SQL調(diào)用。同時,將Java語言和JDBC結(jié)合起來使程序員不必為不同的平臺編寫不同的應(yīng)用程序,只須寫一遍程序就可以讓它在任何平臺上運行,這也是Java語言編寫一次,處處運行的優(yōu)勢。
Java數(shù)據(jù)庫連接體系結(jié)構(gòu)是用于Java應(yīng)用程序連接數(shù)據(jù)庫的標(biāo)準(zhǔn)方法。JDBC對Java程序員而言是API,對實現(xiàn)與數(shù)據(jù)庫連接的服務(wù)提供商而言是接口模型。作為API,JDBC為程序開發(fā)提供標(biāo)準(zhǔn)的接口,并為數(shù)據(jù)庫廠商及第三方中間件廠商實現(xiàn)與數(shù)據(jù)庫的連接提供了標(biāo)準(zhǔn)方法。JDBC使用已有的SQL標(biāo)準(zhǔn)并支持與其它數(shù)據(jù)庫連接標(biāo)準(zhǔn),如JDBC之間的橋接。JDBC實現(xiàn)了所有這些面向標(biāo)準(zhǔn)的目標(biāo)并且具有簡單、嚴格類型定義且高性能實現(xiàn)的接口。MVC設(shè)計模式簡介MVC設(shè)計模式是許多交互式界面系統(tǒng)的構(gòu)成基礎(chǔ),對于界面設(shè)計可變性的需求,MVC把交互系統(tǒng)分解成Model、View、Controller三種部件。模型部件是軟件所處理的問題邏輯,封裝了問題的核心數(shù)據(jù)、邏輯和功能的計算關(guān)系,它獨立于具體的界面表達和I/O處理。視圖部件把計算結(jié)果以特定的形式返回給客戶端。它從模型獲得待顯示信息,對于相同的信息可以有多個不同顯示形式或視圖??刂撇考撠?zé)用戶與軟件的交互操作。它接受用戶的輸入,將輸入反饋給模型,實現(xiàn)對模型的計算控制,是使模型和視圖協(xié)調(diào)工作的部件。(1)Model:JavaBean、EJB的EntityBean模型(Model):這個部分是對數(shù)據(jù)庫的操作,就是業(yè)務(wù)流程/狀態(tài)的處理以及業(yè)務(wù)規(guī)則的制定。業(yè)務(wù)流程的處理過程對其它層來說是黑箱操作,模型接受視圖請求的數(shù)據(jù),并返回最終的處理結(jié)果。處理的數(shù)據(jù)是中立的,模型一般被控制器調(diào)用。(2)View:JSP、Struts的TagLib視圖(View):視圖是用戶與之交互的界面,對于Web應(yīng)用來說,可以概括為HTML界面,但有可能為XHTML、XML和Applet。一個應(yīng)用可能有很多不同的視圖,MVC設(shè)計模式對于視圖的處理僅限于視圖上數(shù)據(jù)的采集和處理,以及用戶的請求。視圖不關(guān)心數(shù)據(jù)的處理及操作的處理等工作,這些處理操作都交由控制器來完成。(3)Controller:Struts的ActionServlet、Action控制器(Controller):主要用來接收用戶的交互信息但是它本身不輸出任何東西做任何處理,它只接受請求并決定調(diào)用哪個模型來處理請求,然后確定用哪個視圖來顯示模型處理返回的數(shù)據(jù)。MVC是Web應(yīng)用系統(tǒng)中常用的一種設(shè)計模式,它利用控制器來分離模型和視圖,達到一種層間松耦合的效果,從而降低了業(yè)務(wù)邏輯接口和數(shù)據(jù)接口之間的耦合性,提高了系統(tǒng)的靈活性、可維護性和復(fù)用性。MVC是Model-View-Controller(模型-視圖-控制器)的縮寫,最早是應(yīng)用在SmallTalk語言中,為圖形方式交互的軟件提供一種架構(gòu)。MVC架構(gòu)將應(yīng)用程序?qū)ο蟮哪P团c顯示它的GUI元素相分離,在Java編程中應(yīng)用很廣[13]。本系統(tǒng)也采用MVC這種設(shè)計模式進行開發(fā)。MVC框架結(jié)構(gòu)可以有效地分離數(shù)據(jù)表現(xiàn)和數(shù)據(jù)訪問。MVC把應(yīng)用程序分解成Model(模型)、View(視圖)、Controller(控制器)三種部件,他們各自擁有自己的任務(wù)。MVC模式的目的就是實現(xiàn)Web系統(tǒng)的職能分工。Model層實現(xiàn)系統(tǒng)中的業(yè)務(wù)邏輯,通??梢杂肑avaBean或EJB來實現(xiàn)。View層用于與用戶的交互,通常用JSP來實現(xiàn)。系統(tǒng)使用MVC的優(yōu)點主要有:(1)各司其職,互不干涉在MVC設(shè)計模式中,三個部分各司其職,所以如果那一部分的需求發(fā)生了變化,就只需要更改相應(yīng)部分的代碼就可以,而不會影響到其他層中的代碼。(2)有利于開發(fā)中的分工在MVC模式中,用不同模塊把系統(tǒng)分成不同部分,能更好地實現(xiàn)開發(fā)中的分工。美工和網(wǎng)頁設(shè)計人員進行視圖部分的開發(fā),Java程序員進行模型和控制器部分的開發(fā)。(3)有利于組件的重用分層后更利于組件的重用。例如:控制器部分可以獨立成一個能用的組件,視圖也可以做成通用的界面本章小結(jié)本章主要對健身房會員卡管理系統(tǒng)做了簡單的需求分析,業(yè)務(wù)流程分析和數(shù)據(jù)流程分析,最后對所用到的技術(shù)做了簡單的介紹。系統(tǒng)需求分析和最終產(chǎn)品息息相關(guān),對于軟件開發(fā)以及軟件產(chǎn)品至關(guān)重要,它反映了客戶對于系統(tǒng)的直接要求,在以后的所有編寫工作中都會以這項要求為工作的基礎(chǔ)。業(yè)務(wù)流程分析和數(shù)據(jù)流程分析對軟件的編寫提供了充足的邏輯依據(jù),根據(jù)所做的分析能使軟件編寫更加具有邏輯性和科學(xué)性,能使工作效率得到提高。最后所做的技術(shù)簡介使我們對所使用到的技術(shù)有了一個更加全面的認知與理解,同時也為該系統(tǒng)的技術(shù)可行性做了更為深刻的補充。健身房會員卡管理系統(tǒng)設(shè)計模塊設(shè)計健身房會員卡系統(tǒng)的主要功能就是實現(xiàn)會員卡信息管理,本系統(tǒng)功能的分析設(shè)計大致分為一下幾個模塊,詳細的模塊如下所示:會員卡管理模塊在會員卡管理模塊中,主要實現(xiàn)了對會員信息和會員卡的管理,其中包括新增會員卡,修改會員卡,刪除會員卡。比如在新增會員卡中,可以填寫會員姓名、性別、年齡、卡號、辦卡時間以及具體備注等事項。會員消費管理模塊在會員消費管理模塊中,主要實現(xiàn)了對會員消費信息的管理,其中包括新增會員消費,修改會員消費,刪除會員消費。會員卡到期提醒模塊本模塊中主要實現(xiàn)的功能是對即將到期的會員卡,提前一天進行提醒。會員生日提醒模塊本模塊中主要實現(xiàn)的功能是即將過生日的會員信息,提前一天進行提醒。設(shè)計原則及一般要求依據(jù)各個模塊的功能與具體特點,我們設(shè)計的整個網(wǎng)站應(yīng)達到以下目的:(1)易用性系統(tǒng)的易用性是非常重要的,因為這個健身房會員卡管理系統(tǒng)是面向所有消費者的,所以對該系統(tǒng)的使用方面要做的簡單易用,系統(tǒng)的友好性是十分重要的。這不僅關(guān)系到健身房會員卡管理系統(tǒng)的使用量,還關(guān)系到系統(tǒng)到底能給用戶帶來多大的便利。(2)可維護性和穩(wěn)定性系統(tǒng)要能夠在出錯時方便進行維修和查錯,更重要的是系統(tǒng)要穩(wěn)定,這樣才能最大限度的不影響用戶的使用,因為本系統(tǒng)的用戶是所有大眾消費者,這可能會造成很大的訪問量。所以系統(tǒng)的穩(wěn)定性、安全性一定要考慮。(3)可擴展性健身房會員卡管理系統(tǒng)要是一個可擴展的方便添加新的需求的平臺,所以系統(tǒng)要是開放的,能夠為以后的維護人員留有一定的擴展空間。健身房會員卡管理系統(tǒng)關(guān)系數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫分析本系統(tǒng)采用的數(shù)據(jù)庫是MySQL之所以采用這樣的數(shù)據(jù)庫,是因為MySQL數(shù)據(jù)庫小巧簡單,并且功能強大。另外MySQL數(shù)據(jù)庫具備如下優(yōu)點:它是免費的并且使用的核心線程是完全多線程,支持多處理器。它通過一個高度優(yōu)化的類庫實現(xiàn)SQL函數(shù)庫并像他們能達到的一樣快速,通常在查詢初始化后不該有任何內(nèi)存分配,沒有內(nèi)存漏洞,所有列都有缺省值。你可以用INSERT插入一個表列的子集,那些沒用明確給定值的列設(shè)置為他們的缺省值。MySQL可以工作在不同的平臺上。支持C、C++、Java、Perl、PHP、Python和TCLAPI[8]。通過對本系統(tǒng)的分析,以及對健身房會員卡網(wǎng)站的內(nèi)容和數(shù)據(jù)流程的分析,設(shè)計如下面所示的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu),下面是列出的幾個重要的表信息。1.會員卡信息表:會員姓名、年齡、生日、卡號、密碼、辦理時間、到期時間、會員地址、會員電話等。2.管理員信息表:用戶編號、登錄賬號、登錄密碼等。3.消費信息表:會員ID、消費時間、消費金額、備注信息等。數(shù)據(jù)庫概念設(shè)計以及創(chuàng)建表結(jié)構(gòu)依據(jù)上面的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu),可以設(shè)計出能夠滿足用戶需求的各種實體以及他們的關(guān)系,為后面的邏輯結(jié)構(gòu)設(shè)計打下基礎(chǔ)。這些實體包括各種具體信息,通過相互之間的作用形成數(shù)據(jù)的流動。根據(jù)上面的設(shè)計規(guī)劃出的實體有:用戶信息實體、角色信息實體、支出信息實體、物品信息實體等。根據(jù)實體信息創(chuàng)建如下表結(jié)構(gòu)和存儲過程。1.用戶信息表(t_user),如表3-1所示:表STYLEREF1\s3–SEQ表\*ARABIC\s11用戶信息表字段名稱數(shù)據(jù)類型是否為空約束字符描述idIntNotnull主鍵會員編號xingmingvarchar(30)Notnull會員姓名xingbievarchar(30)Notnul會員性別shengrivarchar(30)Notnull會員生日kahaovarchar(30)Notnull會員卡號loginpwvarchar(100)Notnul登錄密碼banlishivarchar(30)Notnul辦理時間daoqishivarchar(30)Notnul到期時間dizhivarchar(30)Notnul會員地址dianhuavarchar(30)Notnul聯(lián)系方式y(tǒng)ouxiangvarchar(30)Notnul會員郵箱2.管理員信息表(t_admin),如表3-2所示:表STYLEREF1\s3–SEQ表\*ARABIC\s12角色信息表字段名稱數(shù)據(jù)類型是否為空約束字符描述userIdIntNotnull主鍵編號userNamevarchar(30)Notnull賬號userPwvarchar(100)Notnull密碼3.消費信息表(t_xiaofei),如表3-3所示:表STYLEREF1\s3–SEQ表\*ARABIC\s13物品信息表字段名稱數(shù)據(jù)類型是否為空約束字符描述idIntNotnull主鍵編號userIdvarchar(60)Notnull會員IDxiaofeishivarchar(100)Notnull消費時間jineFloatNotnull消費金額beizhuvarchar(100)備注信息本章小結(jié)在本章中,主要對健身房會員卡管理系統(tǒng)中的各個部分的功能模塊和數(shù)據(jù)庫設(shè)計做了闡述。模塊設(shè)計主要講述了本系統(tǒng)中所要實現(xiàn)的各個功能模塊的設(shè)計,然后對這些模塊的大致功能做了一個簡要的概述。數(shù)據(jù)庫設(shè)計部分主要考慮了該系統(tǒng)所使用數(shù)據(jù)庫的選擇以及數(shù)據(jù)庫的概念設(shè)計,最后對數(shù)據(jù)庫中所使用的各個表進行創(chuàng)建。健身房會員卡管理系統(tǒng)的編碼與實現(xiàn)公共部分的實現(xiàn)連接數(shù)據(jù)庫的實現(xiàn)<beanid="dataSource" class="mons.dbcp.BasicDataSource"> <propertyname="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"> </property> <propertyname="url" value="jdbc:sqlserver://localhost:1433;databaseName=db_card"> </property> <propertyname="username"value="sa"></property> <propertyname="password"value="sa123qwe"></property> </bean> <beanid="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> <propertyname="dataSource"> <refbean="dataSource"/> </property> <propertyname="hibernateProperties"> <props> <propkey="hibernate.dialect"> org.hibernate.dialect.MySQLDialect </prop> <propkey="hibernate.show_sql">true</prop> <propkey="hibernate.hbm2ddl.auto">update</prop> </props> </property> <propertyname="mappingResources"> <list> <value>com/model/TAdmin.hbm.xml</value> <value>com/model/TUser.hbm.xml</value> <value>com/model/TXiaofei.hbm.xml</value></list> </property> </bean>系統(tǒng)過濾器的實現(xiàn)為了處理系統(tǒng)中可能出現(xiàn)的亂碼情況,本系統(tǒng)編寫了一個專門處理亂碼的類EncodingFilter,具體代碼如下:publicvoiddoFilter(ServletRequestreq,ServletResponseresp, FilterChainchain)throwsIOException,ServletException{ req.setCharacterEncoding(this.charset); chain.doFilter(req,resp); } publicvoidinit(FilterConfigarg0)throwsServletException{ this.charset=arg0.getInitParameter("charset"); }此外本類還需要在web.xml文件中進行配置,否則不會生效。網(wǎng)站模塊的實現(xiàn)網(wǎng)站的登錄頁面本網(wǎng)站的主頁簡單只提供了一個登錄信息,但是他同時具備密碼驗證功能,只有通過驗證的用戶才能成登錄。如圖4-1所示:圖STYLEREF1\s4–SEQ圖\*ARABIC\s11用戶登錄界面登陸部分的代碼如下: { //TODOAuto-generatedcatchblock e.printStackTrace(); } Stringresult="no"; if(userType==0)//系統(tǒng)管理員登陸 { Stringsql="fromTAdminwhereuserName=?anduserPw=?"; Object[]con={userName,userPw}; ListadminList=adminDAO.getHibernateTemplate().find(sql,con); if(adminList.size()==0) { result="no"; } else { WebContextctx=WebContextFactory.get(); HttpSessionsession=ctx.getSession(); TAdminadmin=(TAdmin)adminList.get(0); session.setAttribute("userType",0); session.setAttribute("admin",admin); result="yes"; } } if(userType==1) { Stringsql="fromTUserwherekahao=?andloginpw=?anddel='no'"; Object[]con={userName.trim(),userPw.trim()}; ListuserList=userDAO.getHibernateTemplate().find(sql,con); if(userList.size()==0) { result="no"; } else { WebContextctx=WebContextFactory.get(); HttpSessionsession=ctx.getSession(); TUseruser=(TUser)userList.get(0); session.setAttribute("userType",1); session.setAttribute("user",user); result="yes"; } } if(userType==2) { } returnresult; }系統(tǒng)的主頁設(shè)計本網(wǎng)站的主頁面左邊有一個功能快捷導(dǎo)航。主要包含一下信息:會員信息管理、消費信息管理、會員信息查詢、會員卡到期提醒、生日提醒管理。可以通過點擊相應(yīng)導(dǎo)航進行相關(guān)功能操作。在頁面設(shè)計中考慮到用戶操作的便捷性,在主頁中并沒有使用過多的操作按鈕,只列出簡單的主要功能操作按鈕,其余的具體操作均出現(xiàn)在各個模塊內(nèi),這樣一來給用戶一種容易上手使用的感覺,增加了操作的簡潔性。在本頁面上方有歡迎語和注銷功能按鈕,用戶可以通過注銷按鈕安全退出本系統(tǒng)。。該頁面的效果圖如圖4-2所示:圖STYLEREF1\s4–SEQ圖\*ARABIC\s12網(wǎng)站主頁會員卡管理設(shè)計會員卡管理主要是對健身房的會員信息進行系統(tǒng)的管理,包括對會員卡的的添加,修改和刪除管理。其主要代碼如下所示:publicStringlogin(StringuserName,StringuserPw,intuserType) { System.out.println("userType"+userType); try { Thread.sleep(700); }catch(InterruptedExceptione)publicStringuserAdd() { TUseruser=newTUser(); user.setXingming(xingming); user.setXingbie(xingbie); user.setShengri(shengri); user.setKahao(kahao); user.setLoginpw(loginpw); user.setBanlishi(banlishi); user.setDaoqishi(daoqishi); user.setDizhi(dizhi); user.setDianhua(dianhua); user.setYouxiang(youxiang); user.setDel("no"); userDAO.save(user); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("msg","信息添加成功"); return"msg"; } publicStringuserMana() { Stringsql="fromTUserwheredel='no'"; ListuserList=userDAO.getHibernateTemplate().find(sql); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("userList",userList); returnActionSupport.SUCCESS; } publicStringuserDel() { TUseruser=userDAO.findById(id); user.setDel("yes"); userDAO.attachDirty(user); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("msg","信息刪除成功"); return"msg"; } publicStringuserRes() { Stringsql="fromTUserwheredel='no'andxingminglike'%"+xingming.trim
()+"%'"+"andkahaolike'%"+kahao.trim()+"%'"; ListuserList=userDAO.getHibernateTemplate().find(sql); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("userList",userList); returnActionSupport.SUCCESS; }其操作界面如圖4-3所示:圖STYLEREF1\s4–SEQ圖\*ARABIC\s13會員卡管理界面會員信息查詢模塊本模塊主要實現(xiàn)對會員信息的查詢操作,可以通過姓名和卡號進行多條件的查詢,。其代碼如下所示:publicStringuserRes() { Stringsql="fromTUserwheredel='no'andxingminglike'%"+xingming.trim
()+"%'"+"andkahaolike'%"+kahao.trim()+"%'"; ListuserList=userDAO.getHibernateTemplate().find(sql); Maprequest=(Map)ServletActionContext.getContext().get("request"); request.put("userList",userList); returnActionSupport.SUCCESS; }其操作界面如圖4-4所示:圖STYLEREF1\s4–SEQ圖\*ARABIC\s14支出管理界面卡片到期提醒模塊本模塊主要實現(xiàn)對即將到期的會員卡進行提醒,注意是在到期的前一天進行提醒,其代碼如下所示:其操作界面如圖4-5所示:圖STYLEREF1\s4–SEQ圖\*ARABIC\s15物品信息管理界面本章小結(jié)編碼與實現(xiàn)是一個系統(tǒng)的主體部分,它關(guān)系到一個系統(tǒng)能否正常運行,能否交付用戶使用。在本章中,主要對該系統(tǒng)的各個功能部分的實現(xiàn)代碼進行了整理,讓用戶對該系統(tǒng)有更進一步的認識。系統(tǒng)測試與運行測試概述測試目的軟件測試就是在受控制的條件下對系統(tǒng)或應(yīng)用程序進行操作并評價操作結(jié)果的過程,所謂控制條件應(yīng)包括正常條件與非正常條件。軟件測試的過程中應(yīng)該故意地去促使錯誤的發(fā)生,也就是使事情在不應(yīng)該出現(xiàn)的時候出現(xiàn)或者在應(yīng)該出現(xiàn)的時候沒有出現(xiàn)。從本質(zhì)上說,軟件測試是“探測”,在“探測”中發(fā)現(xiàn)軟件的毛病。對健身房會員卡管理系統(tǒng)項目中所有軟件測試活動中,根據(jù)前期生成的包括測試進度、資源、問題、風(fēng)險以及其它組件的協(xié)調(diào)等進行評估,總結(jié)測試活動的成功經(jīng)驗以及不足,方便今后更好的進行測試活動,以便更好的對軟件進行完善[9]。測試原則軟件測試應(yīng)該遵循一下幾條原則:(1)所有的測試都應(yīng)追溯到用戶需求。這是因為軟件的目的是使用戶完成預(yù)定的任務(wù),滿足其需求,而軟件測試揭示軟件的缺陷和錯誤,一旦修正這些錯誤就能更好地滿足用戶需求。(2)應(yīng)盡早地和不斷地進行軟件測試。由于軟件的復(fù)雜性和抽象性,在軟件生命周期各階段都可能產(chǎn)生錯誤,所以不應(yīng)把軟件測試僅僅看做是軟件開發(fā)的一個獨立階段,而應(yīng)當(dāng)把它貫穿到軟件開發(fā)的各個階段中去[10]。階段就應(yīng)開始進行測試工作,編寫相應(yīng)的測試計劃及測試設(shè)計文檔,同時堅持在開發(fā)各階段進行技術(shù)評審和驗證,這樣才能盡早發(fā)現(xiàn)和預(yù)防錯誤,杜絕某些缺陷和錯誤,提高軟件質(zhì)量。測試工作進行得越早,越有利于提高軟件質(zhì)量,這是預(yù)防性測試的基本原則。(3)在有限的時間和資源條件下進行完全測試找出軟件所有的錯誤和缺陷是不可能的,軟件測試不能無限進行下去,應(yīng)適時終止。因為,測試輸出量大、輸出結(jié)果多、路徑組合太多,用有限的資源來達到完全測試是不現(xiàn)實的。(4)測試只能證明軟件存在錯誤而不能證明軟件沒有錯誤,測試無法顯示潛在的錯誤和缺陷,繼續(xù)進一步測試可能還會找到其它錯誤和缺陷。(5)充分關(guān)注測試的集群現(xiàn)象。在測試的程序段中,若發(fā)現(xiàn)的錯誤數(shù)目多,則殘存在其中的錯誤數(shù)目也比較多,因此應(yīng)當(dāng)花較多的時間和代價測試那些具有更多錯誤數(shù)目的程序模塊[11]。這和程序員的編程水平和習(xí)慣有很大關(guān)系。(6)程序員應(yīng)避免檢查自己的程序??紤]到人們的心理因素,一方面自己揭露自己程序中的錯誤是件不愉快的事情,自己不愿意否認自己的工作;另一方面,由于思維定勢,自己難以發(fā)現(xiàn)自己的錯誤。因此,測試一般由獨立的測試部分或者第三方機構(gòu)進行。(7)盡量避免測試的隨意性。軟件測試是有組織、有計劃、有步驟的活動,制定嚴格的測試計劃,要嚴格按照測試計劃進行,要避免測試的隨意性。并把測試時間安排得盡量寬松,不要希望在極短的時間內(nèi)完成一個高水平的測試。(8)設(shè)計測試用例時應(yīng)該考慮到合法的輸入和不合法的輸入以及各種邊界條件,特殊情況下要制造極端狀態(tài)和意外狀態(tài),如網(wǎng)絡(luò)異常中斷、電源斷電等情況。(9)對測試錯誤結(jié)果一定要有一個確認的過程,一般由A測試出來的錯誤,一定要有一個B來確認,嚴重的錯誤可以召開評審會進行討論和分析。(10)回歸測試的關(guān)聯(lián)性一定要引起充分的注意,修改一個錯誤而引起更多的錯誤出現(xiàn)的現(xiàn)象并不少見。(11)妥善保存一切測試過程的文檔,意義是不言而喻的,測試的重現(xiàn)性往往要靠測試文檔。(12)為了發(fā)現(xiàn)更多的錯誤讓系統(tǒng)更加完善,設(shè)計測試用例時不但要選擇合理的輸入數(shù)據(jù)作為測試用例,而且要選擇不合理的輸入數(shù)據(jù)作為測試用例,使得系統(tǒng)能夠應(yīng)付各種狀況。(13)測試過程不但要求軟件開發(fā)人員參與,而且一般要求有專門的測試人員進行測試,并且還要求用戶參與,特別是驗收測試階段,用戶是主要的參與者。測試范圍健身房會員卡管理系統(tǒng)因為其自身的特殊性,測試僅依據(jù)用戶需求說明書和設(shè)計文檔需求進行系統(tǒng)測試,包括性能測試,功能測試,用戶界面測試等,主要功能包括:會員卡信息管理,消費信息管理,卡片到期提醒管理,會員生日提醒等。對于性能測試,主要有容錯性與易用性測試,用戶界面測試主要是對系統(tǒng)界面進行一系列的檢測,以保證系統(tǒng)的頁面能夠正確無誤地傳達信息。測試內(nèi)容內(nèi)容與功能測試(1)檢查整個頁面的布局,檢查是否完整。(2)檢查有無被覆蓋的文字或其他顯示對象。(3)檢查有無超出邊界范圍的控件。(4)通讀頁面上所有文字,檢查有無錯字、漏字、拼寫錯誤。(5)在需要大量重復(fù)測試的頁面,布局、顯示方面只需要測一次。檢查頁面上是否有功能缺漏,典型的功能是:(1)登錄功能;(2)修改/刪除功能;(3)增加新事件功能;(4)提交/重置功能(5)注銷功能對每個功能,要求測試以下方面:(1)檢查輸入域,包括有效輸入和無效輸入;(2)選擇不同的設(shè)置;(3)檢查功能是否正確實現(xiàn);(4)檢查輸出是否正常;(5)檢查所有功能/業(yè)務(wù)流程。容錯性與易用性測試容錯性測試和功能測試的一部分,可以檢查系統(tǒng)對合法輸入的處理能力,即檢查在正常情況下功能是否能夠?qū)崿F(xiàn),即為功能測試。檢查系統(tǒng)對非法輸入的處理能力,即檢查在非正常情況下系統(tǒng)是
溫馨提示
- 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. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 布袋麻袋項目立項申請報告
- 模具項目立項報告
- 2024年度家居地毯設(shè)計定制與銷售合同協(xié)議3篇
- 云存儲數(shù)據(jù)泄露溯源-洞察分析
- 體育俱樂部環(huán)境責(zé)任-洞察分析
- 微電網(wǎng)儲能應(yīng)用-洞察分析
- 2024年技術(shù)轉(zhuǎn)讓協(xié)議3篇
- 2024年度有機農(nóng)產(chǎn)品種植土地租賃服務(wù)協(xié)議3篇
- 2025鋼材購銷合同范例
- 2025買賣商鋪合同范文
- 商場用電安全培訓(xùn)
- 《中小學(xué)教育懲戒規(guī)則(試行)》宣講培訓(xùn)
- 結(jié)清貨款合同范例
- 掛靠裝修公司合同范例
- 2021年四川省涼山州九年級中考適應(yīng)性考試理科綜合(試卷)
- 骨科疼痛的評估及護理
- 2024年度軟件開發(fā)分包合同技術(shù)要求與交底2篇
- 湖南省邵陽市2023-2024學(xué)年高一上學(xué)期拔尖創(chuàng)新人才早期培養(yǎng)競賽(初賽)數(shù)學(xué)試題 含解析
- 2024年執(zhí)業(yè)藥師資格繼續(xù)教育定期考試題庫附含答案
- 微短劇制作手冊專業(yè)版
- 酒店前臺消防安全培訓(xùn)
評論
0/150
提交評論