呂文超 楊添翔 鄒犇犇 王薈奧 葉恩亮
摘要:針對(duì)校園信息繁多冗雜,難以集中精力處理自身關(guān)注和重要的任務(wù)等問(wèn)題,基于移動(dòng)WEB、移動(dòng)GIS和Java等技術(shù),設(shè)計(jì)了一種基于手機(jī)APP端的任務(wù)發(fā)布通知系統(tǒng)。該系統(tǒng)實(shí)現(xiàn)了任務(wù)與信息發(fā)布,用戶定位,主題關(guān)注,任務(wù)管理等功能,幫助用戶獲取和管理信息,精準(zhǔn)推送信息,節(jié)約用戶時(shí)間和精力。
關(guān)鍵詞:任務(wù)發(fā)布通知;手機(jī)APP;用戶定位;任務(wù)通知
中圖分類號(hào):TP393? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)24-0077-03
開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID):
Design and Implementation of Mobile APP for Campus Task and Notification Publishing System
LV Wen-chao,YANG Tian-xiang,ZOU Ben-ben,WANG Hui-ao,YE En-liang
(Yangtze University,Wuhan 430000,China)
Abstract:In view of the current information redundancy and complexity, it is difficult for people to concentrate on their own concerns and important tasks. Based on mobile Web, mobile GIS and JAVA technology, a novel task publishing and notification system based on mobile APP is designed.The system accomplished task publishing, user positioning,task attention and notification.It helps users to obtain information,push information, and saves time and energy.
Key words:Task Publishing and Notification;mobile phone APP;User location;task notification
隨著校園信息化的快速發(fā)展,信息的種類和數(shù)量越來(lái)越多,例如學(xué)生要關(guān)注了解很多校園通知和信息,教師要發(fā)布和管理教務(wù)信息等,如何高效地發(fā)布、管理和獲取有意義的信息和任務(wù)成為校園師生所關(guān)注的問(wèn)題。然而,常見(jiàn)的任務(wù)發(fā)布通知系統(tǒng)往往依賴于社交軟件,功能較為單一,容易被用戶忽視,也沒(méi)有對(duì)信息進(jìn)行準(zhǔn)確的分類,缺乏任務(wù)主題,使用戶往往關(guān)注不到那些重要的信息,單一的消息通知也形同虛設(shè),系統(tǒng)的效用和用戶的體驗(yàn)感都達(dá)不到預(yù)期的效果。文中針對(duì)當(dāng)前任務(wù)發(fā)布通知系統(tǒng)存在的問(wèn)題,結(jié)合移動(dòng)WEB、移動(dòng)GIS和Java等技術(shù),設(shè)計(jì)了一種特定的獨(dú)立于社交平臺(tái)之外的任務(wù)通知系統(tǒng),使用戶可以高效率地獲取、發(fā)布、關(guān)注和管理任務(wù),給用戶帶來(lái)良好的體驗(yàn)。
1 系統(tǒng)開發(fā)技術(shù)
1.1 前端的開發(fā)技術(shù)
Ajax:Ajax 是一種用于創(chuàng)建快速動(dòng)態(tài)網(wǎng)頁(yè)的技術(shù),不需要任何瀏覽器插件,但需要用戶允許JavaScript在瀏覽器上執(zhí)行,能在不更新整個(gè)頁(yè)面的前提下維護(hù)數(shù)據(jù),這使得Web應(yīng)用程序更為迅捷地回應(yīng)用戶動(dòng)作,并避免了在網(wǎng)絡(luò)上發(fā)送那些沒(méi)有改變的信息[1]。
jQuery:jQuery是一個(gè)快速、簡(jiǎn)潔的JavaScript框架,具有獨(dú)特的鏈?zhǔn)秸Z(yǔ)法和短小清晰的多功能接口;具有高效靈活的CSS選擇器,并且可對(duì)CSS選擇器進(jìn)行擴(kuò)展;擁有便捷的插件擴(kuò)展機(jī)制和豐富的插件[2]。
1.2 后端的開發(fā)技術(shù)
Java:Java是一門面向?qū)ο缶幊陶Z(yǔ)言,不僅吸收了C++語(yǔ)言的各種優(yōu)點(diǎn),還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語(yǔ)言具有功能強(qiáng)大和簡(jiǎn)單易用兩個(gè)特征。Java語(yǔ)言作為靜態(tài)面向?qū)ο缶幊陶Z(yǔ)言的代表,極好地實(shí)現(xiàn)了面向?qū)ο罄碚?,允許程序員以優(yōu)雅的思維方式進(jìn)行復(fù)雜的編程[3]。
spring MVC:一種java框架,Spring框架提供了構(gòu)建Web應(yīng)用程序的全功能MVC模塊。易于同其它View框架(Tiles等)無(wú)縫集成,采用IOC便于測(cè)試[4]。
Spring框架:Spring是一個(gè)開源框架,使得JAVA EE開發(fā)應(yīng)該更加容易使用[5]。
MyBatis:是一個(gè)基于Java的持久層框架,它支持定制化 SQL、存儲(chǔ)過(guò)程以及高級(jí)映射[6]。
Redis:Redis是一個(gè)開源的使用ANSI C語(yǔ)言編寫、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、Key-Value數(shù)據(jù)庫(kù),并提供多種語(yǔ)言的API[7]。
后端的框架圖如圖1。
1.3系統(tǒng)整體架構(gòu)
本系統(tǒng)采用MVC三層架構(gòu)思想,經(jīng)擴(kuò)展后形成多層架構(gòu)體系,同時(shí)采用Bootstrap前端框架、ORM數(shù)據(jù)對(duì)象模型框架以及AJAX等富客戶端(RIA)的先進(jìn)技術(shù),保持整個(gè)系統(tǒng)的先進(jìn)性、可擴(kuò)展性。Client 客戶端,以瀏覽器、移動(dòng)端APP為載體。系統(tǒng)從職責(zé)上分為四層:表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層和域模塊層,搭建結(jié)構(gòu)清晰、可復(fù)用性好、維護(hù)方便的Web應(yīng)用程序。系統(tǒng)整體架構(gòu)圖如圖2。
2 系統(tǒng)總體設(shè)計(jì)
2.1 系統(tǒng)功能簡(jiǎn)介
移動(dòng)客戶端主要由以下幾個(gè)功能模塊構(gòu)成:信息發(fā)布、用戶定位、任務(wù)查詢、簽到功能、提醒功能等。系統(tǒng)主要功能圖如圖3。
2.2 系統(tǒng)主要功能模塊的實(shí)現(xiàn)
信息發(fā)布和用戶定位:用戶在發(fā)布信息時(shí)可以進(jìn)行選擇信息的類別,需選擇一個(gè)結(jié)束時(shí)間,對(duì)于活動(dòng)類信息用戶可以選擇是否去設(shè)置位置,可以添加附加文件等,具體流程如圖4。
信息查詢:用戶在登錄后可以進(jìn)行主題的關(guān)注和查看信息,并獲取該消息所附帶的位置信息以及附加文件等等,具體流程如圖5。
提醒功能:當(dāng)用戶關(guān)注的某個(gè)事件到達(dá)截止時(shí)間時(shí),會(huì)對(duì)用戶進(jìn)行提醒,用戶可以設(shè)置提醒的前后時(shí)間段,具體流程如圖6。
2.3 系統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)
數(shù)據(jù)庫(kù)概念結(jié)構(gòu):任務(wù)發(fā)布通知系統(tǒng)可以簡(jiǎn)化為如圖所示的情景,各實(shí)體關(guān)系根據(jù)實(shí)際情況進(jìn)行劃分,概念設(shè)計(jì)的E-R圖如圖7,概念設(shè)計(jì)具體如下:
數(shù)據(jù)庫(kù)有四個(gè)表,信息表,用戶表,主題表,以及關(guān)注主題表。
每個(gè)用戶可以發(fā)布多個(gè)主題,每個(gè)主題屬于一個(gè)用戶,屬性包括主題編號(hào),以及主題內(nèi)容。
一個(gè)主題下面可以發(fā)布很多子信息,每條信息只能屬于一個(gè)主題,信息包含標(biāo)題,位置,所屬主題,內(nèi)容,結(jié)束時(shí)間。
用戶可以關(guān)注多個(gè)主題,一個(gè)主題可以被多個(gè)用戶關(guān)注,當(dāng)關(guān)注該主題時(shí),會(huì)自動(dòng)接受該主題下的信息。
3 系統(tǒng)實(shí)現(xiàn)與測(cè)試
3.1系統(tǒng)實(shí)現(xiàn)展示
系統(tǒng)注冊(cè)登入頁(yè)面:用戶可以在客戶端進(jìn)行注冊(cè)和登入,展示圖如圖8。
信息發(fā)布頁(yè)面:用戶能夠發(fā)布信息和任務(wù),并且能夠?qū)崿F(xiàn)定位功能。展示頁(yè)面如圖9。
3.2系統(tǒng)測(cè)試
各個(gè)功能模塊正常,瀏覽過(guò)程中流暢無(wú)卡頓,并且可讀取 GPS 位置,定位到當(dāng)前點(diǎn),位置誤差在 15 m 內(nèi),延時(shí)在15 ms以內(nèi)。
4 結(jié)束語(yǔ)
本系統(tǒng)適用于高校。幫助師生更好地管理自己的任務(wù),解決了因?yàn)槭挛锓彪s和沒(méi)有邏輯條理帶來(lái)的不便,師生可以在自己的手機(jī)APP端隨時(shí)管理自己的任務(wù),發(fā)布任務(wù),設(shè)置提醒時(shí)間,定位,簽到等,很大程度上縮短在獲取信息和任務(wù)的時(shí)間,提高了效率,具有較高的實(shí)用性。
參考文獻(xiàn):
[1] 游麗貞,郭宇春,李純喜.Ajax引擎的原理和應(yīng)用[J].微計(jì)算機(jī)信息,2006(6):205-207.
[2]李峰,劉彥隆.基于SSH框架與jQuery技術(shù)的JavaWeb開發(fā)應(yīng)用[J].科技情報(bào)開發(fā)與經(jīng)濟(jì),2010,20(6):106-108.
[3] 曹鳴鵬,趙偉,許林英.J2EE技術(shù)及其實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用,2001(10):20-23.
[4] 張宇,王映輝,張翔南.基于Spring的MVC框架設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程,2010,36(4):59-62.
[5]胡啟敏,薛錦云,鐘林輝.基于Spring框架的輕量級(jí)J2EE架構(gòu)與應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,2008(5):115-118.
[6] 徐雯,高建華.基于SpringMVC及MyBatis的Web應(yīng)用框架研究[J].微型電腦應(yīng)用,2012,28(7):1-4+10.
[7]朱亞興,余愛(ài)民,王夷.基于Redis+MySQL+MongoDB存儲(chǔ)架構(gòu)應(yīng)用[J].微型機(jī)與應(yīng)用,2014,33(13):3-5,9.
【通聯(lián)編輯:唐一東】