軟件工程畢業(yè)論文-美味食譜手機應(yīng)用客戶端開發(fā)_第1頁
已閱讀1頁,還剩24頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  本科畢業(yè)論文</b></p><p><b>  (20 屆)</b></p><p>  美味食譜手機應(yīng)用客戶端開發(fā)</p><p><b>  摘 要</b></p><p>  人類社會的發(fā)展與衣食住行息息相關(guān),時代的進步反映在各個方面,

2、從農(nóng)耕火種,到烹飪佳肴,歷經(jīng)了幾十萬年的演變,食物在生活中扮演者極其重要的角色,什么都不可替代。隨著社會的發(fā)展,人們對美食的重視也越來越多,不僅僅局限于溫飽與果腹,而更加注重事物的色、香、味、烹飪方法等。于是開發(fā)了本系統(tǒng),美味食譜應(yīng)用,在足不出戶的情況下,跟著此款應(yīng)用做上幾款美食,是每個主婦所喜歡的方式,手機的便捷,讓主婦們可以在廚房的任意角落里查看具體的步驟。</p><p>  論文簡單介紹了系統(tǒng)的相關(guān)知識及

3、涉及技術(shù),詳細地介紹了“美味食譜手機應(yīng)用系統(tǒng)開發(fā)”課題開發(fā)的整個過程,包括需求分析、總體設(shè)計、模塊劃分及實現(xiàn)過程等方面的內(nèi)容,最后對各個功能模塊的操作及其界面進行描述。</p><p>  本系統(tǒng)開發(fā)的應(yīng)用設(shè)計是基于Xcode5.0的ios項目,使用了多個第三方庫,使用了MVC開發(fā)模式,觀察者開發(fā)模式。本系統(tǒng)具有操作簡便、通俗易懂、便攜、容易使用等大容量的特點,非常適合現(xiàn)代生活和移動互聯(lián)網(wǎng)的發(fā)展。</p&g

4、t;<p>  關(guān)鍵詞:Xcode5.0 美食 MVC</p><p><b>  Abstract</b></p><p>  To provide for the development of human society and is closely related to the progress of The Times reflected i

5、n all aspects, from farming fire, to cooking food, after hundreds of thousands of years of evolution, food plays an extremely important role in our daily life, what all can not be replaced. With the development of the so

6、ciety, people more and more attention to food, not just confined to hunger and satiety, and pay more attention to things of color, aroma, taste, cooking method, etc. So </p><p>  Paper introduces the related

7、 knowledge and technology involved in the system, detailed introduces the "delicious recipes mobile application system development" the whole process of project development, including requirements analysis, ove

8、rall design, module partition, and the content of the implementation process, etc, finally to the operation of the various functional modules and its interface is described.</p><p>  The system design is bas

9、ed on the development of application Xcode5.0 ios project, USES more than one third party libraries, using the MVC development pattern, observer pattern development. This system has simple operation, easy to understand,

10、portable, easy to use, such as the characteristics of large capacity, very suitable for modern life and the development of mobile Internet.</p><p>  Keywords: Xcode5.0, delicious food, MVC</p><p&g

11、t;<b>  目 錄</b></p><p><b>  1 緒論1</b></p><p>  1.1 課題開發(fā)背景1</p><p>  1.2 系統(tǒng)開發(fā)的意義1</p><p>  1.3 本系統(tǒng)預達到的目標1</p><p>  1.4 章節(jié)介紹2<

12、;/p><p>  2 理論技術(shù)基礎(chǔ)2</p><p>  2.1 理論基礎(chǔ)2</p><p>  2.2 技術(shù)基礎(chǔ)3</p><p>  2.3 ios系統(tǒng)架構(gòu)3</p><p>  2.3.1 核心操作系統(tǒng)層4</p><p>  2.3.2 核心服務(wù)層4</p>&l

13、t;p>  2.3.3 應(yīng)用程序框架4</p><p>  2.3.4 Unix內(nèi)核5</p><p>  2.3.5 開發(fā)環(huán)境配置5</p><p>  3 系統(tǒng)分析與設(shè)計5</p><p>  3.1 需求分析5</p><p>  3.2 系統(tǒng)需求分析5</p><p>

14、  3.3 可行性分析6</p><p>  3.3.1技術(shù)條件可行性6</p><p>  3.3.2硬件條件可行性8</p><p>  3.3.3社會因素可行性8</p><p>  3.3.4市場因素可行性8</p><p><b>  3.4總體設(shè)計8</b></p&g

15、t;<p>  3.4.1系統(tǒng)結(jié)構(gòu)8</p><p>  3.5詳細設(shè)計10</p><p><b>  4 系統(tǒng)實現(xiàn)13</b></p><p>  4.1 代碼結(jié)構(gòu)的實現(xiàn)13</p><p>  4.2 各模塊功能的實現(xiàn)14</p><p><b>  5 總

16、結(jié)18</b></p><p><b>  參考文獻20</b></p><p><b>  致謝21</b></p><p><b>  1 緒論</b></p><p>  當今移動互聯(lián)網(wǎng)正在推動互聯(lián)網(wǎng)第三波浪潮的到來,摩根士丹利的調(diào)查報告,2011年全球

17、的移動互聯(lián)網(wǎng)用戶已達到20億人,產(chǎn)值近千億美元。而中國的手機上網(wǎng)用戶也已達到4億,由此產(chǎn)生的市場總值在300億人民幣左右。移動互聯(lián)網(wǎng)不僅將深入改變?nèi)藗兊纳罘绞?,而且會造就一個又一個新的數(shù)字財富英雄。特別是App Store的成功模式給移動應(yīng)用開發(fā)搭建了良好的商業(yè)模式和環(huán)境。目前有越來越多的開發(fā)者加入到移動開發(fā)的隊伍,而基于Mac OS和iPhone 移動應(yīng)用開發(fā)則是其中一個重要的分支。</p><p>  1.

