安卓 校園活動論文_第1頁
安卓 校園活動論文_第2頁
安卓 校園活動論文_第3頁
安卓 校園活動論文_第4頁
安卓 校園活動論文_第5頁
已閱讀5頁,還剩30頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于Android平臺的校園活動軟件的設計與開發(fā)摘 要當今社會的生活節(jié)奏越來越快,人們對手機提出的要求也越來越高,由于手機市場發(fā)展迅速,手機操作系統(tǒng)也出現(xiàn)了不同種類,現(xiàn)在市場上主要有四種手機操作系統(tǒng),分別是Windows mobile,Symbian,Iphone os以及谷歌的Android操作系統(tǒng)。其中,擁有開放源代碼優(yōu)勢的Android系統(tǒng)有著最大的發(fā)展前景。安卓系統(tǒng)是當前移動應用領(lǐng)域廣泛使用使用的一種操作系統(tǒng),它廣泛使用在平板、手機及其它移動類電子設備上,由于其系統(tǒng)建立在Linux基礎上,使用java語言進行官方編程語言使得它迅速獲得普及Error! Referen

2、ce source not found.。本課題設計開發(fā)的是應用在Android手機上的校園活動APP軟件。所設計的校園活動APP軟件采用了Android開源系統(tǒng)技術(shù),在PHP開發(fā)環(huán)境下,使用PHP語言,具有一些已有校園活動APP軟件所不具備的特性。該軟件可以通過簡單的系統(tǒng)操作來實現(xiàn)物品的交易,在Android系統(tǒng)中能夠獨立的運行。關(guān)鍵詞:Android;PHP;SQLite31ABSTRACTWith the rapid proliferation of smart phones, smart phone operating system market burgeoned. To allow

3、 smartphone users to query the Internet anytime, anywhere service provided by an efficient approach is to expand the application system functionality onto mobile terminals, mobile phone to access Web sites through the mobile network and the Internet and handle a wide range of business. Therefore, th

4、e smart phone application software and services needed to have broad prospects for development. In today's smart phone system when warlords disputes that in 2008 Google launched an open-source smartphone operating system called Android, which uses the Linux kernel, the Open Handset Alliance (OHA

5、) members can use and modify any package SDK, system open-source, it has a good scalability. The software includes the operating system, user interface and applications, namely smart phone all the software needed for the work. Android's biggest feature is its open architecture, not only has a ve

6、ry good development, debugging environment, but also supports a variety of scalable user experience, including rich graphical components, multimedia support and powerful browser. Therefore, software practitioners, Android platform has unlimited appeal. In this paper, on the basis of analysis and dis

7、cussion Android mobile phone software development technology principle, developed to provide better individual billing based on Android platform mobile phone software for the user.Key words: Android; Java; SQLite目錄1緒論11.1軟件開發(fā)背景11.2軟件開發(fā)意義11.3系統(tǒng)研究內(nèi)容11.4系統(tǒng)的章節(jié)安排22系統(tǒng)涉及技術(shù)研究32.1 Android平臺簡介32.1.1 Android的基

8、本框架32.1.2 Android應用程序結(jié)構(gòu)52.2 Dalvik虛擬機72.3 Android SDK72.4 PHP技術(shù)簡介82.5 SQLite數(shù)據(jù)庫的簡介93系統(tǒng)分析93.1需求分析93.2 可行性分析123.2.1 經(jīng)濟可行性123.2.2技術(shù)上的可行性123.2.3軟硬件可行性123.2.4操作可行性123.3 系統(tǒng)設計目標133.4 系統(tǒng)結(jié)構(gòu)設計133.4 系統(tǒng)架構(gòu)類圖143.5 系統(tǒng)交互圖154系統(tǒng)詳細設計164.1 開發(fā)環(huán)境搭建164.2 流程圖的設計194.3 系統(tǒng)設計目標及數(shù)據(jù)驗證214.4 應用功能介紹及相關(guān)截圖225系統(tǒng)測試與分析275.1 系統(tǒng)測試目的275.2

9、系統(tǒng)測試環(huán)境275.3 系統(tǒng)測試方案275.4 系統(tǒng)測試結(jié)果與分析27參考文獻28致 謝29基于Android的校園活動APP軟件1 緒論1.1軟件開發(fā)背景隨著手機硬件快速升級和性能大幅提升 4G 網(wǎng)絡逐步推廣,移動互聯(lián)網(wǎng)也在高速發(fā)展。在移動互聯(lián)網(wǎng)日益普及下,網(wǎng)絡的資源共享和連通使全球正快速向信息化社會邁進。信息自動化的作用也越來越大,高效 與觸手可及的互聯(lián)網(wǎng)我們從繁雜的事務中解放出來,提高了我們的工作效率與生產(chǎn)力。另一方面,隨著移動網(wǎng)絡資費下降與網(wǎng)速飛速發(fā)展,幾乎人人都有手機,都能 廉價接入移動互聯(lián)網(wǎng),移動互聯(lián)網(wǎng)已經(jīng)成為大多數(shù)生活中的一部分。在移動互聯(lián)網(wǎng)發(fā)展逐漸成熟的大環(huán)境下,在大學這個高等

