計(jì)算機(jī)科學(xué)與技術(shù)-基于Retrofit+OkHttp網(wǎng)絡(luò)選課APP的設(shè)計(jì)與實(shí)現(xiàn)-以松田學(xué)院為例_第1頁(yè)
計(jì)算機(jī)科學(xué)與技術(shù)-基于Retrofit+OkHttp網(wǎng)絡(luò)選課APP的設(shè)計(jì)與實(shí)現(xiàn)-以松田學(xué)院為例_第2頁(yè)
計(jì)算機(jī)科學(xué)與技術(shù)-基于Retrofit+OkHttp網(wǎng)絡(luò)選課APP的設(shè)計(jì)與實(shí)現(xiàn)-以松田學(xué)院為例_第3頁(yè)
計(jì)算機(jī)科學(xué)與技術(shù)-基于Retrofit+OkHttp網(wǎng)絡(luò)選課APP的設(shè)計(jì)與實(shí)現(xiàn)-以松田學(xué)院為例_第4頁(yè)
計(jì)算機(jī)科學(xué)與技術(shù)-基于Retrofit+OkHttp網(wǎng)絡(luò)選課APP的設(shè)計(jì)與實(shí)現(xiàn)-以松田學(xué)院為例_第5頁(yè)
已閱讀5頁(yè),還剩48頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

基于Retrofit+OkHttp網(wǎng)絡(luò)選課APP的設(shè)計(jì)與實(shí)現(xiàn)摘要:隨著智能手機(jī)的普及和硬件完善,智能手機(jī)可代替電腦進(jìn)行一些日常的工作和學(xué)習(xí)上的活動(dòng)。網(wǎng)絡(luò)選課由電腦網(wǎng)頁(yè)端向手機(jī)APP端的擴(kuò)展,可以使得在沒有電腦的情況下學(xué)生亦可拿出隨身攜帶的手機(jī)進(jìn)行選課操作。根據(jù)本校選課期間的系統(tǒng)網(wǎng)絡(luò)情況,故通過使用網(wǎng)絡(luò)選課APP實(shí)現(xiàn)流量分流是本課題開展的目的。本文分析了以本校為基礎(chǔ)開發(fā)網(wǎng)絡(luò)選課APP的背景,并結(jié)合網(wǎng)絡(luò)選課的實(shí)際情況簡(jiǎn)單介紹APP各功能模塊、服務(wù)器的部署以及數(shù)據(jù)庫(kù)的設(shè)計(jì),側(cè)重介紹開發(fā)工具的選擇、系統(tǒng)調(diào)試和功能實(shí)現(xiàn)的過程。以AndroidStdio作為網(wǎng)絡(luò)選課APP的系統(tǒng)開發(fā)工具,并以MyEclipse作為服務(wù)器的開發(fā)工具。Mysql-5.7作為數(shù)據(jù)庫(kù)支撐,在開發(fā)過程中使用Postman調(diào)試接口,最終以Linux系統(tǒng)作為服務(wù)器的部署點(diǎn)。網(wǎng)絡(luò)選課APP當(dāng)前只提供給學(xué)生選課使用,劃分全校性選課、體育選課、課表查詢等模塊,管理員可開啟或關(guān)閉選課。對(duì)教師的功能暫未開發(fā)。建議與對(duì)策:可根據(jù)具體應(yīng)用,可將服務(wù)器部署至阿里云或本地,實(shí)現(xiàn)內(nèi)外網(wǎng)訪問限制。關(guān)鍵詞:網(wǎng)絡(luò)選課APP,AndroidStdio,MyEclipse,Mysql-5.7,Linux服務(wù)器

DesignandimplementationofRetrofit+OkHttponlineAPPforcourseselectionAbstract:Withthepopularizationofsmartphonesandtheimprovementofhardware,smartphonescanreplacecomputersforsomedailyworkandstudyactivities.OnlinecourseselectionisextendedfromthecomputerwebpagetothemobilephoneAPP,whichcanenablestudentstotakeouttheirmobilephonestoselectcourseswithoutcomputers.Accordingtothesystemnetworkofourschoolduringthecourseselectionperiod,thepurposeofthisprojectistorealizetheflowdiversionthroughtheuseoftheonlinecourseselectionAPP.ThisarticleanalyzesthebackgroundofthedevelopmentofonlinecourseselectionAPPbasedonourschool,andbrieflyintroducestheAPP'sfunctionalmodules,serverdeploymentanddatabasedesignbasedontheactualsituationofonlinecourseselection,focusingontheselectionofdevelopmenttools,systemdebuggingandtheprocessoffunctionrealization.AndroidStdioisusedasthesystemdevelopmenttoolfortheonlinecourseselectionAPP,andMyEclipseisusedastheserverdevelopmenttool.Mysql-5.7servedasthedatabasesupport,usingthePostmandebugginginterfaceduringdevelopment,andfinallyusingtheLinuxsystemasthedeploymentpointfortheserver.OnlinecourseselectionAPPcurrentlyonlyprovidefortheuseofstudents'courseselection,dividetheschoolcourse,sportscourseandschedulequerymodule,administratorscanopenorclosethecourse.Yetthefunctionoftheteacherdevelopment.Suggestionsandcountermeasures:Accordingtospecificapplication,theservercanbedeployedtoalicloudorlocal,toachieveinternalandexternalnetworkaccessrestrictions.Keywords:OnlinecourseselectionAPP,AndroidStdio,MyEclipse,mysql-5.7,Linuxserver目錄第1章緒論 緒論研究背景和意義設(shè)計(jì)與實(shí)現(xiàn)網(wǎng)絡(luò)選課APP的背景分析5G網(wǎng)絡(luò)的到來,隨即而來的是在不久后將會(huì)得到大范圍的覆蓋,高速率是它的代名詞。這是一個(gè)移動(dòng)互聯(lián)網(wǎng)的時(shí)代,APP的開發(fā)和使用自然也會(huì)成為移動(dòng)互聯(lián)網(wǎng)時(shí)代下的一個(gè)趨勢(shì),APP是移動(dòng)互聯(lián)網(wǎng)的必備工具,是一個(gè)時(shí)代的主流?,F(xiàn)在大家最不缺的就是那移動(dòng)設(shè)備——智能手機(jī)。APP只需要安裝在手機(jī)上,需要時(shí)打開,不需要時(shí)關(guān)閉,方便操作于掌心之上。所以APP面向的用戶范圍更廣,單方面在學(xué)生這一個(gè)群體來說,占有的比例也是很高的,那么對(duì)于設(shè)計(jì)一個(gè)網(wǎng)絡(luò)選課APP是更加適用于學(xué)生的需求。一方面來說,手機(jī)的操作簡(jiǎn)單易懂;另一方面手機(jī)隨身攜帶方便課程的即時(shí)查詢,課程的即時(shí)選擇等。相對(duì)于現(xiàn)有的web端選課系統(tǒng),需要學(xué)生坐在電腦前。當(dāng)然有人說現(xiàn)在有筆記本電腦呀,選課一樣是很方便的。但是我們可以對(duì)比一下手機(jī)的尺寸比例不是更加便捷嗎?還有人說手機(jī)也是可以做到適應(yīng)web端的系統(tǒng)頁(yè)面進(jìn)行選課等操作,但是有過親身經(jīng)歷的同學(xué)很清楚的知道,手機(jī)的屏幕根本不可以完全展示系統(tǒng)的全部?jī)?nèi)容,需要用戶去滑動(dòng)界面一點(diǎn)一點(diǎn)的看,那么對(duì)用戶的體驗(yàn)效果就不是很好了。所以總結(jié)下來,一個(gè)網(wǎng)絡(luò)選課APP可以簡(jiǎn)潔而明了的展示課程內(nèi)容,方便同學(xué)們一鍵選取自己所喜歡的課程。網(wǎng)絡(luò)選課APP是從繁到簡(jiǎn)的發(fā)展的主流。本課題的研究目的和意義當(dāng)前網(wǎng)絡(luò)選課APP以松田學(xué)院為例,為學(xué)生網(wǎng)絡(luò)選課提供多一個(gè)途徑。作為松田的學(xué)生應(yīng)該清楚的知道,只要是選課時(shí)間開啟,所有到時(shí)間選課的學(xué)生一并涌入教務(wù)系統(tǒng),學(xué)校的網(wǎng)頁(yè)版教務(wù)系統(tǒng)便會(huì)出現(xiàn)癱瘓,500警告!網(wǎng)站無法承受如此高的并發(fā)量,導(dǎo)致學(xué)生們的抱怨的聲音不斷。由此,便產(chǎn)生了設(shè)計(jì)此款網(wǎng)絡(luò)選課APP的想法,這便是開發(fā)該APP的意義所在。讓學(xué)生們不單單只能是通過教務(wù)系統(tǒng)去選課,還可以通過網(wǎng)絡(luò)選課APP去選課。讓人流量實(shí)現(xiàn)分流,緩解教務(wù)系統(tǒng)網(wǎng)站的壓力。開發(fā)目標(biāo)和開發(fā)環(huán)境開發(fā)目標(biāo)登錄模塊:提供兩個(gè)身份登錄,分別為學(xué)生和管理員。(因教師功能暫未實(shí)現(xiàn),所以登錄模塊的教師按鈕未開放)全校性選課模塊:可查看全部課程(不包括體育課)。體育選課模塊:提供可選的體育課程。課表模塊:學(xué)生可查看自己已選好的課程列表。設(shè)置模塊:可修改用戶密碼。選課控制:管理員可關(guān)閉和開啟選課功能。超新星網(wǎng)按鈕:提供了超新星網(wǎng)的跳轉(zhuǎn)鏈接,可登錄進(jìn)行在線網(wǎng)絡(luò)課的學(xué)習(xí)。教務(wù)系統(tǒng)按鈕:提供了松田學(xué)院的跳轉(zhuǎn)鏈接,可登錄查看學(xué)校發(fā)布的詳細(xì)信息。賬號(hào)注冊(cè)功能:提供注冊(cè)賬號(hào)功能,默認(rèn)注冊(cè)賬號(hào)為學(xué)生賬號(hào),以學(xué)生身份登錄。開發(fā)環(huán)境采用面向?qū)ο蟮拈_發(fā)方法,網(wǎng)絡(luò)選課APP在Windows10操作系統(tǒng)上安裝開發(fā)工具,AndroidStdio作為APP主體框架實(shí)現(xiàn)的開發(fā)工具,MyEclipse作為實(shí)現(xiàn)APP服務(wù)器的開發(fā)工具。運(yùn)行服務(wù)器代碼的容器為Tomcat8.5。