18、1 課題開發(fā)背景</p><p>  兩年前,《舌尖上的中國》播出后引發(fā)收視熱潮,締造出驚人收視紀錄,單集最高收視份額達到4.47%,趕超了黃金檔電視劇?!渡嗉馍系闹袊颉方谠谘胍暡コ觥!渡嗉?》依然定位為一部美食紀錄片,并將延續(xù)第一季的主題,探討中國人與食物的關(guān)系。</p><p>  《舌尖上的中國2》引爆的不僅是新一輪美食搜索,更是直接將電商捧上訂購的第一渠道的位置,邊看電視邊下訂

19、單成為一道獨特商業(yè)模式;視頻網(wǎng)站在得到版權(quán)之后,都動用自己的手段對節(jié)目進行進一步挖掘,形成節(jié)目價值的無限放大;廣告主們圍繞《舌尖2》的贊助、冠名也在一起發(fā)酵,期望借著這部人氣沸騰的中國紀錄片賭一把。</p><p>  借“舌尖效應(yīng)”,謀得市場,“舌尖”引發(fā)的了各類的效應(yīng)。舌尖中的臘肉一經(jīng)播出后就為四川臘肉過去頹廢的市場帶來了全新的面貌,一小時內(nèi)幾萬斤的銷量就是最好的寫照。與其同時上海紅燒肉更是近期主婦們在家必做

20、的食物。</p><p>  而沒有具體的食譜,不能完整的做出地道的美味食物是件遺憾的事情,本系統(tǒng)基于次來為廣大觀眾提供具體而詳細的食譜,讓主婦們烹飪起來游刃有余,得心應(yīng)手。</p><p>  1.2 系統(tǒng)開發(fā)的意義</p><p>  這個系統(tǒng)可以實現(xiàn)在iphone終端上的美食欣賞,可搜尋要做的美食,可以查看想做的美食的具體做法與步驟。能夠獲得最新的最流行的美食

21、的做法,讓食物緊跟時代的前沿,讓美食變得更加健康與便民,讓美食變得更加衛(wèi)生,讓美食不在是有錢人的專屬。PC端的笨重,移動端的方便快捷,隨時隨地的觀看美食和了解美食的做法為本系統(tǒng)最大特色,讓美食變得簡單與家常。</p><p>  1.3 本系統(tǒng)預達到的目標</p><p>  用sqlite數(shù)據(jù)庫實現(xiàn)了對數(shù)據(jù)的存儲,UIView實現(xiàn)了圖片的動畫翻頁,UIScrollerview實現(xiàn)了滑動翻

22、頁技術(shù),使用了多個第三方庫,在網(wǎng)上面搜索圖書的名字,得到的json數(shù)據(jù)用Json解析,然后用SDWebImage加載圖書的圖片。用UIPickView 顯示字體font,包括顏色,大小,樣式,翻頁方式。</p><p><b>  1.4 章節(jié)介紹</b></p><p>  第一章,介紹了課題的開發(fā)背景、課題開發(fā)的現(xiàn)實意義。 </p><p>

23、;  第二章,概略地介紹了開發(fā)此系統(tǒng)用到的各種技術(shù)理論基礎(chǔ),ios系統(tǒng)構(gòu)架,程序框架等。</p><p>  第三章,對該的系統(tǒng)結(jié)構(gòu)設(shè)計、系統(tǒng)結(jié)構(gòu)功能、運行環(huán)境等概要分析設(shè)計階段做工了大體介紹即需求分析。</p><p>  第四章,對系統(tǒng)總體流程設(shè)計和功能設(shè)計作了簡要說明,具體介紹了系統(tǒng)各功能實現(xiàn)過程。</p><p><b>  第五章,總結(jié)。<

24、/b></p><p>  第六章,參考文獻和致謝。</p><p><b>  2 理論技術(shù)基礎(chǔ)</b></p><p><b>  2.1 理論基礎(chǔ)</b></p><p>  美味食譜應(yīng)用系統(tǒng)的開發(fā)使用了計算機領(lǐng)域的常用技術(shù),首先是軟件工程理論,包括軟件工程過程,軟件生存周期,軟件周期模

25、型,軟件開發(fā)的增量模型,軟件開發(fā)方法等。軟件工程規(guī)定了獲取,供應(yīng),開發(fā),操作和維護軟件時要實施的過程。軟件生存周期是指一個軟件從提出開發(fā)要求開始直到該軟件報廢為止的整個周期。把整個生存周期劃分為若干階段,使得每個階段有明確的任務(wù),是規(guī)模大結(jié)構(gòu)復雜和管理復雜的軟件開發(fā)變的容易控制和管理。軟件生存周期模型是描述軟件開發(fā)過程中各種活動如何執(zhí)行的模型,軟件生存周期模型確立了軟件開發(fā)和演繹中各階段的次序限制以及各階段活動的準則,確立開發(fā)過程所遵守

26、的規(guī)定和閑置,便于各種活動的協(xié)調(diào),便于各種人員的有效通訊,有利于活動重用,有利于活動管理。軟件增量模型是在項目的開發(fā)過程中以一系列的增量方式開發(fā)系統(tǒng)。軟件開發(fā)方法是一種使用早已定義好的技術(shù)及符號表示習慣來組織軟件產(chǎn)生的過程,方法一般表述成一系列的步驟,每一步驟都與相應(yīng)的技術(shù)符號相關(guān),軟件開發(fā)方法是克服軟件危機的重要方面之一。</p><p>  面向?qū)ο笫且环N新興的程序設(shè)計方法,是一種程序設(shè)計泛型,基本思想是使用