10、教育前沿陣地,如何利用手機這終端設備實現(xiàn)校園信息服務獲取這一研究很有現(xiàn)實與廣泛的研究價值。1.2軟件開發(fā)意義為了跟上現(xiàn)代日益加快的生活節(jié)奏,電子工藝技術(shù)也在飛快地發(fā)展,手機的功能也因此在不斷的豐富,從最開始出現(xiàn)的“大哥大”到現(xiàn)在的商務PDA手機,智能手機,音樂手機等等,手機的功用也從僅僅是簡單的打電話發(fā)展到了如今能夠發(fā)短信,聽歌,上網(wǎng).日益豐富的功能更加使得手機和我們的生活緊密的聯(lián)系在了一起,可以說到了人們已經(jīng)離不開手機的地步,于是手機的功能也成了人們關(guān)注的焦點。目前的手機功能已經(jīng)無法滿足人們的需求,為了滿足需求市場上出現(xiàn)了各種不同的操作系統(tǒng),Windows mobile、塞班和谷歌的Andr

11、oid操作系統(tǒng)是目前市場上最主要的三個手機操作系統(tǒng)。其中Android由于有開發(fā)源代碼的優(yōu)勢使其成為有最大的發(fā)展前景的系統(tǒng)。強大的功能,經(jīng)濟的價格,方便的操作,更重要的是開源性操作系統(tǒng)成就了安卓操作系統(tǒng)的普及。Android平臺給第三方開發(fā)商提供了一個相當寬泛、自由的環(huán)境,能夠使其不受種種條條框框的約束,由此可知,這一前提會誘使多少個新穎別致的軟件誕生。手機軟件特指在手機等各種手持硬件設備上運行的應用程序,這是需要具有一定硬件環(huán)境和一定系統(tǒng)級程序來作為運行基礎的,能夠快速簡單便利的使用軟件應用。手機軟件最大的特點就是能夠其隨時隨地進行操作。手機的大量普及,致使手機軟件市場呈現(xiàn)出一種爆炸式的發(fā)展

12、的工作狀態(tài)。1.3系統(tǒng)研究內(nèi)容選擇研究校園活動APP客戶端主要是為了解決校園的一些實際問題。在前幾年,雖然每人基本都有了個人電腦,但是想隨時隨地看學校的活動資訊還是比較痛苦的,有些突發(fā)通知不能及時知道(比如停水通知等),有些同學想知道講座信息時間地點安排但苦于沒有一個好的平臺去瀏覽。所以本課題致力于打造一款集多 種軟件功能于一身的使校園學生的生活變得更輕松、更快捷 和更方便的手機活動APP用以滿足廣大師生快節(jié)奏的學習與生活方式。研發(fā)這款校園助手Android 應用,解決同學獲取各個校園的活動,實現(xiàn) APP 在手,掌握校園事。1.4系統(tǒng)的章節(jié)安排第一章:系統(tǒng)開發(fā)的背景,意義,開發(fā)目的和研究內(nèi)容。

13、第二章:系統(tǒng)涉及到的知識點介紹。探討各種知識的關(guān)鍵點。第三章:系統(tǒng)分析。對用戶需求進行分析,數(shù)據(jù)庫分析以及對可行性進行分析。第四章:系統(tǒng)詳細設計。包括數(shù)據(jù)庫的建立,后臺服務器的編制,前臺程序的編制。第五章:對系統(tǒng)的測試與實施進行安排,列出系統(tǒng)的不足之處。2 系統(tǒng)涉及技術(shù)研究本課題的校園活動采用了Android開源系統(tǒng)技術(shù),利用PHP語言對軟件進行編寫開發(fā),可以讓用戶實現(xiàn)一些日常的貸款管理功能軟件。在系統(tǒng)的開發(fā)過程中,涉及到Android 、Php、Android SDK、Dalvik等相關(guān)理論及技術(shù),本章將對上述知識進行簡要的闡述1。2.1 Android平臺簡介在這里首先簡單地介紹下谷歌的A

14、ndroid操作系統(tǒng)。Google在2007年11月推出了一種新的智能手機平臺Android,它是由操作系統(tǒng)、中間件、用戶友好界面和應用軟件組成的,該操作系統(tǒng)號稱是首個為移動終端打造的真正開放和完整的移動軟件,該系統(tǒng)一經(jīng)推出后就引起了業(yè)界廣泛的關(guān)注。Android是一種基于Linux的自由以及開放源代碼的操作系統(tǒng),主要用在便攜設備上,安卓和其操作系統(tǒng)一樣采用了分層的架構(gòu)2。由嵌入式Linux和JAVA構(gòu)成的Android系統(tǒng)能成為目前最具可移植性的移動設備操作系統(tǒng)是其架構(gòu)和工作原理決定的。2.1.1 Android的基本框架Android作為一個的開源移動設備平臺,其軟件層次結(jié)構(gòu)如下圖所示由L

15、inux Kernel(Linux 內(nèi)核層)、Android Runtime(Android運行時庫)、Libraries(函數(shù)庫)、Application Framework(應用軟件架構(gòu))、Application(應用程序)這五部分組成。圖2-1 Android的基本架構(gòu)Linux KernelAndroid系統(tǒng)的內(nèi)核是Linux Kernel,因此具備Linux內(nèi)核的包括進程管理,內(nèi)存管理,網(wǎng)絡服務,安全機制等基本功能。內(nèi)核的主要功能是管理底層設備驅(qū)動、并為上層提供服務,是硬件層和軟件堆之間溝通的橋梁3。(2)Android Runtime Android的運行時庫包含了Java語言的運

