軟件工程畢業(yè)論文-移動終端(iphone)應用軟件優(yōu)集品的設計與開發(fā)_第1頁
已閱讀1頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p><b>  本科畢業(yè)論文</b></p><p><b>  (20 屆)</b></p><p>  移動終端(iPhone)應用軟件優(yōu)集品的設計與開發(fā)</p><p><b>  摘要</b></p><p>  伴隨著3G網(wǎng)絡的發(fā)展,手機越來越普及并且

2、成為最便捷的聯(lián)接網(wǎng)絡的終端。消費者也越來越注重對各個平臺的手機軟件的體驗。而且開發(fā)者也越來越注重手機客戶端的市場和推廣。對于如此便捷的環(huán)境,也應運產生了一批優(yōu)秀的跨各種平臺的交互軟件。</p><p>  蘋果iOS是由蘋果公司開發(fā)的移動操作系統(tǒng)。蘋果公司最早于2007年1月9日的Macworld大會上公布這個系統(tǒng),最初是設計給iPhone使用的,后來陸續(xù)套用到iPod touch、iPad以及Apple TV等

3、產品上。iOS與蘋果的Mac OS X操作系統(tǒng)一樣,它也是以Darwin為基礎的,因此同樣屬于類Unix的商業(yè)操作系統(tǒng)。原本這個系統(tǒng)名為iPhone OS,因為iPad,iPhone,iPod Touch都使用iPhone OS,所以2010WWDC大會上宣布改名為iOS(IOS為美國Cisco公司網(wǎng)絡設備操作系統(tǒng)注冊商標,蘋果改名已獲得Cisco公司授權)。</p><p>  iOS 具有簡單易用的界面、令人

4、驚嘆的功能,以及超強的穩(wěn)定性,已經成為iPhone、iPad 和iPod touch 的強大基礎。盡管其他競爭對手一直努力地追趕, iOS 內置的眾多技術和功能讓 Apple 設備始終保持著遙遙領先的地位。</p><p>  為了方便好友之間的交互,為了方便好友之間互贈禮物,為了鍛煉自身能力,我針對于優(yōu)集品網(wǎng),開發(fā)了一款iPhone的交互客戶端--優(yōu)集品。優(yōu)集品(UGift)是一款交互軟件,是為了方便朋友,同學

5、,家人等各種社會關系的人群互相贈送禮物。該系統(tǒng)采用C/S架構。</p><p>  系統(tǒng)基于iOS系統(tǒng)開發(fā),采用java做服務器后臺,并且可以方便的擴展開發(fā)android客戶端。在網(wǎng)絡發(fā)展成熟的今天,靈活實時的保證了數(shù)據(jù)的統(tǒng)一。</p><p>  采用java技術設計和實現(xiàn)服務器,用iOS實現(xiàn)客戶端,保證軟件良好運行。我主要實現(xiàn)iPhone客戶端,數(shù)據(jù)我寫在了一些json文件里,是一些簡

6、單的測試數(shù)據(jù),一些功能需要服務器端的配合才能實現(xiàn),還有一些功能只能在真機上實現(xiàn),模擬器上無法實現(xiàn)。這里我簡要介紹了java三大框架開發(fā)(struts+spring+hibernate)的技術特點和數(shù)據(jù)庫技術,隨后簡要的概述iOS的開發(fā)要點,在后臺數(shù)據(jù)管理方面用到jsp技術。并且構建了一個C/S模式的交互購物系統(tǒng),并對該系統(tǒng)進行了需求分析,總體設計,詳細設計,編碼與測試。并為后臺數(shù)據(jù)管理做了一個簡單的分析。</p><

7、p>  關鍵詞:優(yōu)集品;交互;iOS;iPhone</p><p><b>  Abstract</b></p><p>  With the development of 3G networks, mobile phones become more and more popular and the most convenient connection netw

8、ork terminal. Consumers are also increasingly focused on the experience of each platform mobile software. And developers are increasingly focusing on mobile client marketing and promotion. For such a convenient environme

9、nt , should also produce a number of outstanding transported across a variety of platforms for interactive software .</p><p>  Apple iOS is Apple's mobile operating system developed . Apple first announc

10、ed at Macworld Conference January 9, 2007 on the system , originally designed for use in the iPhone , the iPod touch, iPad and Apple TV , etc. then gradually applied to . iOS and Apple's Mac OS X operating system , i

11、t is also based in Darwin , and therefore belong to the same class of commercial Unix operating system . This system was originally called iPhone OS, because the iPad, iPhone, iPod Touch use the iPhone OS, it</p>

12、<p>  iOS has a simple -to-use interface , amazing features, and superior stability , has become a strong foundation for iPhone, iPad and iPod touch . While other competitors have been trying to catch up , iOS built

13、 numerous technical and functional equipment allows Apple has maintained a lead position.</p><p>  In order to facilitate the interaction between friends , in order to facilitate the exchange of gifts betwee

14、n friends , in order to exercise their ability to set me against the superior product on the network , has developed an iPhone client interaction - excellent set of products . UGS products (UGift) is an interactive softw

15、are , is to facilitate a friend , people of various social relations classmates, family members and other give each other gifts. The system uses C / S architecture.</p><p>  System is based on iOS system dev

16、elopment , using java server do the background and can be easily extended to develop android client. Developed in the network today, to ensure a unified and flexible real-time data .</p><p>  Technical desig

17、n and implementation using java server using iOS achieve client software to ensure a good run . My main achievement of the iPhone client , the data I wrote some json file, are some simple test data , some of the features

18、 needed to achieve with the server , there are some features can only be achieved on a real machine , can not be achieved on the simulator. Here, I briefly introduced the three frameworks java development (struts spring

19、hibernate) technical features and database te</p><p>  Keywords : UGift; interaction ; iOS; iPhone</p><p><b>  目 錄</b></p><p><b>  1 緒論1</b></p>&

