国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SpringMVC的漫畫交流分享平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)

2017-03-31 02:12:03唐煜杰張明會(huì)
電子元器件與信息技術(shù) 2017年2期
關(guān)鍵詞:類圖用例漫畫

唐煜杰,張明會(huì)

(大連東軟信息學(xué)院 軟件工程,遼寧 大連 116023)

0 引言

漫畫讀者已經(jīng)越來越多,在過去,讀者們閱讀紙質(zhì)漫畫,只能與身邊少數(shù)的愛好者討論,分享也只能以借閱的方式,興趣圈非常小,也難以看到很多不同種類的漫畫。很多漫畫讀者選擇在QQ群和漫畫論壇上分與其他漫畫愛好者交流漫畫,但是這樣的交流分享方式十分單一,無法在一個(gè)網(wǎng)站上分享的同時(shí)閱讀漫畫,用戶只能上傳一些截圖,未看過該漫畫的讀者還要自己去別處找漫畫看,這種方式讓廣大漫畫讀者覺得極為不便又浪費(fèi)時(shí)間,漫畫的閱讀與交流需要有一定的連貫性與流暢性。

圖1 總體業(yè)務(wù)流程圖

圖 2功能結(jié)構(gòu)圖

1 系統(tǒng)開發(fā)技術(shù)

1.1 SpringMVC

Spring MVC是Spring提供的一個(gè)強(qiáng)大而靈活的web框架。借助于注解,Spring MVC提供了幾乎是POJO的開發(fā)模式,使得控制器的開發(fā)和測(cè)試更加簡(jiǎn)單[1]。這些控制器一般不直接處理請(qǐng)求,而是將其委托給Spring上下文中的其他bean,通過Spring的依賴注入功能,這些bean被注入到控制器中??梢暂p松實(shí)現(xiàn)DIP(依賴倒換)、OCP(開閉原則)、IOC(控制反轉(zhuǎn))、AOP(面向切面)等特性[2]。

1.2 Mybatis

MyBatis是支持普通 SQL查詢,存儲(chǔ)過程和高級(jí)映射的優(yōu)秀持久層框架[3]。MyBatis消除了幾乎所有的JDBC代碼和參數(shù)的手工設(shè)置以及結(jié)果集的檢索。MyBatis使用簡(jiǎn)單的 XML或注解用于配置和原始映射,將接口和Java的POJOs(Plain Old Java Objects,普通的 Java對(duì)象)映射成數(shù)據(jù)庫(kù)中的記錄[4]。

1.3 MySQL

MySQL是一個(gè)開放源碼的小型關(guān)聯(lián)式數(shù)據(jù)庫(kù)管理系統(tǒng)由瑞典MySQL AB 公司開發(fā),目前屬于Oracle 旗下產(chǎn)品。在 WEB 應(yīng)用方面,MySQL是最好的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)之一。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),許多中小型網(wǎng)站為了降低網(wǎng)站總體擁有成本而選擇了MySQL作為網(wǎng)站數(shù)據(jù)庫(kù)[5]。非常流行的開源軟件組合LAMP中的“M”指的就是MySQL。

2 系統(tǒng)功能分析與設(shè)計(jì)

表1 用戶信息表(t_user)

表2 漫畫信息表(t_goods)

圖3 系統(tǒng)架構(gòu)圖

表3 分類信息表(t_category)

表4 評(píng)論信息表(t_comment)

2.1 業(yè)務(wù)流程

本系統(tǒng)主要分為管理員和用戶兩種角色,管理員上傳漫畫、用戶選擇漫畫、閱讀漫畫、評(píng)論漫畫等,涉及管理員及用戶兩種用戶類型。漫畫交流分享平臺(tái)的總體業(yè)務(wù)流程如圖1所示。

2.2 功能模塊設(shè)計(jì)

根據(jù)總體業(yè)務(wù)流程,確定本系統(tǒng)主要包括如圖2所示功能模塊。

2.3 系統(tǒng)架構(gòu)設(shè)計(jì)