27、對象,類,封裝,繼承,聚合,關(guān)聯(lián),消息,多態(tài)等基本概念來進行程序設(shè)計,面向?qū)ο蟛粌H是一些具體軟件開發(fā)技術(shù)與策略,而且是一套關(guān)于如何看待軟件系統(tǒng)與現(xiàn)實世界的關(guān)系的軟件方法學。軟件開發(fā)室對問題的求解過程,按照軟件工程學對軟件生命周期的劃分,軟件開發(fā)過程包括分析,設(shè)計,編程,測試和維護等主要階段,從認識論的角度看,整個軟件開發(fā)過程又可歸結(jié)為兩項主要活動,即人們對所要解決的問題及相關(guān)事務(wù)的認識和基于這種認識所進行的描述。這正是體現(xiàn)了面向?qū)ο蟮乃?/p>

28、想,object-c語言是一門面向?qū)ο缶幊陶Z言,本系統(tǒng)的開發(fā)就是采用了面向?qū)ο笳Z言實現(xiàn)了系統(tǒng)的功能。</p><p>  數(shù)據(jù)庫技術(shù)是一種對大量數(shù)據(jù)進行統(tǒng)一集中和獨立的管理的工具,數(shù)據(jù)庫不僅包括數(shù)據(jù)本身,而且包括相關(guān)數(shù)據(jù)之間的聯(lián)系,是一個邏輯上緊密相連的數(shù)據(jù)集,擁有確定的用戶組和預訂應(yīng)用,顧名思義,數(shù)據(jù)庫是存儲和管理數(shù)據(jù)的倉庫,而這個倉庫是在計算機存儲設(shè)備上,而且數(shù)據(jù)是按一定格式進行組織和存取的。數(shù)據(jù)庫有很多類型

29、,而現(xiàn)在應(yīng)用最方法的就是關(guān)系數(shù)據(jù)庫。</p><p>  網(wǎng)絡(luò)通信技術(shù)是通過計算機和網(wǎng)絡(luò)通訊設(shè)備對圖形和文字等形成的資料進行采集,存儲,處理和傳輸?shù)?,使信息資源達到充分共享的技術(shù)。通信網(wǎng)是一種由通信端點,節(jié)點和傳輸鏈路相互有機地鏈接起來,以實現(xiàn)在兩個或更多的規(guī)定通信端點之間提供鏈接或非鏈接傳輸?shù)耐ㄐ朋w系。計算機網(wǎng)絡(luò)是以相互共享資源方式鏈接起來,且各自具有獨立功能的計算機系統(tǒng)的集合,在網(wǎng)絡(luò)協(xié)議的控制下,由若干臺計算

30、機和數(shù)據(jù)傳輸設(shè)備組成的系統(tǒng)。在現(xiàn)代的廣域網(wǎng)結(jié)構(gòu)中,通信子網(wǎng)由交換設(shè)備與通信線路組成,它負責完成網(wǎng)路中數(shù)據(jù)傳輸與轉(zhuǎn)發(fā)任務(wù)。交換設(shè)備主要是路由器與交換機。計算機網(wǎng)絡(luò)的主要性能指標是指帶寬,吞吐量和時延。未來的計算機網(wǎng)絡(luò)都是基于IPv6技術(shù)的網(wǎng)絡(luò),相對于ipv4技術(shù)減少了些局限性。</p><p>  軟件開發(fā)工具的目的是從與開發(fā)過程有關(guān)的信息管理與信息處理方面,給予軟件開發(fā)人員幫助與支持。軟件開發(fā)工具較為復雜,龐大,

31、因此它的功能設(shè)計與總體結(jié)構(gòu)必須首先考慮,開發(fā)工具的功能具有足夠的開放性和靈活性,它的結(jié)構(gòu)為實現(xiàn)這種開放性和靈活性提供了基礎(chǔ)信息庫存儲著與軟件開發(fā)相關(guān)的,盡可能完整的信息,而且需要提供保持一致的切實措施,著需要花費大量的人力,物力才能做到。除了品目上的人機對話之外,文檔生成與代碼生成時軟件開發(fā)工具的兩種主要輸出功能??缭缴芷诘男畔⒐芾黼S著軟件開發(fā)工具的普遍應(yīng)用,在這方面的需求越來越多。軟件開發(fā)工具描述軟件狀況及其開發(fā)過程的慨念模式,提

32、供存儲和管理有關(guān)信息機制與手段,幫助使用者編制,生成及修改各種文檔,幫助使用者編寫程序代碼,把項目運行與版本更新的有關(guān)信息科學地管理起來。</p><p><b>  2.2 技術(shù)基礎(chǔ)</b></p><p>  移動app顧名思義就是手機軟件app,也叫移動終端,手機客戶終端,移動軟件,手機應(yīng)用軟件等,屬于移動設(shè)備上面運行的一款終端軟件。在移動互聯(lián)網(wǎng)風生水起的時代,

33、移動app已經(jīng)越來越深入人心,app應(yīng)用開發(fā)市場突飛猛進,成為了移動互聯(lián)網(wǎng)的主流。</p><p>  美味食譜是基于app的開發(fā)理論基礎(chǔ)而實現(xiàn)的,首先是基于移動終端上的隨身性,互動性通過新技術(shù)以及數(shù)據(jù)分析,實現(xiàn)了精準定位企業(yè)目標用戶。其次軟件開發(fā)是一個復雜的過程,軟件過程可以通過軟件過程模型來表示。概念模式是非常重要的,它是指人們在認識事物的過程中,對于某一事物或者系統(tǒng)形成的抽象的一般化的框架,是在人們長期的實