20、lt;p><b>  1.1選題背景1</b></p><p><b>  1.2發(fā)展現(xiàn)狀1</b></p><p>  1.3論文研究內容2</p><p>  2 技術簡介3</p><p>  2.1 C/S架構簡介3</p><p>  2.2 J

21、SP技術簡介3</p><p>  2.3 MVC框架簡介4</p><p>  2.4 Struts+Spring+Hibernate框架簡介4</p><p>  2.5數(shù)據(jù)庫技術簡介4</p><p>  2.6 android技術簡介5</p><p>  2.7 IOS技術簡介5</p>

22、;<p>  3 系統(tǒng)設計6</p><p><b>  3.1需求分析6</b></p><p>  3.1.1功能需求6</p><p>  3.1.2性能需求6</p><p>  3.1.3開發(fā)環(huán)境6</p><p>  3.1.4運行環(huán)境7</p>

23、;<p>  3.2業(yè)務流程設計7</p><p>  3.2.1客戶端業(yè)務流程設計7</p><p>  3.2.2后臺業(yè)務流程設計7</p><p>  3.3系統(tǒng)結構設計8</p><p>  3.3.1頁面結構設計8</p><p>  3.3.2代碼結構設計8</p>

24、<p>  3.4服務器設計10</p><p>  3.4.1服務器端工具10</p><p>  3.4.2軟件包和JAVA源代碼文件10</p><p>  3.4.3服務器的整體架構10</p><p>  3.4.4服務器對外交互分析11</p><p>  3.5客戶端設計12<

25、/p><p>  3.5.1頁面布局處理12</p><p>  3.5.2客戶端源碼結構12</p><p>  3.6后臺設計13</p><p>  3.6.1 JSP文件結構13</p><p>  3.6.2 JSTL13</p><p>  4 系統(tǒng)實現(xiàn)15</p&

26、gt;<p>  4.1系統(tǒng)工作過程15</p><p>  4.2引導頁面和幫助頁面展示16</p><p>  4.3首頁展示16</p><p>  4.3收送禮物頁面展示17</p><p><b>  總 結20</b></p><p><b> 

27、 參考文獻21</b></p><p><b>  致 謝22</b></p><p><b>  1 緒論</b></p><p><b>  1.1選題背景</b></p><p>  在互聯(lián)網(wǎng)高度發(fā)展的今天,雖然有不少的購物網(wǎng)站,但購物軟件卻很少

28、,尤其是手機客戶端上的購物軟件,贈送禮物的就更少了,像qq等類的贈送禮物都是些虛擬禮物。</p><p>  為了方便大家購物,贈送好友禮物,尤其是過節(jié)、過生日等的時候贈送禮物,我設計開發(fā)了本系統(tǒng)。只要有網(wǎng)絡,大家就可以隨時隨地,給你想要贈送禮物的人贈送禮物,既可以親近關系,又可以表達祝福。</p><p>  隨著社會的發(fā)展,生活環(huán)境的改善,生活水平的提高,現(xiàn)在越來越多的人擁有了手機,甚

29、至小學生、初中生都有了手機,iPhone手機也不在少數(shù),并且這款軟件也可以在android手機上開發(fā),所以手機移動端軟件的市場將會越來越大,而且手機購物將是一個趨向。</p><p><b>  1.2發(fā)展現(xiàn)狀</b></p><p>  在最近幾年里,移動通信和互聯(lián)網(wǎng)成為當今世界發(fā)展最快、市場潛力最大、前景最誘人的兩大業(yè)務。它們的增長速度都是任何預測家未曾預料到的。

30、迄今,全球移動用戶已超過15億,互聯(lián)網(wǎng)用戶也已逾7億。中國移動通信用戶總數(shù)超過3.6億,互聯(lián)網(wǎng)用戶總數(shù)則超過1億。這一歷史上從來沒有過的高速增長現(xiàn)象反映了隨著時代與技術的進步,人類對移動性和信息的需求急劇上升。越來越多的人希望在移動的過程中高速地接入互聯(lián)網(wǎng),獲取急需的信息,完成想做的事情。所以,出現(xiàn)的移動與互聯(lián)網(wǎng)相結合的趨勢是歷史的必然。移動互聯(lián)網(wǎng)正逐漸滲透到人們生活、工作的各個領域,短信、鈴圖下載、移動音樂、手機游戲、視頻應用、手機支

31、付、位置服務等豐富多彩的移動互聯(lián)網(wǎng)應用迅猛發(fā)展,正在深刻改變信息時代的社會生活,移動互聯(lián)網(wǎng)經過幾年的曲折前行,終于迎來了新的發(fā)展高潮。</p><p>  移動互聯(lián)網(wǎng)的浪潮正在席卷到社會的方方面面,新聞閱讀、視頻節(jié)目、電商購物、公交出行等熱門應用都出現(xiàn)在移動終端上,在蘋果和安卓商店的下載已達到數(shù)百億次,而移動用戶規(guī)模更是超過了PC用戶。這讓企業(yè)級用戶意識到移動應用的必要性,紛紛開始規(guī)劃和摸索進入移動互聯(lián)網(wǎng),客觀上

32、加快了企業(yè)級移動應用市場的發(fā)展。</p><p>  移動互聯(lián)網(wǎng)擁有廣闊的前景,對互聯(lián)網(wǎng)企業(yè)來說,可謂是一塊巨大的蛋糕,誰都想搶先進入這個市場,贏得先機大咬一口。因此,可以預見,對移動互聯(lián)網(wǎng)行業(yè)市場與用戶的爭奪將越演越烈,而這些潛在的用戶擁有著與以往不同的特點,也使得互聯(lián)網(wǎng)企業(yè)的下一步戰(zhàn)略將面臨更多的挑戰(zhàn)。</p><p>  尤其在移動支付和移動電子商務將會是未來發(fā)展的一大方向。<