在線漫畫交流分享平臺(tái)的系統(tǒng)架構(gòu)分為四層,如圖3所示。

其中第一層為Web層,包含前臺(tái)JSP頁(yè)面與Action部分的DispatcherServlet,負(fù)責(zé)接收前臺(tái)發(fā)來的請(qǐng)求并控制轉(zhuǎn)發(fā)請(qǐng)求。第二層為Service層,負(fù)責(zé)處理業(yè)務(wù)邏輯。第三層為Dao層,由持久層文件組成,負(fù)責(zé)接收Service的請(qǐng)求并對(duì)操作數(shù)據(jù)庫(kù)。第四層為實(shí)體類,負(fù)責(zé)存放各種實(shí)體類文件及其構(gòu)造函數(shù)。

2.4 數(shù)據(jù)庫(kù)設(shè)計(jì)

本系統(tǒng)主要有四個(gè)實(shí)體,分別為漫畫、漫畫類別、用戶與評(píng)論,四個(gè)實(shí)體間的關(guān)系(ER圖)如圖4所示。

圖4 系統(tǒng)ER圖

通過對(duì)領(lǐng)域?qū)ο蟆I(yè)務(wù)對(duì)象及對(duì)象間關(guān)聯(lián)的分析,對(duì)本系統(tǒng)的數(shù)據(jù)庫(kù)表進(jìn)行了設(shè)計(jì),如表1-表4所示。本系統(tǒng)數(shù)據(jù)庫(kù)管理采用MySQL。

(1)用戶信息表(t_user)。用戶信息表主要用于保存系統(tǒng)管理員的信息,主要字段包括:用戶ID、用戶名、登錄密碼、用戶年齡、用戶性別、用戶郵箱、用戶身份。表結(jié)構(gòu)如表1所示。

圖5 評(píng)論漫畫用例順序圖

圖6 評(píng)論漫畫用例的設(shè)計(jì)類圖

(2)漫畫信息表(t_goods)。漫畫信息表主要用于保存漫畫的信息,主要字段包括:漫畫ID、類別ID、漫畫名稱、漫畫簡(jiǎn)介、漫畫作者、漫畫地區(qū)、漫畫上傳時(shí)間、漫畫推薦度、漫畫圖片地址。表結(jié)構(gòu)如表2所示。

(3)分類信息表(t_category)。用戶信息表主要用于保存漫畫分類的信息,主要字段包括:分類ID、分類名、分類圖片、分類狀態(tài)。表結(jié)構(gòu)如表3所示。

(4)評(píng)論信息表(t_comment)。評(píng)論信息表主要用于保存用戶評(píng)論的信息,主要字段包括:評(píng)論ID、漫畫ID、用戶ID、評(píng)論內(nèi)容、評(píng)論時(shí)間。表結(jié)構(gòu)如表4所示。

2.5 對(duì)象設(shè)計(jì)

本系統(tǒng)的主要功能包括用戶瀏覽漫畫、評(píng)論漫畫、上傳漫畫以及管理員對(duì)基本信息管理等,介于篇幅有限,下文僅對(duì)評(píng)論漫畫和上傳漫畫兩個(gè)模塊進(jìn)行詳細(xì)設(shè)計(jì)。

2.5.1 評(píng)論漫畫用例對(duì)象設(shè)計(jì)

(1)用例實(shí)現(xiàn)。用戶選擇漫畫后進(jìn)入閱讀界面,然后可以在閱讀界面中添加評(píng)論,評(píng)論通過post請(qǐng)求發(fā)送給Controller層的CommentAction類,然后通過AddComment()方法傳給CommentService,后發(fā)送給持久層寫進(jìn)數(shù)據(jù)庫(kù)。評(píng)論漫畫用例的實(shí)現(xiàn)順序圖如圖5所示。

(2)設(shè)計(jì)類圖。根據(jù)順序圖的分析得到評(píng)論漫畫用例的設(shè)計(jì)類圖,分為實(shí)體類user,控制層CommentAction類和邏輯層CommentService類,如圖6所示。

