jsp房屋出租管理系統(tǒng)ssh論文_第1頁
jsp房屋出租管理系統(tǒng)ssh論文_第2頁
jsp房屋出租管理系統(tǒng)ssh論文_第3頁
jsp房屋出租管理系統(tǒng)ssh論文_第4頁
jsp房屋出租管理系統(tǒng)ssh論文_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

房屋出租系統(tǒng)摘要房屋是人類生活棲息的重要場所,城市中的大量的流動人口隨著日益升溫的房屋出租產(chǎn)業(yè)注入了無限的發(fā)展空間。但在房屋管理上存在著大量的缺陷,如繁重的數(shù)據(jù)流量,復(fù)雜的合同管理,以及繁多的報表等等。為了跟上社會的發(fā)展,為此,在考查了社會現(xiàn)狀和對現(xiàn)有人員的分析之后,提出了我們的課題——房屋出租系統(tǒng)。我們的房屋出租系統(tǒng)就在此市場環(huán)境下孕育而生。企業(yè)房屋出租系統(tǒng)是在J2EE技術(shù)的基礎(chǔ)上實現(xiàn)的,它與敏捷的開發(fā)方式相融合,完成了整套系統(tǒng)的檢驗。該管理系統(tǒng)界面簡單、操作簡便、靈活、實用性強,可以有效的實現(xiàn)房屋出租的管理過程,并大大提高了房屋出租的工作效率,使得房屋出租系統(tǒng)更加系統(tǒng)化、自動化、規(guī)范化,并且可用性、可靠性、安全性非常良好。此系統(tǒng)采用標(biāo)準(zhǔn)的三層框架,將復(fù)雜的功能模塊分為表示層、控制層、業(yè)務(wù)層等三層結(jié)構(gòu),降低了系統(tǒng)開發(fā)的復(fù)雜性。采用的開發(fā)技術(shù)符合J2EE規(guī)范,提升系統(tǒng)的運行性能和安全性能,也便于運行期維護。本系統(tǒng)主要分為住戶、房主、管理員三個角色。管理員實現(xiàn)租房信息管理、房屋信息管理、合同信息管理、注冊用戶管理、留言板管理、基本信息管理等功能。房主實現(xiàn)租房信息管理、查看租房信息、基本信息管理功能。住戶實現(xiàn)信息管理以及基本信息管理功能。關(guān)鍵詞:人事管理;B/S模式;J2EE架構(gòu);MVC

AbstractHousingisanimportantplaceforhumanlifehabitat,citieswithalargenumberoffloatingpopulationintherentalindustryheatsupintotheinfinitespacefordevelopment.Buttherearealotofhousingmanagementdeficiencies,suchasheavytraffic,complexcontractmanagement,aswellasnumerousreportsandsoon.Tokeepupwiththedevelopmentofsociety,forwhich,afterexaminingthesituationandanalysisofexistingsocialworkers,made??ourtask-rentalsystem.Ourrentalsysteminthismarketenvironmentbornout.EnterpriserentalsystemisbasedonJ2EEtechnologytoachieveitwithagiledevelopmentmethodsofintegration,completeinspectionoftheentiresystem.Themanagementsysteminterfaceissimpleandeasytooperate,flexible,practical,effectivemanagementprocesstoachieverental,andgreatlyimprovetheefficiencyofrental,makingrentalsystemmoresystematic,automated,standardized,andavailability,reliability,securityisverygood.Thissystemusesastandardthree-tierframework,complexmodulesintothepresentationlayer,controllayerstructurelayer,businesslayer,reducingthecomplexityofsystemdevelopment.DevelopmentoftechnologyusedincompliancewiththeJ2EEspecification,improveoperationalperformanceandsafetyperformanceofthesystem,butalsoeasytomaintainruntime.Thesystemconsistsoftenants,homeowners,administratorsthreeroles.Administratorsrealizerentalinformationmanagement,housinginformationmanagement,contractinformationmanagement,subscribermanagement,messageboards,management,informationmanagement,andotherbasicfunctions.Homeownersrealizerentalinformationmanagement,viewrentalinformation,basicinformationmanagementfunctions.Householdachieveinformationmanagementandbasicinformationmanagementfunctions.Keywords:PersonnelManagement;B/Smode;J2EEarchitecture;MVC目錄第一章緒論 31.1課題研究背景 31.2課題研究意義 31.3本課題主要工作 4第二章房屋出租系統(tǒng)相關(guān)技術(shù) 52.1J2EE技術(shù) 52.2MVC模式 62.3B/S結(jié)構(gòu) 62.4數(shù)據(jù)庫技術(shù) 92.5本章小結(jié) 10第三章房屋出租系統(tǒng)需求分析 113.1系統(tǒng)總體目標(biāo) 113.2系統(tǒng)可行性分析 113.3系統(tǒng)功能需求分析 123.4系統(tǒng)非功能需求分析 123.5系統(tǒng)開發(fā)環(huán)境與開發(fā)工具 13第四章系統(tǒng)設(shè)計與實現(xiàn) 154.1設(shè)計目標(biāo)與原則 154.2系統(tǒng)架構(gòu)設(shè)計 164.3數(shù)據(jù)庫設(shè)計 184.4系統(tǒng)實現(xiàn) 234.5界面運行效果 30第五章系統(tǒng)測試 335.1軟件測試及工具 335.2測試方法 345.3系統(tǒng)配置要求 345.4測試內(nèi)容 355.5測試結(jié)果 365.6本章小結(jié) 36總結(jié) 37致謝 38參考文獻 39

