基于springboot的知識管理系統源碼數據庫
隨著信息互聯網信息的飛速發展,無紙化作業變成了一種趨勢,針對這個問題開發一個專門適應師生作業交流形式的網站。本文介紹了知識管理系統的開發全過程。通過分析企業對于知識管理系統的需求,創建了一個計算機管理知識管理系統的方案。文章介紹了知識管理系統的系統分析部分,包括可行性分析等,系統設計部分主要介紹了系統功能設計和數據庫設計。
本知識管理系統有管理員和用戶兩個角色。管理員功能有個人中心,用戶管理,文章分類管理,文章信息管理,資料分類管理,資料下載管理,問答管理,論壇交流,留言板管理,系統管理等。用戶功能有個人中心,文章信息管理,資料下載管理,問答管理,我的收藏管理。因而具有一定的實用性。
本站是一個B/S模式系統,采用Spring Boot框架作為后臺開發技術,前端框架是VUE,MYSQL數據庫設計開發,充分保證系統的穩定性。系統具有界面清晰、操作簡單,功能齊全的特點,使得知識管理系統管理工作系統化、規范化。
1系統概述
如今互聯網高速發展,網絡遍布全球,通過互聯網發布的消息能快而方便的傳播到世界每個角落,并且互聯網上能傳播的信息也很廣,比如文字、圖片、聲音、視頻等。從而,這種種好處使得互聯網成了信息傳播的主要途徑,社會上各種各樣的信息都想盡辦法通過互聯網進行傳播,互聯網對社會產生的影響越來越大。
隨著計算機技術的發展以及計算機網絡的逐漸普及,互聯網成為人們查找信息的重要場所,二十一世紀是信息的時代,所以信息的交換和信息流通顯得特別重要。因此,開發合適的知識管理系統成為企業必然要走的一步棋。開發合適的知識管理系統,可以方便管理人員對知識管理系統的管理,提高信息管理工作效率及查詢效率,有利于更好的為用戶提供服務。
隨著互聯網技術的快速發展,網絡時代的到來,網絡信息也將會改變當今社會。各行各業在日常企業經營管理等方面也在慢慢的向規范化和網絡化趨勢匯合。知識管理系統的信息化程度體現在將互聯網與信息技術應用于經營與管理,以現代化工具代替傳統手工作業。無疑,使用網絡信息化管理使信息管理更先進、更高效、更科學,信息交流更迅速。
知識還用書本作為載體傳播,已經很落伍了,這樣會導致了效率低下。而且,時間一長的話,積累下來的數據信息不容易保存,對于查詢、更新還有維護會帶來不少問題。對于數據交接也存在很大的隱患。如果采用電子化的存儲方式就會帶來很大的改善,而且給用戶的查詢帶來了很大便利,因此設計一個知識管理系統刻不容緩,能夠提高企業在信息技術方面的展示水平。
1.3系統設計思想
一個成功的網站應明確建設網站的目的,確定網站的功能,確定網站規模、投入費用,進行必要的市場分析等。只有詳細的策劃,才能避免在網站建設中出現的很多問題,使網站建設能順利進行。同時,一個大型的計算機網站系統,必須有一個正確的設計指導思想,通過合理選擇數據結構、網絡結構、操作系統以及開發環境,構成一個完善的網絡體系結構,才能充分發揮計算機信息管理的優勢。根據現實生活中網民的實際需求,本系統的設計按照下述原則進行。
- 有效性:實際上這里的有效性包括兩個方面的意思:有用性和可用性。有用性是指站點潛在的能滿足用戶需求的功能,而可用性是指能夠通過站點的操作實現特定的目標。可以看出一個站點如果不能恰當運行或設計得非常槽糕就不是一個好站點。可用站點的效益應該非常高,并易于學習,在實現用戶目標時令人滿意而不出錯。
- 高可靠性:一個實用的網站同時必須是可靠的,本設計通過合理而先進的網絡設計以及軟、硬件的優化選型,可保證網站的可靠性與容錯性。
- 高安全性:在設計中,將充分利用網絡軟、硬件提供的各種安全措施,既可以保證用戶共享資源,充分考慮系統及數據資源的容災、備份、恢復的要求。為系統提供強大的數據庫備份工具。可以保證關鍵數據的安全性。操作權限級,設置不同的角色確保每一步的操作權限,可以由管理員進行設置。
- 先進性:采用目前國際上最先進的開發技術,使用JSP開發技術,MYSQL作為網站后臺數據庫。采用這些技術降低了以后的系統運營成本,提高了系統的穩定性和易維護性。
- 采用標準技術:本網站的所有設計遵循國際上現行的標準進行,以提高系統的開放性。
- 外觀和技術平衡:系統采用Web風格的界面設計,界面友好、美觀,使用方便,易學易用。網站設計的關鍵問題是外觀和技術的平衡。外現不好的網站令人厭煩,站點可以運行很好,但卻不能帶動用戶積極性,相反,如果外觀非常有表現力,但技術有限,用戶則會感到非常失望。在外觀與技術之間需要確定一個清晰而連續的關系,即外觀與站點的意圖相關,對不同類型的網站處理方法不同。
2相關技術
2.1?MYSQL數據庫
MySQL是一個真正的多用戶、多線程SQL數據庫服務器。 是基于SQL的客戶/服務器模式的關系數據庫管理系統,它的有點有有功能強大、使用簡單、管理方便、安全可靠性高、運行速度快、多線程、跨平臺性、完全網絡化、穩定性等,非常適用于Web站點或者其他應用軟件的數據庫后端的開發工作。此外,用戶可利用許多語言編寫訪問MySQL數據庫的程序。作為開放源代碼運動的產物之一,MySQL關系數據庫管理系統越來越受到人們的青睞,應用范圍也越來越廣。速度和易用性使MySQL特別適用于Web站點或應用軟件的數據庫后端的開發工作。
MYSQL數據庫具有以下特點:
1、C和C ++中使用和測試,以確保源代碼的編譯器的便攜性和靈活性。
2、支持多種操作系統AIX的,FreeBSD下,HP-UX,Linux和Mac OS中,Novell公司的Netware,OpenBSD系統,OS/2裹時,Solaris,Windows等。
3、提供了用于不同的編程語言的API。編程語言,如C,, C ++,Python和Java的,的Perl,PHP,埃菲爾鐵塔,Ruby和Tcl的。
4、以及使用的CPU資源來支持多線程。
5、算法優化查詢SQL,切實提高搜索速度。
6、網絡上的客戶端和服務器可以用來編程任何獨立的編程環境,也有中國,GB2312,BIG5,日文寫作,一般基金,用于支持多國語言,并且可以嵌入在數據表和其他軟件shift_jis訪問柱可以用作的名稱。
7、TCP / IP,ODBC和JDBC數據庫,并提供連接到其他。
8、管理工具的管理,控制和優化數據庫的操作。
9、可以數以千萬計的記錄在一個大的數據庫。
2.2?B/S結構
B/S架構是一種基于互聯網系統的軟件系統開發架構,是現如今在軟件系統開發中采用非常大量的一種軟件系統結構。現如今B/S架構已經被大量使用,打破了C/S結構的結構,給基于網絡結構的軟件系統提供了良好的支持。B/S架構伴隨著計算機網絡技術發展而逐步的發展和更新。伴隨著互聯網的進一步發展,就要求大多數的管理系統要求不僅僅可以在一臺電腦上使用,同時可以在接入互聯網的其他電腦也可以使用對系統進行操作和使用。在這樣的背景下基于B/S架構的軟件系統設計方法得到了越來越大量的使用,基礎部分也在不斷的更新。
B/S架構是利用操作系統中的瀏覽器來進行使用的,不是一種窗體軟件系統,不需要在使用系統的電腦上進行安裝。B/S架構的運行方式是在遠程的服務器上把開發的軟件系統部署在遠程的服務器上,在部署好軟件系統之后就可以實現在任何接入互聯網的電腦上訪問部署好的軟件系統。B/S架構給使用管理系統的用戶帶來極大的便利。
在三層體系結構的B/S(Browser/Server,瀏覽器/服務器結構)系統中,用戶可以通過瀏覽器向分布在網絡上的眾多服務器發出請求。B/S系統極大地簡化了客戶機的工作量,客戶機上只需要安裝、配置少量的客戶端運行軟件即可,服務器將擔負大量的工作,對數據庫的訪問以及應用程序的執行都將由服務器來完成。
B/S架構的不斷成熟,主要使用WWW瀏覽器技術,結合多種瀏覽器腳本語言,用通用瀏覽器需要實現原本復雜的專有軟件來實現的強大功能,并節約了開發成本,是一種新的軟件架構。B/S系統包括:表示邏輯層,控制邏輯層,數據展現層,三層是相對獨立又相互關聯。
2.3?Spring Boot框架簡介
Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。通過這種方式,Spring Boot致力于在蓬勃發展的快速應用開發領域(rapid application development)成為領導者。
SpringBoot可以與經典的Java開發工具一起使用或者作為命令行工具安裝。無論如何,需要JavaSDK1.6或者更高版本,本項目用到的是JDK1.8版本。
2.4 VUE框架
Vue (讀音 /vju?/,類似于 view) 是一套用于構建用戶界面的漸進式框架。與其它大型框架不同的是,Vue 被設計為可以自底向上逐層應用。Vue 的核心庫只關注視圖層,不僅易于上手,還便于與第三方庫或既有項目整合。另一方面,當與現代化的工具鏈以及各種支持類庫結合使用時,Vue 也完全能夠為復雜的單頁應用提供驅動。Vue.js 的核心是一個允許采用簡潔的模板語法來聲明式地將數據渲染進 DOM 的系統
3系統分析
3.1可行性分析
通過對本知識管理系統實行的目的初步調查和分析,提出可行性方案并對其一一進行論證。我們在這里主要從技術可行性、經濟可行性、操作可行性等方面進行分析。
3.1.1技術可行性
本知識管理系統采用JAVA作為開發語言,Spring Boot框架,是基于WEB平臺的B/S架構系統。
(1)Java提供了穩定的性能、優秀的升級性、更快速的開發、更簡便的管理、全新的語言以及服務。整個系統幫用戶做了大部分不重要的瑣碎的工作。
(2)基于B/S模式的系統的開發已發展日趨成熟。
(3)眾所周知,Java是面向對象的開發語言。程序開發員可以在Eclipse平臺上面方便的使用一些已知的解決方案。 ???
因此,知識管理系統在開發技術上具有很高可行性,且開發人員掌握了一定的開發技術,所以此系統的開發技術具有可行性。
3.1.2經濟可行性
本知識管理系統采用的軟件都是開源的,這樣能夠削減很多的精力和資源,降低開發成本。同時對計算機的配置要求也極低,即使是淘汰下來的計算機也能夠滿足需要,因此,本系統在經濟上是完全具有可行性的,所以在經濟上是十分可行的。
3.1.3操作可行性
本知識管理系統的界面簡單易操作,用戶只要平時有在用過電腦,都能進行訪問和操作。本系統具有易操作、易管理、交互性好的特點,在操作上是非常簡單的,因此在操作上具有很高的可行性。
綜上所述,此系統開發目標已明確,在技術、經濟和操作方面都具有很高的可行性,并且投入少、功能完善、管理方便,因此系統的開發是完全可行的。
3.2系統性能分析
3.2.1 系統安全性
此知識管理系統要嚴格控制管理權限,具體要求如下:
(1)要想對知識管理系統進行管理,首先要依靠用戶名和密碼在系統中登陸,無權限的用戶不可以通過任何方式登錄系統和對系統的任何信息和數據進行查看,這樣可以保證系統的安全可靠性和準確性。
(2)在具體實現中對不同的權限進行設定,不同權限的用戶在系統中登陸后,不可以越級操作。
3.2.2 數據完整性
(1)所有記錄信息要保持全面,信息記錄內容不可以是空。
(2)各種數據間相互聯系要保持正確。
(3)相同數據在不同記錄中要保持一致。
3.3系統界面分析
目前,界面設計已經成為對軟件質量進行評價的一條關鍵指標,一個好的用戶界面可以使用戶使用系統的信心和興趣增加,從而使工作效率提高,JSP技術是將JAVA語言作為腳本語言的,JSP網頁給整個服務器端的JAVA庫單元提供了一個接口用來服務HTTP的應用程序。創建動態頁面比較方便。客戶界面是指軟件系統與用戶交互的接口,往往涵蓋輸出、輸入、人機對話的界面格式等。
1.輸出設計
輸出是由電腦對輸入的基本信息進行解決,生成高質量的有效信息,并使之具有一定的格式,提供給管理者使用,這是輸出設計的主要責任和目標。
系統開發的過程與實施過程相反,并不是從輸入設計到輸出設計,而是從輸出設計到輸入設計。這是由于輸出表格與使用者直接相聯系,設計的目的應當是確保使用者可以很方便的使用輸出表格,并且可以將各部門的有用信息及時的反映出來。輸出設計的準繩是既要整體琢磨不同管理層的所有需要,又要簡潔,不要提供給用戶不需要的信息。
2.輸入設計
輸入數據的收集和錄入是比較麻煩的,需要非常多的人力和一定設備,而且經常出錯。一旦輸入系統的數據不正確,那么處理后的輸出就會擴大這些錯誤,因此輸入的數據的準確性對整個系統的性能起著決定性意義。
輸入設計有以下幾點原則:
1)輸入量應盡量保持在能夠滿足處理要求的最低限度。輸入量越少,錯誤率就會越少,數據的準備時間也越少。
2)應盡可能的使輸入的準備以及輸入的過程進行時比較方便,這樣使錯誤的發生率降低。
3)應盡量早檢查輸入數據(盡量接近原數據發生點),以便使錯誤更正比較及時。
4)輸入數據盡早地記錄成其處理所需的形式,以防止數據由一種介質轉移到另一種介質時需要轉錄而可能發生的錯誤。
4系統概要設計
4.1概述
本系統采用B/S結構(Browser/Server,瀏覽器/服務器結構)和基于Web服務兩種模式,是一個適用于Internet環境下的模型結構。只要用戶能連上Internet,便可以在任何時間、任何地點使用。
4.2系統結構
本系統是基于B/S架構的網站系統。
4.3.數據庫設計
4.3.1數據庫實體
概念設計的目標是設計出反映某個組織部門信息需求的數據庫系統概念模式,數據庫系統的概念模式獨立于數據庫系統的邏輯結構、獨立于數據庫管理系統(DBMS)、獨立于計算機系統。
概念模式的設計方法是在需求分析的基礎上,用概念數據模型(例如E-R模型)表示數據及數據之間的相互聯系,設計出反映用戶信息需求和處理需求的數據庫系統概念模式。概念設計的目標是準確描述應用領域的信息模式,支持用戶的各種應用,這樣既容易轉換為數據庫系統邏輯模式,又容易為用戶理解。數據庫系統概念模式是面向現實世界的數據模型,不能直接用于數據庫系統的實現。在此階段,用戶可以參與和評價數據庫系統的設計,從而有利于保證數據庫系統的設計與用戶的需求相吻合。在概念模式的設計中,E-R模型法是最常見的設計方法。
4.3.2數據庫設計表
知識管理系統需要后臺數據庫,下面介紹數據庫中的各個表的詳細信息:
表4.1 問答評論表
字段 | 類型 | 空 | 默認 | 注釋 |
id?(主鍵) | bigint(20) | 否 | 主鍵 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 創建時間 |
refid | bigint(20) | 否 | 關聯表id | |
userid | bigint(20) | 否 | 用戶id | |
nickname | varchar(200) | 是 | NULL | 用戶名 |
content | longtext | 否 | 評論內容 | |
reply | longtext | 是 | NULL | 回復內容 |
表4.2 文章信息評論表
字段 | 類型 | 空 | 默認 | 注釋 |
id?(主鍵) | bigint(20) | 否 | 主鍵 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 創建時間 |
refid | bigint(20) | 否 | 關聯表id | |
userid | bigint(20) | 否 | 用戶id | |
nickname | varchar(200) | 是 | NULL | 用戶名 |
content | longtext | 否 | 評論內容 | |
reply | longtext | 是 | NULL | 回復內容 |
表4. 3資料下載評論表
字段 | 類型 | 空 | 默認 | 注釋 |
id?(主鍵) | bigint(20) | 否 | 主鍵 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 創建時間 |
refid | bigint(20) | 否 | 關聯表id | |
userid | bigint(20) | 否 | 用戶id | |
nickname | varchar(200) | 是 | NULL | 用戶名 |
content | longtext | 否 | 評論內容 | |
reply | longtext | 是 | NULL | 回復內容 |
表4.4 論壇交流
字段 | 類型 | 空 | 默認 | 注釋 |
id?(主鍵) | bigint(20) | 否 | 主鍵 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 創建時間 |
title | varchar(200) | 是 | NULL | 帖子標題 |
content | longtext | 否 | 帖子內容 | |
parentid | bigint(20) | 是 | NULL | 父節點id |
userid | bigint(20) | 否 | 用戶id | |
username | varchar(200) | 是 | NULL | 用戶名 |
isdone | varchar(200) | 是 | NULL | 狀態 |
表4.5 留言板
字段 | 類型 | 空 | 默認 | 注釋 |
id?(主鍵) | bigint(20) | 否 | 主鍵 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 創建時間 |
userid | bigint(20) | 否 | 留言人id | |
username | varchar(200) | 是 | NULL | 用戶名 |
content | longtext | 否 | 留言內容 | |
reply | longtext | 是 | NULL | 回復內容 |
表4.6 收藏表
字段 | 類型 | 空 | 默認 | 注釋 |
id?(主鍵) | bigint(20) | 否 | 主鍵 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 創建時間 |
userid | bigint(20) | 否 | 用戶id | |
refid | bigint(20) | 是 | NULL | 收藏id |
tablename | varchar(200) | 是 | NULL | 表名 |
name | varchar(200) | 否 | 收藏名稱 | |
picture | varchar(200) | 否 | 收藏圖片 |
表4. 7管理員表
字段 | 類型 | 空 | 默認 | 注釋 |
id?(主鍵) | bigint(20) | 否 | 主鍵 | |
username | varchar(100) | 否 | 用戶名 | |
password | varchar(100) | 否 | 密碼 | |
role | varchar(100) | 是 | 管理員 | 角色 |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 新增時間 |
表4. 8問答
字段 | 類型 | 空 | 默認 | 注釋 |
id?(主鍵) | bigint(20) | 否 | 主鍵 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 創建時間 |
biaoti | varchar(200) | 否 | 標題 | |
tupian | varchar(200) | 否 | 圖片 | |
wentimiaoshu | longtext | 是 | NULL | 問題描述 |
faburiqi | date | 是 | NULL | 發布日期 |
yonghuming | varchar(200) | 是 | NULL | 用戶名 |
表4. 9文章分類
字段 | 類型 | 空 | 默認 | 注釋 |
id?(主鍵) | bigint(20) | 否 | 主鍵 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 創建時間 |
wenzhangfenlei | varchar(200) | 否 | 文章分類 |
表4.10 文章信息
字段 | 類型 | 空 | 默認 | 注釋 |
id?(主鍵) | bigint(20) | 否 | 主鍵 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 創建時間 |
wenzhangbiaoti | varchar(200) | 否 | 文章標題 | |
wenzhangfenlei | varchar(200) | 否 | 文章分類 | |
biaoqian | varchar(200) | 是 | NULL | 標簽 |
tupian | varchar(200) | 否 | 圖片 | |
wenzhangneirong | longtext | 是 | NULL | 文章內容 |
faburiqi | date | 是 | NULL | 發布日期 |
yonghuming | varchar(200) | 是 | NULL | 用戶名 |
thumbsupnum | int(11) | 是 | 0 | 贊 |
crazilynum | int(11) | 是 | 0 | 踩 |
clicktime | datetime | 是 | NULL | 最近點擊時間 |
clicknum | int(11) | 是 | 0 | 點擊次數 |
表4.11 用戶
字段 | 類型 | 空 | 默認 | 注釋 |
id?(主鍵) | bigint(20) | 否 | 主鍵 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 創建時間 |
yonghuming | varchar(200) | 否 | 用戶名 | |
mima | varchar(200) | 否 | 密碼 | |
xingming | varchar(200) | 是 | NULL | 姓名 |
touxiang | varchar(200) | 是 | NULL | 頭像 |
xingbie | varchar(200) | 是 | NULL | 性別 |
lianxidianhua | varchar(200) | 是 | NULL | 聯系電話 |
表4. 12資料分類
字段 | 類型 | 空 | 默認 | 注釋 |
id?(主鍵) | bigint(20) | 否 | 主鍵 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 創建時間 |
ziliaofenlei | varchar(200) | 否 | 資料分類 |
表4.13 資料下載
字段 | 類型 | 空 | 默認 | 注釋 |
id?(主鍵) | bigint(20) | 否 | 主鍵 | |
addtime | timestamp | 否 | CURRENT_TIMESTAMP | 創建時間 |
ziliaobiaoti | varchar(200) | 否 | 資料標題 | |
ziliaofenlei | varchar(200) | 是 | NULL | 資料分類 |
fengmiantu | varchar(200) | 是 | NULL | 封面圖 |
neirongjianjie | longtext | 是 | NULL | 內容簡介 |
ziliao | varchar(200) | 是 | NULL | 資料 |
faburiqi | date | 是 | NULL | 發布日期 |
yonghuming | varchar(200) | 是 | NULL | 用戶名 |