34、踐活動中實現(xiàn)的,概念模式簡單明了,易于理解。概念模式具有相對性,面對不同的用途會有不同形式的概念模型,各有各的用處。軟件開發(fā)中有常見的其中概念模式,結(jié)構(gòu)圖,數(shù)據(jù)流程圖,實體關(guān)系圖等等,這些概念模式都是為了實現(xiàn)軟件的易于理解性。</p><p>  該部分主要包括對iOS系統(tǒng)架構(gòu)的分析,核心操作系統(tǒng)的分析,應(yīng)用程序框架的分析,內(nèi)核的分析,開發(fā)環(huán)境的配置信息,選用數(shù)據(jù)庫描述信息等,具體如下。</p>&

35、lt;p>  2.3 ios系統(tǒng)架構(gòu)</p><p>  iOS的系統(tǒng)架構(gòu)和其操作系統(tǒng)一樣,采用了分層的架構(gòu)。iOS分為四層,分別為核心操作系統(tǒng)(the Core OS layer),核心服務(wù)層(the Core Services layer),媒體層(the Media layer),Cocoa觸摸架構(gòu)層(the Cocoa Touch layer)。 </p><p>  2.3

36、.1 核心操作系統(tǒng)層</p><p>  位于iOS系統(tǒng)架構(gòu)最下面的一層是核心操作層,它包括內(nèi)存管理,文件管理,電源管理以及一些其他的操作系統(tǒng)業(yè)務(wù),它可以直接和硬件設(shè)備交互。核心操作系統(tǒng)層包括以下這些組件:OS X Kernel,Mach 3.0,BSD,Sockets,Power Mgmt,F(xiàn)ile System Keychain,Certificates,Security,Bonjour等。</p>

37、;<p>  2.3.2 核心服務(wù)層</p><p>  開發(fā)人員也可以完全訪問核心服務(wù)層來方問iOS的一些服務(wù),包括數(shù)據(jù)庫連接,URL學習等等,它主要包括以下這些組件:Collections,Address Book,Networking,F(xiàn)ile Access,Core Location,Net Services,Threading,Preferences,URL Utilities等。<

38、/p><p>  Net Servicer主要負責網(wǎng)絡(luò)服務(wù),在開發(fā)過程中,承擔應(yīng)用程序與服務(wù)器之間連接的角色,有很強的交互性。</p><p>  媒體層,通過它可以在應(yīng)用程序中使用各種媒體文件,進行音頻與視頻的錄制,圖形的繪制,以及制作基礎(chǔ)的動畫效果。它包括以下這些組件:Core Audio,OpenGL,Audo Mixing,Audio Recording,Video Playback,

39、JPG,PBG,TIFF,PDF,Quartz,Core Animation,OpenGL ES。最上面一層是可觸摸層,這一層為應(yīng)用開發(fā)提供了各種有用的框架,并且大部分與用戶界面有關(guān),本質(zhì)上來說它負責用戶在iOS設(shè)備上的觸摸交互操作。它包括以下這些組件:Multi-Touch Events,Core Motion,Camera,View Hierarchy,Localization,Alerts,Web Views,Image Pick

40、er,Multi-Touch Controls。</p><p>  在Cocoa Touch層中的很多技術(shù)都是基于Objective-C語言的。Objective-C語言為iOS提供了相機集合,文件管理,網(wǎng)絡(luò)操作等支持。例如UIKit框架,它為應(yīng)用程序提供了各種可視化組件,窗口(window),視圖(view)和按鈕組件(UIButton)。Cocoa Touch層中的其他框架,對我們在應(yīng)用程序中的開發(fā)來說也是

41、非常有用的,如訪問用戶通信錄功能框架,獲取照片信息功能的框架,負責加速感應(yīng)器和三維陀螺儀等硬件支持的框架等等。</p><p>  2.3.3 應(yīng)用程序框架</p><p>  編寫應(yīng)用程序項目,都是從Cocoa Touch層開始的,具體來說是從UIKit Framework開始的。iOS常用的SDK框架如下:</p><p>  AddressBook.frame

42、work 提供訪問存儲核心數(shù)據(jù)庫中用戶聯(lián)系人信息的功能。</p><p>  AddressBook.framework提供一個用戶界面,用于顯示存儲在地址薄中的聯(lián)系人詳情。</p><p>  AudioUnit.framework提供一個接口,讓我們的應(yīng)用程序可以對音頻進行處理。</p><p>  AudioToolbox.framework和AVFounda

43、tion.framework提供音頻錄制和回放的底層API,同時也負責管理音頻硬件。</p><p>  CFNetwork.framework訪問和配置網(wǎng)絡(luò),像HTTP,F(xiàn)TP和Bonjour Services等。</p><p>  CoreFoundation.framework提供抽象的常用數(shù)據(jù)類型,如Unicode、strings、XML、URL等。</p><

44、;p>  CoreGraphics.framework提供2D繪制的基于C的API。</p><p>  Foundation.framework提供Object-C的基礎(chǔ)類(像NSObject)、基本數(shù)據(jù)類型和操作系統(tǒng)服務(wù)等。</p><p>  GameKit.framework為游戲提供網(wǎng)絡(luò)功能,點對點互聯(lián)和游戲中的語音交流。</p><p>  Map

45、Kit.framework為應(yīng)用程序提供內(nèi)嵌地圖的接口。</p><p>  MediaPlayer.framework提供視頻播放和音頻的功能。</p><p>  MessageUI.framework提供視圖控制接口用以處理E-mail和短信。</p><p>  OpenGLES.framework提供簡潔而高效的繪制2D和3D圖形的OpenGL API。&

46、lt;/p><p>  QuartzCore.framework提供動畫特效以及通過硬件進行渲染的能力。</p><p>  StoreKit.framework為應(yīng)用程序提供在程序運行中消費的支持。</p><p>  SystemConfiguration.framework檢測當前網(wǎng)絡(luò)是否可用和硬件設(shè)備狀態(tài)的能力。</p><p>  2.

