摘 要:MVC架構作為一種經典的軟件設計模式,能夠將有利于系統(tǒng)維護性和擴展性的業(yè)務邏輯、數據和界面顯示分離出來。將其應用于石窟資源管理系統(tǒng)的設計中,有利于提高系統(tǒng)的整體質量。文章以MVC架構為基礎,按照MVC模式的設計理念,詳細介紹了石窟資源管理系統(tǒng)的總體結構設計方案和功能邏輯結構,闡述了系統(tǒng)數據庫各實體與數據庫表設計方案之間的邏輯關系,分析了系統(tǒng)各功能模塊的設計思路,并進行了系統(tǒng)實現。
關鍵詞:MVC架構;石窟;資源管理;系統(tǒng)設計;開發(fā)實現
中圖分類號:TP311 文獻標識碼:A 文章編號:2096-4706(2024)20-0087-06
Design of Grotto Resource Library Management System Based on MVC Mode
Nurgamali·Shayiti, XIAO Zhengrong, Mayila·Yaolvas
(School of Information Engineering, Xinjiang Institute of Technology, Aksu 843100, China)
Abstract: MVC architecture, as a classic software design mode, can separate the business logic, data a0b0f594d19b0b1d77992668ef7b7a7942b825d50e1d80696ad05ec1234372518nd interface display that are conducive to the maintenance and expansion of the system. Applying it to the design of grotto resource management system is conducive to improving the overall quality of the system. Based on the MVC architecture, according to the design concept of the MVC mode, this paper introduces the overall structure design scheme and functional logic structure of the grotto resource management system in detail, expounds the logical relationship between each entity of system database and the database table design scheme, and analyzes the design idea of each functional module of the system. Then, the system is implemented.
Keywords: MVC architecture; grotto; resource management; system design; development and implementation
0 引 言
克孜爾石窟作為我國重要的文化遺產,其資源管理的重要性不言而喻。隨著信息技術的發(fā)展,如何利用現代技術手段對克孜爾石窟資源進行高效、科學的管理,成為當務之急。MVC架構作為一種經典的軟件設計模式,其有良好的可維護性、可擴展性和易用性,在軟件開發(fā)領域得到了廣泛應用。本文基于MVC架構設計石窟資源管理系統(tǒng),旨在提高系統(tǒng)的穩(wěn)定性、可擴展性和易用性,滿足現代軟件開發(fā)的需求。同時,解決當前克孜爾石窟資源管理中存在的問題,提高管理水平,確保文化遺產的安全與傳承。
1 MVC架構
1.1 MVC介紹
MVC是一種典型的軟件設計模式,廣泛應用于Web應用程序開發(fā)中,MVC架構由模型(Model)、視圖(View)和控制器(Controller)三個核心部分組成[1]。在MVC架構中,Model表示業(yè)務模型,負責處理數據邏輯;View表示數據展示,負責將Model的數據呈現給用戶;Controller負責接收用戶輸入,調用Model進行業(yè)務處理,并將結果返回View。MVC的工作流程如圖1所示。這三個部分在MVC架構中相互分離,各自獨立,不僅使得每個部分的角色更加明確,還降低了模塊間的耦合度以及代碼的重復編寫,有利于單元測試,提高了軟件質量和整個系統(tǒng)的可維護性和可擴展性。
1.2 MVC框架的應用
MVC框架的應用在石窟資源庫管理系統(tǒng)中主要有以下幾個方面:
1)模型。石窟資源庫管理系統(tǒng)中的模型主要包含石窟的文物信息、用戶的信息以及權限等,其主要負責處理數據邏輯。例如:數據的存儲、驗證以及更新。
2)視圖。石窟資源庫管理系統(tǒng)中的視圖主要包含石窟文物信息展示、用戶界面和設置界面的權限,其主要負責展示模型中接收的數據,并提供用戶交互界面。
3)控制器。石窟資源庫管理系統(tǒng)中的控制器負責處理從視圖接收的用戶輸入,并根據用戶的輸入更新模型和視圖,例如:用戶的注冊、登錄、文件上傳和資源查詢等。
通過以上MVC架構的設計,石窟資源庫管理系統(tǒng)實現了數據的邏輯和展示,用戶的交互分離,提高了系統(tǒng)整體的模塊化程度,便于系統(tǒng)的維護和擴展。同時,MVC架構的設計也提高了系統(tǒng)的安全性、穩(wěn)定性和可移植性等,為石窟資源庫管理系統(tǒng)的保護和管理提供了有力的支持。
2 系統(tǒng)總體架構設計
系統(tǒng)開發(fā)時采用前后端設計分離的設計模式,前端采用HTML、CSS和JavaScript進行頁面布局與交互,后端采用Java語言和Spring Boot框架進行業(yè)務邏輯處理,Spring Boot框架改善了Spring的缺點,可以讓開發(fā)者無須在業(yè)務邏輯和配置之間切換思維,專心于業(yè)務邏輯的編寫,從而大大提高開發(fā)的效率[2],數據庫則采用MySQL進行數據存儲,確保了數據的安全性和高效存取。
3 系統(tǒng)模塊設計
基于系統(tǒng)功能的要求與邏輯,將系統(tǒng)劃分為以下4模塊,具體如圖2所示。
3.1 用戶模塊設計
用戶模塊主要負責處理用戶的注冊、登錄以及信息修改等功能。用戶在注冊過程中,用戶需要填寫用戶名、密碼以及郵箱等,點擊提交后數據會自動進行數據庫存儲,成功之后,頁面會自動彈出注冊成功的信息框;用戶在登錄的過程中,用戶填寫注冊時的用戶名以及密碼,點擊提交之后,系統(tǒng)自動進行驗證,成功則會跳轉至后臺頁面,失敗則會提升錯誤信息,當用戶需要修改信息修改時,用戶只需在后臺頁面修改個人信息,提交之后相應的數據庫會自動進行更新。在此模塊中,用戶通過創(chuàng)建個人賬戶,實現了對石窟資源的信息瀏覽、評論、收藏等操作。同時,系統(tǒng)管理員可以對用戶進行權限管理,以保障系統(tǒng)安全。此過程始終與數據庫相連接,以在數據訪問層執(zhí)行SQL語言,通過數據處理獲取結果,并基于控件在客戶端加以展示[3]。
3.2 數據管理模塊設計
數據管理模塊是本系統(tǒng)的核心部分,其主要負責石窟資源數據的添加、修改、刪除和查詢。該模塊實現了對石窟資源各種屬性(如名稱、類型、年代、地理位置等)的統(tǒng)一管理,并為用戶提供多維度、多條件的檢索功能,便于用戶快速索引到所需要的石窟資源。數據管理模塊主要是管理員進行操作的模塊,系統(tǒng)管理員在登錄并進入系統(tǒng)后,所涉及的操作有數據添加、修改、刪除以及查詢。在數據添加時,管理員可以填寫石窟洞窟、壁畫以及雕塑等資源信息;在數據修改時,管理員只需在后臺頁面修改石窟信息即可;在數據刪除時,只要選擇要刪除的石窟資源;在數據查詢時,管理員只需根據關鍵字或者條件就可以查詢到相應的石窟資源,并可以在前端頁面展示結果,上述操作在點擊提交之后數據庫會進行相應更新。
3.3 權限控制模塊設計
本研究設計了權限控制模塊,以保證系統(tǒng)資源的安全與穩(wěn)定。該模塊根據用戶的角色和權限級別以及密級程度,限制不同用戶訪問不同的功能模塊,防止未經授權的用戶操作,造成數據泄露、損壞或者破壞。此外,權限控制模塊還實現了角色管理功能,便于系統(tǒng)管理員對用戶角色進行分配和調整。設定不同角色對應的權限,如管理員擁有全部權限,而一般用戶只有Oversion權限;根據用戶所屬的角色分配相應的權限給用戶,對不同的功能模塊進行訪問限制;當用戶訪問功能模塊時,系統(tǒng)會檢查用戶是否具備相應的權限,如果無就會彈出沒有權限訪問的提示。
3.4 功能模塊設計
功能模塊包括多個子模塊,如洞窟資源展示、評論管理、收藏管理、個人中心等。其中,石窟資源展示模塊將克孜爾石窟豐富的資源以圖片、文字、地圖等多種形式展示,其中圖片按照時間和地點等條件進行文字解釋說明,地圖則采用GPS進行定位顯示;評論管理模塊能夠讓用戶對石窟資源進行評論,分享自己的觀點和感悟;收藏管理模塊則讓用戶可以在收藏夾中加入自己喜歡的石窟資源,方便隨時查看。個人中心模塊則在提供好友管理功能的同時,還提供了用戶信息的查看和修改功能。
4 開發(fā)框架
基于石窟資源庫管理系統(tǒng)框架,選用B/S(Browser/Server)軟件,分別是表現層、應用層和數據層[4],其具有良好的跨平臺性和易用性,包含三大部分,即瀏覽器、軟件應用層以及數據支持層[3]。其中,瀏覽器是運行網頁,在頁面端接收到用戶操作以及輸入并轉入軟件應用層;軟件應用層包含服務器以及接口等,負責處理核心的業(yè)務邏輯,在接收到瀏覽器的信息指令之后,根據指令完成相應的操作,并將相應的數據傳送到數據支持層;而數據支持層則與數據庫進行交互,負責數據的儲存和修改等。具體操作流程如圖3所示。
5 數據庫設計
數據庫技術是通過研究數據庫的結構、存儲、設計、管理以及應用的基本理論和實現方法,并利用這些理論來實現對數據庫中的數據進行處理、分析和理解的技術,具有體積小、速度快、成本低等特點,在整個系統(tǒng)開發(fā)中起到至關重要的作用[5]。數據庫中存儲了用戶信息、量表信息、系統(tǒng)日志等各種數據[6]。本次研究所設計的克孜爾石窟資源庫系統(tǒng)采用MySQL小型數據庫實施系統(tǒng)數據管理,該數據庫技術應用廣泛,適用于Windows、Unix、Linux等多個操作系統(tǒng),具有代碼開源、運行速度快等應用優(yōu)勢[7-8]。
在對本系統(tǒng)功能進行需求分析之后,實施數據庫邏輯關系設計,數據庫內容設計包含6個實體:用戶(User)、石窟資源(CulturalSite)、評論(Comment)、收藏(Favorite)、權限(Permission)、角色(Role)。各數據實體之間的E-R邏輯關系如圖4所示。
E-R圖包含屬性、關系與實體,通過3個基本結構,可對靜態(tài)數據開展邏輯結構設計,根據數據庫實體E-R圖建立數據庫表。以石窟資源表和用戶表為例,相應的數據庫表設計方案如表1和表2所示。
6 軟件設計
石窟資源管理系統(tǒng)能夠有效地整合和管理大量的石窟數據,并且提供豐富的交互式體驗[9]。軟件架構被劃分為5個主要模塊:石窟信息管理模塊、藝術品管理模塊、展覽模塊,以及文物管理和文物修復模塊。其部分核心代碼如下:
/**
* 石窟信息管理 Service 業(yè)務層處理
*/
@Service
public
class
Skysszhglxtjvgphn0713086SkxxglServiceImpl
implements
ISkysszhglxtjvgphn0713086SkxxglService
{
@Autowired
private Skysszhglxtjvgphn0713086SkxxglMapper skysszhglxtjvgphn0713086SkxxglMapper;
/**
* 查詢石窟信息管理
*
* @param id 石窟信息管理主鍵
* @return 石窟信息管理
*/
@Override
public Skysszhglxtjvgphn0713086Skxxgl selectSkysszhglxtjvgphn0713086SkxxglById(Long id)
{
return
skysszhglxtjvgphn0713086SkxxglMapper.selectSkysszhglxtjvgphn0713086SkxxglById(id);
}
/**
* 查詢石窟信息管理列表
*
* @param skysszhglxtjvgphn0713086Skxxgl 石窟信息管理
* @return 石窟信息管理
*/
@Override
public
List<Skysszhglxtjvgphn0713086Skxxgl>
selectSkysszhglxtjvgphn0713086SkxxglList(Skysszhglxtjvgphn0713086Skxxgl
skysszhglxtjvgphn0713086Skxxgl)
{
return
skysszhglxtjvgphn0713086SkxxglMapper.selectSkysszhglxtjvgphn0713086SkxxglList(skysszhglxtjvg
phn0713086Skxxgl);
}
7 系統(tǒng)實現
該系統(tǒng)采用MVC框架技術,通過Java語言以及SQL Server關系數據庫進行B/S模式的設計開發(fā),實現了石窟的信息管理以及藝術品管理等主要功能[10],石窟資源庫管理系統(tǒng)的功能需求分析包括以下方面:
1)石窟信息管理。包括石窟名稱、所在地、創(chuàng)建年代、保護等級、開放時間、參觀人數、石窟圖片等內容,用于管理石窟信息。
2)藝術品管理。包括藝術品名稱、作者、創(chuàng)作時間、尺寸、材質、收藏地點等內容,用于管理藝術品信息。
3)藝術家管理。包括姓名、國籍、生平簡介、代表作品、榮譽獎項、展覽信息等內容,用于管理藝術家信息。
4)文物管理。包括文物名稱、文物類型、所屬石窟、文物年代、物尺寸、文物材質、出土時間等內容,用于管理文物信息。
5)文物修復。包括文物名稱、修復人員、修復時間、修復方法、修復描述、修復狀態(tài)等內容,用于管理文物修復信息,如圖5至圖7所示。
8 結 論
本文詳細探討了基于MVC架構的克孜爾石窟資源庫管理系統(tǒng)的設計思路和核心功能實現策略。從系統(tǒng)整體結構到數據庫設計,以及系統(tǒng)的建設思路都進行了詳細闡述。在未來的研究工作中,還需要深入收集和分析用戶需求,優(yōu)化系統(tǒng)功能設計,以提升用戶體驗。此外,系統(tǒng)測試與優(yōu)化方面也需加強,以確保系統(tǒng)穩(wěn)定性和可靠性。
參考文獻:
[1] 呂猛,張巍.基于云平臺與MVC架構的醫(yī)院信息化綜合管理系統(tǒng) [J].自動化技術與應用,2022,41(6):148-151.
[2] 孫鐵強,于洪健,劉俊,等.基于Spring Boot的高壓開關柜遠程監(jiān)控系統(tǒng)的設計 [J].自動化應用,2024,65(2):207-209.
[3] 張榮華.基于面向服務架構的疾控中心人力資源管理系統(tǒng)設計與實現研究 [J].自動化技術與應用,2021,40(1):159-162.
[4] 譚曉宇,陳偉,曾雪剛,等.基于B/S架構的安全教育系統(tǒng)設計與實現 [J].數字技術與應用,2024,42(1):208-210.
[5] 袁愛平,陳暢,孫士兵,等.基于SSM框架的高校學生信息管理系統(tǒng)設計與實現 [J].工業(yè)控制計算機,2023,36(12):127-129.
[6] 李俊鵬.基于MVC模式的心理測評系統(tǒng)設計與實現 [J].電子設計工程,2023,31(15):52-55.
[7] 周少東,吳磊,錢超,等.用ThermalCal軟件輔助化工熱力學教學——同時涉及反應平衡與相平衡系統(tǒng)的計算 [J].化工高等教育,2021,38(1):138-142+147.
[8] 王寧,司曉靜.分析教學PACS系統(tǒng)在醫(yī)學影像診斷學教學中的應用 [J].中國繼續(xù)醫(yī)學教育,2021,13(6):35-38.
[9] 許彥,王一可,鄧娟,等.長江大保護物資管理系統(tǒng)的設計與實現 [J].現代信息科技,2024,8(4):36-40+45.
[10] 呂冠艷,李奮華.MVC架構下的校園超市管理系統(tǒng)的設計 [J].計算機時代,2022(4):123-125.
作者簡介:努爾加瑪力·沙依提(1988.04—),女,維吾爾族,新疆阿克蘇人,講師,碩士研究生,研究方向:計算機應用及技術。