第一章緒論隨著社會的信息化,信息資源已成為非常寶貴的一種財富,因此一個即時有效的信息管理系統(tǒng)是一個企業(yè)得到良好發(fā)展的基礎(chǔ)。所以作為信息系統(tǒng)的基礎(chǔ)和核心的數(shù)據(jù)庫技術(shù)在各個方面得到了更廣泛的應(yīng)用,其中有從聯(lián)機事務(wù)處理到聯(lián)機分析處理,從一般的企業(yè)管理到計算機輔助設(shè)計、集成制造系統(tǒng)等等。數(shù)據(jù)的規(guī)模、信息量、使用頻率更是代表一個國家信息化發(fā)展的程度。但是我國目前的信息化程度并不高,道路漫長而曲折,在經(jīng)濟迅猛發(fā)展的今天,信息系統(tǒng)的管理已成為各行各業(yè)關(guān)注的焦點。1.1課題研究背景利用計算機實現(xiàn)物業(yè)管理中的房屋租賃管理勢在必行。對于物業(yè)管理企業(yè)來說,利用計算機支持企業(yè)高效率完成房屋租賃管理的日常事務(wù),是適應(yīng)現(xiàn)代企業(yè)制度要求、推動企業(yè)勞動型管理走向科學(xué)化、規(guī)范化的必要條件;而房屋租賃管理是一項瑣碎、復(fù)雜而又十分細致的工作,房屋的基本資料,客戶資料的管理,房屋租賃管理,各項收費以及統(tǒng)計報表的管理,一般不允許出錯,如果實行手工操作,須手工填制大量的表格,這就會耗費工作人員大量的時間和精力,計算機進行房屋租賃工作的管理,不僅能夠保證各項信息準(zhǔn)確無誤、快速輸出,同時計算機具有手工管理所無法比擬的優(yōu)點.例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高物業(yè)管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。開發(fā)本系統(tǒng)就是為了解決物業(yè)管理企業(yè)在房屋租賃信息管理中的一些不規(guī)范,使房屋租賃信息的管理向著規(guī)范化、簡單化、有效化的方向發(fā)展。1.2課題研究意義隨著經(jīng)濟的快速發(fā)展,企事業(yè)單位面對的壓力也越來越大,當(dāng)代的競爭就是效率的競爭,而往往一個公司管理的好壞就直接影響到工作效率,所以在這種前提下,一個即方便又管理嚴密的方法迫在眉睫,而尤其對于房屋租賃,要處理和管理的事物煩瑣,沒有一個好的管理系統(tǒng)是非常麻煩的,費力不討好。本課件就是針對這種現(xiàn)狀而編寫的一個可在實際中解決問題的管理系統(tǒng),重點是對房屋租賃的添加,修改,查詢,讀取和刪除的管理,同時也可以節(jié)省大量的時間和工作量,還可以提高工作效率,對房屋租賃的租賃及管理一目了然,使公司在整體上的效率都提高不少,從而在競爭中立與不敗之地隨著我國市場經(jīng)濟的快速發(fā)展和信息化水平的不斷提高,如何利用先進的管理手段,提高物業(yè)管理的水平,是當(dāng)今社會所面臨的一個課題。提高企業(yè)的管理水平,必須全方位地提高企業(yè)的管理意識。只有高標(biāo)準(zhǔn)、高質(zhì)量的管理才能滿足企業(yè)的發(fā)展需求。面對信息時代的挑戰(zhàn),利用高科技手段來提高房屋租賃管理無疑是一條行之有效的途徑。在某種意義上,信息與科技在企業(yè)管理與現(xiàn)代化建設(shè)中顯現(xiàn)出越來越重要的地位。房租租賃管理方面的信息化與科學(xué)化,已成為現(xiàn)代化生活水平步入高臺階的重要標(biāo)志。房屋租賃信息管理是各個房管局及房屋出租中介賴以生存的基礎(chǔ),原始的房屋租賃管理從房屋資料、住戶檔案、月租金收取到各種報表全部采用人工管理方式,此種管理方式,存在很大的問題和局限:管理不規(guī)范,效率低,容易出錯,資料查詢不方便,人工報表提供慢,房管員上門收取月租金不安全且不能有效控制房管員在收費過程中的人為不良因素?,F(xiàn)在,各種房屋中介如雨后春筍般在大街小巷遍布開來,要經(jīng)營這樣的店必須依賴于大量的房屋信息,且要具有很大的靈活性,這樣才能立于競爭的不敗之地。鑒于房管局及房屋中介的實際業(yè)務(wù)情況,且在當(dāng)今電腦與網(wǎng)絡(luò)通信技術(shù)普遍的前提下,開發(fā)這一房屋租賃管理信息系統(tǒng)是有一定現(xiàn)實意義的。它實現(xiàn)了從房屋資料、住戶檔案、月租金收取到報表的電腦化管理,其中包括房屋圖紙、住戶照片的電腦文檔管理,從而,基本實現(xiàn)了房屋及相關(guān)資料的無紙化辦公,大大提高了工作效率,減少了人為錯誤,豐富的報表為領(lǐng)導(dǎo)全面了解房管所當(dāng)前月租金收取狀況提供了非常快捷的管理方式。1.3本課題主要工作本文依據(jù)面向?qū)ο蟮能浖_發(fā)流程,對需求分析到實施檢測都進行了全方面的闡述。本人主要做了一下工作:1.對需求進行分析。對采集系統(tǒng)的需求進行分析,了解該系統(tǒng)的主要特點和要實現(xiàn)的目標(biāo),和用戶交流之后對用戶的特點和系統(tǒng)的業(yè)務(wù)流程進行分析,全面掌握業(yè)務(wù)流程,理清系統(tǒng)的功能性需求和非功能性需求。2.選擇合適的技術(shù)方案。建立一個系統(tǒng)的開發(fā)平臺,再對關(guān)鍵技術(shù)進行詳細的研究。按照實用、開放、開源的原則,從數(shù)據(jù)庫平臺、系統(tǒng)平臺、開發(fā)平臺、應(yīng)用服務(wù)器這幾個方面,設(shè)計出既保證滿足需求,又開源可擴展的系統(tǒng)架構(gòu)。利用大量的擴展產(chǎn)品要比傳統(tǒng)的開發(fā)方式更靈活且成熟。3.系統(tǒng)的設(shè)計和系統(tǒng)的實現(xiàn)。系統(tǒng)的設(shè)計原則依據(jù)MVC的設(shè)計思想,使得系統(tǒng)的外觀、業(yè)務(wù)邏輯與數(shù)據(jù)存儲處于分離的狀態(tài)。詳細分析系統(tǒng)的功能、業(yè)務(wù)流程、用戶角色,以此為根據(jù)設(shè)計系統(tǒng)的結(jié)構(gòu),還詳細地分析設(shè)計系統(tǒng)。4.測試系統(tǒng)。本文對系統(tǒng)的測試方法進行了詳細論述。