33、/p><p>  移動支付蘊藏巨大商機:支付手段的電子化和移動化是不可避免的必然趨勢,移動支付業(yè)務發(fā)展預示著移動行業(yè)與金融行業(yè)融合的深入。</p><p>  移動電子商務的春天即將到來:移動電子商務可以為用戶隨時隨地提供所需的服務、應用、信息和娛樂,利用手機終端方便便捷地選擇及購買商品和服務。</p><p>  多種支付方式,使用方便。移動支付平臺不僅支持各種銀行卡

34、通過網(wǎng)上進行支付,而且還支持手機、電話等多種終端操作,符合網(wǎng)上消費者最求個性化、多樣化的需求。</p><p>  所以購物軟件所占有的市場將會越來越大,尤其手機移動終端的購物軟件將會得到更大的發(fā)展。</p><p><b>  1.3論文研究內容</b></p><p>  iOS 具有簡單易用的界面、令人驚嘆的功能,以及超強的穩(wěn)定性,已經成

35、為iPhone、iPad 和iPod touch 的強大基礎。盡管其他競爭對手一直努力地追趕, iOS 內置的眾多技術和功能讓 Apple 設備始終保持著遙遙領先的地位。</p><p>  為了方便好友之間的交互,為了方便好友之間互贈禮物,為了鍛煉自身能力,我針對于優(yōu)集品網(wǎng),開發(fā)了一款iPhone的交互客戶端--優(yōu)集品。優(yōu)集品(UGift)是一款交互軟件,是為了方便朋友,同學,家人等各種社會關系的人群互相贈送禮

36、物。該系統(tǒng)采用C/S架構。</p><p>  系統(tǒng)基于iOS系統(tǒng)開發(fā),采用java做服務器后臺,并且可以方便的擴展開發(fā)android客戶端。在網(wǎng)絡發(fā)展成熟的今天,靈活實時的保證了數(shù)據(jù)的統(tǒng)一。</p><p>  采用java技術設計和實現(xiàn)服務器,用iOS實現(xiàn)客戶端,保證軟件良好運行。我主要實現(xiàn)iPhone客戶端,數(shù)據(jù)我寫在了一些json文件里,是一些簡單的測試數(shù)據(jù),一些功能需要服務器端的

37、配合才能實現(xiàn),還有一些功能只能在真機上實現(xiàn),模擬器上無法實現(xiàn)。這里我簡要介紹了java三大框架開發(fā)(struts+spring+hibernate)的技術特點和數(shù)據(jù)庫技術,隨后簡要的概述iOS的開發(fā)要點,在后臺數(shù)據(jù)管理方面用到jsp技術。并且構建了一個C/S模式的交互購物系統(tǒng),并對該系統(tǒng)進行了需求分析,總體設計,詳細設計,編碼與測試。并為后臺數(shù)據(jù)管理做了一個簡單的分析。</p><p><b>  2

38、 技術簡介</b></p><p>  2.1 C/S架構簡介</p><p>  客戶端和服務器架構。它是軟件系統(tǒng)體系結構,通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務合理分配到Client端和Server端來實現(xiàn),降低了系統(tǒng)的通訊開銷。目前大多數(shù)應用軟件系統(tǒng)都是Client/Server形式的兩層結構,由于現(xiàn)在的軟件應用系統(tǒng)正在向分布式的Web應用發(fā)展,Web和Clien

39、t/Server 應用都可以進行同樣的業(yè)務處理,應用不同的模塊共享邏輯組件;因此,內部的和外部的用戶都可以訪問新的和現(xiàn)有的應用系統(tǒng),通過現(xiàn)有應用系統(tǒng)中的邏輯可以擴展出新的應用系統(tǒng)。這也就是目前應用系統(tǒng)的發(fā)展方向。</p><p>  C/S結構的優(yōu)點是能充分發(fā)揮客戶端PC的處理能力,很多工作可以在客戶端處理后再提交給服務器。對應的優(yōu)點就是客戶端響應速度快。具體表現(xiàn)在以下兩點:</p><p&g

40、t; ?。?)應用服務器運行數(shù)據(jù)負荷較輕。最簡單的C/S體系結構的數(shù)據(jù)庫應用由兩部分組成,即客戶應用程序和數(shù)據(jù)庫服務器程序。二者可分別稱為前臺程序與后臺程序。運行數(shù)據(jù)庫服務器程序的機器,也稱為應用服務器。一旦服務器程序被啟動,就隨時等待響應客戶程序發(fā)來的請求;客戶應用程序運行在用戶自己的電腦上,對應于數(shù)據(jù)庫服務器,可稱為客戶電腦,當需要對數(shù)據(jù)庫中的數(shù)據(jù)進行任何操作時,客戶程序就自動地尋找服務器程序,并向其發(fā)出請求,服務器程序根據(jù)預定的規(guī)

41、則作出應答,送回結果,應用服務器運行數(shù)據(jù)負荷較輕。</p><p>  (2)數(shù)據(jù)的儲存管理功能較為透明。在數(shù)據(jù)庫應用中,數(shù)據(jù)的儲存管理功能,是由服務器程序和客戶應用程序分別獨立進行的,并且通常把那些不同的(不管是已知還是未知的)前臺應用所不能違反的規(guī)則,在服務器程序中集中實現(xiàn),例如訪問者的權限,編號可以重復、必須有客戶才能建立定單這樣的規(guī)則。所有這些,對于工作在前臺程序上的最終用戶,是“透明”的,他們無須過問(

42、通常也無法干涉)背后的過程,就可以完成自己的一切工作。在客戶服務器架構的應用中,前臺程序不是非?!笆菪 ?,麻煩的事情都交給了服務器和網(wǎng)絡。在C/S體系下,數(shù)據(jù)庫不能真正成為公共、專業(yè)化的倉庫,它受到獨立的專門管理。</p><p>  2.2 JSP技術簡介</p><p>  JSP(Java Server Pages)是一種基于內置Java代碼的、用于創(chuàng)建動態(tài)內容的腳本語言,它天然地具

