劉磊,劉邦桂
(廣東開放大學、廣東理工職業學院,廣州 510000)
基于SSH框架的多用戶簡歷生成與管理系統設計和實現
劉磊,劉邦桂
(廣東開放大學、廣東理工職業學院,廣州 510000)
設計和實現一個基于Web的簡歷快速生成和管理系統,游客可以瀏覽公開的簡歷墻,注冊用戶可以通過選擇布局、模塊、樣式快速生成自己的簡歷。系統后端基于Hibernate、Spring、Struts三大經典框架組合開發,前端基于當前流行的Bootstrap響應式布局框架,開發的網頁能自動適應不同分辨率。從流程設計、功能設計、數據模型設計、效果實現等軟件開發的關鍵階段論述本系統的開發過程。
SSH框架;簡歷生成;簡歷管理
簡歷是每一個求職者在求職路上的敲門磚,一份優秀的簡歷,可以在眾多求職者簡歷中脫穎而出,給招聘人員留下深刻的印象。一份簡歷最大的挑戰就是如何觸動招聘人員,這需要行業經驗,和站在HR角度思考問題的能力。求職者需要思考簡歷中展示內容及版式安排。目前,多數求職者會在簡歷中羅列多條個人經歷,容易造成簡歷風格雜亂,重點不夠突出。制作簡歷一定要為閱讀者著想,簡歷是個人宣傳的一種手段,一個整齊利落風格的簡歷必然會脫穎而出。本文開發的簡歷管理系統能夠為用戶提供多種風格的簡歷模版,來制作簡歷。同時,支持用戶制作多份不同風格的簡歷并在線對其進行修改保存。此外,提供針對個人信息進行精簡分析,支持用戶對關鍵信息進行醒目設計,用戶可以依據不同的求職意向進行不同的偏好設置。簡歷長度沒有一定之規,一般而言,最好能把篇幅控制在兩頁內。求職者需要打印大量的紙質版簡歷,如今,基于Web的簡歷管理系統支持在線分享簡歷及通過電子郵件的形式發送給招聘方,同時也支持本地導出進行打印。
經過分析,我們總結了優秀簡歷應該具備的標準,開發了用戶可以自主選擇簡歷模塊、風格、排版,以快速生成簡歷的管理系統。以下,從軟件開發周期的角度詳細論述本系統的開發過程。
本系統使用角色包括游客、注冊用戶和管理員。首先登錄系統主頁,游客可以瀏覽公開的簡歷墻、查看簡歷詳細內容;普通用戶注冊賬號,登錄系統成功后進入個人簡歷管理界面,勾選模塊、選擇風格,填寫簡歷內容,編輯簡歷內容,快速發布簡歷。注冊用戶業務流程圖如圖1所示。
系統后臺管理地址只對管理員角色開放,管理員輸入正確的賬號密碼登錄后臺管理界面,可以對注冊用戶和簡歷進行更高級別的管理,并查看系統的一些統計數據。管理員業務流程圖如圖2所示。

圖1 普通用戶業務流程圖

圖2 管理員業務流程圖
本系統提供兩個管理界面:注冊用戶使用的個人簡歷管理界面,管理員使用的后臺管理界面。游客、注冊用戶和管理員都可以查看公開的簡歷,系統前臺提供瀏覽簡歷墻、搜索簡歷、查看簡歷詳細內容的功能;對于普通用戶,系統前臺提供用戶注冊賬號和登錄賬號功能,普通用戶登錄成功后進入個人簡歷管理界面,個人簡歷中心提供新建簡歷、編輯簡歷、保存發布簡歷的功能,新建簡歷可以選擇簡歷模塊、一鍵生成簡歷,編輯簡歷可以對簡歷內容添加信息、刪除信息、修改信息,保存發布可以選擇公開或不公開兩種方式;系統后臺提供注冊用戶管理和更高權限的簡歷管理,管理員登錄后臺,可以管理注冊的普通用戶,可以查看生成的簡歷、審查簡歷、刪除不符合要求的簡歷,統計簡歷的訪問量等。系統總體功能結構圖如圖3所示。

圖3 系統總體功能結構圖
通過分析系統參與角色,可以得到兩個基本實體:用戶和簡歷,其中用戶可以分為普通用戶和管理員,用戶實體最重要的屬性包括注冊用戶名和密碼;簡歷實體包括基本簡歷模塊和可以自由組合的模塊,基本簡歷模塊存儲簡歷名稱、照片、樣式、布局、訪問次數、自由組合模塊注冊標記等;系統內置一些可以自由組合的模塊,分別使用不同的模塊表存儲信息,針對允許用戶可以添加或刪除自由模塊,在基本簡歷模塊表設置多個字段以標記是否包含某個自由模塊;針對允許用戶對自由模塊的內容可以添加多條,將自由模塊設計成一些相互獨立的表,再通過外鍵關聯到基本簡歷模塊表。系統的E-R模型圖如圖4所示。
本系統后端選用經典的SSH集成框架開發,SSH集成框架是Hibernate、Spring、Struts三大框架的組合,基于SSH框架的系統從職責上分為四層:表示層、業務邏輯層、數據持久層和域模塊層,可以幫助開發人員在短期內搭建結構清晰、可復用性好、維護方便的Web應用程序。其中使用Struts作為系統的整體基礎架構,負責MVC的分離,在Struts框架的模型部分,控制業務跳轉,利用Hibernate框架對持久層提供支持,Spring做管理,管理Struts和Hibernate。具體做法是:首先用面向對象的分析方法根據需求提出一些模型,將這些模型實現為基本的Java對象;然后編寫基本的DAO(Data Access Objects)接口,并給出Hibernate的DAO實現,采用Hibernate架構實現的DAO類來實現Java類與數據庫之間的轉換和訪問;其次使用Struts連接業務邏輯和視圖展現,接收、處理、發送數據并控制流程;最后由Spring做整合,管理Struts和Hibernate,提供IOC容器使代碼松耦合以及AOP框架的切面功能。