第二章房屋出租系統(tǒng)相關(guān)技術(shù)2.1J2EE技術(shù)J2EE技術(shù)屬于一種簡化方案,即采用Java技術(shù)來完成對方案開發(fā)、部署、管理等問題的簡化。這種技術(shù)允許設(shè)計者采用以下手段進行控制:例如采用具有一致化特點的模型、多次使用同一組件等方法,甚至在事務(wù)控制上采取多變的手段。由于這種技術(shù),在面對不同的用戶需求時,開發(fā)商給出的應(yīng)對策略變化十分靈活,方案各不相同,更重要的是各種策略不會循規(guī)蹈矩,此外,軟件開發(fā)商給出解決方案所需周期大大下降。下面對J2EE平臺在企業(yè)方面的優(yōu)勢進行說明:1.通常來講,企業(yè)級的運算涉及到很多方面的綜合,要想很好地完成運算,就必須具有相應(yīng)的標(biāo)準(zhǔn),而J2EE則對標(biāo)準(zhǔn)進行了規(guī)定,使得企業(yè)在Web相關(guān)組件、通信協(xié)議、數(shù)據(jù)庫的連接、企業(yè)的業(yè)務(wù)組件、面向消息的中間件、互操作性等方面的運算很容易進行。由開放標(biāo)準(zhǔn)開發(fā)軟件構(gòu)建的系統(tǒng)具有很大優(yōu)勢,例如更為安全可靠,性能更加良好等,而這正是J2EE平臺所倡導(dǎo)的開發(fā)模式,所以J2EE的應(yīng)用前景十分廣泛。1)采用J2EE平臺開發(fā)出的軟件具有很廣的通用性:即適用于不同軟件開發(fā)商的不同產(chǎn)品,這就避免了某一開發(fā)商的壟斷。2)另外,J2EE平臺的出現(xiàn)使得產(chǎn)品生產(chǎn)周期降低成為現(xiàn)實。主要原因在于,軟件在開發(fā)中,大部分的基本框架、結(jié)構(gòu)屬于固定模式,即可以直接調(diào)用,而無需進行重新編寫。從而,使得開發(fā)周期大大降低,而對于軟件開發(fā)人員而言,不但能夠更快地掌握編寫技術(shù),而且具有更高的工作效率。由于采用J2EE技術(shù),使得當(dāng)前在結(jié)構(gòu)上不同的系統(tǒng)之間的互操作性有很大的提高。一般來講,J2EE主要從高層獲得有關(guān)基礎(chǔ)技術(shù),然后進行抽象化處理。在進行技術(shù)的利用前應(yīng)給出詳細的方案,并進行相關(guān)模型的建立。而采用J2EE則可以很好地完成以上任務(wù)。J2EE設(shè)計模式首先完全繼承了一般模式的優(yōu)點,其次還具有起獨特的優(yōu)勢。對此,對于J2EE更為形象化,能夠?qū)栴}簡單化,在使用時更為恰當(dāng)、便利。J2EE最主要的模式分為兩種:第一種是TheServerS,另一種是SunJavaCenter,具體分為15種不同的模式。從以上可以看出,J2EE擁有無可比擬的優(yōu)勢:及其適合多層分布式企業(yè)應(yīng)用程序的開發(fā),不但具有很高的穩(wěn)定性、而且在可移植性、可伸縮性方面也十分突出。另外,采用J2EE模式可以大量縮短軟件開發(fā)周期,提高企業(yè)效益。2.2MVC模式MVC是一種目前廣泛流行的軟件設(shè)計模式。由于J2EE技術(shù)逐步走向完善,在實際生產(chǎn)中,MVC設(shè)計被越來越多的使用,逐漸成為主流應(yīng)用模型。與其它模式相比,MVC模式不但在顯示、功能兩大模塊的分離上存在優(yōu)勢,而且支持以下功能:擴展性、維護性、移植性,此外使得組件具有可復(fù)用性。所謂MVC,即Model——模型、View——視圖、Controller——控制器的縮寫。具體將,就是將依照視圖、模型、控制器的方式對輸入、處理、輸出流程進行分離處理。所以一般將應(yīng)用分成三個不同的層次:模型層、視圖層、控制層。事件至少會引起三者中的一個發(fā)生變化。因此,只要控制層將模型層的屬性或有關(guān)數(shù)據(jù)進行改變,就會導(dǎo)致新的視圖層得出現(xiàn)。同理,控制層導(dǎo)致視圖層得變化,也會使得模型層發(fā)生變動。圖2-1顯示的是Model、View、Controller之間的相互關(guān)系。圖2-1MVC模式體系結(jié)構(gòu)與工作原理2.3B/S結(jié)構(gòu)B/S結(jié)構(gòu)是Browser/Server的縮寫,漢語中指的是瀏覽器以及服務(wù)器結(jié)構(gòu)。B/S的基礎(chǔ)是C/S,經(jīng)過對C/S的修改、升級得到的。在B/S下,具有三層結(jié)構(gòu):首先,用戶的操作界面通過瀏覽器實現(xiàn);其次,大部分事務(wù)邏輯的實現(xiàn)基于服務(wù)器端;最后,少部分的事務(wù)邏輯的實現(xiàn)由前端完成。采用這種結(jié)構(gòu),不但使整體成本下降,而且將電腦的負載大大降低,從而減少工作量與工作強度。在現(xiàn)階段,采用B/S模式結(jié)構(gòu),是很容易實現(xiàn)的。這種技術(shù)屬于一次性開發(fā),允許不同的工作人員從不同的地點,以不同的接入方式,隨時隨地的對數(shù)據(jù)庫進行管理,還能有效的保護數(shù)據(jù)平臺和管理訪問權(quán)限,保證有關(guān)數(shù)據(jù)的安全。1.B/S架構(gòu)軟件的優(yōu)點和缺點(1)容易,升級方便。隨著技術(shù)的進步,一般來講,對于軟件的修改原來越多,軟件的升級周期越來越短。而采用B/S結(jié)構(gòu)就能夠很容易避免這方面的麻煩。對于一般的結(jié)構(gòu)而言,在一個企業(yè)中,若電腦數(shù)量較多,維修人員會因維修與軟件升級而來會奔波,工作強度極其巨大。而對于采用B/S結(jié)構(gòu)的軟件來講,由于客戶端(電腦)僅起到瀏覽器的作用,因此維修人員只需要維護好服務(wù)器就可以了。無論客戶端多么龐大,都絲毫不會增加工作強度。另外,B/S結(jié)構(gòu)支持異地協(xié)助,可以實現(xiàn)異地的軟件升級、維護。采用B/S結(jié)構(gòu)會大大降低所需的人力物力,從而提升工作效率。(2)低成本,更多的選擇。由于最常使用的操作系統(tǒng)是windows,因此瀏覽器似乎成了必不可少的。然而在服務(wù)器操作系統(tǒng)競爭中,微軟公司的產(chǎn)品未必是最好的?,F(xiàn)在逐漸形成新的模式,即用B/S結(jié)構(gòu)與Linux服務(wù)器進行匹配,這樣帶來的好處是更為安全可靠,另外還有一點非常重要,即Linux的數(shù)據(jù)庫也是不收費的。這也說明了B/S結(jié)構(gòu)對操作系統(tǒng)的選擇不唯一,而是支持多種操作系統(tǒng)的。(3)應(yīng)用服務(wù)器的運行數(shù)據(jù)負荷重。根據(jù)分析我們知道,B/S的三層結(jié)構(gòu)分工明確,即絕大多數(shù)的事務(wù)邏輯由服務(wù)器端處理,另外客戶端只起到瀏覽器的作用。這樣雖然優(yōu)勢很多,但是也具有一定的缺點:即應(yīng)用服務(wù)器上的負荷比較大,若服務(wù)器稍微出現(xiàn)問題,就會導(dǎo)致非常嚴重的后果,為了避免這種現(xiàn)象的出現(xiàn),一般采取保護措施——配備專門的數(shù)據(jù)庫服務(wù)器。2.C/S與B/S結(jié)構(gòu)在技術(shù)上的比對C/S結(jié)構(gòu)軟件——客戶機/服務(wù)器模式可以分為兩層:首先是客戶機,其次是服務(wù)器??蛻魴C不但承擔(dān)著對數(shù)據(jù)的輸入、輸出,而且在一定程度上要對相關(guān)數(shù)據(jù)進行處理、分析,還要對數(shù)據(jù)進行判斷,合理分配,從而將通信的數(shù)據(jù)量、服務(wù)器上進行的計算量進行減輕。然而,服務(wù)器在連接數(shù)量上一級通信信息量上不是沒有上限的,所以C/S結(jié)構(gòu)僅適用于連接量較小的情況,比如財務(wù)軟件等。B/S——瀏覽器/服務(wù)器模式是在C/S的基礎(chǔ)上發(fā)展起來的,要想完成軟件應(yīng)用業(yè)務(wù)的處理,僅需通過瀏覽器就能很容易的實現(xiàn),是一種全新的軟件系統(tǒng)構(gòu)造技術(shù)。采用B/S結(jié)構(gòu)是今后的趨勢,一般來講,e通管理軟件就采用了B/S結(jié)構(gòu)。(1)在數(shù)據(jù)安全性方面的對比。對于采用C/S結(jié)構(gòu)的軟件而言,C/S的結(jié)構(gòu)決定了要求在各地都安裝服務(wù)器,還要實現(xiàn)服務(wù)器間的數(shù)據(jù)同步,一旦某一點出現(xiàn)安全問題,勢必造成整個系統(tǒng)的安全受到嚴重影響。因此,C/S結(jié)構(gòu)不適用于服務(wù)器較多的類型。而采用B/S結(jié)構(gòu)恰恰可避免這一缺點,因為B/S結(jié)構(gòu)的數(shù)據(jù)存放在專門的服務(wù)器內(nèi),客戶端不保存任何業(yè)務(wù)數(shù)據(jù)和數(shù)據(jù)庫連接信息,并且無需數(shù)據(jù)同步,因此不存在安全上的問題。(2)在數(shù)據(jù)實時性上的對比。由于C/S結(jié)構(gòu)無法保證隨時隨地的看到當(dāng)前業(yè)務(wù)發(fā)生情況,因此得到的都是已經(jīng)存在的數(shù)據(jù),不是即時數(shù)據(jù)。而B/S結(jié)構(gòu)則可以得到當(dāng)前發(fā)生所有業(yè)務(wù)的實時數(shù)據(jù),可以以此進行即時決策,有效地避免了企業(yè)的損失。(3)在數(shù)據(jù)一致性上的對比。要實現(xiàn)異地經(jīng)營,對于C/S結(jié)構(gòu)軟件,需要安裝區(qū)域級服務(wù)器,并實現(xiàn)數(shù)據(jù)上的同步,在服務(wù)器完成同步后總部才能得到最終數(shù)據(jù)。首先這就要求所以的服務(wù)器必須正常運行,其次由于存在的微小差異,在理論上無法實現(xiàn)數(shù)據(jù)同步。而采用B/S結(jié)構(gòu),這種結(jié)構(gòu)的數(shù)據(jù)屬于集中存放,無不同步問題,數(shù)據(jù)始終一致。(4)在服務(wù)響應(yīng)及時性方面的對比。企業(yè)的業(yè)務(wù)流程、業(yè)務(wù)模式不是一成不變的,由于要適應(yīng)市場的需求,這就要求企業(yè)要實時進行調(diào)整、改革,業(yè)務(wù)的流程也在發(fā)生大大小小的變化,為了使企業(yè)正常運行,就必須對相關(guān)軟件進行即時更新、維護。對于采用C/S結(jié)構(gòu)的軟件,由于所有的客戶端都需要進行更新、維護,因此工作量巨大,很難做到所有的程序版本一致,所需要很長的時間重新部署。而對于采用B/S結(jié)構(gòu)一類軟件,服務(wù)器的作用與瀏覽器相當(dāng),所以軟件的更新、維護只需在總部進行即可,大大節(jié)省了時間,很容易實現(xiàn)版本的一致性。(5)在數(shù)據(jù)溯源性上的比對。對于C/S結(jié)構(gòu),由于數(shù)據(jù)不是采用集中存放模式,僅僅上傳中間報表數(shù)據(jù),因此很難查找原始數(shù)據(jù)的出處。而我們知道在B/S結(jié)構(gòu)中,數(shù)據(jù)屬于集中存放,因此便于總部對數(shù)據(jù)的來源進行查詢,可以很詳細地查詢所有原始數(shù)據(jù)的來源。(6)在網(wǎng)絡(luò)應(yīng)用限制上的對比。采用C/S結(jié)構(gòu)的軟件對網(wǎng)絡(luò)要求較高:適用于局域網(wǎng)以及寬帶(要求帶寬不低于1兆)。對于采用B/S結(jié)構(gòu)的軟件而言,對網(wǎng)絡(luò)要求很低,適應(yīng)范圍很廣,甚至可以不采用寬帶。3.C/S與B/S結(jié)構(gòu)軟件在運用上的對比無論采用哪種軟件,其目的是為了更好地讓企業(yè)運轉(zhuǎn),因此,在選擇軟件時,不但要注意所采用的技術(shù),還應(yīng)關(guān)注在商業(yè)上的運用。我們將在商業(yè)運用方面進行對比:(1)在投入成本上的對比。對于C/S來講,后期維護、更新費用巨大;對于B/S而言,屬于一次性投資,成本較低。(2)在企業(yè)快速擴張支持方面的對比。發(fā)展中的企業(yè)的主要特點是擴張的速度極其迅速。為了使企業(yè)的擴張能夠順利進行,就要求在部署軟件時具有準(zhǔn)確、及時的特性。對于C/S結(jié)構(gòu),一般要保證客戶端、服務(wù)器、工作人員的同步性,因此與快速擴張不協(xié)調(diào)。而對于B/S結(jié)構(gòu)而言,由于安裝屬于一次性,因此要想使企業(yè)擴展較快,就必須解決人才問題。(3)在硬件投資保護方面的對比。對于如何維護已經(jīng)存在的硬件,兩種結(jié)構(gòu)采取的手段存在著非常大的區(qū)別:對于C/S而言,主要是更換中央服務(wù)器,采用更為高級的類型;而對于B/S來講,可以采取逐漸增加服務(wù)器數(shù)量的方法,并使服務(wù)器間的負載逐漸趨于平衡,從而做到保護原有硬件。若采用C/S結(jié)構(gòu),不但無法解決巨大的人力物力的消耗,而且無法保證擁有足夠的人才,所以考慮到企業(yè)的發(fā)展前景,C/S結(jié)構(gòu)是不適應(yīng)的。另外,C/S結(jié)構(gòu)無法保證安全性,并且要求中央服務(wù)器性能非常好。對于B/S結(jié)構(gòu)而言,在用戶的數(shù)量上是沒有限制的。根據(jù)上述分析,我們可以看到,在各個方面上,B/S結(jié)構(gòu)的管理軟件都要優(yōu)于C/S結(jié)構(gòu)軟件。另外,當(dāng)前的趨勢也是逐漸用B/S代替C/S。從國內(nèi)諸多軟件商積極投入開發(fā)B/S結(jié)構(gòu)軟件的趨勢來看,B/S結(jié)構(gòu)的大型管理軟件勢必在將來的幾年內(nèi)占據(jù)管理軟件領(lǐng)域的主導(dǎo)地位。2.4數(shù)據(jù)庫技術(shù)數(shù)據(jù)庫是數(shù)據(jù)和數(shù)據(jù)庫對象的集合,其中數(shù)據(jù)庫對象指表(Table)、視圖(View)、存儲過程(StoredProcedure)和觸發(fā)器(Trigger)等。數(shù)據(jù)庫通過SQL(StructuredQueryLanguage)來對數(shù)據(jù)進行操作和管理,這里包括一些基本的操作如select、delete、insert、update語句。ADO(ActiveXDataObjects)是微軟開發(fā)數(shù)據(jù)庫應(yīng)用程序的數(shù)據(jù)庫訪問技術(shù)。它被設(shè)計用來同新的數(shù)據(jù)庫訪問層OLEDBProvider一起協(xié)同工作,以提供通用數(shù)據(jù)訪問(UniversalDataMySQL)。OLEDB是一個底層的數(shù)據(jù)庫訪問接口,用它可以訪問各種數(shù)據(jù)源,包括傳統(tǒng)的關(guān)系數(shù)據(jù)庫。ADO封裝了OLEDB程序中使用的大量COM接口,所以是一種高層訪問技術(shù)。關(guān)于數(shù)據(jù)庫管理系統(tǒng)和接口的原理如圖2所示。MySQL是一個快速、多線程、多用戶的小型關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。它支持正規(guī)的SQL查詢語言和采用多種數(shù)據(jù)類型,能對數(shù)據(jù)進行各種詳細的查詢等。MySQL提供了一全套的數(shù)據(jù)庫創(chuàng)建和訪問機制,通過很直觀的方式就可以創(chuàng)建、訪問、修改數(shù)據(jù)庫的表和項,并且能建立它們之間的各種數(shù)據(jù)關(guān)系。MySQL系列從90年代就發(fā)展起來,經(jīng)過了多年的反展,它已經(jīng)成為非常成熟的技術(shù),面向中小型企業(yè)級應(yīng)用。MySQL數(shù)據(jù)庫的特點是數(shù)據(jù)庫文件小而簡單,不需要運行或者啟動數(shù)據(jù)庫服務(wù)進程就可以使用。通常MySQL數(shù)據(jù)庫文件可以隨網(wǎng)頁文件一起方便地放在網(wǎng)站的目錄中,正是由于這些特點,MySQL數(shù)據(jù)庫通常被用來作為網(wǎng)站開發(fā)的數(shù)據(jù)庫支持技術(shù)。對MySQL數(shù)據(jù)庫的管理采用圖形化管理工具phpMyAdmin。phpMyAdmin是一個用PHP編寫的、基于Web的、跨平臺的MySQL管理程序,支持簡體中文,使用Web瀏覽器作為管理界面。通過phpMyAdmin可以進行絕大部分的MySQL操作,包括對數(shù)據(jù)庫級操作,表級操作,以及數(shù)據(jù)管理等。圖2-2數(shù)據(jù)庫管理系統(tǒng)和接口的原理2.5本章小結(jié)本章介紹了房屋出租系統(tǒng)用到的相關(guān)技術(shù),針對系統(tǒng)中使用到的技術(shù)做了簡單的介紹。