47、3.4 Unix內(nèi)核</p><p>  iOS的核心是以Darwin為基礎(chǔ)的,是在有Unix衍生出來的BSD基礎(chǔ)上開發(fā)出來適合在移動設(shè)備上運行的系統(tǒng)。</p><p>  2.3.5 開發(fā)環(huán)境配置</p><p>  Xcode 5.0,整合大量框架,開發(fā)iOS程序必須的開發(fā)工具。</p><p>  iOS SDK(iOS 軟件開發(fā)包),

48、系統(tǒng)開發(fā)中導入的SDK。</p><p><b>  3 系統(tǒng)分析與設(shè)計</b></p><p><b>  3.1 需求分析</b></p><p>  根據(jù)第一章所定義的課題研究方向及目標,本章將對系統(tǒng)功能進行具體的需求分析,該部分主要包括:技術(shù)條件可行性描述,硬件可行性描述,社會因素可行性描述,市場因素可行性描述等。

49、具體描述內(nèi)容如下。</p><p>  3.2 系統(tǒng)需求分析</p><p>  本系統(tǒng)是基于iOS平臺開發(fā)的一款美味食譜系統(tǒng),將要應(yīng)用在iOS移動通訊設(shè)備上,能夠盡可能的滿足用戶更方便更快捷的需求,能夠在家中廚房隨時隨地的瀏覽做菜的方法,不受地點的限制。美味食譜手機應(yīng)用客戶端總體的架構(gòu)圖如圖3-1所示。</p><p>  圖3-1總體架構(gòu)圖 </p&

50、gt;<p><b>  3.3 可行性分析</b></p><p>  下面從四個方面進行分析系統(tǒng)的可行性,分別是技術(shù)條件可行,性硬件條件可行性,社會因素可行性,市場因素可行性。</p><p>  3.3.1技術(shù)條件可行性</p><p>  使用Objective-C編程技術(shù)。Objective-C是C語言的面向?qū)ο髷U展,可

51、以將其稱為“帶有對象的C”。相對于其他面向?qū)ο笳Z言,Objective-C更加容易學習。</p><p><b>  1.動態(tài)綁定</b></p><p>  函數(shù)和消息的最根本不同是:函數(shù)和它的參數(shù)是在編譯的時候已經(jīng)確定下來,但是消息和接收對象知道程序已經(jīng)在運行,消息在傳遞時才能確定下來。確切的消息方法實現(xiàn)依賴于消息的接收者,不同的接收者可能有相同的方法名不同的方法

52、實現(xiàn),只有在消息接收時才能確定(動態(tài)類型),通過源代碼的類型定義并不能完全確認接收者的類型。運行時消息例程查找接收者和消息方法,找到消息方法實現(xiàn)的機器碼,呼叫這個方法,傳遞給它消息實例變量指針。</p><p><b>  2.多態(tài)性</b></p><p>  在Objective-c中消息的調(diào)用看上去和標準C中的函數(shù)調(diào)用相似,但因為方法屬于一個對象,消息的行為與函

53、數(shù)調(diào)用還是不同。在一些情況下,一些對象僅能對針對它涉及的方法起作用,不能被其他類的方法使用,即使這些類有同樣名稱的方法。這意味著兩個對象對同樣的消息有著不同的響應(yīng),即多態(tài)性。Objective-c中多態(tài)性和動態(tài)綁定配合使用,可以使代碼提供給任意數(shù)量不同類型的對象使用,這些對象不需要再寫代碼的時候就已經(jīng)定義好,它們可以是以后開發(fā)的對象,也可以是其他項目的對象。</p><p><b>  3.面向?qū)ο?l

54、t;/b></p><p>  面向?qū)ο蟪绦驑?gòu)建在多種對象之上,基于Cocoa框架的程序可能使用NSMatrix對象、NSWindow對象、NSDirectonary對象、NSFont對象以及許多其它對象。在Objective-c中通過定義類來定義對象。面向?qū)ο笞岄_發(fā)者更容易開發(fā)應(yīng)用程序軟件,以及更加規(guī)范化。 </p><p><b>  4.繼承性</b>&l

55、t;/p><p>  類的定義是累進的,任一個新類都是在另一個類的基礎(chǔ)上定義的,新類繼承了它的方法和實例變量。繼承使所有的類構(gòu)成一顆樹形的結(jié)構(gòu),在Objective-c中使用類一般要繼承或間接繼承于基類:NSObject,因為NSObject提供了大量的有用特性。比如,一些圖形類,需要繼承于Shape類,而Shape是Graphic類的子類,Graphic又繼承于NSObject類,因此,還是間接繼承于NSObjec

56、t類。類的繼承關(guān)系圖3-2所示:</p><p>  圖3-2類的繼承關(guān)系圖</p><p>  5.使用工具方面:開發(fā)環(huán)境為xcode 5.0。</p><p>  6.操作系統(tǒng)方面:使用mac 10.8操作系統(tǒng)。</p><p>  3.3.2硬件條件可行性</p><p>  開發(fā)本系統(tǒng)所需的硬件環(huán)境只需要需要M

57、ac電腦一臺即可,運行環(huán)境是蘋果的ios手持設(shè)備,比如iphone,ipad,itouch都是市面上的主流產(chǎn)品,有一定的市場占有率。該系統(tǒng)硬件條件可行具備開發(fā)價值。</p><p>  3.3.3社會因素可行性</p><p>  如今社會發(fā)展迅速,人們對美食的品位與要求越來越高,舌尖上的中國引領(lǐng)了當代美食文化的進程,促進各地美食文化的發(fā)展與傳承。家庭主婦們都希望能在家里烹飪出和電視上一樣

