![課程表APP的具體實現(xiàn).doc_第1頁](http://file.renrendoc.com/FileRoot1/2020-1/11/12a8fc8d-6c2a-4436-b2d2-305868c6ae26/12a8fc8d-6c2a-4436-b2d2-305868c6ae261.gif)
![課程表APP的具體實現(xiàn).doc_第2頁](http://file.renrendoc.com/FileRoot1/2020-1/11/12a8fc8d-6c2a-4436-b2d2-305868c6ae26/12a8fc8d-6c2a-4436-b2d2-305868c6ae262.gif)
![課程表APP的具體實現(xiàn).doc_第3頁](http://file.renrendoc.com/FileRoot1/2020-1/11/12a8fc8d-6c2a-4436-b2d2-305868c6ae26/12a8fc8d-6c2a-4436-b2d2-305868c6ae263.gif)
![課程表APP的具體實現(xiàn).doc_第4頁](http://file.renrendoc.com/FileRoot1/2020-1/11/12a8fc8d-6c2a-4436-b2d2-305868c6ae26/12a8fc8d-6c2a-4436-b2d2-305868c6ae264.gif)
![課程表APP的具體實現(xiàn).doc_第5頁](http://file.renrendoc.com/FileRoot1/2020-1/11/12a8fc8d-6c2a-4436-b2d2-305868c6ae26/12a8fc8d-6c2a-4436-b2d2-305868c6ae265.gif)
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
天津大學Android項目實訓文檔v1.0“云課堂”安卓應用的設計與實現(xiàn)Design and Implementation of the Android Application“Class-In-Cloud” (CiC)項目作者 洪智 裘實 尹樹成 指導教師 學科專業(yè) 軟件工程 培養(yǎng)單位 中軟國際技術部二一三年五月摘 要摘 要近年來,課程表的安卓應用大量出現(xiàn),但這些軟件并沒有解決“學生對于該類軟件”不斷增長的需求量的問題。人工的課程表和普通的課程表應用已經(jīng)顯得繁瑣且難以滿足大學生對于該類軟件的需求,針對于現(xiàn)狀,我們決定開發(fā)“云課堂”軟件,充分運用“云”的特點,將用戶手動的輸入大量減少,真正實現(xiàn)教學的自動化與信息化。云課堂的功能創(chuàng)新性是目前同類軟件所不具有的。利用“云”技術,本應用可從云端獲取個人課程表,無需人工輸入,省時省力又保證信息準確;也可以從云端實時獲取最新的課程講義資料,資料有更新時會自動推送通知,并提供本地個人資料共享功能。關于本應用的文件管理功能,“云課堂”將時間管理功能(課程表)與文件管理(課程資料)相結合,方便易用,可將課堂抓拍與相關課程自動關聯(lián)起來,方便日后查看,還可以將手機本地的個人筆記等資料與相應課程關聯(lián)。通過“云課堂”安卓應用的研發(fā)及應用,一方面解決目前安卓手機課程表應用無法讀取網(wǎng)絡資源,需要用戶手動輸入課程的問題,提高了用戶使用的方便性與便捷性。另一方面對于面前的應用混亂無章的本地文件管理模式來說,可以通過該系統(tǒng)平臺,引入良好的文件管理模式,合理調用手機的各種接口,提高學習的水平和質量。云課堂軟件可以廣泛地應用于學習教學的各領域,有效地提高了學生對課程安排,時間安排進行決策的可靠性、客觀性及合理性,該軟件可以作為學校教學系統(tǒng)的一種組成部分,從一個方面提高教學的自動化信息化水平,另一方面可以通過各種評估機制提高學生的自理能力,自控能力。關鍵字:課程表 文件管理 大學生AbstractAbstractIn recent years, there has been a huge amount of Android applications about curriculum, but the software does not solve the problem of the growing demand of the student for such software. Paper-based curriculum tables and general curriculum table applications have become cumbersome and difficult to use and thus not meet the needs of students for such software for the status quo. So we decided to develop this cloud in class software, to making full use of the cloud feature. The user would never need to manually input his/her curriculum table, using state-of-the-art teaching automation and information technology.Class-in-Cloud features innovative functions which no similar applications now have. . With the cloud technology, the application can obtain personal curriculum information from the cloud server. No need for human input. That saves time and ensures accuracy of the information; you can also get the latest course notes from the cloud in real-time. Data updates will automatically push notifications, as well as providing local personal data management. About this applications file management features, Class-in-Cloud have time management features (curriculum table) and document management (course material) combined with easy to use. You can take a in-class picture and have the photo automatically associated with corresponding courses, facilitating future reviewing. You can also have your local personal notes and other files associated with corresponding courses.With the Class-in-Cloud Android application, we on one hand develop a solution to the current Android curriculum application not being able to read network resources, and requiring the user to manually enter informations problem, thus promoting the convenience and usability; on the other hand, for the chaos in the field of curriculum table and file management applications, it can improve the level and quality of the students study by using the universitys system platform, the introduction of a good document management mode, and making good use of various smart-phone features.The software can be widely used in all areas of learning to teach effectively improve the students curriculum, schedule reliability of decision-making, objectivity and rationality, the software system can be used as a teaching component from one aspect of automation to improve the teaching level of information on the other hand can be assessed through a variety of mechanisms to improve students self-care ability, self-control.Key Words: curriculum table document management college students目 錄目 錄第一章 緒論1第一節(jié)論文背景及研究意義11.1.1 論文背景11.1.2 論文解決方案11.1.3 論文研究意義2第二節(jié)論文研究目標21.2.1 論文研究目標21.2.2 論文研究內容31.2.3 論文解決問題3第三節(jié)國內外研究現(xiàn)狀41.3.1 安卓手機應用發(fā)展現(xiàn)狀41.3.2 課程表相關應用發(fā)展現(xiàn)狀5第四節(jié)同類系統(tǒng)分析對比5第五節(jié)系統(tǒng)開發(fā)意義6第六節(jié)論文主要研究工作6第二章 系統(tǒng)應用技術介紹7第一節(jié)系統(tǒng)開發(fā)的生命周期72.1.1流程周期72.1.2循環(huán)周期8第二節(jié)系統(tǒng)開發(fā)的工具及技術82.2.1系統(tǒng)開發(fā)的客戶端技術82.2.2系統(tǒng)開發(fā)的云端應用技術11第三節(jié)系統(tǒng)開發(fā)的方法和模型132.3.1系統(tǒng)基本的架構思路(MVC模式)142.3.2云端管理模塊142.3.3通信模塊14第三章 系統(tǒng)需求分析16第一節(jié)軟件需求定義16第二節(jié)功能需求分析163.2.1 系統(tǒng)功能需求163.2.2 云端管理模塊183,2.3 通信模塊193.2.4 本地課程管理模塊193.2.5 本地文件管理模塊213.2.6 輔助支持模塊23第三節(jié)系統(tǒng)部署與實施分析23第四節(jié)系統(tǒng)可行性分析233.4.1 可行性研究233.4.2 技術可行性分析243.4.3 操作可行性24第五節(jié)本章小結24第四章 用戶界面設計25第一節(jié)界面設計工具介紹25第二節(jié)界面詳細設計264.2.1 主界面設計264.2.2 登陸界面設計274.2.3 課程資料界面本地資料設計284.2.4 課程資料界面云端資料設計294.2.5 課程資料界面云端詳情設計30第三節(jié) 界面詳細設計36第四節(jié) 本章小結37第五章 系統(tǒng)數(shù)據(jù)庫設計38第一節(jié)數(shù)據(jù)庫及建模工具介紹385.1.1 數(shù)據(jù)庫簡介385.1.2 數(shù)據(jù)庫建模工具簡介395.1.3 MySQL GUI Tools開發(fā)工具簡介39第二節(jié)數(shù)據(jù)庫總體建模設計405.2.1 數(shù)據(jù)庫總體設計思路405.2.2 數(shù)據(jù)庫概念數(shù)據(jù)模型CDM(Conceptual Data Model)40第三節(jié)系統(tǒng)數(shù)據(jù)庫數(shù)據(jù)字典及ER圖415.3.1 數(shù)據(jù)庫設計的特色414.2.11數(shù)據(jù)表ER圖及數(shù)據(jù)字典41第四節(jié)本章小結45第六章 模塊詳細設計46第一節(jié) 模塊詳細設計與代碼實現(xiàn)466.1.1 云端管理模塊466.1.2 通信模塊486.1.3 本地課程管理模塊506.1.4 本地文件管理模塊536.1.5 輔助支持模塊56第二節(jié) 本章小結58第七章 總結與展望59第一章 緒論第一章 緒論隨著智能手機在大學生群體的廣泛普及和云技術的普遍應用以及互聯(lián)網(wǎng)的發(fā)展,Wi-Fi熱點已經(jīng)能覆蓋很大部分的學校區(qū)域,人工的課程表和普通的課程表應用已經(jīng)顯得繁瑣且難以滿足大學生對于該類軟件的需求。云課堂軟件(classes in cloud,簡稱CIC)在信息化高度發(fā)展的今天為在校學生提供了更全面的幫助,將“云”技術融入課程表,將時間管理和文件管理結合為一體。第一節(jié) 論文背景及研究意義1.1.1 論文背景近年來,課程表的安卓應用大量出現(xiàn),但這些軟件并沒有解決“學生對于該類軟件”不斷增長的需求量的問題。人工的課程表和普通的課程表應用已經(jīng)顯得繁瑣且難以滿足大學生對于該類軟件的需求,針對于現(xiàn)狀,我們決定開發(fā)“云課堂”軟件,充分運用“云”的特點,將用戶手動的輸入大量減少,真正實現(xiàn)教學的自動化與信息化。隨著智能手機在大學生群體的廣泛普及和云技術的普遍應用以及互聯(lián)網(wǎng)的發(fā)展,Wi-Fi熱點已經(jīng)能覆蓋很大部分的學校區(qū)域,云課堂在信息化高度發(fā)展的今天為在校學生提供了更全面的幫助,將“云”技術融入課程表,將時間管理和文件管理結合為一體。在傳統(tǒng)的類似軟件中,用戶需要手動輸入課程或者相關信息,這不僅需要用戶合理控制自己的輸入,還需對原有課程信息進行檢查。這樣的處理一方面無法對課程管理行有效的監(jiān)控,同時也未達到該類軟件的核心功能。1.1.2 論文解決方案云課堂的功能創(chuàng)新性是目前同類軟件所不具有的。利用“云”技術,本應用可從云端獲取個人課程表,無需人工輸入,省時省力又保證信息準確;也可以從云端實時獲取最新的課程講義資料,資料有更新時會自動推送通知,并提供本地個人資料共享功能。關于本應用的文件管理功能,“云課堂”將時間管理功能(課程表)與文件管理(課程資料)相結合,方便易用,可將課堂抓拍與相關課程自動關聯(lián)起來,方便日后查看,還可以將手機本地的個人筆記等資料與相應課程關聯(lián)。通過“云課堂”安卓應用的研發(fā)及應用,一方面解決目前安卓手機課程表應用無法讀取網(wǎng)絡資源,需要用戶手動輸入課程的問題,提高了用戶使用的方便性與便捷性。另一方面對于面前的應用混亂無章的本地文件管理模式來說,可以通過該系統(tǒng)平臺,引入良好的文件管理模式,合理調用手機的各種接口,提高學習的水平和質量。1.1.3 論文研究意義 綜上所述,“云課堂”安卓應用具有以下的意義: 1.共享性:云端存儲,方便師生共享資料 2.實用性:需求迫切,可為大學生解決學習中的實際問題 3.易用性:界面友好操作簡單,自動化智能化 4.創(chuàng)新性:突破傳統(tǒng)應用模式束縛,整合了課程表與文件管理功能 5.合理調用安卓系統(tǒng)的多接口,做到基本覆蓋在校大學生的對于該類軟件的要求。 6.界面的友好性,教育類軟件的友好對于該類應用的普及很關鍵,該應用的實現(xiàn)也對于發(fā)布更多的適合大學生群體的應用第二節(jié) 論文研究目標1.2.1 論文研究目標通過“云課堂”安卓應用的研發(fā)及應用,一方面解決目前安卓手機課程表應用無法讀取網(wǎng)絡資源,需要用戶手動輸入課程的問題,提高了用戶使用的方便性與便捷性。另一方面對于面前的應用混亂無章的本地文件管理模式來說,可以通過該系統(tǒng)平臺,引入良好的文件管理模式,合理調用手機的各種接口,提高學習的水平和質量。我們的開發(fā)過程將嚴格按照敏捷開發(fā)模式,注重按照項目的開發(fā)計劃,逐步完成相應的功能。1.2.2 論文研究內容從大學生的實際需求出發(fā),為了有效提高課程表應用的信息化水平,滿足日益增長的大學生需求,因此將系統(tǒng)的核心功能大體分為五個功能模塊,分別是:云端管理模塊、通信模塊、本地課程管理模塊、本地文件管理模塊、輔助支持模塊。以下對該六個核心功能模塊進行簡要說明: 模塊1:云端管理模塊管理員上傳,分享課程資源,確認課程信息的完整性,有效性。在測試版本中,本應用將選取2-3個專業(yè)作為實驗。 模塊2:通信模塊本地信息與“云端”的交互。主要是用戶通過網(wǎng)絡,連接到服務器,下載相對應的資源,更新本地的課程信息,實現(xiàn)資源的同步。 模塊3:本地課程管理模塊根據(jù)下載的課程信息,整合本地課程表,并在合適時間對用戶做出適當?shù)奶嵝选?模塊4:本地文件管理模塊包括本地的拍照管理和資料管理,會調用安卓系統(tǒng)攝像頭API 模塊5:輔助支持模塊系統(tǒng)的其他拓展功能。1.2.3 論文解決問題系統(tǒng)從功能結構上具有很多特色性的模塊,首先,對其進行仔細的功能和流程分析是關鍵點之一;其次,有效地將各模塊數(shù)據(jù)進行歸納、提取、匯總,并將有效的數(shù)據(jù)提供給其他模塊使用也是核心問題之一;再次,數(shù)據(jù)庫的選取和表結構的設計也是關鍵環(huán)節(jié),其奠定了功能的最終實現(xiàn)效果,也決定了編碼過程中的難度。因此將擬解決的問題分為如下幾個方面進行闡述:1) 系統(tǒng)結構設計問題本應用針對于安卓系統(tǒng)開發(fā)的一般性要求,采用B/S結構,對于安卓客戶端的開發(fā),注重將各模塊獨立。2) 系統(tǒng)功能設計問題本系統(tǒng)功能相對分散,我們可通過詳細的UML建模進行分析和明確,保證系統(tǒng)軟件的定義和設計,為系統(tǒng)開發(fā)打下堅實的基礎。3) 數(shù)據(jù)庫設計問題通過建模工具對數(shù)據(jù)庫進行建模分析,明確數(shù)據(jù)表的結構和他們之間的映射關系,根據(jù)系統(tǒng)分析確定存儲過程等相關數(shù)據(jù)庫對象的設計,形成明確的數(shù)據(jù)庫文檔,為開發(fā)提供有效的文字依據(jù)。綜上所述,“云課堂”的實現(xiàn)主要針對各功能模塊的主體實現(xiàn)代碼和系統(tǒng)實際操作,進行了綜合介紹,采用了系統(tǒng)截圖、系統(tǒng)代碼和語言說明結合的方式,全方位描述系統(tǒng)的實現(xiàn)。為系統(tǒng)的測試和正式使用提供了詳細的文檔支持。第三節(jié) 國內外研究現(xiàn)狀1.3.1 安卓手機應用發(fā)展現(xiàn)狀Android系統(tǒng)自推出以來,就以明顯的優(yōu)勢逐漸擴大自大的市場份額,尤其在國外,其呼聲日高,可謂是如日中天,正處于蓬勃發(fā)展的開拓階段。據(jù)業(yè)內人士分析,隨著Android系統(tǒng)相應軟件的不斷開發(fā)應用,選擇Android系統(tǒng)手機或者無線終端設備的人會越來越多,其市場霸主的地位在更新更好的系統(tǒng)出現(xiàn)之前是不可動搖地。中國是世界上最大的手機銷費國。由于3G業(yè)務的不斷推廣,對整個手機業(yè)起大了巨大的促進作用,當前國內手機市場正在快速向智能手機推進,而Android系統(tǒng)無疑是最大的市場需求。各大中小型手機制造商近兩年都在引入Android工程師,開發(fā)基于Android系統(tǒng)的智能手機。1.3.2 課程表相關應用發(fā)展現(xiàn)狀課程表的發(fā)展已經(jīng)經(jīng)歷從“手寫”到“手動輸入”的跨越,國內擁有著一批類似課程表或者是時間管理的的軟件,他們都分別實現(xiàn)了資源的在線分享以及實時教學等功能,但是這些系統(tǒng)都是片段性的系統(tǒng),不能與如今大學生最渴望最貼切的實際需求相符合,需要將這些系統(tǒng)的一些特色進行綜合使用。我們設計的軟件將課程表從“手動輸入“到”自動輸入”的轉變,用戶從“云端”斷區(qū)相關信息。第四節(jié) 同類系統(tǒng)分析對比國內擁有著一批類似課程表或者是時間管理的的軟件,他們都分別實現(xiàn)了資源的在線分享以及實時教學等功能,但是這些系統(tǒng)都是片段性的系統(tǒng),不能與如今大學生最渴望最貼切的實際需求相符合,需要將這些系統(tǒng)的一些特色進行綜合使用。在國內,一些類似的軟件如課程格子,大學課程表,ES文件管理器等都是不錯的軟件。 課程格子可以添加課程能夠按每日/全周瀏覽課程實現(xiàn)了同班同學課程信息共享的功能 大學課程表有時間和地點的課程表軟件!解決了紛繁復雜的課程和地點讓學生頭痛的問題。有了這個課表軟件,不要再為今天在哪里上什么課發(fā)愁了。該小工具可以幫你記錄課表信息,編輯 修改 刪除等操作。 ES文件管理器點擊就可以播放音樂,點擊就可以播放視頻, 點擊就可以查看圖片,點擊就可以閱讀文檔, 點擊就可以安裝應用,點擊就可以查看壓縮, 點擊就可以進行搜索,點擊就可以更改視圖.綜上所述,每個產品都有其各自的特色和功能。我們需要將其進行整合,提起去優(yōu)秀的部分,并結合我們調查的大學生對于該類軟件的實際需求搭建一個符合自身的軟件。第五節(jié) 系統(tǒng)開發(fā)意義云課堂軟件可以廣泛地應用于學習教學的各領域,有效地提高了學生對課程安排,時間安排進行決策的可靠性、客觀性及合理性,該軟件可以作為學校教學系統(tǒng)的一種組成部分,從一個方面提高教學的自動化信息化水平,另一方面可以通過各種評估機制提高學生的自理能力,自控能力。綜上所述,“云課堂”安卓應用具有以下的意義:1.共享性:云端存儲,方便師生共享資料2.實用性:需求迫切,可為大學生解決學習中的實際問題3.易用性:界面友好操作簡單,自動化智能化4.創(chuàng)新性:突破傳統(tǒng)應用模式束縛,整合了課程表與文件管理功能5.合理調用安卓系統(tǒng)的多接口,做到基本覆蓋在校大學生的對于該類軟件的要求。6.界面的友好性,教育類軟件的友好對于該類應用的普及很關鍵,該應用的實現(xiàn)也對于發(fā)布更多的適合大學生群體的應用7.“云課堂”用戶目標群體明確,大學生的創(chuàng)造力豐富,可以對于該應用的功能和美化提出更多的合理化建議。第六節(jié) 論文主要研究工作在本次論文中遵循軟件工程的標準流程,從項目軟件定義、需求分析開始,深入了解相關流程并進行分析,并運用各種工具完成相關系統(tǒng)建模的工作,在明確需求后對數(shù)據(jù)庫的分析和設計進行反復推敲,最終進行項目框架及業(yè)務流程成的搭建和實現(xiàn),在開發(fā)過程中對各階段代碼進行測試和調優(yōu)。6第二章 系統(tǒng)應用技術介紹第二章 系統(tǒng)應用技術介紹第一節(jié) 系統(tǒng)開發(fā)的生命周期開發(fā)一個新的系統(tǒng)或升級一個現(xiàn)有系統(tǒng)的過程叫做生命周期。在這個周期中,一個新的網(wǎng)絡或新的特征被設計、實現(xiàn)和維護。這個過程在升級后又重新開始??梢钥闯觯@種周期與軟件工程及系統(tǒng)分析的周期很相似。盡管沒有哪個生命周期能完美地描述所有項目,但有兩種基本的生命周期模型得到了軟件工程師們的認可:流程周期和循環(huán)周期。它們對所有網(wǎng)絡工程項目都有一定程度的描述。2.1.1流程周期流程周期由不同的階段定義。不同的基于流程模型的過程在不同的階段有不同的名字,但它們在一定程度上遵循以下幾個步驟:(1)分析規(guī)劃,(2)設計,(3)施工,(4)管理與測試,(5)運行。這種生命周期叫做一個流程,工作從一個階段“流到”下一個階段。系統(tǒng)投入正式運行后,生命周期就會因為更新而重新開始。但按照流程模型開發(fā)時,每個階段必須在下一個階段開始之前完成,要回到前一個階段一般是不允許的。在當前開發(fā)周期中,做不到的將被安排在下一個周期.當不允許返回前面的階段時,經(jīng)常會有一些不良影響:工期會被拖延,而且常常會帶來嚴重的超支。流程周期的主要好處是所有計劃在較早的階段完成,該系統(tǒng)所有角色都知道具體的情況以及工作進展。這樣可以較早知道工期,協(xié)調起來更加簡單。盡管流程方法的固定性得到了很多開發(fā)者的認同,但管顯得死板,除非是做很小的項目。而且在項目完成之前,其需求往往會變化,流程周期不靈活的缺點使得開發(fā)變得困難。2.1.2循環(huán)周期循環(huán)周期是流程周期的變種。它比流程周期出現(xiàn)得晚,目的在于克服流程周期的限制。這種周期常用于多版本軟件開發(fā)項目中,但是它的一些原則也可以用于網(wǎng)絡工程的開發(fā)中。循環(huán)周期的指導性原則是變化管理。與流程周期不同,循環(huán)周期可以很快適應新的需求。這是通過幾次重復所有階段來實現(xiàn)的,每個輪回產生一個新版本。通過在網(wǎng)絡工程設計中的每個輪回完成最終性能的一個子集,用戶就有機會在項目完成前反饋他們的意見,并在新的一輪中意見被考慮。在每次輪回中,都會有新的性能被加入,原先的問題被修正。盡管循環(huán)生命周期在處理變化的需求方面優(yōu)于流程周期,但它也有明顯的不足。因為沒有辦法預知用戶會再要求什么,就很難估計最終經(jīng)費和完成時間。而且,需要更長時間來開發(fā),主要性能也很難完成。更重要的是,按循環(huán)周期法進行開發(fā),很容易陷入無休止的更新中。第二節(jié) 系統(tǒng)開發(fā)的工具及技術2.2.1 系統(tǒng)開發(fā)的客戶端技術隨著智能手機在大學生群體的廣泛普及安卓應用編程的推廣,越來越多的編程人員進入該領域編寫代碼。在客戶端中,主要運用android編程語言進行編寫實現(xiàn)改部分的功能。云端(服務器端): 開發(fā)工具介紹 Photoshop圖形圖像處理工具Adobe Photoshop,簡稱“PS”,是一個由Adobe Systems開發(fā)和發(fā)行的圖像處理軟件。Photoshop主要處理以像素所構成的數(shù)字圖像。使用其眾多的編修與繪圖工具,可以更有效的進行圖片編輯工作。2003年,Adobe將Adobe Photoshop 8更名為Adobe Photoshop CS。因此,最新版本Adobe Photoshop CS6是Adobe Photoshop中的第13個主要版本。從功能上看,該軟件可分為圖像編輯、圖像合成、校色調色及特效制作部分等。圖像編輯是圖像處理的基礎,可以對圖像做各種變換如放大、縮小、旋轉、傾斜、鏡像、透視等。也可進行復制、去除斑點、修補、修飾圖像的殘損等。這在婚紗攝影、人像處理制作中有非常大的用場,去除人像上不滿意的部分,進行美化加工,得到讓人非常滿意的效果。在項目開發(fā)過程中,我們隊PS的應用主要是在于andriod應用中各圖片的修飾與美觀。 Eclipse集成開發(fā)環(huán)境Eclipse 是一個開放源代碼的、基于Java的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務,用于通過插件組件構建開發(fā)環(huán)境。幸運的是,Eclipse 附帶了一個標準的插件集,包括Java開發(fā)工具(Java Development Kit,JDK)。雖然大多數(shù)用戶很樂于將 Eclipse 當作 Java 集成開發(fā)環(huán)境(IDE)來使用,但 Eclipse 的目標卻不僅限于此。Eclipse 還包括插件開發(fā)環(huán)境(Plug-in Development Environment,PDE),這個組件主要針對希望擴展 Eclipse 的軟件開發(fā)人員,因為它允許他們構建與 Eclipse 環(huán)境無縫集成的工具。由于 Eclipse 中的每樣東西都是插件,對于給 Eclipse 提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所。這種平等和一致性并不僅限于 Java 開發(fā)工具。盡管 Eclipse 是使用Java語言開發(fā)的,但它的用途并不限于 Java 語言;例如,支持諸如C/C+、COBOL、PHP等編程語言的插件已經(jīng)可用,或預計將會推出。Eclipse 框架還可用來作為與軟件開發(fā)無關的其他應用程序類型的基礎,比如內容管理系統(tǒng)?;?Eclipse 的應用程序的一個突出例子是 IBM Rational Software Architect,它構成了 IBM Java 開發(fā)工具系列的基礎。 Android SDK ToolsAndroid SDk Tool軟件開發(fā)工具包(software development kit)。被軟件開發(fā)工程師用于為特定的軟件包、軟件框架、硬件平臺、操作系統(tǒng)等建立應用軟件的開發(fā)工具的集合,是Android專屬的軟件開發(fā)工具包。開發(fā)環(huán)境Eclipse IDEEclipse 3.3 (Europa), 3.4 (Ganymede)Eclipse JDT 插件 (大多數(shù)的 Eclipse IDE 包包含)WST (可選,但Android編輯器的功能需要,它被包含在most Eclipse IDE packages 中)JDK 5 或 JDK 6 (只有JRE是不夠的)Android Development Tools 插件 (可選 )不兼容GNU Java編譯器(gcj) 開發(fā)技術介紹 網(wǎng)絡通信技術通俗地說,網(wǎng)絡協(xié)議就是網(wǎng)絡之間溝通、交流的橋梁,只有相同網(wǎng)絡協(xié)議的計算機才能進行信息的溝通與交流。這就好比人與人之間交流所使用的各種語言一樣,只有使用相同語言才能正常、順 網(wǎng)絡通信利地進行交流。從專業(yè)角度定義,網(wǎng)絡協(xié)議是計算機在網(wǎng)絡中實現(xiàn)通信時必須遵守的約定,也就是通信協(xié)議。主要是對信息傳輸?shù)乃俾?、傳輸代碼、代碼結構、傳輸控制步驟、出錯控制等作出規(guī)定并制定出標準。 多線程技術在計算機編程中,一個基本的概念就是同時對多個任務加以控制。許多程序設計問題都要求程序能夠停下手頭的工作,改為處理其他一些問題,再返回主進程。可以通過多種途徑達到這個目的。最開始的時候,那些掌握機器低級語言的程序員編寫一些“中斷服務例程”,主進程的暫停是通過硬件級的中斷實現(xiàn)的。盡管這是一種有用的方法,但編出的程序很難移植,由此造成了另一類的代價高昂問題。中斷對那些實時性很強的任務來說是很有必要的。但對于其他許多問題,只要求將問題劃分進入獨立運行的程序片斷中,使整個程序能更迅速地響應用戶的請求。最開始,線程只是用于分配單個處理器的處理時間的一種工具。但假如操作系統(tǒng)本身支持多個處理器,那么每個線程都可分配給一個不同的處理器,真正進入“并行運算”狀態(tài)。從程序設計語言的角度看,多線程操作最有價值的特性之一就是程序員不必關心到底使用了多少個處理器。程序在邏輯意義上被分割為數(shù)個線程;假如機器本身安裝了多個處理器,那么程序會運行得更快,毋需作出任何特殊的調校。根據(jù)前面的論述,大家可能感覺線程處理非常簡單。但必須注意一個問題:共享資源!如果有多個線程同時運行,而且它們試圖訪問相同的資源,就會遇到一個問題。舉個例子來說,兩個線程不能將信息同時發(fā)送給一臺打印機。為解決這個問題,對那些可共享的資源來說(比如打印機),它們在使用期間必須進入鎖定狀態(tài)。所以一個線程可將資源鎖定,在完成了它的任務后,再解開(釋放)這個鎖,使其他線程可以接著使用同樣的資源。多線程是為了同步完成多項任務,不是為了提高運行效率,而是為了提高資源使用效率來提高系統(tǒng)的效率。線程是在同一時間需要完成多項任務的時候實現(xiàn)的。 SQL數(shù)據(jù)庫技術結構化查詢語言(Structured Query Language)簡稱SQL,結構化查詢語言是一種數(shù)據(jù)庫查詢和程序設計語言,用于存取數(shù)據(jù)以及查詢、更新和管理關系數(shù)據(jù)庫系統(tǒng);同時也是數(shù)據(jù)庫腳本文件的擴展名。結構化查詢語言是高級的非過程化編程語言,允許用戶在高層數(shù)據(jù)結構上工作。它不要求用戶指定對數(shù)據(jù)的存放方法,也不需要用戶了解具體的數(shù)據(jù)存放方式,所以具有完全不同底層結構的不同數(shù)據(jù)庫系統(tǒng)可以使用相同的結構化查詢語言語言作為數(shù)據(jù)輸入與管理的接口。結構化查詢語言語句可以嵌套,這使他具有極大的靈活性和強大的功能。 Android手機端運用的相關技術綜合利用android開發(fā)的各種技術,如service,socket,notation等。2.2.2 系統(tǒng)開發(fā)的云端應用技術云計算指服務的交付和使用模式,指通過網(wǎng)絡以按需、易擴展的方式獲得所需服務。這種服務可以是IT和軟件、互聯(lián)網(wǎng)相關,也可是其他服務。在服務器端中,我們將運用java編程語言,其中重點實現(xiàn)“網(wǎng)絡通信”“多線程”等特點。云端主要有以下幾個對象層組成,其中包括數(shù)據(jù)訪問層,數(shù)據(jù)訪問層的核心作用是實現(xiàn)對數(shù)據(jù)庫的各種增刪改查操作,也就是數(shù)據(jù)持久化操作,同時根據(jù)項目的實際需求完成對數(shù)據(jù)庫對象存儲過程的各種調用方法。 開發(fā)工具介紹Eclipse集成開發(fā)環(huán)境是本項目的核心開發(fā)平臺,作為一個主流的Java開發(fā)環(huán)境,其將項目的開發(fā)、測試、部署和運行完美地融合到整個平臺系統(tǒng)中。Eclipse有IBM核心開發(fā),其最為SUN公司Java語言的主流開發(fā)平臺廣泛地在各公司中應用,其免費的特性和豐富的插件成為了該平臺的主要特色。Eclipse以插件形式裝載各種使用開發(fā)功能,不僅支持Java語言的應用開發(fā),開可以通過插件的更新和下載實現(xiàn)對C/C+以及PHP等語言的應用開發(fā),同時在JavaWeb應用開發(fā)中提供了豐富的中間件服務支持,只需在工具中配置相應的中間件服務器,就可以快速一鍵式完成項目的部署與服務器的啟動,并且自動開啟所默認綁定的瀏覽器完成項目的功能預覽。其豐富的功能和強大的插件模式為開發(fā)人員快速的配置定制開發(fā)平臺提供有力的技術支撐。該平臺為開發(fā)者提供了測試模式運行,快速便捷的定位的調試以及容錯處理機制為快速開發(fā)和調試提供良好的平臺環(huán)境。同時利用豐富的快捷鍵機制幫助開發(fā)人員快速生成相關的代碼并付輔助編程人員對代碼進行異常處理等操作。Eclipse切實地成為了Java程序員進行項目開發(fā)良好的工具。 開發(fā)技術介紹 網(wǎng)絡通信技術通俗地說,網(wǎng)絡協(xié)議就是網(wǎng)絡之間溝通、交流的橋梁,只有相同網(wǎng)絡協(xié)議的計算機才能進行信息的溝通與交流。這就好比人與人之間交流所使用的各種語言一樣,只有使用相同語言才能正常、順 網(wǎng)絡通信利地進行交流。從專業(yè)角度定義,網(wǎng)絡協(xié)議是計算機在網(wǎng)絡中實現(xiàn)通信時必須遵守的約定,也就是通信協(xié)議。主要是對信息傳輸?shù)乃俾省鬏敶a、代碼結構、傳輸控制步驟、出錯控制等作出規(guī)定并制定出標準。 多線程技術在計算機編程中,一個基本的概念就是同時對多個任務加以控制。許多程序設計問題都要求程序能夠停下手頭的工作,改為處理其他一些問題,再返回主進程??梢酝ㄟ^多種途徑達到這個目的。最開始的時候,那些掌握機器低級語言的程序員編寫一些“中斷服務例程”,主進程的暫停是通過硬件級的中斷實現(xiàn)的。盡管這是一種有用的方法,但編出的程序很難移植,由此造成了另一類的代價高昂問題。中斷對那些實時性很強的任務來說是很有必要的。但對于其他許多問題,只要求將問題劃分進入獨立運行的程序片斷中,使整個程序能更迅速地響應用戶的請求。最開始,線程只是用于分配單個處理器的處理時間的一種工具。但假如操作系統(tǒng)本身支持多個處理器,那么每個線程都可分配給一個不同的處理器,真正進入“并行運算”狀態(tài)。從程序設計語言的角度看,多線程操作最有價值的特性之一就是程序員不必關心到底使用了多少個處理器。程序在邏輯意義上被分割為數(shù)個線程;假如機器本身安裝了多個處理器,那么程序會運行得更快,毋需作出任何特殊的調校。根據(jù)前面的論述,大家可能感覺線程處理非常簡單。但必須注意一個問題:共享資源!如果有多個線程同時運行,而且它們試圖訪問相同的資源,就會遇到一個問題。舉個例子來說,兩個線程不能將信息同時發(fā)送給一臺打印機。為解決這個問題,對那些可共享的資源來說(比如打印機),它們在使用期間必須進入鎖定狀態(tài)。所以一個線程可將資源鎖定,在完成了它的任務后,再解開(釋放)這個鎖,使其他線程可以接著使用同樣的資源。多線程是為了同步完成多項任務,不是為了提高運行效率,而是為了提高資源使用效率來提高系統(tǒng)的效率。線程是在同一時間需要完成多項任務的時候實現(xiàn)的。 SQL數(shù)據(jù)庫技術結構化查詢語言(Structured Query Language)簡稱SQL,結構化查詢語言是一種數(shù)據(jù)庫查詢和程序設計語言,用于存取數(shù)據(jù)以及查詢、更新和管理關系數(shù)據(jù)庫系統(tǒng);同時也是數(shù)據(jù)庫腳本文件的擴展名。結構化查詢語言是高級的非過程化編程語言,允許用戶在高層數(shù)據(jù)結構上工作。它不要求用戶指定對數(shù)據(jù)的存放方法,也不需要用戶了解具體的數(shù)據(jù)存放方式,所以具有完全不同底層結構的不同數(shù)據(jù)庫系統(tǒng)可以使用相同的結構化查詢語言語言作為數(shù)據(jù)輸入與管理的接口。結構化查詢語言語句可以嵌套,這使他具有極大的靈活性和強大的功能。第三節(jié) 系統(tǒng)開發(fā)的方法和模型2.3.1系統(tǒng)基本的架構思路(MVC模式)MVC是一種設計模式(Design Pattern),用以描述應用程序的結構以及結構中各部分的職責和交互方式。它最先是在1979年的時候第一次被人提出,不過,當時環(huán)境有些不同,網(wǎng)絡應用的概念在當時還不存在。提姆伯納斯李在上世紀九十年代初期的時候播種下了萬維網(wǎng)(WWW)的種子,并永遠的改變了世界。應用程序被分成了五個主要的模塊,每個部分負責掌管不同的任務。下面讓我們看看詳細的解釋。 模塊1:云端管理模塊管理員上傳,分享課程資源,確認課程信息的完整性,有效性。在測試版本中,本應用將選取2-3個專業(yè)作為實驗。 模塊2:通信模塊本地信息與“云端”的交互。主要是用戶通過網(wǎng)絡,連接到服務器,下載相對應的資源,更新本地的課程信息,實現(xiàn)資源的同步。 模塊3:本地課程管理模塊根據(jù)下載的課程信息,整合本地課程表,并在合適時間對用戶做出適當?shù)奶嵝选?模塊4:本地文件管理模塊包括本地的拍照管理和資料管理,會調用安卓系統(tǒng)攝像頭API 模塊5:輔助支持模塊系統(tǒng)的其他拓展功能。2.3.2云端管理模塊此部分側重對服務器端的教學資源和課程信息進行管理,管理員上傳,分享課程資源,確認課程信息的完整性,有效性。在此模塊中,運用java編程語言與sql技術,將項目文件與數(shù)據(jù)庫相聯(lián)系,進行資源的控制處理。2.3.3 通信模塊在此模塊中,不僅是對服務器的端連接,也包括對安卓手機客戶端的socket編程。本地信息與“云端”的交互。主要是用戶通過網(wǎng)絡,連接到服務器,下載相對應的資源,更新本地的課程信息,實現(xiàn)資源的同步。在對教學信息上下行的實踐中,還需特別注意實現(xiàn)各部分的異步關系,決不能讓用戶間相互影響。業(yè)務邏輯層實際上是對DAO層的整合,應為項目開發(fā)過程中Biz層的創(chuàng)建取決于業(yè)務的分析,而每個業(yè)務可能會有很多數(shù)據(jù)表的各種操作的隨意組合,而Biz層的重組直接為控制器層提供各種業(yè)務分析。本項目設計過程中Biz重點是對PO層實體類對象對數(shù)據(jù)庫CRUD操作的二次封裝,同時對項目的某些操作進行DAO層重新組合,從而達到系統(tǒng)的統(tǒng)一和復用。2.3.4本地課程管理模塊在此模塊中,根據(jù)下載的課程信息,整合本地課程表,并在合適時間對用戶做出適當?shù)奶嵝?。此部分側重手機端應用對于用戶的觀感,界面友好。2.3.5本地文件管理模塊包括本地的拍照管理和資料管理,會調用安卓系統(tǒng)攝像頭API。在此模塊中,用戶對于得到的資源(不管是從網(wǎng)上獲取還是從本地直接獲?。M行類似于“ES文件管理器”一樣的歸檔分類等控制操作。2.3.6輔助支持模塊此模塊實現(xiàn)系統(tǒng)的其他拓展功能。包括界面的優(yōu)化,人際交互的通暢性以及確保應用對于用戶的I/O的快速反應。15第六章 模塊詳細設計第三章 系統(tǒng)需求分析本云課堂應用主要為了是滿足當今廣大學生利用手機對課堂資源進行個性化管理的需求,而非是現(xiàn)在人們常用的時間管理軟件,針對于學生用戶最需要核心業(yè)務進行開發(fā)。本章通過對個核心功能模塊的分析闡明具體的業(yè)務需求。第一節(jié) 軟件需求定義為了使本應用更好地服務當下學生用戶對于課程管理和資料管理的需求,本應用CIC有機地將課程管理和課程資料結合在一起,為學生用戶提供方便快捷的服務。為了更加方便的開發(fā)本應用,應用采用MVC模式進行開發(fā),將應用程序劃分為多個模塊,以降低程序的耦合度,將系統(tǒng)結構分為云端管理模塊、通信模塊、本地課程管理模塊、本地文件管理模塊,輔助支持模塊。通過模塊化,清晰明確各模塊的功能職責,對項目今后開發(fā)的穩(wěn)定性提供有效的支持。數(shù)據(jù)庫選取MySQL數(shù)據(jù)庫,該數(shù)據(jù)的并發(fā)處理能力符合當前系統(tǒng)的應用需求。Web服務器使用企業(yè)主流的開源免費的Tomcat服務器,其負載均衡及并發(fā)處理量符合當前系統(tǒng)的實際應用需求。開發(fā)工具采用企業(yè)主流的Eclipse IDE工具,在建模方面使用PowerDesinger和Rational Rose分別進行數(shù)據(jù)庫建模以及系統(tǒng)功能和流程建模。第二節(jié) 功能需求分析3.2.1 系統(tǒng)功能需求本應用共分為五大模塊:云端管理模塊、通信模塊、本地課程管理模塊、本地文件管理模塊,輔助支持模塊。本云課堂應用可以滿足當今廣大學生利用手機對課堂資源進行個性化管理的需求。圖3.1:系統(tǒng)頂層數(shù)據(jù)流圖系統(tǒng)的使用者大體分為三類,從而決定的系統(tǒng)的參與者總共有三類,一類是管理員,一類是學生,一類是老師,由于身份不同因此權限不同,從而導致每類參閱這的操作動作也有所不同,下面通過用例圖闡述系統(tǒng)的參與者及各類操作之間的關系。圖3.2:系統(tǒng)用例圖分析3.2.2 云端管理模塊具體功能分為以下幾個部分:1) 資源上傳:管理員上傳分享資料2) 資源驗證:管理員確認課程信息的完整性3) 刪除課程4) 設定課程教師5) 瀏覽課程6) 添加課程 在云端主要操作由管理員完成,模塊用例圖如下:圖3.3:云端數(shù)據(jù)用例圖3,2.3 通信模塊本地信息與“云端”的交互。主要是用戶通過網(wǎng)絡,連接到服務器,下載相對應的資源,更新本地的課程信息,實現(xiàn)資源的同步。核心功能分為以下幾個部分:1) 連接網(wǎng)絡:用戶通過網(wǎng)絡連接到服務器。2) 資源下載:用戶在服務器上選擇并下載所需要自己的資料。3) 資源同步:更新用戶可以訪問到的數(shù)據(jù)。 該模塊的主要是學生通過課程名稱在云端下載資料文件。數(shù)據(jù)流圖如下:圖3.4:數(shù)據(jù)流圖3.2.4 本地課程管理模塊根據(jù)下載的課程信息,整合本地課程表,并在合適時間對用戶做出適當?shù)奶嵝?,具體的功能分為以下幾個部分:1) 下載課程2) 整合本地課程表:可以根據(jù)具體需求對知識庫內容進行定期的更新。3) 實時提醒:根據(jù)課程時間以及用戶的自定義設置,應用在適當時間對用戶進行提醒。 該模塊主要為了完成文件在本地的管理,主要有兩項操作可以選擇,瀏覽和添加信息,流程圖如下:圖3.5:本地管理流程圖該模塊的數(shù)據(jù)交互過程主要是查詢和添加信息。數(shù)據(jù)流圖如下:圖3.6:本地管理模塊數(shù)據(jù)流圖3.2.5 本地文件管理模塊該模塊的主要完成包括本地的拍照管理和資料管理,會調用安卓系統(tǒng)攝像頭API。具體的功能如下:1) 本地拍照:在課上通過應用拍照2) 照片管理:將拍的照片根據(jù)時間,課程自動分類管理,便于日后查看。 該模塊是本應用一個很重要的功能,智能對在不同課程上所拍的照片進行分類管理,以達到減輕了學生用戶在查找過去課上所拍照片的記憶負擔和時間負擔。流程圖如下:圖3.7:本地文件管理流程圖圖圖3.8:本地數(shù)據(jù)管理流程圖3.2.6 輔助支持模塊此模塊實現(xiàn)系統(tǒng)的其他拓展功能。包括界面的優(yōu)化,人際交互的通暢性以及確保應用對于用戶的I/O的快速反應。第三節(jié) 系統(tǒng)部署與實施分析該應用采用C/S結構進行設計,方便系統(tǒng)的部署和運維,數(shù)據(jù)管理系統(tǒng)中,通過數(shù)據(jù)表和表間關系建立有力的數(shù)據(jù)結構并對系統(tǒng)提供高效數(shù)據(jù)存儲和數(shù)據(jù)檢索等相關操作。將應用項目部署到應用服務器中,使得安裝和部署簡化,大幅度降低了項目運維的復雜度,各客戶端通過TCP/IP網(wǎng)絡協(xié)議進行數(shù)據(jù)交互。第四節(jié) 系統(tǒng)可行性分析隨著智能手機在大學生群體的廣泛普及和云技術的普遍應用以及互聯(lián)網(wǎng)的發(fā)展,Wi-Fi熱點已經(jīng)能覆蓋很大部分的學校區(qū)域,人工的課程表和普通的課程表應用已經(jīng)顯得繁瑣且難以滿足大學生對于該類軟件的需求。云課堂軟件(classes in cloud,簡稱CIC)在信息化高度發(fā)展的今天為在校學生提供了更全面的幫助,將“云”技術融入課程表,將時間管理和文件管理結合為一體,有效地解決了學生用戶對于課程管理的需求。3.4.1 可行性研究開發(fā)一個基于C/S網(wǎng)絡信息化應用平臺會受到很多客觀因素的限制(如適
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度建筑工程施工合同索賠流程及賠償標準規(guī)范文本
- 2025年度電子工程師研發(fā)項目合作合同
- 2025年度酒店物業(yè)管理合同規(guī)范文本
- 遼寧2024年渤海大學附屬高級中學招聘人筆試歷年參考題庫附帶答案詳解
- 菏澤2025年山東菏澤醫(yī)專附屬醫(yī)院招聘精神科住院醫(yī)師2人筆試歷年參考題庫附帶答案詳解
- 湖南2025年湖南省住房和城鄉(xiāng)建設廳所屬事業(yè)單位選調筆試歷年參考題庫附帶答案詳解
- 溫州2024年浙江溫州蒼南縣質量技術監(jiān)督檢測院招聘食品檢測工作人員筆試歷年參考題庫附帶答案詳解
- 浙江浙江省國際經(jīng)濟貿易學會招聘筆試歷年參考題庫附帶答案詳解
- 2025年中國宮燈罩市場調查研究報告
- 2025年中國半自動內圓切片機市場調查研究報告
- 老年護理陪護培訓課件
- 醬香型白酒工廠設計
- 第3章 環(huán)境感知技術
- 牽引管道孔壁與管道外壁之間注漿技術方案
- 肛周膿腫完整版課件
- 公司(工廠)廠牌管理規(guī)定
- 《移動互聯(lián)網(wǎng)應用開發(fā)》課程標準
- 初一語文下冊:閱讀理解知識點整理
- 定點醫(yī)療機構接入驗收申請表
- 膿毒血癥指南
- 四年級下冊口算練習-減法簡便計算
評論
0/150
提交評論