第三章房屋出租系統(tǒng)需求分析3.1系統(tǒng)總體目標(biāo)(1)數(shù)據(jù)共享建立統(tǒng)一的房屋信息數(shù)據(jù)庫,使數(shù)據(jù)信息標(biāo)準(zhǔn)化和規(guī)范化,實現(xiàn)數(shù)據(jù)的一致性和共享性,提高信息查詢的效率和準(zhǔn)確度。(2)實現(xiàn)房屋出租的各項業(yè)務(wù)功能系統(tǒng)主要分為住戶、房主、管理員三個角色。管理員實現(xiàn)租房信息管理、房屋信息管理、合同信息管理、注冊用戶管理、留言板管理、基本信息管理等功能。房主實現(xiàn)租房信息管理、查看租房信息、基本信息管理功能。住戶實現(xiàn)信息管理以及基本信息管理功能。(3)規(guī)范房屋出租業(yè)務(wù)流程實現(xiàn)房屋出租的規(guī)范化,全面、科學(xué)、系統(tǒng)地進行管理;提供多種信息咨詢渠道,最大程度地發(fā)揮本系統(tǒng)的作用;提高工作效率和管理水平,完善人事管理工作中的不足之處。(4)實現(xiàn)現(xiàn)代化的管理手段系統(tǒng)應(yīng)具有清晰的界面,簡單易操作;系統(tǒng)的不同用戶應(yīng)具有不同的操作權(quán)限;系統(tǒng)應(yīng)具有數(shù)據(jù)庫備份和恢復(fù)功能,提高數(shù)據(jù)的安全性;系統(tǒng)的運行應(yīng)基于Internet,只要有網(wǎng)絡(luò)就可以隨時隨地辦公。論文中涉及的系統(tǒng),其實質(zhì)對支持以下功能:首先,管理員可以對系統(tǒng)訪問;其次,對于相關(guān)信息,管理員有權(quán)限進行完善、修改、刪減,從而實現(xiàn)了管理整個企業(yè)的人員信息。為了方便管理員的操作,要求系統(tǒng)簡捷明了,登錄界面具有人性化,此外,要注意下面各點:1、實現(xiàn)功能手段:決定著系統(tǒng)性能的好壞。2、程序的運行速度:速度的快慢意味著效率的高低。3、及時的單元測試:能否做到第一時間發(fā)現(xiàn)、解決問題。4、安全問題的性能可靠性:能否確保用戶的安全使用。3.2系統(tǒng)可行性分析1操作的可行性分析為了盡量便于用戶的使用,登錄界面盡量簡捷、人性化。采取常見的Window界面作為登錄界面,而整個系統(tǒng)的開發(fā)業(yè)使用常見的Java。這些策略使得用戶不需很長時間就能很快對系統(tǒng)非常熟悉,可以熟練掌握操作方法。除此之外,系統(tǒng)為了方便維修人員,添加了數(shù)據(jù)字典等,并在界面登錄上給出一定的提示,使得整個系統(tǒng)更具人性化,用戶操作起來更為簡單。2管理的可行性分析企業(yè)要想長久地生存下去,首先必須具有良好的企業(yè)文化,其次在管理上體制要完善、制度要合理,再次要采用可持續(xù)發(fā)展的科學(xué)方法,最后還應(yīng)與時俱進,不斷進行企業(yè)改革,使得企業(yè)時刻適應(yīng)社會的變革。其中最重要的就是管理方法一定要科學(xué),只有這樣企業(yè)的競爭力才能上升,才能得到長久的發(fā)展。3技術(shù)的可行性分析(1)硬件可行性分析論文中系統(tǒng)對于硬件方面的要求不存在特殊的地方,只要求硬件的配置一般即可,只需保證系統(tǒng)可以正常運行、具有較高的效率。若硬件水平較低,可能導(dǎo)致系統(tǒng)性能較低,效率較差,導(dǎo)致無法實現(xiàn)整個設(shè)計程序。目前看來,對硬件的要求很容易實現(xiàn)。因此,經(jīng)過分析,硬件具有可行性。(2)軟件可行性分析Java語言可以提供常見的類似機制、動態(tài)的借口模型,設(shè)計較為集中。另外,采用Java語言可以很容易實現(xiàn)模塊化以及信息的隱藏。另外,代碼的復(fù)用也可以得到很好的體現(xiàn)。因此,考慮到系統(tǒng)的實際情況,論文將其作為開發(fā)語言。經(jīng)過以上分析可知,軟件具有可行性。由此,我們從三個方面進行了可行性的分析,可以知道,系統(tǒng)的開發(fā)不具有問題。3.3系統(tǒng)功能需求分析企業(yè)房屋出租系統(tǒng)主要分為住戶、房主、管理員三個角色。管理員實現(xiàn)租房信息管理、房屋信息管理、合同信息管理、注冊用戶管理、留言板管理、基本信息管理等功能。房主實現(xiàn)租房信息管理、查看租房信息、基本信息管理功能。住戶實現(xiàn)信息管理以及基本信息管理功能。3.4系統(tǒng)非功能需求分析非功能性需求,指的是在達到用戶要求后必須具備的非功能需求的特征。對于軟件類產(chǎn)品而言,經(jīng)常涉及到以下幾個方面:系統(tǒng)是否兼容、系統(tǒng)是否完整、系統(tǒng)功能是否可靠、系統(tǒng)是否適應(yīng)技術(shù)要求等。這些特征不但直接決定了軟件的性能,而且對功能性需求產(chǎn)生巨大的影響,然而系統(tǒng)的非功能性需求卻是最容易被輕視的。1穩(wěn)定性要求整個應(yīng)用軟件系統(tǒng)能夠連續(xù)7x24小時不間斷工作。系統(tǒng)運行每1000小時中可用時間至少不小于999小時,故障間隔時間應(yīng)大于1000小時。系統(tǒng)要保證數(shù)據(jù)的一致性,完整性,準(zhǔn)確性要求達到99.99%。對用戶輸入的數(shù)據(jù)進行合法性檢查,確保流程的通暢性,并且能夠?qū)﹀e誤數(shù)據(jù)進行自動糾錯處理。2系統(tǒng)響應(yīng)時間一般性操作最長不超過5秒,對一般性統(tǒng)計不超過100秒。當(dāng)操作員做一些處理時間較長的操作時,在界面上能給出提示信息。在返回數(shù)據(jù)量過大導(dǎo)致響應(yīng)時間過長時,能提供部分響應(yīng),例如分頁取數(shù)據(jù)等,減少等待的時間。3數(shù)據(jù)處理要求系統(tǒng)做到不但能支持定期的自動數(shù)據(jù)備份操作,而且還要提供人工備份的操作;提供多種數(shù)據(jù)輸出格式(EXCEL、XML、TEXT等文件形式),而且該輸出格式可以方便快捷的倒回原來系統(tǒng)中。真正做到使系統(tǒng)能在數(shù)據(jù)損壞,丟失等情況下將備份數(shù)據(jù)倒回,實現(xiàn)數(shù)據(jù)恢復(fù)。且要求系統(tǒng)的數(shù)據(jù)在線保留三年。4系統(tǒng)的完整性系統(tǒng)正常運行、達到用戶要求的前提保障。此類功能一般為必備的。主要包括下面幾點:數(shù)據(jù)的管理、用戶的管理、聯(lián)機幫助、軟件發(fā)布管理以及軟件的在線升級。5系統(tǒng)的可擴充性與可維護性系統(tǒng)是否支持技術(shù)、業(yè)務(wù)需求上的改變。我們知道,在這兩方面出現(xiàn)變動時,必將導(dǎo)致整個系統(tǒng)的調(diào)整,為了減少修改系統(tǒng)的麻煩,這就要求系統(tǒng)在最初設(shè)計時就應(yīng)當(dāng)提前考慮,留有一定的改進措施。所謂適應(yīng)性,其實類似于可擴充性以及可維護性,主要體現(xiàn)在對變化的處理手段。不同點在于,適應(yīng)性的前提是整個系統(tǒng)不進行變動。如軟件具備較好的適應(yīng)性,當(dāng)一些技術(shù)上、業(yè)務(wù)需求上出現(xiàn)變動時,系統(tǒng)依然可以正常運行。這就要求,在設(shè)計之初,在各種條件、方式上就應(yīng)該有所考慮。論文采用的開發(fā)平臺為J2EE,經(jīng)大量驗證,此平臺適應(yīng)于系統(tǒng)的開發(fā)。6界面友好要求系統(tǒng)采用多媒體技術(shù),綜合圖、文、聲、像及影視等多種信息手段,使用戶操作起來輕松自如,界面美觀,富有動感。辦公系統(tǒng)軟件中所有辦公事宜應(yīng)該按照角色劃分并細化到個人,系統(tǒng)能夠根據(jù)每個用戶的身份提供個性化的信息服務(wù),保證組織每個成員不僅能根據(jù)自身角色完成工作流程要求的工作內(nèi)容,還能對個人的工作信息進行管理(登記、查詢、打印)。3.5系統(tǒng)開發(fā)環(huán)境與開發(fā)工具1系統(tǒng)的實現(xiàn)平臺硬件平臺:CPU:酷睿雙核CPU;內(nèi)存:1G以上。軟件平臺:操作系統(tǒng):Windowsxp/Windows2003/Windows7/Windows2008;數(shù)據(jù)庫:MySQL;瀏覽器:IE8.0,推薦使用IE8.0;Web服務(wù)器:IIS5。0;分辨率:1024*768以上。2開發(fā)工具的選擇用到的工具: Myeclipse:用于前臺應(yīng)用程序的編寫PowerDesigner:制作數(shù)據(jù)流程圖、概念數(shù)據(jù)模型、物理數(shù)據(jù)模型MySQL:用于數(shù)據(jù)庫的建立,為前臺提供服務(wù)