58、的美食,即健康衛(wèi)生又經(jīng)濟實惠。所以本款軟件為家庭主婦們提供了詳細的制作流程,使烹飪美食變得簡單,且可隨時隨地進行,不受地點的限制。</p><p>  雖然市面上相關(guān)的軟件數(shù)目巨大,但往往不夠新穎,能在手機上運行的就更少,所以需要開發(fā)全新的軟件,滿足廣大手機用戶的需求;本程序界面清晰、簡單易用,具備高親和力的唯美界面和偏好設(shè)置功能,符合男女老少各個年齡段的人群。</p><p>  3.3

59、.4市場因素可行性</p><p>  按照目前市場情形,越來越多的移動開發(fā)者涌進iOS開發(fā)領(lǐng)域。iOS平臺上應(yīng)用軟件,App Store的支付模式更為成熟而且有監(jiān)管,另外iOS的兼容性問題小,開發(fā)人員不用考慮太多的配置兼容問題,美觀大方的外形,更是吸引了大量的用戶。而且其良好的用戶體驗,都為iOS的發(fā)展奠定了良好的基礎(chǔ)。該ios美食食譜系統(tǒng)實現(xiàn)了多種功能來滿足不同的用戶需求。 </p><p

60、><b>  3.4總體設(shè)計</b></p><p><b>  3.4.1系統(tǒng)結(jié)構(gòu)</b></p><p>  該軟件從大體上是由四個大模塊組成的,首先最底層的是一個自定義的UITabBarController,管理了4個UINavigationController,每一個導航控制器又管理了自己的子視圖控制器.子視圖控制器中又有自己的自視

61、圖控制器,且相互之間可以跳轉(zhuǎn)。該系統(tǒng)的體系結(jié)構(gòu)是完全基于mvc模式的,采用了arc進行了內(nèi)存管理,每個視圖控制器都是在層次結(jié)構(gòu)上創(chuàng)建的,這就體現(xiàn)了繼承關(guān)系,子視圖控制器繼承了父試圖控制器。體現(xiàn)了面向?qū)ο蟮睦^承關(guān)系。</p><p>  該系統(tǒng)的體系結(jié)構(gòu)如圖3-3所示。</p><p><b>  圖3-3體系結(jié)構(gòu)圖</b></p><p>&l

62、t;b>  3.5詳細設(shè)計</b></p><p>  1.首頁模塊的流程圖,點擊首頁導航,進入首頁,選擇想要進去的cell,點擊進去進入相應(yīng)的二級界面,在選擇cell進入相應(yīng)的三級界面,且可依次返回上一屆面。如圖3-4所示</p><p><b>  圖3-4首頁流程圖</b></p><p>  2.專題模塊流程圖,點擊專

63、題導航,進入專題,選擇想要進去的cell,點擊進去進入相應(yīng)的二級界面,可返回上一屆面。如圖3-5所示</p><p><b>  圖3.5專題流程圖</b></p><p>  個人模塊流程圖,點擊個人導航,進入個人界面,顯示的是加入收藏的內(nèi)容,點擊去可進入相應(yīng)的界面。如圖3-6所示</p><p>  圖3-6 個人模塊流程圖</p&g

64、t;<p><b>  4.商城模塊</b></p><p>  商城模塊主要是實現(xiàn)商城不同商品的分類瀏覽,主要類別包括浪漫、美食、母嬰、新手、懶人等,其流程如圖3-7所示。</p><p><b>  圖3-7商城流程圖</b></p><p><b>  4 系統(tǒng)實現(xiàn)</b><

65、/p><p>  4.1 代碼結(jié)構(gòu)的實現(xiàn)</p><p>  該系統(tǒng)實現(xiàn)的主要界面是底層的四個基本界面,代碼結(jié)構(gòu)如下: 本系統(tǒng)的一共建了五個組,其中Libray中放的都是第三方庫.Download&Parse組中封裝的是下載解析類,本系統(tǒng)中所有的下載都在這個類中實現(xiàn).Model組中放的都是模型類.View中有兩個組,MainView,DatailView兩個存中放得都是視圖類.

66、Controller是存放視圖控制器的類,其中SuperViewControllers中是基類,包括CustomTableBarController,RootViewController,DetailRootViewController三個基本類.剩下四個組分別存放的是四個主界面的視圖控制器,它們都是繼承與基類的.</p><p>  本系統(tǒng)采用MVC設(shè)計模式,M是model,建立的數(shù)據(jù)模型;V是View,是每個

67、model所對應(yīng)View來顯示內(nèi)容;C是Controller,controller是視圖的控制器。系統(tǒng)在實現(xiàn)時用到的這四個方面主要內(nèi)容如下:</p><p>  1、模型Model:</p><p>  Index_sliderModel</p><p>  detailModel</p><p><b>  SecModel<

68、;/b></p><p>  subjetModel</p><p>  StoreModel</p><p><b>  FavModel</b></p><p><b>  2、視圖View:</b></p><p>  DetailCell</p>

69、<p><b>  SecCell</b></p><p>  SliderCell</p><p><b>  HotCell</b></p><p><b>  TagCell</b></p><p>  RecommendCell</p><

70、p>  SubjectCell</p><p><b>  StoreCell</b></p><p>  3、控制器Controller:</p><p>  RootViewController</p><p>  IndexViewController</p><p>  Subjec

71、tViewContrpoller</p><p>  SearchViewController</p><p>  StoreViewController</p><p>  PersonalViewController</p><p>  IndexDetailViewController</p><p>  Sec

72、DetailViewController</p><p>  WebViewController</p><p><b>  4、第三方庫:</b></p><p>  Hash:用于加密數(shù)據(jù)的第三方庫。</p><p>  Fmdb:數(shù)據(jù)庫第三方庫。</p><p>  EGOTableView

