版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
武漢理工大學(xué)武漢理工大學(xué)網(wǎng)上貼吧系統(tǒng)設(shè)計與實現(xiàn)摘要隨著經(jīng)濟(jì)的快速發(fā)展,網(wǎng)絡(luò)已經(jīng)滲透到人們生活及工作中的各個領(lǐng)域,人們越來越注重利用網(wǎng)絡(luò)的快捷與準(zhǔn)確的特點來完成自己的工作,21世紀(jì)已經(jīng)是屬于網(wǎng)絡(luò)的時代。人們把更多的注意力轉(zhuǎn)移到網(wǎng)絡(luò)上來,除了購物之外,人們也漸漸地在網(wǎng)絡(luò)上開始想換個交流。以貼吧為例,它已經(jīng)成為人們獲取信息、發(fā)表言論的重要場所。它由貼吧注冊用戶所發(fā)表的大量主題組成。近年來,隨著網(wǎng)絡(luò)的普及完善發(fā)展,網(wǎng)上的貼吧也越來越火,因此建設(shè)一個好的貼吧顯得越來越有必要了。貼吧的全稱是電子布告系統(tǒng),起初它還只是個公布信息的一種工具,但是隨著技術(shù)的不斷發(fā)展,現(xiàn)在的貼吧最終發(fā)展成一個信息整合、思想交流、資源共享的電子互動平臺。它可以提供給注冊用戶一個平臺,用戶可以通過網(wǎng)路的接入,登錄貼吧,在這個平臺上發(fā)表文章、閱讀文章、回復(fù)文章等等。這次的系統(tǒng)開發(fā)詳細(xì)表明了貼吧系統(tǒng)的設(shè)計思路,并對各部分設(shè)計進(jìn)行了詳盡的分析,最終給出了一個完整的設(shè)計方案并對其進(jìn)行了實現(xiàn),以便在投入實際應(yīng)用后系統(tǒng)可以更加穩(wěn)定可靠的工作。系統(tǒng)開發(fā)主要包括后臺數(shù)據(jù)庫的建立、維護(hù)以及前端應(yīng)用程序的開發(fā)兩個方面,真正實現(xiàn)信息資源的共享。本系統(tǒng)以java為開發(fā)語言,在web環(huán)境下,基于B/S三層結(jié)構(gòu)模式,以myeclipse為開發(fā)工具結(jié)合開發(fā)的貼吧系統(tǒng)。這個系統(tǒng)具有伸縮性好,擴(kuò)展性強,能兼容、易維護(hù)、界面美觀,功能實用的功能。通過本系統(tǒng),可以讓人們實現(xiàn)實時在線交流,真正做到信息資料的共享,也可以積極而及時地參與討論,在了解他人觀點意見的同時也可以發(fā)表自己的看法。關(guān)鍵詞:貼吧系統(tǒng);B/S結(jié)構(gòu);sqlserver武漢理工大學(xué)ThedesignandimplementationofPostBarsystemAbstractWiththerapiddevelopmentofeconomy,networkhaspenetratedintoeveryfieldoflifeandworkofpeople,peoplepaymoreandmoreattentiontousingthenetworkfastandaccuratetocompletetheirwork,thetwenty-firstCenturyistheeraofnetwork.PeoplepaymoreattentiontotheInternet,inadditiontoshopping,peoplealsograduallybegantochangeinthenetworkcommunication.InthecaseofPostbar,ithasbecomeanimportantplaceforpeopletoobtaininformation,speech.Itconsistsoftheforumregisteredusersendsalotoftheme.Inrecentyears,withthedevelopmentofInternet,onlinePostBarisbecomingmoreandmorepopular,sotheconstructionofagoodpostbarisbecomingmoreandmoreimportant.Thefullnameoftheforumistheelectronicnoticesystem,atfirstitwasjustreleasedatoolofinformation,butwiththedevelopmentoftechnology,nowtheforumeventuallydevelopintoaninformationintegration,resourcesharing,exchangeideasofelectronicinteractiveplatform.Itcanprovideusersaplatform,networkuserscanaccess,logintotheforum,publishedarticles,read,replytothearticleandsooninthisplatform.Thedevelopmentofthesystemwiththatdesignideasofthesystem,anddesignthevariouspartsofadetailedanalysis,andfinallyacompletedesignschemeisgivenandtherealizationofthem,sothatinpracticethesystemcanbemorestableandreliablework.Thesystemdevelopmentmainlyincludestwoaspectstheestablishment,maintenanceofthebackgrounddatabaseandfront-endapplicationdevelopment,realizethesharingofinformationresources.Thissystemisdevelopedbyjavalanguage,inthewebenvironment,B/Sthreelayerstructuremodelbasedonthepostbarforumsystem,combinedwiththedevelopmentofatoolforthedevelopmentofmyeclipse.Thissystemhasgoodflexibility,expansibility,compatibility,easymaintenance,theinterfaceisbeautiful,functionalandpracticalfunction.Throughthissystem,peoplecanrealizereal-timeonlinecommunication,trulysharingofinformation,canalsoactivelyandtimelytoparticipateinthediscussion,inunderstandingothersopinionalsocanexpresstheirviews.Keywords:postbarsystem;B/Sstructure;sqlserver武漢理工大學(xué)目錄TOC\o"1-3"\h\u1308摘要 i16781Abstract ii224491緒論 175021.1系統(tǒng)開發(fā)背景 1135811.2系統(tǒng)開發(fā)意義 1291811.3組織安排 1135291.3.1任務(wù)目標(biāo) 1114371.3.2運行環(huán)境 2152682可行性及技術(shù)簡介 3174992.1Jsp簡介 3324022.2B/S結(jié)構(gòu)工作模式圖 4131252.3Myeclipse簡介 425182.4SQLServer簡介 430972.5可行性分析 519472.5.1技術(shù)可行性 545172.5.2經(jīng)濟(jì)可行性 5131882.5.3操作可行性 5114942.6需求分析 617773可行性及技術(shù)簡介 7155293.1系統(tǒng)概要設(shè)計 7196263.2系統(tǒng)功能模塊設(shè)計 7212753.3數(shù)據(jù)庫設(shè)計 8324153.3.1系統(tǒng)實體圖 8227803.3.2數(shù)據(jù)庫表 1099454系統(tǒng)實現(xiàn) 1229024.1系統(tǒng)概述 1212384.2系統(tǒng)頁面實現(xiàn) 12122524.2.1系統(tǒng)首頁 127434.2.2用戶注冊頁面 13321004.2.3管理員發(fā)布帖子頁面 1690244.2.4類別管理頁面 17248614.2.5貼吧管理頁面 1827894.2.6用戶管理頁面 20200694.2.7用戶精華帖子頁面 21165304.2.8搜索帖子頁面 22303215系統(tǒng)測試 22103215.1正確認(rèn)識軟件測試 23282025.2軟件測試的目的 23185295.3系統(tǒng)測試的方法 2315334結(jié)論 252701參考文獻(xiàn) 2621474致謝 271334外文資料 28432中文翻譯 33武漢理工大學(xué)1緒論1.1系統(tǒng)開發(fā)背景隨著信息化社會帶給我們的沖擊越來越強烈,信息化已經(jīng)深入到我們生活的方方面面,同時,在信息時代強烈的沖擊下,人們已經(jīng)不再滿足于上網(wǎng)只是查看一些資料或是網(wǎng)購,而是更加注重于信息的交流與傳遞。不同國家、不同地方的人可以像面對面一樣的交流、討論,這對大多數(shù)人來說是極具誘惑力的。貼吧是在1992年底隨著國際互聯(lián)網(wǎng)的開始流行而迅速發(fā)展起來的。互聯(lián)網(wǎng)的產(chǎn)生使得以前只能在本地訪問的貼吧可以被全世界隨意訪問,這大大加大了人們對它的興趣。在貼吧上大家可以對一個共同感興趣的問題進(jìn)行討論,自由地發(fā)表自己的意見與觀點,并且能直接與其他的人進(jìn)行溝通。從新聞、學(xué)習(xí)到娛樂、體育,從文字到視頻、音頻,貼吧匯集了各種形式、內(nèi)容的網(wǎng)絡(luò)資源。同時它具有不同的用戶類型,權(quán)限不同。貼吧正以一種全新的姿態(tài)來到這個新的世紀(jì),它以文字為主要的溝通方式,為網(wǎng)友提供了不受地理位置限制的交流空間。它已經(jīng)成為人與人之間交流的一種形式,它提供一個相互交流、學(xué)習(xí)的互動平臺,能夠?qū)⒎稚⒌男畔⒑头稚⒌闹腔鄱技姓{(diào)動起來,能使得復(fù)雜的事情簡單化。如今,貼吧可以說是一種極為常見的交流互動服務(wù)系統(tǒng)。人們不僅可以在此發(fā)表自己的見解,相互交流技術(shù)、經(jīng)驗以及暢談人生感悟,同時也可以作為用戶與商家交流的渠道,商家可以開設(shè)貼吧作為售后服務(wù)信息收集和反饋中心,在此回答用戶提出的問題式發(fā)布消息。1.2系統(tǒng)開發(fā)意義隨著網(wǎng)絡(luò)的普及,現(xiàn)在很多人都能夠上網(wǎng),所以基于網(wǎng)絡(luò)的貼吧也是各種信息資源組合的場所,可以很好的為學(xué)習(xí)者、粉絲、志同道合的人提供自由的交流平臺。貼吧參與者可以圍繞某個關(guān)鍵詞或者話題,通過發(fā)表、回復(fù)話題的方式進(jìn)行互動,形成了一種以關(guān)鍵詞為中心的交流方式。同時貼吧的內(nèi)容也是越來越豐富,花樣繁多,貼吧也由此深受廣大網(wǎng)民的喜愛,因此不少商業(yè)網(wǎng)站對貼吧也重視起來,提供與網(wǎng)民交流的平臺,同時在線技術(shù)支持也在貼吧中開展起來。同樣地,也無從知道交談的對方的真實社會身份。這樣,參與貼吧的人可以處于一個平等的位置與其他人進(jìn)行任何話題的交流。這對于現(xiàn)有的所有其他交流方式來說是不可能的。1.3組織安排本文首先介紹了貼吧系統(tǒng)的設(shè)計與實現(xiàn)的研究背景和現(xiàn)實意義,研究意義和研究內(nèi)容。然后介紹了系統(tǒng)開發(fā)所用到的相關(guān)技術(shù),闡述了Java的功能特點和系統(tǒng)等相關(guān)的理論。接著闡述了系統(tǒng)的需求分析和可行性,從軟件工程的角度分析本系統(tǒng)的各個部分。然后介紹了本系統(tǒng)的各功能模塊的功能設(shè)計、實體圖的設(shè)計、數(shù)據(jù)庫設(shè)計等。最后總結(jié)本系統(tǒng)的結(jié)論、現(xiàn)存問題以及對將來的展望。1.3.1任務(wù)目標(biāo)本系統(tǒng)主要實現(xiàn)以下功能:1.貼吧實現(xiàn)用戶的注冊、發(fā)表言論、回復(fù)、搜索。2.貼吧系統(tǒng)可以查看自己的帖子、查看他人的回復(fù)、刪除信息。3.在后臺實現(xiàn)查看貼吧類別、添加類別、修改用戶等。1.3.2運行環(huán)境操作系統(tǒng):WindowsXP/win7數(shù)據(jù)庫:sqlserver開發(fā)環(huán)境:jdk1.6MyEclipse9.0服務(wù)器:Tomcat6.0
2可行性及技術(shù)簡介2.1Jsp簡介JSP,即JavaServerPage,Java應(yīng)用頁面程序。作為開發(fā)動態(tài)頁面的一種技術(shù),JSP是當(dāng)前大中型企業(yè)應(yīng)用軟件首選的開發(fā)路線之一。而且JSP是J2EE的重要組成部分,開發(fā)人員可以在JSP中獲得J2EE的眾多優(yōu)點。學(xué)習(xí)JSP也是J2EE入門的必經(jīng)之路。JSP既依賴于也得益于J2EE技術(shù)。“一次編寫,隨處運行”的可移植性使用戶可以專注于JSP的開發(fā),而無須考慮系統(tǒng)層面的問題;Java的開放特性使市面上涌現(xiàn)出了眾多的Web框架可供采納;面向?qū)ο蟮脑O(shè)計,為更加輕松地構(gòu)筑安全穩(wěn)定的Web在線系統(tǒng)提供了基礎(chǔ)保障。JSP秉承了J2EE高貴的血統(tǒng),卻又帶著平易近人的個性。JSP本質(zhì)上是一個Java程序,具備Java語言一切無與倫比的優(yōu)勢。相比依賴于VBScript代碼的ASP,以及依賴于Perl語言的PHP等其他Web編程語言,JSP有著嚴(yán)格的Java語法支持,可以和JavaBean無縫整合。ASP采用了解析執(zhí)行的機制,而JSP則是先編譯后執(zhí)行。因此,在第一次訪問時JSP比ASP要慢,但是JSP的執(zhí)行則比每次都解析執(zhí)行的ASP快若干個數(shù)量級。微軟隨后推出了ASP.NET,號稱提供了豐富的面向?qū)ο箢悗欤胫虚g語言的概念來支持多種語言,完整地集成了XML及WebService的支持,利用代碼托管機制避免危害服務(wù)器,并期盼以此代替ASP。事實上ASP.NET的框架設(shè)計與J2EE框架十分類似,雖然彌補了ASP之前的缺陷,但是,其對于Windows平臺的依賴性以及.NET本身的封閉性卻依然存在。盡管現(xiàn)在有Mono計劃將所有的開發(fā)轉(zhuǎn)移到Linux,但是由于各種原因,Mono有著眾多的制肘,并不被業(yè)界看好。當(dāng)然,對于Windows環(huán)境下的中小型應(yīng)用程序,ASP.NET確實是不錯的選擇。JSP是線程高度并行的,可以充分利用硬件資源。另外,Java語言與平臺無關(guān),開發(fā)者可以將JSP部署在幾乎任何操作系統(tǒng)上,UNIX系統(tǒng)可以為JSP提供穩(wěn)定可靠的安全運行環(huán)境;利用集群技術(shù)還可以把多臺主機聯(lián)合起來服務(wù)于JSP應(yīng)用程序。因此,JSP對于高可靠性、高性能要求的企業(yè)級應(yīng)用系統(tǒng)有較強的吸引力。從開發(fā)者的角度考慮,JSP是開發(fā)Web應(yīng)用程序的首選。JSP支持JavaBean組件,也就獲得了眾多Java廠商的有力支持,開發(fā)者可以利用JavaBean來完成所有Java能實現(xiàn)的功能,如數(shù)據(jù)庫連接池、圖形繪制、文件IO操作、XML解析、WebService調(diào)用與發(fā)布等。Java的開放性也使系統(tǒng)框架如雨后春筍般涌現(xiàn),Tapstry,Velocity,Hibernate等開源框架為Web應(yīng)用開發(fā)者簡化了開發(fā)流程,提高了代碼質(zhì)量,從而降低了學(xué)習(xí)門檻和開發(fā)成本。JSP遵循J2EE規(guī)范所采用的分層結(jié)構(gòu)也使得代碼容易組織維護(hù),各個獨立的層次分別針對特定的編程領(lǐng)域,在某個領(lǐng)域發(fā)生變化的時候,只需要在對應(yīng)層次進(jìn)行針對性的修改,而不會影響到其他層次的代碼。而相對于Servlet這種Java類,JSP又有著特定的優(yōu)勢。從前面的例子可以看出,要完成一個簡單JSP頁面具有的功能,需要編寫大量的Servlet代碼,而且,從代碼上根本看不出來生成的HTML文檔結(jié)構(gòu)。另外,JSP中雙引號等特殊字符,在Servlet中都需要進(jìn)行轉(zhuǎn)義處理,又進(jìn)一步降低了程序的可讀性。Servlet不能有效地利用原型頁面。事實上,在JSP中,還可以使用標(biāo)簽等特性,進(jìn)一步將JSP中的Java代碼導(dǎo)致的不利因素削弱。總之,使用JSP可以降低開發(fā)門檻,提高程序可讀性,開發(fā)出高性能的跨平臺企業(yè)級軟件。B/S結(jié)構(gòu)工作模式圖在B/S體系結(jié)構(gòu)系統(tǒng)中,用戶通過瀏覽器向分布在網(wǎng)絡(luò)上的許多服務(wù)器發(fā)出請求,服務(wù)器對瀏覽器的請求進(jìn)行處理,將用戶所需信息返回到瀏覽器。而其余如數(shù)據(jù)請求、加工、結(jié)果返回以及動態(tài)網(wǎng)頁生成、對數(shù)據(jù)庫的訪問和應(yīng)用程序的執(zhí)行等工作全部由WebServer完成。B/S工作模式圖如圖2.1所示:圖2.1B/S工作模式圖Myeclipse簡介MyEclipse企業(yè)級工作平臺(MyEclipseEnterpriseWorkbench,簡稱MyEclipse)是對EclipseIDE的擴(kuò)展,利用它我們可以在數(shù)據(jù)庫和JavaEE的開發(fā)、發(fā)布以及應(yīng)用程序服務(wù)器的整合方面極大的提高工作效率。它是功能豐富的JavaEE集成開發(fā)環(huán)境,包括了完備的編碼、調(diào)試、測試和發(fā)布功能,完整支持,JSP,CSS,Javascript,Hibernate等。MyEclipse是一個十分優(yōu)秀的用于開發(fā)Java,J2EE的Eclipse插件集合,MyEclipse的功能非常強大,支持也十分廣泛,尤其是對各種開源產(chǎn)品的支持十分不錯。MyEclipse目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring,Hibernate,EJB3,JDBC數(shù)據(jù)庫鏈接工具等多項功能??梢哉fMyEclipse是幾乎囊括了目前所有主流開源產(chǎn)品的專屬eclipse開發(fā)工具。MyEclipse結(jié)構(gòu)上的這種模塊化,可以讓我們在不影響其他模塊的情況下,對任一模塊進(jìn)行單獨的擴(kuò)展和升級。簡單而言,MyEclipse是Eclipse的插件,也是一款功能強大的JavaEE集成開發(fā)環(huán)境,支持代碼編寫、配置、測試以及除錯,MyEclipse5.5以前版本需先安裝Eclipse。MyEclipse5.5以后版本安裝時不需安裝Eclipse。SQLServer簡介SQLServer是美國Microsoft公司開發(fā)的一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),是目前世界上最著名的關(guān)系數(shù)據(jù)庫管理系統(tǒng)之一。MicrosoftSQLServer在性能和可擴(kuò)展方面確立了世界領(lǐng)先的地位,是一套完全的數(shù)據(jù)庫和數(shù)據(jù)分析解決方案,使用戶可以快速創(chuàng)建下一代的可擴(kuò)展電子商務(wù)和數(shù)據(jù)倉庫解決方案。MicrosoftSQLServer在數(shù)據(jù)庫服務(wù)器自動調(diào)整和自動管理技術(shù)方面在數(shù)據(jù)庫領(lǐng)域中處于領(lǐng)先地位,使客戶可以集中精力處理商業(yè)戰(zhàn)略上的問題,而不是去細(xì)微調(diào)整數(shù)據(jù)庫服務(wù)器的各項參數(shù)。SQLServer的主要功能:(1)數(shù)據(jù)庫管理功能作為數(shù)據(jù)庫管理系統(tǒng),SQLServer自然應(yīng)該具有數(shù)據(jù)庫管理功能。MicrosoftSQLServer的數(shù)據(jù)庫由包含數(shù)據(jù)的表集合和其他對象(如視圖、索引、存儲過程和觸發(fā)器)組成,目的是為執(zhí)行與數(shù)據(jù)有關(guān)的活動提供支持。存儲在數(shù)據(jù)庫中的數(shù)據(jù)通常與特定的主題或過程相關(guān)。(2)數(shù)據(jù)倉庫功能SQLServer2005提供了一套全新的綜合分析服務(wù)系統(tǒng)。分析服務(wù)為商業(yè)活動提供了集成的OLAP服務(wù)和數(shù)據(jù)挖掘功能。OLAP可以通過多維存儲技術(shù)對大型、復(fù)雜數(shù)據(jù)集執(zhí)行快速、高級的分析工作。數(shù)據(jù)挖掘功能能夠揭示出隱藏在大量數(shù)據(jù)中的傾向及趨勢。SQLServer針對包括集成數(shù)據(jù)挖掘、OLAP服務(wù)、安全性服務(wù)及通過Internet對多維數(shù)據(jù)集進(jìn)行訪問和鏈接分析提供新的數(shù)據(jù)倉庫功能。(3)網(wǎng)絡(luò)貼吧SQLServer不僅提供網(wǎng)絡(luò)貼吧所需的可伸縮性與可擴(kuò)展性之外,還提供了豐富的數(shù)據(jù)庫編程能力,以確保系統(tǒng)的協(xié)同工作和靈活性。SQLServer2005不僅支持集中化數(shù)據(jù)庫管理功能,而且還最大程度地實現(xiàn)了管理與優(yōu)化工作的自動化,從而,減輕了有關(guān)管理人員的負(fù)擔(dān)。(4)完備的Web功能SQLServer2005允許通過HTTP協(xié)議,在Web上進(jìn)行高性能、基于標(biāo)準(zhǔn)的安全訪問。基于Web的客戶端擁有訪問關(guān)系型數(shù)據(jù)存儲和訪問分析服務(wù)的能力。分布式數(shù)據(jù)復(fù)制功能分布式數(shù)據(jù)復(fù)制功能可以將一個數(shù)據(jù)庫中的數(shù)據(jù)復(fù)制到通過局域網(wǎng)、廣域網(wǎng)或Internet網(wǎng)絡(luò)連接的不同地點服務(wù)器或同一服務(wù)器中的不同數(shù)據(jù)庫中,并能夠自動保持這些數(shù)據(jù)同步,使各個數(shù)據(jù)庫中具有相同的數(shù)據(jù)??尚行苑治隹尚行苑治鍪窃谌嬲{(diào)查的基礎(chǔ)上,針對系統(tǒng)的開發(fā)是否具備必要性和可能性,對系統(tǒng)的開發(fā)從運行、經(jīng)濟(jì)、技術(shù)的方面進(jìn)行分析和研究,以避免投資失誤,保證新系統(tǒng)開發(fā)成功??尚行匝芯康哪康木褪怯米钚〉拇鷥r在盡可能短的時間內(nèi)確定問題是否能夠解決。這部分將從以下三個方面進(jìn)行研究:技術(shù)可行性、經(jīng)濟(jì)可行性、操作可行性。2.5.1技術(shù)可行性技術(shù)可行性要考慮現(xiàn)有的技術(shù)條件是否能夠順利完成開發(fā)工作,軟硬件配置是否滿足開發(fā)的需求等。本系統(tǒng)采用三層結(jié)構(gòu),用sqlserver數(shù)據(jù)庫作為后臺數(shù)據(jù)庫,安裝和使用簡單易學(xué),方便操作;用的是JSP開發(fā)語言,調(diào)試相對簡單,當(dāng)前的計算機硬件配置也完全能滿足開發(fā)的需求,因此在技術(shù)上是絕對可行的。軟件方面:由于目前單機模式相對發(fā)展成熟,故軟件的開發(fā)平臺成熟可行,它們速度快、容量大、可靠性能高、價格低,完全能滿足系統(tǒng)的需求。2.5.2經(jīng)濟(jì)可行性經(jīng)濟(jì)可行性是指開發(fā)并應(yīng)用此系統(tǒng),應(yīng)對其投資成本和未來可能取得的經(jīng)濟(jì)利益,權(quán)衡其得失。隨著計算機軟件和硬件技術(shù)的飛速發(fā)展,計算機軟、硬件價格不斷下降,設(shè)計本系統(tǒng)所投入的資金下降。同時與一些企業(yè)發(fā)布、獲取信息所節(jié)省的價值相比,系統(tǒng)的收益還是很大的。開發(fā)貼吧系統(tǒng)在經(jīng)濟(jì)上是完全可行的。2.5.3操作可行性微軟Windows操作平臺具有良好的操作性,貼吧系統(tǒng)服務(wù)器可以放在UNIX平臺,運行也可以基于Windows操作平臺。本系統(tǒng)具有友善的用戶界面、良好的安全性設(shè)置和詳細(xì)的操作說明,適合各類人群使用。需求分析需求分析是在軟件開發(fā)的初始階段進(jìn)行,它對于整個軟件開發(fā)過程以及軟件開發(fā)后質(zhì)量是舉足輕重的。隨著軟件系統(tǒng)復(fù)雜性的提高及規(guī)模的擴(kuò)大,需求分析在軟件開發(fā)中所處的地位愈加突出。所謂需求,是指用戶對目標(biāo)軟件系統(tǒng)在功能、行為、性能設(shè)計約束等方面的要求。在需求分析的研究中,系統(tǒng)開發(fā)人員必須對用戶的需求進(jìn)行調(diào)查和分析,結(jié)合實際環(huán)境的特征,正確定義目標(biāo)軟件的特征。因此,需求分析至關(guān)重要。貼吧系統(tǒng)設(shè)計實現(xiàn)以下功能:(1)管理員功能:查看用戶發(fā)布的帖子、回復(fù)的內(nèi)容或是刪除帖子,同時可以添加貼吧類別、修改或是刪除類別,添加版面、修改或是刪除版面,查看、修改或是刪除用戶。(2)普通用戶功能:游客注冊后成為普通用戶,可以查看他人發(fā)布的帖子或是回復(fù)帖子,也可以自己發(fā)布帖子或是刪除帖子。(3)游客功能:游客只能查看他人發(fā)布的帖子,無法自己發(fā)布帖子或是對其他帖子進(jìn)行回復(fù),如果想實現(xiàn)以上功能必須先注冊。
3可行性及技術(shù)簡介3.1系統(tǒng)概要設(shè)計在概要設(shè)計中主要確定了系統(tǒng)的實現(xiàn)手段,定義了解決方案的邊界和主要技術(shù)結(jié)構(gòu),給出了后續(xù)工作繼續(xù)實施的所有技術(shù)要點,是開發(fā)人員在下一階段進(jìn)行詳細(xì)設(shè)計的指導(dǎo)性文件,也是考核系統(tǒng)總體質(zhì)量的重要技術(shù)文檔。本次的系統(tǒng)開發(fā)完全是一切為用戶著想,界面要美觀大方,操作盡量簡單明了,使其學(xué)校對學(xué)生貼吧的管理實現(xiàn)規(guī)范化、學(xué)科化。本系統(tǒng)是應(yīng)用于整個貼吧的管理,所以對于實際中不同身份的用戶,在本系統(tǒng)中都有對應(yīng)其角色的不同操作頁面,即不同的用戶有不同的功能,并且切互有聯(lián)系。體現(xiàn)了該系統(tǒng)的完整性。系統(tǒng)功能模塊設(shè)計在結(jié)構(gòu)化系統(tǒng)設(shè)計中,模塊一般都是按功能劃分的,通常稱為功能模塊。合理的功能模塊的劃分能夠極大限度地減少重復(fù)勞動、提高開發(fā)工作的效率并增大系統(tǒng)的可維護(hù)性。本系統(tǒng)分為3個用戶權(quán)限即管理員、普通用戶、游客。下面分別介紹各個用戶的功能。(一)管理員功能:(1)我的帖子:管理員在此模塊可以發(fā)布帖子,查看其他用戶給予的回復(fù),回復(fù)的人數(shù),或是刪除帖子。如果頁面過多,可以直接選擇跳轉(zhuǎn)到其他頁面。(2)精華帖子:管理員在此可以查看系統(tǒng)中的精華帖子,并作出回復(fù)或是刪除帖子。(3)搜索功能:管理員可以通過帖子標(biāo)題、帖子內(nèi)容、發(fā)布者或是關(guān)鍵字進(jìn)行模糊查詢或是精確查詢。(4)類別管理:管理員在后臺可以添加的類別,如貼吧的名稱、貼吧介紹,添加后可以查看類別列表,并作出修改或是刪除。(5)版面管理:管理員可以添加版面,如版面的所屬類別、名稱、版主、版面公告等信息,添加可以查看版面列表,并作出修改或是刪除。(6)用戶管理:管理員可以通過選擇不同的用戶類型進(jìn)行查看不同的用戶信息,并作出修改或是刪除的操作。具體功能模塊圖如圖3.1所示:圖3.1管理員功能模塊圖(二)普通用戶功能:(1)注冊功能:游客需要注冊才能成為普通用戶,用戶登錄后可以在首頁中看到其他用戶的帖子,并可以做出回復(fù)進(jìn)行交流,也可以自己發(fā)帖,查看回復(fù)或是刪除自己的帖子。(2)搜索功能:用戶可以通過帖子標(biāo)題、帖子內(nèi)容、發(fā)布者或是關(guān)鍵字進(jìn)行模糊查詢或是精確查詢。(3)我的帖子:用戶在此模塊可以發(fā)布帖子,查看其他用戶給予的回復(fù),回復(fù)的人數(shù),或是刪除帖子。如果頁面過多,可以直接選擇跳轉(zhuǎn)到其他頁面。(4)精華帖子:用戶在此可以查看系統(tǒng)中的精華帖子,并作出回復(fù),在此模塊中用戶只能刪除自己發(fā)布的帖子。普通用戶模塊的功能圖如圖3.2所示:圖3.2用戶功能模塊圖(三)游客功能介紹:游客只能查看其他人發(fā)布的帖子,無法發(fā)布、回復(fù)或是刪除帖子,要想成為普通用戶必須通過注冊。數(shù)據(jù)庫設(shè)計3.3.1系統(tǒng)實體圖實體圖是識別功能模型與數(shù)據(jù)模型間關(guān)聯(lián)關(guān)系的,在主題數(shù)據(jù)庫的抽取和規(guī)范化的過程中,采用的是簡化的實體圖表示方法,從而避免過繁過細(xì)的實體圖表示影響規(guī)劃的直觀和可用性。構(gòu)成實體圖的基本要素是實體型、屬性以及聯(lián)系,其表示方法為:實體型:用矩形表示,矩形框內(nèi)寫明實體名;屬性:用橢圓形表示,并用無向邊將其與相應(yīng)的實體連接起來;聯(lián)系:用菱形表示,菱形框內(nèi)寫明聯(lián)系名,并用無向邊分別與有關(guān)實體連接起來,同時在無向邊的旁邊標(biāo)上聯(lián)系的類型。針對本系統(tǒng)特點,數(shù)據(jù)庫設(shè)計采用的各個組成部分的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)如下所示:(1)tb_bbs帖子實體圖圖3.3帖子實體圖(2)tb_bbsAnswer回復(fù)實體圖圖3.4回復(fù)表實體圖(3)tb_board貼吧實體圖圖3.5貼吧實體圖(4)tb_class分類實體圖圖3.6分類實體圖(5)tb_user用戶實體圖圖3.7用戶實體圖3.3.2數(shù)據(jù)庫表表的設(shè)計是這次設(shè)計的一個核心內(nèi)容。根據(jù)前面對網(wǎng)站各個權(quán)限用戶模塊的功能分析和對數(shù)據(jù)庫中實體關(guān)系的設(shè)計,可以看到網(wǎng)站中所用到的數(shù)據(jù)信息基本包括:帖子信息表、回復(fù)表、貼吧表、分類表等。設(shè)計原則如下:(1)進(jìn)行規(guī)范化設(shè)計,盡可能地減少數(shù)據(jù)冗余和重復(fù)。(2)結(jié)構(gòu)設(shè)計與操作設(shè)計相結(jié)合。(3)數(shù)據(jù)結(jié)構(gòu)具有相對的穩(wěn)定性?;谝陨先龡l設(shè)計原則,本系統(tǒng)中關(guān)于數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計如下:(1)tb_bbs帖子表帖子表主要存儲帖子id、貼吧id、帖子標(biāo)題、內(nèi)容、發(fā)布者、發(fā)表時間、表情等信息,具體如表3.1所示:表3.1帖子表名稱數(shù)據(jù)類型備注bbs_idintidbbs_boardIDint貼吧idbbs_titlevarchar帖子標(biāo)題bbs_contentvarchar內(nèi)容bbs_sendervarchar發(fā)布者bbs_sendTimedatetime發(fā)表時間bbs_facevarchar表情(2)tb_bbsAnswer回復(fù)表回復(fù)表主要存儲回復(fù)id、回復(fù)主題、回復(fù)內(nèi)容、回復(fù)者、回復(fù)時間、表情等信息,具體如表3.2所示:表3.2回復(fù)表名稱數(shù)據(jù)類型備注bbsAnswer_idint回復(fù)idbbsAnswer_titlevarchar(70)回復(fù)主題bbsAnswer_contentvarchar(2000)回復(fù)內(nèi)容bbsAnswer_sendervarchar(20)回復(fù)者bbsAnswer_sendTimedatetime回復(fù)時間bbsAnswer_facevarchar(10)表情(3)tb_board貼吧表貼吧表主要存儲貼吧id、分類id、貼吧名稱、吧主、貼吧公告等信息,具體如表3.3所示:表3.3貼吧表名稱數(shù)據(jù)類型備注board_idint貼吧idboard_classIDsmallint分類idboard_namevarchar(40)貼吧名稱board_mastervarchar(20)吧主board_pcardvarchar(200)貼吧公告(4)tb_class分類表分類表主要存分類id、分類名稱、貼吧介紹信息等信息,具體如表3.4所示:表3.4分類表名稱數(shù)據(jù)類型備注class_idsmallint分類idclass_namevarchar(40)分類名稱class_introvarchar(200)貼吧介紹(5)tb_user用戶表用戶表主要存儲用戶id、用戶名、密碼、用戶頭像、用戶性別、聯(lián)系電話、QQ、電子郵件、來自、權(quán)限等信息,具體如表3.5所示:表3.5用戶表名稱數(shù)據(jù)類型備注idsmallintiduser_namevarchar(20)用戶名user_passwordvarchar(20)密碼user_facevarchar(11)用戶頭像user_sexvarchar(2)用戶性別user_phonevarchar(12)聯(lián)系電話user_OICQvarchar(14)QQuser_emailvarchar(100)E-mailuser_fromvarchar(200)來自user_ablevarchar(1)權(quán)限以上是系統(tǒng)主要實體圖和數(shù)據(jù)庫表的介紹。
4系統(tǒng)實現(xiàn)4.1系統(tǒng)概述人機交互子系統(tǒng)是用戶所能直接看到的,是給用戶的第一感覺,他現(xiàn)在已經(jīng)成為判斷一個軟件好壞的重要標(biāo)準(zhǔn)。在設(shè)計人機交互子系統(tǒng)的時候,必須遵循以下原則:設(shè)計出一個易用、低錯、適應(yīng)、美觀的界面,能夠使用戶自如的完成操作,而用戶不需要有較高的計算機專業(yè)知識和技能。前期對項目的大量細(xì)致的分析,以及對用戶群的調(diào)查,充分考慮實際操作的各項細(xì)節(jié),使得普通用戶在不需要查看用戶手冊的情況下亦能很自如的操作系統(tǒng),并對操作流程有清晰的了解。4.2系統(tǒng)頁面實現(xiàn)本系統(tǒng)有三個用戶權(quán)限,分別是管理員、普通用戶和游客,三個用戶功能相輔相成,達(dá)成一個完美的系統(tǒng),主要功能如下:(一)管理員功能:(1)我的帖子:管理員在此模塊可以發(fā)布帖子,查看其他用戶給予的回復(fù),回復(fù)的人數(shù),或是刪除帖子。如果頁面過多,可以直接選擇跳轉(zhuǎn)到其他頁面。(2)精華帖子:管理員在此可以查看系統(tǒng)中的精華帖子,并作出回復(fù)或是刪除帖子。(3)搜索功能:管理員可以通過帖子標(biāo)題、帖子內(nèi)容、發(fā)布者或是關(guān)鍵字進(jìn)行模糊查詢或是精確查詢。(4)類別管理:管理員在后臺可以添加貼吧的類別,如貼吧的名稱、貼吧介紹,添加后可以查看類別列表,并作出修改或是刪除。(5)貼吧管理:管理員可以添加貼吧,如貼吧的所屬類別、名稱、吧主、貼吧公告等信息,添加可以查看貼吧列表,并作出修改或是刪除。(6)用戶管理:管理員可以通過選擇不同的用戶類型進(jìn)行查看不同的用戶信息,并作出修改或是刪除的操作。(二)普通用戶功能:(1)注冊功能:游客需要注冊才能成為普通用戶,用戶登錄后可以在首頁中看到其他用戶的帖子,并可以做出回復(fù)進(jìn)行交流,也可以自己發(fā)帖,查看回復(fù)或是刪除自己的帖子。(2)搜索功能:用戶可以通過帖子標(biāo)題、帖子內(nèi)容、發(fā)布者或是關(guān)鍵字進(jìn)行模糊查詢或是精確查詢。(3)我的帖子:用戶在此模塊可以發(fā)布帖子,查看其他用戶給予的回復(fù),回復(fù)的人數(shù),或是刪除帖子。如果頁面過多,可以直接選擇跳轉(zhuǎn)到其他頁面。(4)精華帖子:用戶在此可以查看系統(tǒng)中的精華帖子,并作出回復(fù),在此模塊中用戶只能刪除自己發(fā)布的帖子。(三)游客功能介紹:游客只能查看其他人發(fā)布的帖子,無法發(fā)布、回復(fù)或是刪除帖子,要想成為普通用戶必須通過注冊。4.2.1系統(tǒng)首頁在系統(tǒng)首頁有登錄按鈕,在未登錄的時候只能瀏覽其他人發(fā)布的帖子,無法操作任何功能,游客也在首頁進(jìn)行注冊,如圖4.1所示:圖4.1系統(tǒng)首頁主要代碼:/**設(shè)置分頁導(dǎo)航欄信息*/publicvoidsetPageLink(Stringgowhich){if(gowhich==null) gowhich=""; if(gowhich.indexOf("?")>=0) gowhich+="&"; else gowhich+="?"; if(AllP>1){//AllP是已定義的變量,代表頁面總數(shù) PageLink="<tableborder='0'cellpadding='3'><tr><td>"; if(CurrentP>1){//CurrentP是已定義的變量,代表當(dāng)前頁面數(shù)字 PageLink+="<ahref='"+gowhich+"showpage=1'>【首頁】</a> "; PageLink+="<ahref='"+gowhich+"showpage="+(CurrentP-1)+"'>【上一頁】</a> "; } if(CurrentP<AllP){ PageLink+="<ahref='"+gowhich+"showpage="+(CurrentP+1)+"'>【下一頁】</a> "; PageLink+="<ahref='"+gowhich+"showpage="+AllP+"'>【尾頁】</a>"; } PageLink+="</td></tr></table>"; } }4.2.2用戶注冊頁面用戶首次登錄前需要先注冊,點擊注冊按鈕,填寫用戶名、密碼、性別、聯(lián)系電話、QQ、郵件、來自哪里即注冊成為本站的普通用戶,具體如圖4.2所示:圖4.2注冊頁面主要代碼:/**用戶注冊*/publicActionForwarduserReg(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse){ActionMessagesmessages=newActionMessages();HttpSessionsession=request.getSession();//建立會話 session.setAttribute("mainPage","../pages/userReg.jsp"); Stringvalidate=request.getParameter("validate"); if(validate==null||validate.equals("")||!validate.equals("yes")){//若果validate對象不存在,或值為空,或validate的值不為yes returnmapping.findForward("result"); } else{ UserFormregForm=(UserForm)form; Stringpass1=regForm.getUserPassword(); Stringpass2=regForm.getAginPassword();//若兩次密碼輸入不一致,則在屏幕上顯示輸出“連詞輸入的密碼不一致” if(!pass1.equals(pass2)){ System.out.println("兩次輸入的密碼不一致!"); messages.add("userPassword",newActionMessage("luntan.user.reg.pass.noEquals")); saveErrors(request,messages); } else{ StringuserName=Change.HTMLChange(regForm.getUserName()); Object[]params=null;//檢查自定義的用戶名是否已經(jīng)被使用,以保證用戶名唯一 Stringsql=""; sql="select*fromtb_userwhereuser_name=?"; params=newObject[1]; params[0]=userName; OpDBmyOp=newOpDB(); UserFormuser=myOp.OpUserSingleShow(sql,params); if(user!=null){ System.out.println(userName+"用戶已經(jīng)存在!"); messages.add("userOpR",newActionMessage("luntan.user.reg.exist",userName)); } else{ StringuserPassword=Change.HTMLChange(regForm.getUserPassword()); StringuserFace=regForm.getUserFace(); StringuserSex=regForm.getUserSex(); StringuserPhone=regForm.getUserPhone(); StringuserOICQ=regForm.getUserOICQ(); StringuserEmail=regForm.getUserEmail(); StringuserFrom=Change.HTMLChange(regForm.getUserFrom()); StringuserAble="0"; sql="insertintotb_uservalues(?,?,?,?,?,?,?,?,?)"; params=newObject[9]; params[0]=userName; params[1]=userPassword; params[2]=userFace; params[3]=userSex; params[4]=userPhone; params[5]=userOICQ; params[6]=userEmail; params[7]=userFrom; params[8]=userAble;//將新用戶信息插入數(shù)據(jù)庫用戶表 inti=myOp.OpUpdate(sql,params); if(i<=0){ System.out.println("用戶注冊失??!"); messages.add("userOpR",newActionMessage("luntan.user.reg.E")); } else{ System.out.println("用戶注冊成功!"); regForm.clear(); messages.add("userOpR",newActionMessage("luntan.user.reg.S")); } saveErrors(request,messages); } } returnmapping.findForward("result"); //完成注冊后,跳轉(zhuǎn)到result里設(shè)置的頁面 }} 4.2.3管理員發(fā)布帖子頁面管理員在登錄到系統(tǒng)后,在此模塊可以發(fā)布帖子,發(fā)布后可以對其刪除或是查看他人給予的回復(fù),具體實現(xiàn)頁面如圖4.3所示:圖4.3管理員發(fā)帖頁面主要代碼:/**發(fā)表帖子*/publicActionForwardaddBbs(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse){ HttpSessionsession=request.getSession(); session.setAttribute("mainPage","/pages/add/bbsAdd.jsp"); Stringvalidate=request.getParameter("validate"); if(validate==null||validate.equals("")||!validate.equals("yes")){//如果validate對象不存在,或值為空,或validate的值不為yes returnmapping.findForward("showAddJSP"); }else{ BbsFormbbsForm=(BbsForm)form; StringboardId=(String)session.getAttribute("boardId"); StringbbsTitle=Change.HTMLChange(bbsForm.getBbsTitle()); StringbbsContent=Change.HTMLChange(bbsForm.getBbsContent()); StringbbsSender=((UserForm)session.getAttribute("logoner")).getUserName(); StringbbsSendTime=Change.dateTimeChange(newDate()); StringbbsFace=bbsForm.getBbsFace(); StringbbsOpTime=bbsSendTime; StringbbsIsTop="0"; StringbbsToTopTime=""; StringbbsIsGood="0"; StringbbsToGoodTime="";Stringsql="insertintotb_bbsvalues(?,?,?,?,?,?,?,?,?,?,?)";Object[]params={boardId,bbsTitle,bbsContent,bbsSender,bbsSendTime,bbsFace,bbsOpTime,bbsIsTop,bbsToTopTime,bbsIsGood,bbsToGoodTime}; ActionMessagesmessages=newActionMessages(); OpDBmyOp=newOpDB(); inti=myOp.OpUpdate(sql,params); if(i<=0){ System.out.println("發(fā)表帖子失??!"); messages.add("userOpR",newActionMessage("luntan.bbs.add.E")); saveErrors(request,messages);returnmapping.findForward("error");//發(fā)帖成功后,跳轉(zhuǎn)到error中設(shè)置的頁面 } else{ System.out.println("發(fā)表帖子成功!"); session.setAttribute("currentP","1");//發(fā)帖成功后,將當(dāng)前頁面設(shè)置為1 messages.add("userOpR",newActionMessage("luntan.bbs.add.S")); bbsForm.clear();//清空發(fā)帖面板 saveErrors(request,messages);returnmapping.findForward("success");//發(fā)帖成功后,跳轉(zhuǎn)到success中設(shè)置的頁面 } } }4.2.4類別管理頁面管理員在系統(tǒng)中可以添加貼吧的類別,添加后可以查看類別列表,并可以做出修改或是刪除,如圖4.4所示:圖4.4管理類別頁面主要代碼:/**后臺-添加貼吧類別*/publicActionForwardaddClass(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse){HttpSessionsession=request.getSession();session.setAttribute("backMainPage","../class/classAdd.jsp");Stringvalidate=request.getParameter("validate");if(validate==null||validate.equals("")||!validate.equals("yes")){ returnmapping.findForward("result");//發(fā)帖成功后,跳轉(zhuǎn)到result中設(shè)置的頁面}else{ ActionMessagesmessages=newActionMessages(); ClassFormclassForm=(ClassForm)form; StringclassName=Change.HTMLChange(classForm.getClassName()); StringclassIntro=Change.HTMLChange(classForm.getClassIntro()); Stringsql=""; Object[]params=null; OpDBmyOp=newOpDB(); sql="select*fromtb_classwhereclass_name=?"; params=newObject[1]; params[0]=className; if(myOp.OpClassSingleShow(sql,params)!=null){//若新建的貼吧類別名稱已經(jīng)存在System.out.println("添加貼吧類別-名稱:"+className+"的貼吧類別已經(jīng)存在!"); messages.add("adminOpR",newActionMessage("luntan.admin.add.class.exist",className)); }else{ sql="insertintotb_classvalues(?,?)"; params=newObject[2]; params[0]=className; params[1]=classIntro;//將新定義的貼吧類別添加到數(shù)據(jù)庫表中 inti=myOp.OpUpdate(sql,params); if(i<=0){ System.out.println("添加貼吧類別失??!");messages.add("adminOpR",newActionMessage("luntan.admin.add.class.E")); }else{ System.out.println("添加貼吧類別成功!"); classForm.clear();//清空表單里的內(nèi)容messages.add("adminOpR",newActionMessage("luntan.admin.add.class.S")); } } saveErrors(request,messages); returnmapping.findForward("result");//發(fā)帖成功后,跳轉(zhuǎn)到result中設(shè)置的頁面} }4.2.5貼吧管理頁面管理員可以在系統(tǒng)中添加貼吧,并可以按照貼吧類別進(jìn)行貼吧的查看,具體頁面如圖4.5所示:圖4.5貼吧管理頁面主要代碼:/**后臺-列表查看貼吧*/publicActionForwardgetBoardList(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse){ HttpSessionsession=request.getSession(); session.setAttribute("backMainPage","../board/boardListShow.jsp"); ListboardList=null; OpDBmyOp=newOpDB(); StringgetType=request.getParameter("type"); if(getType==null||getType.equals("")||!getType.equals("show")){//如果validate對象不存在,或值為空,或validate的值不為show ListclassList=myOp.OpClassListShow(); session.setAttribute("backClassList",classList); }else{ ClassFormclassform=(ClassForm)form; StringclassId=classform.getClassId(); if(classId==null||classId.equals("")){ classId=(String)session.getAttribute("boardListId"); classform.setClassId(classId); } else{ session.setAttribute("boardListId",classId); }//透過classID字段查詢數(shù)據(jù)庫表tb_board中的所有字段 Stringsql="select*fromtb_boardwhereboard_classID=?"; Object[]params={classId}; boardList=myOp.OpBoardListShow(sql,params); } session.setAttribute("backBoardList",boardList); returnmapping.findForward("success");}4.2.6用戶管理頁面 管理員在系統(tǒng)中可以按照不同的用戶權(quán)限來查看不同用戶的信息,并可以對信息進(jìn)行修改或是刪除。具體實現(xiàn)頁面如圖4.6所示:圖4.6用戶管理頁面主要代碼:/**后臺-列表查看用戶*/publicActionForwardgetUserList(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse){HttpSessionsession=request.getSession();session.setAttribute("backMainPage","../user/userListShow.jsp");StringgetType=request.getParameter("type");if(getType==null||getType.equals("")||!getType.equals("show")){//如果validate對象不存在,或值為空,或validate的值不為showListableList=newArrayList();ableList.add(newLabelValueBean("全部","all"));ableList.add(newLabelValueBean("管理員","2"));ableList.add(newLabelValueBean("吧主","1"));ableList.add(newLabelValueBean("普通用戶","0"));session.setAttribute("backListAble",ableList); }else{AbleFormableform=(AbleForm)form;Stringable=ableform.getShowAble();if(able==null||able.equals("")){able=(String)session.getAttribute("userAble");ableform.setShowAble(able);}elsesession.setAttribute("userAble",able);Stringsql="";Object[]params=null;if(able.equals("all")){//查詢tb_user表中所有字段,并根據(jù)權(quán)限降序排列sql="select*fromtb_userorderbyuser_ableDESC";}else{//根據(jù)選擇的權(quán)限類型,查詢tb_user表中的所有用戶信息sql="select*fromtb_userwhereuser_able=?";params=newObject[1];params[0]=able; }OpDBmyOp=newOpDB();Listuserlist=myOp.OpUserListShow(sql,params);request.setAttribute("backUserList",userlist);} returnmapping.findForward("success"); }4.2.7用戶精華帖子頁面用戶登錄后查看版系統(tǒng)中的精華帖子,并作出回復(fù),但是用戶無權(quán)刪除他人發(fā)布的帖子,只能刪除自己的帖子,下圖為精華帖子查看頁面,圖4.7所示:圖4.7精華帖子頁面主要代碼:/**查看精華帖*/publicActionForwardgoodListShow(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse){ super.setParams(request); HttpSessionsession=request.getSession(); session.setAttribute("mainPage","/pages/show/bbs/goodListShow.jsp"); OpDBmyOp=newOpDB(); intperR=5; StringcurrentP=request.getParameter("showpage"); if(currentP==null||currentP.equals("")) currentP=(String)session.getAttribute("currentPgood"); else session.setAttribute("currentPgood",currentP); Stringgowhich="user/goodListShow.do?method=goodListShow"; myOp.setMark(true);//進(jìn)行分頁顯示 myOp.setPageInfo(perR,currentP,gowhich);//設(shè)置進(jìn)行分頁顯示需要的信息 Stringsql="select*fromtb_bbswherebbs_isGood='1'orderbybbs_toGoodTimeDESC"; Listgoodlist=myOp.OpBbsListShow(sql,null); CreatePagepage=myOp.getPage(); session.setAttribute("goodlist",goodlist); session.setAttribute("page",page); returnmapping.findForward("success");}4.2.8搜索帖子頁面用戶在系統(tǒng)可以搜索站內(nèi)的帖子,通過輸入帖子標(biāo)題、內(nèi)容、發(fā)表者或是關(guān)鍵字都可以進(jìn)行模糊或是精確的搜索,具體如圖4.8所示:圖4.8搜索帖子頁面主要代碼:/**搜索操作**/ SearchFormsearchform=(SearchForm)form; Stringsubsql=searchform.getSubsql(); Stringsqlvalue=searchform.getSqlvalue(); StringsearchType=searchform.getSearchType(); Stringvalidate=request.getParameter("validate"); if(validate==null||validate.equals("")||!validate.equals("yes")){//通過“返回”超鏈接觸發(fā)的搜索操作 subsql=(String)session.getAttribute("subsql"); sqlvalue=(String)session.getAttribute("sqlvalue"); sqlvalue=(String)session.getAttribute("sqlvalue"); searchform.setSubsql(subsql); searchform.setSqlvalue(sqlvalue); searchform.setSearchType(searchType); }else{session.setAttribute("subsql",subsql);//通過提交表單觸發(fā)的“搜索操作” sqlvalue=Change.HTMLChange(searchform.getSqlvalue()); session.setAttribute("sqlvalue",sqlvalue); session.setAttribute("searchType",searchType); } Stringopname=""; Stringparam=""; if(searchType.equals("all")){ opname="="; param=sqlvalue; }else{ opname="like";param="%"+sqlvalue+"%";}5系統(tǒng)測試5.1正確認(rèn)識軟件測試(1)不能徹底測試程序。我們知道,軟件工程的總目標(biāo)是充分利用有限的人力和物力資源,高效率、高質(zhì)量地完成軟件開發(fā)項目。在測試階段既然窮舉測試是不可實現(xiàn)的,為了節(jié)省時間和資源,提高測試效率,就必須精心設(shè)計測試用例,使得采用這些測試數(shù)據(jù)能夠取得最佳的測試效果。(2)軟件測試的目的不是證實程序的正確性。(3)軟件錯誤是不可避免的。開發(fā)過程中軟件錯誤之所以不可避免,從客觀上講,是由于所開發(fā)的軟件具有相當(dāng)?shù)膹?fù)雜性。軟件開發(fā)的實踐一再表明,指望整個開發(fā)過程完全不出現(xiàn)人為的差錯是不可能的,問題在于如何能夠及時地發(fā)現(xiàn)和排除各種隱匿的差錯。(4)及時排除早期開發(fā)中的錯誤。這樣可以排除它給后期工作帶來的麻煩。也就避免付出高額的代價,從而大大提高開發(fā)的效率。(5)程序驗證方法無法取代測試。在實際的軟件開發(fā)項目中,測試仍然是最為現(xiàn)實、有效的質(zhì)量保證手段。5.2軟件測試的目的軟件測試的目的,第一是確認(rèn)軟件的質(zhì)量,其一方面是確認(rèn)軟件做了你所期望的事情,另一方面是確認(rèn)軟件以正確的方式來做了這個事件。第二是提供信息,比如提供給開發(fā)人員或程序經(jīng)理的反饋信息,為風(fēng)險評估所準(zhǔn)備的信息。第三軟件測試不僅是在測試軟件產(chǎn)品的本身,而且還包括軟件開發(fā)的過程。如果一個軟件產(chǎn)品開發(fā)完成之后發(fā)現(xiàn)了很多問題,這說明此軟件開發(fā)過程很可能是有缺陷的。因此軟件測試的第三個目的是保證整個軟件開發(fā)過程是高質(zhì)量
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 買賣合同模板集錦六篇
- 2024年版短期租房合同樣本
- 2024年版智能家居玻璃膠采購與供應(yīng)合同
- 大班社會教案4篇
- 公司市場部工作計劃模板
- 客服人員個人工作總結(jié)總結(jié)計劃
- 2021-2026年中國抗貧血藥鐵劑行業(yè)市場全景調(diào)研及投資規(guī)劃建議報告
- 一年級語文老師述職報告
- 2022年中職教師工作計劃個人
- 三年級上冊數(shù)學(xué)說課稿范文集錦七篇
- 文創(chuàng)園項目可行性方案
- 連鑄工藝講義
- 急性藥物中毒的急救與護(hù)理課件
- 臘八國旗下演講稿2篇
- 《故鄉(xiāng)》學(xué)習(xí)提綱
- 中藥材及飲片性狀鑒別1總結(jié)課件
- 信息系統(tǒng)及信息安全運維服務(wù)項目清單
- 最新大壩固結(jié)灌漿生產(chǎn)性試驗大綱
- DB32-T 2948-2016水利工程卷揚式啟閉機檢修技術(shù)規(guī)程-(高清現(xiàn)行)
- 公司EHS(安全、環(huán)保、職業(yè)健康)檢查表
- 《模擬電子技術(shù)基礎(chǔ)》課程設(shè)計-心電圖儀設(shè)計與制作
評論
0/150
提交評論