版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
中國石油大學(北京)現(xiàn)代遠程教育畢業(yè)設計(論文)PAGEXV基于Golang的文庫系統(tǒng)的設計與實現(xiàn)摘要進入二十一世紀后,隨著計算機的普及和信息技術的發(fā)展,傳統(tǒng)的紙質(zhì)文檔已經(jīng)逐漸被電子化。在信息爆炸的時代,網(wǎng)絡上海量的信息和天文數(shù)字般數(shù)量的文檔資源在困擾著人們,人們在更加在意如何快速分享和獲取自己所需的資源,而文庫系統(tǒng)剛好可以滿足這一需求,文庫系統(tǒng)作為一個信息分享與交流的平臺,可以將自己掌握的資源上傳至系統(tǒng),也可以從系統(tǒng)中搜索自己所需的資源,這樣既方便別人也方便了自己。本文在深入調(diào)研電子文檔管理的需求和業(yè)務知識后,設計并實現(xiàn)了一個基于B/S架構[1],使用Golang語言開發(fā)的文庫系統(tǒng)[2-3],本系統(tǒng)主要分為普通用戶和管理員兩種用戶模式,首先是普通用戶,任何人均可通過郵箱驗證后注冊成為普通用戶,普通用戶可以分享文檔,也可以下載文檔,收藏文檔;其次是管理員,管理員可以管理系統(tǒng)欄目,也可以對違規(guī)內(nèi)容進行處理,對發(fā)布違規(guī)內(nèi)容的用戶封禁。關鍵詞:Golang;文檔管理;文庫系統(tǒng);B/S架構中國石油大學(北京)現(xiàn)代遠程教育畢業(yè)設計(論文)PAGEPAGEI目錄摘要 i第一章緒論 31.1文庫系統(tǒng)的研究背景 31.2文庫系統(tǒng)的意義 31.3文庫系統(tǒng)的現(xiàn)狀 31.4文庫系統(tǒng)的功能 41.5組織架構 4第二章相關技術介紹 62.1B/S架構 62.1Golang 62.2數(shù)據(jù)庫 62.3開發(fā)工具 72.3.1Goland 72.3.2Navicat 72.4其他工具和技術 72.4.1LibreOffice 72.4.1PDF2SVG 72.4.1SVG 72.4.1OSS 7第三章需求分析與設計 83.1需求分析 83.2功能設計 93.3界面設計 12第四章數(shù)據(jù)庫設計 154.1數(shù)據(jù)庫設計 154.2數(shù)據(jù)E-R圖 20第五章系統(tǒng)詳細設計與實現(xiàn) 225.1用戶注冊功能實現(xiàn) 225.2用戶登錄 245.3文檔上傳 255.4文檔下載 285.5文檔查看 305.6管理員登錄 31第六章文庫系統(tǒng)測試 336.1系統(tǒng)測試的目的 336.2系統(tǒng)測試分類 336.2文庫系統(tǒng)測試內(nèi)容 33第七章結論 34參考文獻 36致謝 37
第一章緒論1.1文庫系統(tǒng)的研究背景隨著互聯(lián)網(wǎng)時代的快速發(fā)展,傳統(tǒng)的紙質(zhì)文檔已經(jīng)不滿足當前時代的需求。隨著時代的進步,各類文檔已經(jīng)五花八門,數(shù)量也是成倍增長,需要有一個平臺滿足文檔管理、分享、下載、閱讀的基本需求。為了解決文檔在使用、管理中存在的問題,我根據(jù)文庫管理方面需求分析,采用B/S架構,使用Golang語言設計并開發(fā)了一套文庫系統(tǒng),他可以實現(xiàn)個人對文檔的分享、搜索、在線閱讀、收藏、下載、點評等操作,并具有良好的安全性、靈活性、可擴展性及操作方便的特點,能滿足大眾用戶對文檔的需求。1.2文庫系統(tǒng)的意義文庫系統(tǒng)作為一種電子文檔管理的科學解決方案,我設計和開發(fā)這個平臺,是為大家提供一個媒介、平臺。我設計這個平臺是為了改善用戶對知識和信息的分享和獲取的方式。本系統(tǒng)設計了積分系統(tǒng),用戶上傳文檔可獲得一定積分,激勵用戶分享資源,資源越多用戶也就越多,如此良性循環(huán),有利于平臺的發(fā)展。1.3文庫系統(tǒng)的現(xiàn)狀目前文庫系統(tǒng)存在百度文庫、道客巴巴、豆丁網(wǎng)等眾多在線文檔分享平臺[4]。這些在線文檔平臺是供網(wǎng)友通過互聯(lián)網(wǎng)共享、出售文檔資料的平臺,通過使用這種平臺,用戶可以在線閱讀和下載涉及課件、習題、考試題庫、論文報告、專業(yè)資料、各類公文模板、法律文件等多個領域的資料。平臺上所累積的文檔,多來自熱心用戶的積極上傳。用戶在上傳文檔后可以獲得平臺虛擬的積分獎勵,虛擬積分可用于下載自己需要的其他文檔。文檔非為標價文檔和免費文檔,對于上傳用戶已標價了的文檔下載時需要付出虛擬積分或者需要現(xiàn)金購買,而免費文檔在登錄后不需付積分即可下載。目前的在線文檔共享平臺所支持的文件格式一般包括微軟0ffice、TXT、PDF等常見的格式。目前市面上的文庫系統(tǒng)幾乎都已經(jīng)轉(zhuǎn)為盈利模式,需開會員或者購買才可預覽和下載。1.4文庫系統(tǒng)的功能文庫系統(tǒng)使用Golang作為后端開發(fā)語言,數(shù)據(jù)庫使用MariaDB,前端使用HTML,分為文庫前臺和文庫后臺。文庫前臺的功能有:用戶注冊、文檔預覽、文檔下載、文檔評價、文檔收藏及上傳文檔和上傳文檔管理。文庫后臺的功能有:文檔管理、用戶管理、橫幅管理、單頁管理、舉報管理、友鏈管理、系統(tǒng)設置。用戶未注冊時,只能預覽系統(tǒng)中已存在的文檔,也可以選擇使用郵箱驗證注冊成為文庫系統(tǒng)的用戶,注冊成為用戶后,可以下載所需文檔,也可以上傳文檔。用戶上傳文檔后,文庫系統(tǒng)將會使用LibreOffice將Word/PPT/Excel文檔轉(zhuǎn)換為PDF文檔,再使用pdf2svg工具將PDF文檔轉(zhuǎn)換為SVG圖片[5-6],然后將處理后的資源上傳至阿里云OSS存儲。系統(tǒng)將文檔轉(zhuǎn)換成功后,前端對文檔可預覽,否則只能下載后查看。3第二章相關技術介紹2.1B/S架構 B/S架即瀏覽器和服務器架構模式,是在互聯(lián)網(wǎng)快速發(fā)展階段對C/S架構的一種改進,在這種架構模式下,用戶通過瀏覽器無需安裝客戶端就可以訪問系統(tǒng)。在B/S架構下,瀏覽器端主要負責數(shù)據(jù)的渲染和交互,服務器端負責數(shù)據(jù)的處理,將核心部分都集中到了瀏覽器,簡化了系統(tǒng)的開發(fā)和維護及使用,可以有效的降低資源成本,且無需考慮跨平臺問題。圖2-1B/S架構圖2.1GolangGolang語言是Google公司推出的一種全新的靜態(tài)強類型、編譯型語言,于2009年11月開源,在2012年正式發(fā)布穩(wěn)定版本?,F(xiàn)在Golang是一個開放且活躍的社區(qū)。Golang語言簡潔、快速、安全,并且還有自動垃圾回收、類型與接口、并發(fā)編程、反射等語言特性。它只有25個關鍵字,語法簡潔、清晰、靈活高效。其并發(fā)機制可以很容易地編寫高并發(fā)程序?,F(xiàn)在Golang已經(jīng)在分布式系統(tǒng)、網(wǎng)絡編程、云平臺、云原生、區(qū)塊鏈等領域成為主流,主流互聯(lián)網(wǎng)公司都在使用Golang進行一些核心系統(tǒng)的研發(fā)。2.2數(shù)據(jù)庫文庫系統(tǒng)是以數(shù)據(jù)庫為中心的B/S架構的應用,文庫系統(tǒng)在設計時選擇了MariaDB進行系統(tǒng)數(shù)據(jù)庫管理。MariaDB是MySQL數(shù)據(jù)庫的一個分支,主要由開源社區(qū)維護,并且完全兼容MySQL,性能上更優(yōu)于MySQL。MariaDB的運行速度快、資源占用少、使用成本低,在各類型公司、網(wǎng)站均有使用。2.3開發(fā)工具2.3.1GolandGoLand是一個非常適用于Golang的開發(fā)工具,它功能十分強大。Goland集成了Golang的研發(fā)環(huán)境,具有代碼管理、調(diào)試開發(fā)、代碼提示等功能,使用Goland能顯著提高Go程序的研發(fā)效率。2.3.2NavicatNavicat是一個數(shù)據(jù)庫管理工具,可以對MySQL、MariaDB、SQLite、SQLServer、PostgreSQL等不同類型的數(shù)據(jù)庫進行管理和開發(fā)。Navicat提供數(shù)據(jù)建模、數(shù)據(jù)傳輸、數(shù)據(jù)同步、導入、導出、備份、還原等功能,通過可視化操作界面可以非常簡單且安全的方法操作數(shù)據(jù)庫。2.4其他工具和技術2.4.1LibreOfficeLibreOffice是一款自由、免費、開源、跨平臺的辦公套件,能在Windows、macOS、Linux等多個操作系統(tǒng)、平臺上運行,是OpenOffice是衍生品。LibreOffice能很好的兼容doc/docx、xls/clsx等專業(yè)格式,并支持將導入的文檔轉(zhuǎn)換為PDF文檔。文檔轉(zhuǎn)換命令如下:soffice--headless--invisible--convert-topdf:writer_pdf_Export{{目標文件}}--outdir{{輸出目錄}}2.4.1PDF2SVGpdf2svg是一個在開源且支持將PDF轉(zhuǎn)換為SVG矢量圖的工具。2.4.1SVGSVG是一種矢量圖形的文件格式,用于將PDF文檔轉(zhuǎn)換為一張張SVG圖片分頁預覽。SVG與PNG、JPEG等圖片格式相比,圖片放大后不會失真,文件體積也會更小。2.4.1OSSOSS是阿里云提供的對象存儲服務,OSS能提供安全、低成本、高可靠的存放服務,文庫系統(tǒng)通過OSS提供的API可以將頭像、文檔等靜態(tài)資源存儲到云端,使文庫系統(tǒng)可以實現(xiàn)分布式部署,能高效、穩(wěn)定、高可用的為用戶提供服務。第三章需求分析與設計3.1需求分析3.1.1會員需求在了解用戶對文庫系統(tǒng)的功能需求及期待,經(jīng)多次調(diào)研得出用戶對本系統(tǒng)的要求主要有:用戶可以通過郵箱驗證后注冊成為文庫系統(tǒng)的會員用戶,并能保證用戶賬戶及用戶信息的安全。如果忘記密碼還能通過郵箱重新設置密碼。用戶可以通過搜索功能找到自己所需的資源,并可以在線預覽、下載、點評、收藏。用戶可以上傳文檔資源進行資源分享,并可以獲得積分獎勵。 根據(jù)分析,得到如圖3-1所示需求,用戶可以通過登錄窗口進入文庫系統(tǒng),如沒有賬號則可以注冊成為文庫系統(tǒng)的會員,如果密碼忘記可以通過郵箱重新設置密碼,可以使用本系統(tǒng)對文檔上傳、下載、查看及管理資源等操作。會員可以上傳Word、Excel、PPT、PDF、TXT文檔,上傳時選擇資源所屬頻道和文庫所屬分類,文檔上傳系統(tǒng)后,用戶將獲得一定積分獎勵,系統(tǒng)也將對文檔進行轉(zhuǎn)換為SVG矢量圖,方便用于預覽。用戶可以根據(jù)資源所屬欄目和分類或者資源關鍵詞進行搜索,搜索到符合的文檔資源是可以預覽、點評或下載資源,對于設置需要使用積分下載的文檔,將對個人積分進行扣除,如積分不夠則不允許下載,用戶還可以創(chuàng)建收藏夾分類收藏文檔。圖3-1會員需求圖3.1.2管理員需求管理員是系統(tǒng)的主宰,如圖3-2所示,根據(jù)文庫系統(tǒng)管理員權限設定,管理員可以查看文庫系統(tǒng)用戶和文檔數(shù)據(jù)的統(tǒng)計,管理文庫頻道及其分類,并可以對文檔進行刪除操作,或移入回收站,對注冊進行管理,對用戶進行封禁和積分管理,可以管理首頁橫幅廣告,可以接收前臺會員用戶的舉報,對違規(guī)文檔進行處理,以及對系統(tǒng)常規(guī)管理和設置,例如云存儲配置和郵箱設置等。圖3-2管理員需求圖3.2功能設計3.2.1用戶登錄注冊登錄注冊模塊用例圖如圖3-3所示。圖3-3(1)注冊功能設計用戶初次使用文庫系統(tǒng)需要先進行賬號注冊,注冊需要使用郵箱,文庫系統(tǒng)會向該郵箱發(fā)送驗證碼,后端檢測郵箱和驗證碼是否匹配,匹配即注冊成功,可使用郵箱和密碼來進行登錄。(2)登錄功能設計用戶注冊成功后,可使和密碼進行登錄,登錄成功后即可進入系統(tǒng)主頁面。(3)忘記密碼功設計用戶若忘記密碼,可以點擊忘記密碼來重置密碼。系統(tǒng)會向用戶的郵箱發(fā)送隨機驗證碼,當用戶郵箱和驗證碼匹配通過后即可重置密碼。3.2.2文檔轉(zhuǎn)換用戶分享的文檔上傳至文庫系統(tǒng)后,系統(tǒng)將在后臺將其轉(zhuǎn)換為SVG圖片,如圖3-4所示,如果上傳的文檔為Word、Excel、TXT類型的文檔將通過LibreOffice轉(zhuǎn)換為PDF,然后通過pdf2svg將其轉(zhuǎn)換為一張張svg圖片并上傳至OSS對象存儲服務器,對于PDF文件,系統(tǒng)將直接通過pdf2svg將其轉(zhuǎn)換為svg圖片。文檔處理完成后將更新文檔狀態(tài),然后在WEB端就可以預覽。圖3-4文檔轉(zhuǎn)換流程3.2.2文檔模塊文檔模塊如圖3-5所示:圖3-5文檔模塊圖文檔模塊包含上傳、下載、搜索、查看、刪除、收藏、評論、舉報八大需求:文檔上傳:用戶在上傳文檔欄目進行文檔上傳,并設定文檔所屬頻道及其分類。文檔下載:用戶可以下載文檔源文件,如果文檔下載的源文件需要收取積分,則應該扣除相應積分。文檔搜索:用戶可以在全系統(tǒng)范圍內(nèi)進行文檔搜索。文檔查看:用戶可以在文檔詳情頁查看文檔基本信息,如果文檔已經(jīng)轉(zhuǎn)換為可預覽的圖片,則應該展示文檔內(nèi)容信息。文檔刪除:文檔所有者和系統(tǒng)管理員可以刪除文檔。文檔收藏:用戶可以創(chuàng)建收藏夾,在瀏覽文檔時,可以將文檔收藏至指定收藏夾。文檔評論:用戶可以對文檔進行評分和評論。文檔舉報:用戶在發(fā)現(xiàn)文檔侵權或者違反相關規(guī)定時,可以向文庫系統(tǒng)舉報該文檔。3.3界面設計用戶首次進入文庫系統(tǒng)會先進入主頁面如圖3-6,然后如果沒有賬號則需要點擊注冊,進入到注冊界面,用戶按要求填寫正確信息即可完成注冊如圖3-7。然后用戶輸入用戶名和密碼登錄如圖3-8所示。接著就進入了如圖3-9所示的會員中心,在這里用戶可以對自己的文件進行管理。用戶點擊上傳文檔進入文檔上傳頁面如圖3-10,可以選擇文檔分享。圖3-6系統(tǒng)主頁圖3-7注冊頁圖3-8登錄頁圖3-9個人中心圖3-10文檔上傳第四章數(shù)據(jù)庫設計4.1數(shù)據(jù)庫設計 數(shù)據(jù)庫是文庫系統(tǒng)的核心,系統(tǒng)通過數(shù)據(jù)庫對數(shù)據(jù)進行存儲、處理、統(tǒng)計。數(shù)據(jù)庫的設計對整個文庫系統(tǒng)的穩(wěn)定產(chǎn)生直接影響,好的設計,會使整個系統(tǒng)運行流暢,提升穩(wěn)定性。 我設計的文庫系統(tǒng)的數(shù)據(jù)庫有用戶信息表、文檔分類表、文檔表、收藏表等15張表。每個數(shù)據(jù)表都有字段名、數(shù)據(jù)類型、數(shù)據(jù)長度、主鍵、是否為空、自增、備注。下面我將數(shù)據(jù)表逐個介紹:(1)、用戶基礎表用來存儲用戶的基礎信息,表結構如表4-1所示。表4-1用戶數(shù)據(jù)基礎表(t_user)字段名類型長度主鍵是否為空自增備注IdInt11是NotNull是用戶IDEmailvarchar50否NotNull否用戶郵箱Passwordvarchar32否NotNull否用戶密碼Usernamevarchar50否NotNull否用戶名Avatarvarchar50否NotNull否用戶頭像(2)、用戶詳情表主要用于記錄用戶注冊時間、積分數(shù)、收藏夾數(shù)和狀態(tài)信息,表結構如表4-2所示。表4-2用戶詳情表(t_user_info)字段名類型長度主鍵是否為空自增備注IdInt11是NotNull是用戶IDCoinInt11否NotNull否用戶積分DocumentInt11否NotNull否用戶上傳文檔數(shù)CollectInt11否NotNull否用戶收藏夾數(shù)TimeCreateInt11否NotNull否用戶注冊時間Statustinyint1否NotNull否用戶狀態(tài)(3)、積分日志表主要用于記錄用戶積分變更日志,表結構如表4-3所示。表4-3積分日志表(t_coin_log)字段名類型長度主鍵是否為空自增備注IdInt11是NotNull是積分IDUidInt11否NotNull否用戶IDCoinint11否NotNull否積分LogVarchar512否NotNull否日志記錄TimeCreateInt11否NotNull否創(chuàng)建時間(4)、管理員表主要用于記錄管理員賬戶和密碼信息,表結構如表4-4所示。表4-4管理員表(t_admin)字段名類型長度主鍵是否為空自增備注IdInt11是NotNull是管理員IDUsernameVarchar16否NotNull否管理員用戶名PasswordVarchar32否NotNull否管理員密碼Emailvarchar50否NotNull否管理員郵箱(5)、文檔分類表主要用于記錄文字頻道及分類,表結構如表4-5所示。表4-5文檔分類表(t_category)字段名類型長度主鍵是否為空自增備注IdInt11是NotNull是分類IDPidInt11否NotNull否父級IDTitleVarchar20否NotNull否分類標題Covervarchar255否NotNull否分類封面CntInt11否NotNull否文檔數(shù)量SortInt11否NotNull否排序Aliasvarchar30否NotNull否別名Statustinyint1否NotNull否狀態(tài)TimeCreateint11否NotNull否創(chuàng)建時間(6)、文檔基礎表主要用于記錄文檔的名字、關鍵詞、描述信息,表結構如表4-6所示。表4-6文檔基礎信息表(t_document)字段名類型長度主鍵是否為空自增備注IdInt11是NotNull是文檔IDTitleVarchar255否NotNull否文檔標題FilenameVarchar255否NotNull否文檔名稱Keywordsvarchar255否NotNull否關鍵詞DescriptionInt11否NotNull否文檔描述(7)、文檔詳情表主要記錄文檔分類、文檔大小、頁數(shù)、類型等信息,表結構如表4-7所示。表4-7文檔詳情表(t_document_info)字段名類型長度主鍵是否為空自增備注IdInt11是NotNull是文檔IDUidInt11否NotNull否用戶IDChanelIdint11否NotNull否頻道IDPidInt11否NotNull否一級分類IDCidInt11否NotNull否二級分類IDTimeCreateInt11否NotNull否創(chuàng)建時間TimeUpdateInt11否NotNull否修改時間Dcntint11否NotNull否下載次數(shù)VcntInt11否NotNull否查看次數(shù)CcntInt11否NotNull否收藏次數(shù)PriceInt11否NotNull否下載所需積分Md5Varchar32否NotNull否文檔MD5ExtVarchar10否NotNull否文檔后綴ExtCateVarchar10否NotNull否文檔文件類型PageInt11否NotNull否文檔頁碼數(shù)SizeInt11否NotNull否文檔大小PreviewExtVarchar11否NotNull否可預覽格式Statustinyint4否NotNull否狀態(tài)(8)、收藏夾表主要記錄收藏夾名字、收藏夾所屬人、描述等信息,表結構如表4-8所示。表4-8收藏夾表t_collect_folder字段名類型長度主鍵是否為空自增備注IdInt11是NotNull是收藏夾IDCoverVarchar50否NotNull否收藏夾封面TitleVarchar255否NotNull否收藏夾名稱Descriptionvarchar512否NotNull否收藏夾描述UidInt11否NotNull否用戶IDTimeCreateint11否NotNull否創(chuàng)建時間CntIntInt否Notnull否總數(shù)(9)、收藏表主要記錄收藏夾內(nèi)收藏的文檔信息,表結構如表4-8所示。表4-9收藏表(t_collect)字段名類型長度主鍵是否為空自增備注IdInt11是NotNull是收藏IDCidInt11否NotNull否收藏夾IDDidInt11否NotNull否文檔ID(10)、文檔評論表主要用于記錄用戶對文檔的評分和評論內(nèi)容信息,表結構如表4-10所示。表4.10文檔評論表(t_document_comment)字段名類型長度主鍵是否為空自增備注IdInt11是NotNull是文檔評論IDDidInt11否NotNull否文檔IDUidInt11否NotNull否評論用戶IDScoreInt11否NotNull否文檔評分ContentVarchar256否NotNull否文檔評論內(nèi)容TimeCreateInt11否NotNull否評論時間(11)、文搜索關鍵詞表主要記錄用戶搜索關鍵詞信息,表結構如表4-11所示。表4.11搜索關鍵詞表(t_search_log)字段名類型長度主鍵是否為空自增備注IdInt11是NotNull是文檔評論IDWdVarchar50否NotNull否搜索關鍵詞(12)、舉報表主要記錄用戶對文檔的舉報信息,表結構如表4-12所示。表4-12舉報表(t_report)字段名類型長度主鍵是否為空自增備注IdInt11是NotNull是舉報IDUidint11否NotNull否用戶IDDidint11否NotNull否文檔IDReasonvarchar250否Notnull否舉報理由StatusInt1否Notnull否狀態(tài)TimeCreateInt11否Notnull否創(chuàng)建時間TimeUpdateint11否Notnull否修改時間(13)、橫幅表注意用于記錄橫幅圖片、標題、鏈接地址,表結構如表4-13所示。表4-13橫幅表(t_banner)字段名類型長度主鍵是否為空自增備注IdInt11是NotNull是橫幅IDPictureVarchar50否NotNull否圖片地址TitleVarchar255否NotNull否橫幅標題Linkvarchar255否NotNull否橫幅鏈接地址SortInt11否NotNull否排序Statustinyint1否NotNull否狀態(tài)TimeCreateint11否NotNull否創(chuàng)建時間(14)、友鏈表主要記錄系統(tǒng)友情鏈接信息,表結構如表4-14所示。表4-14友鏈表(t_friend_link)字段名類型長度主鍵是否為空自增備注IdInt11是NotNull是友鏈IDTitlevarchar100否NotNull否友鏈名稱LinkVarchar255否NotNull否連接地址StatusInt1否Notnull否狀態(tài)SortInt11否NotNull否排序TimeCreateInt11否Notnull否創(chuàng)建時間(15)、頁面表主要記錄幫助關于我們、聯(lián)系我們等頁面的內(nèi)容,表結構如表4-15所示。表4-15頁面表(t_pages)字段名類型長度主鍵是否為空自增備注IdInt11是NotNull是頁面IDNamevarchar100否NotNull否頁面名稱AliasVarchar50否NotNull否別名TitleVarchar200否Notnull否標題KeywordsVarchar11否NotNull否關鍵詞DescriptionVarchar255否NotNull否描述ContentText0否NotNull否頁面內(nèi)容SortInt11否NotNull否排序VcntInt11否NotNull否瀏覽次數(shù)TimeCreateInt11否Notnull否創(chuàng)建時間4.2數(shù)據(jù)E-R圖從人的角度出發(fā),對數(shù)據(jù)進行分析整合,最終得到整個系統(tǒng)的系統(tǒng)數(shù)據(jù)庫的概念設計,使用E-R圖來表示對實體、屬性的特征進行描述,最終構成了E-R模型。實體間關系屬性實體實體間關系屬性實體(1)、系統(tǒng)管理員作為一個實體,有管理員ID、用戶名、郵箱、密碼等四個屬性,如圖4-16所示。圖4-16管理員E-R圖(2)、已注冊用戶作為一個實體,他的屬性有用戶ID、昵稱、姓名、電子郵件、收藏夾、文檔、積分數(shù)等,如圖4-17所示。圖4-17已注冊用戶E-R圖(3)、文檔作為一個實體,有文檔ID、所屬平導、分類、Md5、收藏數(shù)、下載數(shù)、瀏覽數(shù)等屬性,如圖4-18所示。圖4-18文檔E-R圖橫幅有ID、圖片、連接、標題等屬性,如圖4-19所示。圖4-19橫幅E-R圖(5)友情鏈接有ID、標題、連接、創(chuàng)建時間等屬性,如圖4-20所示。圖4-20友情鏈接E-R圖 第五章系統(tǒng)詳細設計與實現(xiàn)5.1用戶注冊功能實現(xiàn)用戶注冊界面如圖5-1所示:圖5-1用戶注冊界面系統(tǒng)生成隨機驗證碼,代碼如下2、系統(tǒng)使用系統(tǒng)郵箱將剛生成的隨機驗證碼發(fā)送至客戶郵箱,并記錄至緩存,代碼如下:3、用戶驗證碼與注冊信息一起提交,系統(tǒng)將校驗用戶提交的驗證碼與緩存中的驗證碼是否一致,代碼如下: 4、驗證完成后,將用戶信息寫入數(shù)據(jù)庫,代碼如下:5.2用戶登錄用戶登錄界面如圖5-2所示:圖5-2登錄窗口服務器獲取到前端傳遞的賬號密碼消息,檢查賬號密碼是否匹配,代碼如下:判斷賬號是否被管理員禁用,代碼如下:驗證完畢后,將用戶ID等信息寫入Session。5.3文檔上傳文檔上傳界面如圖5-3所示:圖5-3文檔上傳界面服務器接受到瀏覽器上報的文件基本信息,將使用分詞算法將其分詞,代碼實現(xiàn)如下:服務器接收到文件流后,校驗文件格式,并寫入緩存,代碼如下:文檔寫入數(shù)據(jù)庫后,文檔將開始在后臺進行轉(zhuǎn)換,代碼如下:文檔轉(zhuǎn)換完成后,將更新數(shù)據(jù)庫中文檔狀態(tài)及頁碼數(shù),前臺就可以直接預覽文檔內(nèi)容了。5.4文檔下載文檔下載如圖5-4所示:圖5-4文檔下載界面 1、用戶點擊文檔下載,先彈出確定按鈕,當用戶按下確定下載后,系統(tǒng)將用戶積分是否足夠,當積分足夠時,才可以下載文檔,代碼如下:系統(tǒng)將生成一個帶有時效性的OSS文件下載地址,代碼如下:瀏覽器根據(jù)系統(tǒng)返回的url進行相應文件下載。5.5文檔查看文檔查看如圖5-5所示:圖5-5文檔查看界面 當文檔轉(zhuǎn)換成為可瀏覽的圖片后將通過圖片的方式展示文檔內(nèi)容,代碼如下:5.6管理員登錄管理員登錄如圖5-6所示:圖5-5管理員登錄界面服務器收到瀏覽器發(fā)來的賬號密碼信息后,對賬號密碼進行校驗,代碼如下: 第六章文庫系統(tǒng)測試6.1系統(tǒng)測試的目的軟件開發(fā)過程復雜,且容易受到軟、硬件環(huán)境、開發(fā)思路等因素的影響,會產(chǎn)生一些錯誤。為保證系統(tǒng)在使用之前開發(fā)人員能盡可能的發(fā)現(xiàn)錯誤,并對不符合設計的地方進行有必要的修改和完善。系統(tǒng)測試是軟件在使用之前對需求分析和功能設計的最后檢查,在對錯誤異常修復后,可以有效的減少在設計和開發(fā)過程中的失誤帶來的損失,從而提高軟件的可靠性、穩(wěn)定性。6.2系統(tǒng)測試分類 一、用戶界面測試 與系統(tǒng)功能相比,用戶交互界面存在的問題對功能實現(xiàn)沒影響但對用戶使用產(chǎn)生影響,也是最容易被忽視的地方,存在的問題如表6-1所示:表6-1用戶界面存在的問題存在問題問題描述錯別字在用戶界面、提示文字中存在錯別字界面顯示不協(xié)調(diào)在實現(xiàn)時,沒能統(tǒng)一樣式定義,導致不同地方的樣式表出現(xiàn)不一致,導致顯示不協(xié)調(diào)二、需求測試按需求和功能對文庫系統(tǒng)的業(yè)務需求和功能進行測試。三、功能測試功能測試主要是測試系統(tǒng)的各個功能模塊是否滿足預期。6.2文庫系統(tǒng)測試內(nèi)容 文庫系統(tǒng)在測試時,進行了以下內(nèi)容的測試:文檔上傳測試用例如6-2所示:表6-2文檔上傳測試測試要點選擇文檔上傳測試條件上傳成功與否,文檔信息是否寫入數(shù)據(jù)庫中,文檔轉(zhuǎn)換成svg圖片是否成功預期結果上傳成功并把數(shù)據(jù)寫入數(shù)據(jù)庫中,失敗給出失敗原因測試數(shù)據(jù)選擇文件:/Users/lipeng/Downloads/Go語言中文文檔.pdf選擇文件:/Users/lipeng/Downloads/反思與批判.doc選擇文件:/Users/lipeng/Downloads/數(shù)據(jù)統(tǒng)計.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 口腔清潔劑制造工道德水平考核試卷含答案
- 測量與控制系統(tǒng)(單元)裝調(diào)工安全操作競賽考核試卷含答案
- 中藥酒(酊)劑工保密評優(yōu)考核試卷含答案
- 石腦油吸附分離裝置操作工崗前誠信考核試卷含答案
- 蔭罩制板工班組評比能力考核試卷含答案
- 煤層氣修井工班組建設能力考核試卷含答案
- 中藥酒(酊)劑工安全意識強化模擬考核試卷含答案
- 數(shù)據(jù)安全管理員QC管理能力考核試卷含答案
- 中式面點師崗前基礎實戰(zhàn)考核試卷含答案
- 機械手表裝配工道德知識考核試卷含答案
- (更新版)中國移動政企行業(yè)認證題庫大全-上(單選題匯總-共3部分-1)
- 高血壓腦出血的外科治療課件
- 小學數(shù)學節(jié)低年級一二年級七巧板競賽試題(最新)
- 金融科技合規(guī)實務課件(完整版)
- GB∕T 1348-2019 球墨鑄鐵件-行業(yè)標準
- 火力發(fā)電企業(yè)作業(yè)活動風險分級管控清單(參考)
- 作物栽培學各論-玉米栽培
- 超濾膜技術介紹及應用課件(PPT 36頁)
- 新課程改革下農(nóng)村中小學學生學習方式研究
- 治療藥物監(jiān)測(1).ppt課件
- 中南大學輕金屬冶金學Ⅰ-Mg冶金部分
評論
0/150
提交評論