2.5.2 上傳漫畫用例對(duì)象設(shè)計(jì)

(1)用例實(shí)現(xiàn)。用戶登錄后可以上傳自己的漫畫,上傳內(nèi)容和漫畫實(shí)體類中的元素相統(tǒng)一,點(diǎn)擊上傳按鈕之后發(fā)送post請(qǐng)求到UploadAction類中,再獲取用戶ID,用AddGoods()方法發(fā)送到UploadService類中,檢查漫畫是否已存在,如不存在,傳入持久層插入數(shù)據(jù)庫(kù),并將結(jié)果返回到頁(yè)面。上傳用例的實(shí)現(xiàn)順序圖如圖7所示。

(2)設(shè)計(jì)類圖。根據(jù)分析得到上傳用例的設(shè)計(jì)類圖,分為user和comic兩個(gè)實(shí)體類及上傳的控制層和邏輯層類,如圖8所示。

圖7 上傳用例順序圖

圖8 上傳用例的設(shè)計(jì)類圖

3 系統(tǒng)實(shí)現(xiàn)

3.1 上傳功能

第一個(gè)核心功能是用戶的漫畫上傳功能,因?yàn)槁嫿涣鞣窒砥脚_(tái)強(qiáng)調(diào)的就是交流和分享,用戶登錄后即可分享漫畫,進(jìn)入上傳漫畫頁(yè)面,填入漫畫信息,上傳封面和內(nèi)容圖片,點(diǎn)擊上傳即可上傳完畢。點(diǎn)擊分享漫畫,進(jìn)入分享漫畫頁(yè)面,并填入漫畫信息,點(diǎn)擊上傳進(jìn)行分享。Mapper層實(shí)現(xiàn)的部分代碼如下:

3.2 評(píng)論功能

用戶在漫畫瀏覽頁(yè)面上可以對(duì)當(dāng)前瀏覽的漫畫進(jìn)行評(píng)論,用戶先打開主頁(yè),然后選擇分類,選擇漫畫進(jìn)入閱讀頁(yè)面,然后進(jìn)行評(píng)論。實(shí)現(xiàn)評(píng)論功能的Service和Mapper層代碼如下所示:

4 結(jié)語(yǔ)

本文總結(jié)了漫畫交流系統(tǒng)分析、設(shè)計(jì)與實(shí)現(xiàn)的全過程,系統(tǒng)最終實(shí)現(xiàn)了用戶瀏覽漫畫、漫畫交流及分享的功能,為漫畫愛好者及漫畫作者提供了很好的交流分享平臺(tái)。本項(xiàng)目主要有兩個(gè)特點(diǎn):

(1)業(yè)務(wù)邏輯上簡(jiǎn)明直接,目標(biāo)用戶設(shè)定準(zhǔn)確,以漫畫愛好者與漫畫作者為主,為漫畫愛好者提供了一個(gè)分享自己喜愛的漫畫與他人交流的平臺(tái),也為新手漫畫作者提供了直接展示自己漫畫的機(jī)會(huì),目前網(wǎng)絡(luò)上并沒有功能主題相似的網(wǎng)站,本系統(tǒng)可以填補(bǔ)市場(chǎng)空白,有著廣闊的發(fā)展空間。

(2)程序上,由于使用了Spring與Mybatis框架,使得項(xiàng)目十分精簡(jiǎn),代碼量比傳統(tǒng)的Servlet +JDBC精簡(jiǎn)很多,便于維護(hù)。開發(fā)過程中使用了敏捷開發(fā)的思想,把開發(fā)與測(cè)試相結(jié)合,故UAT階段的Bug數(shù)非常少。此外,Spring框架的使用使得系統(tǒng)相應(yīng)性能及安全性也比傳統(tǒng)架構(gòu)出色。

參考文獻(xiàn):

[1]周燕玲.SpringMVC框架開發(fā)WEB應(yīng)用程序的探索與研究[J].科技廣場(chǎng),2016,(6):25-28.