43、備Java技術的跨平臺特性,從而在廣泛的基于網(wǎng)絡的應用中迅速得到應用,成為當前軟件領域最熱門的技術之一。JSP技術設計多種軟件技術和標準,諸如Java、HTML、數(shù)據(jù)庫等,并且廣泛應用于動態(tài)網(wǎng)站的建設中。</p><p>  2.3 MVC框架簡介</p><p>  M(Model,模型)、V(view,視圖)、C(controller,控制器)。是Xer ox PARC在八十年代為編程

44、語言Smalltalk-80發(fā)明的一種軟件設計模式,至今已被廣泛使用。最近幾年被推薦位Oracle旗下Sun公司Java EE平臺的設計模式,并且受到越來越多的使用ColdFusion和PHP開發(fā)者的歡迎。</p><p>  MVC設計模式把程序的輸入、處理和輸出分開,使各個部件處理自己的任務。使程序有較高的重用性和適用性,并且有著較低的生命周期成本,有利于軟件工程化管理并具備較高的可維護性。</p>

45、;<p>  2.4 Struts+Spring+Hibernate框架簡介</p><p>  Struts只是一個MVC框架(Framework),用于快速開發(fā)Java Web應用。Struts實現(xiàn)的重點在C(Controller),包括ActionServlet/RequestProcessor和我們定制的Action,也為V(View)提供了一系列定制標簽(Custom Tag)。但Stru

46、ts幾乎沒有涉及M(Model),所以Struts可以采用JAVA實現(xiàn)的任何形式的商業(yè)邏輯。</p><p>  Spring是一個輕型容器(light-weight container),其核心是Bean工廠(Bean Factory),用以構造我們所需要的M(Model)。在此基礎之上,Spring提供了AOP(Aspect-Oriented Programming, 面向層面的編程)的實現(xiàn),用它來提供非管理

47、環(huán)境下申明方式的事務、安全等服務;對Bean工廠的擴展ApplicationContext更加方便我們實現(xiàn)J2EE的應用;DAO/ORM的實現(xiàn)方便我們進行數(shù)據(jù)庫的開發(fā);Web MVC和Spring Web提供了Java Web應用的框架或與其他流行的Web框架進行集成。就是說可將兩者一起使用,達到將兩者自身的特點進行互補。</p><p>  Hibernate是一個免費的開源Java包,它使得與關系數(shù)據(jù)庫打交

48、道變得十分輕松,就像您的數(shù)據(jù)庫中包含每天使用的普通Java對象一樣,同時不必考慮如何把它們從神秘的數(shù)據(jù)庫表中取出(或放回到數(shù)據(jù)庫表中)。它解放了您,使您可以專注于應用程序的對象和功能,而不必擔心如何保存它們或稍后如何找到它們。</p><p>  2.5數(shù)據(jù)庫技術簡介</p><p>  數(shù)據(jù)庫技術是現(xiàn)代信息科學與技術的重要組成部分,是計算機數(shù)據(jù)處理與信息管理系統(tǒng)的核心。數(shù)據(jù)庫技術研究和結

49、局了計算機信息處理過程中大量數(shù)據(jù)有效地組織和存儲的問題,在數(shù)據(jù)庫系統(tǒng)中減少數(shù)據(jù)存儲冗余,實現(xiàn)數(shù)據(jù)共享、保障數(shù)據(jù)安全以及高效得檢索和處理數(shù)據(jù)。</p><p>  SQL:Structured Query Language(結構化查詢語言),是一種數(shù)據(jù)庫查詢和程序設計語言,可以用于存儲數(shù)據(jù),查詢、更新管理關系數(shù)據(jù)庫系統(tǒng)。嵌入到Java代碼中實現(xiàn)對數(shù)據(jù)庫的操作。</p><p>  2.6 a

50、ndroid技術簡介</p><p>  Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要使用于移動設備。Android構建在Linux內核上,利用linux完成其內存管理、進程管理、網(wǎng)絡和其他操作系統(tǒng)服務工作 。linux內核層上面的一層中包含了Android的本機庫。這些共享庫都是用C或C++語言編譯的,并且針對電話使用的特定硬件架構進行了編譯,并已由手機制造商預先安裝到手機中。</

51、p><p>  2.7 IOS技術簡介</p><p>  IOS 用的開發(fā)語言是Object-C 開發(fā)工具是X-Code 操作系統(tǒng)是MacObject-C: 本來是沒有垃圾回收機制的語言, 也就是要讓程序員來控制申請和釋放內存的。 但是蘋果做了很多的工作。 現(xiàn)在有個叫做ARC 的技術 能夠讓程序員寫的程序幾乎不用去管理內存了。 跟JAVA , C Sharp 那些一樣了。 所以如果只是

52、做一般的APP 開發(fā) 很容易學懂和上手。 也有很多先進的技術 比如動態(tài)擴展類了 ( 跟JS 的 prototype 一樣), block ( 匿名函數(shù), 讓異步操作更簡單)開發(fā)框架: 真?zhèn)€平臺對MCV 做的已經很完善了, 所以貌似沒有什么很有名的開發(fā)框架。但是各種庫很多。X-Code: 一個集成的開發(fā)環(huán)境。 里面包含了界面設計, 代碼編寫, 編譯, 運行, 事件綁定, 在設備上運行APP, 簽名, 發(fā)布APP 到蘋果商店。 都是很

53、容易使用。</p><p><b>  3 系統(tǒng)設計</b></p><p><b>  3.1需求分析</b></p><p><b>  3.1.1功能需求</b></p><p>  功能需求分析是整個軟件工程中的一個最關鍵的過程。主要任務是根據(jù)用戶需求和運行條件,確