16、行時庫的大部分功能。而每個Android程序在Dalvik虛擬機上運行,每個Dalvik虛擬機中運行著不同的程序,從而保證了多任務運行,同時解決了系統(tǒng)的安全問題。(3)LibrariesLibraries是Android系統(tǒng)中的重要的組成庫文件,C或C+語言在底層編寫這些庫文件。上一層的應用程序框架層調(diào)用這些不同功能的組件,軟件開發(fā)者通過調(diào)用這些組件簡單快速的實現(xiàn)自己需要的功能。(4)Application Framework開發(fā)者能夠方便的實現(xiàn)自己需要的功能主要通過展現(xiàn)給軟件開發(fā)者的由應用程序框架提供的系統(tǒng)集成的API接口。應用程序框架除了包括能運行軟件的基本結(jié)構(gòu),還有一些新穎的功能,像對內(nèi)

17、置全球定位系統(tǒng)決定的位置信息的訪問等4。手機軟件開發(fā)人員可以對核心應用程序的 API 框架進行完全訪問。該應用程序的架構(gòu)設計對組件的重用進行簡化,相當于任何應用程序都可以公布它的公共模塊,任何其它的應用程序也都可以使用該應用程序發(fā)布的功能塊當然是在遵循框架的安全性限制原則的基礎上進行操作。這種應用程序重用機制,用戶將可以實現(xiàn)方便、快捷地替換應用程序組件。每個應用程序后面都有相應的服務和系統(tǒng),包括的組件主要有:a.可擴展的視圖(Views):包括列表、柵格、文本框、按鈕、可嵌入的Web瀏覽器用于創(chuàng)建應用程序5。b.內(nèi)容管理器(Content Providers):能讓應用程序去訪問另一個應用程序

18、的數(shù)據(jù),或者實現(xiàn)數(shù)據(jù)的共享6。c.資源管理器(Resource Manager):提供像本地字符串、圖形和布局文件等非代碼資源的訪問7。d.通知管理器(Notification Manager):是應用程序可以通過通知管理器在狀態(tài)欄中顯示客戶提示信息8。e.活動管理器(Activity Manager):用來管理應用程序的生命周期和提供常用的導航回退9。(5)Applications Applications位于應用程序和用戶進行交互的層次,集合了Android自帶的一些像聯(lián)系人管理程序,短消息程序,瀏覽器等的核心應用程序。所有的應用程序都是通過Java語言編寫的,像計算機、瀏覽器、通訊體、M

19、P3播放器等10。2.1.2 Android應用程序結(jié)構(gòu)Android應用程序開發(fā)是目前軟件開發(fā)的主流。Android 應用程序有三種方式來調(diào)用最底層的硬件和服務。接著來介紹的就是Android 的應用開發(fā)框架。各種應用的開發(fā)依賴于系統(tǒng)提供給開發(fā)者的API是Android應用程序的開發(fā)用來使用系統(tǒng)資源的。而這些 API 就是屬于應用程序開發(fā)框架層的,那些系統(tǒng)未提供的API,需要依靠在系統(tǒng)底層用C/C+語言編寫代碼來開發(fā),然后向Android應用框架提供接口11。Android系統(tǒng)有四大組件,每個組件是一個試圖,其中Activity(活動)和Content Provider(內(nèi)容提供者)是可見的

20、,而Service(服務)和Broadcast intent Receiver(廣播接收器)是不可見的。它們只在程序的后臺運行。依靠能夠激活其它組件的組件來實現(xiàn)通信7。1) Activity(活動) 活動是 Android 構(gòu)造塊中最基本的一種。每一個活動都是一個用戶界面。一個應用程序的工作來形成一個整體的用戶體驗活動,但每一個都是獨立于其他的。因此,不同的應用程序可以從這些活動中的任何一個開始。每個活動都會被實現(xiàn)在一個類,這個類繼承于基類Activity。安卓的Activity類似于網(wǎng)站的html頁面。每個活動可以啟動另一個活動以執(zhí)行不同的動作12。 2) Broadcast intent

21、Receiver(廣播接收器和意圖)廣播接收器負責接受針對在系統(tǒng)范圍內(nèi)的廣播和響應廣播傳送的信息。一個廣播接收機響應一個事件。這些廣播可能來自安卓本身例如,當廣播宣布屏幕已關(guān)閉時,表示電量低。應用程序也可以啟動廣播在一個應用程序中可以有任意數(shù)量的廣播器在接收,每個廣播接收機像廣播接收器的一個子類得以實現(xiàn)。啟動一個Activity后會進行進一步的交互和處理13。雖然廣播接收器不顯示用戶界面,但有事發(fā)生時它們可以通過創(chuàng)建狀態(tài)欄來提醒用戶。3) Service(服務) 服務是安卓的一個組件,在后臺運行來執(zhí)行長時間的操作或執(zhí)行遠程操作且不提供用戶界面,只運行在系統(tǒng)的后臺。一個活動可以連接或結(jié)合服務來運

22、行。(如果服務沒有運行,就會啟動它)。當連接到服務時,活動可以通過與服務的接口進行溝通,使得服務程序暴露出來。像其他應用程序組件一樣,服務組件總是在默認情況下的應用程序的主線程運行。因此對于執(zhí)行密集或阻塞的操作服務時(可能減慢活動的性能),它通常是啟動新線程內(nèi)的服務14。4) Content Provider(內(nèi)容提供者)內(nèi)容提供者提供應用程序之間的數(shù)據(jù)共享機制。數(shù)據(jù)可以通過內(nèi)容提供者和內(nèi)容提供這的一個子類來實現(xiàn)訪問在共享文件系統(tǒng)、SQLite數(shù)據(jù)庫、或任何其他應用程序持久性存儲的位置。它定義了支持的數(shù)據(jù)格式,提供了一套方法,用于讓其它應用程序保存或讀取內(nèi)容提供者處理的數(shù)據(jù)信息。但是,應用程序

