校園BBS論壇的設計與實現_第1頁
校園BBS論壇的設計與實現_第2頁
校園BBS論壇的設計與實現_第3頁
校園BBS論壇的設計與實現_第4頁
校園BBS論壇的設計與實現_第5頁
已閱讀5頁,還剩29頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

攀枝花學院本科畢業設計〔論文〕校園BBS論壇的設計與實現學生姓名:學生學號:院〔系〕:數學與計算機學院年級專業:2012級軟件工程指導教師:劉繼光〔教授〕助理指導教師:二〇一六年五月摘要我們的社會處于一個信息爆炸的時代,網絡在我們的日常生活中扮演著越來越重要的角色。而通過網絡的信息交流以其優越的特性使人們的生活更加方便快捷,而BBS〔電子公告牌系統BulletinBoardSystem,英文縮寫BBS〕作為信息交流的最常見平臺,以各種主題為主的BBS深受各個領域人士的喜愛。其中校園BBS在喜愛新鮮事物的充滿年輕人的大學校園里早已普及,是學生之間交流信息,共享資源,娛樂休閑的場所。本文通過多種的方式來描述校園BBS論壇的設計與實現過程,例如研究背景與意義、需求分析、可行性分析、數據庫設計、功能設計與實現、系統展示等內容?;贏SP.NET技術,采用C#作為網頁后臺的編程語言,MicrosoftVisualStudio2010作為系統開發工具,MicrosoftSQLServer2008R2為后臺數據庫而實現的。主要實現了用戶注冊、用戶的個人信息修改、喪失密碼找回、發布主題帖子、回復帖子、帖子搜索、及管理員對用戶、帖子、版塊的權限操作。并且設置了后臺管理,具有管理員權限的用戶擁有特殊的操作權限,便于系統的日常維護和管理。關鍵詞校園BBS,數據庫,ASP.NETABSTRACTOursocietyisinaneraofinformationexplosion,thenetworkplaysamoreandmoreimportantroleinourdailylife.Andthroughtheinformationexchangenetworkbecauseofitssuperiorcharacteristicsmakepeople'slifemoreconvenientandquick,andBBS(bulletinboardsystembulletinboardsystem,theinitialsBBS)asthemostcommonplatformforinformationexchange,basedonavarietyoftopicsofBBSbyvarioussectorsofthefavorite.ThecampusBBSinlovefreshthingsfullofyoungpeopleintheuniversitycampushaslongbeenpopular,istheexchangeofinformation,sharingofresourcesbetweenstudents,entertainmentplaces.ThispaperthroughavarietyofwaystodescribethedesignandtherealizationprocessofthecampusBBS,suchasresearchbackgroundandsignificance,needsanalysis,feasibilityanalysis,databasedesign,functionaldesignandimplementation,systemdisplaycontent.BasedonASP.NETtechnology,usingC#asawebpagebackgroundprogramminglanguage,VisualStudioMicrosoft2010asasystemdevelopmenttool,SQLServerMicrosoft2008R2forthebackgrounddatabase.Mainlytoachievetheuserregistration,theuser'spersonalinformationchanges,lostpasswordretrieve,postthemeposts,replyposts,Postssearch,andadministratorsonusers,posts,sectionsoftherighttooperate.Andsetupthebackstagemanagement,theuserwithadministratorprivilegeshasthespecialoperationauthority,isadvantageousforthesystemdailymaintenanceandthemanagement.KeywordsCampusBBS,database,ASP.NET目錄TOC\o"1-3"\h\u摘要IABSTRACTII1緒論11.1系統概述11.2研究的背景和意義21.3開發系統的目標22相關技術簡介42.1ASP.NET簡介42.1.1ASP.NET優點及特性42.1.2ASP.NET的原理42.2C#語言52.3LINQ52.4DIV+CSS布局63可行性和需求分析73.1可行性分析7法律可行性7技術可行性7經濟可行性7操作可行性73.2需求分析83.2.1功能概述83.2.2功能需求84總體設計104.1設計目標104.2系統體系結構10前臺的主要功能模塊10后臺的主要功能模塊114.3系統數據流程圖124.4數據庫設計12數據庫概念模型設計12數據庫實體間聯系14數據表15數據庫邏輯設計155系統實現185.1局部功能實現18用戶注冊18修改密碼22發布帖子24申請版塊27回復帖子295.2前臺頁面315.3后臺頁面33用戶管理界面33版塊管理界面34帖子管理界面346系統測試366.1系統測試技術366.2系統測試原那么366.3系統測試分類366.4系統測試37管理員登錄測試要點37刪除帖子測試要點376.5系統測試效果37結論40參考文獻40致謝401緒論1.1系統概述電子公告牌系統〔BulletinBoardSystem,英文縮寫BBS〕,也被稱作論壇,作為當今互聯網上最著名的效勞工程之一。伴隨著互聯網的迅速擴張及開展,為信息的交流提供了更加方便、快捷的方法,而大學生作為互聯網使用的最大群體,使得校園BBS以以下的特點,吸引著更多的人們:BBS的廣闊與自由;網上交流帶來的心理滿足;游戲規那么的刺激;可以獲得具體實際的幫助;利于放松和減輕壓力;可以發表觀點,肯定自己;結交朋友?,F代生活中無論是成年人還是未成年人都有著對信息的需求,虛擬的網絡能夠創造一個全新的展示交流信息的平臺,能夠在其中做很多平時不能輕易完成的事情,它集結了許許多多的內容,在這里各層次的人都可以接觸到許多以往生活中難以接觸到的信息,當今的人們喜愛結交新朋友,尋找有共同興趣的人交流討論,關注一些自己感興趣的信息,校園論壇為這些有共同愛好的年輕人創造了另一片交流的空間,因此網絡上涌現了以各所高校為背景的大量優秀大型校園論壇,而且,在生活的各個方面也能通過使用校園論壇來為我們的生活提供方便,比方校園兼職的廣告,如“征友”、“廉價轉讓”、“招聘人才”及“求職應聘”等啟事或一些商家產品廣告,依托校園論壇內大量的瀏覽量,廣告效果輻射程度都會很好,在方便人們的過程中,同樣能夠產生經濟效益,為祖國的開展做出微薄的奉獻。在論壇里大家最熟悉的就是用戶瀏覽論壇中已有的內容,針對別人的主題展開討論,同時也發表自己的觀點供大家品評,但是,言論的自由也會為一些別有用心的用戶提供了便利,比方散布一些不健康不合法的內容,所以用戶想要使用論壇的各種功能需要用戶注冊,這樣更有利管理用戶信息和用戶發布的信息,并且需要給BBS的設置管理員,以便及時對這些信息進行過濾、修改、以及刪除等,同時管理員還會負責論壇日常的維護,對各大板塊的信息、用戶的管理,同樣為了方便人們尋找感興趣的主題,論壇也應有各大小板塊,對應不同的話題,用來區分所有貼的內容,使得整個BBS論壇的內容井井有條不雜亂,論壇的根本功能就是要實現用戶的數據庫管理和帖子的數據庫管理,以及使這些數據庫和網頁的操作聯系起來。1.2研究的背景和意義從20世紀90年代起,世界各國相繼啟動其面向21世紀的教育信息化建設工程。我國也在2001年發布《教育信息化“十五”開展規劃》,提出用5到10年時間在全國范圍內開展教育信息化建設,全面實施“校校通”工程。在我國,信息化建設的進程在教育行業迅速推進,“學校信息化”、“校園網”、“校校通”成為當前網絡建設的熱點。信息化教育是以現代信息技術為根底的全新教育形式,然而信息技術為教育帶來一系列的革新,如效勞于個別化學習、拓展了教育內容、豐富了教育方式等,同時也為教育帶來了一些負面影響。由于信息技術的廣泛開展和互聯網的普及,使人類的信息量空前浩繁,大量的、無序的信息混于學習、工作之中反而讓人無所適從,根本無法快捷有效地查找自己所需要的信息,“信息疲乏綜合癥”、“知識匱乏”等現象受到越來越多的心理學家和教育工作者的關注。事實上,問題不是缺少信息,而是如何利用信息??萍嫉拈_展推動我們日常生活水平的提高,互聯網成為人們快速獲取、發布和傳遞信息的重要渠道,滲透進我們生活的各個方面,在各個領域都發揮著重要的作用,它使我們的社會生活更加緊密,現如今人們已經離不開網絡,它以其強大的傳播優勢能夠將獲取信息的困難、復雜轉化為輕松,簡單。論壇作為Internet上最知名的效勞之一,為信息的發布、傳遞、交流消除了地域和時間上的差距。是具有強大交互功能的實時信息交流平臺。信息獲取的途徑變得豐富,使得我們可以更有效的利用時間學習,校園論壇以緊扣校園生活為主題為在校大學生提供了一個相互溝通與交流的平臺,它是一條很好的師生、生生交流和溝通的途徑。我們可以利用校園論壇系統來進行交互式學習,培養學生利用網絡進行交互、協商、溝通,形成共識,分享成果的能力,形成批判性和創造性思維。除了相互溝通相互交流以外,我們還可以在論壇上提出問題或者請求別人的幫助,用戶可以閱讀他人關于某個主題的看法或者請求,然后根據自己的興趣愛好在幾分鐘之間,幾分鐘以內就可以表達自己的觀點或者幫助他人。極大程度上改變了傳統方式獲取信息的匱乏性,局限性,低效性。1.3開發系統的目標基于網絡的論壇社區是各種學習資源組合的場所,為學習者提供了學習環境。實現教學資源共享,方便大學生對本校各項工作的了解以及加深學生、教師與學校之間相互的交流,為在校師生提供一個交流平臺以便交流經驗,探討問題的社區,與此同時,豐富師生的校園生活,展現我校風采。讓即將成為校友的同學和離開學校的老校友了解學?,F在的開展狀況。校園BBS論壇的建設,同樣有利于學生對時事熱點的討論,現代的大學校園并不是封閉的象牙塔,大學里的學子們對社會熱點、時政非常關注,“中日關系”、“社會焦點”、“關注弱勢群體”等熱點問題一直是大學生們話題的重點。雖然我們沒有實際能力去做什么,但卻可以在BBS上說出自己的心中所想。我們憑著一顆顆愛國的心,或揭露社會黑暗的一面,或贊美自己觀察到的好人好事,或抨擊有損國家尊嚴、領土完整的事件。這些慷慨激昂的言論可以更好地表達青年學子對國家的熱愛、對未來的抱負。大學生們隨著年齡的增長,能夠結交到的知心朋友越來越少,加上學業和競爭的壓力,迫切需要一個可以傾吐、交流的空間,BBS剛好給我們提供了這樣一個平臺。大學生可以在BBS上講述自己的情感歷程、面臨的感情難題以及轉載自己搜集到的感人或是給人啟示的故事,一起交流、探討或者商量解決方法。由于大家的年齡、學識、經驗、需求都具有同質性,因此彼此之間的溝通和交流更容易理解。BBS使得大學生的情感交流更加透明和坦誠,他們不再羞于表達自己的情感,不管是愛情還是親情。如此一來,BBS里充滿了“人情味”,在這里獲得了鼓勵、支持和建議,在現實世界里也能更好的與同學、朋友進行溝通。2相關技術簡介2.1ASP.NET簡介ASP.NET是.NETFramework的一局部,是一種使嵌入網頁中的腳本技術,.NET是建立動態Web應用程序的平臺,通過HTTP的請求再動態創立于Web效勞器。該技術基于虛擬機,支持多種開發語言,所以具有良好的跨平臺性質,用.NET平臺支持的語言開發的程序,具有良好的兼容性,并且ASP.NET提供大量的效勞器端控件,大大提高了開發的效率。2.1.1ASP.NET優點及特性ASP.NET作為當前的主流開發技術之一,擁有各種優點和新特性,具體介紹如下:靈活性和兼容性強。因為ASP.NET兼容絕大多數主流開發語言,提供各種語言所需的插件,由不同語言開發的功能集成在相同的應用程序中非常方便;處理效率高。ASP.NET采用頁面脫離代碼技術,一個頁面的前后臺代碼分開保存,方便美工和后臺的協同開發,aspx代碼生成HTML頁面,aspx.cs生成邏輯代碼,前臺代碼運行處理快,而運行時后臺代碼封裝到動態鏈接庫里,保證了系統的平安性;開發效率,允許用戶使用功能完善的Strongly-type編程語言,也允許使用.NETframework,界面設計和程序設計別離,允許使用各種已有或新添加的控件,大大簡化編程過程。2.1.2ASP.NET的原理從發出一個HTTP請求再到展示出HTTP頁面,經過了IIS(Windows組件〕和.NETframework的大量工作,當一個HTTP請求被IIS接受后,IIS首先通過在效勞器端獲取所請求頁面的可處理的文件,這些文件根據后綴名來區分,獲取所需的文件后將其封裝到動態鏈接庫里(*.dll),之后經過不同的Httphodule〔用于獲取當前程序的模塊集合〕處理,最后傳入Httphandler(HTTP處理程序組件〕模塊處理,整個流程在提高了效率的同時還增加了平安性,加強了對各個緩解的控制力。運行原理如圖2.1所示:圖2.1ASP.NET運行原理圖2.2C#語言C#是一種平安的、穩定的、簡單的、由C和C++衍生出來的面向對象的運行于.NETFramework上的程序設計語言,所以,顯然它具有面向對象語言所應有的標志性特性——封裝、繼承、多態,在繼承以上語言的同時去掉它們的復雜性,例如不允許直接操作內存,不允許多重繼承,去掉指針,主要用于開發可以在.NET平臺上運行的應用程序。且能與.NET框架完全結合。作為一個一直在進步的編程語言,他的類非常多,上手快易于開發,最重要的是與COM〔Win32技術組件〕完美集成,生成的類作為一個COM使用。2.3LINQLINQ〔LanguageIntegratedQuery〕語言集成查詢,是用于C#和VisualBasic語言的擴展,它允許編寫C#或者VisualBasic代碼以查詢數據庫相同的方式操作內存數據。在此技術誕生之前,絕大多數關于數據庫的操作都是將SQL語句寫成一個String再通過ADO.NET傳給SQLServer,缺陷非常明顯,就是當SQL語句有錯誤時,只有運行時才知道,使用LINQ技術可以幫助我們快速的完成對數據庫的相關操作并且可以繞過關于數據庫語句的知識,直接使用LINQ的功能,在降低開發難度的同時,也降低了開發的門檻,它提前實現構架數據訪問層,極大的簡化了程序與數據庫間的交流,方便程序的開發。LINQ總體架構如圖2.2所示:圖2.2LINQ總體架構圖2.4DIV+CSS布局DIV+CSS是Web設計標準,它是一種網頁的布局方法,與傳統中通過表格布局定位的方法不同,它可以實現網頁頁面內容與表相別離,在HTML〔標準通用標記語言〕的根底上改良和優化的XHTML強化了XML應用與數據的轉換能力,以適應更多的網絡應用需求,實際上DIV+CSS實際上是表示的是XHTML+CSS。DIV元素是用來為HTML文檔內大塊〔Block-Level〕的內容提供結構和背景的元素,DIV與Table是XHTML或者HTML語言中的標記,而CSS〔CascadingStyleSheets層疊樣式表單〕只是一種表現形式。用來定義HTML元素的顯示形式或XML等文件式樣。DIV+CSS布局有如下優點:符合W3C標準,保證網站不會因為網絡應用升級而被淘汰;兼容廣闊主流、小眾的瀏覽器;標準代碼編寫,提高代碼使用率,提高頁面瀏覽速度,縮減帶寬本錢;結構直接、清晰,方便被網絡爬蟲讀取信息,便于被搜索引擎捕捉;表現和結構別離,易于分工合作減少相互關聯性;易于修改網頁版面,樣式的調整方便,簡單的少數CSS文件修改便能產生多種組合生成多網頁站點。3可行性和需求分析3.1可行性分析可行性研究是在工程開發前期對工程的一種考察和鑒定,對擬議中的工程進行全面的、綜合的調查研究,其目的是要判斷工程可行性。系統技術可行性研究要從系統開發的方案出發,論述系統開發力量的可行性,同時論證系統方案中所采取的各種技術手段上是否可以實現。由于系統建設是一項投資大、涉及面廣、工程復雜的系統工程,因此必須充分的進行可行性論證,以確保投資的準確無誤,而且系統建設是一項整體工程,必須站在系統的角度論證它的可行性才有說服力,才有意義??尚行匝芯康哪康牟皇墙鉀Q問題,而是確定問題是否值得去解決,可行性從以下四個方面來考慮。法律可行性本次系統開發所使用軟件均為正版軟件或者開源免費軟件,且為學生畢業設計作品,并非用于商業用途,并在相關法律規定下進行開發,系統具有原創性。不會侵犯他人、集體或者國家的利益,因此在法律上是可行的。技術可行性校園BBS論壇系統有以下特點:一是處理數據量大,要求及時查詢的內容較多;二是數據處理較集中,內部數據處理量大,輸出量大。三是及時性,要不斷更新最新的數據信息?;谝陨先齻€特點,系統采用SQLServer2008R2數據庫作為后臺數據庫,安裝和使用簡單易學,方便操作;前臺頁面采用ASP.NET動態頁面,ASP.NET比ASP、PHP有明顯的優勢;頁面布局和頁面數據處理很好的別離。數據庫的訪問采用目前比擬流行.NET框架下的LINQ技術,LINQ很好的防止了與數據庫的直接操作,提高了數據庫的平安性。所以本系統具有技術可行性。經濟可行性基于國內軟件行業現狀,校園BBS日常費用很小,主要是對論壇及數據庫的維護費用,系統管理員可以時刻對數據庫進行管理和維護,保持論壇的平安和信息的及時更新。開發系統所使用的計算機為自有,軟件為正版軟件或開源免費軟件,開發的系統是一個性能穩定,易于維護的系統,開發本錢低,且相比于擁有的廣告板塊所產生的經濟效益,所以本系統具有經濟可行性。操作可行性校園BBS論壇系統面向用戶要求交互性強,本系統是基于B/S結構,直接使用Internet或Chrome,等主流瀏覽器即可訪問。系統界面簡單、直觀,功能完善,操作簡單。對任何熟悉計算機操作的用戶都可以輕松使用。所以本次開發在操作上是可行的。3.2需求分析校園BBS論壇采用模塊化程序設計方法,易于系統的組合和維護,且具備數據庫維護功能,根據用戶需求進行增刪查改等操作。3.2.1功能概述在性能上,本系統要求能夠到達平安穩定。在用戶輸入相關信息時要嚴格防范錯誤和無效數據,要求保證數據的準確性和一致性,并保證相關數據符合實際需求實際意義。具體包含以下要求:信息及時性,能快速的把握時事分享最新發生的各個領域的信息;系統可靠性,對多種類型的信息有連續準確的處理,較強的容錯能力;易操作性。用戶容易理解和使用該系統,人機交互性強;可維護性和適應性,方便系統后期的維護和更新;平安性,用戶的信息要得到平安可靠的保護。根據上述要求,校園BBS論壇的根本功能要滿足以下幾類:用戶相關功能:包括用戶注冊、用戶登錄,查看所有主題帖子列表、發表帖子主題、查看帖子、回復帖子,對自己發表或回復的帖子進行修改補充;帖子相關操作:顯示所有的討論區,各討論區中所有的主題帖子,帖子主要內容,并提供發表,回復,修改,刪除帖子的相關操作,對于不同用戶提供不同的操作權限;管理員操作:版主具有所有用戶擁有的功能,并且能對所對應的討論區所有帖子進行修改和刪除,系統管理員具有所有用戶的功能,并且能對所有討論區的帖子進行修改和刪除,還具有用戶管理功能,包括修改用戶的個人信息或刪除用戶及各種信息的審核;數據庫模塊;實現對數據庫的連接和訪問。3.2.2功能需求為了系統的各模塊功能夠正常使用、系統更加人性化,也為了滿足系統的實用性及平安性,本系統初步設置了3種角色:游客,用戶,管理員。游客功能:游客可以瀏覽開放的板塊和帖子內容,也可以注冊,但是不能以游客的身份發布帖子,同樣也不可以回復帖子,以此來防范大量的虛假網絡信息,違法信息及廣告;普通用戶功能:瀏覽帖子、發布帖子、回復帖子、舉報違規帖子、修改個人密碼、刪除個人帖子、修改個人信息、個人賬戶找回、申請版主。普通用戶功能圖見圖3.1所示:圖3.1普通用戶功能圖建立在普通用戶的根底上,管理員還有如下功能:修改用戶信息、審核用戶信息、刪除用戶、審核板塊、新增板塊、刪除板塊、修改板塊信息、新增帖子、修改帖子信息、刪除用戶帖子、審核用戶帖子。管理員功能圖見圖3.2所示:圖3.2管理員功能4總體設計至此,本系統的開發階段進入總體設計階段,經過需求分析階段,清楚了用戶的需求后,根據需求分析階段所確定的系統的邏輯模型,完成系統的總體模型設計。4.1設計目標為可維護性和可讀性帶來方便,以及以后升級的同時降低復雜程度。本系統采用分模塊的設計方法。系統分成各個單一的模塊,單個模塊功能純粹獨立,與模塊間的聯系少接口簡單化,盡量做到高內聚低耦合。以此為前提,校園BBS論壇主要由前后臺兩局部組成,前臺包括搜索帖子,瀏覽帖子,用戶功能,賬戶登錄、找回,及舉報等,后臺主要由管理員操作組成,用于管理用戶,管理板塊,管理帖子內容和系統的日常維護等。同時由于BBS數據流大,所以應盡量滿足以下幾個目標:采用人機對話的操作方式,界面設計美觀友好,信息查看靈活、方便、快捷、準確,數據存儲平安可靠;全面展示系統所有分類的帖子;給用戶提供一個方便快捷的主題信息查看功能;實現在線發布帖子;提供登錄模塊,主要用于用戶登錄后發布帖子時留下發表者的信息和管理登錄后臺系統進行管理操作;用戶隨時都可以查看自己發布的帖子;系統運行穩定、平安可靠,并最大限度實現易維護性和易操作性。4.2系統體系結構前臺的主要功能模塊校園BBS論壇前臺的主要功能模塊見圖4.1所示:圖4.1校園BBS論壇前臺功能模塊圖后臺的主要功能模塊校園BBS論壇后臺的主要功能模塊如圖4.2所示:圖4.2校園BBS論壇后臺功能模塊圖4.3系統數據流程圖校園BBS論壇系統的數據流程如圖4.3所示:圖4.3校園BBS論壇數據流程圖4.4數據庫設計系統設計中數據庫設計是非常重要的組成局部,數據庫設計是在給定一個既定的環境下,根據符合語義的邏輯設計,提供一個既定準確的存儲結構和物理設計,用以實現系統目標,以提供有效存取數據和數據模型。數據庫設計的核心是數據類型的設計,準確的適應性廣泛的數據類型能幫助建立良好的數據結構和文件組織,設計不好整個系統的響應速度就會低效,用戶體驗也會大大折扣,使系統的數據能快速、精確的傳遞,這也是評價系統的重要指標之一。目前的數據庫管理系統中有三種數據類型。有層次模型、網狀模型、關系模型,關系模型的數據獨立性較高,使用也較為方便,采用關系模型的數據庫設計最多。這里將采用SQLServer2008R2關系數據庫。在此環境下對增、刪、查、改操作都非常方便。數據庫概念模型設計以下將用E-R圖表概念模型。E-R圖是分析數據及數據間的聯系的。下面具體列出校園BBS論壇的實體圖?!?〕用戶信息實體圖:主要屬性用戶ID,用戶名,密碼,號碼,郵箱,注冊原因,地址,平安問題,答案,角色〔1表示管理員,0表示普通用戶〕,審核〔0表示未審核,1表示審核通過〕,頭像路徑,申請時間,登錄時間。用戶信息實體圖如圖4.4所示:圖4.4用戶信息實體圖〔2〕版塊信息實體圖:主要屬性包括版塊ID,版塊名稱,審核〔0表示未審核,1表示審核通過〕,用戶ID,創立時間,是否顯示〔0表示不顯示,1表示顯示〕,帖子ID。板塊信息實體圖如圖4.5所示:圖4.5版塊實體圖〔3〕帖子信息實體圖:主要屬性包括帖子ID,標題,內容,審核〔0表示未審核,1表示審核通過〕,用戶ID,創立時間,是否顯示〔0表示不顯示,1表示顯示〕,閱讀次數,回復次數,資源鏈接名,資源鏈接路徑,版塊ID,舉報次數。帖子信息實體圖如圖4.6所示:圖4.6帖子實體圖〔4〕回帖信息實體圖:主要屬性包括回復帖子ID,帖子ID,回復人,回復內容,回復時間,審核〔0表示未審核,1表示審核通過〕。回帖信息實體圖如圖4.7所示:圖4.7回帖實體圖數據庫實體間聯系需求分析導出實體,實體的屬性和實體間的聯系模型。通過E-R圖表關系,并對E-R圖進行優化后得到數據庫概念的模型,系統E-R圖如圖4.8所示:圖4.8系統E-R圖數據表校園BBS論壇采用的是SQLServer2008R2數據庫,這里將數據庫命名為BBSForum,包括四個數據表dbo.Posts,dbo.ReplyPosts,dbo.Template,dbo.User。數據表如圖4.9所示:圖4.9數據表圖數據庫邏輯設計數據庫的邏輯設計是表結構和表關系的設計,本系統邏輯設計有四個表。各表結構的詳細設計如下?!?〕用戶信息表用戶表User,主要用于存放用戶的信息,表結構如表4.1所示:表4.1用戶信息表字段名數據類型長度是否空主鍵備注UserIDint10否主鍵用戶IDLoginNamenvarchar50是否用戶名Passwordnvarchar50是否密碼MobilePhonenvarchar50是否電話號碼Emailnvarchar50是否郵箱Reasonnvarchar50是否注冊原因Addressnvarchar200是否地址SafeQuestionnvarchar50是否安全問題Answernvarchar50是否答案Roleint10是否角色〔1管理員0.普通用戶〕Auditint10是否審核〔0.未審核1.審核通過〕HeadURLnvarchar50是否頭像路徑CreateTimedatetime23是否申請時間LastLoginTimedatetime23是否最后登錄時間〔2〕版塊信息表版塊信息表Template,主要用于存放版塊的信息,表結構如表4.2所示:表4.2版塊信息表字段名數據類型長度是否空主鍵備注TemplateIDint10否主鍵版塊IDNamenvarchar50是否版塊名稱Auditint10是否審核〔0.未審核1.審核通過〕UserIDint10是外鍵用戶IDCreateTimedatetime23是否創建時間Displayint10是否是否顯示〔1.顯示0.不顯示〕PIDint10是否帖子ID〔3〕帖子信息表帖子信息表Posts,主要用于存放發布帖子的信息,表結構如表4.3所示:表4.3帖子信息表字段名數據類型長度是否空主鍵備注PostsIDint10否主鍵帖子IDTitlenvarchar200是否標題Contentnvarchar4000是否內容Auditint10是否審核〔0.未審核1.審核通過〕UserIDint10是外鍵用戶IDCreateTimedatetime23是否創建時間Displayint10是否是否顯示〔1.顯示,0.不顯示〕ReadTimesint10是否閱讀次數ReplyTimesint10是否回復次數ResourcesNamenvarchar50是否資源鏈接名ResourcesUrlnvarchar200是否資源鏈接路徑TemplateIDint10是外鍵版塊IDReportTimesint10是否舉報次數〔4〕回帖信息表回帖信息表ReplyPosts,主要用于存放回復帖子的信息,表結構如表4.4所示:表4.4回貼信息表字段名數據類型長度是否空主鍵備注ReplyPostsIDint10否主鍵回復帖子IDPostsIDint10是外鍵帖子IDUserIDint10是外鍵回復人Contentnvarchar4000是否回復內容CreateTimedatetime23是否回復時間Auditint10是否審核〔0.未審核1.審核通過〕5系統實現經過系統分析、系統設計后,進行編碼實現階段。系統的規模越大,實現就越復雜,該階段是對前面工作的檢驗,又是面向用戶對系統使用的關鍵階段,設計需遵循易用、美觀、大方的設計準那么,給用戶提供一個簡介直觀的操作界面、防止復雜的操作方式。該階段的主要任務是進行編程語言的選擇、程序的編寫和調試。5.1局部功能實現用戶注冊用戶注冊是該系統關于用戶一切使用開始,也是用戶管理的首要步驟,將信息錄入到數據庫中。首先需要注冊,填寫賬戶和密碼、郵箱、地址等各種帳號信息。以下通過編寫程序的方式實現用戶注冊的功能。頁面功能設計:用戶注冊功能的頁面設計步驟如下所示:創立一個Web窗體,命名為Registered.aspx,用于實現用戶注冊功能;在窗體上首先添加一個1行1列的表格,再在該表格中添加假設干個表格,分別在相應的表格中添加TextBox控件,DropDownList控件,Button控件。用戶注冊用到的主要控件如表5.1所示:表5.1用戶注冊頁面控件表控件類型控件ID主要屬性設置備注txtLoginNameCssClass屬性設置為input輸入用戶名txtPasswordTextMode屬性值為Password輸入密碼txtAPasswordTextMode屬性值為Password輸入確認密碼txtMobilePhoneCssClass屬性設置為input輸入號碼txtEmailCssClass屬性設置為input輸入電子郵箱txtReasonCssClass屬性設置為input輸入注冊原因txtAddressCssClass屬性設置為input輸入地址txtAnswerCssClass屬性設置為input輸入答案ddlSafeQuestion系統默認值選擇平安問題btnSaveText屬性值為提交注冊提交注冊設計思路與程序代碼設計完注冊窗體的頁面之后,在Web窗體中“提交注冊”按鈕的單擊事件下,添加保存用戶注冊信息的程序,代碼如下:protectedvoidbtnSave_Click(objectsender,EventArgse){string_Password=txtPassword.Text.Trim();string_APassword=txtAPassword.Text.Trim();if(string.IsNullOrEmpty(_Password)||string.IsNullOrEmpty(_APassword)){MessageBox.Show("請輸入密碼跟確認密碼!!");return;}if(_Password!=_APassword){MessageBox.Show("密碼跟確認密碼不一致??!");return;}Models.Userentity=newProject.Models.User();entity.LoginName=txtLoginName.Text.Trim();entity.Password=_Password;entity.MobilePhone=txtMobilePhone.Text.Trim();entity.Email=txtEmail.Text.Trim();entity.Reason=txtReason.Text.Trim();entity.Address=txtAddress.Text.Trim();entity.SafeQuestion=ddlSafeQuestion.Text;entity.Answer=txtAnswer.Text.Trim();Resultresult=bll.Add(entity);if(result.Success){MessageBox.ShowAndRedirect(this,result.Message,"Index.aspx");}else{MessageBox.Show(this,result.Message);}}代碼說明:在填完注冊信息后,單擊“提交注冊”按鈕會判定用戶信息填寫的是否符合標準,當出現不符合的數據信息時,會判定給出相應的提示。例如,號碼為空或者格式不正確時,會提示“請輸入號碼”;如果密碼前后輸入不一致,那么提示“密碼跟確認密碼不一致”。最后注冊成為會員需要管理員對其申請注冊所填寫的信息進行審核,審核通過才能成為正式的會員。用戶注冊示意圖如圖5.1所示:圖5.1用戶注冊示意圖用戶注冊成功后需要管理員對用戶的注冊信息審核。在審核過程中管理員可以對用戶信息修改。確認無誤后點擊“保存”按鈕。審核通過后才是論壇的會員。審核的頁面如圖5.2所示:圖5.2管理員審核用戶信息頁面圖程序運行效果用戶注冊需要輸入用戶名,密碼,確認密碼,號碼,電子郵箱,注冊原因,現居住地,平安問題,你的答案。用戶注冊頁面如圖5.3所示:圖5.3用戶注冊頁面圖修改密碼以對用戶負責的角度,保證賬戶的平安性,修改密碼在用戶登錄后可以通過驗證原密碼的方法來修改密碼。修改密碼能提高用戶的平安性和可靠性。用戶在修改密碼時,首先輸入原密碼信息,確認后,再輸入新的密碼以及驗證新密碼,新密碼與驗證密碼一致的情況下,執行修改密碼的操作。頁面功能設計修改用戶密碼功能的頁面設計步驟如下所示。新建一個Web窗體,并將其命名為ChangePassword.aspx〔管理員修改密碼頁面在Views/ChangePassword.aspx〕,主要用于實現修改密碼功能。在窗體上首先添加一個1行1列的表格,再在該表格中添加假設干個表格,分別在相應的表格中添加TextBox控件,Button控件,RequiredFieldValidator控件,CompareValidator控件。用到的主要控件如表5.2所示:表5.2修改密碼頁面控件表控件類型控件ID主要屬性設置備注txtOldPWDTextMode屬性值為Password輸入舊密碼txtNewPWDTextMode屬性值為Password輸入新密碼txtAPWDTextMode屬性值為Password輸入確認密碼btnAddText屬性值為保存保存RequiredFieldValidator3ErrorMessage屬性值為*舊密碼不能為空提示舊密碼不能為空RequiredFieldValidator2ErrorMessage屬性值為*新密碼不能為空提示新密碼不能為空RequiredFieldValidator1ErrorMessage屬性值*確認密碼不能為空提示確認密碼不能為空CompareValidator1ErrorMessage屬性值為密碼不一致提示密碼不一致設計完修改密碼頁面之后,在Web窗體中“保存”按鈕的單擊事件下,修改密碼代碼設計如下:protectedvoidbtnAdd_Click(objectsender,EventArgse){Models.Useruser=Session["user"]asModels.User;if(user==null){MessageBox.ShowAndRedirect(this,"請您先登錄!","Default.aspx");return;}if(txtOldPWD.Text.Trim()!=user.Password){MessageBox.Show(this,"舊密碼不對,無法修改密碼??!");return;}Resultresult=bll.EditPwd(user.LoginName,txtNewPWD.Text.Trim());if(result.Success){Session["user"]=bll.Single(user.UserID);MessageBox.ShowAndRedirect(this,result.Message,"Default.aspx");}else{MessageBox.Show(this,result.Message);}}代碼說明:首先判斷輸入的信息是否完整,然后再判斷修改用戶的原密碼輸入是否正確,最后再判斷兩次新密碼是否一致,在滿足所有條件的情況下完成修改用戶密碼的操作,具體實現的過程如圖5.4所示:圖5.4修改密碼示意圖程序運行效果修改密碼頁面如圖5.5所示:圖5.5修改密碼頁面圖發布帖子發布帖子是BBS最根本功能之一,用戶發布帖子成功后可以供他人瀏覽,參與討論,回復帖子。頁面功能設計發布帖子功能的頁面設計步驟如下:新建一個Web窗體,并將其命名為Posts_Add.aspx。在窗體上添加表格,在表格中添加TextBox控件,Input〔File〕控件,DropDownList控件,Button控件,主要的控件如表5.3所示。設計發布帖子頁面如圖5.6所示:表5.3發布帖子頁面控件表控件類型控件ID主要屬性設置備注txtTitle系統默認值輸入標題txtContentTextMode屬性值為MultiLine輸入內容ddlTemplate系統默認值選擇板塊File1系統默認值上傳附件btnSaveText屬性值為保存保存圖5.6發布帖子頁面設計圖設計思路與程序代碼設計完發布帖子窗體的頁面之后,在Web窗體中“保存”按鈕的單擊事件下,添加保存帖子的信息的程序,代碼如下:protectedvoidbtnSave_Click(objectsender,EventArgse){Models.Useruser=Session["user"]asModels.User;Models.Postsentity=newProject.Models.Posts();entity.Title=txtTitle.Text.Trim();entity.Content=txtContent.Text;entity.Audit=1;entity.Display=1;entity.UserID=user.UserID;entity.ResourcesUrl=_ResourcesUrl;entity.ResourcesName=File1.PostedFile.FileName;entity.TemplateID=_TemplateID;Resultresult=bll.Add(entity);if(result.Success){MessageBox.ShowAndRedirect(this,result.Message,"Posts_List.aspx");}else{MessageBox.Show(this,result.Message);}}代碼說明:發布帖子需要完成必須內容的填寫,選擇所屬版塊,當標題或者內容為空時會給出相應的提示,當標題,內容填寫完成后點擊“保存”按鈕,如果在同一版塊內有相同的標題的帖子那么會提示“對不起,標題已存在!”否那么,發布帖子信息成功。發布帖子的示意圖如圖5.7所示:圖5.7發布帖子示意圖程序運行效果發布標題為“推薦一本你認為最好的書籍”內容為“這周是讀書周,推薦一本你認為最好的書籍”所屬版塊為“雜談”的帖子,發布帖子的頁面所圖5.8所示:圖5.8發布帖子頁面圖申請版塊為積極的用戶提供更多的體驗,在可以發帖的根底上,還可以申請成為某板塊的版主。頁面功能設計申請版塊功能的頁面設計步驟如下:新建一個Web窗體,并將其命名為Template_Add.aspx,主要用于用戶申請版塊的功能。在窗體上添加表格,在表格中添加TextBox控件,DropDownList控件,Button控件,主要的控件如表5.4所示:表5.4申請版塊頁面控件表控件類型控件ID主要屬性設置備注txtName系統默認值輸入版塊名ddlTemplate系統默認值選擇所屬版塊btnSaveText屬性值為申請申請版塊申請板塊的設計頁面如圖5.9所示:圖5.9申請版塊設計頁面圖設計思路與程序代碼設計完申請版塊窗體的頁面之后,在Web窗體中“申請”按鈕的單擊事件下,申請版塊的程序代碼如下:protectedvoidbtnSave_Click(objectsender,EventArgse){Models.Useruser=Session["user"]asModels.User;Models.Templateentity=newProject.Models.Template();entity.PID=Helper.ConvertToInt(ddlTemplate.SelectedValue);entity.Name=txtName.Text.Trim();entity.Audit=0;entity.Display=1;entity.UserID=user.UserID;Resultresult=bll.Add(entity);if(result.Success){MessageBox.ShowAndRedirect(this,result.Message,"Posts_Add.aspx");}else{MessageBox.Show(this,result.Message);}}代碼說明:用戶先選擇對應的板塊,并輸入正確的名稱,如果沒有輸入版塊名稱會提示“請輸入版塊名稱”;如果在同一個版塊輸入相同的版塊名稱后會提示“對不起,版塊名稱已存在”否那么申請版塊成功,等待管理員審核,這時候版塊還沒有在前臺顯示,需要管理員審核。申請版塊的示意圖如圖5.10所示:圖5.10申請版塊示意圖當管理員選擇審核情況已審核,顯示情況顯示時,前臺才顯示版塊。管理員審核的頁面如圖5.11所示:圖5.11管理員審核板塊頁面圖回復帖子頁面功能設計申請版塊功能的頁面設計步驟如下:新建一個Web窗體,并將其命名為ReplyPosts_Edit.aspx,主要用于用戶回復帖子的功能。在窗體上添加表格,在表格中添加TextBox控件,Button控件,主要的控件如表5.5所示:表5.5回復帖子頁面控件表控件類型控件ID主要屬性設置備注txtContentTextMode屬性值為MultiLine輸入回復內容btnSaveText屬性值為回復回復按鈕btnReportTimesText屬性值為舉報舉報按鈕設計思路與程序代碼設計完回復帖子的設計頁面之后,在Web窗體中“回復”按鈕的單擊事件下,回復的程序代碼如下:protectedvoidbtnSave_Click(objectsender,EventArgse){Models.Useruser=Session["user"]asModels.User;Models.ReplyPostsentity=newProject.Models.ReplyPosts();entity.UserID=user.UserID;entity.PostsID=_PostsID;entity.Content=txtContent.Text;Resultresult=bll.Add(entity);Response.Redirect("ReplyPosts_Edit.aspx?PostID="+_PostsID);}程序運行效果回復劉同的《誰的青春不迷?!返捻撁嫒鐖D5.12所示:圖5.12回復帖子頁面圖5.2前臺頁面校園BBS論壇首頁顯示效果如圖5.13所示。此頁面顯示了校園BBS具有的各大功能和板塊。此頁面可以進行搜索操作,登錄操作及密碼找回與管理員的后臺操作。圖5.13校園BBS首頁圖登錄成功后,學習交流板塊如圖5.14,假設登錄失敗,會給出相應的提示和對應的操作。忘記密碼可通過右上方密碼找回功能圖5.14學習交流版塊的帖子信息圖Admin用戶界面信息如圖5.15所示:圖5.15Admin發布的帖子信息圖此頁面包括帖子題目,樓主發帖內容,發表時間,回帖人的回復內容,注冊時間,頭像等根本信息。帖子詳情如圖5.16所示:圖5.16帖子詳情圖5.3后臺頁面用戶管理界面在管理員頁面左邊一欄包括用戶管理,版塊管理,帖子管理和系統管理。用戶列表顯示用戶的各種根本信息。管理員頁面如圖5.17所示:圖5.17用戶列表圖管理員對用戶信息修改的頁面如圖5.18所示:圖5.18管理員修改用戶信息頁面圖版塊管理界面管理員選擇版塊管理界面如圖5.19所示:圖5.19版塊列表圖帖子管理界面管理員的帖子管理界面上半部圖如圖5.20,下半部圖如圖5.21所示:圖5.20帖子列表上半部圖圖5.21帖子列表下半部圖管理員對帖子修改頁面如圖5.22所示:圖5.22修改帖子信息6系統測試軟件開發過程中,不可防止的會出現各種各樣的問題,為盡早發現并修正這些問題,我們需要在正式投入使用之前進行嚴格的測試,以防止正式使用后產生更大的本錢損失,目的是檢驗系統是否滿足需求,找出各種錯誤與問題。并及時修改這些問題6.1系統測試技術系統測試是利用手動或自動的方式來運行某個軟件,以期望從中發現尚未被發現的錯誤,在實際運行環境下對計算機系統進行的一系列嚴格有效地測試,以發現軟件潛在的問題,保證系統的正常運行。軟件測試技術通常被分為兩大類:黑盒測試,有時又被稱作功能測試,旨在測試軟件是否滿足功能求,黑盒測試主要以軟件的行為描述為根底;白盒測試,常用測試方法是路徑覆蓋法。白盒測試主要根據程序的邏輯結構為根底。6.2系統測試原那么為保證測試的結果有效,本次系統測試應該遵循一定的測試原那么以保證測試結果的有效性,如:測試應該盡早并且伴隨整個開發周期的進行測試;軟件測試應當由第三方來進行,盡量防止程序員自己測試自己的程序;測試場景應盡量完整無缺陷;測試應當有方案的執行并按照方案有指導性的進行測試;軟件測試其他原那么。6.3系統測試分類此處以檢驗軟件功能是否符合需求分析,采用較為常見的目的性測試為主有以下幾類:功能測試。是否按照需求分析所要求的那樣正確的提供相關的使用功能;恢復測試?;謴蜏y試目的是關注導致軟件運行失敗的各種條件,在軟件或者硬件發生崩潰后能否恢復系統和數據,并驗證其恢復過程能否正確執行;平安測試。平安測試用來驗證系統內部的保護機制,以防止非法侵入。測試人員扮演試圖侵入系統的角色,使用各種方法進入系統內部。平安測試用來驗證系統內部的保護機制,以防止非法侵入。測試人員扮演試圖侵入系統的角色,使用各種方法進入系統內部;壓力測試。壓力測試是使用異常的訪問量、頻率或數據量來執行系統。如設計測試用例產生每秒產生大量的中斷,或者在某個數據量量級下

溫馨提示

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

評論

0/150

提交評論