系統(tǒng)需求分析系統(tǒng)可行性分析技術(shù)可行性選課app包含注冊(cè)、登錄、選課、課表等一些簡(jiǎn)單的功能,布局上主要采用線性布局嵌套滑動(dòng)的方式,通過recyclerview來顯示列表可以實(shí)現(xiàn)選課列表和查看課表的功能,選課通過封裝底部彈窗的方法實(shí)現(xiàn);而登錄和注冊(cè)主要是用edittext作為輸入框,通過后臺(tái)提供的接口來對(duì)token進(jìn)行驗(yàn)證從而實(shí)現(xiàn)登錄、注冊(cè)??傮w上采用MVP設(shè)計(jì)框架,初衷是為了邏輯的簡(jiǎn)潔和降低代碼耦合,將activity中的網(wǎng)絡(luò)請(qǐng)求剝離出來成為model、presenter,前者負(fù)責(zé)網(wǎng)絡(luò)的請(qǐng)求,后者負(fù)責(zé)處理網(wǎng)絡(luò)請(qǐng)求后的數(shù)據(jù)處理,最后view進(jìn)行界面的展示。網(wǎng)絡(luò)框架采用Rxjava結(jié)合retrofit進(jìn)行開發(fā),rxjava簡(jiǎn)單來說是一種觀察者模式的運(yùn)用,Observable通過創(chuàng)建生產(chǎn)對(duì)象,重寫onsubscribe方法來進(jìn)行傳遞消息,onNext方法里進(jìn)行主線程的回調(diào);同時(shí)retrofit是一個(gè)優(yōu)秀的http開源框架,本質(zhì)上是okhttp進(jìn)行網(wǎng)絡(luò)請(qǐng)求,retrofit進(jìn)行封裝網(wǎng)絡(luò)接口,解析器我這里選擇了LoganSquare,能很快速的解析復(fù)雜格式的json報(bào)文,以上rxjava+retrofit+mvp結(jié)合能快速開發(fā)系統(tǒng)所需功能。經(jīng)濟(jì)可行性考慮了經(jīng)濟(jì)方面,公眾號(hào)特別的麻煩,需要走程序去申請(qǐng),即使個(gè)人的不需要花錢,但是想認(rèn)證的話那就需要花錢了。所以做一個(gè)APP是非常合適的,不需要申請(qǐng),不需要申請(qǐng)程序。那么服務(wù)器后臺(tái)的話,可采取電腦本地安裝Linux系統(tǒng),然后在該系統(tǒng)上搭建一個(gè)服務(wù)器。當(dāng)然,本地服務(wù)器的話那么就不可以通過互聯(lián)網(wǎng)去訪問了,手機(jī)的APP網(wǎng)絡(luò)只能跟服務(wù)器在同一網(wǎng)段。解決這個(gè)問題也很簡(jiǎn)單。現(xiàn)在學(xué)生在阿里云上租用一個(gè)Linux服務(wù)器(基本配置就足夠了)也是很便宜。法律可行性本APP是參考松田學(xué)院的教務(wù)系統(tǒng)大概的需求去設(shè)計(jì)開發(fā)實(shí)現(xiàn)的,不存在侵權(quán)可能性,也同時(shí)調(diào)查過該類APP的情況,基本是以具體學(xué)校為基礎(chǔ)而開發(fā)。該APP符合法律可行,課程等數(shù)據(jù)信息是自行設(shè)計(jì)的模擬數(shù)據(jù),無侵害他人利益。UML系統(tǒng)建模參與者與用例(1)網(wǎng)絡(luò)選課APP的參與者有學(xué)生、管理員、教師(未開放)。(2)根據(jù)功能可分為以下用例:注冊(cè)賬號(hào)、學(xué)生登錄、全校性選課、體育選課、查看已選課程、修改密碼、退出登錄、管理員登錄、關(guān)閉選課、開啟選課。系統(tǒng)流程圖打開網(wǎng)絡(luò)選課APP,進(jìn)入登錄界面。該頁(yè)面提供登錄和學(xué)生注冊(cè)功能??梢砸詫W(xué)生和管理員身份登錄,教師功能暫未開放。(1)以學(xué)生身份登錄后,有全校性選課和體育選課,進(jìn)入后可顯示各類型的課程,兩個(gè)類別的課程搭配至3門后會(huì)限制選課,在課表中可查看已選的課程。學(xué)生可對(duì)自己的賬號(hào)進(jìn)行密碼修改。(2)以管理員身份登錄后,可進(jìn)行課程的控制設(shè)置。有開啟和關(guān)閉選課的權(quán)限。關(guān)閉后,學(xué)生則不可選課。(3)課程數(shù)據(jù)和賬號(hào)密碼數(shù)據(jù)均與后臺(tái)數(shù)據(jù)庫(kù)關(guān)聯(lián),課程選擇后,余量會(huì)相應(yīng)減一,并且加入到某一賬號(hào)的課程列表,如圖2-1所示。圖2-1網(wǎng)絡(luò)選課流程圖系統(tǒng)用例圖學(xué)生功能用例圖如圖2-2所示,為學(xué)生的用例圖,分別是學(xué)生登錄、全校性選課、體育選課、查看已選課程、修改密碼、退出登錄。圖2-2學(xué)生功能用例圖如表2-1所示,該用例主要功能是實(shí)現(xiàn)學(xué)生登錄功能,起始于學(xué)生的登錄。列出字段和基本路徑等要素。表2-1學(xué)生登錄用例規(guī)約表用例編號(hào)U001用例名稱學(xué)生登錄功能描述以學(xué)生身份登錄,輸入賬號(hào)密碼,點(diǎn)擊學(xué)生單選按鈕,確認(rèn)登錄執(zhí)行者學(xué)生前置條件打開網(wǎng)絡(luò)選課APP后置條件登錄成功,顯示學(xué)生界面涉眾利益學(xué)生基本路徑打開網(wǎng)絡(luò)選課APP。輸入賬號(hào)。輸入密碼。點(diǎn)擊學(xué)生按鈕。點(diǎn)擊登錄。字段列表用戶名、用戶密碼、用戶賬號(hào)、角色身份等業(yè)務(wù)規(guī)則用戶賬號(hào)為學(xué)號(hào)備注無如表2-2所示,該用例主要功能是實(shí)現(xiàn)全校性類別選課的功能,起始于學(xué)生進(jìn)入全校性選課的列表。列出課程信息等字段和基本規(guī)則等要素。表2-2全校性選課用例規(guī)約表用例編號(hào)U002用例名稱全校性選課功能描述顯示所有課程(不包括體育課)執(zhí)行者學(xué)生前置條件打開全校性選課界面后置條件顯示所有課程涉眾利益學(xué)生基本路徑點(diǎn)擊進(jìn)入全校性選課區(qū)。滑動(dòng)查看課程列表。選擇點(diǎn)擊喜歡課程。進(jìn)入該課程詳細(xì)信息界面。確認(rèn)選擇該課程,自動(dòng)刷新顯示已選自動(dòng)返回可繼續(xù)選擇其他課程。字段列表課程名稱,課程類別,上課地點(diǎn),上課時(shí)間,任課老師,課程余量等。業(yè)務(wù)規(guī)則課程余量為零不可選,且上課時(shí)間不可沖突。全校性選課和體育選課總數(shù)小于等于3。備注無如表2-3所示,該用例主要功能是實(shí)現(xiàn)體育類別選課的功能,起始于學(xué)生進(jìn)入體育性選課的列表。列出課程信息等字段和基本規(guī)則等要素。表2-3體育選課用例規(guī)約表用例編號(hào)U003用例名稱體育選課功能描述顯示所有體育類課程提供選擇。執(zhí)行者學(xué)生前置條件打開體育選課界面后置條件顯示體育課程涉眾利益學(xué)生基本路徑點(diǎn)擊進(jìn)入體育選課區(qū)滑動(dòng)查看課程列表選擇點(diǎn)擊喜歡課程進(jìn)入該課程詳細(xì)信息界面確認(rèn)選擇該課程,自動(dòng)刷新顯示已選自動(dòng)返回可繼續(xù)選擇其他課程字段列表課程名稱,課程類別,上課地點(diǎn),上課時(shí)間,任課老師,課程余量等。業(yè)務(wù)規(guī)則課程余量為零不可選,且上課時(shí)間不可沖突。全校性選課和體育選課總數(shù)小于等于3。備注無如表2-4所示,該用例主要功能是實(shí)現(xiàn)查看已經(jīng)選擇的課程功能,起始于學(xué)生完成選課。列出課程信息等字段和基本規(guī)則等要素。表2-4查看已選課程用例規(guī)約表用例編號(hào)U004用例名稱查看已選課程功能描述可以查看當(dāng)前選定的課程,包括課程的一些詳細(xì)信息。執(zhí)行者學(xué)生前置條件已經(jīng)選課成功后置條件顯示已選課程涉眾利益學(xué)生基本路徑點(diǎn)擊進(jìn)入我的課表顯示已選課程詳細(xì)信息擴(kuò)展字段列表課程名稱、上課時(shí)間、上課地點(diǎn)、任課老師業(yè)務(wù)規(guī)則備注無如表2-5所示,該用例主要功能是實(shí)現(xiàn)學(xué)生在登錄后可進(jìn)行密碼修改的功能,起始于學(xué)生進(jìn)入設(shè)置功能,選擇修改密碼。列出賬號(hào)字段和基本規(guī)則等要素。表2-5修改密碼用例規(guī)約表用例編號(hào)U005用例名稱修改密碼功能描述注冊(cè)后或之后可隨意自行修改密碼執(zhí)行者學(xué)生前置條件點(diǎn)擊修改密碼后置條件修改成功涉眾利益學(xué)生基本路徑打開設(shè)置點(diǎn)擊修改密碼自動(dòng)帶入自身賬號(hào)輸入新密碼再次輸入確認(rèn)密碼點(diǎn)擊確定兩次密碼校驗(yàn)正確修改成功兩次輸入的密碼不一致修改失敗字段列表賬號(hào)、密碼業(yè)務(wù)規(guī)則密碼不可輸入文字,數(shù)字或字母限制為6-16位備注無如表2-6所示,該用例主要功能是實(shí)現(xiàn)賬號(hào)退出登錄的功能,起始于學(xué)生點(diǎn)擊退出登錄按鈕。彈窗顯示是否確認(rèn)退出登錄。表2-6退出登錄用例規(guī)約表用例編號(hào)U006用例名稱退出登錄功能描述點(diǎn)擊退出登錄按鈕,可將賬號(hào)退出進(jìn)行重新登錄。執(zhí)行者學(xué)生前置條件當(dāng)前在學(xué)生界面后置條件退出成功,顯示登錄界面涉眾利益學(xué)生基本路徑點(diǎn)擊退出登錄按鈕彈出是否注銷提示框確定取消返回登錄界面字段列表用戶名、用戶密碼、用戶賬號(hào)、角色身份等業(yè)務(wù)規(guī)則若不退出賬號(hào)直接關(guān)閉APP,下次打開時(shí)直接默認(rèn)成功登錄狀態(tài)。備注無管理員功能用例圖如圖2-3所示,為管理員的用例圖,分別是管理員登錄、關(guān)閉選課、開啟選課、退出登錄。圖2-3管理員功能用例圖如表2-7所示,該用例主要功能是實(shí)現(xiàn)管理員登錄功能,起始于管理員的登錄。列出賬號(hào)密碼身份等字段和進(jìn)行基本路徑等要素。表2-7管理員登錄用例規(guī)約表用例編號(hào)U007用例名稱管理員登錄功能描述以管理員身份登錄,輸入賬號(hào)密碼,點(diǎn)擊管理員單選按鈕,確認(rèn)登錄。執(zhí)行者管理員前置條件打開網(wǎng)絡(luò)選課APP后置條件登陸成功,顯示管理員界面涉眾利益管理員基本路徑打開網(wǎng)絡(luò)選課APP。輸入賬號(hào)。輸入密碼。點(diǎn)擊管理員按鈕。點(diǎn)擊登錄。字段列表用戶名、用戶密碼、用戶賬號(hào)、角色身份等業(yè)務(wù)規(guī)則用戶賬號(hào)為管理員專屬賬號(hào)備注無如表2-8所示,該用例主要功能是實(shí)現(xiàn)管理員關(guān)閉選課的功能,起始于進(jìn)入選課控制系統(tǒng),點(diǎn)擊關(guān)閉。列出控制選課的字段和基本路徑等要素。表2-8關(guān)閉選課用例規(guī)約表用例編號(hào)U008用例名稱關(guān)閉選課功能描述管理員登錄后可將課程關(guān)閉,學(xué)生不可選課。執(zhí)行者管理員前置條件管理員登錄后進(jìn)入課程控制后置條件關(guān)閉選課成功涉眾利益管理員、學(xué)生基本路徑點(diǎn)擊課程控制顯示關(guān)閉選課按鈕點(diǎn)擊關(guān)閉選課已關(guān)閉字段列表Status業(yè)務(wù)規(guī)則備注無如表2-9所示,該用例主要功能是實(shí)現(xiàn)管理員開啟選課的功能,起始于進(jìn)入選課控制系統(tǒng),點(diǎn)擊開啟。列出控制選課的字段和基本路徑等要素。表2-9開啟選課用例規(guī)約表用例編號(hào)U009用例名稱開啟選課功能描述管理員登錄后可將課程開啟,學(xué)生可以選課。執(zhí)行者管理員前置條件管理員登錄后進(jìn)入課程控制后置條件開啟選課成功涉眾利益管理員、學(xué)生基本路徑點(diǎn)擊課程控制顯示開啟選課按鈕點(diǎn)擊開啟選課已開啟字段列表Status業(yè)務(wù)規(guī)則備注無如表2-10所示,該用例主要功能是實(shí)現(xiàn)賬號(hào)退出登錄的功能,起始于管理員點(diǎn)擊退出登錄按鈕。彈窗顯示是否確認(rèn)退出登錄。表2-10退出登錄用例規(guī)約表用例編號(hào)U010用例名稱退出登錄功能描述點(diǎn)擊退出登錄按鈕,可將賬號(hào)退出進(jìn)行重新登錄。執(zhí)行者管理員前置條件當(dāng)前在管理員界面后置條件退出成功,顯示登錄界面涉眾利益管理員基本路徑點(diǎn)擊退出登錄按鈕彈出是否注銷提示框確定取消返回登錄界面字段列表用戶名、用戶密碼、用戶賬號(hào)、角色身份等業(yè)務(wù)規(guī)則備注無系統(tǒng)實(shí)現(xiàn)類圖學(xué)生實(shí)現(xiàn)類圖如圖2-4所示,是學(xué)生的實(shí)現(xiàn)類圖,畫出了學(xué)生與課程和界面的關(guān)聯(lián)關(guān)系,學(xué)生下實(shí)現(xiàn)了全校性選課、體育選課、課表查詢、設(shè)置修改密碼等功能。所有數(shù)據(jù)與數(shù)據(jù)庫(kù)后臺(tái)關(guān)聯(lián)著。圖2-4學(xué)生實(shí)現(xiàn)類圖管理員實(shí)現(xiàn)類圖如圖2-5所示,是管理員的實(shí)現(xiàn)類圖,畫出了管理員和課程之間可控制的關(guān)聯(lián)關(guān)系,管理員下實(shí)現(xiàn)了開啟和關(guān)閉選課的功能。課程狀態(tài)值與數(shù)據(jù)庫(kù)后臺(tái)關(guān)聯(lián)著,根據(jù)開啟和關(guān)閉修改數(shù)據(jù)庫(kù)的課程狀態(tài)值。圖2-5管理員實(shí)現(xiàn)類圖系統(tǒng)順序圖學(xué)生登錄順序圖如圖2-6所示,為學(xué)生登錄的順序圖,輸出密碼和賬號(hào),選擇登錄身份后,點(diǎn)擊登錄。成功后進(jìn)入學(xué)生個(gè)人信息界面。根據(jù)系統(tǒng)功能實(shí)現(xiàn)操作步驟列出以下的分點(diǎn)執(zhí)行步驟,根據(jù)步驟畫出登錄功能的順序圖。打開登錄界面輸入賬號(hào)輸入密碼點(diǎn)擊學(xué)生按鈕點(diǎn)擊登錄密碼錯(cuò)誤登錄失敗密碼正確登錄成功圖2-6學(xué)生登錄順序圖全校性選課順序圖如圖2-7所示,為學(xué)生全校性選課的順序圖,根據(jù)選課功能實(shí)現(xiàn)操作步驟列出以下的分點(diǎn)執(zhí)行步驟,根據(jù)選課規(guī)則條件進(jìn)行限制,根據(jù)步驟畫出全校性選課功能的順序圖。點(diǎn)擊進(jìn)入全校性選課區(qū)?;瑒?dòng)查看課程列表。選擇點(diǎn)擊喜歡課程。進(jìn)入該課程詳細(xì)信息界面。確認(rèn)選擇該課程,課程時(shí)間沖突,選課失敗選課成功,更新用戶信息表,自動(dòng)刷新顯示已選自動(dòng)返回可繼續(xù)選擇其他課程。若未滿三節(jié)課,可繼續(xù)選擇若第二第三門與之前課程時(shí)間沖突,則不可選若已滿,刷新顯示已滿三門課程若已滿,點(diǎn)擊課程列表會(huì)顯示選課進(jìn)度已完成圖2-7全校性選課順序圖體育選課順序圖如圖2-8所示,為學(xué)生體育性選課的順序圖,根據(jù)選課功能實(shí)現(xiàn)操作步驟列出以下的分點(diǎn)執(zhí)行步驟,根據(jù)選課規(guī)則條件進(jìn)行限制,根據(jù)步驟畫出全校性選課功能的順序圖。點(diǎn)擊進(jìn)入體育選課區(qū)?;瑒?dòng)查看課程列表。選擇點(diǎn)擊喜歡課程。進(jìn)入該課程詳細(xì)信息界面。確認(rèn)選擇該課程,自動(dòng)刷新顯示已選自動(dòng)返回可繼續(xù)選擇其他課程。若未滿三節(jié)課,可繼續(xù)選擇若第二第三門與之前課程時(shí)間沖突,則不可選若已滿,刷新顯示已滿三門課程若已滿,點(diǎn)擊課程列表會(huì)顯示選課進(jìn)度已完成圖2-8體育選課順序圖查看已選課程順序圖如圖2-9所示,為學(xué)生查看已選課程的順序圖,點(diǎn)擊進(jìn)入我的課表之后,顯示當(dāng)前所選的課程,或者沒有選課,則顯示暫無數(shù)據(jù)。根據(jù)功能實(shí)現(xiàn)操作步驟列出以下的分點(diǎn)執(zhí)行步驟,根據(jù)以下步驟畫出查看已選課程功能的順序圖。點(diǎn)擊進(jìn)入我的課表若已選有課程顯示當(dāng)前已選課程信息若未有選課顯示暫無數(shù)據(jù)圖2-9查看已選課程順序圖修改密碼順序圖如圖2-10所示,為學(xué)生修改密碼的順序圖,登錄成功后進(jìn)入設(shè)置界面選擇修改密碼功能,輸入新密碼和校驗(yàn)密碼,通過后顯示修改成功。根據(jù)修改密碼功能實(shí)現(xiàn)操作步驟列出以下的分點(diǎn)執(zhí)行步驟,根據(jù)步驟畫出修改密碼功能的順序圖。打開設(shè)置點(diǎn)擊修改密碼自動(dòng)帶入自身賬號(hào)輸入新密碼再次輸入確認(rèn)密碼點(diǎn)擊確定兩次密碼校驗(yàn)正確修改成功兩次輸入的密碼不一致修改失敗圖2-10修改密碼順序圖學(xué)生退出登錄順序圖如圖2-11所示,為學(xué)生退出賬號(hào)登錄的順序圖,點(diǎn)擊退出賬號(hào)后選擇確認(rèn)或者取消。確認(rèn)后返回登錄界面,取消則停留在當(dāng)前頁(yè)面。根據(jù)選課功能實(shí)現(xiàn)操作步驟列出以下的分點(diǎn)執(zhí)行步驟,根據(jù)步驟畫出退出登錄功能的順序圖。點(diǎn)擊退出登錄按鈕彈出是否注銷提示框確定取消返回登錄界面圖2-11學(xué)生退出登錄順序圖管理員登錄順序圖如圖2-12所示,為管理員登錄的順序圖,輸出密碼和賬號(hào),選擇登錄身份后,點(diǎn)擊登錄。成功后進(jìn)入管理員個(gè)人信息界面。根據(jù)系統(tǒng)功能實(shí)現(xiàn)操作步驟列出以下的分點(diǎn)執(zhí)行步驟,根據(jù)步驟畫出登錄功能的順序圖。打開登錄界面輸入賬號(hào)輸入密碼點(diǎn)擊管理員按鈕點(diǎn)擊登錄密碼錯(cuò)誤登錄失敗密碼正確登錄成功圖2-12管理員登錄順序圖關(guān)閉選課順序圖如圖2-13所示,為管理員控制關(guān)閉選課的順序圖,進(jìn)入選課控制系統(tǒng),點(diǎn)擊關(guān)閉選課,修改數(shù)據(jù)庫(kù)的課程狀態(tài)值,顯示課程已關(guān)閉。根據(jù)關(guān)閉選課功能實(shí)現(xiàn)操作步驟列出以下的分點(diǎn)執(zhí)行步驟,根據(jù)步驟畫出關(guān)閉選課功能的順序圖。點(diǎn)擊課程控制顯示關(guān)閉選課按鈕點(diǎn)擊關(guān)閉選課已關(guān)閉圖2-13關(guān)閉選課順序圖開啟選課順序圖如圖2-14所示,為管理員控制開啟選課的順序圖,進(jìn)入選課控制系統(tǒng),點(diǎn)擊開啟選課,修改數(shù)據(jù)庫(kù)的課程狀態(tài)值,顯示課程已開啟。根據(jù)開啟選課功能實(shí)現(xiàn)操作步驟列出以下的分點(diǎn)執(zhí)行步驟,根據(jù)步驟畫出開啟選課功能的順序圖。點(diǎn)擊課程控制顯示開啟選課按鈕點(diǎn)擊開啟選課已開啟圖2-14開啟選課順序圖管理員退出登錄順序圖如圖2-15所示,為管理員退出賬號(hào)登錄的順序圖,點(diǎn)擊退出賬號(hào)后選擇確認(rèn)或者取消。確認(rèn)后返回登錄界面,取消則停留在當(dāng)前頁(yè)面。根據(jù)選課功能實(shí)現(xiàn)操作步驟列出以下的分點(diǎn)執(zhí)行步驟,根據(jù)步驟畫出退出登錄功能的順序圖。點(diǎn)擊退出登錄按鈕彈出是否注銷提示框確定取消返回登錄界面圖2-15管理員退出登錄順序圖系統(tǒng)狀態(tài)圖課程的狀態(tài)圖如圖2-16所示,當(dāng)學(xué)生登錄后,進(jìn)入全校性或者體育選課,可看到當(dāng)前的課程狀態(tài),若是被他人選滿的課程,則會(huì)顯示紅色已滿狀態(tài)字樣,則為不可選。若對(duì)其他進(jìn)行選擇,選定后課程刷新為已選狀態(tài)顯示綠色字樣,則為已選定成功。圖2-16程狀態(tài)圖選課狀態(tài)圖如圖2-17所示,當(dāng)管理員登錄后,可以對(duì)課程進(jìn)行開放和關(guān)閉操作。若當(dāng)前為開放狀態(tài),學(xué)生可以進(jìn)行選課;若當(dāng)前為關(guān)閉狀態(tài),學(xué)生不可以進(jìn)行選課。圖2-17選課狀態(tài)圖系統(tǒng)部署圖如圖2-18所示,以tomcat容器為服務(wù)端的承載,部署在Centos服務(wù)器上,數(shù)據(jù)庫(kù)作為源數(shù)據(jù)的支撐。客戶端訪問服務(wù)由服務(wù)器提供,數(shù)據(jù)獲取經(jīng)過服務(wù)接口拉取數(shù)據(jù)庫(kù)數(shù)據(jù)?;仫@結(jié)果到客戶端上。圖2-18系統(tǒng)部署圖系統(tǒng)功能模塊學(xué)生功能模塊學(xué)生功能模塊如圖2-19所示。圖2-19學(xué)生功能模塊圖(1)注冊(cè)賬號(hào):APP提供新用戶注冊(cè)功能,注冊(cè)的賬號(hào)默認(rèn)為學(xué)生賬號(hào)。學(xué)生登錄:APP提供了學(xué)生登錄功能,在輸入賬號(hào)和密碼后,選擇學(xué)生身份進(jìn)行登錄。(2)全校性選課:在以學(xué)生身份登錄后,可進(jìn)行全校性選課的操作,點(diǎn)擊該功能可顯示課程列表。點(diǎn)擊某一課程彈窗顯示該課程詳細(xì)信息,可進(jìn)行選定操作。(3)體育選課:在以學(xué)生身份登錄后,可進(jìn)行體育選課的操作,點(diǎn)擊該功能可顯示體育課程列表。點(diǎn)擊某一課程彈窗顯示該課程詳細(xì)信息,可進(jìn)行選定操作。(4)已選課程查詢:在以學(xué)生身份登錄后,可進(jìn)行查看已選的課程,點(diǎn)擊該功能可顯示已選的課程。(5)修改密碼:在以學(xué)生身份登錄后,可點(diǎn)擊去到設(shè)置選項(xiàng),可進(jìn)行密碼修改。(6)退出登錄:點(diǎn)擊退出登錄按鈕,彈框顯示是否退出,可選確認(rèn)或取消。管理員功能模塊管理員功能模塊如圖2-20所示。圖2-20管理員功能模塊圖(1)管理員登錄:APP提供了管理員登錄功能,在輸入賬號(hào)和密碼后,選擇管理員身份進(jìn)行登錄。(2)關(guān)閉選課:在以管理員身份登錄后,可進(jìn)行關(guān)閉選課。(3)開啟選課:在以管理員身份登錄后,可進(jìn)行開啟選課。(4)修改密碼:在以管理員身份登錄后,可點(diǎn)擊去到設(shè)置選項(xiàng),可進(jìn)行密碼修改。(5)退出登錄:點(diǎn)擊退出登錄按鈕,彈框顯示是否退出,可選確認(rèn)或取消。系統(tǒng)支撐分析數(shù)據(jù)庫(kù)支撐MySQL作為一個(gè)關(guān)系型的數(shù)據(jù)庫(kù)管理系統(tǒng),它的SQL語(yǔ)言是用于訪問數(shù)據(jù)庫(kù)最常用的標(biāo)準(zhǔn)化語(yǔ)言。由于MySQL數(shù)據(jù)庫(kù)體積小、速度快、總體擁有成本低、開放源代碼,其有著廣泛的應(yīng)用。提供TCP/IP、ODBC和JDBC等多種數(shù)據(jù)庫(kù)連接途徑。提供用于管理、檢查、優(yōu)化數(shù)據(jù)庫(kù)操作的管理工具。本APP數(shù)據(jù)存儲(chǔ)便是使用了Mysql-5.7.25數(shù)據(jù)庫(kù)版本,同時(shí)使用NavicatPremium12工具進(jìn)行對(duì)數(shù)據(jù)庫(kù)的創(chuàng)建等操作。采用了JDBC的數(shù)據(jù)庫(kù)連接方式對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問和數(shù)據(jù)讀取。服務(wù)器支撐根據(jù)某些用Ubuntu和Centos測(cè)試調(diào)查中發(fā)現(xiàn),Centos非常穩(wěn)定,不會(huì)出現(xiàn)死機(jī),但是Ubuntu的表現(xiàn)就不那么如意了,經(jīng)常莫名奇妙就宕機(jī)還不報(bào)錯(cuò),讓人非常頭疼,這也便是很多互聯(lián)網(wǎng)公司租用Centos作為服務(wù)器的原因了。所以我選取了Centos7.7作為網(wǎng)絡(luò)選課APP后臺(tái)的支撐服務(wù)器,并在服務(wù)器上安裝上述所說的Mysql-5.7.25數(shù)據(jù)庫(kù)。同時(shí)還需要安裝配置一個(gè)Tomcat容器,這里我選擇了Tomcat8.5,由MyEclipse打成war包上傳至服務(wù)器運(yùn)行,即可完成一個(gè)完整的服務(wù)器后臺(tái)支撐。因?yàn)榉?wù)器是當(dāng)前公司正在使用的測(cè)試環(huán)境,所以限制端口問題,配置了nginx進(jìn)行代理映射。Tomcat容器使用8005端口,通過80端口進(jìn)出訪問。

