鄒鎮(zhèn)安 王興柱 朱志輝 謝敏 雷川
摘要:為方便大學(xué)生的社交活動,利用網(wǎng)絡(luò)改善生活品質(zhì),基于Android平臺,Spring Boot微服務(wù)技術(shù),token身份驗證,Json數(shù)據(jù)傳輸解析,redis內(nèi)存數(shù)據(jù)庫,Mysql數(shù)據(jù)庫等技術(shù),設(shè)計并實現(xiàn)了一個簡單的大學(xué)校園app,主要服務(wù)包括用戶注冊登錄,舉辦校園活動,校園二手交易,校園任務(wù)發(fā)布等功能模塊。
關(guān)鍵詞:學(xué)社;Spring Boot;Jsoup;Mysql數(shù)據(jù)庫;Android Studio
中圖分類號:TP319 文獻標識碼:A 文章編號:1009-3044(2018)13-0064-03
1 背景
目前對國內(nèi)外校園投入使用的APP數(shù)量沒有準確的統(tǒng)計數(shù)字,可以肯定的是由于開發(fā)APP的技術(shù)門檻和成本要求都處于較低的水平,未來一段時間內(nèi)在相應(yīng)需求的推動下和國家鼓勵大學(xué)生自主創(chuàng)新創(chuàng)業(yè)的政策引導(dǎo)下,投入使用的校園APP數(shù)量將進入一個快速增長的階段。就目前的校園生活來看,缺少了很多目前互聯(lián)網(wǎng)已存在,但沒有普及的,方便人們生活的工具,因此在方便大學(xué)生活的設(shè)計目的下,為學(xué)生提供一套方便大學(xué)生生活的功能性軟件就有較好的必要性了。設(shè)計的系統(tǒng)改變傳統(tǒng)訪問校園網(wǎng)站方式,基于Android的智能移動終端設(shè)備,依托校園網(wǎng)信息平臺,利用無線移動網(wǎng)絡(luò),實現(xiàn)與校園網(wǎng)資源的交互與處理,為學(xué)生和教師提供隨時隨地、個性化的、恰當(dāng)準確的校園服務(wù)。
2 需求分析
2.1 研究目的
學(xué)社,學(xué)習(xí)and社交,學(xué)社app開發(fā)的目的是想讓學(xué)生以學(xué)校為單位,方便開展學(xué)生之間結(jié)伴活動,促進同學(xué)之間互相學(xué)習(xí),拉近同學(xué)們之間的距離。軟件的服務(wù)形式主要提供幾個平臺,如技能交換平臺、二手物品交易平臺、任務(wù)平臺、活動集中營、學(xué)校周邊信息一覽等平臺,方便學(xué)校內(nèi)同學(xué)之間的相互交流,提供有效率的學(xué)習(xí)方式與新穎潮流的交友方式。
2.2 功能需求分析
學(xué)社APP將所有功能分為幾個模塊,方便開發(fā)人員開發(fā)。
對普通論壇APP而言,都有相應(yīng)的用戶功能模塊,學(xué)社APP用戶功能模塊需要最基本的登錄,注冊,用戶信息查詢與修改,和內(nèi)容舉報。內(nèi)容舉報指在用戶發(fā)現(xiàn)不良信息時,通過舉報選項將內(nèi)容發(fā)送給管理員。
技能交換功能模塊:當(dāng)用戶有想要學(xué)習(xí)的某種技能時,在此模塊發(fā)帖,尋求會此技能的相關(guān)用戶,以“以物易物”的形式交換一些用金錢不好衡量的東西。當(dāng)學(xué)生想多方面提升自己或者簡單了解一個新領(lǐng)域時,他可以通過本平臺用已擁有的知識和別人“交換”。如:我會跳爵士但我想學(xué)彈吉他,又不想報培訓(xùn)班,這時,我們可以通過此平臺尋找會彈吉他的同學(xué)進行線下交易。
二手物品交換功能模塊:在同一個校園里,用戶距離一般不會太遠,所以網(wǎng)上的二手交易并不需要的非常好的交易安全保證,軟件只提供一個信息平臺,具體交易在線下完成,完成后由用戶自主關(guān)閉,或者有平臺自動關(guān)閉。
對用戶而言主要有以下優(yōu)點:
1)以學(xué)校為中心,提供一個買賣家短距離的交易,使交易有保障。
2)讓一些舊物品發(fā)揮余熱,而不是直接進入垃圾桶或者回收站,在降低學(xué)生生活成本的同時提供更優(yōu)質(zhì)的服務(wù)。
校園任務(wù)發(fā)布功能模塊:針對學(xué)生的各類服務(wù)需求如:修電腦,打掃,取包裹,買飯等,可以通過專用發(fā)布平臺向同校學(xué)生發(fā)布,有意愿的同學(xué)可通過平臺接單并提供服務(wù)。這樣
對發(fā)放而言提供了一個解決問題新途徑,對任務(wù)完成者來說也提供一種新的賺取學(xué)費生活費的方式,以減輕生活負擔(dān)。
同?;顒庸δ苣K:讓旅途不再孤單。提供一個活動發(fā)放平臺,讓有想法,愛活動的人聚集的一個圈子。如果不想一個人登山,徒步,騎行的人可以召集一群志同道合,一起玩。同時方便學(xué)生舉辦一些需要很多人一起弄的活動,如演講比賽,學(xué)生自制公開課等。
學(xué)校周邊信息一覽功能模塊:提供學(xué)校周邊的物價,食品、學(xué)習(xí)和生活用品的價格,方便學(xué)子的生活。
2.3 性能需求分析
評價軟件的質(zhì)量除了看其是否滿足用戶的功能需求外,還應(yīng)考量其性能指標,如任務(wù)的響應(yīng)時間,系統(tǒng)的穩(wěn)定性如是否經(jīng)常崩潰等及安全性。系統(tǒng)性能的高低直接影響用戶對軟件的使用體驗。對系統(tǒng)的性能評價主要看其占用運行平臺的CPU 多少(越少越好),內(nèi)存的占用率(越低越好)及用戶請求的響應(yīng)時間(越短越好)等。本系統(tǒng)的設(shè)計應(yīng)將軟件運行手機CPU 使用率控制在20%以下,內(nèi)存控制在100M 以下即響應(yīng)時間保持在2秒以內(nèi)。
另一方面,還要求本系統(tǒng)在退出后應(yīng)及時釋放資源(CPU,內(nèi)存等),以提高其他軟件的運行速度,節(jié)省手機電量。若不及時銷毀必要進程,則可能會對手機操作系統(tǒng)的造成越來越大的負擔(dān),最終導(dǎo)致操作系統(tǒng)的崩潰。
2.4 硬件需求分析
由于需要搭建服務(wù)器端和移動端,測試硬件需要PC機和Android 手機,測試所用硬軟件至少需要以下配置:
1)作為服務(wù)器的PC 端配置
硬件方面:處理器要求主頻在 2.0GHz以上,內(nèi)存保證2G,硬盤要求不高,320G就足夠;
軟件方面:操作系統(tǒng)選用Windows Server或Linux ,數(shù)據(jù)庫管理系統(tǒng)選擇mySQL 5.6版本及以上;
2)移動端配置
硬件方面:本管理系統(tǒng)較小,硬件要求不大,主頻只需1.5GHz 以上,內(nèi)存2G,需要準備不同屏幕尺寸的手機;
軟件方面:操作系統(tǒng)安卓5.1版本以上,該版本以下的用戶不多。
3 總體設(shè)計
3.1 軟件結(jié)構(gòu)設(shè)計
3.1.1 軟件結(jié)構(gòu)圖
如圖1:
設(shè)計軟件功能之初,由于沒有考慮技術(shù)和耗時問題,筆者設(shè)計了非常詳盡的功能,并用StarUML做了用例圖(見上圖)。然而作為研究性學(xué)習(xí),這樣做需要大量的人力及時間,項目團隊在此基礎(chǔ)上設(shè)計并初步實現(xiàn)的上述功能,其他更進一步的詳細功能可在后續(xù)繼續(xù)探討。
3.1.2 客戶端設(shè)計
如圖2:
4 部分服務(wù)器接口設(shè)計
4.1 通用模塊
1)登錄:http(s)://ip:8080/user/login
功能:實現(xiàn)登錄功能,輸入賬號和密碼,正確則返回用戶token和id,錯誤則返回fail;輸入項目:用戶賬號(用戶名、郵箱、手機)和密碼;輸出項目:正確則返回用戶token標識和用戶id,錯誤則返回登錄失敗。
2)注冊:http(s)://ip:8080/user/register
功能:實現(xiàn)新用戶的添加,并保存到數(shù)據(jù)庫中;輸入項目:用戶名、郵箱、密碼;輸出項目:返回注冊成功或者注冊失敗。
3)用戶信息查詢:http(s)://ip:8080/user/getUserInfo/userId=?
功能:實現(xiàn)用戶的信息查詢功能,查詢用戶的基本信息和所發(fā)過的帖子等;輸入項目:用戶id或者用戶名;輸出項目:用戶id、用戶名、性別、電話、QQ、郵箱、學(xué)號等。
4.2 技能交換模塊
1)帖子列表,功能:實現(xiàn)顯示所有帖子數(shù);輸入項目:無;輸出項目:帖子創(chuàng)建者、帖子標題、創(chuàng)建時間。
2)帖子詳情,功能:查詢單個帖子的詳細信息;輸入項目:帖子id;輸出項目:標題、詳細描述、創(chuàng)建人、聯(lián)系方式(QQ、電話)。
3)創(chuàng)建帖子,功能:實現(xiàn)帖子的新建功能;輸入項目:標題、想學(xué)技能、已會技能、聯(lián)系方式(QQ、電話);輸出項目:正確則返回創(chuàng)建成功。
4)刪除帖子,功能:根據(jù)帖子id刪除單個帖子;輸入項目:帖子id;輸出項目:正確則返回帖子刪除成功,反之則帖子刪除失敗。
4.3 二手物品交易模塊
1)二手物品列表,功能:實現(xiàn)顯示所有的物品數(shù);輸入項目:無;輸出項目:標題、創(chuàng)建者、時間、價格。
2)物品詳情,功能:查詢單個物品的詳細信息;輸入項目:物品id;輸出項目:商品標題、描述、創(chuàng)建者、聯(lián)系方式(QQ、電話)、價格、圖片。
3)創(chuàng)建交易信息,功能:實現(xiàn)創(chuàng)建商品交易功能;輸入項目:商品id,訂單號,訂單日期;輸出項目:正確則成功,反之失敗。
4)修改交易信息,功能:實現(xiàn)商品交易信息修改功能;輸入項目:商品id,訂單號,訂單日期;輸出項目:正確則成功,反之失敗。
5)結(jié)束交易,功能:實現(xiàn)商品交易結(jié)束狀態(tài);輸入項目:交易狀態(tài)值;輸出項目:正確則成功,反之失敗。
5 數(shù)據(jù)庫設(shè)計
進過分析討論,系統(tǒng)使用了一款輕量級數(shù)據(jù)庫MySQL作為數(shù)據(jù)存儲。數(shù)據(jù)庫的設(shè)計、數(shù)據(jù)導(dǎo)入使用的是mySQL 5.6 數(shù)據(jù)庫管理系統(tǒng)。具體數(shù)據(jù)表設(shè)計如圖3。
6 安裝使用說明
6.1 安裝說明
點擊安裝包,進入安裝界面:
點擊安裝,app開始在Android手機上安裝直到成功。如圖4。
6.2 使用說明
安裝成功后,啟動系統(tǒng)進行注冊登錄,見圖5登錄界面,登錄成功后見圖6登錄成功界面。接下來可使用軟件相應(yīng)功能,如發(fā)布圖書出售見圖7發(fā)布圖書出售成功后界面。
7 結(jié)束語
系統(tǒng)實現(xiàn)后首先在湖南文理學(xué)院芙蓉學(xué)院進行測試運行,通過半年來的試運行,系統(tǒng)功能基本穩(wěn)定,使用效果好,大部分同學(xué)感覺非常有用便捷。后續(xù)項目團隊將在此基礎(chǔ)上進一步結(jié)合實際使用完善軟件功能,加強軟件穩(wěn)定性、可靠性、安全性方面的探討,以推進軟件向?qū)嵱眯头较虬l(fā)展。
參考文獻:
[1] Jshua Bloch. Effective Java (中文版) [M]. 北京: 機械工業(yè)出版社, 2015.
[2] 武永亮. Android開發(fā)范例實戰(zhàn)寶典[M]. 北京: 清華大學(xué)出版社, 2015.
[3] Bruce Eckel. Thingking in Java[M]. 北京: 機械工業(yè)出版社, 2015.
[4] 羅杰,王興柱,冷迅,等.基于Android平臺的校園助手APP的設(shè)計與實現(xiàn)[J]. 軟件導(dǎo)刊, 2016(12).
[5] 豐生強. Android軟件安全與逆向分析[M]. 北京: 人民郵電出版社, 2015.
[6] 陳嘩. 大話移動APP測試Android與IOS應(yīng)用測試指南[M]. 北京: 清華大學(xué)出版社, 2014.