版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGE2南昌航空大學(xué)實(shí)習(xí)報(bào)告JSP房屋出租管理系統(tǒng)學(xué)生:學(xué)號(hào):專業(yè):信息工程學(xué)院2011年12月24號(hào)PAGE24目錄第1章緒論 11.1課題研究的背景介紹 11.2系統(tǒng)開發(fā)環(huán)境及開發(fā)平臺(tái)介紹 21.2.1系統(tǒng)開發(fā)環(huán)境 21.2.2系統(tǒng)開發(fā)平臺(tái)簡(jiǎn)介 2第2章系統(tǒng)開發(fā)技術(shù)介紹 52.1系統(tǒng)的B/S結(jié)構(gòu) 52.1.1B/S結(jié)構(gòu)簡(jiǎn)介 52.1.2B/S架構(gòu)軟件的優(yōu)勢(shì)與劣勢(shì) 62.1.3B/S框架與C/S框架的聯(lián)系與區(qū)別 72.2JSP技術(shù)概述 82.2.1JSP簡(jiǎn)介 82.2.2JSP技術(shù)的強(qiáng)勢(shì)與弱勢(shì)分析 92.2.3JSP動(dòng)態(tài)網(wǎng)站開發(fā)技術(shù) 102.3MVC及Struts介紹 122.3.1MVC介紹 122.3.2Struts介紹 14第三章系統(tǒng)分析 153.1任務(wù)描述 153.2用UML用例圖描述系統(tǒng)需求 153.2.1用例圖簡(jiǎn)介 153.2.2系統(tǒng)用例分析 163.3功能分析 16第4章系統(tǒng)測(cè)試與維護(hù) 184.1系統(tǒng)測(cè)試 184.2網(wǎng)站維護(hù) 204.2.1維護(hù)內(nèi)容 214.2.2維護(hù)方案 21第5章實(shí)驗(yàn)體會(huì)及截圖 22參考資料 24第1章緒論1.1課題研究的背景介紹隨著社會(huì)經(jīng)濟(jì)的發(fā)展,城市現(xiàn)代化建設(shè)步伐不斷加快,城市規(guī)模不斷擴(kuò)大,人員的流動(dòng)也不斷加大,房屋出租逐漸成為社會(huì)生活的重要組成部分。無論是房屋出租還是房屋求租,都面臨著大量需求。說到房屋出租,我們首先想到的就是房屋中介,但是不論對(duì)于房屋出租者還是對(duì)于求租者來說,要面對(duì)的問題實(shí)在讓人頭疼,首先是琳瑯滿目的中介公司讓人感到無從選擇,在要顧及中介單位可信度的同時(shí),大量復(fù)雜的房產(chǎn)信息使他們感到迷茫,難以快速、準(zhǔn)確地從中找到適合自己的房屋信息。再者,出租、承租雙方進(jìn)行交易的時(shí)候還要通過中介,使交易過程更加繁瑣。而且中介單位還要收取的一定比例的中介費(fèi)用,這也在一定程度上加重了房屋承租者的負(fù)擔(dān)。因此,現(xiàn)實(shí)社會(huì)中急需一個(gè)第三者為房屋出租者與房屋求租者牽線搭橋,來彌補(bǔ)中介單位的種種不足。在互聯(lián)網(wǎng)蓬勃發(fā)展的今天,網(wǎng)絡(luò)和我們的生活、工作越來越密不可分,網(wǎng)絡(luò)正領(lǐng)導(dǎo)著一個(gè)新時(shí)代的來臨。于是我們就利用開放的Internet技術(shù),開發(fā)出實(shí)時(shí)、快捷、全方位傳播信息的平臺(tái),我們制作的房屋出租管理系統(tǒng)的網(wǎng)站,就成了人們關(guān)于生活中住房問題的信息載體,使得房屋信息在出租者與求租者之間傳播更為輕松。這樣,使原本復(fù)雜的房屋信息簡(jiǎn)單化,系統(tǒng)能及時(shí)為他們提供服務(wù),使出租求租雙方都能夠方便快捷的得到信息。通過本系統(tǒng)來管理房屋出租情況,可以解決大量房屋信息的查詢和管理,便于房屋出租者更好的發(fā)布其房屋信息,同時(shí)也為租房者提供方便。并且能夠培養(yǎng)我們的綜合分析設(shè)計(jì)能力,同時(shí)提高動(dòng)手實(shí)踐的能力。1.2系統(tǒng)開發(fā)環(huán)境及開發(fā)平臺(tái)介紹1.2.1系統(tǒng)開發(fā)環(huán)境1.硬件環(huán)境CPU:DuoT56001.83GHz;內(nèi)存:512MB以上;硬盤:100G.。2.軟件環(huán)境操作系統(tǒng):WindowsXP;數(shù)據(jù)庫(kù):SQLServer2000;開發(fā)工具包:JDK1.5.0;JSP服務(wù)器:Tomcat6.0;瀏覽器:IE7.0。1.2.2系統(tǒng)開發(fā)平臺(tái)簡(jiǎn)介1.系統(tǒng)開發(fā)平臺(tái)本系統(tǒng)開發(fā)語言選用Java,JSP,所以采用MyEclipse,Tomcat為主要開發(fā)工具,然后結(jié)合Dreamweaver,SQLServer2000數(shù)據(jù)庫(kù)管理系統(tǒng)與WindowsXP操作系統(tǒng)進(jìn)行。既考慮了系統(tǒng)的需求,又兼顧了運(yùn)行的效率,以及今后系統(tǒng)的功能拓展等。2.Tomcat簡(jiǎn)介如今,基于Web的應(yīng)用越來越多,傳統(tǒng)的Html已經(jīng)滿足不了如今的需求。我們需要一個(gè)交互式的Web,于是便誕生了各種Web語言。如Asp,Jsp,Php等。當(dāng)然,這些語言與傳統(tǒng)的語言有著密切的聯(lián)系,如Php基于C和C++語言,Jsp基于Java語言。Tomcat即是一個(gè)Jsp和Servlet的運(yùn)行平臺(tái)。Tomcat是一個(gè)免費(fèi)的開源的Serlvet容器,它是Apache基金會(huì)的Jakarta項(xiàng)目中的一個(gè)核心項(xiàng)目,由Apache,Sun和其它一些公司及個(gè)人共同開發(fā)而成。由于有了Sun的參與和支持,最新的Servlet和Jsp規(guī)范總能在Tomcat中得到體現(xiàn)。Tomcat被JavaWorld雜志的編輯選為2001年度最具創(chuàng)新的java產(chǎn)品,可見其在業(yè)界的地位。在Tomcat中,應(yīng)用程序的部署很簡(jiǎn)單,你只需將你的WAR放到Tomcat的webapp目錄下,Tomcat會(huì)自動(dòng)檢測(cè)到這個(gè)文件,并將其解壓。你在瀏覽器中訪問這個(gè)應(yīng)用的Jsp時(shí),通常第一次會(huì)很慢,因?yàn)門omcat要將Jsp轉(zhuǎn)化為Servlet文件,然后編譯。編譯以后,訪問將會(huì)很快。另外Tomcat也提供了一個(gè)應(yīng)用:manager,訪問這個(gè)應(yīng)用需要用戶名和密碼,用戶名和密碼存儲(chǔ)在一個(gè)xml文件中。通過這個(gè)應(yīng)用,輔助于Ftp,你可以在遠(yuǎn)程通過Web部署和撤銷應(yīng)用。當(dāng)然本地也可以。Tomcat有三種工作模式,分別是獨(dú)立的Servlet容器、進(jìn)程內(nèi)的Servlet容器和進(jìn)程外的Servlet容器。在利用其進(jìn)行開發(fā)之前必須要清楚Tomcat的目錄結(jié)構(gòu)。因?yàn)樗哪夸浗Y(jié)構(gòu)和Web系統(tǒng)的創(chuàng)建和發(fā)布都有著很大的關(guān)系,通常,Tomcat的目錄結(jié)構(gòu)如下表:表1-1Tomcat的目錄結(jié)構(gòu)目錄描述/bin存放啟動(dòng)和關(guān)閉Tomcat的各種腳本文件/conf存放Tomcat服務(wù)器的各種配置文件/server/lib包含了3個(gè)子目錄:即classes、lib、webapps;/server/webapps存放Tomcat服務(wù)器所需要的各種JAR文件/common/lib存放Tomcat自帶的兩個(gè)Web應(yīng)用:admin應(yīng)用和manager應(yīng)用/Shared/lib存放Tomcat服務(wù)器及所有Web應(yīng)用都可以訪問的JAR文件l/ogs存在所有Web應(yīng)用都可以訪問的JAR文件/webapps當(dāng)發(fā)布Web應(yīng)用時(shí),默認(rèn)情況下把Web應(yīng)用放在此目錄下/workTomcat把JSP生成的Servlet放在此目錄下Tomcat不僅僅是一個(gè)Servlet容器,它也具有傳統(tǒng)的Web服務(wù)器的功能:處理Html頁面。但是與Apache相比,它的處理靜態(tài)Html的能力就不如Apache.我們可以將Tomcat和Apache集成到一塊,讓Apache處理靜態(tài)Html,而Tomcat處理Jsp和Servlet.這種集成只需要修改一下Apache和Tomcat的配置文件即可。基于Tomcat的開發(fā)其實(shí)主要是Jsp和Servlet的開發(fā),開發(fā)Jsp和Servlet非常簡(jiǎn)單,你可以用普通的文本編輯器或者IDE,然后將其打包成WAR即可。我們這里要提到另外一個(gè)工具Ant,Ant也是Jakarta中的一個(gè)子項(xiàng)目,它所實(shí)現(xiàn)的功能類似于Unix中的make.你需要寫一個(gè)build.xml文件,然后運(yùn)行Ant就可以完成xml文件中定義的工作,這個(gè)工具對(duì)于一個(gè)大的應(yīng)用來說非常好,我們只需在xml中寫很少的東西就可以將其編譯并打包成WAR.事實(shí)上,在很多應(yīng)用服務(wù)器的發(fā)布中都包含了Ant.另外,在Jsp1.2中,可以利用標(biāo)簽庫(kù)實(shí)現(xiàn)Java代碼與Html文件的分離,使Jsp的維護(hù)更方便。Tomcat確實(shí)是一個(gè)很好的工具,不僅僅因?yàn)槠涿赓M(fèi),功能強(qiáng)大,更因?yàn)槠溟_放性。如今,開源軟件越來越收到人們的重視,Linux就是一個(gè)成功的典型。3.MyEclipse簡(jiǎn)介MyEclipse企業(yè)級(jí)工作平臺(tái)(MyEclipseEnterpriseWorkbench,簡(jiǎn)稱MyEclipse)是對(duì)EclipseIDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫(kù)和J2EE的開發(fā)、發(fā)布,以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的J2EE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測(cè)試和發(fā)布功能,完整支持HTML,Struts,JSF,CSS,Javascript,SQL,Hibernate。簡(jiǎn)單而言,MyEclipse是Eclipse的插件,也是一款功能強(qiáng)大的J2EE集成開發(fā)環(huán)境,支持代碼編寫、配置、測(cè)試以及除錯(cuò)。Genuitec發(fā)布了MyEclipseEnterpriseWorkbench5.0,更智能、更快捷、更簡(jiǎn)單和更便宜的J2EE工具的新版本的誕生。它的價(jià)格對(duì)于個(gè)人和企業(yè)開發(fā)人員來說都是非常有吸引力的。這是J2EEIDE市場(chǎng)一個(gè)重量級(jí)的選手。通過增加UML雙向建模工具、WYSIWYG的JSP/Strutsdesigner、可視化的Hibernate/ORM工具、Spring和Webservices支持,以及新的Oracle數(shù)據(jù)庫(kù)開發(fā),MyEclipse5.0繼續(xù)為業(yè)界提供全面的產(chǎn)品。第2章系統(tǒng)開發(fā)技術(shù)介紹2.1系統(tǒng)的B/S結(jié)構(gòu)2.1.1B/S結(jié)構(gòu)簡(jiǎn)介B/S結(jié)構(gòu):(Browser/Server,瀏覽器/服務(wù)器模式):是WEB興起后的一種網(wǎng)絡(luò)結(jié)構(gòu)模式,WEB瀏覽器是客戶端最主要的應(yīng)用軟件。這種模式統(tǒng)一了客戶端,將系統(tǒng)功能實(shí)現(xiàn)的核心部分集中到服務(wù)器上,簡(jiǎn)化了系統(tǒng)的開發(fā)、維護(hù)和使用??蛻魴C(jī)上只要安裝一個(gè)瀏覽器(Browser),如NetscapeNavigator或InternetExplorer,服務(wù)器安裝Oracle、Sybase、Informix或SQLServer等數(shù)據(jù)庫(kù)。B/S模式體系結(jié)構(gòu)的原理如圖2-1所示,瀏覽器通過WebServer同數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)交互。Web瀏覽器Web瀏覽器Web服務(wù)器應(yīng)用服務(wù)器HTTP請(qǐng)求HTML界面結(jié)果SQL請(qǐng)求數(shù)據(jù)庫(kù)服務(wù)器圖2-1B/S模式體系結(jié)構(gòu)原理圖B/S最大的優(yōu)點(diǎn)就是可以在任何地方進(jìn)行操作而不用安裝任何專門的軟件。只要有一臺(tái)能上網(wǎng)的電腦就能使用,客戶端零維護(hù)。系統(tǒng)的擴(kuò)展非常容易。B/S結(jié)構(gòu)的使用越來越多,特別是由需求推動(dòng)了AJAX技術(shù)的發(fā)展,它的程序也能在客戶端電腦上進(jìn)行部分處理,從而大大的減輕了服務(wù)器的負(fù)擔(dān);并增加了交互性,能進(jìn)行局部實(shí)時(shí)刷新。2.1.2B/S架構(gòu)軟件的優(yōu)勢(shì)與劣勢(shì)維護(hù)和升級(jí)方式簡(jiǎn)單。目前,軟件系統(tǒng)的改進(jìn)和升級(jí)越來越頻繁,B/S架構(gòu)的產(chǎn)品明顯體現(xiàn)著更為方便的特性。對(duì)一個(gè)稍微大一點(diǎn)單位來說,系統(tǒng)管理人員如果需要在幾百甚至上千部電腦之間來回奔跑,效率和工作量是可想而知的,但B/S架構(gòu)的軟件只需要管理服務(wù)器就行了,所有的客戶端只是瀏覽器,根本不需要做任何的維護(hù)。無論用戶的規(guī)模有多大,有多少分支機(jī)構(gòu)都不會(huì)增加任何維護(hù)升級(jí)的工作量,所有的操作只需要針對(duì)服務(wù)器進(jìn)行;如果是異地,只需要把服務(wù)器連接專網(wǎng)即可,實(shí)現(xiàn)遠(yuǎn)程維護(hù)、升級(jí)和共享。所以客戶機(jī)越來越“瘦”,而服務(wù)器越來越“胖”是將來信息化發(fā)展的主流方向。今后,軟件升級(jí)和維護(hù)會(huì)越來越容易,而使用起來會(huì)越來越簡(jiǎn)單,這對(duì)用戶人力、物力、時(shí)間、費(fèi)用的節(jié)省是顯而易見的,驚人的。因此,維護(hù)和升級(jí)革命的方式是“瘦”客戶機(jī),“胖”服務(wù)器。成本降低,選擇更多。大家都知道windows在桌面電腦上幾乎一統(tǒng)天下,瀏覽器成為了標(biāo)準(zhǔn)配置,但在服務(wù)器操作系統(tǒng)上windows并不是處于絕對(duì)的統(tǒng)治地位?,F(xiàn)在的趨勢(shì)是凡使用B/S架構(gòu)的應(yīng)用管理軟件,只需安裝在Linux服務(wù)器上即可,而且安全性高。所以服務(wù)器操作系統(tǒng)的選擇是很多的,不管選用那種操作系統(tǒng)都可以讓大部分人使用windows作為桌面操作系統(tǒng)電腦不受影響,這就使的最流行免費(fèi)的Linux操作系統(tǒng)快速發(fā)展起來,Linux除了操作系統(tǒng)是免費(fèi)的以外,連數(shù)據(jù)庫(kù)也是免費(fèi)的,這種選擇非常盛行。比如說很多人每天上“新浪”網(wǎng),只要安裝了瀏覽器就可以了,并不需要了解“新浪”的服務(wù)器用的是什么操作系統(tǒng),而事實(shí)上大部分網(wǎng)站確實(shí)沒有使用windows操作系統(tǒng),但用戶的電腦本身安裝的大部分是windows操作系統(tǒng)。應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較重。由于B/S架構(gòu)管理軟件只安裝在服務(wù)器端上,網(wǎng)絡(luò)管理人員只需要管理服務(wù)器就行了,用戶界面主要事務(wù)邏輯在服務(wù)器端完全通過WWW瀏覽器實(shí)現(xiàn),極少部分事務(wù)邏輯在前端實(shí)現(xiàn),所有的客戶端只有瀏覽器,網(wǎng)絡(luò)管理人員只需要做硬件維護(hù)。但是,應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較重,一旦發(fā)生服務(wù)器“崩潰”等問題,后果不堪設(shè)想。因此,許多單位都備有數(shù)據(jù)庫(kù)存儲(chǔ)服務(wù)器,以防萬一。2.1.3B/S框架與C/S框架的聯(lián)系與區(qū)別C/S是Client/Server的縮寫。服務(wù)器通常采用高性能的PC、工作站或小型機(jī),并采用大型數(shù)據(jù)庫(kù)系統(tǒng),如Oracle、Sybase、Informix或SQLServer??蛻舳诵枰惭b專用的客戶端軟件。B/S是Brower/Server的縮寫,客戶機(jī)上只要安裝一個(gè)瀏覽器(Browser),如InternetExplorer,服務(wù)器安裝Oracle、Sybase、Informix或SQLServer等數(shù)據(jù)庫(kù)。在這種結(jié)構(gòu)下,用戶界面完全通過WWW瀏覽器實(shí)現(xiàn),一部分事務(wù)邏輯在前端實(shí)現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端實(shí)現(xiàn)。瀏覽器通過WebServer同數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)交互。C/S與B/S區(qū)別:(1)硬件環(huán)境不同C/S一般建立在專用的網(wǎng)絡(luò)上,小范圍里的網(wǎng)絡(luò)環(huán)境,局域網(wǎng)之間再通過專門服務(wù)器提供連接和數(shù)據(jù)交換服務(wù)。B/S建立在廣域網(wǎng)之上的,不必是專門的網(wǎng)絡(luò)硬件環(huán)境,例如電話上網(wǎng),租用設(shè)備,信息自己管理。有比C/S更強(qiáng)的適應(yīng)范圍,一般只要有操作系統(tǒng)和瀏覽器就行。(2)對(duì)安全要求不同C/S一般面向相對(duì)固定的用戶群,對(duì)信息安全的控制能力很強(qiáng)。一般高度機(jī)密的信息系統(tǒng)采用C/S結(jié)構(gòu)適宜??梢酝ㄟ^B/S發(fā)布部分可公開信息。B/S建立在廣域網(wǎng)之上,對(duì)安全的控制能力相對(duì)弱,可能面向不可知的用戶。(3)對(duì)程序架構(gòu)不同C/S程序可以更加注重流程,可以對(duì)權(quán)限多層次校驗(yàn),對(duì)系統(tǒng)運(yùn)行速度可以較少考慮。B/S對(duì)安全以及訪問速度的多重的考慮,建立在需要更加優(yōu)化的基礎(chǔ)之上。比C/S有更高的要求B/S結(jié)構(gòu)的程序架構(gòu)是發(fā)展的趨勢(shì),從MS的.Net系列的BizTalk2000Exchange2000等,全面支持網(wǎng)絡(luò)的構(gòu)件搭建的系統(tǒng).SUN和IBM推的JavaBean構(gòu)件技術(shù)等,使B/S更加成熟。(4)軟件重用不同C/S程序可以不可避免的整體性考慮,構(gòu)件的重用性不如在B/S要求下的構(gòu)件的重用性好。B/S面對(duì)的多重結(jié)構(gòu),要求構(gòu)件相對(duì)獨(dú)立的功能,能夠相對(duì)較好的重用,就如買來的餐桌可以再利用,而不是做在墻上的石頭桌子。(5)系統(tǒng)維護(hù)不同C/S程序由于整體性,必須整體考察,處理出現(xiàn)的問題以及系統(tǒng)升級(jí)。升級(jí)難,可能要再做一個(gè)全新的系統(tǒng)。B/S構(gòu)件組成,方面構(gòu)件個(gè)別的更換,實(shí)現(xiàn)系統(tǒng)的無縫升級(jí)。系統(tǒng)維護(hù)開銷減到最小,用戶從網(wǎng)上自己下載安裝就可以實(shí)現(xiàn)升級(jí)。(6)處理問題不同C/S程序可以處理用戶面固定,并且在相同區(qū)域,安全要求高需求,與操作系統(tǒng)相關(guān),應(yīng)該都是相同的系統(tǒng)。B/S建立在廣域網(wǎng)上,面向不同的用戶群,分散地域,這是C/S無法作到的.與操作系統(tǒng)平臺(tái)關(guān)系最小。(7)用戶接口不同C/S多是建立的Window平臺(tái)上,表現(xiàn)方法有限,對(duì)程序員普遍要求較高。B/S建立在瀏覽器上,有更加豐富和生動(dòng)的表現(xiàn)方式與用戶交流。并且大部分難度減低,減低開發(fā)成本。(8)信息流不同C/S程序一般是典型的中央集權(quán)的機(jī)械式處理,交互性相對(duì)低。B/S信息流向可變化,B-BB-CB-G等信息、流向的變化,更像交易中心。2.2JSP技術(shù)概述2.2.1JSP簡(jiǎn)介JSP(JavaServerPages)是由SunMicrosystems公司倡導(dǎo)、許多公司參與一起建立的一種動(dòng)態(tài)網(wǎng)頁技術(shù)標(biāo)準(zhǔn)。JSP技術(shù)有點(diǎn)類似ASP技術(shù),它是在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成JSP文件(*.jsp)。用JSP開發(fā)的Web應(yīng)用是跨平臺(tái)的,即能在Linux下運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。JSP技術(shù)使用Java編程語言編寫類XML的tags和scriptlets,來封裝產(chǎn)生動(dòng)態(tài)網(wǎng)頁的處理邏輯。網(wǎng)頁還能通過tags和scriptlets訪問存在于服務(wù)端的資源的應(yīng)用邏輯。JSP將網(wǎng)頁邏輯與網(wǎng)頁設(shè)計(jì)和顯示分離,支持可重用的基于組件的設(shè)計(jì),使基于Web的應(yīng)用程序的開發(fā)變得迅速和容易。Web服務(wù)器在遇到訪問JSP網(wǎng)頁的請(qǐng)求時(shí),首先執(zhí)行其中的程序段,然后將執(zhí)行結(jié)果連同JSP文件中的HTML代碼一起返回給客戶。插入的Java程序段可以操作數(shù)據(jù)庫(kù)、重新定向網(wǎng)頁等,以實(shí)現(xiàn)建立動(dòng)態(tài)網(wǎng)頁所需要的功能。JSP與JavaServlet一樣,是在服務(wù)器端執(zhí)行的,通常返回該客戶端的就是一個(gè)HTML文本,因此客戶端只要有瀏覽器就能瀏覽。JSP頁面由HTML代碼和嵌入其中的Java代碼所組成。服務(wù)器在頁面被客戶端請(qǐng)求以后對(duì)這些Java代碼進(jìn)行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。JavaServlet是JSP的技術(shù)基礎(chǔ),而且大型的Web應(yīng)用程序的開發(fā)需要JavaServlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡(jiǎn)單易用,完全的面向?qū)ο?,具有平臺(tái)無關(guān)性且安全可靠,主要面向因特網(wǎng)的所有特點(diǎn)。2.2.2JSP技術(shù)的強(qiáng)勢(shì)與弱勢(shì)分析1.JSP技術(shù)的強(qiáng)勢(shì)(1)一次編寫,到處運(yùn)行。在這一點(diǎn)上Java比PHP更出色,除了系統(tǒng)之外,代碼不用做任何更改。(2)系統(tǒng)的多平臺(tái)支持?;旧峡梢栽谒衅脚_(tái)上的任意環(huán)境中開發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。相比ASP/PHP的局限性是顯而易見的。(3)強(qiáng)大的可伸縮性。從只有一個(gè)小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺(tái)Application進(jìn)行事務(wù)處理,消息處理,一臺(tái)服務(wù)器到無數(shù)臺(tái)服務(wù)器,Java顯示了一個(gè)巨大的生命力。(4)多樣化和功能強(qiáng)大的開發(fā)工具支持。這一點(diǎn)與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺(tái)之下。2.JSP技術(shù)的弱勢(shì)(1)與ASP一樣,Java的一些優(yōu)勢(shì)正是它致命的問題所在。正是由于為了跨平臺(tái)的功能,為了極度的伸縮能力,所以極大的增加了產(chǎn)品的復(fù)雜性。(2)Java的運(yùn)行速度是用class常駐內(nèi)存來完成的,所以它在一些情況下所使用的內(nèi)存比起用戶數(shù)量來說確實(shí)是“最低性能價(jià)格比”了。從另一方面,它還需要硬盤空間來儲(chǔ)存一系列的.java文件和.class文件,以及對(duì)應(yīng)的版本文件。2.2.3JSP動(dòng)態(tài)網(wǎng)站開發(fā)技術(shù)太陽微系統(tǒng)公司(SunMicrosystemsInc.)在Web服務(wù)器、應(yīng)用服務(wù)器、交易系統(tǒng)以及開發(fā)工具供應(yīng)商間廣泛支持與合作下,整合并平衡了已經(jīng)存在的對(duì)Java編程環(huán)境(例如JavaServlets和JavaBeans)進(jìn)行支持的技術(shù)和工具后產(chǎn)生了一種新的、開發(fā)基于Web應(yīng)用程序的方法——JavaServerPages技術(shù)(JSP)。這種動(dòng)態(tài)網(wǎng)站開發(fā)技術(shù)的特點(diǎn)是:能夠在任何Web或應(yīng)用程序服務(wù)器上運(yùn)行;
分離了應(yīng)用程序的邏輯和頁面顯示;能夠進(jìn)行快速的開發(fā)和測(cè)試;簡(jiǎn)化了開發(fā)基于Web的交互式應(yīng)用程序的過程。為了快速方便地進(jìn)行動(dòng)態(tài)網(wǎng)站的開發(fā),JSP在以下幾個(gè)方面做了改進(jìn),使其成為快速建立跨平臺(tái)的動(dòng)態(tài)網(wǎng)站的首選方案。(1)將內(nèi)容的生成和顯示進(jìn)行分離用JSP技術(shù),Web頁面開發(fā)人員可以使用HTML或者XML標(biāo)識(shí)來設(shè)計(jì)和格式化最終頁面,并使用JSP標(biāo)識(shí)或者小腳本來生成頁面上的動(dòng)態(tài)內(nèi)容(內(nèi)容是根據(jù)請(qǐng)求變化的,例如請(qǐng)求賬戶信息或者特定的一瓶酒的價(jià)格等)。生成內(nèi)容的邏輯被封裝在標(biāo)識(shí)和JavaBeans組件中,并且捆綁在腳本中,所有的腳本在服務(wù)器端運(yùn)行。由于核心邏輯被封裝在標(biāo)識(shí)和JavaBeans中,所以Web管理人員和頁面設(shè)計(jì)者,能夠編輯和使用JSP頁面,而不影響內(nèi)容的生成。在服務(wù)器端,JSP引擎解釋JSP標(biāo)識(shí)和腳本,生成所請(qǐng)求的內(nèi)容(例如,通過訪問JavaBeans組件,使用JDBC技術(shù)訪問數(shù)據(jù)庫(kù)或者包含文件),并且將結(jié)果以HTML(或者XML)頁面的形式發(fā)送回瀏覽器。這既有助于作者保護(hù)自己的代碼,又能保證任何基于HTML的Web瀏覽器的完全可用性。(2)可重用組件絕大多數(shù)JSP頁面依賴于可重用的、跨平臺(tái)的組件(JavaBeans或者EnterpriseJavaBeans組件)來執(zhí)行應(yīng)用程序所要求的復(fù)雜的處理。開發(fā)人員能夠共享和交換執(zhí)行普通操作的組件,或者使得這些組件為更多的使用者和客戶團(tuán)體所使用?;诮M件的方法加速了總體開發(fā)過程,并且使得各種組織在他們現(xiàn)有的技能和優(yōu)化結(jié)果的開發(fā)努力中得到平衡。(3)采用標(biāo)識(shí)Web頁面開發(fā)人員不會(huì)都是熟悉腳本語言的編程人員。JSP技術(shù)封裝了許多功能,這些功能是在易用的、與JSP相關(guān)的XML標(biāo)識(shí)中進(jìn)行動(dòng)態(tài)內(nèi)容生成所需要的。標(biāo)準(zhǔn)的JSP標(biāo)識(shí)能夠訪問和實(shí)例化JavaBeans組件,設(shè)置或者檢索組件屬性,下載Applet,以及執(zhí)行用其他方法更難于編碼和耗時(shí)的功能。(4)適應(yīng)平臺(tái)幾乎所有平臺(tái)都支持Java,JSP+JavaBeans幾乎可以在所有平臺(tái)下通行無阻。從一個(gè)平臺(tái)移植到另外一個(gè)平臺(tái),JSP和JavaBeans甚至不用重新編譯,因?yàn)镴ava字節(jié)碼都是標(biāo)準(zhǔn)的與平臺(tái)無關(guān)的。(5)數(shù)據(jù)庫(kù)連接Java中連接數(shù)據(jù)庫(kù)的技術(shù)是JDBC,Java程序通過JDBC驅(qū)動(dòng)程序與數(shù)據(jù)庫(kù)相連,執(zhí)行查詢、提取數(shù)據(jù)等操作。Sun公司還開發(fā)了JDBC-ODBCbridge,利用此技術(shù)Java程序可以訪問帶有ODBC驅(qū)動(dòng)程序的數(shù)據(jù)庫(kù),目前大多數(shù)數(shù)據(jù)庫(kù)系統(tǒng)都帶有ODBC驅(qū)動(dòng)程序,所以Java程序能訪問諸如Oracle、Sybase、MSSQLServer和MSAccess等數(shù)據(jù)庫(kù)。此外,通過開發(fā)標(biāo)識(shí)庫(kù),JSP技術(shù)可以進(jìn)一步擴(kuò)展。第三方開發(fā)人員和其他人員可以為常用功能創(chuàng)建自己的標(biāo)識(shí)庫(kù)。這使得Web頁面開發(fā)人員能夠使用熟悉的工具和如同標(biāo)識(shí)一樣的執(zhí)行特定功能的構(gòu)件來進(jìn)行工作。JSP技術(shù)很容易整合到多種應(yīng)用體系結(jié)構(gòu)中,以利用現(xiàn)存的工具和技巧,并且能擴(kuò)展到支持企業(yè)級(jí)的分布式應(yīng)用中。作為采用Java技術(shù)家族的一部分,以及Java2(企業(yè)版體系結(jié)構(gòu))的一個(gè)組成部分,JSP技術(shù)能夠支持高度復(fù)雜的基于Web的應(yīng)用。由于JSP頁面的內(nèi)置腳本語言是基于Java的,而且所有的JSP頁面都被編譯成為JavaServlets,所以JSP頁面具有Java技術(shù)的所有好處,包括健壯的存儲(chǔ)管理和安全性。作為Java平臺(tái)的一部分,JSP擁有Java編程語言“一次編寫,各處運(yùn)行”的特點(diǎn)。利用JSP技術(shù),動(dòng)態(tài)信息由JSP頁面來表現(xiàn),JSP頁面由安裝在Web服務(wù)器或者使用JSP的應(yīng)用服務(wù)器上的JSP引擎執(zhí)行。JSP引擎接受客戶端對(duì)JSP頁面的請(qǐng)求,并且生成JSP頁面作為對(duì)客戶端的響應(yīng)。JSP頁面通常被編譯成為JavaServlets,這是一個(gè)標(biāo)準(zhǔn)的Java擴(kuò)展。頁面開發(fā)人員能夠訪問全部的Java應(yīng)用環(huán)境,以利用Java技術(shù)的擴(kuò)展性和可移植性。當(dāng)JSP頁面第一次被調(diào)用時(shí),如果它還不存在,就會(huì)被編譯成為一個(gè)JavaServlets類,并且存儲(chǔ)在服務(wù)器的內(nèi)存中。這就使得在接下來的對(duì)該頁面的調(diào)用中,服務(wù)器會(huì)有非??斓捻憫?yīng)(這避免了CGI-BIN為每個(gè)HTTP請(qǐng)求生成一個(gè)新的進(jìn)程的問題)。JSP頁面可以包含在多種不同的應(yīng)用體系結(jié)構(gòu)或者模型中,可以用于由不同協(xié)議、組件和格式所組成的聯(lián)合體中。基于JSP的動(dòng)態(tài)信息發(fā)布技術(shù)是一個(gè)開放的、可擴(kuò)展的建立動(dòng)態(tài)Web頁面的標(biāo)準(zhǔn)。不論采用什么創(chuàng)建工具,開發(fā)人員都可以使用JSP頁面來創(chuàng)建可移植的Web應(yīng)用,在不同的Web應(yīng)用服務(wù)器上運(yùn)行。2.3MVC及Struts介紹2.3.1MVC介紹MVC模式是"Model-View-Controller"的縮寫,中文翻譯為"模式-視圖-控制器"。即把一個(gè)應(yīng)用的輸入、處理、輸出流程按照Model、View、Controller的方式進(jìn)行分離,這樣一個(gè)應(yīng)用被分成三個(gè)層——模型層、視圖層、控制層。視圖(View)代表用戶交互界面,對(duì)于Web應(yīng)用來說,可以概括為HTML界面,但有可能為XHTML、XML和Applet。隨著應(yīng)用的復(fù)雜性和規(guī)模性,界面的處理也變得具有挑戰(zhàn)性。一個(gè)應(yīng)用可能有很多不同的視圖,MVC設(shè)計(jì)模式對(duì)于視圖的處理僅限于視圖上數(shù)據(jù)的采集和處理,以及用戶的請(qǐng)求,而不包括在視圖上的業(yè)務(wù)流程的處理。業(yè)務(wù)流程的處理交予模型(Model)處理。比如一個(gè)訂單的視圖只接受來自模型的數(shù)據(jù)并顯示給用戶,以及將用戶界面的輸入數(shù)據(jù)和請(qǐng)求傳遞給控制和模型。模型(Model):就是業(yè)務(wù)流程/狀態(tài)的處理以及業(yè)務(wù)規(guī)則的制定。業(yè)務(wù)流程的處理過程對(duì)其它層來說是黑箱操作,模型接受視圖請(qǐng)求的數(shù)據(jù),并返回最終的處理結(jié)果。業(yè)務(wù)模型的設(shè)計(jì)可以說是MVC最主要的核心。目前流行的EJB模型就是一個(gè)典型的應(yīng)用例子,它從應(yīng)用技術(shù)實(shí)現(xiàn)的角度對(duì)模型做了進(jìn)一步的劃分,以便充分利用現(xiàn)有的組件,但它不能作為應(yīng)用設(shè)計(jì)模型的框架。它僅僅告訴你按這種模型設(shè)計(jì)就可以利用某些技術(shù)組件,從而減少了技術(shù)上的困難。對(duì)一個(gè)開發(fā)者來說,就可以專注于業(yè)務(wù)模型的設(shè)計(jì)。MVC設(shè)計(jì)模式告訴我們,把應(yīng)用的模型按一定的規(guī)則抽取出來,抽取的層次很重要,這也是判斷開發(fā)人員是否優(yōu)秀的設(shè)計(jì)依據(jù)。抽象與具體不能隔得太遠(yuǎn),也不能太近。MVC并沒有提供模型的設(shè)計(jì)方法,而只告訴你應(yīng)該組織管理這些模型,以便于模型的重構(gòu)和提高重用性。我們可以用對(duì)象編程來做比喻,MVC定義了一個(gè)頂級(jí)類,告訴它的子類你只能做這些,但沒法限制你能做這些。這點(diǎn)對(duì)編程的開發(fā)人員非常重要。業(yè)務(wù)模型還有一個(gè)很重要的模型那就是數(shù)據(jù)模型。數(shù)據(jù)模型主要指實(shí)體對(duì)象的數(shù)據(jù)保存(持續(xù)化)。比如將一張訂單保存到數(shù)據(jù)庫(kù),從數(shù)據(jù)庫(kù)獲取訂單。我們可以將這個(gè)模型單獨(dú)列出,所有有關(guān)數(shù)據(jù)庫(kù)的操作只限制在該模型中??刂?Controller)可以理解為從用戶接收請(qǐng)求,將模型與視圖匹配在一起,共同完成用戶的請(qǐng)求。劃分控制層的作用也很明顯,它清楚地告訴你,它就是一個(gè)分發(fā)器,選擇什么樣的模型,選擇什么樣的視圖,可以完成什么樣的用戶請(qǐng)求。控制層并不做任何的數(shù)據(jù)處理。例如,用戶點(diǎn)擊一個(gè)連接,控制層接受請(qǐng)求后,并不處理業(yè)務(wù)信息,它只把用戶的信息傳遞給模型,告訴模型做什么,選擇符合要求的視圖返回給用戶。因此,一個(gè)模型可能對(duì)應(yīng)多個(gè)視圖,一個(gè)視圖可能對(duì)應(yīng)多個(gè)模型。模型、視圖與控制器的分離,使得一個(gè)模型可以具有多個(gè)顯示視圖。如果用戶通過某個(gè)視圖的控制器改變了模型的數(shù)據(jù),所有其它依賴于這些數(shù)據(jù)的視圖都應(yīng)反映到這些變化。因此,無論何時(shí)發(fā)生了何種數(shù)據(jù)變化,控制器都會(huì)將變化通知所有的視圖,導(dǎo)致顯示的更新。這實(shí)際上是一種模型的變化-傳播機(jī)制。模型、視圖、控制器三者之間的關(guān)系和各自的主要功能,如圖2-2所示。模型模型封裝應(yīng)用程序狀態(tài)響應(yīng)狀態(tài)查詢應(yīng)用程序功能通知視圖改變視圖解釋模型模型更新請(qǐng)求發(fā)送用戶輸入給控制器允許控制器選擇試圖控制器定義應(yīng)用程序行為用戶動(dòng)作映射成模型更新選擇響應(yīng)的視圖視圖選擇用戶請(qǐng)求狀態(tài)改變狀態(tài)查詢通知改變方法調(diào)用事件圖2-2MVC組件類型的關(guān)系和功能2.3.2Struts介紹Struts是Apache基金會(huì)Jakarta項(xiàng)目組的一個(gè)OpenSource項(xiàng)目,它采用MVC模式,能夠很好地幫助java開發(fā)者利用J2EE開發(fā)Web應(yīng)用。和其他的java架構(gòu)一樣,Struts也是面向?qū)ο笤O(shè)計(jì),將MVC模式"分離顯示邏輯和業(yè)務(wù)邏輯"的能力發(fā)揮得淋漓盡致。Struts框架的核心是一個(gè)彈性的控制層,基于如JavaServlet,JavaBeans,ResourceBundles與XML等標(biāo)準(zhǔn)技術(shù),以及JakartaCommons的一些類庫(kù)。Struts有一組相互協(xié)作的類(組件)、Serlvet以及jsptaglib組成?;赟truts構(gòu)架的Web應(yīng)用程序基本上符合JSPModel2的設(shè)計(jì)標(biāo)準(zhǔn),可以說是一個(gè)傳統(tǒng)MVC設(shè)計(jì)模式的一種變化類型。Struts這個(gè)名字來源于在建筑和舊式飛機(jī)中使用的支持金屬架。它的目的是為了減少在運(yùn)用MVC設(shè)計(jì)模型來開發(fā)Web應(yīng)用的時(shí)間。Struts跟Tomcat、Turbine等諸多Apache項(xiàng)目一樣,是開源軟件,這是它的一大優(yōu)點(diǎn),使開發(fā)者能更深入的了解其內(nèi)部實(shí)現(xiàn)機(jī)制。除此之外,Struts的優(yōu)點(diǎn)主要集中體現(xiàn)在兩個(gè)方面:Taglib和頁面導(dǎo)航。Taglib是Struts的標(biāo)記庫(kù),靈活動(dòng)用,能大大提高開發(fā)效率。另外,就目前國(guó)內(nèi)的JSP開發(fā)者而言,除了使用JSP自帶的常用標(biāo)記外,很少開發(fā)自己的標(biāo)記,或許Struts是一個(gè)很好的起點(diǎn)。第三章系統(tǒng)分析3.1任務(wù)描述為了實(shí)現(xiàn)網(wǎng)絡(luò)化、科學(xué)化、現(xiàn)代化的房屋出租管理,使用JSP、Servlet和JavaBean及數(shù)據(jù)庫(kù)技術(shù)相結(jié)合,編寫一個(gè)B/S結(jié)構(gòu)的房屋出租管理系統(tǒng)。系統(tǒng)的總體設(shè)計(jì)應(yīng)該是提供給上網(wǎng)瀏覽者一個(gè)高效率,能進(jìn)行豐富的網(wǎng)上活動(dòng)的網(wǎng)站,為網(wǎng)站用戶提供及時(shí)發(fā)布、查詢房屋租賃信息的平臺(tái)。系統(tǒng)目標(biāo)如下:1.應(yīng)用網(wǎng)絡(luò)的優(yōu)勢(shì),開發(fā)房屋出租信息網(wǎng)站,方便房屋出租者與房屋求租者交流,可以使雙方都能了解彼此需求之后再進(jìn)行交易,從而達(dá)到房屋信息被準(zhǔn)確利用的目的。2.網(wǎng)站用戶能夠在網(wǎng)站首頁及時(shí)瀏覽房屋信息,并可以隨時(shí)注冊(cè)賬號(hào),登錄網(wǎng)站發(fā)布個(gè)人房屋信息。3.網(wǎng)站有新聞公告模塊,除了房屋信息,用戶可以瀏覽、閱讀本站公告和時(shí)事新聞。4.管理員控制網(wǎng)站中對(duì)所有用戶的各項(xiàng)信息管理,可以隨時(shí)查看用戶的個(gè)人信息及房屋信息,監(jiān)督并防止用戶錄入非法信息。5.如果網(wǎng)站用戶對(duì)本網(wǎng)站有意見和建議,可以隨時(shí)給網(wǎng)站管理員發(fā)送E-mail進(jìn)行聯(lián)系。3.2用UML用例圖描述系統(tǒng)需求3.2.1用例圖簡(jiǎn)介用例圖用來描述系統(tǒng)與參與者之間的相互作用,也可以說它是從用戶角度出發(fā)對(duì)如何使用系統(tǒng)的描述。首先要理清下面幾個(gè)概念:角色:角色代表了某一事件發(fā)生的參與者,他用一個(gè)小人表示。在通常的網(wǎng)絡(luò)項(xiàng)目中,角色常被用來代表使用網(wǎng)站的用戶(管理員、用戶等),但角色的作用并不局限于此,它也可以用來代表與系統(tǒng)交互的其他實(shí)體。用例:用例代表系統(tǒng)可以實(shí)現(xiàn)的功能,通常一個(gè)用例代表一組功能,它實(shí)質(zhì)上規(guī)定了系統(tǒng)實(shí)現(xiàn)功能的范圍。在實(shí)際項(xiàng)目開發(fā)過程中,一個(gè)項(xiàng)目中往往涉及很多個(gè)用例,此時(shí)需要將其分解成若干個(gè)子系統(tǒng)實(shí)現(xiàn),以便于理解。在UML中,用例用一個(gè)橢圓表示。用例圖:當(dāng)角色與用例發(fā)生某種關(guān)系時(shí),就可以用一個(gè)圖將它們關(guān)聯(lián)起來,這就是用例圖,角色與用例之間使用一個(gè)帶箭頭的實(shí)線連接,箭頭方向代表使用者與被使用者關(guān)系。3.2.2系統(tǒng)用例分析房屋出租管理系統(tǒng)網(wǎng)站允許用戶有兩種身份:普通用戶和管理員,每種身份操作起來都很方便、快捷。任何普通用戶可以瀏覽、查看房屋租賃信息,但是如果想要發(fā)布個(gè)人的房屋租賃信息,這必須是經(jīng)過注冊(cè)、登錄以后的用戶。這些用戶的基本信息都有管理員對(duì)其統(tǒng)一管理。系統(tǒng)網(wǎng)站用例圖如圖3-1所示。注冊(cè)注冊(cè)修改個(gè)人信息發(fā)布房屋信息刪除房屋信息瀏覽新聞公告普通用戶管理用戶信息管理房屋信息管理新聞公告管理員圖3-1系統(tǒng)用例圖3.3功能分析根據(jù)前面對(duì)房屋出租管理系統(tǒng)的分析,可將其劃分成前臺(tái)和后臺(tái)兩部分。前臺(tái)功能主要為網(wǎng)站普通用戶提供,后臺(tái)功能為管理員提供。軟件的主要模塊和功能如下:前臺(tái)功能:1.普通用戶模塊:瀏覽、搜索房屋信息,瀏覽網(wǎng)站新聞公告。
2.注冊(cè)會(huì)員模塊:瀏覽、搜索、發(fā)布、修改和刪除房屋信息,修改個(gè)人密碼信息,瀏覽網(wǎng)站新聞公告。后臺(tái)功能:1.房屋管理:能查看房屋信息發(fā)布詳細(xì)情況,并可作出刪除管理。
2.注冊(cè)會(huì)員管理:查看網(wǎng)站系統(tǒng)注冊(cè)會(huì)員,并可作出刪除管理。3.新聞公告管理:添加、修改、瀏覽、刪除公告。注冊(cè)登錄注冊(cè)登錄普通用戶個(gè)人信息管理瀏覽功能身份驗(yàn)證房屋信息管理修改個(gè)人信息發(fā)布房屋信息刪除房屋信息查看房屋信息查看新聞公告修改房屋信息登錄登錄管理員用戶信息管理新聞公告管理身份驗(yàn)證房屋信息管理查看用戶信息查看房屋信息刪除房屋信息發(fā)布新聞公告刪除新聞公告刪除用戶信息查看新聞公告圖3-3后臺(tái)功能結(jié)構(gòu)圖第4章系統(tǒng)測(cè)試與維護(hù)4.1系統(tǒng)測(cè)試系統(tǒng)測(cè)試包括集成兩個(gè)或更多的實(shí)現(xiàn)系統(tǒng)功能或系統(tǒng)特點(diǎn)的組件。然后再測(cè)試這個(gè)集成的系統(tǒng)。在重復(fù)開發(fā)軟件的過程中,系統(tǒng)測(cè)試包括測(cè)試交給用戶的增長(zhǎng)部分。在瀑布處理過程,系統(tǒng)測(cè)試包括測(cè)試整個(gè)系統(tǒng)。對(duì)大部分復(fù)雜的系統(tǒng),系統(tǒng)測(cè)試包括兩個(gè)主要的階段:集成測(cè)試,在測(cè)試過程中,測(cè)試團(tuán)隊(duì)可以獲得系統(tǒng)的源代碼。發(fā)現(xiàn)問題后,測(cè)試團(tuán)隊(duì)試著找到問題的根源所在,然后確認(rèn)必須得測(cè)試的組件。集成測(cè)試主要是找出系統(tǒng)中存在的漏洞。開放測(cè)試。該版本的系統(tǒng)可以開放給用戶測(cè)試,在這個(gè)過程中,測(cè)試團(tuán)隊(duì)主要是使系統(tǒng)能夠滿足用戶的需求,以及確保系統(tǒng)的可靠性。開放測(cè)試又稱為黑盒測(cè)試,測(cè)試團(tuán)隊(duì)只是簡(jiǎn)單的涉及測(cè)試系統(tǒng)能否正常的工作,發(fā)現(xiàn)問題后交給開發(fā)團(tuán)隊(duì)處理,他們的工作就是調(diào)試程序。有用戶參與的測(cè)試有時(shí)候又稱為認(rèn)可測(cè)試。如果開放測(cè)試的結(jié)果很好,用戶可能就會(huì)使用該系統(tǒng)?;旧?,你可以把集成測(cè)試看成是測(cè)試由一組系統(tǒng)組件的不完善的系統(tǒng)。開放測(cè)試則涉及到測(cè)試想要交給用戶使用的系統(tǒng)。自然,兩種測(cè)試會(huì)存在交搭的部分,特別是由于大量的開放和系統(tǒng)開放不完全,總之,集成測(cè)試應(yīng)該是優(yōu)先發(fā)現(xiàn)系統(tǒng)中的漏洞,系統(tǒng)測(cè)試應(yīng)該優(yōu)先使系統(tǒng)能夠滿足用戶的需求。然而,實(shí)際上,在這些過程中也會(huì)存在有效性測(cè)試和缺陷測(cè)試的成分。1.集成測(cè)試系統(tǒng)集成的過程包括建立一個(gè)由其組件構(gòu)成的系統(tǒng),以及測(cè)試該集成的系統(tǒng),看是否存在由組件之間相互作用而產(chǎn)生問題。那些集成的組件可能是可重用的組件.對(duì)于很多大型的系統(tǒng),所有這三種類型的組件都可能會(huì)用到。集成測(cè)試檢查這些組件事實(shí)上是否一起工作,正確的調(diào)用以及通過它們的接口在適當(dāng)?shù)臅r(shí)候傳輸正確的數(shù)據(jù)。系統(tǒng)集成涉及確認(rèn)一組實(shí)現(xiàn)部分系統(tǒng)功能的組件,以及通過添加代碼來使它們一起工作。有時(shí)候,先是形成系統(tǒng)的整體框架,然后再把組件添加到其中,這叫做自上而下集成。二者選其一的,你可以先集成提供普通功能的結(jié)構(gòu)組件,像網(wǎng)絡(luò)和數(shù)據(jù)庫(kù)接口,然后再添加功能組件,這是自底而上集成。實(shí)際上,對(duì)于很多系統(tǒng),都采用二者兼用的集成方法,把結(jié)構(gòu)組件和功能組件都添加到系統(tǒng)中。自頂向下和自底向上的集成過成中,你經(jīng)常不得不填寫額外的代碼,以模擬其他組件和能讓系統(tǒng)運(yùn)行。在集成測(cè)試中產(chǎn)生的只要問題是尋找錯(cuò)誤。由于系統(tǒng)組件之間存在著復(fù)雜的相互作用,因此,當(dāng)發(fā)現(xiàn)一個(gè)異常的輸出時(shí),你可能難以確定錯(cuò)誤發(fā)生在哪。為了更容易的知道錯(cuò)誤所在,你應(yīng)該總是使用一種增量的方法去系統(tǒng)集成和測(cè)試。最初,你應(yīng)該設(shè)計(jì)一個(gè)小型的系統(tǒng),然后測(cè)試它。接著你添加組件到這個(gè)系統(tǒng),然后測(cè)試添加的那一部分。當(dāng)你要進(jìn)行集成測(cè)試時(shí),你不得不決定各個(gè)組件的集成順序,在像XP的操作系統(tǒng)中,用戶涉及到開發(fā)過程和決定在每一次系統(tǒng)添加功能時(shí)應(yīng)添加那些功能,因此,系統(tǒng)集成由用戶的優(yōu)先級(jí)來驅(qū)動(dòng)在開發(fā)單個(gè)組件的其它方法,尤其是開發(fā)集成組件,用戶有可能不參與,而由開發(fā)團(tuán)隊(duì)來決定集成的優(yōu)先次序。在這些情況中,但憑經(jīng)驗(yàn)的做法是先集成那些實(shí)現(xiàn)最常用功能的組件,這意味著那些最常用組件總是最經(jīng)常被測(cè)試,例如,在圖書管理系統(tǒng)中,你應(yīng)該先集成圖書查詢功能,因此,即使在最小型系統(tǒng)中,用戶能夠查詢他們需要的文件。接著你應(yīng)該添加允許用戶下載文件的功能,然后添加大量執(zhí)行其他系統(tǒng)功能的組件。當(dāng)然,事實(shí)很少像這種模型建議的那樣簡(jiǎn)單,系統(tǒng)功能的實(shí)現(xiàn)可能需要大量的組件。要測(cè)試一項(xiàng)新的功能,你可能不得不集成幾個(gè)不同的組件,測(cè)試結(jié)果能夠揭示這些單個(gè)組件和系統(tǒng)其他部分之間相互作用而產(chǎn)生的錯(cuò)誤。修改測(cè)試和集成新的組件會(huì)改變已經(jīng)測(cè)試完的組件之間的相互作用的模式。在一些簡(jiǎn)單的測(cè)試中不能被發(fā)現(xiàn)的錯(cuò)誤會(huì)在這里被檢查出來。這些問題意味著當(dāng)集成一項(xiàng)新的功能時(shí),只要新的測(cè)試要求修改新的系統(tǒng)功能,則重新測(cè)試以前增添的功能就顯得非常重要。重新執(zhí)行一系列存在的測(cè)試叫做倒退測(cè)試。如果倒退測(cè)試出現(xiàn)問題,或者是檢查是否是由于新增的模塊而產(chǎn)生了這些問題。很明顯,倒退測(cè)試如果沒有一些自動(dòng)化操作的支持是相當(dāng)昂貴和不實(shí)際的。在極限編程中,所有的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 晉中師范高等??茖W(xué)?!锻ㄐ烹娮泳€路》2023-2024學(xué)年第一學(xué)期期末試卷
- 鶴壁職業(yè)技術(shù)學(xué)院《房地產(chǎn)營(yíng)銷策劃實(shí)務(wù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 重慶三峽學(xué)院《項(xiàng)目開發(fā)》2023-2024學(xué)年第一學(xué)期期末試卷
- 重慶財(cái)經(jīng)學(xué)院《語文教學(xué)與文本解讀》2023-2024學(xué)年第一學(xué)期期末試卷
- 浙江工業(yè)職業(yè)技術(shù)學(xué)院《會(huì)計(jì)學(xué)原理》2023-2024學(xué)年第一學(xué)期期末試卷
- 國(guó)家一級(jí)保護(hù)植物水杉的故事
- 中國(guó)傳媒大學(xué)《英語創(chuàng)新創(chuàng)業(yè)教育》2023-2024學(xué)年第一學(xué)期期末試卷
- 長(zhǎng)治幼兒師范高等??茖W(xué)?!端|(zhì)程學(xué)實(shí)驗(yàn)課》2023-2024學(xué)年第一學(xué)期期末試卷
- 企業(yè)能源管理系統(tǒng)節(jié)能減排計(jì)劃
- 數(shù)據(jù)結(jié)構(gòu)講解模板
- 小學(xué)二年級(jí)100以內(nèi)進(jìn)退位加減法800道題
- 2025年1月普通高等學(xué)校招生全國(guó)統(tǒng)一考試適應(yīng)性測(cè)試(八省聯(lián)考)語文試題
- 《立式輥磨機(jī)用陶瓷金屬?gòu)?fù)合磨輥輥套及磨盤襯板》編制說明
- 保險(xiǎn)公司2025年工作總結(jié)與2025年工作計(jì)劃
- 育肥牛購(gòu)銷合同范例
- 暨南大學(xué)珠海校區(qū)財(cái)務(wù)辦招考財(cái)務(wù)工作人員管理單位遴選500模擬題附帶答案詳解
- (精心整理)高中生物必修二非選擇題專題訓(xùn)練
- 小學(xué)二年級(jí)100以內(nèi)進(jìn)退位加減法混合運(yùn)算
- 福建省流動(dòng)人口信息登記表
- 市委組織部副部長(zhǎng)任職表態(tài)發(fā)言
- HXD1D客運(yùn)電力機(jī)車轉(zhuǎn)向架培訓(xùn)教材
評(píng)論
0/150
提交評(píng)論