圖4 系統數據庫模型圖
本系統前端選用流行的Bootstrap框架,Bootstrap是目前很受歡迎的HTML、CSS和JS框架,用于開發響應式布局、移動設備優先的Web項目,它簡潔靈活,使得Web開發更加快捷,Bootstrap基于HTML5、CSS3、jQuery開發,Bootstrap內置的CSS媒體查詢(Media Query)功能,可以開發出響應式布局的網頁,自動適應不同分辨率效果;同時提供了豐富的Web組件,包括下拉菜單、按鈕組、按鈕下拉菜單、導航、導航條、路徑導航、分頁、排版、縮略圖、警告對話框、進度條、媒體對象等,使用這些組件,可以快速地搭建一個漂亮、功能完備的網站前端。
本系統面向制作簡歷和查看簡歷的需求人群,為注冊用戶提供快速制作簡歷的功能,也為游客提供了方便查看簡歷的功能。下面選擇幾個關鍵功能分析其實現。
(1)快速生成簡歷
這是本系統的核心功能。為了實現用戶可以自由組合模塊生成簡歷,系統數據模型采取了一個主表、多個從表的模式,一個主表是簡歷基本信息表,多個從表代表了多個簡歷模塊,表1展示了主表的數據模型。

表1 簡歷主表tb_resume數據模型
各模塊表分別包含了自己的主題信息字段,再通過外鍵rid與主表關聯。下面的代碼展示了如何生成一份簡歷。


制作簡歷主界面實現效果如圖5所示,可以在左邊選擇排版、模塊、主題顏色,右邊填寫簡歷信息。

圖5 簡歷制作主界面
每個模塊也可以添加或刪除多條記錄,以相關技能模塊為例,實現效果如圖6所示。

圖6 相關技能模塊
(2)瀏覽簡歷
簡歷的良好展示是本系統的另一個重要功能,查詢簡歷信息包括查詢主表和所有關聯從表的信息,其實現代碼如下:

簡歷的展示效果如圖7所示。

圖7 簡歷展示效果圖
SSH集成框架是經典的J2EE三層框架,Bootstrap是流行的前端開發框架,本文使用這兩大框架,以制作簡歷、瀏覽簡歷的需求為出發點,從軟件開發周期的角度詳細論述了多用戶簡歷生成與管理系統的設計和實現,相信對于讀者進行軟件開發有一定的參考意義。
[1]翟高粵.基于J2EE技術的SSH框架的改進及應用[J].計算機時代,2012(10).
[2]韓寶強.SSH框架原理剖析與學習使用技巧研究[J].軟件導刊,2012(05).
[3]韓義亭,張成宇.SSH架構及其在Web開發中的應用[J].網絡安全技術與應用,2007(10).
[4]邵雪航,王大鵬.基于SSH框架技術下的Web項目的研究與實現[J].數字技術與應用,2012(10).
[5]梁弼.SSH框架整合技術研究及應用[J].西安文理學院學報(自然科學版),2011(03).
[6]周利江.基于SSH框架的J2EE應用研究[J].電腦編程技巧與維護,2012(12).
[7]陳曦.SSH下的新聞發布系統研究[J].科技傳播,2012(18).
Design and Implementation of Multi User Resume Generation and Management System Based on SSH Framework
LIU Lei,LIU Bang-gui
(The Open University of Guangdong,Guangdong Polytechnic Institute,Guangzhou 510000)
Designs and realizes a fast generation and management system based on the resume Web,visitors can browse the public resume wall, registered users can choose the layout,style module,rapid generation of your resume.This system is based on Hibernate,Spring,Struts three classic framework combination development,front-end based on the current popular Bootstrap response layout framework,the development of Web pages can automatically adapt to different resolutions.Discusses the development process of the system from the key stages of software development,such as process design,function design,data model design,effect realization and so on.
SSH Framework;Resume;Resume Management
1007-1423(2016)36-0058-05
10.3969/j.issn.1007-1423.2016.36.015
劉磊(1984-),男,山東人,碩士,講師,高級信息系統項目管理師、高級程序員,從事領域為項目管理、Web開發、數據庫技術研
2016-11-25
2016-12-15
廣東省優秀青年教師培養項目(No,YQ2015181)、廣東理工職業學院科研項目(No.JG201334、No.1427)
劉邦桂(1983-),江西贛州人,碩士研究生,講師,高級工程師,研究方向為數據挖掘、云技術、網絡安全、服務器技術等