54、定系統(tǒng)將實現(xiàn)的功能。</p><p>  經過需求分析,本系統(tǒng)由客戶端和服務器端兩部分組成。由服務器為客戶端提供統(tǒng)一的接口,數(shù)據(jù)由服務器統(tǒng)一下發(fā),由客戶端顯示。兩個部分分工明確,共同完成本系統(tǒng)的業(yè)務流程。</p><p><b>  具體需求如下:</b></p><p><b>  客戶端:</b></p>

55、<p> ?。?)用戶注冊、登錄、修改個人信息;</p><p> ?。?)查看商品列表,分類查看,查看商品詳情;</p><p> ?。?)選好篩選條件,再搖一搖隨機選擇符合條件的商品或者直接通過篩選條件查找商品;</p><p>  (4)選擇禮物加入禮物單,發(fā)給好友禮物單,好友選好自己喜歡的禮物(接收方也可以拒絕),送禮物方支付后,貨物就可以發(fā)給收

56、禮物方。</p><p><b>  服務器:</b></p><p>  (1)添加分類,查看分類信息,管理分類信息(修改、刪除);</p><p> ?。?)查看某段時間內接口成功響應耗時,以及多個接口耗時對比圖;</p><p> ?。?)查看各個分類下的詳細數(shù)據(jù)信息;</p><p>  

57、(4)規(guī)定所有接口數(shù)據(jù)的下發(fā);</p><p>  (5)配合客戶端完成送禮物和接收禮物的流程;</p><p>  (6)統(tǒng)一管理用戶信息和數(shù)據(jù)。</p><p><b>  3.1.2性能需求</b></p><p>  (1)系統(tǒng)安全性:業(yè)務邏輯不對外暴露,保證系統(tǒng)安全。</p><p> 

58、?。?)系統(tǒng)穩(wěn)定性:保證系統(tǒng)運行穩(wěn)定,對可能出現(xiàn)的異常加以處理。</p><p>  (3)界面友好性:提供簡易實用的用戶界面。</p><p>  (4)數(shù)據(jù)安全性:用戶身份驗證,管理員后臺管理數(shù)據(jù)庫,保證數(shù)據(jù)安全。</p><p><b>  3.1.3開發(fā)環(huán)境</b></p><p> ?。?)操作系統(tǒng):Mac O

59、S X 10.8.5 ,iOS</p><p>  (2)服務器:Apache-Tomcat-6.0.32</p><p> ?。?)數(shù)據(jù)庫:MySQL</p><p> ?。?)數(shù)據(jù)庫設計:Navicat for MySQL</p><p>  (5)開發(fā)軟件:Xcode5.0</p><p> ?。?)瀏覽器:go

60、ogle瀏覽器</p><p><b>  3.1.4運行環(huán)境</b></p><p>  本系統(tǒng)的運行主要分兩個部分,客戶端目前只開發(fā)了iOS版本,android版本作可擴展考慮;服務器運行在tomcat下,tomcat可以運行在windows下也可以運行在linux,服務器端跨平臺性很強。</p><p><b>  3.2業(yè)務流

61、程設計</b></p><p>  3.2.1客戶端業(yè)務流程設計</p><p>  客戶端主要完成用戶注冊、登錄、查找商品,送禮物,接收禮物等的工作:</p><p>  用戶身份驗證:注冊賬號,已注冊的用戶可以登錄和切換用戶;</p><p>  登錄用戶可以查看個人信息,修改個人資料;</p><p>

62、; ?。?)登錄用戶可以查看商品,收藏商品;</p><p> ?。?)登錄用戶送禮物,接收禮物;</p><p> ?。?)登錄用戶可以對商品進行支付;</p><p>  客戶端業(yè)務流程如圖:</p><p>  圖3-1客戶端業(yè)務流程圖</p><p>  3.2.2后臺業(yè)務流程設計</p><

63、;p>  后臺幫助管理員完成對整個系統(tǒng)的管理工作:</p><p> ?。?)分類管理:添加分類信息,查看分類信息,修改、刪除分類信息;</p><p> ?。?)對所有的用戶都有管理權限,統(tǒng)一管理用戶及信息;</p><p> ?。?)監(jiān)控各個接口的運行情況;</p><p><b>  后臺業(yè)務流程圖:</b>

64、</p><p>  圖3-2后臺業(yè)務流程圖</p><p><b>  3.3系統(tǒng)結構設計</b></p><p>  3.3.1頁面結構設計</p><p>  后臺分三部分:上部,左部,主體部分。</p><p> ?。?)上部顯示后臺主頁標題</p><p> ?。?/p>

65、2)左部顯示管理員可做的操作,例如添加、查看分類,查看數(shù)據(jù)等。</p><p> ?。?)主體部分顯示管理員點擊左部以后回饋的頁面,例如顯示分類,并可刪除、修改分類,顯示數(shù)據(jù),顯示接口詳細信息等。</p><p>  3.3.2代碼結構設計</p><p>  本系統(tǒng)采用服務器客戶端架構,服務器端采用SSH三大框架。</p><p>  客戶

66、端負責顯示數(shù)據(jù)。</p><p>  服務器端action層主要負責客服端的跳轉,指向正確的業(yè)務層。</p><p>  服務器端業(yè)務邏輯層Service層,主要處理系統(tǒng)的業(yè)務邏輯,并使表示層與數(shù)據(jù)訪問層分離。</p><p>  數(shù)據(jù)訪問層指的是DAO層,該層主要完成對象-關系映射的建立,通過這個映射和訪問業(yè)務對象即可實現(xiàn)對數(shù)據(jù)庫的訪問,提高了開發(fā)效率。</

67、p><p><b>  數(shù)據(jù)層指數(shù)據(jù)庫。</b></p><p>  代碼結構示意圖如下:</p><p>  圖3-3 代碼結構示意圖</p><p><b>  代碼執(zhí)行流程說明:</b></p><p>  客戶端發(fā)出base64加密的請求,服務器接受到請求后,先做base