23、不會立即調(diào)用這些方法,相反,它由一個命名為內(nèi)容解析器的對象來調(diào)用這些方法。內(nèi)容解析器可以與每一個內(nèi)容提供者進行交流。內(nèi)容解析器與內(nèi)容提供者通過合作管理IPC(內(nèi)部處理通信)來實現(xiàn)數(shù)據(jù)的共享15。圖2-2 Android的工作流程應用程序不必使用所有的Android組件16。意圖可以被應用程序可以很容易地添加,刪除和取代,而能夠聯(lián)系在一起工作則靠URI。Android通過權(quán)限設置決定的安全模型來操作資源和數(shù)據(jù)的特征讓應用程序更加地安全被使用17。大多數(shù)的應用程序之間的安全模式設置和標準的Linux系統(tǒng)相一致,像是給各個應用程序分配不同的UID。 2.2 Dalvik虛擬機安卓運行時包含一組核心庫

24、和一個Java虛擬機(Dalvik虛擬機),重新設計和優(yōu)化了谷歌安卓平臺。安卓是在Linux內(nèi)核層應用運行、Java編程語言編寫的,安卓運行環(huán)境主要指的是虛擬機技術(shù),即Dalvik。Dalvik虛擬機依賴Linux Kernel來實現(xiàn)一些潛在的功能,例如線程機制和底層內(nèi)存管理機制。多個虛擬系統(tǒng)可以同時高效地運行在虛擬機上運行。它無需安裝和管理配置的優(yōu)點是Android選擇它作為移動終端的嵌入式數(shù)據(jù)庫的一個原因,它支持事務并發(fā)處理,而且它的運行速度快于目前流行的大部分數(shù)據(jù)庫。2.3 Android SDK由于使用Java語言進行開發(fā),除了Eclipse外還有由SUN公司提供的包含了JRE:Jav

25、a Runtime Environment的Java SDK。另外,還需有一個Google提供的Android SDK的原因是為了區(qū)別Android的應用程序開發(fā)還是和Java程序開發(fā)。 基于SDK的Android開發(fā)僅限于開發(fā)Android的應用程序,開發(fā)Android最上層的JAVA應用程序包的產(chǎn)品。JAVA語言主要在這種開發(fā)環(huán)境中被使用,只需對了解API進行了解,不需要涉及硬件以及Android系統(tǒng)的底層。由于可以使用主機的仿真環(huán)境,因此有各種成熟的工具可以使用。2.4 PHP技術(shù)簡介PHP一個嵌套的縮寫名稱,是英文超級文本預處理語言(PHP:Hypertext Preprocessor

26、)的縮寫。PHP 是一種 HTML 內(nèi)嵌式的語言,PHP與微軟的ASP頗有幾分相似,都是一種在服務器端執(zhí)行的嵌入HTML文檔的腳本語言,語言的風格有類似于C語言,現(xiàn)在被很多的網(wǎng)站編程人員廣泛的運用。PHP 獨特的語法混合了C、Java、Perl 以及 PHP 自創(chuàng)新的語法。它可以比 CGI 或者 Perl 更快速的執(zhí)行動態(tài)網(wǎng)頁。它可以比 CGI或者Perl更快速地執(zhí)行動態(tài)網(wǎng)頁。用PHP做出的動態(tài)頁面與其他的編程語言相比,PHP是將程序嵌入到HTML文檔中去執(zhí)行,執(zhí)行效率比完全生成HTML標記的CGI要高許多;PHP還可以執(zhí)行編譯后代碼,編譯可以達到加密和優(yōu)化代碼運行,使代碼運行更快。PHP有自

27、己的優(yōu)勢:(1)成本;(2)數(shù)據(jù)在服務器上;(3)數(shù)據(jù)庫的大力支持;(4)PHP是最強大的,有最顯著的特點,以支持大量的數(shù)據(jù)庫,這使得它更容易編寫一個基于網(wǎng)絡的數(shù)據(jù)庫的能力;(5)跨平臺,跨平臺的PHP是一種腳本語言定義的服務器端。 PHP到相應的Web服務器相應的服務,UNIX,LINUX和Windows安裝在平臺上,并用PHP編寫的應用程序可盡快移植到其他的操作系統(tǒng)平臺。嵌入在HTML中。無需編譯PHP和HTML可以直接插入到內(nèi)部很容易使用PHP來解釋(解釋)。(6)它是一個簡單的和有效的腳本語言。與Java,Perl,C+等編程語言不同,在PHP的基礎上,基本的編程語言來遵守的規(guī)則,但它

28、的活動是強大到足以幫助任何類型的網(wǎng)站。(7)網(wǎng)絡協(xié)議,并支持以下通信協(xié)議,被鼓勵的方面包括:電子郵件:IMAP,POP3,NMS,SNMP,網(wǎng)絡新聞:NNTP分享賬號:NIS;國際新聞網(wǎng):HTTP和Apache,協(xié)議LDAP目錄,以及與該網(wǎng)絡的其他功能。此外,它可以很容易地移植到其他的操作系統(tǒng),把CGI PHP帶回節(jié)目的網(wǎng)站上。2.5 SQLite數(shù)據(jù)庫的簡介Android系統(tǒng)集成了一個輕量級的數(shù)據(jù)庫:SQLite,SQLite并不像Oracle、MySQL那樣的專業(yè)數(shù)據(jù)庫,它只是一個嵌入式的數(shù)據(jù)庫引擎專門適合于資源有限的設備上(如手機、PDA等)適量數(shù)據(jù)存取。它是遵守ACID的關(guān)聯(lián)式數(shù)據(jù)庫管