73、PullRefresh:下拉刷新的第三方庫。</p><p>  AS3DpuuRefresh:下拉刷新的第三方庫。</p><p>  ASIHttpRequest:網(wǎng)絡(luò)請求數(shù)據(jù)的第三方庫。</p><p>  SDWebImage:網(wǎng)絡(luò)解析圖片的第三方庫。</p><p>  4.2 各模塊功能的實現(xiàn)</p><p&g

74、t;  第一個模塊是首頁模塊,首頁模塊中又包含幾個子模塊,分別是舌尖上的中國2,家常菜,編輯推薦.</p><p>  舌尖上的中國2中實現(xiàn)了一個接口,下載下來的有圖片以及簡介,用scrollView實現(xiàn)頁面的滑動,該scrollView是放在一個tableView上面的,每一個item點進去之后是一個webView,也就是該cell上內(nèi)容的詳細介紹.</p><p>  家常菜同樣實現(xiàn)了

75、接口,這個頁面顯示的都是家常菜的做法,每個cell上有左邊的圖片,還有題目,每個cell選中之后會跳到該菜制作步驟的詳細介紹頁面,包括用料,食材,烹飪方法,烹飪步驟。</p><p>  編輯推薦,從網(wǎng)絡(luò)中解析數(shù)據(jù),鋪到每一個cell上面,包括新手烘培篇初,中,高級,和新手西餐初,中,高級篇。點擊cell響應(yīng)鏈接進去,有詳細的圖片,制作步驟。如圖4-1所示</p><p><b>

76、;  圖4-1首頁模塊圖</b></p><p>  第二個模塊是專題模塊,分為大圖片品位意大利和各個菜系,各個菜系中包括:自己做零食,廣東菜系,四川菜系等。</p><p>  大圖片位置是從網(wǎng)絡(luò)中解析下來的圖片,根據(jù)不同的時期來更換。</p><p>  下面的專題是在用UiTableView實現(xiàn)的,包括全國不同的菜系。當點擊其中一個時,會自動進入詳

77、細的界面中。如圖4-2所示</p><p><b>  圖4-2專題模塊圖</b></p><p>  3、個人模塊。在瀏覽模塊一和模塊二里的內(nèi)容時,遇到自己喜歡的可以點擊心形圖標加入收藏,收藏在這個模塊里。在這個模塊里就存在了用戶所收藏的內(nèi)容,可輕松方便的進行訪問。如圖4-3所示</p><p><b>  圖4-3商城模塊圖<

78、;/b></p><p>  第四個模塊是商城模塊。商城提供給用戶在閑暇時瀏覽商城,點進去鏈接到淘寶網(wǎng)頁,然后在第三方淘寶手機應(yīng)用中盡心選購。該模塊包括,美食,母嬰,新手,懶人,浪漫五個模塊。</p><p>  美食模塊:商城中與美食相關(guān)的用品,點進去進入詳細界面和淘寶網(wǎng)頁界面,然后用戶根據(jù)需求進行其他操作。</p><p>  母嬰模塊:商城中與母嬰相關(guān)的

79、用品,點進去進入詳細界面和淘寶網(wǎng)頁界面,然后用戶根據(jù)需求進行其他操作。</p><p>  新手模塊:商城中與新手相關(guān)的用品,點進去進入詳細界面和淘寶網(wǎng)頁界面,然后用戶根據(jù)需求進行其他操作。</p><p>  懶人模塊:商城中與懶人相關(guān)的用品,點進去進入詳細界面和淘寶網(wǎng)頁界面,然后用戶根據(jù)需求進行其他操作。</p><p>  浪漫模塊:商城中與浪漫相關(guān)的用品,點

80、進去進入詳細界面和淘寶網(wǎng)頁界面,然后用戶根據(jù)需求進行其他操作。</p><p><b>  如圖4-4所示</b></p><p><b>  圖4-4個人模塊圖</b></p><p><b>  5 總結(jié)</b></p><p>  經(jīng)過一段時間的忙碌,終于把畢業(yè)設(shè)計的任務(wù)

81、完成了?,F(xiàn)在我對該系統(tǒng)做一下總結(jié)。</p><p>  本系統(tǒng)的開發(fā)目標,主要是為了提供食譜制作過程,此平臺的框架設(shè)計滿足了了各種閱讀需求。設(shè)計經(jīng)過緊張而有序的系統(tǒng)開發(fā),收獲頗豐,感觸頗深?,F(xiàn)在對經(jīng)驗收獲、教訓反思兩大部分總結(jié)如下:</p><p><b>  經(jīng)驗收獲:</b></p><p>  1.編寫程序前,對已完成設(shè)計構(gòu)思的系統(tǒng)進行主

82、次分析,排好功能實現(xiàn)順序,列出程序編、寫步驟,對于理清編程思路很有幫助。人的邏輯思維可能很發(fā)達,在設(shè)計當中可以不用筆記,在腦中就能想好三到五個功能的邏輯關(guān)系和編寫步驟。但以后我們面對的是一個龐大的系統(tǒng),大系統(tǒng)下分多個子系統(tǒng),子系統(tǒng)下分多個功能模塊,功能模塊下分多個功能頁面,功能頁面下分多個子功能,而且子系統(tǒng)、功能模塊、功能頁面、子功能之間的邏輯關(guān)系構(gòu)成了一張復雜龐大的邏輯關(guān)系網(wǎng)。這就需要我們在原先做好的設(shè)計流程圖上,系統(tǒng)規(guī)劃,全面分析,

83、逐步細化,反復斟酌、推敲,然后列出編程計劃。</p><p>  2.善于借鑒他人的成果,實現(xiàn)自己的功能,可以有效地縮短開發(fā)時間,提高工作效率,是快速提高編程能力的最佳途徑。借鑒他人的勞動成果并不是簡單地拷貝別人的源代碼,如果只是這樣的話,你會因為系統(tǒng)經(jīng)常的報錯,卻束手無策,最后將其認為是雞肋而抱怨連天。應(yīng)該是先要分析讀透他人的程序思想,取其精華,去其糟粕,使之成為自己的思想,然后將這些功能塊與自己的功能塊融合。