68、64解密操作,解密成功后交給對應action處理,action調用對應的業(yè)務層(service),業(yè)務層調用相應的數(shù)據(jù)層(dao)來保存和讀取數(shù)據(jù)。整個框架中只有dao層讀寫數(shù)據(jù)庫的權限。這樣層次分明的處理數(shù)據(jù),這樣做不僅高效,而且程序的可讀性很強。如此將代碼分層,各層的分工明確,降低了各個模塊間的耦合性,使系統(tǒng)便于維護和升級。</p><p><b>  3.4服務器設計</b></

69、p><p>  集成SSH框架的系統(tǒng)從職責上分為四層:表示層、業(yè)務邏輯層、數(shù)據(jù)持久層和域模塊層,以幫助開發(fā)人員在短期內搭建結構清晰、可復用性好、維護方便的Web應用程序。其中使用Struts作為系統(tǒng)的整體基礎架構,負責MVC的分離,在Struts框架的模型部分,控制業(yè)務跳轉,利用Hibernate框架對持久層提供支持,Spring做管理,管理struts和hibernate。具體做法是:用面向對象的分析方法根據(jù)需求提

70、出一些模型,將這些模型實現(xiàn)為基本的Java對象,然后編寫基本的DAO(Data Access Objects)接口,并給出Hibernate的DAO實現(xiàn),采用Hibernate架構實現(xiàn)的DAO類來實現(xiàn)Java類與數(shù)據(jù)庫之間的轉換和訪問,最后由Spring做管理,管理struts和hibernate。</p><p>  3.4.1服務器端工具</p><p><b>  工具和過

71、濾器:</b></p><p> ?。?)處理中文編碼的過濾器。默認使用UTF-8。 </p><p> ?。?)對所有請求url進行base64解密的過濾器。</p><p> ?。?)base64解密工具。</p><p> ?。?)MD5加密工具</p><p>  3.4.2軟件包和JAVA源代碼文

72、件</p><p>  引入spring,struts,hibernate相關的jar包,打印日志的jar,本項目中使用log4g。源碼在src文件下?,F(xiàn)在大致分為7層,為:action,service,service.impl,dao,dao.impl,entity,util七層??紤]service層在不同客服端的業(yè)務邏輯的區(qū)別,將service的實現(xiàn)分層處理;考慮變更數(shù)據(jù)庫的考慮,將dao層的實現(xiàn)獨立開。這樣

73、系統(tǒng)的升級和改版就比較輕松,不在依附原來的設計。實現(xiàn)代碼如圖所示:</p><p>  3.4.3服務器的整體架構</p><p>  服務器整體才用SSH架構,保證各個層之間清晰分工。將數(shù)據(jù)源,定時任務等寫在配置文件beans.xml中,并且可以配置多一個數(shù)據(jù)源,也可以將讀寫數(shù)據(jù)源分開,減小數(shù)據(jù)庫的壓力。對于一個壓力比較大的表,可以采用緩存處理,比如memcached,beans.xml

74、中還包含了事務處理的配置,以及對項目中試題加載的路徑。</p><p>  Action路徑的配置及返回數(shù)據(jù)的路徑配置在struts.xml文件中。對于本項目,正確的返回路徑都是json.jsp,json.jsp頁面中輸出程序返回的結果;出現(xiàn)異常的訪問,返回error.jsp,error頁面輸出錯誤原因。</p><p>  這是服務器端最重要的兩個配置文件,如圖:</p>

75、<p>  圖3-5 服務器beans.xml</p><p>  圖3-6 服務器struts.xml</p><p>  3.4.4服務器對外交互分析</p><p>  為了增加服務器的安全性,對于所用來訪問的url做解密處理,對于解密失敗的url不做處理,一方面減小了服務器的壓力,另一方面增加了服務器的安全性。合法url的訪問返回json數(shù)據(jù),js

76、on 是一種輕量級的數(shù)據(jù)交換格式。json簡單說就是javascript中的對象和數(shù)組,所以這兩種結構就是對象和數(shù)組2種結構,通過這兩種結構可以表示各種復雜的結構:</p><p> ?。?)對象:對象在js中表示為“{}”擴起來的內容,數(shù)據(jù)結構為 {key:value,key:value,...}的鍵值對的結構,在面向對象的語言中,key為對象的屬性,value為對應的屬性值,所以很容易理解,取值方法為 對象.

77、key 獲取屬性值,這個屬性值的類型可以是 數(shù)字、字符串、數(shù)組、對象幾種。</p><p>  (2)數(shù)組:數(shù)組在js中是中括號“[]”擴起來的內容,數(shù)據(jù)結構為 ["java","javascript","vb",...],取值方式和所有語言中一樣,使用索引獲取,字段值的類型可以是 數(shù)字、字符串、數(shù)組、對象幾種。</p><p>

78、<b>  3.5客戶端設計</b></p><p>  3.5.1頁面布局處理</p><p>  iOS的目錄很清晰,只要在工程文件下建立對應的目錄就可以分門別類的放相關類和圖片,json文件,plist文件等。管理起來很方便。</p><p>  圖3-7 客戶端頁面布局</p><p>  頁面處理中最重要的控件

79、在頁面中的布局和定位,還需要適配不同大小的屏幕。難度比較大,鑒于本系統(tǒng)開發(fā)時間和本人能力有限,只是適配了iPhone 手機3.5寸的屏幕,4 寸屏幕沒有做適配。</p><p>  3.5.2客戶端源碼結構</p><p>  iOS的類結構是由兩部分組成,一部分是.h文件,一部分是.m文件,即頭文件和類實現(xiàn)文件,其結構如圖:</p><p>  圖3-8 客戶端.