29、理系統(tǒng),它的設計目標是嵌入式的,而且目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用資源非常的低,在嵌入式設備中,可能只需要幾百K的內(nèi)存就夠了。它能夠支持Windows/Linux/Unix等等主流的操作系統(tǒng),同時能夠跟很多程序語言相結(jié)合,比如 Tcl、C#、PHP、Java等,還有ODBC接口,同樣比起MySQL、PostgreSQL這兩款開源世界著名的數(shù)據(jù)庫管理系統(tǒng)來講,它的處理速度比他們都快。雖然SQLite支持絕大部分SQL92語法,也允許開發(fā)者使用SQL語句操作數(shù)據(jù)庫中的數(shù)據(jù),但SQLite并不像Oracle、MySQL數(shù)據(jù)庫那樣需要安裝、啟動服務器進程,SQLite數(shù)據(jù)庫只是一個文件。3

30、 系統(tǒng)分析3.1需求分析需求分析就是分析用戶的需要與要求。如果需要評估的結(jié)果準確地反映用戶的實際需求,這將直接影響到方案設計的整個階段,而且對系統(tǒng)的使用產(chǎn)生影響。著眼于需求評估是完成調(diào)查,收集和研究,并可能受到影響的數(shù)據(jù)管理和安全信息的需求的過程。一般使用者都相對缺少相關(guān)的計算機方面的知識,并且可以確定計算機是否可以為自己做什么,不能做什么,所以無法非常準確的去表達自己的需求,但是他們是最終的用戶,他們的需求才是最終的需求,但是技術(shù)人員缺少用戶的專業(yè)方面的知識,不是很容易理解到用戶的真正需求,有時候可能還會誤解到用戶的需求;新的硬件和軟件技術(shù)的出現(xiàn)也會讓系統(tǒng)的業(yè)務需求得打變化。所以技術(shù)人員必須

31、要使用一些得到的方法來保證可以與用戶不斷的交流這樣才可以確定用戶最終的需求。通過與用戶不斷深入地進行交流,了解到目前系統(tǒng)存在的主要問題。系統(tǒng)要求操作界面要簡潔、美觀;系統(tǒng)功能完善測試通過,同時系統(tǒng)經(jīng)常更新。設計學生用戶的主要的用例圖如下:圖3-1 學生用戶用例圖設計管理員的主要的用例圖如下:圖3-2 管理員用例圖需要研究是從用戶分析和細化的信息,在功能和性能上有描述。它是軟件開發(fā)過程中的第一階段的一部分,主要任務是要了解你需要什么,什么應做的工作,以確定系統(tǒng)的,因此在目標系統(tǒng)提出完整,準確,清晰,具體的要求,并表示以書面形式喚醒。軟件的用戶界面是與該對象最直接的接觸,包括是否允許用戶簡單,方便

32、使用,該請求的響應時間,對整體的用戶感受有很大落差。3.2 可行性分析可行性分析也稱為可行性研究,是基于軟件系統(tǒng)多方面調(diào)查的基礎上,針對新軟件的設計開發(fā)是否有其必要性和可能性,對新軟件的開發(fā)從技術(shù)、經(jīng)濟、社會的方面進行分析和研究,以防止不必要的投入,保證新應用軟件的開發(fā)成功,用最低的消耗得到最大的效用,確保解決用戶需求問題。該系統(tǒng)的可行性分析包括以下幾個方面的內(nèi)容:3.2.1 經(jīng)濟可行性本安卓校園活動APP軟件由于是基于Android手機平臺開發(fā)的應用軟件,因為其平臺的開源性和低成本性等內(nèi)在品質(zhì),決定了進行該軟件的開發(fā)成本較少,開發(fā)只需一臺智能機及相應的軟件。一般的普通用戶都有能力承擔軟硬件費

33、用。3.2.2技術(shù)上的可行性從手機移動設備誕生以來,就一直以驚人的速度發(fā)展壯大著,在過去的許多年里,手機技術(shù)不斷更新?lián)Q代,手機功能也不斷的壯大和完善。近年來Android系統(tǒng)由于其眾多的優(yōu)良品質(zhì)成為了各大手機移動設備廠商的軟件開發(fā)首選,市場需求也是與日俱增,開發(fā)一個基于Android平臺的手機安卓校園活動APP軟件,是有成熟的開發(fā)技術(shù)作為支持的,所采用的數(shù)據(jù)庫及編程語言都是通用語言。我們采用的主體開發(fā)語言是PHP,數(shù)據(jù)庫可以采用 Android系統(tǒng)自帶的SQLite數(shù)據(jù)庫,具有方便快捷的數(shù)據(jù)庫接口設計,所以本系統(tǒng)在技術(shù)方面是可行的。3.2.3軟硬件可行性該軟件的開發(fā)是基于Android系統(tǒng)平臺

34、的,因此通過相關(guān)Android框架開發(fā)測試通過的軟件均可以在任何手機設備上運行,但前提是手機設備必須是Android操作系統(tǒng)。在手機上只需要有基本的配置即可,不需要大型的系統(tǒng)軟件和應用軟件來支持。由于該軟件是采用系統(tǒng)自帶數(shù)據(jù)庫存儲數(shù)據(jù),因此安裝此軟件要保證足夠的內(nèi)存空間和手機磁卡空間。所以Android安卓校園活動APP軟件的運行在軟硬件條件上是可行的。3.2.4操作可行性移動手機設備已經(jīng)深入人們的日常生活,對于手機的操作人們已經(jīng)不再陌生,由于本安卓校園活動APP軟件有相關(guān)的使用說明,因此只要是稍微具有一定理解能力的人都可以簡單快速的掌握軟件操作。介于本軟件界面清晰,操作簡單,查找添加數(shù)據(jù)方便