[2]董英茹.簡(jiǎn)談AngularJS在下一代Web開發(fā)中的應(yīng)用[J]. 軟件工程師,2015,(05):30-31.

[3]姜英,王嘉.基于Struts2+Spring+Freemarker的自定義框架研究[J].電腦編程技巧與維護(hù),2013,(12):4-5

[4]林鈺杰,吳麗賢.基于整合框架的Web應(yīng)用系統(tǒng)開發(fā)平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2016,24(20):62-65.

[5]趙璘.基于Spring MVC+JDBCTemplate的Web系統(tǒng)的研究與應(yīng)用[J],軟件工程,2017,1:5-8.

[6]陽(yáng)小蘭,羅明.基于Spring+SpringMVC+MyBatis網(wǎng)上論壇的設(shè)計(jì)與實(shí)現(xiàn)[J].黑龍江科技信息,2016,(36):279-280.

[7]王曉華.試析MySQL數(shù)據(jù)庫(kù)性能的調(diào)優(yōu)[J].電腦編程技巧與維護(hù),2016,(22):48,82.

[8]賈躍,付麗梅,韓羽佳.軟件開發(fā)技能測(cè)評(píng)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 電子技術(shù)與軟件工程,2016,(22):64-65.

[9]Zhang D,Wei Z,Yang Y.Research on Lightweight MVC Framework Based on Spring MVC and Mybatis[C]// Sixth International Symposium on Computational Intelligence and Design.IEEE,2014:350-353.

[10]SerdarYegulalp,SerdarYegulalp.MySQL 8.0:More Unicode,less hassle[J].InfoWorld.com,2016.

[11]林躍進(jìn).論Spring編寫J2EE程序的優(yōu)勢(shì)[J].遼寧師專學(xué)報(bào)(自然科學(xué)版),2007,(01):34-35.

[12]付麗梅,劉英鵬,賈躍.基于騰訊微校平臺(tái)的校園移動(dòng)辦公APP設(shè)計(jì)與實(shí)現(xiàn)[J].信息系統(tǒng)工程,2017,(01):156-157.

[13]李緒成,王紅,閆海珍.基于B/S架構(gòu)的MIS生成系統(tǒng)[J].長(zhǎng)春師范學(xué)院學(xué)報(bào)(自然科學(xué)版),2009,(02):24-26.

[14]羅迪,云龍,楊姣.基于Spring+MyBatis的高校人事管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].數(shù)字技術(shù)與應(yīng)用,2017,(04):179.

[15]李洋.SSM框架在Web應(yīng)用開發(fā)中的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2016,(12):190-194.

猜你喜歡
類圖用例漫畫
UML用例模型中依賴關(guān)系的比較與分析
基于語(yǔ)義和結(jié)構(gòu)的UML類圖的檢索
聯(lián)鎖軟件詳細(xì)設(shè)計(jì)的測(cè)試需求分析和用例編寫
從出土文獻(xiàn)用例看王氏父子校讀古書的得失
MINI漫畫
知識(shí)漫畫
漫畫4幅
婦女生活(2016年10期)2016-10-12 19:23:20
漫畫與幽默
讀者(2016年20期)2016-10-09 09:40:19
UML類圖元模型基于描述邏輯的表示及驗(yàn)證
UML類圖的一種表示方法
盐源县| 海南省| 永善县| 锡林浩特市| 恩施市| 利辛县| 香港| 鄂托克旗| 墨脱县| 文昌市| 宁海县| 永年县| 远安县| 永清县| 柳江县| 蒲城县| 肇源县| 宁阳县| 甘德县| 侯马市| 奉贤区| 建瓯市| 蚌埠市| 龙江县| 通州市| 东丰县| 伊金霍洛旗| 鄂伦春自治旗| 兖州市| 定陶县| 孝昌县| 鄂托克前旗| 奉化市| 邯郸县| 阿拉尔市| 综艺| 河池市| 页游| 长汀县| 白朗县| 镶黄旗|