80、h和.m文件</p><p>  對應每個界面都有一個視圖控制器與之對應,在視圖控制器中實現(xiàn)對界面的布局,搭建,每個試圖控制器中都有一個方法即viewDidLoad,頁面加載時,都會調用viewDidLoad方法,初始化頁面中的各個控件。</p><p>  圖3-9 客戶端源碼結構</p><p><b>  3.6后臺設計</b></

81、p><p>  3.6.1 JSP文件結構 </p><p>  JSP文件放在工程根目錄下的WebRoot文件中jsp文件夾中,公用的jsp文件放在WebRoot根目錄下。目錄結構與服務器后臺大同,此處不在貼出圖片。</p><p>  圖片放置在WebRoot中的image文件夾下。</p><p>  3.6.2 JSTL</p&g

82、t;<p>  JSTL(JSP標準標記庫)是一個實現(xiàn)Web應用程序中常見的通用功能的定制標記庫集,這些功能包括迭代和條件判斷、數(shù)據(jù)管理格式化、XML操作以及數(shù)據(jù)庫訪問。本系統(tǒng)大量用到EL表達式和循環(huán)控制標簽。</p><p><b>  EL語言</b></p><p>  JSTL輸入(輸出)一個JAVA表達式的表示形式。在JSTL語言中,EL語言在

83、JSTL屬性值中使用。EL語言只能通過建立表達式${expression}來進行調用。</p><p><b> ?。?)循環(huán)控制標簽</b></p><p>  用循環(huán)控制標簽來實現(xiàn)在JSP頁面的循環(huán)。例如后臺管理顯示圖書清單的JSP頁面中,需要把圖書信息一條一條地顯示出來,就用到了循環(huán)控制標簽。被<c:forEach>標簽包圍的部分代碼執(zhí)行循環(huán)。<

84、;c:forEach>用到了items,begin,end等屬性。Items表示進行循環(huán)的項目;begin表示開始條件;end表示結束條件。循環(huán)部分代碼見下圖:</p><p>  圖3-10 循環(huán)控制標簽的使用</p><p><b>  jQuery</b></p><p>  jQuery是免費、開源的,使用MIT許可協(xié)議。jQue

85、ry的語法設計可以使開發(fā)者更加便捷,例如操作文檔對象、選擇DOM元素、制作動畫效果、事件處理、使用Ajax以及其他功能。除此以外,jQuery提供API讓開發(fā)者編寫插件。其模塊化的使用方式使開發(fā)者可以很輕松的開發(fā)出功能強大的靜態(tài)或動態(tài)網(wǎng)頁。</p><p><b>  4 系統(tǒng)實現(xiàn)</b></p><p><b>  4.1系統(tǒng)工作過程</b>

86、;</p><p>  圖4-1 系統(tǒng)工作過程</p><p>  4.2引導頁面和幫助頁面展示</p><p><b> ?。?)引導頁:</b></p><p>  引導用戶這款軟件的功能.如圖4-2</p><p><b>  圖4-2 引導頁面</b></p&g

87、t;<p><b>  (2)幫助頁面:</b></p><p>  針對一些較重要的頁面有指導幫助使用頁面。如圖4-3</p><p><b>  圖4-3 幫助頁面</b></p><p><b>  4.3首頁展示 </b></p><p>  不需要登錄就

88、可以進入系統(tǒng),但用戶只有注冊登錄后才可以送、接收禮物。如圖4-4</p><p><b>  圖4-4 首頁</b></p><p>  4.3收送禮物頁面展示 </p><p> ?。?)注冊登錄頁面:</p><p>  用戶可以用手機號注冊賬號,然后登錄即可進入自己的主頁。如圖4-5</p><

89、p>  圖4-5 注冊登錄頁面</p><p>  (2)進入我的UGift頁面:</p><p>  顯示個人信息,并且這是進入禮物單操作頁面的入口和賬戶管理的入口。如圖 4-6</p><p>  圖4-6 我的UGift頁面</p><p> ?。?)選擇商品頁面:</p><p>  商品列表頁面

90、,可以進行選擇,然后進入商品詳情頁面,最后可以把選中的禮物加入禮物單。如圖4-7、圖4-8、圖4-9</p><p>  圖4-7 商品列表頁面圖 4-8 商品詳情頁面圖 4-9 禮物單頁面</p><p>  (4)送禮物,收禮物流程主要頁面:</p><p>  首先選擇收禮人,然后短信或微信通知對方從禮物單里選擇一件禮物。如圖4

91、-10</p><p>  圖4-10 選擇收禮人頁面</p><p>  其次收禮人從禮物單里選擇自己喜歡的禮物,或者拒絕,然后通知送禮人。如圖4-11</p><p>  圖4-11 禮物單詳情頁面</p><p>  然后送禮方收到收禮方發(fā)來選好禮物的通知后,就可以支付該禮物了,然后售禮物方就可以送貨上門了。如圖4-12</p&g

92、t;<p>  圖4-12 支付禮物單詳情頁面</p><p>  最后送禮方支付后,收禮方就可以等待收貨了,還可以查看物流。如圖4-13、4-14 </p><p>  4-13 待收貨禮物單詳情頁面 4-14 查看物流頁面</p><p><b>  5 總 結</b></p><

93、p>  本設計選題為優(yōu)集品(UGift)iPhone客戶端的設計與實現(xiàn)。作為一個C/S的系統(tǒng),具有當前市場上大部分C/S系統(tǒng)的普遍特性。 </p><p>  開發(fā)一款軟件最重要的是需求明確。為此,我在2013年的下半年,初步研究了優(yōu)集品這個網(wǎng)站的功能,并且系統(tǒng)的學習了iOS開發(fā)的相關知識。這期間又學習了java方向的服務器開發(fā),了解了java開發(fā)中的三大框架。所以我選擇了將優(yōu)集品這個交互軟件用java后臺