35、,有完善的異常處理機制,通過觸屏方式輸入數(shù)據(jù)信息的方式符合使用者習慣,因此軟件在操作性上是完全行得通的6.3.3 系統(tǒng)設計目標在軟件需求分析階段,對于用戶的各種需求我們已經(jīng)做好了詳細地分析和軟件開發(fā)所需要的技術(shù)支持,解決了軟件功能性即“做什么”的問題,在軟件設計階段,要著手解決“怎么做”的問題。軟件設計是一個把軟件需求變換成軟件表示的過程,系統(tǒng)設計時需注意以下幾點:(1)安全性。在當今信息化時代,信息就是基礎就是財富,保護信息的安全性十分必要,尤其是作為學校信息更是具有較高的安全性要求。(2)先進性。在充分滿足用戶需求的前提下,結(jié)合當今廣泛應用的先進方法進行設計,立足用戶需求,開發(fā)出符合需求的

36、軟件產(chǎn)品。(3)可擴展性。因為管理軟件已經(jīng)逐漸成為人們生產(chǎn)生活生活中不可缺少的手段,而移動智能的各個方面息息相關(guān),所以在軟件設計階段,要充分考慮到軟件應用的可擴展性,便于將來軟件升級更新,給其他系統(tǒng)留接口,能夠友好地與其他系統(tǒng)銜接也是軟件設計的原則之一。(4)有效性。有效性主要包括功能有效性,設計的軟件一定要最大限度地滿足用戶的需求,包括用戶顯式的需求和隱式的需求。3.4 系統(tǒng)結(jié)構(gòu)設計系統(tǒng)的設計模式采用經(jīng)典的MVC模式,軟件的設計思想采用面向?qū)ο蟮木幊棠J絹韺崿F(xiàn)。MVC (Model-View-Controller):M是指邏輯模型,V是指視圖模型,C則是控制器。一個邏輯模型可以對于多種視圖模

37、型,一種視圖模型也可以對于多種邏輯模型。使用MVC的目的是將M和V的實現(xiàn)代碼分離,從而使同一個程序可以使用不同的表現(xiàn)形式,而C存在的目的則是確保M和V的同步,一旦M改變,V應該同步更新,這與設計模式中的觀察者模式是完全一樣。MVC好處:從用戶的角度出發(fā),用戶可以根據(jù)自己的需求,選擇自己合適的瀏覽數(shù)據(jù)的方式。比如說,對于一篇在線文檔,用戶可以選擇以HTML網(wǎng)頁的方式閱讀,也可以選擇以PDF的方式閱讀。從開發(fā)者的角度,MVC把應用程序的邏輯層與界面是完全分開的,最大的好處是:界面設計人員可以直接參與到界面開發(fā),程序員就可以把精力放在邏輯層上。而不是像以前那樣,設計人員把所有的材料交給開發(fā)人員,由開

38、發(fā)人員來實現(xiàn)界面。在Eclipes工具中開發(fā)Android采用了更加簡單的方法,設計人員在DroidDraw中設計界面,以XML方式保存,在Eclipes中直接打開就可以看到設計人員設計的界面。 Android中界面部分也采用了當前比較流行的MVC框架,在Android中:視圖層(View):一般采用XML文件進行界面的描述,使用的時候可以非常方便的引入。當然,如何你對Android了解的比較的多了話,就一定可以想到在Android中也可以使用JavaScript+HTML等方式作為View層,當然這里需要進行Java和JavaScript之間的通信,幸運的是,Android提供了它們之間非常

39、方便的通信實現(xiàn)。 控制層(Controller):Android的控制層的重任通常落在了眾多的Acitvity的肩上,這句話也就暗含了不要在Acitivity中寫代碼,要通過Activity交割Model業(yè)務邏輯層處理,這樣做的另外一個原因是Android中的Acitivity的響應時間是5s,如果耗時的操作放在這里,程序就很容易被回收掉。模型層(Model):對數(shù)據(jù)庫的操作、對網(wǎng)絡等的操作都應該在Model里面處理,當然對業(yè)務計算等操作也是必須放在的該層的。就是應用程序中二進制的數(shù)據(jù)。在Android SDK中的數(shù)據(jù)綁定,也都是采用了與MVC框架類似的方法來顯示數(shù)據(jù)。在控制層上將數(shù)據(jù)按照視圖

40、模型的要求(也就是Android SDK中的Adapter)封裝就可以直接在視圖模型上顯示了,從而實現(xiàn)了數(shù)據(jù)綁定。比如顯示Cursor中所有數(shù)據(jù)的ListActivity,其視圖層就是一個ListView,將數(shù)據(jù)封裝為ListAdapter,并傳遞給ListView,數(shù)據(jù)就在ListView中現(xiàn)實。系統(tǒng)構(gòu)架設計如圖3-1所示:圖33框架模型圖3.4 系統(tǒng)架構(gòu)類圖展開包圖,得到類圖,它是靜態(tài)結(jié)構(gòu)圖的架構(gòu),使各個種類之間的關(guān)系,表達了靜態(tài)聯(lián)系。安卓校園活動APP軟件設計與實現(xiàn)類圖如下圖3-5所示。圖3-4安卓校園活動APP軟件系統(tǒng)類圖3.5 系統(tǒng)交互圖系統(tǒng)架構(gòu)類的工作流程:1、在用戶輸入請求后,用