系統(tǒng)設(shè)計(jì)用戶端界面設(shè)計(jì)登錄界面仿常用軟件登錄界面設(shè)計(jì)思路,采用線性布局的方式,通過EditText,RaidoGroup,button等控件進(jìn)行排版頁(yè)面。從整體上采用嵌套滑動(dòng)結(jié)合smallestWidth的適配方案,避免了因不同分辨率手機(jī)造成控件排布錯(cuò)亂等問題。頁(yè)面集成MVP的設(shè)計(jì)模式,通過present從model層拿取后臺(tái)Login接口的實(shí)體類數(shù)據(jù),并通過view以及接口的形式應(yīng)用到UI層,來管理界面的狀態(tài)。這樣做的主要優(yōu)勢(shì)是降低代碼耦合,從present處理頁(yè)面邏輯,不再與安卓Framework的類等關(guān)聯(lián),便于單元測(cè)試。通過TextUtils工具類進(jìn)行賬號(hào)密碼輸入框是否為空的判斷,接口采用rxjava+retrofit的形式進(jìn)行異步,主線程回調(diào)。個(gè)人信息界面采用線性布局外層嵌套滑動(dòng)的方式,同時(shí)使用仿蘋果界面滑動(dòng)效果代替上拉加載下拉刷新的操作界面上分為四個(gè)部分,分別為全校性選課、體育選課、課表查詢、個(gè)人設(shè)置等依次排列,以安卓原生沉浸式的點(diǎn)擊效果,使界面簡(jiǎn)潔易操作界面數(shù)據(jù)通過接口動(dòng)態(tài)獲取,采用異步的方式加載頁(yè)面全校性選課界面頁(yè)面由一個(gè)recyclerview結(jié)合SmartRefreshLayout構(gòu)成,通過封裝好的CommonAdapter適配器,繼承MultiItemTypeAdapter的方法來顯示列表。點(diǎn)擊事件處理采用底部彈窗的方式,并設(shè)置彈出效果。數(shù)據(jù)方面通過present類異步調(diào)用后臺(tái)接口,以接口形式進(jìn)行界面交互在回調(diào)的方法進(jìn)行數(shù)據(jù)刷新重繪,同時(shí)結(jié)合SmartRefreshLayout等控件實(shí)現(xiàn)自主、自動(dòng)刷新體育選課界面課表界面recyclerview的線性布局,與其他頁(yè)面不同的是,這里的recyclerview采用了多布局方式,在沒有數(shù)據(jù)時(shí),顯示loading狀態(tài)而在有數(shù)據(jù)時(shí),在回調(diào)成功的方法里進(jìn)行列表的刷新方法,從而保證界面流暢。兩種布局方法通過封裝的addItemViewDelegate進(jìn)行設(shè)置,如圖3-1所示。圖3-1課表實(shí)現(xiàn)代碼圖設(shè)置界面采用LinearLayout線性布局下包含RelativeLayout相對(duì)布局,包含三個(gè)功能,監(jiān)聽修改密碼點(diǎn)擊事件,跳轉(zhuǎn)密碼修改。獲取當(dāng)前賬號(hào)信息。服務(wù)端接口設(shè)計(jì)登錄接口Postman(post請(qǐng)求)登錄接口url:16/suyufeng/servlet/Login涉及登錄參數(shù):Account(賬號(hào))、Pwd(密碼)、PartnerId(身份標(biāo)識(shí))涉及數(shù)據(jù)庫(kù)字段:user_Account、Pwd、Identity通過服務(wù)端的sql語(yǔ)句進(jìn)行參數(shù)判斷:Stringsql="select*fromuser_informationwhereuser_Account=?andPwd=?andIdentity=?";登錄接口,如圖3-2所示。圖3-2登陸接口圖獲取全校性課程接口Postman(post請(qǐng)求)獲取全校性課程列表接口url:16/suyufeng/servlet/WholeSInfo涉及數(shù)據(jù)庫(kù)主要字段:course_Id、course_Name、course_Type、address、time、optional_teacher、margin通過服務(wù)端的sql語(yǔ)句進(jìn)行查詢:Stringsql="select*frompublic_course";獲取全校性課程接口如圖3-3所示。圖3-3獲取全校性課程列表接口圖獲取體育課程接口Postman(post請(qǐng)求)獲取體育課程列表接口url:16/suyufeng/servlet/PEInfo涉及數(shù)據(jù)庫(kù)主要字段:course_Id、course_Name、course_Type、address、time、optional_teacher、margin通過服務(wù)端的sql語(yǔ)句進(jìn)行查詢:Stringsql="select*fromphysical_education";獲取體育課程列表接口,如圖3-4所示。圖3-4獲取體育課程列表接口圖選課接口Postman(post請(qǐng)求)選課接口url:http://16/suyufeng/servlet/SelectInfo涉及數(shù)據(jù)庫(kù)主要字段:user_Account、Course_list設(shè)計(jì)傳入的參數(shù):user_Account(賬號(hào))、Course_list(課程)通過服務(wù)端的sql語(yǔ)句進(jìn)行查詢出對(duì)應(yīng)賬號(hào)的數(shù)據(jù):Stringsql="select*fromuser_informationwhereuser_Account=?";再通過獲取對(duì)應(yīng)賬號(hào)的保存具體課程字段去判斷是否超過三門課,否則可繼續(xù)選課:Stringsql="UPDATEuser_informationSETCourse_list=concat(Course_list,?)WHEREuser_Account=?";選課接口,如圖3-5所示。圖3-5選課接口圖查看已選課程接口Postman(post請(qǐng)求)查看已選課程接口url:16/suyufeng/servlet/ShowCourse涉及數(shù)據(jù)庫(kù)主要字段:course_Name、course_Type、address、time、optional_teacher方法是通過查詢user_information用戶表存儲(chǔ)課程字段,截取出每一門課程名稱,再根據(jù)課程名稱去查詢兩張課程表,獲取課程詳細(xì)數(shù)據(jù)。通過服務(wù)端的sql語(yǔ)句進(jìn)行查詢?nèi)P哉n程表的數(shù)據(jù):Stringsql="select*frompublic_coursewherecourse_Name=?";通過服務(wù)端的sql語(yǔ)句進(jìn)行查詢體育課程表的數(shù)據(jù):Stringsql="select*fromphysical_educationwherecourse_Name=?";更新課程余量接口Postman(post請(qǐng)求)更新余量接口url:16/suyufeng/servlet/UpdateMargin涉及數(shù)據(jù)庫(kù)主要字段:course_Name、magrin通過安卓端返回課程名字,和課程數(shù)量去查找當(dāng)前的課程對(duì)應(yīng)的余量字段進(jìn)行更新:更新全校性客課程數(shù)據(jù)表:Stringsql="updatepublic_coursesetmargin=?wherecourse_Name=?";更新體育課程數(shù)據(jù)表:Stringsql="updatephysical_educationsetmargin=?wherecourse_Name=?";更新余量接口,如圖3-6所示。圖3-6更新課程余量接口圖選課開啟關(guān)閉接口Postman(post請(qǐng)求)選課開啟關(guān)閉接口url:16/suyufeng/servlet/Status?Status=true涉及數(shù)據(jù)庫(kù)主要字段:course_status由前端調(diào)取接口,將字段狀態(tài)設(shè)值改變。當(dāng)為true是,選課開啟;當(dāng)為false時(shí),選課關(guān)閉。選課開啟關(guān)閉接口,如圖3-7所示。圖3-7選課開啟關(guān)閉接口圖修改密碼接口Postman(post請(qǐng)求)修改密碼接口url:16/suyufeng/servlet/ChangePwd涉及數(shù)據(jù)庫(kù)主要字段:user_Account、Pwd設(shè)計(jì)傳入的參數(shù):Useraccount(賬號(hào))、Password(密碼)通過查詢user_information用戶表,傳入賬號(hào)和新密碼執(zhí)行更新sql語(yǔ)句:Stringsql="Updateuser_informationsetPwd=?whereuser_Account=?";修改密碼接口,如圖3-8所示。圖3-8修改密碼接口圖注冊(cè)接口Postman(post請(qǐng)求)注冊(cè)接口url:http://16/suyufeng/servlet/ApplyAccount涉及數(shù)據(jù)庫(kù)主要字段:user_Account、user_Name、Pwd設(shè)計(jì)傳入的參數(shù):Useraccount(賬號(hào))、Password(密碼)、UserName(用戶名)在user_information用戶表新增一個(gè)用戶記錄,默認(rèn)注冊(cè)賬號(hào)為學(xué)生賬號(hào),傳入賬號(hào)、用戶名和密碼執(zhí)行插入sql語(yǔ)句:Stringsql="Insertintouser_information(user_Name,user_Account,Pwd)values(?,?,?)";注冊(cè)接口,如圖3-9所示。圖3-9注冊(cè)接口圖數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)E-R圖設(shè)計(jì)將學(xué)生,管理員,老師,課程的關(guān)系關(guān)聯(lián)起來。學(xué)生選課,老師任課,管理員控制課程。列出學(xué)生的屬性、教師的屬性、管理員的屬性,實(shí)體之間的關(guān)系。E-R圖如3-10所示。圖3-10數(shù)據(jù)庫(kù)E-R圖數(shù)據(jù)表設(shè)計(jì)考慮到設(shè)計(jì)方向和接口對(duì)數(shù)據(jù)庫(kù)的獲取問題,將數(shù)據(jù)庫(kù)根據(jù)開發(fā)邏輯進(jìn)行分離。用戶采用單獨(dú)的用戶表,全校性課程和體育課程分別獨(dú)立兩個(gè)數(shù)據(jù)表。還有一個(gè)用于管理員調(diào)用接口進(jìn)行課程控制的課程狀態(tài)數(shù)據(jù)表。教師表暫時(shí)還沒有用上,開發(fā)模塊還沒有設(shè)計(jì)。user_information(用戶信息表)表3-1,是用戶信息表,用于存儲(chǔ)用戶信息,包括學(xué)生、老師、管理員的賬號(hào)。數(shù)據(jù)表的字段有用戶身份、用戶名、賬號(hào)、密碼、序號(hào)、已選課程。表3-1user_information表字段數(shù)據(jù)類型是否為空注釋Identityint(255)NULL用戶身份user_Namevarchar(255)NULL用戶名user_Accountvarchar(255)NULL賬號(hào)Pwdvarchar(255)NULL密碼Idint(255)NOTNULL序號(hào)IDCourse_listvarchar(500)NOTNULL已選課程public_course(全校性課程數(shù)據(jù)表)表3-2,是全校性課程表,用戶存儲(chǔ)全校性課程數(shù)據(jù),字段包括課程課程序號(hào),課程名稱、課程類型、上課地點(diǎn)、上課時(shí)間、課程余量、任課老師。表3-2public_course表字段數(shù)據(jù)類型是否為空注釋course_Idint(10)NOTNULL課程序號(hào)course_Namevarchar(255)NOTNULL課程名稱course_Typevarchar(255)NOTNULL課程類型addressvarchar(255)NOTNULL上課地點(diǎn)timevarchar(255)NOTNULL上課時(shí)間marginint(10)NULL課程余量optional_teachervarchar(500)NOTNULL任課老師Avarchar(255)NULL趙老師Bvarchar(255)NULL錢老師Cvarchar(255)NULL孫老師Dvarchar(255)NULL李老師Evarchar(255)NULL周老師Fvarchar(255)NULL吳老師Gvarchar(255)NULL鄭老師Hvarchar(255)NULL王老師Ivarchar(255)NULL馮老師Jvarchar(255)NULL陳老師physical_education(體育課程數(shù)據(jù)表)表3-3,是體育性課程表,用戶存儲(chǔ)體育性課程數(shù)據(jù),字段包括課程課程序號(hào),課程名稱、課程類型、上課地點(diǎn)、上課時(shí)間、課程余量、任課老師。表3-3physical_education表字段數(shù)據(jù)類型是否為空注釋course_Idint(10)NOTNULL課程序號(hào)course_Namevarchar(255)NOTNULL課程名稱course_Typevarchar(255)NOTNULL課程類型addressvarchar(255)NOTNULL上課地點(diǎn)timevarchar(255)NOTNULL上課時(shí)間marginint(10)NULL課程余量optional_teachervarchar(500)NOTNULL任課老師Kvarchar(255)NULL蘇老師Lvarchar(255)NULL何老師Mvarchar(255)NULL方老師Nvarchar(255)NULL楊老師Ovarchar(255)NULL鐘老師teacher_list(教師信息表)表3-4,是教師信息表,用戶存儲(chǔ)教師ID和對(duì)應(yīng)的教師姓名。但是現(xiàn)在暫時(shí)沒有開放教師功能,所以表還沒有使用上。表3-4teacher_list表字段數(shù)據(jù)類型是否為空注釋teacher_Idvarchar(255)NULL教師IDteacher_Namevarchar(255)NULL教師姓名course_Status(選課狀態(tài)表)表3-5,是課程狀態(tài)表,用于記錄選課狀態(tài)值,根據(jù)該值判斷學(xué)生是否可以進(jìn)行選課。表3-5course_Status表字段數(shù)據(jù)類型是否為空注釋statusvarchar(255)NULL選課狀態(tài)值IDInt(10)NOTNULL序號(hào)