94、模擬,再用手機客戶端呈現(xiàn)給用戶。到現(xiàn)在為止,我還覺得本系統(tǒng)中有些設計不太合理,比如客戶端方面一些滑動效果的設計沒能實現(xiàn),服務器端某些接口定義的不規(guī)范等等。</p><p>  本系統(tǒng)是一個在mac系統(tǒng)下,xcode編程環(huán)境下,使用OC語言開發(fā)的。這是我在大學期間設計的第一個比較完整的系統(tǒng)。本設計重點主要偏重于代碼部分的設計和編寫,遵循C/S 結構的基本原則,將計算機應用任務分解成多個子任務,由多臺計算機分工完成,

95、即采用“功能分布”原則??蛻舳送瓿蓴?shù)據(jù)處理,數(shù)據(jù)表示以及用戶接口功能;服務器端完成DBMS的核心功能。在開發(fā)階段的后期,實現(xiàn)了最初設計的基本功能的基礎上,又對系統(tǒng)可能出現(xiàn)的問題和錯誤進行了排查和解決,保證了系統(tǒng)運行的穩(wěn)定性。</p><p>  由于在需求分析期間,沒有充分考慮到客戶端的UI設計,導致客戶端設計不合理。在實現(xiàn)在也遇到了一些沒有考慮到的困難。客戶端的logo也設計的比較粗糙。軟件的整體背景也是借鑒于

96、我以前開發(fā)的一款軟件。這些都是因為我沒有美工基礎,且時間比較緊迫。最后只好采取一種妥協(xié)的方式,網(wǎng)上找了些圖片P了一下。服務器方面由于沒有自己的服務器,所以只能將服務器代碼部署在本地,這就要求部署代碼的電腦和手機在同一個網(wǎng)絡下,這需要借助一個無線路由器。這也使得調試工作變的繁瑣和限制。整體上來講,服務器的接口定義的還比較合理,但是由于我在iOS方面的技術欠缺,有些功能還未來得及實現(xiàn)。對于整個系統(tǒng)的開發(fā)和工作協(xié)調,我想在我以后的工作中一定是

97、一筆不可估量的財富。</p><p>  畢業(yè)設計是大學學習的一個總結,是一個學生真實知識水平的試金石。在做畢業(yè)設計的這段時間里,我力求完美的完成它,雖然仍有些許遺憾和不足之處,但我依然從中學到了許多。希望這次設計能為我的本科學習和生活畫上完美的句號。</p><p><b>  參考文獻</b></p><p>  [1] 張孝祥、徐明華叢書

98、主編,邱加永等編著,JSP基礎與案例開發(fā)詳解(軟件開發(fā)課堂),北京:清華大學出版社 2009-8</p><p>  [2] (美)昂納日托,JSP速成教程,北京,機械工業(yè)出版社 2002</p><p>  [3] 唐振明編,JavaEE架構與程序設計,北京:電子工業(yè)出版社 2011-10</p><p>  [4] 湯鳴紅編,JavaWeb應用開發(fā),北京:化學工

99、業(yè)出版社 2009-7</p><p>  [5] 陳亞輝編, Struts2+Spring+Hibernate框架技術與項目實戰(zhàn),清華大學出版社</p><p>  [6] 李剛編, 輕量級Java EE企業(yè)應用實戰(zhàn)(第3版),電子工業(yè)出版社</p><p>  [7] Jocy Geogre,Dinesh Batra,Joseph Valacich,Jeffre

100、y Hoffer著,龔曉慶等譯,面向對象分析與設計,北京:清華大學出版社 2008-1</p><p>  [8] Baron Schwartz,Peter Zaitsev,Vadim Tkachenko,Jeremy D.Zawodny,Arjen Lent,Derek J.Ballin,高性能MySQL,電子工業(yè)出版社</p><p>  [9] iPhone 開發(fā)入門經典(第2版)書

101、籍作者:[美] John Ray 人民郵電出版社 2011-11 </p><p>  [10] 輕松玩轉iPhone 4s 書籍作者:王一檸、李春燕、趙國宇等編 化學工業(yè)出版社 2012-3 </p><p>  [11] iPhone開發(fā)基礎教程 馬克 人民郵電 2009-4-1 </p><p>  [12] iPhone 4 應用程序開發(fā)入門與實戰(zhàn) 作者:

102、楊正洪、蘇偉基、鄭齊心、杜理淵 2012-2-29</p><p><b>  致 謝</b></p><p>  四年的大學生活匆匆而過,我們的校園生活就要走到盡頭,心中是無盡的難舍與眷戀。這四年是我們人生中重要的四年,也為我們的社會實踐做了一個堅實的鋪墊。自此,我們將要奮斗在這個社會大環(huán)境中。</p><p>  回首四年,取得了許多

103、成績,生活中有快樂也有艱辛。感謝老師四年來對我孜孜不倦的教誨,對我成長的關心和愛護。</p><p>  同窗情深,情同兄妹。四年的美好時光,我們一同走過,充滿著友愛,給我的人生留下美好的一筆。</p><p>  我要特別的感謝我的父母。在我的十幾年求學歷程里,是他們默默的鼓勵和支持,用辛勤勞作的雙手,為我無私的付出,為我創(chuàng)造可能的學習條件,我才能順利完成學業(yè),感激他們一直以來對我的撫養(yǎng)

104、與培育。</p><p>  最后,我要特別感謝我的指導老師王克儉教授。是她在我畢業(yè)的最后關頭給了我巨大的幫助與鼓勵,使我能夠順利完成畢業(yè)設計,在此表示衷心的感激。</p><p>  王克儉老師認真負責的工作態(tài)度,嚴謹?shù)闹螌W精神和深厚的理論水平都使我受益匪淺。她無論在理論上還是在實踐中,都給與我很大的幫助,使我得到不少的提高,這對于我以后的工作和學習都有一種巨大的幫助,感謝她耐心的輔導。

溫馨提示

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

評論

0/150

提交評論