IOS平臺進銷存軟件設計畢業(yè)設計.doc_第1頁
IOS平臺進銷存軟件設計畢業(yè)設計.doc_第2頁
IOS平臺進銷存軟件設計畢業(yè)設計.doc_第3頁
IOS平臺進銷存軟件設計畢業(yè)設計.doc_第4頁
IOS平臺進銷存軟件設計畢業(yè)設計.doc_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

目錄摘要2Abstract4矚慫潤厲釤瘞睞櫪廡賴。1 引言5聞創(chuàng)溝燴鐺險愛氌譴凈。2 ios系統(tǒng)的簡介與發(fā)展6殘騖樓諍錈瀨濟溆塹籟。2.1簡介6釅錒極額閉鎮(zhèn)檜豬訣錐。2.2發(fā)展6彈貿攝爾霽斃攬磚鹵廡。3開發(fā)環(huán)境與實現技術7謀蕎摶篋飆鐸懟類蔣薔。3.1 開發(fā)環(huán)境7廈礴懇蹣駢時盡繼價騷。3.1.1 IPhone以及IPhone OS7煢楨廣鰳鯡選塊網羈淚。3.1.2 Xcode與Interface Builder8鵝婭盡損鵪慘歷蘢鴛賴。3.1.3 Core Data10籟叢媽羥為贍僨蟶練淨。3.2 實現技術11預頌圣鉉儐歲齦訝驊糴。3.2.1 Objective C介紹11滲釤嗆儼勻諤鱉調硯錦。3.2.2 Web Services相關12鐃誅臥瀉噦圣騁貺頂廡。4軟件需求分析13擁締鳳襪備訊顎輪爛薔。4.1 業(yè)務流程分析13贓熱俁閫歲匱閶鄴鎵騷。4.2 特性需求分析13壇摶鄉(xiāng)囂懺蔞鍥鈴氈淚。4.3 數據流分析14蠟變黲癟報倀鉉錨鈰贅。4.4 功能需求分析14買鯛鴯譖曇膚遙閆擷凄。5軟件設計15綾鏑鯛駕櫬鶘蹤韋轔糴。5.1 軟件總體結構設計15驅躓髏彥浹綏譎飴憂錦。5.2 軟件各大模塊設計16貓蠆驢繪燈鮒誅髏貺廡。5.2.1進貨模塊設計16鍬籟饗逕瑣筆襖鷗婭薔。5.2.2銷售模塊設計16構氽頑黌碩飩薺齦話騖。5.2.3收支查詢模塊設計16輒嶧陽檉籪癤網儂號澩。5.2.4資金管理模塊設計16堯側閆繭絳闕絢勵蜆贅。5.2.5庫存管理模塊設計17識饒鎂錕縊灩筧嚌儼淒。6 軟件實現18凍鈹鋨勞臘鍇癇婦脛糴。6.1 進貨功能的實現19恥諤銪滅縈歡煬鞏鶩錦。6.2 銷售功能的實現21鯊腎鑰詘褳鉀溈懼統(tǒng)庫。6.3 收支查詢功能的實現23碩癘鄴頏謅攆檸攜驤蘞。6.4 資金管理功能的實現24閿擻輳嬪諫遷擇楨秘騖。6.5 庫存管理功能的實現25氬嚕躑竄貿懇彈瀘頷澩。6.6 用戶管理功能的實現26釷鵒資贏車贖孫滅獅贅。7總結28慫闡譜鯪逕導嘯畫長涼。致謝29諺辭調擔鈧諂動禪瀉類。參 考 文 獻30嘰覲詿縲鐋囁偽純鉿錈。摘要隨著手機的普及,在生活中人們經常提到蘋果手機,看到蘋果手機的廣告,也有很多人拿著蘋果手機,那么誰知道蘋果手機為什么這么受迎呢,它有什么強大的功能呢,我們能不能在蘋果手機上設計一個軟件呢?熒紿譏鉦鏌觶鷹緇機庫。本文基于IOS平臺進銷存的設計與實現進行了研究。簡單介紹了IPhone手機背景以及IPhone手機軟件開發(fā)環(huán)境、開發(fā)語言和運行環(huán)境,闡述了選擇IPhone作為開發(fā)平臺的原因,分析了基于IOS平臺的進銷存軟件的市場需求以及開發(fā)的可行性,然后對進銷存軟件進行需求分析和系統(tǒng)設計,探討了進銷存軟件的開發(fā)方法和實現技術。鶼漬螻偉閱劍鯫腎邏蘞。本軟件客戶端開發(fā)基于Mac OS下的Xcode平臺,運行于IPhone手機平臺,使用Object-C作為客戶端的開發(fā)語言,Coredata作為數據管理工具。本文詳細闡述了經銷存軟件開發(fā)的目的、設計思想,完成了對該系統(tǒng)各功能模塊的實現。紂憂蔣氳頑薟驅藥憫騖。關鍵詞:IPhone;進銷存軟件;Xcode;Object-C;Mac OSAbstractWith the popularity of cell phone, in real life people often mention apple mobile phone, see apple mobile advertising, also have a lot of people with a apple mobile phone, so who knows apple mobile phone? Why so popular, it has the function of the powerful? Can we design a app on an apple mobile phone?穎芻莖蛺餑億頓裊賠瀧。Design and implementation of PSS(Purchase,sales and store) software based on the IPhone was studied in the paper.Introduce background of IPhone mobile phones simplely,introduce development environment ,development language and the operation environment of IPhone mobile phone software. Expounds the resaon why choose IPhone as development platform. Analysis the market requirement and development feasibility of PSS software based on the IPhone,then analysis demand of sales management software and design sales management software. Explore the PSS software development methods and techniques. 濫驂膽閉驟羥闈詔寢賻。This system based on the Mac OS client development platform, operation Xcode under the IPhone in mobile platform. Use Object-C as a client development of language. And use Coredata as a tool for data management. The paper expounds purpose and design thought of PSS software, complete the implementation of the functional modules.銚銻縵嚌鰻鴻鋟謎諏涼。Keywords: IPhone; PSS Software; Xcode; Object-C; Mac OS擠貼綬電麥結鈺贖嘵類。1 引言 世界在發(fā)展,社會在進步,在信息化時代的今天,人們對于手機有了進一步的了解與應用。隨著科技的發(fā)展,智能手機已經成為了今天手機市場的主流產品,現在大部分的人都在用智能手機。智能手機的發(fā)展勢不可擋。賠荊紳諮侖驟遼輩襪錈?,F在常用的智能手機系統(tǒng)有:蘋果ios智能系統(tǒng)、安卓智能系統(tǒng)、塞班智能系統(tǒng)、軟智能手機系統(tǒng)、黑莓智能系統(tǒng)等等。塤礙籟饈決穩(wěn)賽釙冊庫。 毫無疑問,手機的智能化是手機的一場革命。互聯網應用的發(fā)展和3G網絡的成熟,3G智能手機成為最重要的終端載體,吸引了越來越多消費者利用智能手機網上沖浪、收發(fā)電子郵件、看電影、打游戲、視頻對話等。智能手機讓人們的生活變得越來越便捷,這就使得智能手機成為了消費者追捧的對象。裊樣祕廬廂顫諺鍘羋藺。 2005年,蘋果公司以“Purple 2”為代號開發(fā)iPhone。 2007年11月,iPhone獲時代雜志選為“2007年度最佳發(fā)明”。 2008年6月9日,蘋果于全球開發(fā)者大會2008(Worldwide Developer Conference 2008)上發(fā)表新一代的iPhone iPhone 3G 及iPhone 2.0固件,有8GB容量(黑色)和16G容量(黑白兩色)等兩種選擇。2008年7月11日,全球22個國家及地區(qū)率先發(fā)售iPhone 3G。從該款手機開始,iPhone系列開始支持WCDMA標準(3GPP)。倉嫗盤紲囑瓏詁鍬齊驁。 2009年6月8日,蘋果在全球開發(fā)者大會2009上宣布了新一代的iPhone 3GS,其于6月19日開始發(fā)售。綻萬璉轆娛閬蟶鬮綰瀧。 2010年6月7日,蘋果于全球開發(fā)者大會2010上發(fā)表新一代的iPhone 4,有16GB以及32GB兩種容量,并有黑白兩色可以選擇。6月24日,黑色iPhone 4 在美國、法國、德國、英國、日*本五個國家率先上市,隨后擴展至全球。而白色iPhone 4 由于工藝問題遲遲未能上市,但至4/28已經開始販售于全球多國。驍顧燁鶚巰瀆蕪領鱺賻。2011年1月11日,Verizon聯合蘋果舉行發(fā)布會,發(fā)表了第一款基于CDMA(3GPP2)標準的iPhone 4,2011年2月在美國發(fā)售。該款手機不兼容GSM與WCDMA標準?,嶀暈R曖惲錕縞馭篩涼。2011年10月4日,蘋果公司在美國加州古柏迪諾的總部舉辦“Lets talk iPhone”,發(fā)表iPhone 4S。鎦詩涇艷損樓紲鯗餳類。 2012年9月13日,蘋果公司在美國舊金山芳草地藝術中心正式發(fā)布新一代產品iPhone5。 蘋果ios系統(tǒng)作為高端機的智能系統(tǒng)截止至2013年3月,根據Canalys的數據顯示,iOS已經占據了全球智能手機系統(tǒng)市場份額的18%,并在逐漸的增加。櫛緶歐鋤棗鈕種鵑瑤錟。2 ios系統(tǒng)的簡介與發(fā)展2.1簡介 蘋果iOS是由蘋果公司開發(fā)的手持設備操作系統(tǒng)。蘋果公司最早于2007年1月9日的Macworld大會上公布這個系統(tǒng),最初是設計給iPhone使用的,后來陸續(xù)套用到iPod touch、iPad以及Apple TV等蘋果產品上。iOS與蘋果的Mac OS X操作系統(tǒng)一樣,它也是以Darwin為基礎的,因此同樣屬于類Unix的商業(yè)操作系統(tǒng)。原本這個系統(tǒng)名為iPhone OS,直到2010年6月7日WWDC大會上宣布改名為iOS。iPhone和iPad提供的用戶體驗令人難忘,它非常直觀,即使是新手,在沒有用戶手冊的情況下也能夠使用,這樣的技術實在罕見。1轡燁棟剛殮攬瑤麗鬮應。2.2發(fā)展iOS最早于2007年1月9日的蘋果Macworld展覽會上公布,隨后于同年的6月發(fā)布的第一版iOS操作系統(tǒng),當初的名稱為“iPhone runs OS X”。峴揚斕滾澗輻灄興渙藺。最初,由于沒有人了解“iPhone runs OS X”的潛在價值和發(fā)展前景,導致沒有一家軟件公司、沒有一個軟件開發(fā)者給“iPhone runs OS X”開發(fā)軟件或者提供軟件支持。于是,蘋果公司時任CEO斯蒂夫.喬布斯說服各大軟件公司以及開發(fā)者可以先搭建低成本的網絡應用程序(WEB APP)來使得它們能像iPhone的本地化程序一樣來測試“iPhone runs OS X”平臺2。2007年10月17日,蘋果公司發(fā)布了第一個本地化IPhone應用程序開發(fā)包(SDK),并且計劃在2月發(fā)送到每個開發(fā)者以及開發(fā)商手中。 詩叁撻訥燼憂毀厲鋨驁。2008年3月6日,蘋果發(fā)布了第一個測試版開發(fā)包,并且將“iPhone runs OS X”改名為”iPhone OS“。2008年9月,蘋果公司將iPod touch的系統(tǒng)也換成了”iPhone OS“。2010年2月27日,蘋果公司發(fā)布iPad,iPad同樣搭載了”iPhone OS”。這年,蘋果公司重新設計了“iPhone OS”的系統(tǒng)結構和自帶程序。2010年6月,蘋果公司將“iPhone OS”改名為“iOS”,同時還獲得了思科iOS的名稱授權。 則鯤愜韋瘓賈暉園棟瀧。2010年第四季度,蘋果公司的iOS占據了全球智能手機操作系統(tǒng)26%的市場份額。 2011年10月4日,蘋果公司宣布iOS平臺的應用程序已經突破50萬個。2012年2月,應用總量達到552,247個,其中游戲應用最多,達到95,324個,比重為17.26%;書籍類以60,604個排在第二,比重為10.97%;娛樂應用排在第三,總量為56,998個,比重為10.32%。脹鏝彈奧秘孫戶孿釔賻。3開發(fā)環(huán)境與實現技術3.1 開發(fā)環(huán)境3.1.1 IPhone以及IPhone OSIPhone由蘋果公司(Apple, Inc.)首席執(zhí)行官史蒂夫喬布斯在2007年1月9日舉行的Macworld宣布推出,2007年6月29日在美國上市,將創(chuàng)新的移動電話、可觸摸寬 屏iPod以及具有桌面級電子郵件、網頁瀏覽、搜索和地圖功能的突破性因特網通信設備這三種產品完美地 融為一體。IPhone引入了基于大型多觸點顯示屏和領先性新軟件的全新用戶界面,讓用 戶用手指即可控制IPhone。IPhone還開創(chuàng)了移動設備軟件尖端功能的新紀元,重新定義了移動電話的功能。鰓躋峽禱紉誦幫廢掃減。IPhone OS由兩部分組成:操作系統(tǒng)和能在 IPhone和iPod touch設備上運行原生程序的技術3。由于IPhone是為移動終端而開發(fā),所以要解決的用戶需求就與Mac OS X有些不同,盡管在底層的實現上IPhone與Mac OS X共享了一些底層技術。如果你是一名Mac開發(fā)人員,你可以在IPhone OS發(fā)現很多熟悉的技術,同時也會注意到IPhone OS的獨有之處,比如多觸點接口(Multi-Touch interface)和加速器(accelerometer)4 。IPhone手機中有很多新鮮的技術是需要我們學習的,比如多觸點技術以及控制感應器的技術。如圖2.1為IPhone和iPod Touch。稟虛嬪賑維嚌妝擴踴糶。圖2.1 IPhone和iPod Touch在SDK發(fā)布之前,第三方的程序是不能在IPhone上運行的。隨著SDK的發(fā)布,IPhone的愛好者便可以開發(fā) 在 IPhone上運行的應用程序了。IPhone SDK包含了所需的資料和工具,使用這些工具可以開發(fā)、測試、運行、調試和調優(yōu)程序以適合IPhone OS5。XcodeIDE已經更新到支持IPhone OS的開發(fā)。除了提供代碼的基本編輯、編譯和調試環(huán)境,當在IPhone或者iPod touch設備上調試你的程序, Xcode還提供了運行點(launching point)功能。不知道這是怎樣一個功能,估計就是在實際設備上設置斷點,并可以看到運行的log信息。同時,Xcode還可以在IPhone模擬器中 運行程序,模擬器就是指在Macintosh電腦上模擬基本的IPhone OS環(huán)境的平臺6。模擬器對于學習IPhone的編 程流程和語言是相當方便的。陽簍埡鮭罷規(guī)嗚舊巋錟。蘋果公司證實 IPhone 會執(zhí)行(除去不需要元件的)最佳化 OS X操作系統(tǒng),并占用 8GB 或 16GB flash 內存中的 700MB 空間,可以執(zhí)行內建及未來由蘋果提供的應用程式。蘋果并未說明麥金塔和IPhone兩者的操作系統(tǒng)(OS X)間的實質差異,惟 IPhone 使用的處理器是 ARM,與桌上型麥金塔使用的 x86 或 PowerPC 處理器不同,所以兩者使用的 OS X 版本也不相容7。第三方應用程式目前僅能透過 Safari 在控制環(huán)境中執(zhí)行,完整應用程式目前僅能來自蘋果。蘋果公司對于更新IPhone操作系統(tǒng)傾向提供一種更為流暢、類似于 Windows Update, Mac OS X 和 iPod 的更新方式,和其他移動電話比較起來有更吸引顧客的優(yōu)勢。溈氣嘮戇萇鑿鑿櫧諤應。3.1.2 Xcode與Interface Builder在IPhone手機軟件的開發(fā)過程中主要使用這兩個程序:Xcode 和 Interface Builder。而在這些IDE內部,gcc 作為編譯器來編譯代碼,gdb來調試8。鋇嵐縣緱虜榮產濤團藺。Xcode是Apple自己開發(fā)的,只運行在Mac OS X平臺下的IDE。如果你想真正了解Mac OS X平臺上的開發(fā),就應該了解它。當然,Mac OS X實現了POSIX,固然也支持傳統(tǒng)的UNIX編程環(huán)境;Eclipse等Java開發(fā)工具也有Mac OS X版。不過這些,你在Linux或者Windows平臺也能體驗到。Xcode也并不神秘,Apple并沒有自己特有的編譯器(盡管Mac上的Gcc是經 蘋果修改過的版本),創(chuàng)建項目的時候,Xcode還是會生成并執(zhí)行一條條的Gcc和ld的命令。所以如果你有足夠的UNIX經驗(并且知道到哪里找需要用 的Framework),完全可以在命令行編譯一個完整的Cocoa應用程序。 懨俠劑鈍觸樂鷴燼觶騮。其實Xcode提供了很多功能,使你無論在創(chuàng)建項目、設計、修改代碼還是編譯等各個環(huán)節(jié)都能收益,恐怕你很 難找到一個不使用它的理由。事實上,自從Mac OS 10.4引入了Universal Binary的概念以后,Xcode幾乎成為了大多數Mac開發(fā)者的唯一選擇9。Xcode是免費的,只要你有一臺Mac,隨機帶的安裝盤里就 有Xcode,升級是免費的(不過如果使用的是Mac OS 10.5以前版本的OS,你將不能運行Xcode 3.0或以上的版本)。 謾飽兗爭詣繚鮐癩別瀘。不管你用 C、C+、 Objective-C 或 Java 編寫程序,在 AppleScript 里編寫腳本,還是試圖從另一個奇妙的工具中轉移編碼,你會發(fā)現 Xcode 編譯速度極快。每次操作都很快速和輕松。咼鉉們歟謙鴣餃競蕩賺。Xcode 2.0 的虛擬模型和設計功能讓你可以更輕松的開發(fā)和維護應用程序。只需選擇應用程序中想要編寫的部分,然后模型和設計系統(tǒng)將自動創(chuàng)建分類圖表,不僅可以顯示編碼,還可以讓你進行瀏覽。Mac OS X Core Data API 幫你的應用程序創(chuàng)建數據結構。更棒的是,它還自動提供撤消、重做和保存功能,無需編寫任何編碼10?,撝C齷蘄賞組靄縐嚴減。Xcode 整合的 Apple Reference Library 為所有的蘋果電腦公司開發(fā)者文件提供一個單獨的搜索和顯示界面,這些文件包括來自蘋果電腦公司網站的在線文件,以及存放在你電腦上的文件。新的參考資料庫 甚至可以幫你將定期更新資料下載到你的電腦,保持文件的最新狀態(tài)。Xcode 將幫你快速找到最新的答案。麩肅鵬鏇轎騍鐐縛縟糶。Xcode 2.0 的核心部分是蘋果電腦公司下一代業(yè)界標準的 gcc 編譯器 gcc 4.0。新的編譯器利用許多先進的最優(yōu)化技術幫你從現存編碼中獲得更多性能。從超級計算世界借鑒來的自動向量化(Auto-vectorization) 技術可以幫助你釋放每臺 PowerPC G4 和 G5 系統(tǒng)中速度引擎的能量,而不需要編寫向量化編碼。其他的最優(yōu)化工具則支持反饋定向的最優(yōu)化,以及隱藏模塊分析。納疇鰻吶鄖禎銣膩鰲錟。借助 Mac OS X Tiger 中的新64位支持,Xcode 將賦予你創(chuàng)建諸如計算和渲染引擎應用程序的能力,這些應用程序使用64位內存定址。這非常適合數據集中的應用程序,其通過訪問內存中的數據運行速度更快, 遠勝于磁盤訪問。Xcode 將為你提供工具來建立并調試適合 PowerPC G5 和 Mac OS X Tiger 的64位應用程序,還可以讓你創(chuàng)建包含32位和64位執(zhí)行能力的 Fat Binaries。風攆鮪貓鐵頻鈣薊糾廟。眾所周知, 在構建中引進多重處理器可以提高速度,Xcode 能幫你實現這個明顯的結論。利用支持 Rendezvous 的分布式構建功能,可以輕易地把編譯工作量分散到閑置的電腦上來寄放構建,或者更好是在單獨的電腦上開發(fā)一個專門的 Xserve 構建寄放區(qū),快速處理那些耗時的任務。滅噯駭諗鋅獵輛覯餿藹。蘋果電腦公司的 Mac OS X 綜合開發(fā)環(huán)境 Xcode 為各種類型的 Mac OS X 軟件項目提供項目編輯、搜索和瀏覽,文件編輯, 項目構建和調試設備等功能。鐒鸝餉飾鐔閌貲諢癱騮。Xcode 可用來輔助開發(fā)應用程序、工具、架構、數據庫、嵌入包、核心擴展和設備驅動程序。Xcode 支持開發(fā)人員使用 C、 C+、Objective C、 AppleScript 和 Java。攙閿頻嶸陣澇諗譴隴瀘。Xcode 能夠和 Mac OS X 里眾多其它的工具協(xié)作,例如綜合用戶界面結構應用程序;編譯器如 gcc、 javac 和 jikes;還有調試工具如 gdb。趕輾雛紈顆鋝討躍滿賺。另外,你可以用 AppleScript Studio 組增加一個 Aqua 界面到系統(tǒng)和應用程序腳本、命令行工具、以及網絡應用程序中。以上三者無論如何都能在任何平臺組合成最強大的腳本環(huán)境。夾覡閭輇駁檔驀遷錟減。調試全屏幕應用程序(比如游戲)具有很大的挑戰(zhàn)性。將調試窗口放在什么位置呢?有了 Xcode 2.0 的繪圖遠程調試,所有強大的 Xcode 調試功能(例如數據格式程序、Fix、Continue)都可以在遠程機器上用來調試應用程序。利用與遠程調試階段的加密連接,Xcode 可以保證你的數據安全。視絀鏝鴯鱭鐘腦鈞欖糲。2007年10月17日,史提夫賈伯斯在一封張貼于蘋果公司網頁上的公開信上宣布軟件開發(fā)工具包。它將在2008年2月提供給第三方開發(fā)商。軟件開發(fā)工 具包于2008年3月6日發(fā)布,并允許開發(fā)人員開發(fā)IPhone和iPod touch的應用程序,并對其進行測試,名為“ IPhone手機模擬器” 。然而,只有在付出了IPhone手機開發(fā)計劃的費用后,應用程序才能發(fā)布。自從Xcode 3.1 發(fā)布以后, Xcode就成為了IPhone軟件開發(fā)工具包的開發(fā)環(huán)境11。偽澀錕攢鴛擋緬鐒鈞錠。Interface Builder是一個GUI構建工具,通過它你可以創(chuàng)建窗口布局并且把各個 組件添加到窗口中,Interface Builder使程序員能方便的創(chuàng)建各種對象并編輯它們的屬性,這些對象多數是用戶界面元件,比如按鈕和文本輸入框,但是也可以是你自定義的對象。緦徑銚膾齲轎級鏜撟廟。為了生成GUI,Interface Builder并不是必需的,實際上Mac OS X下所有的用戶界面元素都可以使用代碼直接生成;但Interface Builder能夠使開發(fā)者簡單快捷的開發(fā)出符合Mac OS X human-interface guidelines的GUI。通常你只需要通過簡單的拖拽(drag-n-drop)操作來構建GUI就可以了。 騅憑鈳銘僥張礫陣軫藹。Interface Builder使用Nib文件儲存GUI資源,同時適用于Cocoa和Carbon程序。在需要的時候,Nib文件可 以被快速地載入內存。 癘騏鏨農剎貯獄顥幗騮。3.1.3 Core DataCore Data是Mac OS X中CocoaAPI的一部分,首次在Mac OS X 10.4Tiger與iOS3.0系統(tǒng)中出現。它允許按照實體-屬性-值模型組織數據,并以XML,二進制文件或SQLite數據文件的格式將其串行化。Core Data允許用戶使用代表實體和實體間關系的高層對象來操作數據。它也可以管理串行化的數據,提供對象生存期管理與object graph管理,包括存儲。Core Data直接與SQLite交互,避免開發(fā)者使用原本的SQL語句。就像Cocoa綁定在模型-視圖-控制器設計中做了很多控制器的工作一樣,Core Data做了很多數據模型的工作。它的主要任務是負責數據更改的管理,串行化到磁盤,最小化內存占用,以及查詢數據。鏃鋝過潤啟婭澗駱讕瀘。Core Data使用包括實體和實體間關系,以及查找符合某些條件的實體的請求等內容的高層數據模型描述數據。開發(fā)者可以在純對象層上查找與管理這些數據,二不必擔心存儲和查找的實現細節(jié)。Interface Builder中的控制器對象可以直接獲取與管理實體,若與Cocoa綁定結合,則可以在不寫自定義代碼的情況下讓用戶界面顯示、修改與管理數據模型中的大部分內容12。榿貳軻謄壟該檻鯔塏賽。Core Data可以將數據存儲為XML,二進制文件或SQLite文件。在Mac OS X 10.5Leopard及以后的版本中,開發(fā)者也可以通過繼承NSPersistentStore類以創(chuàng)建自定義的存儲格式。每種方法都有其優(yōu)缺點,例如XML的可讀性,SQLite的節(jié)約空間等。Core Data的這一方面類似于原始的Enterprise Objects Framework(EOF)系統(tǒng),但EOF中開發(fā)者可以使用相對簡潔的查詢方式,而在Core Data中,只能使用一個語法類似SQL子集的查詢語言,稱為Predicate。邁蔦賺陘賓唄擷鷦訟湊。Core Data是標準化的,可以自由的讀寫Xcode數據模型文件(通常是.xcdatamodel文件)。與EOF不同,Core Data目前沒有設計多用戶或多線程訪問模式。模型遷移通常也需要代碼,若其它開發(fā)者依賴于某個數據模型,則該數據模型的設計者可能在模型發(fā)生改變時需要與新數據模型一起提供版本轉換代碼。嶁硤貪塒廩袞憫倉華糲。3.2 實現技術3.2.1 Objective C介紹Objective-C 2.0是Mac OS X系統(tǒng)和iPhone平臺下的標準程序設計語言。主要是因為Mac OS X 技術源自NextStep的OpenStep操作系統(tǒng), 因為OPENSTEP的軟件架構(framework) 都是用Objetive-C 寫成,所以MacOS X上的開發(fā)最佳語言自然也就是Objective-C 了13。該櫟諼碼戇沖巋鳧薩錠。Object-C是由 Brad Cox在80年代初在第一個純面向對象語言Smalltalk基礎上 寫成。后來他創(chuàng)立了StepStone公司從事Objective-C的推廣。年,Steve Jobs的NextStep采用Objective-C作為開發(fā)語言,1992年GNU gcc編譯器中包含了對Objective-C的支持(gnu-objc runtime), Dennis Glating 寫了第一個run-time。Richard Stallman 第二個,最近的是Kresten Krab Thorup在丹麥讀大學時寫的, 他后來到NextStep工作。劇妝諢貰攖蘋塒呂侖廟。目前, Objective-C 是Mac OS X的首要開發(fā)語言,也是GNUstep 在Linux 和其它平臺上的開發(fā)語言。Objective-C是ANSI C的超集,擴展了C 語言使它具備面向對象設計的能力,如類,消息和繼承。Objective-C 程序中可以利用現有的C語言代碼,使其利用現有的軟件架構。這也是為甚莫Objective-C 過去多年間能夠成為一種流行的用戶界面開發(fā)語言而且至今沒有消亡,因為一方面用它可以實現底層系統(tǒng)編程,另一方面可以支持利用動態(tài)架構進行開發(fā)。臠龍訛驄椏業(yè)變墊羅蘄。Objective-C 和C+的比較(1)單一繼承:Objective-C不支持多重繼承,(同Java和Smalltalk),而C+語言支持多重繼承。(2)動態(tài):Objective-C是動態(tài)定型(dynamicaly typed)所以它的類庫比C+要容易操作。Objective-C 在運行時可以允許根據字符串名字來訪問方法和類,還可以動態(tài)連接和添加類14。鰻順褸悅漚縫囅屜鴨騫。C+ 跟從面向對象編程里的Simula 67(一種早期OO語言)學派,而Objecive-C屬于Smalltalk學派。穡釓虛綹滟鰻絲懷紓濼。在C+里,對象的靜態(tài)類型決定你是否可以發(fā)送消息給它,而對Objecive-C來說,由動態(tài)類型來決定。Simula 67學派更安全,因為大部分錯誤可以在編譯時查出。 而Smalltalk學派更靈活,比如一些Smalltalk 看來無誤的程序拿到Simualr 67那里就無法通過。隸誆熒鑒獫綱鴣攣駘賽。3.2.2 Web Services相關Web Services是由企業(yè)發(fā)布的完成其特定商務需求的在線應用服務,其他公司或應用軟件能夠通過Internet來訪問并使用這項在線服務。浹繢膩叢著駕驃構碭湊。它是一種構建應用程序的普遍模型,可以在任何支持網絡通信的操作系統(tǒng)中實施運行;它是一種新的web應用程序分支,是自包含、自描述、模塊 化的應用,可以發(fā)布、定位、通過web調用。Web Service是一個應用組件,它邏輯性的為其他應用程序提供數據與服務.各應用程序通過網絡協(xié)議和規(guī)定的一些標準數據格式 (Http,XML,Soap)來訪問Web Service,通過Web Service內部執(zhí)行得到所需結果.Web Service可以執(zhí)行從簡單的請求到復雜商務處理的任何功能。一旦部署以后,其他Web Service應用程序可以發(fā)現并調用它部署的服務15。鈀燭罰櫝箋礱颼畢韞糲。4軟件需求分析4.1 業(yè)務流程分析在軟件需求分析中,當要對如見的組織結構和功能進行分析時,需從一個實際業(yè)務流程的角度將系統(tǒng)調查中有關業(yè)務流程的資料組織在一起作進一步的流程分析。業(yè)務流程分析可以幫助我們更好地了解此項業(yè)務的具體處理過程,發(fā)現和處理進銷存軟件工作中的錯誤和疏漏,修改和改進進銷存軟件中不合理的部分,優(yōu)化業(yè)務處理流程。愜執(zhí)緝蘿紳頎陽灣熗鍵。通過對進銷存軟件的需求分析,確定了進銷存軟件各個模塊的業(yè)務流。整個軟件各個模塊的業(yè)務流如圖4-1所示。貞廈給鏌綞牽鎮(zhèn)獵鎦龐。圖4-1 系統(tǒng)業(yè)務流圖4.2 特性需求分析本軟件基于IOS系統(tǒng),客戶端運行在IPhone手機上,開發(fā)必須基于Mac OS下的Xcode開發(fā)環(huán)境。嚌鯖級廚脹鑲銦礦毀蘄。4.3 數據流分析用戶進入系統(tǒng),進入功能列表界面,可使用的功能模塊有進貨模塊,銷售模塊,收支查詢模塊,資金管理模塊,庫存管理模塊,用戶管理模塊,選擇具體功能模塊進入。進入各個模塊后,從數據庫里取出對應的數據顯示在界面上,編輯數據時再將新的數據寫入數據庫里的對應數據里。薊鑌豎牘熒浹醬籬鈴騫。4.4 功能需求分析在這個過程中銷售員需要掌握貨物的銷售,庫存狀況,資金的動態(tài)以及產品詳細信息等等。進銷存軟件的系統(tǒng)需求如下:(1)進貨:管理進貨相關信息。(2)銷售:管理銷售相關信息。(3)收支查詢:管理收支。(4)資金管理:管理資金流向。(5)庫存管理:管理庫存信息。(6)用戶管理:管理用戶信息。5軟件設計軟件設計是軟件開發(fā)過程中重要階段。在這一階段中,要根據前一階段軟件分析的結果,在已經獲得的需求分析基礎上,進行系統(tǒng)設計。軟件設計包括兩個方面,首先是總體結構的設計,其次是具體物理模型的設計。軟件設計的主要目的就是為下一階段的系統(tǒng)實現(如編程、調試、試運行等)制定藍圖。軟件設計階段主要任務就是在各種技術和實施方法中權衡利弊,精心設計,合理地使用各種資源,最終勾劃出新系統(tǒng)的詳細設計方案。齡踐硯語蝸鑄轉絹攤濼。本階段的主要任務是設計進銷存軟件的程序結構,并確定程序組成模塊,以及各模塊之間的關系。5.1 軟件總體結構設計客戶通過IPhone手機上的客戶端進入軟件,可以選擇相應的六大功能,選擇具體功能進入以后,從數據庫提取對應數據顯示在其界面上,用戶可查詢到所需資料,也可對其進行相應的操作,編輯數據后會把新的數據保存到數據庫里。用戶單擊Home鍵退出系統(tǒng)。如圖5.1紳藪瘡顴訝標販繯轅賽。圖5.1 系統(tǒng)主要功能圖進貨模塊:進貨以及查詢進貨記錄。銷售模塊:銷售以及查詢銷售記錄。收支查詢模塊:查詢收入和支出的詳細情況。資金管理模塊:查詢資金流動方向。庫存管理模塊:查詢產品的庫存以及產品相信信息。用戶管理模塊:查詢用戶信息及其修改。5.2 軟件各大模塊設計本系統(tǒng)如圖所示,主要實現以下一些功能,如圖5.2:圖5.2 系統(tǒng)功能模塊圖5.2.1進貨模塊設計當用戶進入進貨功能模塊以后,如果是新商品,可以添加新商品,如果商品存在,可以直接選擇進貨,或者手動輸入商品的名稱進貨。同時,還可以查詢所有商品的進貨記錄。飪籮獰屬諾釙誣苧徑凜。5.2.2銷售模塊設計當用戶進入銷售功能模塊以后,可以直接選擇庫存里的商品,然后輸入數量銷售,或者手動輸入商品的名稱銷售。同時,還可以查詢所有庫存商品的銷售記錄。烴斃潛籬賢擔視蠶賁粵。5.2.3收支查詢模塊設計當用戶進入收支查詢功能模塊以后,可以看到當天的收入與支出,并且可以查詢其詳情,收入與支出分別來自何處。另外,也可以點擊查詢日期選擇用戶想知道的日期來查詢當天的具體情況。鋝豈濤軌躍輪蒔講嫗鍵。5.2.4資金管理模塊設計當用戶進入資金管理功能模塊以后,可以看到目前的資金總數。當資金不夠時,可以往里投入資金,當資金充裕時,也可以提取資金。另外也可以查詢投入或者提取的詳情。擷偽氫鱧轍冪聹諛詼龐。5.2.5庫存管理模塊設計當用戶進入庫存管理功能模塊以后,是一個列表,列表會列出當前的庫存,下面會寫出商品進價,售價,數量等信息。也可以點擊編輯按鈕來修改商品的屬性。蹤飯夢摻釣貞綾賁發(fā)蘄。5.2.6用戶管理模塊設計 當用戶進入庫存管理功能模塊以后,可以看到當前賬戶信息,也可以對其信息進行修改。另外可以退出當前賬號。6 軟件實現在實際的系統(tǒng)開發(fā)中存在多種開發(fā)方法,如結構化方法、原型化方法、面向對象方法等等。結構化方法也可稱為面向功能的軟件開發(fā)方法或面向數據流的軟件開發(fā)方法,首先用結構化分析(SA)對軟件進行需求分析,然后用結構化設計(SD)方法進行總體設計,最后用結構化編程(SP)進行程序設計。婭鑠機職銦夾簣軒蝕騫。原型化方法一般由以下四個階段組成:(1)確定用戶需求,(2)開發(fā)原始模型,(3)征求用戶對原始模型的改進意見,(4)修改原型。原型化方法比較適用于用戶需求不清、業(yè)務理論不確定、需求經常變化的情況。當系統(tǒng)規(guī)模不是很大也不復雜時采用該方法是比較好的。譽諶摻鉺錠試監(jiān)鄺儕瀉。面向對象方法是當前計算機業(yè)界中最流行的方法,包括面向對象分析(00A),面向對象設計(OOD)、面向對象編程(OOP)。這是一種以對象建模為基礎,自底向上和自頂向下相接合的方法。面向對象技術在需求分析、可靠性和可維護性這三個軟件開發(fā)的關鍵環(huán)節(jié)和質量指標上有了實質性的突破,基本解決了這些方面存在的嚴重問題。采用面向對象的語言編寫程序,更接近于現實世界,并符合人類的思維習慣,從而使應用程序具有更高的可讀性、易維護性以及可擴充性。儔聹執(zhí)償閏號燴鈿膽賾。 客戶打開IPhone手機中的客戶端軟件后,進入客戶端軟件的主界面,即登錄界面如圖6.1。 圖6.1 用戶登錄界面 當登錄成功以后即進入主界面,上方顯示當前總資金。中間有六個按鈕,即六大功能模塊,如圖6.2。圖6.2 主界面6.1 進貨功能的實現用戶點擊主界面的進貨按鈕后進入進貨界面,如果進貨的商品不存在,可以選擇添加新商品如圖6.3,如果貨物存在可以直接選擇如圖6.4,點擊一個產品后進入另一個界面如圖6.5輸入數量點擊確定即可進貨,另外也可以查詢記錄,如圖6.6??b電悵淺靚蠐淺錒鵬凜。圖6.3 添加新商品圖6.4 選擇進貨商品圖6.5 進貨商品圖6.6 進貨記錄6.2 銷售功能的實現用戶點擊主界面的銷售按鈕后進入銷售界面如圖6.7,點擊一個產品后進入另一個界面如圖6.8輸入數量點擊確定即可銷售,另外也可以查詢記錄,如圖6.9。驥擯幟褸饜兗椏長絳粵。圖6.7 選擇銷售商品圖6.8 銷售商品圖6.9 銷售記錄6.3 收支查詢功能的實現用戶點擊主界面的收支查詢按鈕后進入收支查詢界面如圖6.10,點擊收入或者支出后面的詳情可以查詢其詳細信息投入6.11,點擊中間選擇日期按鈕會彈出選擇框可以選擇你想要查詢的日期如圖6.12。癱噴導閽騁艷搗靨驄鍵。圖6.10 收支查詢圖6.11 收入詳情圖6.12 選擇日期6.4 資金管理功能的實現用戶點擊主界面的資金管理按鈕后進入資金管理界面如圖6.13,點擊右上方的詳情按鈕,可以查詢投入和提取的詳細信息如圖6.14。鑣鴿奪圓鯢齙慫餞離龐。圖6.13 資金管理圖6.14 投入詳情6.5 庫存管理功能的實現用戶點擊主界面的庫存管理按鈕后進入庫存管理界面如圖6.15,將會看到列表列出來當前的庫存,點擊商品進去可以編輯商品屬性如圖6.16.欖閾團皺鵬緦壽驏頦蘊。圖6.15 庫存列表圖6.16 修改商品屬性6.6 用戶管理功能的實現用戶點擊主界面的用戶管理按鈕后進入用戶管理界面如圖6.17,會顯示當前賬戶,點擊修改密碼按鈕即可修改密碼如圖6.18。遜輸吳貝義鰈國鳩猶騸。圖6.17 用戶管理圖6.18 修改密碼7總結本軟件采用了面向對象的開發(fā)方法, X-code作為開發(fā)工具,使用MVC構件模式,開發(fā)過程中用到了Object-C語言,CoreData作為數據庫. 幘覘匱駭儺紅鹵齡鐮瀉。本軟件采用了較新的開發(fā)平臺與開發(fā)語言,利用單利模式構架出九宮格模式的框架,軟件簡單易用,但軟件也有一些不足之處,由于本人還未得到蘋果開發(fā)者賬號,不能進行真機調試,只能在模擬器上運行,致使掃描的功能未能完善,是一大遺憾,在以后申請到蘋果賬號后一定要將其完善改善,并將其上傳至蘋果商店。誦終決懷區(qū)馱倆側澩賾。該軟件也迎合了當下手機智能化、網絡化的趨勢,為將智能手機的開發(fā)提供了一個新的設計思路。隨著3G技術、云計算等技術的進一步完善,基于智能手機開發(fā)具有廣闊的開發(fā)前景。醫(yī)滌侶綃噲睞齒辦銩凜。致謝參 考 文 獻1 Carlo Chung. Objective-C編程之道. 北京:人民郵電出版社,2011年11月艫當為遙頭韙鰭噦暈糞。2 Kochan,S.G. Objective-C2.0程序設計. 北京:機械工業(yè)出版社,2009年9月鴣湊鸛齏嶇燭罵獎選鋸。3 Gary Bennett. Objective-C初學者指南. 北京:人民有點出版社,2012年10月筧驪鴨櫨懷鏇頤嶸悅廢。4 Dava Mark. iPhone開發(fā)基礎教程. 北京:人民郵電出版社,2009年4月5 Jone Ray. iPhone開發(fā)入門經典. 北京:人民郵電出版社,2011年11月6 Adam Preble. 蘋果開發(fā)之Cocoa編程. 北京:機械工業(yè)出版社,2012年8月7 Dan Pilone. 深入淺出iPhone開發(fā). 南京:東南大學出版社,2010年6月8 金福生. iOS應用程序開發(fā)方法與實踐. 北京:人民有點出版社,2012年7月9 Dava Mark. iOS 5基礎教程. 北京:人民郵電出版社,2012年9月10 Beklin. iPhone&iPad高級編程. 北京:清華大學出版社,2012年1月 11 楊宏焱. 企業(yè)級iOS應用開發(fā)實戰(zhàn). 北京:機械工業(yè)出版社,2013年2月12 Jone Ray. iOS應用開發(fā)入門經典. 北京:人民郵電出版社,2012年7月13 Graham Lee. 測試驅動的iOS開發(fā). 北京:機械工業(yè)出版社,2012年11月14 Makzan. HTML5游戲開發(fā)實戰(zhàn). 北京:機械工業(yè)出版社,2012年7月15 Harrington,J. iOS4實戰(zhàn):iphone與ipad應用開發(fā). 北京:人民郵電出版社,2012年4月韋鋯鯖榮擬滄閡懸贖蘊。附錄:implementation UIViewController (UIViewControllerRedirectExtensions)濤貶騸錟晉鎩錈撳憲騸。-(void) redirectModule:(NSString*)m AcModule sharedModule setModule:m; UIViewController* viewController; if (m isEqualToString:main) viewController=MainViewController alloc initWithNibName:MainViewController bundle:nil;鈿蘇饌華檻榪鐵樣說瀉。 else NSString* storyboardName=m stringByAppendingString:Storyboard;戧礱風熗澆鄖適濘嚀贗。 UIStoryboard* sb=UIStoryboard storyboardWithName:storyboardName bundle:nil;購櫛頁詩燦戶踐瀾襯鳳。 viewController=sb instantiateInitialViewController;囁奐闃頜璦躑谫瓚獸糞。 UIApplication sharedApplication delegate window setRoo

溫馨提示

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

最新文檔

評論

0/150

提交評論