系統(tǒng)實(shí)現(xiàn)注冊(cè)點(diǎn)擊學(xué)生注冊(cè),進(jìn)入注冊(cè)界面。需要輸入的參數(shù)有:用戶名、賬號(hào)、密碼、確認(rèn)密碼。默認(rèn)注冊(cè)的賬號(hào)為學(xué)生賬號(hào)。若用戶名或者賬號(hào)都是被使用了則顯示用戶名或者賬號(hào)已存在。若輸入的兩次密碼不一致,則也注冊(cè)失敗。信息正確輸入后,可完成賬號(hào)的創(chuàng)建,自動(dòng)跳轉(zhuǎn)回登錄界面,如圖4-1所示。圖4-1學(xué)生注冊(cè)圖登錄學(xué)生登錄圖4-2所示,是以學(xué)生身份登錄和登錄進(jìn)入個(gè)人界面的實(shí)現(xiàn)。登錄界面需要填寫賬號(hào)和密碼,缺少某一樣點(diǎn)擊登錄按鈕都會(huì)有相應(yīng)提示,若密碼錯(cuò)誤則顯示登錄失敗。若服務(wù)器沒有啟動(dòng),則提示未知錯(cuò)誤。身份默認(rèn)選定學(xué)生。信息正確則登錄成功,進(jìn)入個(gè)人信息界面,顯示本人姓名和當(dāng)前賬號(hào)。圖4-2學(xué)生登錄圖管理員登錄圖4-3所示,是以管理員身份登錄和登錄進(jìn)入個(gè)人界面的實(shí)現(xiàn)。登錄界面需要填寫賬號(hào)和密碼,缺少某一樣點(diǎn)擊登錄按鈕都會(huì)有相應(yīng)提示,若密碼錯(cuò)誤則顯示登錄失敗。若服務(wù)器沒有啟動(dòng),則提示未知錯(cuò)誤。身份默認(rèn)選定學(xué)生,需要切換為管理員。信息正確則登錄成功,進(jìn)入個(gè)人信息界面,顯示本人姓名和當(dāng)前賬號(hào)。圖4-3管理員登錄圖獲取全校性課程列表當(dāng)前界面根據(jù)接口獲取全校性數(shù)據(jù)表的數(shù)據(jù),展示課程的詳細(xì)信息。包括課程名稱、課程類別、課程余量、任課老師。同時(shí)可根據(jù)課程狀態(tài)顯示已選或者已滿。加入了支持下拉上拉刷新的庫(kù)?;瑒?dòng)可查看所有存在的課程,如圖4-4所示。圖4-4獲取全校性課程列表圖獲取體育課程列表當(dāng)前界面根據(jù)接口獲取體育數(shù)據(jù)表的數(shù)據(jù),展示課程的詳細(xì)信息。包括課程名稱、課程類別、課程余量、任課老師。同時(shí)可根據(jù)課程狀態(tài)顯示已選或者已滿。加入了支持下拉上拉刷新的庫(kù)?;瑒?dòng)可查看所有存在的課程,如圖4-5所示。圖4-5獲取體育課程列表圖選擇課程進(jìn)入全校性選課或者體育選課列表,即可對(duì)課程進(jìn)行點(diǎn)擊查看詳細(xì)信息,再確認(rèn)是否選定。不合適可點(diǎn)取消繼續(xù)查看,合適即可點(diǎn)擊選定。界面自動(dòng)刷新,顯示已選提示,課程余量自動(dòng)減一。當(dāng)已選滿三門課之后,不可再點(diǎn)擊課程,點(diǎn)擊會(huì)回顯“當(dāng)前選課進(jìn)度已完成,請(qǐng)留意學(xué)院課表信息”,若上拉或者下拉刷新,則會(huì)顯示“你當(dāng)前已選滿三門課程”,如圖4-6所示。。圖4-6選擇課程圖查看已選課程學(xué)生登錄之后可以查看自己的選課情況,打開我的課表。若當(dāng)前未有選課,則顯示暫無數(shù)據(jù)。若選則了課程,則顯示當(dāng)前課程的名稱,任課老師,上課地點(diǎn)和上課時(shí)間,如圖4-7所示。。圖4-7查看課表課程圖修改密碼打開設(shè)置后,可以對(duì)個(gè)人密碼進(jìn)行修改,賬號(hào)為自動(dòng)帶入當(dāng)前所登錄的賬號(hào),輸入新密碼之后需要確認(rèn)輸入的密碼進(jìn)行二次校驗(yàn)。密碼為為6-12位的數(shù)字或字母組合。校驗(yàn)通過后可點(diǎn)擊確認(rèn)進(jìn)行修改,成功顯示修改成功,自動(dòng)跳轉(zhuǎn)到設(shè)置界面,如圖4-8所示。圖4-8學(xué)生修改密碼圖選課狀態(tài)管理員登錄后,點(diǎn)擊課程控制會(huì)出現(xiàn)底部彈窗,顯示開啟選課、關(guān)閉選課和一個(gè)取消的按鈕,當(dāng)點(diǎn)擊開啟時(shí),會(huì)向數(shù)據(jù)庫(kù)設(shè)置一個(gè)true值,點(diǎn)擊關(guān)閉時(shí),會(huì)向數(shù)據(jù)庫(kù)設(shè)置一個(gè)false值。通過判斷數(shù)據(jù)庫(kù)中的這個(gè)值去限制當(dāng)前是否可以選課,如圖4-9所示。圖4-9管理員控制選課圖系統(tǒng)運(yùn)行測(cè)試與維護(hù)運(yùn)行環(huán)境運(yùn)行平臺(tái):為安卓系統(tǒng)APK軟件包,最低支持安卓4.0平臺(tái)。測(cè)試與維護(hù)學(xué)生功能模塊測(cè)試表5-1是學(xué)生注冊(cè)的測(cè)試用例,測(cè)試注冊(cè)功能。輸入姓名、賬號(hào)、密碼、確認(rèn)密碼,校驗(yàn)賬號(hào)和姓名均不存在,兩次密碼一致,則可以注冊(cè)通過。表5-1學(xué)生注冊(cè)測(cè)試用例序號(hào)測(cè)試功能輸入值輸出值測(cè)試結(jié)果1注冊(cè)功能姓名:蘇余豐賬號(hào):1608010321密碼:970514確認(rèn):970514點(diǎn)擊注冊(cè)注冊(cè)成功通過表5-2是學(xué)生登錄測(cè)試用例,測(cè)試學(xué)生登錄功能。輸入姓名、賬號(hào)、密碼、選擇角色身份后,賬號(hào)信息對(duì)應(yīng)上則可登錄成功。表5-2學(xué)生登錄測(cè)試用例序號(hào)測(cè)試功能輸入值輸出值測(cè)試結(jié)果1登錄功能姓名:蘇余豐賬號(hào):1608010321密碼:970514選擇學(xué)生身份點(diǎn)擊登錄登錄成功通過表5-3是學(xué)生全校性選課測(cè)試用例,測(cè)試全校性選課功能。首先選擇第一門,再第二門,最后第三門。當(dāng)點(diǎn)擊第四門時(shí),會(huì)顯示選課進(jìn)度已完成。完成測(cè)試一人限制只能選三門課。表5-3全校性選課測(cè)試用例序號(hào)測(cè)試功能輸入值輸出值測(cè)試結(jié)果1234全校性選課功能全校性選課功能全校性選課功能全校性選課功能課程:國(guó)家軍事前沿選擇:選定課程:植物世界選擇:選定課程:宇宙新概念選擇:選定點(diǎn)擊選擇第四門課程選定成功選定成功選定成功當(dāng)前選課進(jìn)度已完成通過通過通過通過表5-4是學(xué)生體育性選課測(cè)試用例,測(cè)試體育性選課功能。首先選擇第一門,再第二門,最后第三門。當(dāng)點(diǎn)擊第四門時(shí),會(huì)顯示選課進(jìn)度已完成。完成測(cè)試一人限制只能選三門課。表5.4體育選課測(cè)試用例序號(hào)測(cè)試功能輸入值輸出值測(cè)試結(jié)果1234體育選課功能體育選課功能體育選課功能體育選課功能課程:網(wǎng)球選擇:選定課程:籃球普通選擇:選定課程:羽毛球選擇:選定點(diǎn)擊選擇第四門課程選定成功選定成功選定成功當(dāng)前選課進(jìn)度已完成通過通過通過通過表5-5是學(xué)生查看已選課程的測(cè)試用例,測(cè)試課程是否已選顯示功能。當(dāng)前若沒有選課,點(diǎn)擊我的課表則顯示暫無選課數(shù)據(jù)。若已有選課,不管是體育還是全校性,均會(huì)在課表中顯示。表5-5查看已選課程測(cè)試用例序號(hào)測(cè)試功能輸入值輸出值測(cè)試結(jié)果1234查看課表查看課表查看課表查看課表無全校性課程體育課程全校性和體育課程暫無數(shù)據(jù)顯示已選的全校性課程信息顯示已選的全校性課程信息顯示兩個(gè)屬性類別的課程信息通過通過通過通過表5-6是學(xué)生修改密碼的測(cè)試用例,測(cè)試修改密碼功能。進(jìn)入密碼修改功能時(shí),自動(dòng)帶入當(dāng)前賬號(hào),輸入新密碼和確認(rèn)密碼。當(dāng)兩次輸入的密碼一致時(shí),通過修改;不一致時(shí),修改失敗。表5-6學(xué)生修改密碼測(cè)試用例序號(hào)測(cè)試功能輸入值輸出值測(cè)試結(jié)果123修改密碼功能修改后的密碼登錄兩次輸入的密碼不一致密碼:123456確認(rèn)密碼:123456點(diǎn)擊修改賬號(hào):1608010321密碼:123456密碼:123456確認(rèn)密碼:7777修改成功登錄成功兩次輸入的密碼不一致通過通過通過管理員功能模塊測(cè)試表5-7是管理員登錄測(cè)試用例,測(cè)試管理員登錄功能。輸入姓名、賬號(hào)、密碼、選擇角色身份后,賬號(hào)信息對(duì)應(yīng)上則可登錄成功。表5-7管理員登錄測(cè)試用例序號(hào)測(cè)試功能輸入值輸出值測(cè)試結(jié)果1登錄功能姓名:管理員賬號(hào):0000密碼:0000選擇管理員身份點(diǎn)擊登錄登錄成功通過表5-8是課程控制測(cè)試用例,測(cè)試管理員對(duì)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論