




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
-PAGEI-摘要隨著網(wǎng)絡(luò)技術(shù)的快速發(fā)展和信息時(shí)代的到來(lái),博客作為網(wǎng)絡(luò)上的社會(huì)化交流平臺(tái),其影響力越來(lái)越大。本文在基于SpringBoot框架,設(shè)計(jì)并實(shí)現(xiàn)一個(gè)功能完善、界面簡(jiǎn)潔的個(gè)人博客系統(tǒng),以滿足用戶對(duì)于信息獲取分享的需求。通過(guò)深入分析用戶需求和系統(tǒng)要求,本文提出了一個(gè)基于B/S結(jié)構(gòu)的軟件架構(gòu),并詳細(xì)劃分了各功能模塊。B/S的開(kāi)發(fā)模式,讓用戶的設(shè)備無(wú)需負(fù)載多余的程序,只需要通過(guò)瀏覽器就能訪問(wèn)到該系統(tǒng),極大的減輕了用戶的負(fù)擔(dān)。在開(kāi)發(fā)過(guò)程中,采用了SpringBoot和MyBatis等開(kāi)發(fā)框架,結(jié)合IntelliJIDEA集成開(kāi)發(fā)環(huán)境和Navicat數(shù)據(jù)庫(kù)管理工具,完成了系統(tǒng)的功能開(kāi)發(fā)和數(shù)據(jù)庫(kù)設(shè)計(jì)開(kāi)發(fā)。最后,對(duì)系統(tǒng)進(jìn)行了全面的測(cè)試,確保其穩(wěn)定性和可靠性。關(guān)鍵詞:SpringBoot框架MyBatisB/S博客系統(tǒng)AbstractWiththerapiddevelopmentofnetworktechnologyandthecomingoftheinformationage,blog,asasocialcommunicationplatformonthenetwork,hasbecomemoreandmoreinfluential.BasedonSpringBootframework,thispaperdesignsandimplementsapersonalblogsystemwithperfectfunctionsandsimpleinterfacetomeettheneedsofusersforinformationacquisitionandsharing.Basedontheanalysisofuserrequirementsandsystemrequirements,thispaperproposesasoftwarearchitecturebasedonB/Sstructure,anddivideseachfunctionmoduleindetail.B/Sdevelopmentmode,sothattheuser'sdevicedoesnotneedtoloadredundantprograms,onlyneedtoaccessthesystemthroughthebrowser,greatlyreducingtheburdenontheuser.Intheprocessofdevelopment,SpringBootandMyBatisdevelopmentframeworksareadopted,combinedwithIntelliJIDEAintegrateddevelopmentenvironmentandNavicatdatabasemanagementtools,tocompletethesystemfunctiondevelopmentanddatabasedesign.Finally,thesystemistestedcomprehensivelytoensureitsstabilityandreliability.Keywords:SpringBootframework,MyBatis,B/S,blogsystem目錄摘要 IAbstract II目錄 III前言 11概述 21.1研究背景與意義 21.2國(guó)內(nèi)外研究現(xiàn)狀 21.3論文主要工作 21.4章節(jié)安排 22系統(tǒng)分析 32.1系統(tǒng)可行性分析 32.2需求分析 32.2.1系統(tǒng)功能性需求 32.2.2系統(tǒng)性能需求 32.3本章小結(jié) 33系統(tǒng)設(shè)計(jì) 43.1系統(tǒng)總體設(shè)計(jì) 43.1.1系統(tǒng)體系架構(gòu)設(shè)計(jì) 43.1.2系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì) 43.2系統(tǒng)詳細(xì)功能設(shè)計(jì) 43.2.1用戶登錄注冊(cè)功能 43.2.2博客相關(guān)功能 43.2.3社交相關(guān)功能 43.3數(shù)據(jù)庫(kù)設(shè)計(jì) 43.3.1數(shù)據(jù)庫(kù)實(shí)體關(guān)系設(shè)計(jì) 43.3.2數(shù)據(jù)庫(kù)表設(shè)計(jì) 43.4本章小結(jié) 44系統(tǒng)實(shí)現(xiàn)及測(cè)試 54.1開(kāi)發(fā)環(huán)境 54.2系統(tǒng)功能實(shí)現(xiàn) 54.2.1博主相關(guān)功能實(shí)現(xiàn) 54.2.2博客相關(guān)功能實(shí)現(xiàn) 54.2.3社交相關(guān)功能實(shí)現(xiàn) 54.3系統(tǒng)測(cè)試 54.3.1測(cè)試方法 54.3.2測(cè)試用例 54.4本章小結(jié) 55結(jié)論 65.1全文總結(jié) 65.2展望 6參考文獻(xiàn) 7-前言隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,信息時(shí)代的到來(lái),使得許多人通過(guò)網(wǎng)絡(luò)獲得信息,進(jìn)行信息的交流。在此情況下,博客已逐漸成長(zhǎng)為網(wǎng)路上流行的社會(huì)化網(wǎng)絡(luò)平臺(tái)。所以,建立個(gè)人的博客體系是非常有必要的。而blog的表現(xiàn)方式和簡(jiǎn)潔的溝通方式,以及SpringBoot易于開(kāi)發(fā)和維護(hù)等特性;以SpringBoot為基礎(chǔ),對(duì)個(gè)人blog進(jìn)行了設(shè)計(jì)和開(kāi)發(fā)。此外,由于個(gè)人博客的主要服務(wù)對(duì)象是使用者,因此其界面設(shè)計(jì)應(yīng)該力求簡(jiǎn)潔明了,易于理解,這樣才能讓使用者更方便地操作和使用。該系統(tǒng)采用SpringBoot+MyBatis這兩個(gè)目前在市面上非常受歡迎的開(kāi)發(fā)框架。本文從軟件工程角度出發(fā),對(duì)整個(gè)系統(tǒng)進(jìn)行了詳細(xì)的剖析,確定了整個(gè)系統(tǒng)的要求。在此基礎(chǔ)上,提出了一個(gè)基于B/S結(jié)構(gòu)的軟件體系結(jié)構(gòu),并對(duì)各主要功能模塊進(jìn)行了詳細(xì)的劃分和細(xì)化,同時(shí)考慮了系統(tǒng)接口的設(shè)計(jì)和實(shí)現(xiàn)。在IntelliJIDEA集成開(kāi)發(fā)環(huán)境的支持下,利用相關(guān)技術(shù)完成了系統(tǒng)的各項(xiàng)功能開(kāi)發(fā)。在此過(guò)程中,Navicat作為數(shù)據(jù)庫(kù)管理工具,協(xié)助高效地管理和操作數(shù)據(jù)庫(kù)。完成開(kāi)發(fā)后,對(duì)系統(tǒng)進(jìn)行了全面的軟件測(cè)試,以確保其穩(wěn)定性和可靠性。1概述1.1研究背景與意義隨著計(jì)算機(jī)技術(shù)的飛速發(fā)展,它已經(jīng)滲透到了我們的日常生活中,給我們帶來(lái)了很大的便利。同時(shí),人類獲得知識(shí)的途徑正在發(fā)生變化。網(wǎng)絡(luò)時(shí)代以前,人類通過(guò)書(shū)籍獲得知識(shí),通過(guò)手寫筆記來(lái)進(jìn)行學(xué)習(xí),與好友進(jìn)行線下的探討。這種方法已經(jīng)延續(xù)了上千年之久,但效率低下,而且容易遺失,占用空間也很大,很不便利。為了適應(yīng)人民對(duì)高質(zhì)量生活的要求,我們急需一種更好的教學(xué)和溝通方法。博客正是在這種情況下誕生的[1]。blog是一個(gè)個(gè)體經(jīng)營(yíng)的、能夠即時(shí)更新作品的網(wǎng)絡(luò)溝通平臺(tái),通過(guò)網(wǎng)絡(luò)實(shí)現(xiàn)人們的相互溝通[2]。作為一種傳播資訊的手段,博客自其產(chǎn)生以來(lái),就深受各行各業(yè)的歡迎,大家都會(huì)通過(guò)博客來(lái)與大家共享生活、知識(shí)和見(jiàn)解。由于blog可以在目前的網(wǎng)絡(luò)環(huán)境中,以個(gè)體的角度來(lái)進(jìn)行記載,選擇并吸納自己獲得有價(jià)值的信息,以幫助別人,與別人進(jìn)行溝通和探討;因此,它具有更高的共享價(jià)值。博客既具備個(gè)人性,又具備社會(huì)性,是二者的綜合[3]。如今,博客已經(jīng)深入到我們的日常生活中。人們關(guān)心的事情各不相同,并各自組成了自己的小團(tuán)體,每個(gè)小團(tuán)體所關(guān)注的話題都不一樣,比如新聞、生活、知識(shí)分享等等。網(wǎng)絡(luò)上匯聚而成的“圈”,即博客,新聞博客,知識(shí)共享博客等等。博客是一種方便的資訊來(lái)源。在中國(guó),也有不少的blog,像新浪,搜狐,網(wǎng)易,還有科技共享的CSDN,博客園等等。隨著時(shí)間的推移,網(wǎng)絡(luò)上也出現(xiàn)了很多類似于新浪微博這樣的小程序,可以在很長(zhǎng)一段時(shí)間里,通過(guò)它來(lái)記錄自己的情緒,讓用戶能夠第一時(shí)間了解到自己在這個(gè)時(shí)候的感受。又如抖音、快手等短視頻平臺(tái),用戶可以非常方便地將短視頻上傳到各個(gè)平臺(tái),同時(shí)也能夠迅速找到其它用戶所共享的生活和知識(shí)。盡管在操作方法上與傳統(tǒng)blog相比存在較大差別,但是他們都秉承了blog的本質(zhì),那就是注重表現(xiàn)與共享,注重內(nèi)容的傳遞。所以,博客成為資訊社會(huì)中最流行的資訊傳播途徑。[4]1.2國(guó)內(nèi)外研究現(xiàn)狀博客作為一種重要的在線交流和知識(shí)分享平臺(tái),在國(guó)內(nèi)外都受到了廣泛的關(guān)注和研究。在國(guó)外,博客的起源可以追溯到20世紀(jì)90年代末,最早的博客平臺(tái)如Blogger和LiveJournal等迅速興起,為用戶提供了自由發(fā)布和分享內(nèi)容的平臺(tái)。隨著Web2.0技術(shù)的發(fā)展,博客平臺(tái)逐漸融入更多的社交功能,形成了如Facebook、Twitter等綜合性社交平臺(tái)。這些平臺(tái)不僅支持個(gè)人發(fā)布博客,還提供了評(píng)論、點(diǎn)贊、轉(zhuǎn)發(fā)等交互功能,促進(jìn)了用戶之間的交流和互動(dòng)。在國(guó)內(nèi),博客的發(fā)展也經(jīng)歷了類似的過(guò)程。早期的博客平臺(tái)如博客網(wǎng)、天涯博客等吸引了大量用戶,成為個(gè)人表達(dá)、知識(shí)分享和社交互動(dòng)的重要場(chǎng)所。隨著移動(dòng)互聯(lián)網(wǎng)的普及,博客逐漸與微博、微信公眾號(hào)等新媒體形式融合,形成了更加多樣化的內(nèi)容生態(tài)。此外,隨著人工智能和大數(shù)據(jù)技術(shù)的發(fā)展,國(guó)內(nèi)也開(kāi)始探索博客內(nèi)容的智能推薦、情感分析以及版權(quán)保護(hù)等前沿應(yīng)用領(lǐng)域。這些研究不僅推動(dòng)了博客技術(shù)的發(fā)展,也為博客平臺(tái)的創(chuàng)新提供了有力支持??傊┛鸵呀?jīng)發(fā)展成為網(wǎng)絡(luò)溝通與知識(shí)共享的主要線上平臺(tái)。隨著科技的不斷進(jìn)步和應(yīng)用范圍的日益擴(kuò)大,博客將繼續(xù)扮演重要角色,為使用者提供更多的溝通與共享機(jī)會(huì),幫助他們積累更豐富的經(jīng)驗(yàn)。無(wú)論是個(gè)人還是企業(yè),都可以通過(guò)博客這一平臺(tái),分享自己的見(jiàn)解、知識(shí)和生活,與更多的人進(jìn)行交流和互動(dòng),從而推動(dòng)信息的傳播和知識(shí)的共享。1.3論文主要工作本文基于SpringBoot設(shè)計(jì)并實(shí)現(xiàn)了個(gè)人博客系統(tǒng)[5]。在開(kāi)發(fā)過(guò)程中,遵循了軟件工程的標(biāo)準(zhǔn)開(kāi)發(fā)流程[6],并在系統(tǒng)分析、設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試等方面采用了科學(xué)、高效的方法。最終,成功構(gòu)建了一個(gè)功能完善且強(qiáng)大的博客系統(tǒng)。主要工作包括:(1)通過(guò)調(diào)研和分析,初步確立了該項(xiàng)目的研發(fā)方案,明確了該項(xiàng)目的實(shí)施方案,明確了整個(gè)項(xiàng)目的總體思想和實(shí)施流程;按照預(yù)先設(shè)計(jì)好的思想過(guò)程,對(duì)各個(gè)功能模塊進(jìn)行需求導(dǎo)向的設(shè)計(jì)。(2)在對(duì)本項(xiàng)目的前期研究基礎(chǔ)上,完成了該項(xiàng)目的開(kāi)發(fā)。首先對(duì)該軟件的總體功能進(jìn)行了總體的規(guī)劃,明確了該軟件所要完成的一些基礎(chǔ)功能;然后對(duì)各個(gè)模塊進(jìn)行了詳細(xì)的設(shè)計(jì),明確了各個(gè)模塊所要完成的特定功能。并對(duì)該體系進(jìn)行了數(shù)據(jù)庫(kù)的設(shè)計(jì)。在此基礎(chǔ)上,給出了相應(yīng)的流程圖和相應(yīng)的圖形,使整個(gè)軟件的功能得到了更好的體現(xiàn),為以后的開(kāi)發(fā)打下了良好的基礎(chǔ)。(3)按照系統(tǒng)的要求進(jìn)行了詳細(xì)的需求分析和設(shè)計(jì),并將所學(xué)到的各種方法和技術(shù)應(yīng)用到了blog平臺(tái)的研發(fā)中,并在此基礎(chǔ)上采用了黑箱和白箱測(cè)試等多種測(cè)試方法對(duì)該系統(tǒng)進(jìn)行了驗(yàn)證?;谠囼?yàn)的結(jié)果,判定與期望的系統(tǒng)設(shè)計(jì)相符。1.4章節(jié)安排論文的組織架構(gòu)由如下幾個(gè)部分組成:第一章是緒論。本章簡(jiǎn)單概述了系統(tǒng)的研究背景與意義,分析國(guó)內(nèi)外研究現(xiàn)狀,并簡(jiǎn)要的介紹了論文的核心內(nèi)容,為后續(xù)章節(jié)奠定基礎(chǔ)。第二章是系統(tǒng)分析。在這一章節(jié)中,深入研究并分析現(xiàn)有的博客系統(tǒng),以確定新系統(tǒng)的設(shè)計(jì)方向。此外,還將進(jìn)行系統(tǒng)的可行性研究和需求分析,確保新系統(tǒng)能夠滿足用戶需求并具有實(shí)際的應(yīng)用價(jià)值。第三章是系統(tǒng)設(shè)計(jì)。重點(diǎn)闡述了該軟件的整體設(shè)計(jì),詳細(xì)的功能設(shè)計(jì)和數(shù)據(jù)庫(kù)的設(shè)計(jì)。第四章是系統(tǒng)實(shí)現(xiàn)與測(cè)試。重點(diǎn)介紹了本課題研究中所涉及到的各模塊的具體實(shí)施流程,并對(duì)其進(jìn)行了黑箱和白箱的測(cè)試。第五章是總結(jié)與展望。本章將總結(jié)本文的主要工作,并對(duì)未來(lái)研究方向進(jìn)行展望,以期為相關(guān)領(lǐng)域的進(jìn)一步發(fā)展提供有價(jià)值的參考。2系統(tǒng)分析系統(tǒng)分析[7]是開(kāi)發(fā)過(guò)程中最重要的階段之一,是對(duì)整個(gè)軟件進(jìn)行詳細(xì)的介紹。在這一章中,我們將利用用例圖表的方法,對(duì)該系統(tǒng)中的每個(gè)功能模塊進(jìn)行詳細(xì)的剖析,并進(jìn)一步對(duì)該系統(tǒng)中的一些非功能性要求進(jìn)行分析,例如系統(tǒng)的性能與穩(wěn)定性等。2.1系統(tǒng)可行性分析可行性分析就是從技術(shù)上、經(jīng)濟(jì)上、工程上對(duì)工程建設(shè)的基本要素及條件進(jìn)行調(diào)查研究的一種綜合性的系統(tǒng)分析法;對(duì)該工程完工后的財(cái)政、經(jīng)濟(jì)和社會(huì)效益進(jìn)行了分析對(duì)比,并對(duì)其進(jìn)行了展望,從而對(duì)該工程的可行性提出了意見(jiàn),為該工程的開(kāi)發(fā)和實(shí)施提供了參考。所以,在項(xiàng)目實(shí)施之前,要做好項(xiàng)目的可行性研究。它有助于我們深入了解用戶需求,并明確系統(tǒng)開(kāi)發(fā)的潛在可行性。因此,對(duì)該體系進(jìn)行了深入的可行性研究。在總體設(shè)計(jì)和實(shí)施的角度上,對(duì)比多種技術(shù)路線,最終選擇了最適合的技術(shù)方案。具體來(lái)說(shuō),后臺(tái)應(yīng)用了SpringBoot架構(gòu),并在JavaJDK17環(huán)境下運(yùn)行,同時(shí)采用MySQL作為數(shù)據(jù)庫(kù)。此外,還選擇了IDEA作為開(kāi)發(fā)工具,它擁有出色的用戶界面和強(qiáng)大的技術(shù)實(shí)用性。從費(fèi)用角度看,該方案成本可控,并具備一定的經(jīng)濟(jì)效益。綜上所述,該體系在技術(shù)上具備可行性,并有望在實(shí)際應(yīng)用中取得良好的效果。2.2需求分析在整個(gè)軟件開(kāi)發(fā)過(guò)程中,需求分析占據(jù)著舉足輕重的地位。其核心任務(wù)在于深入剖析系統(tǒng)所需實(shí)現(xiàn)的功能,而不涉及具體的實(shí)現(xiàn)細(xì)節(jié)。這一過(guò)程對(duì)于后續(xù)的軟件設(shè)計(jì)、實(shí)現(xiàn)以及測(cè)試階段具有至關(guān)重要的指導(dǎo)作用,確保軟件能夠精準(zhǔn)滿足預(yù)期的功能需求。針對(duì)本系統(tǒng),功能需求因包含幾個(gè)方面。首先,在用戶管理方面,系統(tǒng)需要提供博主注冊(cè)、登錄以及個(gè)人信息修改的功能。博主通過(guò)注冊(cè)成為系統(tǒng)用戶,并憑借用戶名和密碼登錄系統(tǒng),進(jìn)而管理自己的博客。個(gè)人信息修改功能則允許博主隨時(shí)更新個(gè)人資料,保持信息的時(shí)效性;其次,在博客內(nèi)容管理方面,系統(tǒng)應(yīng)支持博主的博客發(fā)布、修改和刪除操作。博主能夠創(chuàng)建新的博客文章,包括標(biāo)題、正文、圖片等元素的編輯與排版,并發(fā)布到系統(tǒng)中供訪客瀏覽。同時(shí),博主還可以對(duì)已發(fā)布的博客進(jìn)行修改和更新,確保內(nèi)容的準(zhǔn)確性和完整性。對(duì)于不再需要的博客文章,博主也可以執(zhí)行刪除操作;最后,社交互動(dòng)方面,系統(tǒng)需實(shí)現(xiàn)訪客對(duì)博客的評(píng)論、點(diǎn)贊以及博主與訪客之間的關(guān)注功能。訪客可以瀏覽博主的博客文章,并發(fā)表自己的評(píng)論和看法。博主可以回復(fù)評(píng)論,與訪客進(jìn)行互動(dòng)交流。同時(shí),訪客可以對(duì)喜歡的博客進(jìn)行點(diǎn)贊操作,表達(dá)支持和認(rèn)可。博主則可以關(guān)注其他博主,獲取其最新發(fā)布的博客動(dòng)態(tài);此外,系統(tǒng)還應(yīng)設(shè)置管理員角色,擁有最高權(quán)限,可以管理所有博主、博客、評(píng)論等。此外,該體系還應(yīng)該集中于一些非功能性要求,比如性能要求。在進(jìn)行軟件設(shè)計(jì)時(shí),應(yīng)確保其可靠度,并對(duì)其進(jìn)行事后的系統(tǒng)試驗(yàn),以降低出錯(cuò)的幾率。為了讓該系統(tǒng)易于使用,該系統(tǒng)的操作應(yīng)該簡(jiǎn)單、易于理解、簡(jiǎn)單而不復(fù)雜的接口,以保證用戶的使用感受。確保了系統(tǒng)的可維護(hù)性,在發(fā)生故障時(shí),維修員可以迅速地定位故障發(fā)生的位置,并對(duì)故障進(jìn)行及時(shí)的分析和處理;同時(shí),也保證了以后的系統(tǒng)更新能夠正常進(jìn)行。2.2.1系統(tǒng)功能性需求通過(guò)不同角色的用例圖來(lái)介紹系統(tǒng)功能需求。系統(tǒng)管理員用例圖如圖2.1所示。圖2.1系統(tǒng)管理員用例圖系統(tǒng)博主用戶用例圖如圖2.2所示。圖2.2系統(tǒng)博主用戶用例圖(1)用戶登錄注冊(cè)用戶登錄注冊(cè)模塊是該博客系統(tǒng)最基礎(chǔ)的組成部分,要想發(fā)布博客,用戶需要先通過(guò)該系統(tǒng)提供的注冊(cè)接口注冊(cè)成為博主,才能登錄到系統(tǒng)發(fā)布管理自己的博客。當(dāng)用戶注冊(cè)時(shí),用戶需要提交用戶名,登錄密碼,手機(jī)號(hào)碼等信息,并通過(guò)手機(jī)號(hào)碼獲取驗(yàn)證碼,這些信息將在后臺(tái)進(jìn)行驗(yàn)證,檢索數(shù)據(jù)庫(kù)中是否有相同手機(jī)號(hào)碼或用戶名的用戶,不存在則注冊(cè)成功。當(dāng)用戶輸入賬戶名密碼嘗試登陸時(shí),系統(tǒng)會(huì)檢索數(shù)據(jù)庫(kù)中存儲(chǔ)的用戶信息,并將用戶輸入的用戶名和密碼與查詢出的信息進(jìn)行對(duì)比,對(duì)比成功后,用戶將進(jìn)入系統(tǒng),獲取發(fā)布和管理博客,以及其他功能的相關(guān)權(quán)限。通過(guò)注冊(cè)和登錄功能,系統(tǒng)能夠確保只有經(jīng)過(guò)驗(yàn)證的用戶才能訪問(wèn)和操作博客系統(tǒng),從而保護(hù)系統(tǒng)數(shù)據(jù)的安全性和完整性。(2)博客管理博客的管理功能是該系統(tǒng)的核心模塊,當(dāng)博主進(jìn)入系統(tǒng)后,便擁有了這部分權(quán)限,允許博主發(fā)布博客,也可以對(duì)發(fā)布的博客進(jìn)行編輯,刪除等操作,發(fā)布博客時(shí),提供定時(shí)發(fā)布功能,讓編輯好的博客在指定時(shí)間發(fā)布到系統(tǒng)。在編輯博客時(shí),采用Markdown編輯器,從而使博客排版更加美觀,格式更加規(guī)范。(3)社交功能該系統(tǒng)提供社交屬性,用戶在瀏覽文章之后,可以點(diǎn)贊或收藏喜歡的文章,支持該文章的同時(shí)方便后期重復(fù)閱覽,用戶還可以對(duì)該博客進(jìn)行點(diǎn)評(píng),每篇博客提供評(píng)論的功能,在博客的評(píng)論區(qū),用戶可以發(fā)表意見(jiàn),也可以回復(fù)其他用戶的評(píng)論。(4)用戶信息管理博主登錄系統(tǒng)后,可以進(jìn)入個(gè)人信息管理中心,在這里,博主可以修改自己的個(gè)人信息,如修改自己的頭像,名稱,個(gè)人簡(jiǎn)介等,若登錄的用戶為管理員用戶,則可以管理所有用戶,對(duì)違規(guī)用戶進(jìn)行禁用或刪除,禁用刪除后該用戶就無(wú)法登錄。(4)日志管理要想便于維護(hù)系統(tǒng),日志功能必不可少,該系統(tǒng)記錄用戶登錄日志,用于檢測(cè)用戶登陸狀態(tài),除此之外,系統(tǒng)還記錄錯(cuò)誤日志,當(dāng)系統(tǒng)遇到異常情況導(dǎo)致錯(cuò)誤時(shí),系統(tǒng)會(huì)捕捉并記錄錯(cuò)誤發(fā)生的詳細(xì)信息。這些信息包括請(qǐng)求路徑、請(qǐng)求方法、錯(cuò)誤信息以及相關(guān)的參數(shù)等。通過(guò)錯(cuò)誤日志,管理員可以迅速定位問(wèn)題所在,進(jìn)而采取有效的措施進(jìn)行排查和修復(fù)。2.2.2系統(tǒng)性能需求該系統(tǒng)為一個(gè)網(wǎng)站系統(tǒng),首先要確保它可以提供穩(wěn)定,高效的運(yùn)行,且系統(tǒng)不容易崩潰,若要實(shí)現(xiàn)這一目標(biāo),系統(tǒng)需要具備可擴(kuò)展,易修改,可維護(hù)等特性。在可擴(kuò)展性方面,系統(tǒng)應(yīng)能夠靈活應(yīng)對(duì)未來(lái)的業(yè)務(wù)需求增長(zhǎng)。通過(guò)模塊化設(shè)計(jì)和良好的系統(tǒng)架構(gòu),我們可以輕松地為系統(tǒng)添加新功能或擴(kuò)展現(xiàn)有功能,以滿足不斷變化的業(yè)務(wù)需求。易修改性則強(qiáng)調(diào)系統(tǒng)在功能調(diào)整或優(yōu)化時(shí)的便捷性。通過(guò)合理的代碼結(jié)構(gòu),我們可以迅速定位并修改系統(tǒng)代碼,實(shí)現(xiàn)功能的快速迭代和優(yōu)化,提升用戶體驗(yàn)??删S護(hù)性則是確保系統(tǒng)長(zhǎng)期穩(wěn)定運(yùn)行的關(guān)鍵。通過(guò)完善的日志記錄、監(jiān)控和報(bào)警機(jī)制,我們可以及時(shí)發(fā)現(xiàn)并解決系統(tǒng)潛在問(wèn)題,降低故障發(fā)生的概率。同時(shí),合理的系統(tǒng)架構(gòu)和代碼規(guī)范也有助于降低維護(hù)成本,提高維護(hù)效率。綜上所述,該系統(tǒng)通過(guò)實(shí)現(xiàn)可擴(kuò)展、易修改和可維護(hù)等特性,旨在為用戶提供穩(wěn)定、高效、可靠的網(wǎng)站服務(wù),確保系統(tǒng)在高并發(fā)情況下仍能穩(wěn)定運(yùn)行,滿足廣大用戶的需求。2.3本章小結(jié)這一章著重闡述了該體系的結(jié)構(gòu)和功能。首先,介紹了本項(xiàng)目的總體情況,并對(duì)其進(jìn)行了可行性的論證,接著針對(duì)各部分的功能,給出了各部分的使用案例,并對(duì)各部分的功能進(jìn)行了詳細(xì)的需求分析。文章還對(duì)該軟件進(jìn)行了詳細(xì)的分析,指出了該軟件在實(shí)際應(yīng)用中需要考慮的問(wèn)題。整章對(duì)該體系進(jìn)行了完整的剖析,確定了本文的敘事思路和核心思想。3系統(tǒng)設(shè)計(jì)在進(jìn)行了系統(tǒng)的分析以后,還應(yīng)該對(duì)該系統(tǒng)做進(jìn)一步的實(shí)際計(jì)劃,通過(guò)對(duì)整個(gè)系統(tǒng)功能進(jìn)行總體設(shè)計(jì)[8],展開(kāi)對(duì)后續(xù)子功能及其對(duì)應(yīng)的數(shù)據(jù)庫(kù)設(shè)計(jì)。首先完成整個(gè)體系結(jié)構(gòu)的設(shè)計(jì),接著又以各個(gè)功能模塊為基礎(chǔ),具體地對(duì)各模塊進(jìn)行細(xì)化,最終在該體系結(jié)構(gòu)的基礎(chǔ)上,完成基于該體系結(jié)構(gòu)的數(shù)據(jù)庫(kù)構(gòu)建。3.1系統(tǒng)總體設(shè)計(jì)3.1.1系統(tǒng)體系架構(gòu)設(shè)計(jì)本系統(tǒng)的體系架構(gòu)采用B/S架構(gòu)[9]。B/S架構(gòu)是在C/S架構(gòu)基礎(chǔ)上發(fā)展出來(lái)的一種網(wǎng)絡(luò)化模式,它包括了一個(gè)瀏覽器與一個(gè)服務(wù)器。在這種架構(gòu)中,瀏覽器擔(dān)任客戶端的角色,僅需對(duì)一些業(yè)務(wù)邏輯進(jìn)行操作,主要負(fù)責(zé)數(shù)據(jù)的傳輸和顯示;大部分的業(yè)務(wù)邏輯是通過(guò)服務(wù)器完成的。該架構(gòu)使使用者無(wú)需安裝多余的客戶端程序,并可減低研發(fā)與維護(hù)所需人力與物力,以達(dá)到節(jié)省整體費(fèi)用的目的。從體系結(jié)構(gòu)上來(lái)說(shuō),整個(gè)體系結(jié)構(gòu)可以劃分為三個(gè)層次:瀏覽器層、Web服務(wù)器層和MySQL數(shù)據(jù)庫(kù)服務(wù)器層。如圖3.1所示。圖3.1系統(tǒng)架構(gòu)圖瀏覽器層是與用戶直接進(jìn)行交互的一層,使用戶通過(guò)頁(yè)面的各種操作來(lái)訪問(wèn)服務(wù)器上的資源,這些交互頁(yè)面采用了Vue架構(gòu)[10]來(lái)設(shè)計(jì),確保用戶能夠流暢、便捷地與網(wǎng)頁(yè)內(nèi)容進(jìn)行互動(dòng)。Web服務(wù)器層是整個(gè)體系中的核心層,通過(guò)表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問(wèn)層等方式對(duì)系統(tǒng)進(jìn)行控制;實(shí)現(xiàn)了用戶管理,博客管理,等多項(xiàng)職能。MySQL的數(shù)據(jù)庫(kù)服務(wù)器是整個(gè)架構(gòu)中的最底層,負(fù)責(zé)對(duì)數(shù)據(jù)庫(kù)相關(guān)的各種服務(wù)進(jìn)行集成,實(shí)現(xiàn)對(duì)Web服務(wù)器層的數(shù)據(jù)查詢和存儲(chǔ)等功能。3.1.2系統(tǒng)功能結(jié)構(gòu)設(shè)計(jì)通過(guò)前文的功能需求分析可以分析得到博客系統(tǒng)的總體功能設(shè)計(jì),如圖3.2所示。圖3.2系統(tǒng)總體功能結(jié)構(gòu)圖整個(gè)系統(tǒng)的主要功能包括:用戶管理、日志系統(tǒng)、博客管理、社交功能等。用戶管理功能:當(dāng)用戶想要使用本系統(tǒng)時(shí),需要先通過(guò)系統(tǒng)提供的注冊(cè)接口,輸入自己的昵稱及其登錄密碼等信息成為博主,然后通過(guò)登陸接口,使用已經(jīng)注冊(cè)的賬號(hào)密碼進(jìn)行登錄,登陸后允許博主修改自己的個(gè)人信息;管理員登錄后可禁用刪除所有博主的賬號(hào)。日志管理:該系統(tǒng)日志分為兩類,第一類為用戶登錄日志,記錄用戶的登錄時(shí)間及其登錄次數(shù)等信息,用于分析用戶行為;第二類為錯(cuò)誤日志,當(dāng)系統(tǒng)發(fā)生預(yù)知之外的錯(cuò)誤時(shí),系統(tǒng)會(huì)記錄錯(cuò)誤發(fā)生的接口及其參數(shù)等信息,方便管理員查找修改錯(cuò)誤。博客管理:當(dāng)博主想要發(fā)表自己的文章時(shí),首先通過(guò)系統(tǒng)提供的Markdown編輯器完成博客的編寫,然后通過(guò)系統(tǒng)提供的發(fā)布文章接口,選擇文章封面,發(fā)布時(shí)間等信息后即可發(fā)布到系統(tǒng)當(dāng)中,博主還能對(duì)自己發(fā)布的文章進(jìn)行編輯和刪除操作。社交功能:本系統(tǒng)提供了豐富的社交功能,旨在增強(qiáng)用戶之間的互動(dòng)。博主發(fā)布的文章可以被其他用戶點(diǎn)贊、收藏,這些操作不僅體現(xiàn)了用戶對(duì)內(nèi)容的認(rèn)可,也促進(jìn)了信息的傳播和擴(kuò)散。此外,用戶還可以關(guān)注其他博主,實(shí)時(shí)獲取其最新動(dòng)態(tài),建立自己的社交圈。3.2系統(tǒng)詳細(xì)功能設(shè)計(jì)3.2.1用戶登錄注冊(cè)功能本系統(tǒng)的登錄功能使用JWT[11]的方式來(lái)完成。JWT,即JsonWebToken,是一個(gè)開(kāi)放的規(guī)范,它定義了一種簡(jiǎn)潔且自包含的信息傳輸方式,以JSON對(duì)象的形式在各方之間安全地傳遞。這些信息通過(guò)數(shù)字簽名進(jìn)行驗(yàn)證和確保值得信任。簡(jiǎn)單來(lái)講,JWT能夠生成一個(gè)加密的token,作為用戶登錄的憑證,一旦用戶成功登錄,便會(huì)發(fā)放給客戶端。JWT有許多優(yōu)勢(shì):json形式是通用的,因此JWT能夠被各種不同的語(yǔ)言所支持,例如Java、JavaScript、PHP、Node等。有些不太敏感的信息可以使用Payload來(lái)儲(chǔ)存。由于JWT結(jié)構(gòu)簡(jiǎn)單,字節(jié)占用少,所以便于傳輸。無(wú)需在服務(wù)端保存會(huì)話信息,有助于應(yīng)用的擴(kuò)展與伸縮。登錄功能設(shè)計(jì)流程圖如圖3.3所示。圖3.3登錄功能流程圖第一次進(jìn)入系統(tǒng)之后,默認(rèn)為游客的身份,在該系統(tǒng)下,游客只能看到登錄及其注冊(cè)頁(yè)面,要想成為博主發(fā)布博客,需要先擁有一個(gè)賬號(hào),在系統(tǒng)的登陸頁(yè)面,點(diǎn)擊注冊(cè)按鈕,就會(huì)進(jìn)入到系統(tǒng)的注冊(cè)頁(yè)面,游客完成注冊(cè)后就擁有了一個(gè)賬號(hào),再通過(guò)注冊(cè)頁(yè)面的登錄按鈕回到登錄頁(yè)面,輸入注冊(cè)時(shí)設(shè)置的賬號(hào)和密碼,由系統(tǒng)進(jìn)行驗(yàn)證該賬號(hào)密碼是否存在數(shù)據(jù)庫(kù)中。登陸成功后,顯示博客主頁(yè)界面。用戶的注冊(cè)流程:按順序輸入用戶名,密碼,二次輸入密碼,手機(jī)號(hào),驗(yàn)證碼,在輸入的過(guò)程中若遺漏了某項(xiàng)就會(huì)提醒使用者輸入,對(duì)于驗(yàn)證碼,當(dāng)用戶輸入手機(jī)號(hào)碼后,點(diǎn)擊注冊(cè)頁(yè)面的獲取驗(yàn)證碼按鈕,系統(tǒng)會(huì)首先驗(yàn)證輸入的手機(jī)號(hào)是否已經(jīng)被注冊(cè)為博主,如果沒(méi)有,會(huì)向指定手機(jī)號(hào)發(fā)送驗(yàn)證碼,需要將收到的驗(yàn)證碼輸入到注冊(cè)頁(yè)面的驗(yàn)證碼框內(nèi)。當(dāng)你點(diǎn)擊注冊(cè)時(shí),后臺(tái)會(huì)收到填寫的表單,驗(yàn)證沒(méi)有重復(fù)用戶名且驗(yàn)證碼正確后,將表單數(shù)據(jù)寫入到數(shù)據(jù)庫(kù)中,注冊(cè)成功,否則,注冊(cè)失敗,并給出相應(yīng)地提示信息。用戶的登錄流程:在登陸頁(yè)面依次輸賬號(hào)和密碼,賬號(hào)可為注冊(cè)時(shí)設(shè)置的昵稱,也可以為注冊(cè)時(shí)的手機(jī)號(hào)碼,在輸入的過(guò)程中若遺漏了某項(xiàng)就會(huì)提醒使用者輸入,點(diǎn)擊登錄后,后臺(tái)接收到表單數(shù)據(jù),并查找數(shù)據(jù)庫(kù)中是否有匹配表單中的數(shù)據(jù),當(dāng)賬戶名和密碼都匹配時(shí),登陸成功,進(jìn)入博客首頁(yè),否則提醒“賬號(hào)或密碼錯(cuò)誤”。3.2.2博客相關(guān)功能博客的主要作用是博客的創(chuàng)建,編輯,刪除,展示等。(1)新建博客在該博客系統(tǒng)中,新建博客是一個(gè)不可或缺的部分,博主通過(guò)新建博客的功能,發(fā)表自己的文章和見(jiàn)解,是博主的舞臺(tái),更是整個(gè)系統(tǒng)的根本。本系統(tǒng)采用Markdown編輯器[12]來(lái)編寫博客的正文,該編輯器因其易用性和可讀性而備受青睞,特別是在博客和技術(shù)類網(wǎng)站中得到了廣泛的應(yīng)用。其核心優(yōu)勢(shì)在于它的簡(jiǎn)潔性和可讀性:簡(jiǎn)潔性體現(xiàn)在其符號(hào)標(biāo)記直觀且易于理解,語(yǔ)法結(jié)構(gòu)清晰明了;而可讀性則是因?yàn)镸arkdown文檔以純文本形式發(fā)布,其格式更趨近于語(yǔ)義化,使得讀者能夠輕松把握內(nèi)容。Markdown的標(biāo)記語(yǔ)言完全由一系列精心挑選的特定符號(hào)構(gòu)成,這些符號(hào)的設(shè)計(jì)使得其功能一目了然,為用戶帶來(lái)極大的便利。該系統(tǒng)使用editor.md作為Markdown編輯器的實(shí)現(xiàn)方案,editor.md不僅功能齊全,還極易融入現(xiàn)有系統(tǒng)。它擁有多樣化的API接口和靈活的配置選項(xiàng),大大簡(jiǎn)化了文本編輯與預(yù)覽的流程,提升了工作效率。在editor.md中,文本內(nèi)容以字符串形式進(jìn)行展示。每當(dāng)用戶在編輯器內(nèi)鍵入或粘貼Markdown格式的文本時(shí),editor.md均能迅速進(jìn)行解析并精準(zhǔn)地呈現(xiàn)出渲染效果。特別是在預(yù)覽模式下,用戶能直觀看到與實(shí)際發(fā)布后幾乎無(wú)異的展示效果,從而保證了內(nèi)容的準(zhǔn)確性和一致性。博客系統(tǒng)新建博客功能流程圖如圖3.5所示。圖3.5新建博客功能流程圖創(chuàng)建新博客涉及多個(gè)步驟,首先要為博客擬定一個(gè)標(biāo)題,隨后要挑選合適的預(yù)覽圖來(lái)作為博客的封面。然后撰寫一個(gè)簡(jiǎn)明扼要的摘要,概括博客的主要內(nèi)容,還需決定是否公開(kāi)博客以及確定其發(fā)布時(shí)間等細(xì)節(jié)。除此之外,編寫博客的正文是最為重要的,需要投入最多的精力與時(shí)間。標(biāo)題:博客的標(biāo)題會(huì)使用較大的字體放在首頁(yè)的博客列表當(dāng)中,標(biāo)題概括文章的主要內(nèi)容。封面:會(huì)直接影響著讀者對(duì)博客的第一印象,好的封面會(huì)激發(fā)讀者的閱讀欲望,封面圖片應(yīng)與博客內(nèi)容相關(guān),能夠反映文章的主題或氛圍,同時(shí)色彩搭配和布局也要符合審美。正文:博客的主題,該部分內(nèi)容不顯示在博客列表,讀者需要點(diǎn)擊博客詳情才能查看,全文使用Markdown格式進(jìn)行渲染,編寫博客時(shí)可同時(shí)查看預(yù)覽圖和輸入原文,方便博主對(duì)照書(shū)寫全文。摘要:對(duì)整篇文章的簡(jiǎn)要概括,以較小的文字顯示在博客列表當(dāng)中,讀者可以通過(guò)博客的摘要快速的分辨這篇文章是否為自己感興趣的,摘要應(yīng)該簡(jiǎn)潔明了,能夠準(zhǔn)確概括文章的主題和要點(diǎn),同時(shí)吸引讀者的注意力。是否可見(jiàn):博主可以選擇博客對(duì)那些人群可見(jiàn),可選擇全部可見(jiàn),關(guān)注可見(jiàn),僅自己可見(jiàn),選擇后僅指定人群可查看到發(fā)布的博客,管理員除外。定時(shí)發(fā)布:博主可以選擇一個(gè)時(shí)間或者立即發(fā)布,當(dāng)選擇時(shí)間后,博客會(huì)在設(shè)定的時(shí)間定時(shí)發(fā)布。(2)編輯博客與刪除博客編輯博客流程與新建博客基本一致,編輯博客是對(duì)已有博客進(jìn)行修改。博主選定需修改的博客并點(diǎn)擊編輯,隨后進(jìn)入編輯界面。在此界面,博主可修改標(biāo)題、封面、摘要、正文以及可見(jiàn)性設(shè)置。完成修改后,博主點(diǎn)擊保存,后端接收修改信息并更新對(duì)應(yīng)記錄。至此,編輯操作便成功完成。刪除博客時(shí),博主需在博客列表中選擇目標(biāo)博客并點(diǎn)擊刪除。此時(shí)系統(tǒng)會(huì)彈出確認(rèn)框,詢問(wèn)是否確定刪除。如果是由于博主誤觸或者反悔,可選擇取消,此時(shí)系統(tǒng)不會(huì)再執(zhí)行刪除操作。若博主確認(rèn)刪除,則點(diǎn)擊確定,后端收到請(qǐng)求后會(huì)刪除相關(guān)記錄。至此,博客刪除操作成功完成。(3)查詢博客博客系統(tǒng)查詢功能設(shè)計(jì)流程圖如圖3.4所示。圖3.4查詢功能流程圖博主登錄后,進(jìn)入博客首頁(yè),在首頁(yè)上方搜索框中輸入關(guān)鍵字,然后點(diǎn)擊搜索按鈕,后臺(tái)接收到數(shù)據(jù)之后,會(huì)解析關(guān)鍵字,通過(guò)模糊匹配到對(duì)應(yīng)的標(biāo)題文字或者正文文字,最后將所有符合要求的文章分頁(yè)返回到頁(yè)面當(dāng)中。(4)顯示博客博客的顯示功能在博客系統(tǒng)中也至關(guān)重要,在這個(gè)博客系統(tǒng)中,有多種方法來(lái)展示一篇博客。首先,你可以在播客的主頁(yè)上看全部公開(kāi)的博客,首頁(yè)的博客按照瀏覽量和發(fā)布時(shí)間來(lái)進(jìn)行排序,確保用戶能看見(jiàn)最熱門或最近發(fā)布的文;其次,可以選擇一個(gè)關(guān)注的博主,可以查看指定博主的所有非私有的博客,博客排列順序與上述一致。3.2.3社交相關(guān)功能在博客系統(tǒng)中,除了提供基本的文章發(fā)布、瀏覽等功能外,用戶之間的互動(dòng)也是必不可少的。以下是對(duì)博客評(píng)論、點(diǎn)贊、收藏和關(guān)注功能的詳細(xì)設(shè)計(jì):(1)評(píng)論功能用戶可以在博客文章下方發(fā)表評(píng)論,與其他用戶或博主進(jìn)行互動(dòng)。在文章底部,會(huì)顯示評(píng)論的小圖標(biāo),用戶點(diǎn)擊后即可進(jìn)入評(píng)論頁(yè)面,在輸入框中填寫想要評(píng)論或追評(píng)的內(nèi)容后,點(diǎn)擊“評(píng)論”按鈕,即可發(fā)布或回復(fù)評(píng)論。每條評(píng)論會(huì)顯示評(píng)論用戶頭像,昵稱,評(píng)論時(shí)間等信息。(2)點(diǎn)贊收藏功能用戶可以通過(guò)點(diǎn)擊博客文章評(píng)論旁邊的點(diǎn)贊圖標(biāo)或收藏圖標(biāo),對(duì)喜歡的內(nèi)容進(jìn)行點(diǎn)贊或收藏。點(diǎn)贊或收藏后,文章的點(diǎn)贊數(shù)或收藏?cái)?shù)會(huì)實(shí)時(shí)更新,能更加激勵(lì)博主進(jìn)行創(chuàng)作,也方便用戶從點(diǎn)贊列表或收藏列表快速找到喜歡的文章。(3)關(guān)注功能用戶可以通過(guò)點(diǎn)擊博主主頁(yè)或詳情頁(yè)面的關(guān)注按鈕,關(guān)注其他博主。關(guān)注后,可以更加方便地查看喜歡的博主發(fā)布的文章,用戶可以在個(gè)人中心或指定頁(yè)面查看關(guān)注博主的動(dòng)態(tài)。同時(shí),用戶可以管理自己的關(guān)注列表,隨時(shí)取消關(guān)注不再感興趣的博主。當(dāng)被其他博主關(guān)注時(shí),可以在粉絲列表中查看,也可以選擇相互關(guān)照。3.3數(shù)據(jù)庫(kù)設(shè)計(jì)在整個(gè)體系結(jié)構(gòu)中,數(shù)據(jù)庫(kù)是最基本,最底層的,建立一個(gè)良好的數(shù)據(jù)庫(kù),可以使整個(gè)系統(tǒng)的運(yùn)行變得更為快速、便捷。反之,若數(shù)據(jù)庫(kù)設(shè)計(jì)不當(dāng),則數(shù)據(jù)的處理步驟將變得更為煩瑣,檢索數(shù)據(jù)的響應(yīng)速度也將減慢,因此,會(huì)在很大程度上影響整個(gè)系統(tǒng)的運(yùn)行。這樣的話,就會(huì)導(dǎo)致前端處理的時(shí)間過(guò)長(zhǎng),從而導(dǎo)致了對(duì)系統(tǒng)的整體性能影響。這就要求我們?cè)谶M(jìn)行數(shù)據(jù)庫(kù)的設(shè)計(jì)時(shí)要格外小心,盡量避免不合理現(xiàn)象的發(fā)生。本系統(tǒng)中包含多個(gè)功能模塊,每個(gè)模塊雖然具備獨(dú)立操作的能力,但彼此之間也存在緊密的聯(lián)系?;谛枨蠓治龊湍K間的相互關(guān)聯(lián),我們可以確立系統(tǒng)實(shí)體間的關(guān)聯(lián)關(guān)系,并根據(jù)實(shí)體關(guān)系構(gòu)建出系統(tǒng)的數(shù)據(jù)庫(kù)表結(jié)構(gòu)。3.3.1數(shù)據(jù)庫(kù)實(shí)體關(guān)系設(shè)計(jì)利用MySQL作為數(shù)據(jù)庫(kù),借助Navicat建立blog_star數(shù)據(jù)庫(kù),并利用實(shí)體之間的關(guān)聯(lián)設(shè)計(jì)出完整的,具有相應(yīng)關(guān)聯(lián)關(guān)系的數(shù)據(jù)庫(kù)表,最終實(shí)現(xiàn)了一個(gè)完整的博客數(shù)據(jù)庫(kù)的設(shè)計(jì)?;趯?shí)際存在的實(shí)體,我們可以確定幾張核心數(shù)據(jù)庫(kù)表:用戶表、文章表、評(píng)論表以及日志表。以下是根據(jù)這些表之間關(guān)系進(jìn)行的說(shuō)明:(1)用戶與文章:用戶可以管理文章。具體來(lái)說(shuō),一個(gè)用戶能夠發(fā)表、編輯或刪除多篇文章,但每篇文章只能歸屬于一個(gè)用戶(即文章的作者)。(2)文章與評(píng)論:評(píng)論是附加在文章下方的。這意味著,每篇文章可以關(guān)聯(lián)到多條評(píng)論,但每條評(píng)論僅與一篇文章相對(duì)應(yīng)。(3)用戶與日志:日志用于記錄用戶的登錄和操作歷史。因此,一個(gè)用戶可能擁有多條日志記錄,而每條日志則特定于一個(gè)用戶。3.3.2數(shù)據(jù)庫(kù)表設(shè)計(jì)(1)users(用戶表)作為存儲(chǔ)博主用戶個(gè)人信息的核心表,它涵蓋了賬號(hào)、密碼、郵箱、頭像以及用戶角色等關(guān)鍵字段,確保了用戶信息的完整性和安全性。用戶實(shí)體圖如3.5所示。圖3.5用戶實(shí)體圖其表結(jié)構(gòu)如表3.1所示。表3.1用戶表結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度約束描述idint11Primary用戶IDusernamevarchar50Unique用戶名passwordvarchar64密碼genderenum性別phonevarchar11Unique手機(jī)號(hào)emailvarchar255Unique郵箱avatarvarchar255頭像biotext個(gè)人簡(jiǎn)介roleenumNotNull用戶角色(續(xù)表3.1)statusenumNotNull用戶狀態(tài)is_deletedtinyint1NotNull用戶是否刪除create_timetimestamp創(chuàng)建時(shí)間update_timetimestamp更新時(shí)間(2)articles(文章表)articles作為文章表,負(fù)責(zé)存儲(chǔ)博客的詳盡信息,主要包括博客的唯一標(biāo)識(shí)id、標(biāo)題以及正文內(nèi)容等。文章實(shí)體圖如圖3.6所示。圖3.6文章實(shí)體圖其表結(jié)構(gòu)如表3.2所示。表3.2文章表結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度約束描述idint11Primary文章IDauthor_idintNotNull作者ID(續(xù)表3.2)authorvarchar255NotNull作者姓名titlevarchar255NotNull文章標(biāo)題contenttextNotNull文章內(nèi)容digestvarchar255NotNull文章摘要permissionintNotNull文章權(quán)限statusenumNotNull文章?tīng)顟B(tài)create_timetimestampNotNull創(chuàng)建日期update_timetimestampNotNull更新日期Covervarchar255NotNull博客封面(3)user_comment(評(píng)論表)user_comment作為評(píng)論表,存儲(chǔ)著評(píng)論的相關(guān)信息,包括評(píng)論的唯一id、評(píng)論者的id、評(píng)論的正文內(nèi)容以及對(duì)應(yīng)文章的id等。評(píng)論實(shí)體圖如圖3.7所示。圖3.7評(píng)論實(shí)體圖其表結(jié)構(gòu)如表3.3所示。表3.3評(píng)論表結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度約束描述idintPrimary評(píng)論idarticle_idbigintNotNull文章IDparent_comment_idint父評(píng)論IDuser_idintNotNull用戶IDcontentvarchar500NotNull評(píng)論正文create_timetimestampNotNull創(chuàng)建時(shí)間(4)user_collect(收藏表)user_collect作為收藏表,用于記錄用戶收藏的文章信息,主要包括收藏的唯一id、用戶的id、被收藏文章的id以及收藏的具體時(shí)間等。其表結(jié)構(gòu)如表3.4所示。表3.4收藏表結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度約束描述idintPrimaryiduser_idIntNotNull用戶idarticle_idbigintNotNull文章idcreate_timetimestampNotNull收藏時(shí)間(5)user_like(點(diǎn)贊表)user_like作為點(diǎn)贊表,用于存儲(chǔ)用戶對(duì)文章的點(diǎn)贊信息,包含點(diǎn)贊的唯一id、用戶的id、被點(diǎn)贊文章的id以及點(diǎn)贊的具體時(shí)間等。其表結(jié)構(gòu)如表3.5所示。表3.5點(diǎn)贊表結(jié)構(gòu)字段名數(shù)據(jù)類型長(zhǎng)度約束描述idintPrimaryid(續(xù)表3.5)user_idIntNotNull用戶idarticle_idbigintNotNull文章idcreate_timetimestampNotNull點(diǎn)贊時(shí)間(6)user_follow(用戶關(guān)注表)user_follow作為用戶關(guān)注表,用于維護(hù)用戶之間的關(guān)注關(guān)系,主要包括關(guān)注者的id、被關(guān)注者的id以及關(guān)注發(fā)生的時(shí)間等信息。其表結(jié)構(gòu)如表3.6所示。表3.6用戶關(guān)注表字段名數(shù)據(jù)類型長(zhǎng)度約束描述follower_idintPrimary關(guān)注者idfollowing_idintPrimary被關(guān)注者idcreate_timetimestampNotNull關(guān)注時(shí)間(7)error_log(錯(cuò)誤日志表)error_log表用于記錄系統(tǒng)運(yùn)行過(guò)程中出現(xiàn)的錯(cuò)誤信息,包括錯(cuò)誤的唯一id、發(fā)生錯(cuò)誤的URL地址、觸發(fā)錯(cuò)誤的方法參數(shù)以及錯(cuò)誤發(fā)生的具體時(shí)間。其表結(jié)構(gòu)如表3.7所示。表3.7用戶錯(cuò)誤日志表字段名數(shù)據(jù)類型長(zhǎng)度約束描述idintPrimaryIdrequest_urlvarchar255NotNull異常請(qǐng)求URLrequest_typevarchar10NotNull請(qǐng)求類型error_typevarchar255NotNull錯(cuò)誤類型error_messagevarchar255NotNull錯(cuò)誤信息parametersvarchar255參數(shù)列表(續(xù)表3.7)error_timetimestampNotNull錯(cuò)誤時(shí)間(8)login_log(登錄日志表)login_log表用于記錄用戶的登錄行為,包括登錄日志的唯一id、執(zhí)行登錄操作的用戶id、登錄的具體時(shí)間以及用戶的登錄次數(shù)。其表結(jié)構(gòu)如表3.8所示。表3.8用戶登錄日志表字段名數(shù)據(jù)類型長(zhǎng)度約束描述idintPrimaryidusernamevarchar255NotNull用戶名registration_timetimestamp注冊(cè)時(shí)間last_login_timetimestamp最近登錄時(shí)間login_countintNotNull登錄次數(shù)3.4本章小結(jié)本章重點(diǎn)描述了系統(tǒng)的整體設(shè)計(jì)流程。首先,對(duì)系統(tǒng)進(jìn)行了全面的架構(gòu)設(shè)計(jì),涵蓋了系統(tǒng)體系架構(gòu)和功能結(jié)構(gòu)設(shè)計(jì),為后續(xù)的系統(tǒng)詳細(xì)設(shè)計(jì)奠定了基石。在詳細(xì)功能設(shè)計(jì)環(huán)節(jié),特別針對(duì)用戶登錄注冊(cè)、查詢功能、博客功能以及社交功能進(jìn)行了深入且細(xì)致的闡述。此外,本章還詳細(xì)闡述了本系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì),通過(guò)E-R圖的形式直觀展示了數(shù)據(jù)庫(kù)的實(shí)體關(guān)系設(shè)計(jì),并對(duì)數(shù)據(jù)庫(kù)的表設(shè)計(jì)進(jìn)行了詳盡的說(shuō)明。全章系統(tǒng)性地介紹了系統(tǒng)的設(shè)計(jì)過(guò)程,以確保系統(tǒng)能夠順利實(shí)現(xiàn)預(yù)期功能。4系統(tǒng)實(shí)現(xiàn)及測(cè)試在完成了整個(gè)軟件的總體設(shè)計(jì)工作后,接下來(lái)就是軟件的開(kāi)發(fā)和測(cè)試階段。首先,我們從開(kāi)發(fā)環(huán)境入手進(jìn)行介紹,隨后,針對(duì)本系統(tǒng)的核心功能模塊——用戶登錄注冊(cè)功能、博客相關(guān)功能以及社交相關(guān)功能,我們逐一進(jìn)行詳細(xì)實(shí)現(xiàn)描述,確保每個(gè)模塊都能按照設(shè)計(jì)要求順利實(shí)現(xiàn)。最后,為確保系統(tǒng)的穩(wěn)定性和可靠性,我們對(duì)系統(tǒng)進(jìn)行了全方位的測(cè)試,確保各項(xiàng)功能都能正常運(yùn)行并達(dá)到預(yù)期效果。4.1開(kāi)發(fā)環(huán)境本系統(tǒng)的開(kāi)發(fā)實(shí)現(xiàn)環(huán)境包括以下幾個(gè)方面:(1)硬件環(huán)境方面,采用了lntel(R)CoreTMi5-1035G1CPU,主頻為1.19GHz,配備16G內(nèi)存和512G硬盤,確保系統(tǒng)運(yùn)行的流暢性和穩(wěn)定性。(2)在編程語(yǔ)言選擇上,選用了Java語(yǔ)言[13],這是一種成熟且廣泛應(yīng)用的編程語(yǔ)言,能夠滿足系統(tǒng)的開(kāi)發(fā)需求。(3)開(kāi)發(fā)平臺(tái)方面,我們采用了IntelliJIDEA2021.3.3x64,并配置了JDK17以確保Java運(yùn)行環(huán)境。采用maven的項(xiàng)目結(jié)構(gòu),方便進(jìn)行項(xiàng)目構(gòu)建、依賴管理等工作。(4)數(shù)據(jù)庫(kù)方面,我們選用了MySQL8.0.30作為數(shù)據(jù)存儲(chǔ)解決方案,并利用Navicat16.1.15這一可視化工具進(jìn)行數(shù)據(jù)庫(kù)操作管理,簡(jiǎn)化數(shù)據(jù)庫(kù)維護(hù)流程。(5)在系統(tǒng)框架上,我們采用了SpringBoot3.0.7與MyBatis3.5.10的組合[14],通過(guò)引入相關(guān)依賴,構(gòu)建了穩(wěn)定且高效的后端系統(tǒng)。4.2系統(tǒng)功能實(shí)現(xiàn)本節(jié)詳細(xì)闡述了系統(tǒng)中博主相關(guān)功能、博客相關(guān)功能以及社交相關(guān)功能的實(shí)現(xiàn)過(guò)程與成果,并對(duì)這些功能進(jìn)行了具體說(shuō)明。4.2.1博主相關(guān)功能實(shí)現(xiàn)博主相關(guān)功能涵蓋了用戶注冊(cè)博主身份、博主信息的編輯與查看、以及博主賬戶的注銷等操作。這些功能的核心在于User實(shí)體以及UserController類的設(shè)計(jì)與實(shí)現(xiàn),通過(guò)create、update、query、delete等關(guān)鍵方法,我們實(shí)現(xiàn)了用戶信息的創(chuàng)建、博主信息的更新與查詢功能。其中,用戶注冊(cè)功能允許新用戶創(chuàng)建博主賬戶,而博主信息修改功能則提供了博主查看和編輯個(gè)人信息的途徑。(1)使用者登記用戶注冊(cè)成為博主時(shí),系統(tǒng)會(huì)調(diào)用regiester方法進(jìn)行處理。為確保注冊(cè)信息的完整性,前端組件已設(shè)定用戶名、密碼、手機(jī)號(hào)為必填項(xiàng),否則無(wú)法提交注冊(cè)申請(qǐng)。在用戶提交注冊(cè)信息后,UserController會(huì)調(diào)用UserServiceImpl中的regiester方法,進(jìn)而通過(guò)UserMapper的insert方法將數(shù)據(jù)插入數(shù)據(jù)庫(kù)。由于數(shù)據(jù)庫(kù)中賬號(hào)字段設(shè)置了唯一性約束,因此用戶無(wú)法使用已存在的賬號(hào)進(jìn)行注冊(cè)。如果嘗試使用已存在的賬號(hào)注冊(cè),User的regiester方法會(huì)捕獲到SQLIntegrityConstraintViolationExceptio異常,并提示用戶“賬號(hào)已存在”。只有在用戶輸入的信息準(zhǔn)確無(wú)誤且賬號(hào)唯一時(shí),注冊(cè)信息才會(huì)被成功插入到users表中,完成注冊(cè)過(guò)程。用戶注冊(cè)界面如圖4.1所示。圖4.1用戶注冊(cè)界面(2)博主信息修改博主在后臺(tái)擁有修改個(gè)人信息的權(quán)限。登錄后臺(tái)后,博主可查看并編輯自己的昵稱、頭像、生日、郵箱及個(gè)人簡(jiǎn)介等信息。出于數(shù)據(jù)完整性的考慮,前端組件要求昵稱和郵箱為必填項(xiàng),否則不允許提交修改。一旦博主提交修改請(qǐng)求,系統(tǒng)會(huì)調(diào)用update方法進(jìn)行處理。具體流程為:UserController調(diào)用UserServiceImpl的updateUser方法,該方法進(jìn)一步調(diào)用UserMapper的updateById方法以執(zhí)行數(shù)據(jù)庫(kù)更新操作。在更新前,系統(tǒng)會(huì)進(jìn)行必要的校驗(yàn)。校驗(yàn)通過(guò)后,后端會(huì)接收到修改信息,并在UserMapper.xml中編寫相應(yīng)的SQL語(yǔ)句,通過(guò)條件查詢找到對(duì)應(yīng)的記錄,然后在users表中更新該記錄。整個(gè)修改過(guò)程完成后,博主的個(gè)人信息將成功更新。博主信息修改界面如圖4.2所示。圖4.2博主信息修改界面4.2.2博客相關(guān)功能實(shí)現(xiàn)博客相關(guān)功能涵蓋了新建、編輯、刪除以及查看博客詳情等多個(gè)方面。這些功能的實(shí)現(xiàn)主要依賴于Article實(shí)體和ArticleController類,通過(guò)調(diào)用save、delArticle、page、updateArticle等方法來(lái)完成。新建博客允許博主創(chuàng)建并發(fā)布自己的作品,而編輯博客則提供了對(duì)已有博客內(nèi)容進(jìn)行修改的功能。此外,博主還可以選擇刪除自己的某篇博客。(1)新建博客新建博客是博客功能中的核心功能,它依賴于save方法的調(diào)用,并接收Article對(duì)象作為參數(shù)。在前端組件中,為確保博客內(nèi)容的完整,設(shè)定了標(biāo)題、摘要和正文為必填項(xiàng),未填寫則無(wú)法提交。用戶完成博客編輯并提交后,后端會(huì)調(diào)用save方法進(jìn)行處理。具體流程為:ArticleController調(diào)用ArticleServiceImpl中的save方法,進(jìn)而通過(guò)ArticleMapper的save方法將數(shù)據(jù)持久化到數(shù)據(jù)庫(kù)。在這一過(guò)程中,Mybatis框架負(fù)責(zé)將方法映射到相應(yīng)的insert語(yǔ)句。若用戶設(shè)置了發(fā)布時(shí)間,系統(tǒng)會(huì)在預(yù)定時(shí)間自動(dòng)發(fā)布該博客,確保內(nèi)容按時(shí)上線。新建博客界面如圖4.3所示。圖4.3新建博客界面(2)刪除博客刪除博客是博客管理功能的重要環(huán)節(jié),允許博主移除不再需要的博客內(nèi)容。在博主選擇刪除某篇博客時(shí),系統(tǒng)會(huì)彈出確認(rèn)消息,以確保博主的操作意圖。若博主取消刪除操作,則刪除請(qǐng)求不會(huì)發(fā)送;若博主確認(rèn)刪除,系統(tǒng)將處理這一請(qǐng)求。具體而言,當(dāng)博主確認(rèn)刪除請(qǐng)求后,ArticleController中的delArticle方法會(huì)調(diào)用ArticleServiceImpl的deleteArticleById方法,進(jìn)而通過(guò)ArticleMapper的deleteById方法執(zhí)行數(shù)據(jù)庫(kù)刪除操作。在這一過(guò)程中,Mybatis框架負(fù)責(zé)將方法映射到相應(yīng)的delete語(yǔ)句,確保數(shù)據(jù)能夠準(zhǔn)確、安全地從數(shù)據(jù)庫(kù)中移除。刪除博客界面如圖4.5所示。圖4.4刪除博客界面(3)查詢博客查詢功能是博客系統(tǒng)中的重要環(huán)節(jié),用戶根據(jù)標(biāo)題或內(nèi)容關(guān)鍵字進(jìn)行博客內(nèi)容的檢索。該功能主要依賴于Article實(shí)體和ArticleController類,通過(guò)page函數(shù)實(shí)現(xiàn)查詢邏輯。當(dāng)用戶提交查詢請(qǐng)求后,后端會(huì)調(diào)用page方法進(jìn)行處理。具體流程為:ArticleController調(diào)用ArticleServiceImpl中的queryPage方法,進(jìn)而通過(guò)ArticleMapper的getPage方法執(zhí)行數(shù)據(jù)庫(kù)查詢操作。在這一過(guò)程中,Mybatis框架將方法映射到ArticleMapper.xml中定義的select語(yǔ)句。該select語(yǔ)句采用模糊匹配的方式,根據(jù)用戶輸入的標(biāo)題關(guān)鍵字進(jìn)行條件查詢。若查詢到符合條件的記錄,系統(tǒng)會(huì)將記錄按照前端要求的格式進(jìn)行展示;若未查詢到記錄,則顯示為空結(jié)果。這一功能的設(shè)計(jì)旨在提高用戶檢索效率,優(yōu)化用戶的使用體驗(yàn)。博客查詢界面如圖4.3所示。圖4.5博客查詢界面(4)博客詳情用戶在博客系統(tǒng)首頁(yè)可瀏覽所有公開(kāi)的博客,也可點(diǎn)擊特定博客以查看該博客的詳細(xì)內(nèi)容。點(diǎn)擊博客后,路由跳轉(zhuǎn)至/detail,并基于博客ID向后端發(fā)起查詢請(qǐng)求。ArticleController中的articleDetail方法負(fù)責(zé)處理這一請(qǐng)求,它調(diào)用ArticleServiceImpl的getArticleById方法,進(jìn)而通過(guò)ArticleMapper的selectById方法從數(shù)據(jù)庫(kù)中檢索博客數(shù)據(jù)。Mybatis框架負(fù)責(zé)將方法映射到相應(yīng)的select語(yǔ)句。此外,ArticleServiceImpl中的detail方法還集成了與UserCollectController、UserCommentController、UserFollowController等的交互,以獲取點(diǎn)贊、關(guān)注、收藏等與用戶互動(dòng)相關(guān)的信息。這樣做的目的是在展示博客內(nèi)容時(shí),不僅能呈現(xiàn)博客本身的詳情,還能展示博主的相關(guān)信息,豐富用戶的瀏覽體驗(yàn)。最終,查詢完成后,博客詳情頁(yè)會(huì)按照前端要求的格式展示博客的標(biāo)題、摘要、正文等詳細(xì)信息。博客詳情界面如圖4.6所示。圖4.6博客詳情界面4.2.3社交相關(guān)功能實(shí)現(xiàn)社交相關(guān)功能主要包括博主之間的相互關(guān)注,博客點(diǎn)贊,收藏,評(píng)論等功能,實(shí)現(xiàn)這些功能,主要涉及到,UserCollect,UserComment,UserFollow,UserLike等實(shí)體類及其對(duì)應(yīng)的控制類。(1)用戶關(guān)注用戶關(guān)注功能允許博主之間建立聯(lián)系,互相了解對(duì)方的最新動(dòng)態(tài)。實(shí)現(xiàn)該功能主要涉及UserFollow實(shí)體類及UserFollowController控制類。用戶可以通過(guò)前端界面瀏覽其他博主的資料,并選擇關(guān)注,點(diǎn)擊按鈕后,后臺(tái)會(huì)調(diào)用UserFollowController的userFollow方法,該方法需要接收是否關(guān)注和關(guān)注作者兩個(gè)參數(shù),然后調(diào)用UserFollowService類的updateFollowState方法修改關(guān)注狀態(tài)。一旦關(guān)注成功,系統(tǒng)將記錄關(guān)注關(guān)系在UserFollow表中,并更新相關(guān)博主的關(guān)注數(shù)量。(2)博客點(diǎn)贊該功能基于UserLike實(shí)體類及UserLikeController控制類實(shí)現(xiàn)。用戶在瀏覽博客時(shí),可以點(diǎn)擊點(diǎn)贊按鈕對(duì)博客進(jìn)行點(diǎn)贊。點(diǎn)擊按鈕后,后臺(tái)會(huì)調(diào)用UserLikeController的userLike方法,該方法需要接收是否點(diǎn)贊和文章ID作為參數(shù)。隨后,UserLikeService類的updateLikeState方法會(huì)被調(diào)用,負(fù)責(zé)在UserLike表中添加點(diǎn)贊記錄,并更新博客的點(diǎn)贊數(shù)。同時(shí),前端界面會(huì)實(shí)時(shí)顯示點(diǎn)贊數(shù)量的變化,增強(qiáng)用戶的互動(dòng)體驗(yàn)。(3)博客收藏博客收藏功能允許用戶將感興趣的博客保存到自己的收藏夾中,方便日后查閱。該功能依賴于UserCollect實(shí)體類及UserCollectController控制類。當(dāng)用戶點(diǎn)擊收藏按鈕時(shí),后臺(tái)會(huì)調(diào)用UserCollectController的userCollect方法,該方法接收是否關(guān)注和文章ID作為參數(shù)。接著,UserCollectService類的updateCollectState方法會(huì)執(zhí)行具體的收藏操作,將收藏記錄添加到UserCollect表中,并更新用戶的收藏?cái)?shù)量。用戶可以在個(gè)人主頁(yè)的收藏夾中查看和管理自己收藏的博客,隨時(shí)進(jìn)行查閱和取消收藏操作。(4)博客評(píng)論該功能涉及UserComment實(shí)體類及UserCommentController控制類。用戶在瀏覽博客時(shí),可以在評(píng)論區(qū)輸入評(píng)論內(nèi)容并點(diǎn)擊發(fā)表按鈕。后臺(tái)會(huì)調(diào)用UserCommentController的saveComment方法,該方法需要接收博客ID、父評(píng)論ID、用戶ID和評(píng)論內(nèi)容作為參數(shù)。隨后,UserCommentService類的save方法會(huì)執(zhí)行評(píng)論的保存操作,將評(píng)論信息插入到UserComment表中。博主和其他用戶可以在評(píng)論區(qū)查看和回復(fù)評(píng)論,形成互動(dòng)交流的氛圍。4.3系統(tǒng)測(cè)試系統(tǒng)測(cè)試作為軟件生命周期的收尾環(huán)節(jié),其具有非常重要的功能。其主要目的在于發(fā)現(xiàn)并修正系統(tǒng)在運(yùn)行過(guò)程中可能出現(xiàn)的錯(cuò)誤或不符合需求的地方。為了確保系統(tǒng)在運(yùn)行時(shí)能夠穩(wěn)定可靠,我們必須嚴(yán)格依照需求分析對(duì)系統(tǒng)進(jìn)行詳盡的測(cè)試。這包括針對(duì)系統(tǒng)的各項(xiàng)功能設(shè)計(jì)相應(yīng)的測(cè)試用例,并逐一執(zhí)行,以驗(yàn)證系統(tǒng)在遭遇錯(cuò)誤操作時(shí)能否正確提示錯(cuò)誤信息并拒絕執(zhí)行錯(cuò)誤的請(qǐng)求。同時(shí),我們還需要檢查系統(tǒng)的各項(xiàng)功能響應(yīng)是否迅速及時(shí)。通過(guò)這些措施,我們能夠確保系統(tǒng)的穩(wěn)定運(yùn)行,提升用戶體驗(yàn)。4.3.1測(cè)試方法系統(tǒng)測(cè)試的基本手段是黑盒測(cè)試和白盒測(cè)試。白盒測(cè)試,又被稱為結(jié)構(gòu)測(cè)試,專注于檢測(cè)編碼過(guò)程中的潛在錯(cuò)誤。這種測(cè)試方式深入代碼內(nèi)部,通查看代碼來(lái)揭示結(jié)構(gòu)上的缺陷。黑箱測(cè)試,也被稱為功能性測(cè)試,它的作用就是檢驗(yàn)一個(gè)軟件的各項(xiàng)功能能否被正確地運(yùn)用。在測(cè)試過(guò)程中,不考慮程序的內(nèi)部結(jié)構(gòu)和特性,通過(guò)程序接口來(lái)進(jìn)行測(cè)試,從而檢查程序功能是否能夠正常使用[15]。白盒測(cè)試與程序代碼息息相關(guān),是隨著開(kāi)發(fā)過(guò)程進(jìn)行的,所以這里主要介紹黑盒測(cè)試。4.3.2測(cè)試用例本系統(tǒng)測(cè)試用例主要分為兩類:系統(tǒng)功能測(cè)試用例和系統(tǒng)性能測(cè)試用例。(1)系統(tǒng)功能測(cè)試用例。系統(tǒng)功能測(cè)試包含了正常輸入與異常輸入兩種情況下的系統(tǒng)反饋。其目的在于確保系統(tǒng)在用戶輸入正常時(shí),能夠準(zhǔn)確完整地處理請(qǐng)求;而在用戶輸入異常時(shí),系統(tǒng)應(yīng)提供友好的提示信息,同時(shí)保證系統(tǒng)的穩(wěn)定運(yùn)行,避免崩潰。在表4.1中列出了與用戶有關(guān)的函數(shù)的測(cè)試用例表。表4.1用戶相關(guān)功能測(cè)試用例編號(hào)測(cè)試項(xiàng)操作預(yù)期結(jié)果測(cè)試結(jié)果U01用戶登錄確輸入表中存在的用戶賬號(hào)和密碼進(jìn)入該用戶對(duì)應(yīng)的后臺(tái)界面測(cè)試通過(guò)U02用戶登錄進(jìn)入后臺(tái)登錄界面,輸入表中不存在的用戶賬號(hào)和密碼提示“用戶或密碼錯(cuò)誤”,登錄失敗測(cè)試通過(guò)U03用戶注冊(cè)進(jìn)入后臺(tái)登錄界面,點(diǎn)擊注冊(cè),正確輸入注冊(cè)需要的相關(guān)用戶信息注冊(cè)成功,表中成功添加該數(shù)據(jù)測(cè)試通過(guò)U04用戶注冊(cè)進(jìn)入后臺(tái)登錄界面,點(diǎn)擊注冊(cè),輸入表中已有的賬號(hào)提示“賬號(hào)已存在”,注冊(cè)不成功測(cè)試通過(guò)U05用戶注冊(cè)進(jìn)入后臺(tái)登錄界面,點(diǎn)擊注冊(cè),不輸入必需的項(xiàng)賬號(hào)、昵稱、密碼提示需要輸入,且無(wú)法注冊(cè)測(cè)試通過(guò)博客相關(guān)功能測(cè)試用例表如表4.2所示。表4.2博客相關(guān)功能測(cè)試用例編號(hào)測(cè)試項(xiàng)操作預(yù)期結(jié)果測(cè)試結(jié)果B01新增博客博主點(diǎn)擊博客管理中的新增按鈕,進(jìn)圖博客編輯界面,正確輸入博客相關(guān)項(xiàng),點(diǎn)擊發(fā)布按鈕博客發(fā)布成功,且在博客列表中出現(xiàn)該博客測(cè)試通過(guò)B02新增博客博主進(jìn)入博客編輯界面,未輸入博客必需項(xiàng)標(biāo)題、正文提示需要輸入,且無(wú)法發(fā)布該博客測(cè)試通過(guò)B03新增博客博主進(jìn)入博客列表,選擇博客進(jìn)行刪除,在彈出的消息框中選擇該博客成功刪除確認(rèn)該博客成功刪除,且博客列表不再有這篇博客測(cè)試通過(guò)B04新增博客博主進(jìn)入博客列表,選擇博客進(jìn)行刪除,在彈出的消息框中選擇該博客沒(méi)有被刪除取消該博客沒(méi)有被刪除取消仍然有這篇博客測(cè)試通過(guò)系統(tǒng)性能測(cè)試用例表如表4.3所示。表4.3系統(tǒng)性能測(cè)試用例編號(hào)測(cè)試項(xiàng)操作預(yù)期結(jié)果測(cè)試結(jié)果P01響應(yīng)時(shí)間登錄系統(tǒng),記錄頁(yè)面跳轉(zhuǎn)響應(yīng)的時(shí)間均響應(yīng)時(shí)間不超過(guò)2秒測(cè)試通過(guò)編輯博客,記錄提交操作的響應(yīng)時(shí)間均響應(yīng)時(shí)間不超過(guò)2秒測(cè)試通過(guò)查看博客內(nèi)容,記錄頁(yè)面跳轉(zhuǎn)響應(yīng)的時(shí)間均響應(yīng)時(shí)間不超過(guò)2秒測(cè)試通過(guò)P02兼容性分別在Chrome瀏覽器、MicrosoftEdge瀏覽器進(jìn)入系統(tǒng),查看各個(gè)功能模塊運(yùn)行情況不同瀏覽器的結(jié)果基本一致,頁(yè)面基本正常測(cè)試
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年福建省莆田市湄洲灣北岸經(jīng)濟(jì)開(kāi)發(fā)區(qū)國(guó)發(fā)投資有限公司招聘6人模擬試卷及完整答案詳解
- 飛機(jī)結(jié)構(gòu)膠接裝配工創(chuàng)新改進(jìn)考核試卷及答案
- 公司鐵氧體元件研磨工崗位設(shè)備技術(shù)規(guī)程
- 通信終端設(shè)備制造工工藝技術(shù)規(guī)程
- 高壓熔斷器裝配工工具生命周期管理考核試卷及答案
- 2025昆明市嵩明縣人民醫(yī)院招聘編外太平間專職管理人員(1人)模擬試卷(含答案詳解)
- 2025年閬中市公開(kāi)引進(jìn)高層次醫(yī)療衛(wèi)生人才(10人)模擬試卷及答案詳解參考
- 熱縮材料制造工知識(shí)更新迭代考核試卷及答案
- 公司職業(yè)技能訓(xùn)練師標(biāo)準(zhǔn)化技術(shù)規(guī)程
- 2025年馬鞍山市消防救援局招聘政府專職消防員38人考前自測(cè)高頻考點(diǎn)模擬試題及參考答案詳解
- 冀教版八年級(jí)數(shù)學(xué) 13.4 三角形的尺規(guī)作圖(學(xué)習(xí)、上課課件)
- 2025屆廣東六校聯(lián)盟高三下學(xué)期聯(lián)考物理試題含解析
- DL∕T 860.4-2018 電力自動(dòng)化通信網(wǎng)絡(luò)和系統(tǒng) 第4部分:系統(tǒng)和項(xiàng)目管理
- DL-T5745-2021電力建設(shè)工程工程量清單計(jì)價(jià)規(guī)范
- MOOC 英文學(xué)術(shù)寫作實(shí)戰(zhàn)-北京大學(xué) 中國(guó)大學(xué)慕課答案
- 電氣系統(tǒng)故障診斷
- 懸挑工字鋼驗(yàn)收表
- 寶馬5系GT說(shuō)明書(shū)
- 追究刑事責(zé)任的控告書(shū)范例(標(biāo)準(zhǔn)版)
- 講義配電房可視化管理標(biāo)準(zhǔn)課件
- 高中音樂(lè)(必修)《音樂(lè)鑒賞》 (人音版)《家國(guó)情懷的民族樂(lè)派》格林卡與穆索爾斯基《荒山之夜》
評(píng)論
0/150
提交評(píng)論