41、戶界面對象接收到,并發(fā)送一個請求到服務代理對象。 2,業(yè)務代理對象接收到請求之后,并向受權(quán)限管理對象發(fā)送的驗證權(quán)限請求。 3,權(quán)限管理對象把得到的驗證權(quán)限的結(jié)果發(fā)給業(yè)務代理對象后。 4,根據(jù)業(yè)務代理對象的驗證結(jié)果進行以下處理:對權(quán)限的要求不符合的則返回消息;符合許可的請求時,該請求被轉(zhuǎn)發(fā)到業(yè)務對象。 5,業(yè)務對象進行業(yè)務處理。對于持久性的數(shù)據(jù)服務操作,操作時通過訪問數(shù)據(jù)庫訪問對象,任何例外情況的處理都給異常處理對象進行處理。最后,把結(jié)果信息返回給業(yè)務代理對象。 6,業(yè)務代理對象將處理信息返回給用戶界面。系統(tǒng)架構(gòu)類的交互圖如圖3-5所示:圖3-5系統(tǒng)架構(gòu)類的交互圖4 系統(tǒng)詳細設計4.1 開發(fā)環(huán)境

42、搭建這些配置是比較麻煩的。事實上,有麻煩自然也有人解決麻煩,目前已經(jīng)存在不少PHP工具組合包(有時也稱集成開發(fā)環(huán)境,但是為了與EclipsePHP,Zend Studio等IDE相區(qū)分,我們這里稱其為工具組合包),能夠傻瓜式的完成Apache,PHP,MySQL的一次性自動部署。但是為了更好的理解PHP開發(fā)環(huán)境的搭建過程以便出現(xiàn)新問題能夠快速解決,還是要詳細介紹一下手動搭建環(huán)境的過程。  手動安裝配置Apache、PHP、MySQL 安裝配置Apache服務器 一.到Apache官方網(wǎng)站(/downl

43、oad.cgi )下載Apache服務器,目前最新版為2.4.3。但是未提供Windows版本,我們選擇使用2.2.14穩(wěn)定版(包括測試版在內(nèi)的所有版本下載地址:/dist/httpd/ )。Apache官方提供Windows下的綠色版和安裝版兩種版本,為了配置和管理方便,我們使用安裝版(2.2.14安裝版下載地址:二安裝Apache服務器,同意協(xié)議下一步,一直到Server Information頁面。這里需要給出必須的配置參數(shù),包括一個網(wǎng)絡域名,一個服務器主機名和一個管理員電子郵箱地址,以及是否使用80端口(We

44、b服務默認端口)的選項。 域名,主機名和郵箱是必須填的,但是可以任意填寫,無效的也沒問題。選擇使用80端口并作為默認服務器。比如如下填寫: 三next后,選擇安裝類型(Typical為默認安裝,Custom為自定義安裝),選擇Typical,next繼續(xù)。到安裝路徑頁面,我們把安裝路徑設置為“C:ProgramsApache2.2”:四繼續(xù)next,直到安裝結(jié)束。過程中會彈出CMD控制臺,不要手動關(guān)閉!讓其自動關(guān)閉。完成后會在系統(tǒng)右下角的狀態(tài)欄看到Apache綠色三角圖標,表示Apache服務正在運行(紅色圓點表示停止運行)。  五確認Apache服務器

45、正在運行后,在瀏覽器地址欄輸入http:/localhost后,出現(xiàn)下圖表示安裝成功:  六完成安裝后,其安裝路徑為:“C:ProgramsApache2.2“。需要說明以下三點: A.Apache的配置文件為“C:ProgramsApache2.2confhttpd.conf”,這個文件很重要。后面會用到。 B.Apache存放html和php等網(wǎng)頁文件的位置是:“C:ProgramsApache2.2htdocs”。這表示此目錄下的所有網(wǎng)頁文件都可以直接在瀏覽器中通過”localhost/“+文件名的方式訪問,而不需要指定絕對路徑訪問(如htdocs

46、目錄下有index.html文件,則可以直接在瀏覽器地址欄輸入localhost/index.html訪問)。當然,這個默認路徑是可以重新設置的而且也可以指定其他網(wǎng)頁存放路徑。這些都可以通過配置httpd.conf文件實現(xiàn)。C.啟動和停止Apache服務器的方式有: 1.單擊開始->所有程序->Apache HTTP Server 2.2->Control Apache Server下的Stop、Start、Restart即可停止,開啟和重啟Apache服務器。 2.右擊計算機->管理->服務和

47、應用程序->服務列表里的Apache2.2即可選擇停止或開啟Apache服務器。 3.命令行窗口輸入”net stop apache2.2“或”net start apache2.2“即可停止或開啟Apache服務器。 4.右擊狀態(tài)欄Apache小圖標,在Apache Monitor中也可停止或開啟Apache服務器。 4.2 流程圖的設計登錄流程圖如圖3-3所示:圖4-8登錄流程圖用戶密碼修改的流程圖:圖4-9用戶密碼修改流程圖學生用戶功能選擇的流程圖:圖4-10學生用戶功能選擇過程流程圖完善個人信息過程的流程圖:圖

48、4-11完善個人信息流程圖 4.3 系統(tǒng)設計目標及數(shù)據(jù)驗證1.將安卓校園活動APP軟件軟件小型化移動化目前大部分的安卓校園活動APP軟件軟件都是針對公司的大型軟件,但是有求必貸也有剛性需求。大型軟件對服務器性能要求較高,普通用戶很難達到。對于個人用戶來講,申請貸款需求很簡單,對性能要求較低,對方便性要求較高。在此基礎上,基于Android的小型軟件開發(fā)可以滿足用戶需求。功能簡單實用,實時性較好,使用便捷。2.不同用戶相互透明同一個客戶端可能有多個用戶使用,為了保護隱私,在使用本軟件時必須注冊用戶。軟件的功能是公共的,數(shù)據(jù)屬于企業(yè)私有,對不同用戶透明。只有在登錄后才可以使用個人數(shù)據(jù)。3.用戶輸入

49、數(shù)據(jù)驗證和過濾本系統(tǒng)在用戶端頁面進行輸入驗證,主要驗證用戶輸入的內(nèi)容是否合法,如長度、類型是否非法、關(guān)鍵信息是否漏填等,客戶端會彈出提示框提醒用戶規(guī)范填寫,便于用戶及時更改。對一些特殊的字符,如:“/”,“#”,“&”等特別的符號進行過濾和替換,防止由于這些特殊字符引起系統(tǒng)出錯,增強軟件的健壯性。系統(tǒng)采用B/S結(jié)構(gòu),系統(tǒng)網(wǎng)絡架構(gòu)圖見圖。圖4-12系統(tǒng)網(wǎng)絡架構(gòu)圖4.4 應用功能介紹及相關(guān)截圖1.登陸的實現(xiàn):用戶登錄實現(xiàn)的過程主要有幾個步驟,首先對用戶輸入的信息進行保存然后利用程序從數(shù)據(jù)庫中進行檢索看是不是有用戶輸入的信息在數(shù)據(jù)庫中是否存在如果存在就返回正確的結(jié)果,如果不正確就返回錯誤的結(jié)

50、果。如果結(jié)果數(shù)據(jù)庫中存在就顯示登錄成功,如果數(shù)據(jù)庫不存在就顯示失敗請重新登錄。已有賬號換個客戶端登陸時,客戶端服務器數(shù)據(jù)庫的數(shù)據(jù)傳輸:Web service的通信方式使用標準的Web協(xié)議;Web service能夠提供多平臺的支持。那么,為了獲得更多的平臺支持,最好也最方便的方法就是實用http協(xié)議作為通信協(xié)議,這樣不僅android移動中端可以訪問,pc平臺的中端也可以支持,甚至web app也可以使用這一服務。下圖是用戶登錄的功能實現(xiàn)界面:圖4-13 用戶登錄的實現(xiàn)界面2.首頁的實現(xiàn)學生成功登陸以后可以在右上角的選項中的列表中選擇發(fā)布活動,選擇活動類型,上傳照片,輸入活動名稱和活動說明,點

51、擊發(fā)布,發(fā)布成功。下圖是校園活動APP軟件發(fā)布活動的功能實現(xiàn)界面:圖4-14 校園活動APP軟件首頁的實現(xiàn)界面3.功能模塊的實現(xiàn)學生用戶進行功能選擇申請后整個數(shù)據(jù)的流向可以總結(jié)為:android向Web Service發(fā)起請求(Web Service可以簡單理解為是一個網(wǎng)站,而發(fā)起請求則可簡單理解為是訪問一個網(wǎng)址),Web Service根據(jù)請求請求數(shù)據(jù)庫并作相應的業(yè)務邏輯處理,向android返回數(shù)據(jù)(返回的數(shù)據(jù)可以簡單認為是訪問網(wǎng)址時瀏覽器看到的網(wǎng)頁),android再根據(jù)返回的數(shù)據(jù)進行解析,獲取相應的數(shù)據(jù)返回到用戶界面。下圖是獲取活動功能列表的功能實現(xiàn)界面:圖4-15獲取活動列表實現(xiàn)界面

52、學生查看活動時可以選擇學校后,點擊具體活動后可以加入活動或發(fā)表評論。下圖是加入活動的功能實現(xiàn)界面:圖4-16加入活動的實現(xiàn)界面下圖是發(fā)表評論的功能實現(xiàn)界面:圖4-17發(fā)表評論的實現(xiàn)界面學生登陸后擁有修改個人信息和登陸密碼的權(quán)限,修改密碼需要輸入源密碼,同時要輸入倆次新密碼,如果輸入不一致則重置失敗。下圖是修改個人信息的功能實現(xiàn)界面:圖4-18修改個人信息的實現(xiàn)界面5 系統(tǒng)測試與分析25.1 系統(tǒng)測試目的系統(tǒng)測試是將通過確認測試的軟件,作為整個基于系統(tǒng)的一個元素,與硬件、支持軟件、數(shù)據(jù)和人員等其它系統(tǒng)元素結(jié)合在一起,在實際運行環(huán)境下,對系統(tǒng)進行一系列的組裝測試和確認測試。系統(tǒng)測試的目的在于通過與系統(tǒng)的需求定義作比較,發(fā)現(xiàn)軟件與系統(tǒng)的定義不符合的地方,以驗證軟件系統(tǒng)的功能和性能等。5.2 系統(tǒng)測試環(huán)境1)硬件環(huán)境: 內(nèi)存:2G CPU:英特爾 Core i3 330 2.13GHz 筆記本處理器2)軟件環(huán)境: 操作系統(tǒng):Microsoft Windows XP 專業(yè)版 32位 SP3 瀏覽器:360瀏覽器 數(shù)

溫馨提示

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

評論

0/150

提交評論