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

下載本文檔

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

文檔簡介

基于Retrofit+OkHttp網(wǎng)絡(luò)選課APP的設(shè)計與實現(xiàn)摘要:隨著智能手機的普及和硬件完善,智能手機可代替電腦進行一些日常的工作和學(xué)習(xí)上的活動。網(wǎng)絡(luò)選課由電腦網(wǎng)頁端向手機APP端的擴展,可以使得在沒有電腦的情況下學(xué)生亦可拿出隨身攜帶的手機進行選課操作。根據(jù)本校選課期間的系統(tǒng)網(wǎng)絡(luò)情況,故通過使用網(wǎng)絡(luò)選課APP實現(xiàn)流量分流是本課題開展的目的。本文分析了以本校為基礎(chǔ)開發(fā)網(wǎng)絡(luò)選課APP的背景,并結(jié)合網(wǎng)絡(luò)選課的實際情況簡單介紹APP各功能模塊、服務(wù)器的部署以及數(shù)據(jù)庫的設(shè)計,側(cè)重介紹開發(fā)工具的選擇、系統(tǒng)調(diào)試和功能實現(xiàn)的過程。以AndroidStdio作為網(wǎng)絡(luò)選課APP的系統(tǒng)開發(fā)工具,并以MyEclipse作為服務(wù)器的開發(fā)工具。Mysql-5.7作為數(shù)據(jù)庫支撐,在開發(fā)過程中使用Postman調(diào)試接口,最終以Linux系統(tǒng)作為服務(wù)器的部署點。網(wǎng)絡(luò)選課APP當(dāng)前只提供給學(xué)生選課使用,劃分全校性選課、體育選課、課表查詢等模塊,管理員可開啟或關(guān)閉選課。對教師的功能暫未開發(fā)。建議與對策:可根據(jù)具體應(yīng)用,可將服務(wù)器部署至阿里云或本地,實現(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è)計與實現(xiàn)網(wǎng)絡(luò)選課APP的背景分析5G網(wǎng)絡(luò)的到來,隨即而來的是在不久后將會得到大范圍的覆蓋,高速率是它的代名詞。這是一個移動互聯(lián)網(wǎng)的時代,APP的開發(fā)和使用自然也會成為移動互聯(lián)網(wǎng)時代下的一個趨勢,APP是移動互聯(lián)網(wǎng)的必備工具,是一個時代的主流?,F(xiàn)在大家最不缺的就是那移動設(shè)備——智能手機。APP只需要安裝在手機上,需要時打開,不需要時關(guān)閉,方便操作于掌心之上。所以APP面向的用戶范圍更廣,單方面在學(xué)生這一個群體來說,占有的比例也是很高的,那么對于設(shè)計一個網(wǎng)絡(luò)選課APP是更加適用于學(xué)生的需求。一方面來說,手機的操作簡單易懂;另一方面手機隨身攜帶方便課程的即時查詢,課程的即時選擇等。相對于現(xiàn)有的web端選課系統(tǒng),需要學(xué)生坐在電腦前。當(dāng)然有人說現(xiàn)在有筆記本電腦呀,選課一樣是很方便的。但是我們可以對比一下手機的尺寸比例不是更加便捷嗎?還有人說手機也是可以做到適應(yīng)web端的系統(tǒng)頁面進行選課等操作,但是有過親身經(jīng)歷的同學(xué)很清楚的知道,手機的屏幕根本不可以完全展示系統(tǒng)的全部內(nèi)容,需要用戶去滑動界面一點一點的看,那么對用戶的體驗效果就不是很好了。所以總結(jié)下來,一個網(wǎng)絡(luò)選課APP可以簡潔而明了的展示課程內(nèi)容,方便同學(xué)們一鍵選取自己所喜歡的課程。網(wǎng)絡(luò)選課APP是從繁到簡的發(fā)展的主流。本課題的研究目的和意義當(dāng)前網(wǎng)絡(luò)選課APP以松田學(xué)院為例,為學(xué)生網(wǎng)絡(luò)選課提供多一個途徑。作為松田的學(xué)生應(yīng)該清楚的知道,只要是選課時間開啟,所有到時間選課的學(xué)生一并涌入教務(wù)系統(tǒng),學(xué)校的網(wǎng)頁版教務(wù)系統(tǒng)便會出現(xiàn)癱瘓,500警告!網(wǎng)站無法承受如此高的并發(fā)量,導(dǎo)致學(xué)生們的抱怨的聲音不斷。由此,便產(chǎn)生了設(shè)計此款網(wǎng)絡(luò)選課APP的想法,這便是開發(fā)該APP的意義所在。讓學(xué)生們不單單只能是通過教務(wù)系統(tǒng)去選課,還可以通過網(wǎng)絡(luò)選課APP去選課。讓人流量實現(xiàn)分流,緩解教務(wù)系統(tǒng)網(wǎng)站的壓力。開發(fā)目標(biāo)和開發(fā)環(huán)境開發(fā)目標(biāo)登錄模塊:提供兩個身份登錄,分別為學(xué)生和管理員。(因教師功能暫未實現(xiàn),所以登錄模塊的教師按鈕未開放)全校性選課模塊:可查看全部課程(不包括體育課)。體育選課模塊:提供可選的體育課程。課表模塊:學(xué)生可查看自己已選好的課程列表。設(shè)置模塊:可修改用戶密碼。選課控制:管理員可關(guān)閉和開啟選課功能。超新星網(wǎng)按鈕:提供了超新星網(wǎng)的跳轉(zhuǎn)鏈接,可登錄進行在線網(wǎng)絡(luò)課的學(xué)習(xí)。教務(wù)系統(tǒng)按鈕:提供了松田學(xué)院的跳轉(zhuǎn)鏈接,可登錄查看學(xué)校發(fā)布的詳細(xì)信息。賬號注冊功能:提供注冊賬號功能,默認(rèn)注冊賬號為學(xué)生賬號,以學(xué)生身份登錄。開發(fā)環(huán)境采用面向?qū)ο蟮拈_發(fā)方法,網(wǎng)絡(luò)選課APP在Windows10操作系統(tǒng)上安裝開發(fā)工具,AndroidStdio作為APP主體框架實現(xiàn)的開發(fā)工具,MyEclipse作為實現(xiàn)APP服務(wù)器的開發(fā)工具。運行服務(wù)器代碼的容器為Tomcat8.5。

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

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

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

溫馨提示

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

評論

0/150

提交評論