版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
摘要洛陽(yáng)理工學(xué)院畢業(yè)設(shè)計(jì)(論文)PAGEIVPAGE1基于Android的移動(dòng)選課系統(tǒng)的設(shè)計(jì)摘要隨著互聯(lián)網(wǎng)的不斷發(fā)展以及高等教育與教學(xué)的改革,高校的選課方式已經(jīng)從傳統(tǒng)的紙質(zhì)方式轉(zhuǎn)向了網(wǎng)上選課方式。近年來(lái),隨著智能手機(jī)等移動(dòng)設(shè)備的不斷普及,移動(dòng)選課將是繼互聯(lián)網(wǎng)選課之后的又一種選課模式。網(wǎng)上選課系統(tǒng)的軟件較多,但具體的移動(dòng)選課軟件相對(duì)較少。針對(duì)這個(gè)情況,本文討論在廣泛應(yīng)用的Android平臺(tái)上設(shè)計(jì)與開發(fā)移動(dòng)選課系統(tǒng)。本設(shè)計(jì)作為現(xiàn)有基于Web的網(wǎng)上選課系統(tǒng)的輔助手段和重要補(bǔ)充,旨在為廣大學(xué)生提供隨時(shí)隨地方便快捷的選課方式。通過初步對(duì)Android軟件開發(fā)技術(shù)和JavaServlet編程技術(shù)的學(xué)習(xí)以及對(duì)現(xiàn)有選課系統(tǒng)的分析和研究,結(jié)合移動(dòng)互聯(lián)網(wǎng)的特點(diǎn),總結(jié)出移動(dòng)選課系統(tǒng)所應(yīng)具備的主要功能。運(yùn)用信息系統(tǒng)開發(fā)方法等技術(shù)手段對(duì)該系統(tǒng)進(jìn)行了整體的規(guī)劃、設(shè)計(jì)與實(shí)現(xiàn)。該系統(tǒng)具有用戶登錄、選課、退選、查看選課信息等基本的功能。該系統(tǒng)分為系統(tǒng)登錄、選課信息、選課、退選、已選課查詢等模塊。在移動(dòng)選課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)過程中,采用了C/S架構(gòu)、Http通信協(xié)議;服務(wù)器通過JDBC與數(shù)據(jù)庫(kù)進(jìn)行交互,手機(jī)通過流的形式接收從Web服務(wù)器傳來(lái)的數(shù)據(jù)。關(guān)鍵詞:移動(dòng)選課,Android,JavaServlet,C/S架構(gòu)
DesignOfMobileElectiveCourseSystemBasedOnAndroidABSTRACTWiththedevelopmentoftheinternetandthecollegeeducation’srevolution,universities’courseelectingformhaschangedtointernetcourseelectingformfromtraditionalonewhichusespapermaterials.Nowadays,PDAphoneandothermobileinstrumentshaveexploredaverybroadwayinthissociety.Mobilelectivecoursesystemisoneanothersystemwhichusestheinternettochoosecourse.Thereareafewofsoftwaresappearingontheinternetaboutcourseelecting.However,therearelittlesoftwareshavethefunctionsaboutMobilelectivecoursesystem.Underthissituation,thissystemwrotethisessaymainlytalkingabouthowtobroadlyusetheAndroidsystemtodesignandexploreMobilelectivecoursesystem.Thisessayasthesupplementarywaysbasedonsomeexistinginternetcourseelectingsystemsismainlytoprovideconvenientandefficientwaysforstudents’courseelectingneeds.AfterthebasicstudyabouttheAndroidsystemexplorationandtheJavaServletprogrammingtechnology,thissystemcombinedtheMobilinternet’scharacterstogetasummarywhichisaboutMobilelectivecoursesystemmainfunctions.Throughsomesystemexploitationthissystemmadeaprojectaboutit.Thissystemhassomepartssuchas:systemregister,courseelectiveinformation,courseelecting,coursecanceling,checkingaboutthechosencourses,etc.Duringthisdesigningprocess,thissystemusedC/SandHttp.TheserverusesJDBCdateresourcetocommunicate.ThephoneuseflowasthewaytoreceivedatefromWebserver.KEYWORDS:MobileElectiveCourse,Android,JavaServlet,C/S前言前言近年來(lái),隨著我國(guó)高等教育與教學(xué)的改革,數(shù)字信息化的教學(xué)管理系統(tǒng)在高校日趨廣泛,伴隨著學(xué)年制管理體制向?qū)W分制管理體制的發(fā)展,使得網(wǎng)上選課系統(tǒng)在高校中得到廣泛的應(yīng)用。傳統(tǒng)的選課系統(tǒng)是以固定的形式訪問互聯(lián)網(wǎng)。這樣,雖然能夠滿足大部分學(xué)生的選課需要。但是在選課高峰時(shí)期,學(xué)校的Web服務(wù)器因訪問量過大而暫時(shí)癱瘓,學(xué)校機(jī)房的電腦數(shù)量有限難滿足學(xué)生們的選課需求。有時(shí)為了選擇到自己喜歡的課程,往往要提前半小時(shí)到一個(gè)小時(shí)在計(jì)算機(jī)上登錄選課系統(tǒng),守候在計(jì)算機(jī)旁邊,而不能做到隨時(shí)隨地的選課。同時(shí),隨著科技的發(fā)展,搭載Android操作系統(tǒng)的智能手機(jī)依靠其龐大的應(yīng)用程序和越來(lái)越低廉的價(jià)格吸引了廣大的用戶。在如此龐大的用戶基數(shù)影響下,移動(dòng)互聯(lián)網(wǎng)技術(shù)得到了飛速的發(fā)展,我國(guó)的網(wǎng)民也正在從傳統(tǒng)的互聯(lián)網(wǎng)向移動(dòng)互聯(lián)網(wǎng)轉(zhuǎn)移。在大學(xué)生中,智能手機(jī)用戶也占有相當(dāng)大的比例。因此,學(xué)生需要另一種的選課系統(tǒng)來(lái)解決當(dāng)前選課系統(tǒng)存在的問題,來(lái)分流由于傳統(tǒng)網(wǎng)絡(luò)訪問給服務(wù)器帶來(lái)的壓力?;贏ndroid的移動(dòng)選課系統(tǒng)應(yīng)運(yùn)而生。如今,高校的網(wǎng)上選課系統(tǒng)都是比較成熟完善的。移動(dòng)選課系統(tǒng)只是現(xiàn)有網(wǎng)上選課系統(tǒng)的補(bǔ)充。基于上述考慮,客戶端與服務(wù)器之間的通信采用Http通信協(xié)議。用C/S模式來(lái)建立移動(dòng)選課系統(tǒng)比較合適。服務(wù)器端采用SQL數(shù)據(jù)庫(kù)服務(wù)器,TomcatWeb服務(wù)器以及JavaServlet的Web服務(wù)器編程技術(shù)構(gòu)建移動(dòng)選課的應(yīng)用服務(wù)系統(tǒng);客戶端采用Android平臺(tái)的客戶端軟件用來(lái)登錄服務(wù)器。開發(fā)基于Android的移動(dòng)選課系統(tǒng)的意義在于:對(duì)當(dāng)今流行的Android軟件有深入的了解,發(fā)現(xiàn)在開發(fā)過程中所面臨的問題,簡(jiǎn)化選課程序,方便同學(xué)們的選課。同時(shí),為今后開發(fā)出適合我校情況的移動(dòng)選課系統(tǒng)打下基礎(chǔ)。REF_Ref168484390\r\h錯(cuò)誤!未找到引用源。REF_Ref168484424\h錯(cuò)誤!未找到引用源。第1章緒論1.1選課系統(tǒng)的現(xiàn)狀現(xiàn)在大多數(shù)的高校的選課系統(tǒng)都是采用的瀏覽器/服務(wù)器(B/S)模式,這種模式相對(duì)最初的人工課程管理方便了許多,不在需要大量的人力,學(xué)生選課也不在排隊(duì)擁擠,更不會(huì)因?yàn)檫x課而耽誤正常的教學(xué)任務(wù)。B/S模式的選課系統(tǒng)只需要一臺(tái)能訪問網(wǎng)絡(luò)的瀏覽器即可。只要選課服務(wù)器端提供選課、學(xué)籍管理、考試成績(jī)、畢業(yè)設(shè)計(jì)等業(yè)務(wù)模塊,在客戶端的瀏覽器視窗中就能進(jìn)行相應(yīng)模塊的功能管理。隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展這種B/S模式的選課系統(tǒng)也存在很多不足,比如要進(jìn)行選課操作時(shí),就必須坐在接入網(wǎng)絡(luò)的電腦前:而且課程開設(shè)的通知等等也是要通過上網(wǎng)才知道,對(duì)于一些不常上網(wǎng)的同學(xué)可能就會(huì)錯(cuò)過很多有用的消息,比如說課程調(diào)整通知、考試安排等等。而這些缺陷都可以通過移動(dòng)終端來(lái)解決。1.2Android系統(tǒng)特點(diǎn)近幾年,3G的全球覆蓋使世界快速步入移動(dòng)互聯(lián)網(wǎng)時(shí)代,網(wǎng)絡(luò)的應(yīng)用范圍變得更加廣泛,移動(dòng)智能終端在市場(chǎng)上迅速滲透,成為移動(dòng)互聯(lián)網(wǎng)發(fā)展的強(qiáng)大動(dòng)力。根據(jù)市場(chǎng)調(diào)研機(jī)構(gòu)Gartner發(fā)布的最新統(tǒng)計(jì)報(bào)告顯示,2011年一季度全球手機(jī)銷售量共4.278億部,其中智能手機(jī)銷量超過1億部,現(xiàn)在高校師生的智能移動(dòng)通訊設(shè)備擁有率已經(jīng)和PC擁有率相近。而智能手機(jī)操作系統(tǒng)中,Android系統(tǒng)的市場(chǎng)份額又遠(yuǎn)遠(yuǎn)大于其他的手機(jī)操作系統(tǒng)。Android是Google于2007年11月5日發(fā)布的基于Linux內(nèi)核的移動(dòng)平臺(tái),該平臺(tái)由操作系統(tǒng)、中間件、用戶界面、應(yīng)用軟件組成;從軟件分層的角度來(lái)說,Android平臺(tái)由應(yīng)用程序、應(yīng)用程序框架、Android運(yùn)行時(shí)庫(kù)層以及Linux內(nèi)核共4部分構(gòu)成,是一個(gè)真正開放的移動(dòng)平臺(tái)。1.3基于Android的移動(dòng)選課系統(tǒng)概述1.3.1基于Android的移動(dòng)選課系統(tǒng)描述基于Android的移動(dòng)選課系統(tǒng)是學(xué)校網(wǎng)上選課系統(tǒng)的補(bǔ)充,該系統(tǒng)的客戶端運(yùn)行于當(dāng)下最流行的智能手機(jī)操作系統(tǒng)——Android智能手機(jī)操作系統(tǒng)之上。通過GPRS(通用無(wú)線分組業(yè)務(wù))或WLAN(無(wú)線局域網(wǎng))等無(wú)線數(shù)據(jù)傳輸平臺(tái),在我校集中的選課時(shí)間為我校的在校學(xué)生建立使用移動(dòng)終端隨時(shí)隨地訪問我校的選課系統(tǒng)的平臺(tái),了解選課信息,查詢選課結(jié)果,及時(shí)、快速、準(zhǔn)確的選擇喜歡的課程。1.3.2基于Android的移動(dòng)選課系統(tǒng)意義基于Android的移動(dòng)選課系統(tǒng)的用戶無(wú)論是在公交車,在商場(chǎng),還是在沒用電腦的宿舍。只要通過搭載有該客戶端的Android手機(jī)就能隨時(shí)隨地的登陸系統(tǒng)進(jìn)行選課。從而使用戶遠(yuǎn)離的電腦的束縛,在學(xué)校集中選課的時(shí)間可以不用去機(jī)房排隊(duì)等候選課,大大地提高了學(xué)生選課的效率。REF_Ref168484390\r\h錯(cuò)誤!未找到引用源。REF_Ref168484424\h錯(cuò)誤!未找到引用源。PAGE6PAGE8第2章環(huán)境配置2.1軟件環(huán)境2.1.1Android開發(fā)環(huán)境的搭建1.安裝JDKSun公司為所有的java程序員提供了一套免費(fèi)的java開發(fā)和運(yùn)行環(huán)境。可以通過訪問Http:///j2se,根據(jù)提示下載支持Windows操作系統(tǒng)的JDK到本地硬盤。安裝的時(shí)候可以選擇安裝到任意的硬盤驅(qū)動(dòng)器上。正確安裝之后,在JDK目錄下有bin、demo、lib、jre等子目錄。然后是設(shè)置JDK的環(huán)境變量,其設(shè)置方法如下:在Windows操作系統(tǒng)下,用鼠標(biāo)右鍵單擊【我的電腦】,彈出菜單選擇【屬性】,彈出【系統(tǒng)特性】對(duì)話框,再單擊該對(duì)話框中的【高級(jí)選項(xiàng)】,然后單擊【環(huán)境變量】按鈕,添加如下的系統(tǒng)環(huán)境變量。變量名:PATH變量值:D:\java\bin;%PATH%(其內(nèi)容根據(jù)JDK安裝的目錄變化)設(shè)置完成點(diǎn)擊【確定】即可。2.Eclipse的安裝訪問/downloads/,下載EclipseIDEforJavaDevelopers(92M)的win32bit版,解壓后即可使用。3.AndroidSDK安裝在AndroidDevelopers下載android-sdk_r05-windows.zip,下載完成后解壓到任意路徑。運(yùn)行SDKSetup.exe,點(diǎn)擊AvailablePackages。如果沒有出現(xiàn)可安裝的包,請(qǐng)點(diǎn)擊Settings,選中Misc中的"Forcehttps://..."這項(xiàng),再點(diǎn)擊AvailablePackages。選擇希望安裝的SDK及其文檔或者其它包,點(diǎn)擊InstallationSelected、AcceptAll、InstallAccepted,開始下載安裝所選包下載完成后,添加如下環(huán)境變量:變量名:PATH變量值:D:\Android_SDK\android-sdk\tools(其內(nèi)容根據(jù)JDK安裝的目錄變化)然后單擊確定即可。4.ADT的安裝打開Eclipse,進(jìn)入菜單中的"Help"->"InstallNewSoftware"在Workwith中輸入網(wǎng)址/android/eclipse/,如圖2-1所示。圖2-1ADT的安裝然后選中DevrloperTools單擊“下一步”完成即可。完成之后選擇Window>Preferences...,在左邊的面板選擇Android,然后在右側(cè)點(diǎn)擊Browse...并選中SDK路徑,點(diǎn)擊Apply、OK,配置完成。5.創(chuàng)建AVD為使Android應(yīng)用程序可以在模擬器上運(yùn)行,必須創(chuàng)建AVD。(1)在Eclipse中。選擇Windows>AVDManager(2)點(diǎn)擊左側(cè)面板的VirtualDevices,再右側(cè)點(diǎn)擊New(3)填入Name,選擇Target的API,SDCard:512MB(保證模擬器運(yùn)行流暢),Skin隨便選,Hardware目前保持默認(rèn)值。2.1.2SQLServer數(shù)據(jù)庫(kù)配置在連接數(shù)據(jù)庫(kù)之前必須保證SQLServer2005是采用SQLServer身份驗(yàn)證方式而不是windows身份驗(yàn)證方式。如果在安裝時(shí)選用了后者,則重新設(shè)置如下:1.打開SQLServer2005,右擊最上面的服務(wù)器,選擇屬性——>安全性,在右邊框中選擇SQLServer和Windows身份驗(yàn)證模式,如圖2-2所示,最后點(diǎn)確定。圖2-2服務(wù)器屬性選擇“安全性”中的登錄名中的sa,右擊選擇“屬性”,選擇常規(guī),在右邊輸入登錄名sa,輸入密碼與確認(rèn)密碼123456(登錄名和密碼可以根據(jù)需要自行設(shè)置),再在左邊選擇狀態(tài),在登錄中設(shè)“啟用”。2.安裝好SQLServer2005后,運(yùn)行開始→所有程序→MicrosoftSQLServer2005→配置工具→SQLServerConfigurationManager,在打開的窗口的左邊找到MSSQLSERVER的協(xié)議,在右邊右單擊TCP/IP,選擇已啟用。如果NamedPipes未啟用也設(shè)為啟用。雙擊右邊的TCP/IP,在彈出的窗口中選擇IP地址標(biāo)簽,把IpAll中的TCP端口設(shè)成1433,并將上方所有的“已啟用”選項(xiàng)設(shè)置成“是”。如圖2-3所示。圖2-3TCP/IP屬性3.運(yùn)行開始→所有程序→MicrosoftSQLServer2005→配置工具→SQLServer外圍應(yīng)用配置器,在打開的窗口中選擇服務(wù)和連接的外圍應(yīng)用配置器,在打開的窗口左邊選擇遠(yuǎn)程連接,在右邊選擇同時(shí)使用TCP/IP和namedpipes(B),然后點(diǎn)擊“應(yīng)用”。如圖2-4所示。圖2-4服務(wù)和連接的外圍應(yīng)用配置器2.2硬件環(huán)境開發(fā)Android應(yīng)用程序要同時(shí)運(yùn)行Java虛擬機(jī)、Android虛擬機(jī)以及Android模擬器,對(duì)計(jì)算機(jī)硬件的要求比較高。其硬件的最低配置如下:CPU:主頻要在2.0GHZ以上。內(nèi)存:要在2G以上。屏幕最佳分辨率:1024×768像素。對(duì)硬盤的大小不做要求只要有足夠的空間能夠保證程序正常運(yùn)行就可以。第3章REF_Ref168484495\h錯(cuò)誤!未找到引用源。洛陽(yáng)理工學(xué)院畢業(yè)設(shè)計(jì)(論文)PAGE10第3章系統(tǒng)分析3.1系統(tǒng)設(shè)計(jì)的原則和目的移動(dòng)選課系統(tǒng)基于我?,F(xiàn)有的網(wǎng)上選課系統(tǒng)的數(shù)據(jù)庫(kù),設(shè)計(jì)目的就是作為現(xiàn)有的基于Web的網(wǎng)上選課系統(tǒng)的輔助手段和重要的補(bǔ)充,為廣大的學(xué)生提供隨時(shí)隨地方便快捷的選課、退課和課程查詢等功能。以原有的選課系統(tǒng)為基礎(chǔ),在不影響原有系統(tǒng)正常運(yùn)行和使用的情況下增加通過手機(jī)選課的功能以擴(kuò)充原有的選課系統(tǒng),使選課的方式更加的靈活方便,且選課不受地域場(chǎng)所的限制,在學(xué)校集中選課的時(shí)間使用手機(jī)隨時(shí)隨地就可以選課。同時(shí)也分流了B/S模式下服務(wù)器超負(fù)荷的壓力。根據(jù)我校選課的實(shí)際情況采用C/S模式開發(fā)適合手持設(shè)備使用的客戶端軟件以及在WEB服務(wù)器上部署的服務(wù)器軟件。該系統(tǒng)充分按照簡(jiǎn)單使用性原則設(shè)計(jì),客戶端軟件簡(jiǎn)單易用,同時(shí)充分考慮到無(wú)線網(wǎng)絡(luò)和手持設(shè)備的特殊性,最大化的利用網(wǎng)絡(luò)資源。在設(shè)計(jì)功能的同時(shí),考慮到系統(tǒng)的可伸縮性;在設(shè)計(jì)和代碼的實(shí)現(xiàn)上,給程序預(yù)留了可擴(kuò)展的接口,以便需要時(shí)可以快速的增加上相應(yīng)的功能。3.2需求分析3.2.1系統(tǒng)模塊移動(dòng)選課系統(tǒng)總共包含五個(gè)功能模塊:系統(tǒng)登錄、選課信息、選課、退選和已選課程查詢系統(tǒng)登錄:通過輸入用戶名和密碼驗(yàn)證合法的學(xué)生身份,避免了惡意登錄系統(tǒng)的情況。同時(shí)根據(jù)用戶名提取滿足其要求的信息選課信息:顯示登錄的學(xué)生可以選擇的所有課程的信息和教師信息以供學(xué)生選擇。選課:學(xué)生輸入相應(yīng)的課程號(hào)選擇課程。退選:當(dāng)用戶點(diǎn)擊了退選按鈕后,退選已經(jīng)選擇的課程。已選課程查詢:列出該學(xué)生已選的課程信息,以供參考。3.2.2客戶端與服務(wù)器的連接方式手機(jī)客戶端使用Http方式同Web服務(wù)器通信,服務(wù)器端通過JDBC與數(shù)據(jù)庫(kù)交互。手機(jī)通過Http以流的形式接收從Web服務(wù)器傳來(lái)的數(shù)據(jù)流。手機(jī)終端與Web服務(wù)器之間通信的數(shù)據(jù)格式采用一個(gè)特殊的標(biāo)記,從而使客戶端和服務(wù)器完成特定的功能。3.2.3系統(tǒng)結(jié)構(gòu)客戶機(jī)/服務(wù)器(C/S)結(jié)構(gòu),是大家熟知的軟件系統(tǒng)體系結(jié)構(gòu),將任務(wù)合理分配到客戶端和服務(wù)器端。其中,服務(wù)器端主要提供數(shù)據(jù)管理、數(shù)據(jù)共享、數(shù)據(jù)及系統(tǒng)維護(hù)和并發(fā)控制等,客戶端程序主要完成用戶的具體的業(yè)務(wù),省去了中間的其他環(huán)節(jié)。從而,提高了系統(tǒng)的響應(yīng)速度,降低了系統(tǒng)的通訊開銷,但是需要安裝客戶端才可進(jìn)行相應(yīng)的管理操作。同時(shí),在C/S架構(gòu)中客戶端與服務(wù)器之間相互分離,可以對(duì)客戶端進(jìn)行單獨(dú)的設(shè)計(jì)。使客戶端的操作界面漂亮、形式多樣,可以充分滿足客戶自身的個(gè)性要求。且此結(jié)構(gòu)還具有較強(qiáng)的事務(wù)處理能力,能實(shí)現(xiàn)負(fù)載的業(yè)務(wù)流程等優(yōu)點(diǎn)。因此,鑒于C/S架構(gòu)的優(yōu)點(diǎn)、手機(jī)操作系統(tǒng)、網(wǎng)絡(luò)速度以及當(dāng)前大多數(shù)Android手機(jī)應(yīng)用都采用C/S架構(gòu)的考慮?;贏ndroid的移動(dòng)選課系統(tǒng)采用客戶端/服務(wù)器(C/S)結(jié)構(gòu)。REF_Ref168484640\r\h錯(cuò)誤!未找到引用源。REF_Ref168484646\h錯(cuò)誤!未找到引用源。PAGE8PAGE16第4章系統(tǒng)設(shè)計(jì)4.1該系統(tǒng)的整體結(jié)構(gòu)系統(tǒng)的整體結(jié)構(gòu):Android客戶端手機(jī)通過無(wú)線網(wǎng)絡(luò)訪問后臺(tái)服務(wù)器,如果需要數(shù)據(jù)訪問,則訪問后臺(tái)數(shù)據(jù)庫(kù)。如圖4-1所示。手機(jī)客戶端手機(jī)客戶端Web服務(wù)器數(shù)據(jù)庫(kù)服務(wù)器圖4-1系統(tǒng)結(jié)構(gòu)4.2數(shù)據(jù)庫(kù)設(shè)計(jì)4.2.1數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)(1)用戶表,包含的字段有:登錄名、密碼。(2)學(xué)生表,包含的字段有:學(xué)號(hào)、姓名、性別、出生日期、政治面貌、入學(xué)日期、聯(lián)系電話、班級(jí)。(3)選課表,包含的字段有:學(xué)號(hào)、課程號(hào)。(4)課程表,包含的字段有:課程號(hào)、課程名、學(xué)時(shí)、學(xué)分、課程性質(zhì)、考核方式、上課學(xué)期。(5)教師信息表,包含的字段有:姓名、課程號(hào)、所屬系部、聯(lián)系方式、上課地點(diǎn)。其E-R模型如圖4-2所示。學(xué)生學(xué)生選課mnmn課程開設(shè)教師圖4-2系統(tǒng)E-R圖4.2.2數(shù)據(jù)庫(kù)各表的設(shè)計(jì)根據(jù)上述設(shè)計(jì)的數(shù)據(jù)庫(kù)的結(jié)構(gòu),設(shè)計(jì)了名稱為“移動(dòng)選課系統(tǒng)”的數(shù)據(jù)庫(kù)。“移動(dòng)選課系統(tǒng)”數(shù)據(jù)庫(kù)有下面多個(gè)表組成,各表的命名及字段命名都是以漢字的形式來(lái)命名,各表的設(shè)計(jì)結(jié)果如下:表4-1用戶表列名數(shù)據(jù)類型是否為空約束學(xué)號(hào)Char(9)Notnull主鍵密碼Char(6)Notnull表4-2學(xué)生表列名數(shù)據(jù)類型是否為空約束學(xué)號(hào)Char(9)Notnull主鍵姓名Nchar(5)Notnull性別Nchar(1)Null值為‘男’或‘女’出生日期DatetimeNull政治面貌Varchar(50)Null默認(rèn)為‘共青團(tuán)員’入學(xué)日期DatetimeNull聯(lián)系電話Char(15)Null班級(jí)Char(7)Null表4-3選課表列名數(shù)據(jù)類型是否為空約束學(xué)號(hào)Nchar(9)Notnull主鍵、外鍵課程號(hào)Nchar(6)Notnull主鍵、外鍵表4-4課程表列名數(shù)據(jù)類型允許空約束課程號(hào)Nchar(5)Notnull主鍵課程名Varchar(20)Notnull唯一學(xué)時(shí)TinyintNull學(xué)分TinyintNull課程性質(zhì)Nchar(2)Null默認(rèn)為‘選修’考核方式Nchar(2)Null默認(rèn)為‘考查’學(xué)期Char(1)Null表4-5教師信息表列名數(shù)據(jù)類型允許空約束工號(hào)Char(7)Notnull教師姓名Nchar(5)Notnull課程號(hào)Char(6)Notnull外鍵所屬系部Varchar(20)Null上課地點(diǎn)Varchar(10)Notnull聯(lián)系方式Char(11)Null4.3服務(wù)器設(shè)計(jì)該移動(dòng)選課系統(tǒng)的手機(jī)客戶端采用了Http方式同Web服務(wù)器通信?;谶@個(gè)要求,在服務(wù)器端編寫了JavaServlet程序放置在名稱為“servlet”包中用以實(shí)現(xiàn)手機(jī)客戶端采用Http的方式同服務(wù)器進(jìn)行通信。同時(shí)還編寫了一個(gè)通過JDBC與數(shù)據(jù)庫(kù)交互的程序放在名稱為“shujuku”的包中以實(shí)現(xiàn)Servlet程序與數(shù)據(jù)庫(kù)之間的數(shù)據(jù)交換。4.3.1JavaServlet程序Servlet是一種采用Java來(lái)實(shí)現(xiàn)CGI功能的技術(shù)。Servlet本身與協(xié)議無(wú)關(guān),與平臺(tái)與無(wú)關(guān)。對(duì)應(yīng)的軟件包有兩個(gè)javax.servlet.http和javax.servlet.jsp,通常所說的Servlet編程主要就是指針對(duì)HTTP的Servlet編程。Servlet運(yùn)行于Servlet引擎管理的Java虛擬機(jī)中,被來(lái)自客戶端的請(qǐng)求所喚醒,在虛擬機(jī)中只要裝載一個(gè)Servlet及能夠處理新的請(qǐng)求。Tomcat服務(wù)器是運(yùn)行Servlet程序的載體,在運(yùn)行Servlet程序之前要在機(jī)器上安裝好tomcat服務(wù)器。這是Servlet運(yùn)行時(shí)所需要的環(huán)境。移動(dòng)選課系統(tǒng)的Servlet程序包含LoginServlet、CX、SC、XS和XK五個(gè)類,這五個(gè)類同時(shí)繼承HttpServlet類。這五個(gè)類的功能描述如下:LoginServlet類:接收和返回用戶的登陸信息。CX類:接收用戶對(duì)已選課程查詢的請(qǐng)求,給用戶返回相應(yīng)的數(shù)據(jù)信息。SC類:接收用戶對(duì)刪除已選課程的請(qǐng)求,給用戶返回是否刪除成功的相應(yīng)信息。XS類:接收用戶對(duì)顯示所有可選課程的請(qǐng)求,并給用戶返回相應(yīng)的信息。XK類:接收用戶的選課請(qǐng)求,給用戶返回是否選課成功的相關(guān)信息。4.3.2與數(shù)據(jù)庫(kù)交互的程序與數(shù)據(jù)庫(kù)的交互程序是服務(wù)器的核心程序,共包含lianjie、LogIn、ChaXun、XianShi、XuanKe和shanchu六個(gè)方法。功能描述如下:Lianjie方法:通過JDBC與數(shù)據(jù)庫(kù)進(jìn)行連接連接。LogIn方法:通過與數(shù)據(jù)庫(kù)的交互驗(yàn)證登陸者的身份是否合法。ChaXun方法:通過與數(shù)據(jù)可的交互查詢出登陸的用戶已經(jīng)選擇的課程。XianShi方法:通過與數(shù)據(jù)庫(kù)的交互給登陸的用戶提供可以選擇的所有課程信息。XuanKe方法:通過與數(shù)據(jù)庫(kù)的交互為登陸的用戶保存他的選課信息。Shanchu方法:通過與數(shù)據(jù)庫(kù)的交互刪除登陸的用戶已經(jīng)選擇的課程信息。4.4Android客戶端設(shè)計(jì)4.4.1Android客戶端的頁(yè)面設(shè)計(jì)Android客戶端主要包括四個(gè)頁(yè)面,登錄頁(yè)面、主頁(yè)面、已選課程頁(yè)面以及可選課程頁(yè)面。每個(gè)頁(yè)面的主要功能描述如下:登錄頁(yè)面:供用戶登錄系統(tǒng)只用。同時(shí),檢測(cè)用戶輸入的用戶名和密碼是否為空,是否合法。主頁(yè)面:該頁(yè)面上列出了若干項(xiàng)菜單。以供用戶選擇自己要完成的事項(xiàng)。已選課程頁(yè)面:該頁(yè)面上顯示用戶已經(jīng)選擇在的課程??蛇x課程頁(yè)面:該頁(yè)面羅列出所有可以選擇的課程,以供用戶選擇自己喜歡的課程。其中,“課程退選”功能在已選課程頁(yè)面添加一個(gè)“退選”按鈕實(shí)現(xiàn)?!斑x課”功能在可選課程頁(yè)面中添加一個(gè)“選課”按鈕實(shí)現(xiàn)。4.4.2Android客戶端各頁(yè)面之間的關(guān)系A(chǔ)ndroid客戶端個(gè)頁(yè)面之間的關(guān)系即客戶端的結(jié)構(gòu)如下圖4-3所示:系統(tǒng)登錄用戶主菜單系統(tǒng)登錄用戶主菜單已選課程可選課程圖4-3客戶端結(jié)構(gòu)REF_Ref168484640\r\h錯(cuò)誤!未找到引用源。REF_Ref168484646\h錯(cuò)誤!未找到引用源。PAGE31第5章系統(tǒng)的實(shí)現(xiàn)5.1客戶端的實(shí)現(xiàn)5.1.1系統(tǒng)主界面的實(shí)現(xiàn)系統(tǒng)主界面很簡(jiǎn)介,只包含一個(gè)菜單選項(xiàng),通過這個(gè)菜單導(dǎo)航到各個(gè)功能模塊,主界面如圖5-1所示:圖5-1系統(tǒng)主界面主界面對(duì)應(yīng)的類是MainActivity,繼承了ListActivity類實(shí)現(xiàn)一個(gè)ListView,對(duì)應(yīng)的就是界面上的菜單。在MainActivity中的onCreate方法中初始化數(shù)據(jù)。5.1.2系統(tǒng)登錄模塊的實(shí)現(xiàn)系統(tǒng)登錄模塊的流程圖如圖5-2所示:登錄頁(yè)面登錄頁(yè)面點(diǎn)擊登錄,以URL形式訪問服務(wù)器成功?提示信息失敗成功服務(wù)器解析URL,調(diào)用系統(tǒng)登錄服務(wù),返回登錄結(jié)果解析返回的結(jié)果成功?主界面圖5-2登錄模塊流程圖當(dāng)用戶點(diǎn)擊登錄,若登錄成功則進(jìn)入如圖5-1所示的系統(tǒng)主界面。若用戶名或密碼為空則在頁(yè)面上彈出相應(yīng)的提示,如圖5-3所示;若密碼錯(cuò)誤同樣出現(xiàn)相應(yīng)的提示。如圖5-4所示。圖5-3密碼為空?qǐng)D5-4密碼密碼不正確其中判斷用戶名和密碼是否為空的代碼如下:privatebooleanvalidate(){ Stringusername=userEditText.getText().toString(); if(username.equals("")){ showDialog("用戶名稱是必填項(xiàng)!"); returnfalse; } Stringpwd=pwdEditText.getText().toString(); if(pwd.equals("")){ showDialog("用戶密碼是必填項(xiàng)!"); returnfalse; } returntrue; }判斷密碼是否錯(cuò)誤的代碼如下:try{ Connectioncon=DriverManager.getConnection(dbURL,userName, userPwd); Statementlogin=con.createStatement(); ResultSetyhb=login.executeQuery("select學(xué)號(hào),密碼from用戶表"); while(yhb.next()){ if(username.equals(yhb.getString("學(xué)號(hào)")) &&userpwdmima.equals(yhb.getString("密碼"))){ ifdenglu=true; ifdenglu1="t"; break; } }else{ System.out.println("用戶名或密碼錯(cuò)誤,請(qǐng)重試!!"); ifdenglu1="f"; }5.1.3已選課程查詢模塊的實(shí)現(xiàn)已選課程查詢模塊的流程圖如圖5-5所示:系統(tǒng)系統(tǒng)主界面點(diǎn)擊菜單,以URL形式訪問服務(wù)器成功?提示信息失敗成功服務(wù)器解析URL,調(diào)用已選課程查詢服務(wù),返回登錄結(jié)果解析返回的結(jié)果是否選課?已選課程圖5-5已選課程流程圖當(dāng)用戶點(diǎn)擊如5-1的選課信息查詢菜單后,用戶進(jìn)入已選課程頁(yè)面如圖5-6所示。圖5-6已選課程當(dāng)該用戶沒有選課是頁(yè)面會(huì)出現(xiàn)您還沒有選課的提示,如圖5-7所示:圖5-7未選課提示5.1.4退選模塊的實(shí)現(xiàn)當(dāng)用戶點(diǎn)擊圖5-6的退選按鈕時(shí)頁(yè)面會(huì)給用戶以響應(yīng)的提示,提示用戶是否退選成功。如圖5-8所示:圖5-8退選說明:退選模塊的流程去前兩個(gè)模塊的相似,故在這里就不給出詳細(xì)的流程圖和核心代碼,流程圖可參考圖5-2。5.1.5可選課程信息模塊的實(shí)現(xiàn)當(dāng)用戶點(diǎn)擊圖5-1的可選課程查詢菜單后,用戶進(jìn)入可選課程頁(yè)面,如圖5-9所示,在這里用戶可以瀏覽所有可以選擇的課程信息。圖5-9可選課程說明:退選模塊的流程去前兩個(gè)模塊的相似,故在這里就不給出詳細(xì)的流程圖和核心代碼。流程圖可參考圖5-2。5.1.6選課模塊的實(shí)現(xiàn)在如圖5-9所示的用戶頁(yè)面中,輸入要選擇的課程號(hào),點(diǎn)擊選課按鈕之后。頁(yè)面上會(huì)給出選課是否成功的相應(yīng)提示,以便用戶有相應(yīng)的了解。如圖5-10和圖5-11所示。圖5-10提示選課成功圖5-11提示已經(jīng)選課說明:退選模塊的流程去前兩個(gè)模塊的相似,故在這里就不給出詳細(xì)的流程圖和核心代碼。流程圖可參考圖5-2。5.2服務(wù)器端的實(shí)現(xiàn)在服務(wù)器的Servlet編程中使用LogIn、ChaXun、ShanChu、XianShi和XuanKe五個(gè)類,與數(shù)據(jù)庫(kù)進(jìn)行交互,對(duì)數(shù)據(jù)庫(kù)接收到的數(shù)據(jù)進(jìn)行處理。將處理后的結(jié)果返回給客戶端,并在服務(wù)器端打印出用戶所請(qǐng)求的相關(guān)信息。如圖5-12所示。圖5-12服務(wù)器端顯示相關(guān)信息其中ChaXun(顯示選課信息)類的相關(guān)代碼如下:try{ Connectioncon=DriverManager.getConnection(dbURL,userName, userPwd); Statements=con.createStatement(); ResultSetifyixuanke=s.executeQuery(sql); while(ifyixuanke.next()){ ifhas=ifyixuanke.getString("是否選課"); } s.close(); if(ifhas.equals("t")){ PreparedStatementchaxun=con .prepareStatement("select課程名,學(xué)時(shí),學(xué)分,課程性質(zhì),考核方式,學(xué)期from課程表where課程號(hào)=(select課程號(hào)from選課表where學(xué)號(hào)=?)"); chaxun.setString(1,username); ResultSetkch=chaxun.executeQuery(); while(kch.next()){ re="t"+""+kch.getString("課程名")+""+kch.getString("學(xué)時(shí)")+""+kch.getString("學(xué)分") +""+kch.getString("課程性質(zhì)")+"" +kch.getString("考核方式")+""+kch.getString("學(xué)期"); } ifkx="f"; chaxun.close(); }else{ System.out.println("您還沒有選課??!"); ifkx="t"; re="f"; } con.close(); }catch(Exceptione){ System.out.println("連接數(shù)據(jù)庫(kù)失敗!"+e+"false"); re="f"; } returnre; }其他幾個(gè)類的相關(guān)代碼與CX類的類似,只是相關(guān)的Select語(yǔ)句有所不同,下面只給出與類相關(guān)的Select語(yǔ)句。LogIn類相關(guān)的Select語(yǔ)句如下:ResultSetyhb=login.executeQuery("select學(xué)號(hào),密碼from用戶表");ShanChu類相關(guān)的Select語(yǔ)句如下:PreparedStatementsc=con.prepareStatement("deletefrom選課表where學(xué)號(hào)=?");XianShi類相關(guān)的Select語(yǔ)句如下:ResultSetrs=xs.executeQuery("select課程表.課程號(hào),課程名,學(xué)時(shí),學(xué)分,課程性質(zhì),考核方式,學(xué)期,教師姓名,所屬系部from課程表,教師信息表where課程表.課程號(hào)=教師信息表.課程號(hào)");Xuanke類相關(guān)的Select語(yǔ)句如下:PreparedStatementtianjia=con .prepareStatement("insertinto選課表values(?,?)");5.3客戶端與服務(wù)器端的通訊Android集成了ApacheHTTP客戶端,在服務(wù)器Servlet編程中使用HttpServletRequest和HttpServletResponse來(lái)表示請(qǐng)求和響應(yīng)。ApacheHTTP客戶端也已經(jīng)對(duì)請(qǐng)求和響應(yīng)進(jìn)行封裝,只需根據(jù)請(qǐng)求方法的不同,用到HttpGet和HttpPost兩個(gè)對(duì)象。其中,響應(yīng)對(duì)象是HttpResponse,使用DefaultHttpClient執(zhí)行請(qǐng)求獲得響應(yīng)。實(shí)現(xiàn)該模塊的核心代碼如下:publicclassHttpUtil{ //生命BaseURL常量 publicstaticfinalStringBASE_URL="11:8080/xiaoge/"; //通過URL獲得HttpGet對(duì)象 publicstaticHttpGetgetHttpGet(Stringurl){ HttpGetrequest=newHttpGet(url); returnrequest; }publicstaticStringqueryStringForGet(Stringurl){ HttpGetrequest=HttpUtil.getHttpGet(url); Stringresult=null; try{ HttpResponseresponse=HttpUtil.getHttpResponse(request); if(response.getStatusLine().getStatusCode()==200){ result=EntityUtils.toString(response.getEntity()); byte[]b=result.getBytes("8859-1"); Stringa=newString(b,"UTF-8"); returnresult; } }catch(ClientProtocolExceptione){ e.printStackTrace(); result="網(wǎng)絡(luò)異常!"; returnresult; }catch(IOExceptione){ e.printStackTrace(); result="網(wǎng)絡(luò)異常!"; returnresult; }returnnull;}publicstaticHttpResponsegetHttpResponse(HttpGetrequest)throwsClientProtocolException,IOException{ HttpResponseresponse=newDefaultHttpClient().execute(request); returnresponse; }} 第6章測(cè)試本章內(nèi)容主要是針對(duì)于整個(gè)系統(tǒng)功能的檢測(cè),分析系統(tǒng)的可行性以及弊端,以及運(yùn)行的結(jié)果及發(fā)現(xiàn)的問題。6.1測(cè)試的作用和意義系統(tǒng)測(cè)試是系統(tǒng)的開發(fā)周期中的一個(gè)十分重要的環(huán)節(jié)。盡管在系統(tǒng)開發(fā)周期的各個(gè)階段均采取了嚴(yán)格的技術(shù)審查,但依然難免會(huì)留下錯(cuò)誤,如果沒有在投入運(yùn)行前的系統(tǒng)測(cè)試階段被發(fā)現(xiàn)并糾正,問題遲早會(huì)在運(yùn)行中暴露出來(lái),到那時(shí)要糾正錯(cuò)誤將會(huì)付出更大的代價(jià)。系統(tǒng)測(cè)試占用的時(shí)間、花費(fèi)的人力和成本占軟件開發(fā)的很大比例。統(tǒng)計(jì)表明,開發(fā)較大規(guī)模的系統(tǒng),系統(tǒng)測(cè)試的工作量大約占整個(gè)軟件開發(fā)工作量的40%-50%。而對(duì)于一些特別重要的大系統(tǒng),測(cè)試的工作量和成本更大,甚至超過系統(tǒng)開發(fā)其他各階段的總和的若干倍。6.2測(cè)試方法對(duì)軟件進(jìn)行測(cè)試的主要方法有人工測(cè)試與機(jī)器測(cè)試。一般源程序通過編譯后,要先經(jīng)過人工測(cè)試,然后再進(jìn)行機(jī)器測(cè)試。人工測(cè)試是采用人工方式進(jìn)行,目的在于檢查程序的靜態(tài)結(jié)構(gòu),找出編譯不能發(fā)現(xiàn)的錯(cuò)誤。機(jī)器測(cè)試是運(yùn)用事先設(shè)計(jì)好的測(cè)試用例,執(zhí)行被測(cè)程序,對(duì)比運(yùn)行結(jié)果與預(yù)期結(jié)果的差別以發(fā)現(xiàn)錯(cuò)誤。另外人工測(cè)試又分為個(gè)人復(fù)查、走查與會(huì)審。機(jī)器測(cè)試又可分為黑盒測(cè)試與白盒測(cè)試,黑盒測(cè)試也稱功能測(cè)試,將軟件看作黑盒子,在完全不考慮程序的內(nèi)部結(jié)構(gòu)和特性的情況下,測(cè)試軟件的外部特性。根據(jù)軟件的需求規(guī)格說明書設(shè)計(jì)測(cè)試用例,從程序的輸入和輸出特性上測(cè)試是否滿足設(shè)定的功能。白盒測(cè)試也稱結(jié)構(gòu)測(cè)試,將軟件看作一個(gè)透明的白盒子,按照程序的內(nèi)部結(jié)構(gòu)和處理邏輯來(lái)選定測(cè)試用例,對(duì)軟件的邏輯路徑及過程進(jìn)行測(cè)試,檢查它與設(shè)計(jì)是否相符。對(duì)于這個(gè)基于Android的移動(dòng)選課系統(tǒng)來(lái)說,我在每寫完一個(gè)功能模塊時(shí)就要對(duì)這個(gè)模塊進(jìn)行測(cè)試,或者每寫好一段相對(duì)獨(dú)立的程序時(shí)也對(duì)它進(jìn)行相應(yīng)的功能測(cè)試或模塊測(cè)試。而當(dāng)我完成整個(gè)系統(tǒng)時(shí)我采用上面所說的人工測(cè)試方法,把整個(gè)軟件的邏輯關(guān)系理一下,避免發(fā)生邏輯錯(cuò)誤,然后是檢查軟件的功能是否實(shí)現(xiàn),與需求里面的功能要求作對(duì)比,檢查功能實(shí)現(xiàn)是否完善,合理等。6.3測(cè)試內(nèi)容(1)登錄模塊測(cè)試表6-1登錄模塊測(cè)試輸入/操作期望的輸出/響應(yīng)實(shí)際情況登錄檢測(cè)輸入正確的用戶名和密碼正常登陸輸入錯(cuò)誤的用戶名和密碼提示密碼錯(cuò)誤用戶名或密碼為空提示用戶名或密碼為空(2)已選課程模塊測(cè)試表6-2已選課程模塊測(cè)試輸入/操作期望的輸出/響應(yīng)實(shí)際情況已選課程檢測(cè)在屏幕上輸出已選擇的課程在屏幕上輸出正常(3)退選模塊測(cè)試表6-3退選模塊測(cè)試輸入/操作期望的輸出/響應(yīng)實(shí)際情況退選模塊檢測(cè)點(diǎn)擊退選按鈕時(shí),退選成功提示推選成功(4)可選課程信息模塊表6-4可選課程信息模塊測(cè)試輸入/操作期望的輸出/響應(yīng)實(shí)際情況可選信息檢測(cè)進(jìn)入可選信息頁(yè)面時(shí),顯示所有可選課信息進(jìn)入頁(yè)面時(shí)顯示所有的可選課程信息(5)選課模塊測(cè)試表6-5選課模塊測(cè)試輸入/操作期望的輸出/響應(yīng)實(shí)際情況選課檢測(cè)輸入正確的課程號(hào)提示選課成功輸入錯(cuò)誤的課程號(hào)提示沒有該課程6.4測(cè)試結(jié)果(1)服務(wù)器正常啟動(dòng)后,用戶能夠成功的登錄到選課系統(tǒng),當(dāng)用戶名、密碼出錯(cuò)或?yàn)榭諘r(shí)能夠給出相應(yīng)的提示。當(dāng)服務(wù)器沒有啟動(dòng)時(shí)會(huì)給出“網(wǎng)絡(luò)異?!钡奶崾?。(2)用戶在選課時(shí),系統(tǒng)會(huì)給用戶相應(yīng)的提示。當(dāng)用戶選擇了兩個(gè)以上的課程時(shí),不能夠完全顯示用戶所選擇的課程。(3)系統(tǒng)在顯示所有可以選擇的課程時(shí),顯示良好,可以拖動(dòng)屏幕顯示出所有的課程。(4)系統(tǒng)在刪除課程時(shí),沒有給出相關(guān)的提示就直接刪除,會(huì)給用戶的誤操作帶來(lái)不便。(5)系統(tǒng)界面良好,在可操作性方面良好。6.5測(cè)試結(jié)論系統(tǒng)經(jīng)過反復(fù)測(cè)試,發(fā)現(xiàn)存在上述測(cè)試結(jié)果中的一些問題,但是經(jīng)過后來(lái)反復(fù)的修改和測(cè)試,本系統(tǒng)最終完成,測(cè)試結(jié)果中的大部分問題都得到完美解決。但是,由于本人能力有限,此系統(tǒng)仍存在一些潛在的問題沒有解決。經(jīng)過后期對(duì)軟件的測(cè)試,懂得了測(cè)試的重要性,以及給本系統(tǒng)帶來(lái)的巨大改善,讓系統(tǒng)變的更強(qiáng)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版粉煤灰運(yùn)輸環(huán)保風(fēng)險(xiǎn)評(píng)估與治理服務(wù)合同3篇
- 二零二五年服務(wù)合同違約金支付與損害賠償3篇
- 二零二五版地下室房屋租賃合同附條件續(xù)約協(xié)議3篇
- 二零二五版旅游景點(diǎn)停車場(chǎng)車位租賃及旅游服務(wù)合同3篇
- 二零二五版硅酮膠產(chǎn)品市場(chǎng)調(diào)研與分析合同3篇
- 二零二五版白酒瓶裝生產(chǎn)線租賃與回購(gòu)合同3篇
- 二零二五年度養(yǎng)老社區(qū)場(chǎng)地租賃與管理合同3篇
- 二零二五版消防安全評(píng)估與應(yīng)急預(yù)案合同3篇
- 2025年度綠色建筑節(jié)能改造合同范本2篇
- 二零二五版房產(chǎn)抵押合同變更及合同終止協(xié)議3篇
- 2024年世界職業(yè)院校技能大賽高職組“市政管線(道)數(shù)字化施工組”賽項(xiàng)考試題庫(kù)
- 介紹蝴蝶蘭課件
- 大學(xué)計(jì)算機(jī)基礎(chǔ)(第2版) 課件 第1章 計(jì)算機(jī)概述
- 數(shù)字化年終述職報(bào)告
- 《阻燃材料與技術(shù)》課件 第5講 阻燃塑料材料
- 2025年蛇年年度營(yíng)銷日歷營(yíng)銷建議【2025營(yíng)銷日歷】
- 2024年職工普法教育宣講培訓(xùn)課件
- 安保服務(wù)評(píng)分標(biāo)準(zhǔn)
- T-SDLPA 0001-2024 研究型病房建設(shè)和配置標(biāo)準(zhǔn)
- (人教PEP2024版)英語(yǔ)一年級(jí)上冊(cè)Unit 1 教學(xué)課件(新教材)
- 全國(guó)職業(yè)院校技能大賽高職組(市政管線(道)數(shù)字化施工賽項(xiàng))考試題庫(kù)(含答案)
評(píng)論
0/150
提交評(píng)論