版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
本科畢業(yè)論文(設(shè)計(jì))題目:移動終端(iPhone)應(yīng)用軟件優(yōu)集品的設(shè)計(jì)與開發(fā)學(xué)院:專業(yè)班級:學(xué)號:學(xué)生姓名:指導(dǎo)教師姓名:指導(dǎo)教師職稱:年月日PAGE2摘要伴隨著3G網(wǎng)絡(luò)的發(fā)展,手機(jī)越來越普及并且成為最便捷的聯(lián)接網(wǎng)絡(luò)的終端。消費(fèi)者也越來越注重對各個(gè)平臺的手機(jī)軟件的體驗(yàn)。而且開發(fā)者也越來越注重手機(jī)客戶端的市場和推廣。對于如此便捷的環(huán)境,也應(yīng)運(yùn)產(chǎn)生了一批優(yōu)秀的跨各種平臺的交互軟件。蘋果iOS是由蘋果公司開發(fā)的移動操作系統(tǒng)。蘋果公司最早于2007年1月9日的Macworld大會上公布這個(gè)系統(tǒng),最初是設(shè)計(jì)給iPhone使用的,后來陸續(xù)套用到iPodtouch、iPad以及AppleTV等產(chǎn)品上。iOS與蘋果的MacOSX操作系統(tǒng)一樣,它也是以Darwin為基礎(chǔ)的,因此同樣屬于類Unix的商業(yè)操作系統(tǒng)。原本這個(gè)系統(tǒng)名為iPhoneOS,因?yàn)閕Pad,iPhone,iPodTouch都使用iPhoneOS,所以2010WWDC大會上宣布改名為iOS(IOS為美國Cisco公司網(wǎng)絡(luò)設(shè)備操作系統(tǒng)注冊商標(biāo),蘋果改名已獲得Cisco公司授權(quán))。iOS具有簡單易用的界面、令人驚嘆的功能,以及超強(qiáng)的穩(wěn)定性,已經(jīng)成為iPhone、iPad和iPodtouch的強(qiáng)大基礎(chǔ)。盡管其他競爭對手一直努力地追趕,iOS內(nèi)置的眾多技術(shù)和功能讓Apple設(shè)備始終保持著遙遙領(lǐng)先的地位。為了方便好友之間的交互,為了方便好友之間互贈禮物,為了鍛煉自身能力,我針對于優(yōu)集品網(wǎng),開發(fā)了一款iPhone的交互客戶端--優(yōu)集品。優(yōu)集品(UGift)是一款交互軟件,是為了方便朋友,同學(xué),家人等各種社會關(guān)系的人群互相贈送禮物。該系統(tǒng)采用C/S架構(gòu)。系統(tǒng)基于iOS系統(tǒng)開發(fā),采用java做服務(wù)器后臺,并且可以方便的擴(kuò)展開發(fā)android客戶端。在網(wǎng)絡(luò)發(fā)展成熟的今天,靈活實(shí)時(shí)的保證了數(shù)據(jù)的統(tǒng)一。采用java技術(shù)設(shè)計(jì)和實(shí)現(xiàn)服務(wù)器,用iOS實(shí)現(xiàn)客戶端,保證軟件良好運(yùn)行。我主要實(shí)現(xiàn)iPhone客戶端,數(shù)據(jù)我寫在了一些json文件里,是一些簡單的測試數(shù)據(jù),一些功能需要服務(wù)器端的配合才能實(shí)現(xiàn),還有一些功能只能在真機(jī)上實(shí)現(xiàn),模擬器上無法實(shí)現(xiàn)。這里我簡要介紹了java三大框架開發(fā)(struts+spring+hibernate)的技術(shù)特點(diǎn)和數(shù)據(jù)庫技術(shù),隨后簡要的概述iOS的開發(fā)要點(diǎn),在后臺數(shù)據(jù)管理方面用到j(luò)sp技術(shù)。并且構(gòu)建了一個(gè)C/S模式的交互購物系統(tǒng),并對該系統(tǒng)進(jìn)行了需求分析,總體設(shè)計(jì),詳細(xì)設(shè)計(jì),編碼與測試。并為后臺數(shù)據(jù)管理做了一個(gè)簡單的分析。關(guān)鍵詞:優(yōu)集品;交互;iOS;iPhoneAbstractWiththedevelopmentof3Gnetworks,mobilephonesbecomemoreandmorepopularandthemostconvenientconnectionnetworkterminal.Consumersarealsoincreasinglyfocusedontheexperienceofeachplatformmobilesoftware.Anddevelopersareincreasinglyfocusingonmobileclientmarketingandpromotion.Forsuchaconvenientenvironment,shouldalsoproduceanumberofoutstandingtransportedacrossavarietyofplatformsforinteractivesoftware.AppleiOSisApple'smobileoperatingsystemdeveloped.ApplefirstannouncedatMacworldConferenceJanuary9,2007onthesystem,originallydesignedforuseintheiPhone,theiPodtouch,iPadandAppleTV,etc.thengraduallyappliedto.iOSandApple'sMacOSXoperatingsystem,itisalsobasedinDarwin,andthereforebelongtothesameclassofcommercialUnixoperatingsystem.ThissystemwasoriginallycallediPhoneOS,becausetheiPad,iPhone,iPodTouchusetheiPhoneOS,itannouncedon2010WWDCAssemblyrenamediOS(IOSCisco'snetworkingequipmentfortheU.S.registeredtrademarkoperatingsystem,ApplehasbeenrenamedCiscoauthorized).iOShasasimple-to-useinterface,amazingfeatures,andsuperiorstability,hasbecomeastrongfoundationforiPhone,iPadandiPodtouch.Whileothercompetitorshavebeentryingtocatchup,iOSbuiltnumeroustechnicalandfunctionalequipmentallowsApplehasmaintainedaleadposition.Inordertofacilitatetheinteractionbetweenfriends,inordertofacilitatetheexchangeofgiftsbetweenfriends,inordertoexercisetheirabilitytosetmeagainstthesuperiorproductonthenetwork,hasdevelopedaniPhoneclientinteraction-excellentsetofproducts.UGSproducts(UGift)isaninteractivesoftware,istofacilitateafriend,peopleofvarioussocialrelationsclassmates,familymembersandothergiveeachothergifts.ThesystemusesC/Sarchitecture.SystemisbasedoniOSsystemdevelopment,usingjavaserverdothebackgroundandcanbeeasilyextendedtodevelopandroidclient.Developedinthenetworktoday,toensureaunifiedandflexiblereal-timedata.TechnicaldesignandimplementationusingjavaserverusingiOSachieveclientsoftwaretoensureagoodrun.MymainachievementoftheiPhoneclient,thedataIwrotesomejsonfile,aresomesimpletestdata,someofthefeaturesneededtoachievewiththeserver,therearesomefeaturescanonlybeachievedonarealmachine,cannotbeachievedonthesimulator.Here,Ibrieflyintroducedthethreeframeworksjavadevelopment(strutsspringhibernate)technicalfeaturesanddatabasetechnology,developmentpointsfollowedbyabriefoverviewofiOS,jsptechnologyusedinthebackgrounddatamanagement.AndbuildaC/Smodeinteractiveshoppingsystem,andthesystemrequirementsanalysis,design,detaileddesign,codingandtesting.Anddoasimpleanalysisofbackgrounddatamanagement.Keywords:UGift;interaction;iOS;iPhone目錄TOC\o"1-3"\h\u1緒論 11.1選題背景 11.2發(fā)展現(xiàn)狀 11.3論文研究內(nèi)容 22技術(shù)簡介 32.1C/S架構(gòu)簡介 32.2JSP技術(shù)簡介 32.3MVC框架簡介 42.4Struts+Spring+Hibernate框架簡介 42.5數(shù)據(jù)庫技術(shù)簡介 42.6android技術(shù)簡介 52.7IOS技術(shù)簡介 53系統(tǒng)設(shè)計(jì) 63.1需求分析 63.1.1功能需求 63.1.2性能需求 63.1.3開發(fā)環(huán)境 63.1.4運(yùn)行環(huán)境 73.2業(yè)務(wù)流程設(shè)計(jì) 73.2.1客戶端業(yè)務(wù)流程設(shè)計(jì) 73.2.2后臺業(yè)務(wù)流程設(shè)計(jì) 73.3系統(tǒng)結(jié)構(gòu)設(shè)計(jì) 83.3.1頁面結(jié)構(gòu)設(shè)計(jì) 83.3.2代碼結(jié)構(gòu)設(shè)計(jì) 83.4服務(wù)器設(shè)計(jì) 103.4.1服務(wù)器端工具 103.4.2軟件包和JAVA源代碼文件 103.4.3服務(wù)器的整體架構(gòu) 103.4.4服務(wù)器對外交互分析 113.5客戶端設(shè)計(jì) 123.5.1頁面布局處理 123.5.2客戶端源碼結(jié)構(gòu) 123.6后臺設(shè)計(jì) 133.6.1JSP文件結(jié)構(gòu) 133.6.2JSTL 134系統(tǒng)實(shí)現(xiàn) 154.1系統(tǒng)工作過程 154.2引導(dǎo)頁面和幫助頁面展示 164.3首頁展示 164.3收送禮物頁面展示 17總結(jié) 20參考文獻(xiàn) 21致謝 22PAGE221緒論1.1選題背景在互聯(lián)網(wǎng)高度發(fā)展的今天,雖然有不少的購物網(wǎng)站,但購物軟件卻很少,尤其是手機(jī)客戶端上的購物軟件,贈送禮物的就更少了,像qq等類的贈送禮物都是些虛擬禮物。為了方便大家購物,贈送好友禮物,尤其是過節(jié)、過生日等的時(shí)候贈送禮物,我設(shè)計(jì)開發(fā)了本系統(tǒng)。只要有網(wǎng)絡(luò),大家就可以隨時(shí)隨地,給你想要贈送禮物的人贈送禮物,既可以親近關(guān)系,又可以表達(dá)祝福。隨著社會的發(fā)展,生活環(huán)境的改善,生活水平的提高,現(xiàn)在越來越多的人擁有了手機(jī),甚至小學(xué)生、初中生都有了手機(jī),iPhone手機(jī)也不在少數(shù),并且這款軟件也可以在android手機(jī)上開發(fā),所以手機(jī)移動端軟件的市場將會越來越大,而且手機(jī)購物將是一個(gè)趨向。1.2發(fā)展現(xiàn)狀在最近幾年里,移動通信和互聯(lián)網(wǎng)成為當(dāng)今世界發(fā)展最快、市場潛力最大、前景最誘人的兩大業(yè)務(wù)。它們的增長速度都是任何預(yù)測家未曾預(yù)料到的。迄今,全球移動用戶已超過15億,互聯(lián)網(wǎng)用戶也已逾7億。中國移動通信用戶總數(shù)超過3.6億,互聯(lián)網(wǎng)用戶總數(shù)則超過1億。這一歷史上從來沒有過的高速增長現(xiàn)象反映了隨著時(shí)代與技術(shù)的進(jìn)步,人類對移動性和信息的需求急劇上升。越來越多的人希望在移動的過程中高速地接入互聯(lián)網(wǎng),獲取急需的信息,完成想做的事情。所以,出現(xiàn)的移動與互聯(lián)網(wǎng)相結(jié)合的趨勢是歷史的必然。移動互聯(lián)網(wǎng)正逐漸滲透到人們生活、工作的各個(gè)領(lǐng)域,短信、鈴圖下載、移動音樂、手機(jī)游戲、視頻應(yīng)用、手機(jī)支付、位置服務(wù)等豐富多彩的移動互聯(lián)網(wǎng)應(yīng)用迅猛發(fā)展,正在深刻改變信息時(shí)代的社會生活,移動互聯(lián)網(wǎng)經(jīng)過幾年的曲折前行,終于迎來了新的發(fā)展高潮。移動互聯(lián)網(wǎng)的浪潮正在席卷到社會的方方面面,新聞閱讀、視頻節(jié)目、電商購物、公交出行等熱門應(yīng)用都出現(xiàn)在移動終端上,在蘋果和安卓商店的下載已達(dá)到數(shù)百億次,而移動用戶規(guī)模更是超過了PC用戶。這讓企業(yè)級用戶意識到移動應(yīng)用的必要性,紛紛開始規(guī)劃和摸索進(jìn)入移動互聯(lián)網(wǎng),客觀上加快了企業(yè)級移動應(yīng)用市場的發(fā)展。移動互聯(lián)網(wǎng)擁有廣闊的前景,對互聯(lián)網(wǎng)企業(yè)來說,可謂是一塊巨大的蛋糕,誰都想搶先進(jìn)入這個(gè)市場,贏得先機(jī)大咬一口。因此,可以預(yù)見,對移動互聯(lián)網(wǎng)行業(yè)市場與用戶的爭奪將越演越烈,而這些潛在的用戶擁有著與以往不同的特點(diǎn),也使得互聯(lián)網(wǎng)企業(yè)的下一步戰(zhàn)略將面臨更多的挑戰(zhàn)。尤其在移動支付和移動電子商務(wù)將會是未來發(fā)展的一大方向。移動支付蘊(yùn)藏巨大商機(jī):支付手段的電子化和移動化是不可避免的必然趨勢,移動支付業(yè)務(wù)發(fā)展預(yù)示著移動行業(yè)與金融行業(yè)融合的深入。移動電子商務(wù)的春天即將到來:移動電子商務(wù)可以為用戶隨時(shí)隨地提供所需的服務(wù)、應(yīng)用、信息和娛樂,利用手機(jī)終端方便便捷地選擇及購買商品和服務(wù)。多種支付方式,使用方便。移動支付平臺不僅支持各種銀行卡通過網(wǎng)上進(jìn)行支付,而且還支持手機(jī)、電話等多種終端操作,符合網(wǎng)上消費(fèi)者最求個(gè)性化、多樣化的需求。所以購物軟件所占有的市場將會越來越大,尤其手機(jī)移動終端的購物軟件將會得到更大的發(fā)展。1.3論文研究內(nèi)容iOS具有簡單易用的界面、令人驚嘆的功能,以及超強(qiáng)的穩(wěn)定性,已經(jīng)成為iPhone、iPad和iPodtouch的強(qiáng)大基礎(chǔ)。盡管其他競爭對手一直努力地追趕,iOS內(nèi)置的眾多技術(shù)和功能讓Apple設(shè)備始終保持著遙遙領(lǐng)先的地位。為了方便好友之間的交互,為了方便好友之間互贈禮物,為了鍛煉自身能力,我針對于優(yōu)集品網(wǎng),開發(fā)了一款iPhone的交互客戶端--優(yōu)集品。優(yōu)集品(UGift)是一款交互軟件,是為了方便朋友,同學(xué),家人等各種社會關(guān)系的人群互相贈送禮物。該系統(tǒng)采用C/S架構(gòu)。系統(tǒng)基于iOS系統(tǒng)開發(fā),采用java做服務(wù)器后臺,并且可以方便的擴(kuò)展開發(fā)android客戶端。在網(wǎng)絡(luò)發(fā)展成熟的今天,靈活實(shí)時(shí)的保證了數(shù)據(jù)的統(tǒng)一。采用java技術(shù)設(shè)計(jì)和實(shí)現(xiàn)服務(wù)器,用iOS實(shí)現(xiàn)客戶端,保證軟件良好運(yùn)行。我主要實(shí)現(xiàn)iPhone客戶端,數(shù)據(jù)我寫在了一些json文件里,是一些簡單的測試數(shù)據(jù),一些功能需要服務(wù)器端的配合才能實(shí)現(xiàn),還有一些功能只能在真機(jī)上實(shí)現(xiàn),模擬器上無法實(shí)現(xiàn)。這里我簡要介紹了java三大框架開發(fā)(struts+spring+hibernate)的技術(shù)特點(diǎn)和數(shù)據(jù)庫技術(shù),隨后簡要的概述iOS的開發(fā)要點(diǎn),在后臺數(shù)據(jù)管理方面用到j(luò)sp技術(shù)。并且構(gòu)建了一個(gè)C/S模式的交互購物系統(tǒng),并對該系統(tǒng)進(jìn)行了需求分析,總體設(shè)計(jì),詳細(xì)設(shè)計(jì),編碼與測試。并為后臺數(shù)據(jù)管理做了一個(gè)簡單的分析。2技術(shù)簡介2.1C/S架構(gòu)簡介客戶端和服務(wù)器架構(gòu)。它是軟件系統(tǒng)體系結(jié)構(gòu),通過它可以充分利用兩端硬件環(huán)境的優(yōu)勢,將任務(wù)合理分配到Client端和Server端來實(shí)現(xiàn),降低了系統(tǒng)的通訊開銷。目前大多數(shù)應(yīng)用軟件系統(tǒng)都是Client/Server形式的兩層結(jié)構(gòu),由于現(xiàn)在的軟件應(yīng)用系統(tǒng)正在向分布式的Web應(yīng)用發(fā)展,Web和Client/Server應(yīng)用都可以進(jìn)行同樣的業(yè)務(wù)處理,應(yīng)用不同的模塊共享邏輯組件;因此,內(nèi)部的和外部的用戶都可以訪問新的和現(xiàn)有的應(yīng)用系統(tǒng),通過現(xiàn)有應(yīng)用系統(tǒng)中的邏輯可以擴(kuò)展出新的應(yīng)用系統(tǒng)。這也就是目前應(yīng)用系統(tǒng)的發(fā)展方向。C/S結(jié)構(gòu)的優(yōu)點(diǎn)是能充分發(fā)揮客戶端PC的處理能力,很多工作可以在客戶端處理后再提交給服務(wù)器。對應(yīng)的優(yōu)點(diǎn)就是客戶端響應(yīng)速度快。具體表現(xiàn)在以下兩點(diǎn):(1)應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較輕。最簡單的C/S體系結(jié)構(gòu)的數(shù)據(jù)庫應(yīng)用由兩部分組成,即客戶應(yīng)用程序和數(shù)據(jù)庫服務(wù)器程序。二者可分別稱為前臺程序與后臺程序。運(yùn)行數(shù)據(jù)庫服務(wù)器程序的機(jī)器,也稱為應(yīng)用服務(wù)器。一旦服務(wù)器程序被啟動,就隨時(shí)等待響應(yīng)客戶程序發(fā)來的請求;客戶應(yīng)用程序運(yùn)行在用戶自己的電腦上,對應(yīng)于數(shù)據(jù)庫服務(wù)器,可稱為客戶電腦,當(dāng)需要對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行任何操作時(shí),客戶程序就自動地尋找服務(wù)器程序,并向其發(fā)出請求,服務(wù)器程序根據(jù)預(yù)定的規(guī)則作出應(yīng)答,送回結(jié)果,應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較輕。(2)數(shù)據(jù)的儲存管理功能較為透明。在數(shù)據(jù)庫應(yīng)用中,數(shù)據(jù)的儲存管理功能,是由服務(wù)器程序和客戶應(yīng)用程序分別獨(dú)立進(jìn)行的,并且通常把那些不同的(不管是已知還是未知的)前臺應(yīng)用所不能違反的規(guī)則,在服務(wù)器程序中集中實(shí)現(xiàn),例如訪問者的權(quán)限,編號可以重復(fù)、必須有客戶才能建立定單這樣的規(guī)則。所有這些,對于工作在前臺程序上的最終用戶,是“透明”的,他們無須過問(通常也無法干涉)背后的過程,就可以完成自己的一切工作。在客戶服務(wù)器架構(gòu)的應(yīng)用中,前臺程序不是非?!笆菪 保闊┑氖虑槎冀唤o了服務(wù)器和網(wǎng)絡(luò)。在C/S體系下,數(shù)據(jù)庫不能真正成為公共、專業(yè)化的倉庫,它受到獨(dú)立的專門管理。2.2JSP技術(shù)簡介JSP(JavaServerPages)是一種基于內(nèi)置Java代碼的、用于創(chuàng)建動態(tài)內(nèi)容的腳本語言,它天然地具備Java技術(shù)的跨平臺特性,從而在廣泛的基于網(wǎng)絡(luò)的應(yīng)用中迅速得到應(yīng)用,成為當(dāng)前軟件領(lǐng)域最熱門的技術(shù)之一。JSP技術(shù)設(shè)計(jì)多種軟件技術(shù)和標(biāo)準(zhǔn),諸如Java、HTML、數(shù)據(jù)庫等,并且廣泛應(yīng)用于動態(tài)網(wǎng)站的建設(shè)中。2.3MVC框架簡介M(Model,模型)、V(view,視圖)、C(controller,控制器)。是XeroxPARC在八十年代為編程語言Smalltalk-80發(fā)明的一種軟件設(shè)計(jì)模式,至今已被廣泛使用。最近幾年被推薦位Oracle旗下Sun公司JavaEE平臺的設(shè)計(jì)模式,并且受到越來越多的使用ColdFusion和PHP開發(fā)者的歡迎。MVC設(shè)計(jì)模式把程序的輸入、處理和輸出分開,使各個(gè)部件處理自己的任務(wù)。使程序有較高的重用性和適用性,并且有著較低的生命周期成本,有利于軟件工程化管理并具備較高的可維護(hù)性。2.4Struts+Spring+Hibernate框架簡介Struts只是一個(gè)MVC框架(Framework),用于快速開發(fā)JavaWeb應(yīng)用。Struts實(shí)現(xiàn)的重點(diǎn)在C(Controller),包括ActionServlet/RequestProcessor和我們定制的Action,也為V(View)提供了一系列定制標(biāo)簽(CustomTag)。但Struts幾乎沒有涉及M(Model),所以Struts可以采用JAVA實(shí)現(xiàn)的任何形式的商業(yè)邏輯。Spring是一個(gè)輕型容器(light-weightcontainer),其核心是Bean工廠(BeanFactory),用以構(gòu)造我們所需要的M(Model)。在此基礎(chǔ)之上,Spring提供了AOP(Aspect-OrientedProgramming,面向?qū)用娴木幊蹋┑膶?shí)現(xiàn),用它來提供非管理環(huán)境下申明方式的事務(wù)、安全等服務(wù);對Bean工廠的擴(kuò)展ApplicationContext更加方便我們實(shí)現(xiàn)J2EE的應(yīng)用;DAO/ORM的實(shí)現(xiàn)方便我們進(jìn)行數(shù)據(jù)庫的開發(fā);WebMVC和SpringWeb提供了JavaWeb應(yīng)用的框架或與其他流行的Web框架進(jìn)行集成。
就是說可將兩者一起使用,達(dá)到將兩者自身的特點(diǎn)進(jìn)行互補(bǔ)。Hibernate是一個(gè)免費(fèi)的開源Java包,它使得與關(guān)系數(shù)據(jù)庫打交道變得十分輕松,就像您的數(shù)據(jù)庫中包含每天使用的普通Java對象一樣,同時(shí)不必考慮如何把它們從神秘的數(shù)據(jù)庫表中取出(或放回到數(shù)據(jù)庫表中)。它解放了您,使您可以專注于應(yīng)用程序的對象和功能,而不必?fù)?dān)心如何保存它們或稍后如何找到它們。2.5數(shù)據(jù)庫技術(shù)簡介數(shù)據(jù)庫技術(shù)是現(xiàn)代信息科學(xué)與技術(shù)的重要組成部分,是計(jì)算機(jī)數(shù)據(jù)處理與信息管理系統(tǒng)的核心。數(shù)據(jù)庫技術(shù)研究和結(jié)局了計(jì)算機(jī)信息處理過程中大量數(shù)據(jù)有效地組織和存儲的問題,在數(shù)據(jù)庫系統(tǒng)中減少數(shù)據(jù)存儲冗余,實(shí)現(xiàn)數(shù)據(jù)共享、保障數(shù)據(jù)安全以及高效得檢索和處理數(shù)據(jù)。SQL:StructuredQueryLanguage(結(jié)構(gòu)化查詢語言),是一種數(shù)據(jù)庫查詢和程序設(shè)計(jì)語言,可以用于存儲數(shù)據(jù),查詢、更新管理關(guān)系數(shù)據(jù)庫系統(tǒng)。嵌入到Java代碼中實(shí)現(xiàn)對數(shù)據(jù)庫的操作。2.6android技術(shù)簡介Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要使用于移動設(shè)備。Android構(gòu)建在Linux內(nèi)核上,利用linux完成其內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)和其他操作系統(tǒng)服務(wù)工作。linux內(nèi)核層上面的一層中包含了Android的本機(jī)庫。這些共享庫都是用C或C++語言編譯的,并且針對電話使用的特定硬件架構(gòu)進(jìn)行了編譯,并已由手機(jī)制造商預(yù)先安裝到手機(jī)中。2.7IOS技術(shù)簡介IOS用的開發(fā)語言是Object-C開發(fā)工具是X-Code操作系統(tǒng)是Mac
Object-C:本來是沒有垃圾回收機(jī)制的語言,也就是要讓程序員來控制申請和釋放內(nèi)存的。但是蘋果做了很多的工作?,F(xiàn)在有個(gè)叫做ARC的技術(shù)能夠讓程序員寫的程序幾乎不用去管理內(nèi)存了。跟JAVA,CSharp那些一樣了。所以如果只是做一般的APP開發(fā)很容易學(xué)懂和上手。也有很多先進(jìn)的技術(shù)比如動態(tài)擴(kuò)展類了(跟JS的prototype一樣),block(匿名函數(shù),讓異步操作更簡單)
開發(fā)框架:真?zhèn)€平臺對MCV做的已經(jīng)很完善了,所以貌似沒有什么很有名的開發(fā)框架。但是各種庫很多。
X-Code:一個(gè)集成的開發(fā)環(huán)境。里面包含了界面設(shè)計(jì),代碼編寫,編譯,運(yùn)行,事件綁定,在設(shè)備上運(yùn)行APP,簽名,發(fā)布APP到蘋果商店。都是很容易使用。
3系統(tǒng)設(shè)計(jì)3.1需求分析3.1.1功能需求功能需求分析是整個(gè)軟件工程中的一個(gè)最關(guān)鍵的過程。主要任務(wù)是根據(jù)用戶需求和運(yùn)行條件,確定系統(tǒng)將實(shí)現(xiàn)的功能。經(jīng)過需求分析,本系統(tǒng)由客戶端和服務(wù)器端兩部分組成。由服務(wù)器為客戶端提供統(tǒng)一的接口,數(shù)據(jù)由服務(wù)器統(tǒng)一下發(fā),由客戶端顯示。兩個(gè)部分分工明確,共同完成本系統(tǒng)的業(yè)務(wù)流程。具體需求如下:客戶端:(1)用戶注冊、登錄、修改個(gè)人信息;(2)查看商品列表,分類查看,查看商品詳情;(3)選好篩選條件,再搖一搖隨機(jī)選擇符合條件的商品或者直接通過篩選條件查找商品;(4)選擇禮物加入禮物單,發(fā)給好友禮物單,好友選好自己喜歡的禮物(接收方也可以拒絕),送禮物方支付后,貨物就可以發(fā)給收禮物方。服務(wù)器:(1)添加分類,查看分類信息,管理分類信息(修改、刪除);(2)查看某段時(shí)間內(nèi)接口成功響應(yīng)耗時(shí),以及多個(gè)接口耗時(shí)對比圖;(3)查看各個(gè)分類下的詳細(xì)數(shù)據(jù)信息;(4)規(guī)定所有接口數(shù)據(jù)的下發(fā);(5)配合客戶端完成送禮物和接收禮物的流程;(6)統(tǒng)一管理用戶信息和數(shù)據(jù)。3.1.2性能需求(1)系統(tǒng)安全性:業(yè)務(wù)邏輯不對外暴露,保證系統(tǒng)安全。(2)系統(tǒng)穩(wěn)定性:保證系統(tǒng)運(yùn)行穩(wěn)定,對可能出現(xiàn)的異常加以處理。(3)界面友好性:提供簡易實(shí)用的用戶界面。(4)數(shù)據(jù)安全性:用戶身份驗(yàn)證,管理員后臺管理數(shù)據(jù)庫,保證數(shù)據(jù)安全。3.1.3開發(fā)環(huán)境(1)操作系統(tǒng):MacOSX10.8.5,iOS(2)服務(wù)器:Apache-Tomcat-6.0.32(3)數(shù)據(jù)庫:MySQL(4)數(shù)據(jù)庫設(shè)計(jì):NavicatforMySQL(5)開發(fā)軟件:Xcode5.0(6)瀏覽器:google瀏覽器3.1.4運(yùn)行環(huán)境本系統(tǒng)的運(yùn)行主要分兩個(gè)部分,客戶端目前只開發(fā)了iOS版本,android版本作可擴(kuò)展考慮;服務(wù)器運(yùn)行在tomcat下,tomcat可以運(yùn)行在windows下也可以運(yùn)行在linux,服務(wù)器端跨平臺性很強(qiáng)。3.2業(yè)務(wù)流程設(shè)計(jì)3.2.1客戶端業(yè)務(wù)流程設(shè)計(jì)客戶端主要完成用戶注冊、登錄、查找商品,送禮物,接收禮物等的工作:用戶身份驗(yàn)證:注冊賬號,已注冊的用戶可以登錄和切換用戶;登錄用戶可以查看個(gè)人信息,修改個(gè)人資料;(3)登錄用戶可以查看商品,收藏商品;(4)登錄用戶送禮物,接收禮物;(5)登錄用戶可以對商品進(jìn)行支付;客戶端業(yè)務(wù)流程如圖:圖3-1客戶端業(yè)務(wù)流程圖3.2.2后臺業(yè)務(wù)流程設(shè)計(jì)后臺幫助管理員完成對整個(gè)系統(tǒng)的管理工作:(1)分類管理:添加分類信息,查看分類信息,修改、刪除分類信息;(2)對所有的用戶都有管理權(quán)限,統(tǒng)一管理用戶及信息;(3)監(jiān)控各個(gè)接口的運(yùn)行情況;后臺業(yè)務(wù)流程圖:圖3-2后臺業(yè)務(wù)流程圖3.3系統(tǒng)結(jié)構(gòu)設(shè)計(jì)3.3.1頁面結(jié)構(gòu)設(shè)計(jì)后臺分三部分:上部,左部,主體部分。(1)上部顯示后臺主頁標(biāo)題(2)左部顯示管理員可做的操作,例如添加、查看分類,查看數(shù)據(jù)等。(3)主體部分顯示管理員點(diǎn)擊左部以后回饋的頁面,例如顯示分類,并可刪除、修改分類,顯示數(shù)據(jù),顯示接口詳細(xì)信息等。3.3.2代碼結(jié)構(gòu)設(shè)計(jì)本系統(tǒng)采用服務(wù)器客戶端架構(gòu),服務(wù)器端采用SSH三大框架??蛻舳素?fù)責(zé)顯示數(shù)據(jù)。服務(wù)器端action層主要負(fù)責(zé)客服端的跳轉(zhuǎn),指向正確的業(yè)務(wù)層。服務(wù)器端業(yè)務(wù)邏輯層Service層,主要處理系統(tǒng)的業(yè)務(wù)邏輯,并使表示層與數(shù)據(jù)訪問層分離。數(shù)據(jù)訪問層指的是DAO層,該層主要完成對象-關(guān)系映射的建立,通過這個(gè)映射和訪問業(yè)務(wù)對象即可實(shí)現(xiàn)對數(shù)據(jù)庫的訪問,提高了開發(fā)效率。數(shù)據(jù)層指數(shù)據(jù)庫。代碼結(jié)構(gòu)示意圖如下:圖3-3代碼結(jié)構(gòu)示意圖代碼執(zhí)行流程說明:客戶端發(fā)出base64加密的請求,服務(wù)器接受到請求后,先做base64解密操作,解密成功后交給對應(yīng)action處理,action調(diào)用對應(yīng)的業(yè)務(wù)層(service),業(yè)務(wù)層調(diào)用相應(yīng)的數(shù)據(jù)層(dao)來保存和讀取數(shù)據(jù)。整個(gè)框架中只有dao層讀寫數(shù)據(jù)庫的權(quán)限。這樣層次分明的處理數(shù)據(jù),這樣做不僅高效,而且程序的可讀性很強(qiáng)。如此將代碼分層,各層的分工明確,降低了各個(gè)模塊間的耦合性,使系統(tǒng)便于維護(hù)和升級。3.4服務(wù)器設(shè)計(jì)集成SSH框架的系統(tǒng)從職責(zé)上分為四層:表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層和域模塊層,以幫助開發(fā)人員在短期內(nèi)搭建結(jié)構(gòu)清晰、可復(fù)用性好、維護(hù)方便的Web應(yīng)用程序。其中使用Struts作為系統(tǒng)的整體基礎(chǔ)架構(gòu),負(fù)責(zé)MVC的分離,在Struts框架的模型部分,控制業(yè)務(wù)跳轉(zhuǎn),利用Hibernate框架對持久層提供支持,Spring做管理,管理struts和hibernate。具體做法是:用面向?qū)ο蟮姆治龇椒ǜ鶕?jù)需求提出一些模型,將這些模型實(shí)現(xiàn)為基本的Java對象,然后編寫基本的DAO(DataAccessObjects)接口,并給出Hibernate的DAO實(shí)現(xiàn),采用Hibernate架構(gòu)實(shí)現(xiàn)的DAO類來實(shí)現(xiàn)Java類與數(shù)據(jù)庫之間的轉(zhuǎn)換和訪問,最后由Spring做管理,管理struts和hibernate。3.4.1服務(wù)器端工具工具和過濾器:(1)處理中文編碼的過濾器。默認(rèn)使用UTF-8。(2)對所有請求url進(jìn)行base64解密的過濾器。(3)base64解密工具。(4)MD5加密工具3.4.2軟件包和JAVA源代碼文件圖3-4服務(wù)器源碼結(jié)構(gòu)圖3-4服務(wù)器源碼結(jié)構(gòu)引入spring,struts,hibernate相關(guān)的jar包,打印日志的jar,本項(xiàng)目中使用log4g。源碼在src文件下。現(xiàn)在大致分為7層,為:action,service,service.impl,dao,dao.impl,entity,util七層。考慮service層在不同客服端的業(yè)務(wù)邏輯的區(qū)別,將service的實(shí)現(xiàn)分層處理;考慮變更數(shù)據(jù)庫的考慮,將dao層的實(shí)現(xiàn)獨(dú)立開。這樣系統(tǒng)的升級和改版就比較輕松,不在依附原來的設(shè)計(jì)。實(shí)現(xiàn)代碼如圖所示:3.4.3服務(wù)器的整體架構(gòu)服務(wù)器整體才用SSH架構(gòu),保證各個(gè)層之間清晰分工。將數(shù)據(jù)源,定時(shí)任務(wù)等寫在配置文件beans.xml中,并且可以配置多一個(gè)數(shù)據(jù)源,也可以將讀寫數(shù)據(jù)源分開,減小數(shù)據(jù)庫的壓力。對于一個(gè)壓力比較大的表,可以采用緩存處理,比如memcached,beans.xml中還包含了事務(wù)處理的配置,以及對項(xiàng)目中試題加載的路徑。Action路徑的配置及返回?cái)?shù)據(jù)的路徑配置在struts.xml文件中。對于本項(xiàng)目,正確的返回路徑都是json.jsp,json.jsp頁面中輸出程序返回的結(jié)果;出現(xiàn)異常的訪問,返回error.jsp,error頁面輸出錯誤原因。這是服務(wù)器端最重要的兩個(gè)配置文件,如圖:圖3-5服務(wù)器beans.xml圖3-6服務(wù)器struts.xml3.4.4服務(wù)器對外交互分析為了增加服務(wù)器的安全性,對于所用來訪問的url做解密處理,對于解密失敗的url不做處理,一方面減小了服務(wù)器的壓力,另一方面增加了服務(wù)器的安全性。合法url的訪問返回json數(shù)據(jù),json是一種輕量級的數(shù)據(jù)交換格式。json簡單說就是javascript中的對象和數(shù)組,所以這兩種結(jié)構(gòu)就是對象和數(shù)組2種結(jié)構(gòu),通過這兩種結(jié)構(gòu)可以表示各種復(fù)雜的結(jié)構(gòu):(1)對象:對象在js中表示為“{}”擴(kuò)起來的內(nèi)容,數(shù)據(jù)結(jié)構(gòu)為{key:value,key:value,...}的鍵值對的結(jié)構(gòu),在面向?qū)ο蟮恼Z言中,key為對象的屬性,value為對應(yīng)的屬性值,所以很容易理解,取值方法為對象.key獲取屬性值,這個(gè)屬性值的類型可以是數(shù)字、字符串、數(shù)組、對象幾種。(2)數(shù)組:數(shù)組在js中是中括號“[]”擴(kuò)起來的內(nèi)容,數(shù)據(jù)結(jié)構(gòu)為["java","javascript","vb",...],取值方式和所有語言中一樣,使用索引獲取,字段值的類型可以是數(shù)字、字符串、數(shù)組、對象幾種。3.5客戶端設(shè)計(jì)3.5.1頁面布局處理iOS的目錄很清晰,只要在工程文件下建立對應(yīng)的目錄就可以分門別類的放相關(guān)類和圖片,json文件,plist文件等。管理起來很方便。圖3-7客戶端頁面布局頁面處理中最重要的控件在頁面中的布局和定位,還需要適配不同大小的屏幕。難度比較大,鑒于本系統(tǒng)開發(fā)時(shí)間和本人能力有限,只是適配了iPhone手機(jī)3.5寸的屏幕,4寸屏幕沒有做適配。3.5.2客戶端源碼結(jié)構(gòu)iOS的類結(jié)構(gòu)是由兩部分組成,一部分是.h文件,一部分是.m文件,即頭文件和類實(shí)現(xiàn)文件,其結(jié)構(gòu)如圖:圖3-8客戶端.h和.m文件對應(yīng)每個(gè)界面都有一個(gè)視圖控制器與之對應(yīng),在視圖控制器中實(shí)現(xiàn)對界面的布局,搭建,每個(gè)試圖控制器中都有一個(gè)方法即viewDidLoad,頁面加載時(shí),都會調(diào)用viewDidLoad方法,初始化頁面中的各個(gè)控件。圖3-9客戶端源碼結(jié)構(gòu)3.6后臺設(shè)計(jì)3.6.1JSP文件結(jié)構(gòu) JSP文件放在工程根目錄下的WebRoot文件中jsp文件夾中,公用的jsp文件放在WebRoot根目錄下。目錄結(jié)構(gòu)與服務(wù)器后臺大同,此處不在貼出圖片。 圖片放置在WebRoot中的image文件夾下。3.6.2JSTL JSTL(JSP標(biāo)準(zhǔn)標(biāo)記庫)是一個(gè)實(shí)現(xiàn)Web應(yīng)用程序中常見的通用功能的定制標(biāo)記庫集,這些功能包括迭代和條件判斷、數(shù)據(jù)管理格式化、XML操作以及數(shù)據(jù)庫訪問。本系統(tǒng)大量用到EL表達(dá)式和循環(huán)控制標(biāo)簽。EL語言JSTL輸入(輸出)一個(gè)JAVA表達(dá)式的表示形式。在JSTL語言中,EL語言在JSTL屬性值中使用。EL語言只能通過建立表達(dá)式${expression}來進(jìn)行調(diào)用。 (2)循環(huán)控制標(biāo)簽 用循環(huán)控制標(biāo)簽來實(shí)現(xiàn)在JSP頁面的循環(huán)。例如后臺管理顯示圖書清單的JSP頁面中,需要把圖書信息一條一條地顯示出來,就用到了循環(huán)控制標(biāo)簽。被<c:forEach>標(biāo)簽包圍的部分代碼執(zhí)行循環(huán)。<c:forEach>用到了items,begin,end等屬性。Items表示進(jìn)行循環(huán)的項(xiàng)目;begin表示開始條件;end表示結(jié)束條件。循環(huán)部分代碼見下圖:圖3-10循環(huán)控制標(biāo)簽的使用jQueryjQuery是免費(fèi)、開源的,使用MIT許可協(xié)議。jQuery的語法設(shè)計(jì)可以使開發(fā)者更加便捷,例如操作文檔對象、選擇DOM元素、制作動畫效果、事件處理、使用Ajax以及其他功能。除此以外,jQuery提供API讓開發(fā)者編寫插件。其模塊化的使用方式使開發(fā)者可以很輕松的開發(fā)出功能強(qiáng)大的靜態(tài)或動態(tài)網(wǎng)頁。
4系統(tǒng)實(shí)現(xiàn)注冊登錄4.1系統(tǒng)工作過程注冊登錄選擇禮物選擇禮物加入禮物單加入禮物單選擇收禮人選擇收禮人發(fā)送禮物單發(fā)送禮物單收禮人拒絕收禮人挑選禮物收禮人拒絕收禮人挑選禮物送禮人支付送禮人支付收禮人待收貨收禮人待收貨收禮人確認(rèn)收貨查看物流收禮人確認(rèn)收貨查看物流售貨方開發(fā)票售貨方開發(fā)票 圖4-1系統(tǒng)工作過程4.2引導(dǎo)頁面和幫助頁面展示(1)引導(dǎo)頁:引導(dǎo)用戶這款軟件的功能.如圖4-2圖4-2引導(dǎo)頁面(2)幫助頁面:針對一些較重要的頁面有指導(dǎo)幫助使用頁面。如圖4-3圖4-3幫助頁面4.3首頁展示不需要登錄就可以進(jìn)入系統(tǒng),但用戶只有注冊登錄后才可以送、接收禮物。如圖4-4圖4-4首頁4.3收送禮物頁面展示(1)注冊登錄頁面:用戶可以用手機(jī)號注冊賬號,然后登錄即可進(jìn)入自己的主頁。如圖4-5圖4-5注冊登錄頁面(2)進(jìn)入我的UGift頁面:顯示個(gè)人信息,并且這是進(jìn)入禮物單操作頁面的入口和賬戶管理的入口。如圖4-6圖4-6我的UGift頁面(3)選擇商品頁面:商品列表頁面,可以進(jìn)行選擇,然后進(jìn)入商品詳情頁面,最后可以把選中的禮物加入禮物單。如圖4-7、圖4-8、圖4-9圖4-7商品列表頁面圖4-8商品詳情頁面圖4-9禮物單頁面(4)送禮物,收禮物流程主要頁面:首先選擇收禮人,然后短信或微信通知對方從禮物單里選擇一件禮物。如圖4-10圖4-10選擇收禮人頁面 其次收禮人從禮物單里選擇自己喜歡的禮物,或者拒絕,然后通知送禮人。如圖4-11圖4-11禮物單詳情頁面然后送禮方收到收禮方發(fā)來選好禮物的通知后,就可以支付該禮物了,然后售禮物方就可以送貨上門了。如圖4-12圖4-12支付禮物單詳情頁面最后送禮方支付后,收禮方就可以等待收貨了,還可以查看物流。如圖4-13、4-144-13待收貨禮物單詳情頁面4-14查看物流頁面
5總結(jié) 本設(shè)計(jì)選題為優(yōu)集品(UGift)iPhone客戶端的設(shè)計(jì)與實(shí)現(xiàn)。作為一個(gè)C/S的系統(tǒng),具有當(dāng)前市場上大部分C/S系統(tǒng)的普遍特性。開發(fā)一款軟件最重要的是需求明確。為此,我在2013年的下半年,初步研究了優(yōu)集品這個(gè)網(wǎng)站
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度出租車行業(yè)節(jié)能減排技術(shù)創(chuàng)新合同4篇
- 二零二五年度充電樁儲能系統(tǒng)設(shè)計(jì)與建設(shè)合同3篇
- 2025秀嶼區(qū)文印中心企業(yè)宣傳冊制作承包經(jīng)營合同3篇
- 2025版外墻瓷磚購銷及質(zhì)量檢測認(rèn)證合同3篇
- 二零二五年度家暴受害者離婚財(cái)產(chǎn)合理分配與子女權(quán)益保護(hù)合同
- 臨時(shí)土地使用租賃合同(2024版)
- 2025年度智能化煤炭采購合同書4篇
- 二零二五年度農(nóng)民工社會保險(xiǎn)委托代繳服務(wù)協(xié)議
- 二零二五年度變壓器安裝與電網(wǎng)運(yùn)行維護(hù)合同6篇
- 2025年度美容院連鎖加盟經(jīng)營管理合同
- 智能衣服方案
- 李克勤紅日標(biāo)準(zhǔn)粵語注音歌詞
- 教科版六年級下冊科學(xué)第一單元《小小工程師》教材分析及全部教案(定稿;共7課時(shí))
- 中藥材產(chǎn)地加工技術(shù)規(guī)程 第1部分:黃草烏
- 危險(xiǎn)化學(xué)品經(jīng)營單位安全生產(chǎn)考試題庫
- 案例分析:美國紐約高樓防火設(shè)計(jì)課件
- 老客戶維護(hù)方案
- 移動商務(wù)內(nèi)容運(yùn)營(吳洪貴)任務(wù)一 用戶定位與選題
- 2021年高考化學(xué)真題和模擬題分類匯編專題20工業(yè)流程題含解析
- 工作證明模板下載免費(fèi)
- (完整word)長沙胡博士工作室公益發(fā)布新加坡SM2考試物理全真模擬試卷(附答案解析)
評論
0/150
提交評論