84、</p><p>  3.及時、清楚、完整的工作日志,有利于快速提高自身的業(yè)務(wù)水平,也有利于提高編程效率。工作日志是指將工作中出現(xiàn)的事件按照一定的順序記錄下來。寫工作日志就像是記錄流水帳似的填寫事件的相關(guān)要素,看似簡單的工作記錄卻蘊含著很深的學問。我是這樣做的,以一天為工作節(jié)點,睡覺之前回憶今天所完成的任務(wù),遇到什么困難,怎樣解決,自己有什么心得體會,以表格形式,字段要素依次為:時間、事件、重點難點、解決死路、心

85、得體會,把事件相對完整地記錄下來,還可以按照時間、困難等級和心得體會來分類,以方便以后查閱學習。</p><p>  4.每編完一個功能,應(yīng)及時與其它完成功能一起測試,運行無誤后,方可進行下一步開發(fā)。這樣做是為了在測試時如果出錯能很方便地找到出錯的環(huán)節(jié)和病因所在,我們稱之為“step by step”(一步一腳?。瑢τ谝粋€初級的程序開發(fā)者來說是很有幫助的。對于編程人員來說每一個環(huán)節(jié)都是來不得有半點差錯的,每一個

86、功能都是環(huán)環(huán)相扣,相互關(guān)聯(lián),相互作用的。</p><p><b>  教訓反思:</b></p><p>  1.學習與實踐的結(jié)合不當。當我進行程序開發(fā)的時候,發(fā)現(xiàn)以前學習的知識點到用時卻忘得一干二凈了,也只好重新學習基本知識了。如果以前把知識學得透徹點,理解深刻點,也許在開發(fā)過程中可以縮短時間,提高效率。反思自我,歸其原因:不是當時的學習不夠認真,而是缺乏對知識點的

87、運用實踐;對于像我這樣“半路出家”的編程人員來說,只是理解知識點是遠遠不夠的,如果當時沒有經(jīng)過編譯、運行、調(diào)試的過程,很快就會忘記的。</p><p>  2.學習目標不專一。我們都知道在學習的時候是最忌諱這個還沒學明白就去學那個的,結(jié)果當然是哪個也沒學明白。這個沒學好,就想用另一個,造成學習不深入,學習效果不好。以后一點要記住此教訓。</p><p><b>  參考文獻<

88、;/b></p><p>  [1].王志剛,《深入淺出objective-c 2.0》,電子工業(yè)出版社,2011。</p><p>  [2].Dave Mark,Jack Nutting,Jeff LaMarche(著),漆振,楊越,孫文磊(譯)《iphone4與ipad開發(fā)基礎(chǔ)教程》,人民郵電出版社,2011。</p><p>  [3].Erica S

89、adun(著),張彩霞,高穎,易磊(譯),《iphone開發(fā)秘籍(第2版)》,人民郵電出版社,2011。</p><p>  [4].史嘉權(quán),《數(shù)據(jù)庫與系統(tǒng)理論》,清華大學出版社,2005。</p><p>  [5].蘋果開發(fā)者官方網(wǎng)站https://developer.apple.com,和Coco China 蘋果開發(fā)中文站http://www.cocoachina.com/。<

90、;/p><p>  [6].張英烽,劉超,《iphone應(yīng)用程序開發(fā)指南》,山東科學技術(shù)出版社,2011。</p><p>  [7].(美)戴利,《iphone游戲開發(fā)實踐指南》,機械工業(yè)出版社,2011.</p><p>  [8].Jiva DeVoe,《好學的Objective-c》,人民郵電出版社,2011。</p><p>  [9]

91、.(美)Carlo Chung(著),劉威(譯),《Objective-C編程之道:iOS設(shè)計模式解析》,人民郵電出版社,2011。</p><p>  [10].(美)詹姆斯 著,彭艦 譯,《Cocoa入門-使用Objective-C》,人民郵電出版社,2011</p><p>  [11].(美)克萊爾 著,李強 譯,《Objective-C 2.0 Mac和iOS開發(fā)實踐指南》,中國

92、電力大學出版社,2011。</p><p>  [12].楊正洪 著,《Objective-C程序設(shè)計》,清華大學出版社,2011。</p><p>  [13].(美)雷 著,袁國忠,郝記生 譯,《iphone開發(fā)入門經(jīng)典(第2版)》,人民郵電出版社,2011。</p><p>  [14].(美)坎貝爾 著,劉紅偉 譯,《iphone SDK3 開發(fā)快速上手》,

93、機械工業(yè)出版社,2011。</p><p>  [15].張英蜂,劉超,《iphone應(yīng)用程序開發(fā)指南(基礎(chǔ)篇)》,山東科學技術(shù)出版社,2011。</p><p>  [16].(美)諾伊貝格 著,《IOS4 編程》,山東大學出版社,2011。</p><p><b>  致謝</b></p><p>  白駒過隙,光陰

94、荏苒,四年大學生活轉(zhuǎn)眼即逝。在河北農(nóng)業(yè)大學信息學院求學的四年里,我有幸得到了常淑惠老師特別關(guān)照,常老師不但是我學習上的老師,也是我生活和為人處世方面的老師。此次畢業(yè)設(shè)計也是在常老師的悉心指導下完成的。常老師豐富的實踐經(jīng)驗、嚴謹?shù)霓k事風格、謙虛謹慎的作風及對我朋友般的關(guān)心使我受益匪淺。常老師淵博的專業(yè)知識、認真辦事的態(tài)度、正派的做人風格是我學習的榜樣,長輩的教導,使我受益終身。 </p><p>  在此對常老

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論