第四章系統(tǒng)設(shè)計與實現(xiàn)在設(shè)計體系的時候要做到全方位的站在客戶的立場上考慮問題,讓最終的產(chǎn)品能夠順應(yīng)大眾用戶的需求;同時也是為了給企業(yè)自身內(nèi)部的發(fā)展埋下伏筆。這一章節(jié)將重點突出對于體系的結(jié)構(gòu)框架的設(shè)計描述上,以詳細的標(biāo)明每一個數(shù)據(jù)庫的主體結(jié)構(gòu)框架。4.1設(shè)計目標(biāo)與原則這一個體系的架構(gòu)的設(shè)計要能夠體現(xiàn)出和用戶之間良好的交互性,且整個的板塊界面要非常的清晰明了,能夠為后期的數(shù)據(jù)擴展和保障數(shù)據(jù)安全護航,只有達到這一個目標(biāo)才能夠有更好的擴展空間,適應(yīng)企業(yè)將來的發(fā)展需要。1.就整個體系的設(shè)計而言,這一系統(tǒng)必須要達到下述的要求:(1)數(shù)據(jù)的安全性房屋出租系統(tǒng)中存貯的數(shù)據(jù)都是企業(yè)內(nèi)部的一些非常保密的不應(yīng)該被外界發(fā)現(xiàn)的數(shù)據(jù),為了保證這些數(shù)據(jù)的安全性,整個的體系必須要有相關(guān)的安全防范措施來應(yīng)對這些潛在的問題。(2)容易使用性該系統(tǒng)的使用者應(yīng)當(dāng)對人力資源相關(guān)的業(yè)務(wù)流程有一個大概的認知程度,而且還必須對計算機相關(guān)的操作熟悉。所以在設(shè)計系統(tǒng)操作窗口的時候應(yīng)該順應(yīng)大眾使用者的習(xí)慣,在相關(guān)的語句上也盡量的做到專一和專業(yè)。(3)靈活性由于房屋出租管理這一塊上涉及到各種各樣的業(yè)務(wù),而且主要包含的是對已有業(yè)務(wù)的一些更新和細化,另外還不斷接受新的業(yè)務(wù),因此設(shè)計出來的系統(tǒng)必須有能夠接納處理這些變化的能力。(4)可拓展延伸性管理的模式會隨著時代和業(yè)務(wù)量的變化而發(fā)生變化,因此這一系統(tǒng)就必須有可拓展延伸性,從而來達到引進新業(yè)務(wù)板塊目的。2.從系統(tǒng)實際操作的層次來看,該系統(tǒng)應(yīng)滿足以下原則:(1)可靠性實際中使用的系統(tǒng)每天都會處理很多的比較保密的資料,體系中的每一個小的缺陷會讓用戶的資料面臨著泄漏的危險,因此要大力確保系統(tǒng)非常的可靠。(2)后期的維護保障性企業(yè)內(nèi)部項目經(jīng)營的擴大,使得這一體系的后來的維護保障的工作量激增,所以在設(shè)計的初期要使得體系內(nèi)部相關(guān)參數(shù)在后期維護時候便于操作。(3)經(jīng)濟高效性在考慮了用戶條件的前提下,還應(yīng)該實現(xiàn)經(jīng)濟的高效性,盡量的少花錢多辦事,為大眾的投資降低相應(yīng)的危險系數(shù)。4.2系統(tǒng)架構(gòu)設(shè)計4.2.1總體架構(gòu)設(shè)計系統(tǒng)總體架構(gòu)設(shè)計是將一個整體的任務(wù)量肢解成很多個細小而又非常詳細的分量,把這些分量進行整合又可以得到整個大任務(wù)。其大概的任務(wù)步驟是:1.把系統(tǒng)細分成每一個子板塊2.預(yù)先設(shè)計好各個子板塊的作用3.設(shè)計好每一個子板塊之間的邏輯關(guān)系4.設(shè)計好子板塊的界面及模塊間信息的傳輸總體設(shè)計過程先確定可能達到最終目的的每一個小的具體方案,對于每一個小的方案而言,就得先找出在需求分析階段的一些相關(guān)的資料。然后初步的設(shè)計出這些數(shù)據(jù)對應(yīng)的軟件,進行一些優(yōu)化,得到一個相對可行的結(jié)構(gòu)框架,做一些數(shù)據(jù)庫設(shè)計模型,根據(jù)相關(guān)的標(biāo)準(zhǔn)做出最終的計劃。系統(tǒng)運行流程如圖4-1所示。圖4-1系統(tǒng)運行流程圖由圖4-1分析所示,房屋出租系統(tǒng)的本系統(tǒng)主要分為住戶、房主、管理員三個角色。管理員實現(xiàn)租房信息管理、房屋信息管理、合同信息管理、注冊用戶管理、留言板管理、基本信息管理等功能。房主實現(xiàn)租房信息管理、查看租房信息、基本信息管理功能。住戶實現(xiàn)信息管理以及基本信息管理功能。4.2.2系統(tǒng)網(wǎng)絡(luò)拓撲結(jié)構(gòu)圖本系統(tǒng)采用先進的B/S架構(gòu),該架構(gòu)具有開發(fā)簡、單共享性強、維護簡單方便等諸多優(yōu)點。本系統(tǒng)的網(wǎng)絡(luò)拓撲圖如圖4-2所示:圖4-2房屋出租系統(tǒng)的網(wǎng)絡(luò)拓撲圖4.3數(shù)據(jù)庫設(shè)計4.3.1數(shù)據(jù)庫的選定目前主流數(shù)據(jù)庫主要有Oracle、SQLServer、Mysql、Access等。本系統(tǒng)運行在windows服務(wù)器上故而選擇了MicrosoftSQLServer。MicrosoftSQLServer是一個關(guān)系型數(shù)據(jù)庫,它的數(shù)據(jù)庫引擎為關(guān)系型數(shù)據(jù)和結(jié)構(gòu)化數(shù)據(jù)提供了更為安全而且可靠的存儲功能。Mysql與MicrosoftVisualStudio、MicrosoftOfficeSystem以及新的開發(fā)工具包(包括BusinessIntelligenceDevelopmentStudio)緊密集成。4.3.2數(shù)據(jù)庫概念模型設(shè)計數(shù)據(jù)庫概念模型即房屋出租系統(tǒng)的實體—關(guān)系模型。房屋出租系統(tǒng)的整體E-R圖如圖4-4所示。圖4-4房屋出租系統(tǒng)的整體E-R圖具體屬性如下:用戶:ID、用戶名、用戶類別、姓名、性別、聯(lián)系QQ、聯(lián)系電話、聯(lián)系郵箱、注冊時間、審核狀態(tài)。資訊:ID、標(biāo)題、作者、發(fā)布時間等。房屋:ID、標(biāo)題、戶型、面積、裝修、交通狀況、配套設(shè)施、樓層、當(dāng)前狀態(tài)、發(fā)布時間等。合同:ID、住戶、房主、申請內(nèi)容、房屋、申請時間、房主回復(fù)、合同書等留言:ID、留言人、留言時間、留言內(nèi)容、回復(fù)人、回復(fù)內(nèi)容、回復(fù)時間等。然后根據(jù)具體的功能需求,對本系統(tǒng)的E-R圖進行細化從而得到幾種實體—關(guān)系模型,以下為部分實體—關(guān)系模型。(1)系統(tǒng)使用用戶實體,如圖4-5所示。圖4-5用戶實體圖(2)資訊類實體圖,如圖4-6所示。圖4-6資訊類實體圖4.3.4數(shù)據(jù)庫邏輯設(shè)計本系統(tǒng)主要用到了以下幾張數(shù)據(jù)表。1、applyinfo表。表4-1applyinfo表字段名稱數(shù)據(jù)類型長度是否允許空是否為主鍵idint11否是unamevarchar255是否tounamevarchar255是否ncontentvarchar255是否fidvarchar255是否savetimevarchar255是否recontentvarchar255是否docnamevarchar255是否statusvarchar255是否2、applyinfo表。表4-2applyinfo表字段名稱數(shù)據(jù)類型長度是否允許空是否為主鍵idint11否是titlevarchar255是否authorvarchar255是否filenamevarchar255是否contentvarchar255是否savetimevarchar255是否3、hbnews表。表4-3hbnews表字段名稱數(shù)據(jù)類型長度是否允許空是否為主鍵idint11否是unamevarchar255是否ptitlevarchar255是否addrsvarchar255是否hxvarchar255是否mjvarchar255是否zxvarchar255是否jtvarchar255是否ptssvarchar255是否floorvarchar255是否filenamevarchar255是否filename2varchar255是否filename3varchar255是否lxrvarchar255是否tevarchar255是否qqvarchar255是否statusvarchar255是否pricevarchar255是否savetimevarchar255是否4.4系統(tǒng)實現(xiàn)(1)數(shù)據(jù)庫連接代碼實現(xiàn)publicConnectiongetConn() { try { Stringd=newDate().toLocaleString().substring(0,9); Class.forName("com.mysql.jdbc.Driver"); conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/rentingsys","root","123"); } catch(Exceptione) { e.printStackTrace(); } returnconn; }(2)系統(tǒng)公共方法實現(xiàn)代碼publicHashMapgetmap(Stringid,Stringtable) { List<HashMap>list=newArrayList(); try{ Statementst=conn.createStatement(); System.out.println("select*from"+table+"whereid="+id); ResultSetrs=st.executeQuery("select*from"+table+"whereid="+id); ResultSetMetaDatarsmd=rs.getMetaData(); while(rs.next()) { HashMapmap=newHashMap(); inti=rsmd.getColumnCount(); for(intj=1;j<=i;j++) { if(!rsmd.getColumnName(j).equals("ID")) { Stringstr=rs.getString(j)==null?"":rs.getString(j); if(str.equals("null"))str=""; map.put(rsmd.getColumnName(j),str); } else map.put("id",rs.getString(j)); } list.add(map); } rs.close(); st.close(); }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } returnlist.get(0); } publicStringinsert(HttpServletRequestrequest,HttpServletResponseresponse,Stringtablename,HashMapextmap,booleanalert,booleanreflush) { extmap.put("savetime",Info.getDateStr()); if(request.getParameter("f")!=null){ HashMaptypemap=newHashMap(); ArrayList<String>collist=newArrayList(); Stringsql="insertinto"+tablename+"("; Connectionconn=this.getConn(); try{ Statementst=conn.createStatement(); ResultSetrs=st.executeQuery("select*from"+tablename); ResultSetMetaDatarsmd=rs.getMetaData(); inti=rsmd.getColumnCount(); for(intj=1;j<=i;j++) { if(rsmd.getColumnName(j).equals("id"))continue; typemap.put(rsmd.getColumnName(j)+"",rsmd.getColumnTypeName(j)); collist.add(rsmd.getColumnName(j)); sql+=rsmd.getColumnName(j)+","; } sql=sql.substring(0,sql.length()-1); sql+=")values("; rs.close(); st.close(); }catch(SQLExceptione){ e.printStackTrace(); } Enumerationenumeration=request.getParameterNames(); Stringnames=","; while(enumeration.hasMoreElements()) { names+=enumeration.nextElement().toString()+","; } try{ Statementst=conn.createStatement(); for(Stringstr:collist) { if(names.indexOf(","+str+",")>-1) { String[]values=request.getParameterValues(str); Stringvalue=""; for(Stringvstr:values) { if(vstr==null)vstr=""; if(vstr.equals("null"))vstr=""; if(vstr.trim().equals(""))continue; if(request.getParameter(vstr)!=null&&!"".equals(request.getParameter(vstr))&&request.getParameter("dk-"+str+"-value")!=null) { Stringdkv=request.getParameter(vstr); Stringdknamevalue=request.getParameter("dk-"+str+"-value"); vstr+="-"+dknamevalue+":"+dkv; } value+=vstr+"~"; } if(value==null)value=""; if(value.equals("null"))value=""; if(value.length()>0)value=value.substring(0,value.length()-3); if(typemap.get(str+"").equals("int")) { sql+=(value.equals("")?-10:value)+","; }else{ sql+="'"+(value.equals("null")?"":value)+"',"; } }else{ if(typemap.get(str+"").equals("int")) { sql+=(extmap.get(str)==null?"":extmap.get(str))+","; }else{ sql+="'"+(extmap.get(str)==null?"":extmap.get(str))+"',"; } } } sql=sql.substring(0,sql.length()-1)+")"; System.out.println(sql); mOper(sql); st.close(); conn.close(); }catch(SQLExceptione){ e.printStackTrace(); } Stringstr=""; if(!reflush) str+="<!DOCTYPEhtmlPUBLIC\"-//W3C//DTDXHTML1.0Transitional//EN\"\"/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n"; str+= "<scriptlanguage=javascript>\n"; if(alert){ str+="alert('操作成功');\n"; } if(reflush){ str+="parent.location=parent.location;\n"; } str+="</script>"; PrintWriterwrt=null; try{ wrt=response.getWriter(); }catch(IOExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } wrt.write(str); } return""; } publicvoiddelete(HttpServletRequestrequest,Stringtablename) { inti=0; try{ Stringdid=request.getParameter("did"); if(did==null)did=request.getParameter("scid"); if(did!=null){ if(did.length()>0){ Statementst=conn.createStatement(); st.execute("deletefrom"+tablename+"whereid="+did); st.close(); } } }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); } }(3)系統(tǒng)登錄實現(xiàn)代碼publicListfindByExample(Sysuserinstance){ log.debug("findingSysuserinstancebyexample"); try{ Listresults=getHibernateTemplate().findByExample(instance); log.debug("findbyexamplesuccessful,resultsize:" +results.size()); returnresults; }catch(RuntimeExceptionre){ log.error("findbyexamplefailed",re); throwre; } } publicListfindByProperty(StringpropertyName,Objectvalue){ log.debug("findingSysuserinstancewithproperty:"+propertyName +",value:"+value); try{ StringqueryString="fromSysuserasmodelwheremodel." +propertyName+"=?"; returngetHibernateTemplate().find(queryString,value); }catch(RuntimeExceptionre){ log.error("findbypropertynamefailed",re); throwre; } } publicListfindAll(){ log.debug("findingallSysuserinstances"); try{ StringqueryString="fromSysuser"; returngetHibernateTemplate().find(queryString); }catch(RuntimeExceptionre){ log.error("findallfailed",re); throwre; } }(4)房屋出租信息查詢實現(xiàn)代碼publicHouseinfofindById(java.lang.Integerid){ log.debug("gettingHouseinfoinstancewithid:"+id); try{ Houseinfoinstance=(Houseinfo)getHibernateTemplate().get( "Houseinfo",id); returninstance; }catch(RuntimeExceptionre){ log.error("getfailed",re); throwre; } } publicListfindByExample(Houseinfoinstance){ log.debug("findingHouseinfoinstancebyexample"); try{ Listresults=getHibernateTemplate().findByExample(instance); log.debug("findbyexamplesuccessful,resultsize:" +results.size()); returnresults; }catch(RuntimeExceptionre){ log.error("findbyexamplefailed",re); throwre; } } publicListfindByProperty(StringpropertyName,Objectvalue){ log.debug("findingHouseinfoinstancewithproperty:"+propertyName +",value:"+value); try{ StringqueryString="fromHouseinfoasmodelwheremodel." +propertyName+"=?"; returngetHibernateTemplate().find(queryString,value); }catch(RuntimeExceptionre){ log.error("findbypropertynamefailed",re); throwre; } } publicListfindAll(){ log.debug("findingallHouseinfoinstances"); try{ StringqueryString="fromHouseinfo"; returngetHibernateTemplate().find(queryString); }catch(RuntimeExceptionre){ log.error("findallfailed",re); throwre; } }4.5界面運行效果4.5.1系統(tǒng)登錄界面效果如圖4-8所示。圖4-8系統(tǒng)登錄界面效果4.5.2房屋資訊管理界面效果如圖4-8所示。圖4-8房屋資訊管理界面效果4.5.3房屋信息管理效果如圖4-9所示。圖4-9房屋信息管理效果4.5.4合同信息管理界面效果如圖4-10所示。圖4-10合同信息管理界面效果4.5.5注冊用戶管理效果如圖4-11所示。圖4-11注冊用戶管理界面效果4.5.6留言板管理界面效果如圖4-12所示。圖4-12留言板管理界面效果4.5.7基本信息管理界面效果如圖4-13所示。圖4-13基本信息管理界面效果第五章系統(tǒng)測試5.1軟件測試及工具5.1.1軟件測試系統(tǒng)的測試不僅要檢驗系統(tǒng)是否實現(xiàn)了相應(yīng)的功能,還需要檢查系統(tǒng)的功能是否存在缺陷。在執(zhí)行測試之前,根據(jù)系統(tǒng)的整體情況,擬定測試計劃,并嚴格按照計劃來進行測試。為更加真實的模擬實際環(huán)境,對測試用例的設(shè)計力求完美。不僅要考慮到正確的輸入輸出,同時也要對系統(tǒng)處理錯誤信息的能力進行檢查。在性能方面,通過場景的設(shè)置,模擬真實環(huán)境下,系統(tǒng)對用戶請求的響應(yīng)情況,以此來發(fā)現(xiàn)系統(tǒng)存在的性能瓶頸,提出相應(yīng)的修改意見。5.1.2軟件工具軟件測試工具就是通過一些工具能夠使軟件的一些簡單問題直觀的顯示在讀者的面前,這樣能使測試人員更好的找出軟件錯誤的所在軟件測試工具也分為自動化軟件測試工具和測試管理工具。軟件測試工具存在的價值是為了提高測試效率,用軟件來代替一些人工輸入。常用的軟件測試工具分為:[開源測試工具]:開源測試管理工具:Bugfree、Bugzilla、TestLink、mantis開源功能自動化測試工具:Watir、Selenium、MaxQ、WebInject開源性能自動化測試工具:Jmeter、OpenSTA、DBMonster、TPTEST、WebApplicationLoadSimulator[TestDirector]:企業(yè)級測試管理工具,也是業(yè)界第一個基于Web的測試管理系統(tǒng)。[QualityCenter]:基于Web的測試管理工具,可以組織和管理應(yīng)用程序測試流程的所有階段,包括指定測試需求、計劃測試、執(zhí)行測試和跟蹤缺陷。[QuickTestProfessional]:用于創(chuàng)建功能和回歸測試。[LoadRunner]:預(yù)測系統(tǒng)行為和性能的負載測試工具。[其他工具與自動化測試框架]:RationalFunctionalTester、BorlandSilk系列工具、WinRunner、Robot等。5.2測試方法5.2.1功能測試功能測試從用戶的角度出發(fā),對系統(tǒng)提供的各種功能進行測試,主要是黑盒測試。它把系統(tǒng)看作一個黑盒子,不考慮系統(tǒng)內(nèi)部結(jié)構(gòu)以及系統(tǒng)的具體實現(xiàn)方法P[3]P。通過逐項測試,來檢查系統(tǒng)的各個功能是否完善,輸入正確的數(shù)據(jù)能否得到期望的輸出結(jié)果,輸入錯誤的信息時系統(tǒng)能否進行相應(yīng)的處理。5.2.2性能測試性能測試是通過自動化的測試工具模擬多種正常、峰值以及異常負載條件來對系統(tǒng)的各項性能指標(biāo)進行測試。負載測試和壓力測試都屬于性能測試,兩者可以結(jié)合進行。通過負載測試,確定在各種工作負載下系統(tǒng)的性能,目標(biāo)是測試當(dāng)負載逐漸增加時,系統(tǒng)各項性能指標(biāo)的變化情況。壓力測試是通過確定一個系統(tǒng)的瓶頸或者不能接收的性能點,來獲得系統(tǒng)能提供的最大服務(wù)級別的測試。5.3系統(tǒng)配置要求CPU:酷睿雙核CPU;內(nèi)存:1G以上?;蛘逤PU:AMDAthlon(tm)64X2DualCoreProcessor3800+內(nèi)存:1G操作系統(tǒng):MicrosoftwindowsXPProfessional版本2002ServicePack35.4測試內(nèi)容登錄模塊測試管理員登錄界面如圖5-1所示,管理員需要輸入正確的用戶名和密碼才能登錄系統(tǒng)。不同權(quán)限的管理員可以進入系統(tǒng)之后,將有不同的操作。圖5-1系統(tǒng)登錄界面測試用例設(shè)計因為登錄時輸入的情況可能存在差異,有可能用戶輸入了錯誤的用戶名和密碼,或者正確的用戶名和錯誤的密碼等,所有在設(shè)計測試用例時,主要采用等價類劃分和邊界值測試的方法。測試用例如表5-1所示。表5-1(a)管理員登錄模塊測試用例表頭項目名稱管理員登錄模塊測試開發(fā)人員XXX模塊名稱管理員登錄模塊用例作者XXX參考信息需求規(guī)格說明書、設(shè)計說明書測試類型功能測試設(shè)計日期2013-12-16測試人員XXX測試方法手動測試+自動測試測試日期2013-12-16優(yōu)先級1測試對象測試管理員能否正常登錄前置條件正確的用戶名admin和密碼admin表5-2(b)管理員登錄模塊測試用例用例編號操作輸入數(shù)據(jù)預(yù)期結(jié)果實際結(jié)果測試狀態(tài)(P/F

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論