版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 本科畢業(yè)論文</b></p><p><b> ?。?0 屆)</b></p><p> 汽車銷售系統(tǒng)的設計與實現(xiàn)-庫存管理模塊</p><p><b> 摘要</b></p><p> 隨著互聯(lián)網技術的發(fā)展,網絡技術的成熟,僅僅靠使用PC
2、端進行互聯(lián)網活動已經無法滿足人們日益膨脹的需求。移動互聯(lián)網在這時應運而生,我們越來越依賴與移動互聯(lián)網的同時,手機也隨之發(fā)展,手機并不再僅僅作為一個普通的通訊工具而出現(xiàn)在我們的生活中了。為了滿足工作的需要,針對汽車銷售系統(tǒng)的庫存管理模塊特別設計了庫存管理App,有了此款App,管理人員可以方便的從移動終端隨時獲取實時數(shù)據(jù)。省去了繁復的表格,使人們從傳統(tǒng)的實地查詢和電話查詢的繁瑣步驟中解放了出來。</p><p>
3、 本論文是基于iOS系統(tǒng)的庫存管理客戶端,使用Objective—C語言作為開發(fā)語言開發(fā)工具為Xcode5.0,其數(shù)據(jù)存儲在本地的SQLite3數(shù)據(jù)庫中。本系統(tǒng)采用了C/S 結構, 采取了MVC框架進行開發(fā),通過運用Objective-C,cocoa touch,Xcode,SQLite3數(shù)據(jù)庫等軟件技術和眾多的第三方庫完成了系統(tǒng)中庫存管理模塊的設計。[1]</p><p> 本文主要介紹汽車銷售系統(tǒng)中的車輛管
4、理模塊的相關內容。分析了系統(tǒng)該部分實現(xiàn)的相關技術原理,可行性,介紹了車輛管理的系統(tǒng)實現(xiàn)的系統(tǒng)架構,并在對系統(tǒng)這兩個模塊分析后進行了相應的劃分及設計。本應用主要實現(xiàn)了:不同人員的管理,庫存的管理,出入庫信息的查詢等功能。。</p><p> 關鍵詞:Objective-C,iOS,Cocoa Touch,SQLite3,庫存管理系統(tǒng)</p><p><b> Abstract
5、</b></p><p> With the development of Internet technology, network technology matures, just by using the PC end Internet activities have been unable to meet the expanding needs of the people . Mobile I
6、nternet came into being at this time , we are increasingly dependent on the mobile Internet , while also developing mobile phone , mobile phone and no longer just as a general communication tool out of our lives now . To
7、 meet the needs of their work for car sales inventory management system inventory management </p><p> This thesis is based on the iOS client inventory management system , using the Objective-C language as a
8、 development language development tools for Xcode5.0, SQLite3 database stores its data in a local 's . The system uses the C / S structure, take a MVC framework for development , through the use of Objective-C, cocoa
9、 touch, Xcode, SQLite3 databases and other software technologies and numerous third-party libraries to complete the design of the system inventory management module.</p><p> This paper describes the relevan
10、t content in automotive vehicle sales system management module . Analysis of the technical principles related to that part of the system implementation , feasibility, describes the system architecture of the vehicle mana
11、gement system implementation , and after these two modules of the system analysis and design of the corresponding division . The main achievement of this application : different personnel management , inventory managemen
12、t, query and other functions</p><p> Keywords: Objective-C, iOS, Cocoa Touch, SQLite3, inventory management system</p><p><b> 目錄</b></p><p><b> 目錄3</b>&l
13、t;/p><p><b> 1 概述1</b></p><p><b> 1.1開發(fā)背景1</b></p><p> 1.2設計目的及內容1</p><p> 1.2.1設計目的1</p><p> 1.2.2設計內容2</p><p&g
14、t; 1.3 技術概述2</p><p> 1.3.1 SQLite3簡介2</p><p> 1.3.2 MVC模式簡介2</p><p> 1.4硬件和軟件要求3</p><p> 1.4.1硬件要求3</p><p> 1.4.2軟件要求3</p><p><
15、;b> 1.5基本環(huán)境4</b></p><p> 1.6系統(tǒng)開發(fā)命名規(guī)則4</p><p><b> 2 系統(tǒng)分析5</b></p><p> 2.1可行性分析5</p><p><b> 2.2需求分析5</b></p><p>
16、 2.2.1系統(tǒng)需求分析5</p><p> 2.2.2系統(tǒng)功能結構5</p><p> 2.2.3系統(tǒng)主要設計類6</p><p><b> 2.3功能分析6</b></p><p> 2.3.1用戶登錄6</p><p> 2.3.2管理員管理7</p>&
17、lt;p> 2.3.3入庫管理8</p><p> 2.3.3.1產品入庫9</p><p> 2.3.4出庫管理9</p><p> 2.3.4.1產品出庫9</p><p> 2.3.4.2出庫單管理9</p><p> 2.3.5產品管理10</p><p>
18、 2.3.5.1查詢產品信息10</p><p> 2.3.5.2添加產品信息11</p><p> 2.3.5.3刪除產品11</p><p> 3.1數(shù)據(jù)庫概要結構設計12</p><p> 3.2數(shù)據(jù)庫邏輯結構設計12</p><p> 4 系統(tǒng)界面設計13</p>&l
19、t;p> 4.1系統(tǒng)界面設計13</p><p> 5 主要代碼15</p><p> 5.1數(shù)據(jù)庫各個表創(chuàng)建代碼15</p><p> 5.2部分功能代碼15</p><p> 5.2.2添加庫存:16</p><p> 5.2.3刪除用戶:16</p><p&g
20、t; 5.2.4 數(shù)據(jù)庫操作函數(shù)(部分代碼)16</p><p> 5.2.5 登錄界面主要處理函數(shù)17</p><p><b> 結論19</b></p><p><b> 致謝20</b></p><p><b> 參考文獻21</b></p>
21、;<p><b> 1 概述</b></p><p><b> 1.1開發(fā)背景</b></p><p> 隨著寬帶無線接入技術和移動終端技術的飛速發(fā)展,人們迫切希望能夠隨時隨地乃至在移動過程中都能方便地從互聯(lián)網獲取信息和服務,移動互聯(lián)網應運而生并迅猛發(fā)展。雖然,移動互聯(lián)網在移動終端、接入網絡、應用服務、安全與隱私保護等方面還
22、面臨著一系列的挑戰(zhàn),但它已經為我們的生活帶來了巨大的變革。隨著4G時代的開啟以及移動終端設備的凸顯為移動互聯(lián)網的發(fā)展注入巨大的能量,移動互聯(lián)網所能觸及的范圍越來越廣,移動互聯(lián)網產業(yè)必將帶來前所未有的飛躍。</p><p> 在這樣的大背景之下,移動終端應用的發(fā)展歷經了由緩慢到迅猛、從粗略到專精的過程。越來越多的垂直細分領域被開發(fā)者們發(fā)掘出來,每一個領域都極大的改變了我們的生活,移動終端已經進入了我們生活的方方面
23、面。伴著4G網絡的起步和移動聯(lián)網設備的激增,為移動操作系統(tǒng)iOS下的終端持有者設計并實現(xiàn)應用,是具有極大的價值和發(fā)展前途的。</p><p> 伴隨著我國國民經濟的發(fā)展,汽車已經走進每個人的家中。傳統(tǒng)的汽車銷售模式略顯滯后,不適應當今飛速發(fā)展的社會,為了提高效率,所以針對汽車銷售行業(yè)的移動應用應運而生。實現(xiàn)了對銷售鏈的便捷查詢。</p><p> 1.2設計目的及內容</p>
24、;<p><b> 1.2.1設計目的</b></p><p> 庫存管理系統(tǒng)出入庫模塊即對倉庫管理。物流倉庫管理系統(tǒng)主要針對于日常庫存信息的管理,它針對倉庫日常發(fā)生的業(yè)務,分為兩大類,即入庫和出庫,用戶通過相應的模塊,對倉庫里的物品的基本情況進行操作,實現(xiàn)入庫、出庫即對庫存進行查詢,用戶通過簡單的操作即可輕松的管理倉庫。</p><p> 庫存管
25、理App是針對日常庫存信息的管理,使得管理人員可以不在現(xiàn)場就獲得最新庫存信息,其主要功能是對庫存的查看,和相關人員的管理。管理人員通過相應的模塊,可以實現(xiàn)對庫存物品的基本出入庫操作,方便了查詢和管理,更是把人們從傳統(tǒng)的查詢流程中釋放出來。在iOS智能移動操作系統(tǒng)上開發(fā)的一款應用。抓住了國內消費者智能手機中iPhone系列手機占有率極高的鮮明特點,為消費者和管理人員提供便利的服務。以上便是開發(fā)庫存管理App的目的所在。</p>
26、<p><b> 1.2.2設計內容</b></p><p> 實現(xiàn)庫存管理模塊的出入庫和查詢功能。入庫操作就是對新入庫的信息管理(包括修改和添加操作),出庫操作就是主要包括倉庫的修改和刪除操作。超級管理員可以對其他工作人員進行添加和刪除操作??头K可以根據(jù)顧客查詢該顧客的購買記錄。倉庫管理員可以對倉庫具體條目進行修改。以上所有操作均保存在關系型數(shù)據(jù)庫中。</p&g
27、t;<p><b> 1.3 技術概述</b></p><p> 1.3.1 SQLite3簡介</p><p> SQLite是遵守ACID的關系數(shù)據(jù)庫管理系統(tǒng),它包含在一個相對小的C程序庫中。它是D.RichardHipp創(chuàng)建的公有領域項目。</p><p> 不像常見的客戶端/服務器結構范例,SQLite引擎不是個
28、程序與之通信的獨立進程,而是鏈接到程序中成為它的一個主要部分。所以主要的通信協(xié)議是在編程語言內的直接API調用。這在消耗總量、延遲時間和整體簡單性上有積極的作用。整個數(shù)據(jù)庫(定義、表、索引和數(shù)據(jù)本身)都存儲在主機端上單一個文件中。此種簡潔的設計是通過寫入時鎖定整個數(shù)據(jù)文件而完成的[1]。</p><p> 程序庫實現(xiàn)了多數(shù)的SQL-92標準,包括事務,就是代表原子性、一致性、隔離性和持久性的(ACID),觸發(fā)器
29、和多數(shù)的復雜查詢。不進行類型檢查。你可以把字符串插入到整數(shù)列中。例如,某些用戶發(fā)現(xiàn)這是使數(shù)據(jù)庫更加有用的創(chuàng)新,特別是與無類型的腳本語言一起使用的時候。其他用戶認為這是主要的缺點。</p><p> 多個進程或線程可以同時訪問同一個數(shù)據(jù)而沒有問題??梢酝瑫r平行讀取同一個數(shù)據(jù)庫。但同一時間只能有一個進程或線程進行數(shù)據(jù)寫入;否則會寫入失敗并得到一個錯誤信息[2](或者會自動重試一段時間,而這重試時間的長短是可以設置的
30、)。</p><p> 程序設計者還提供了一個叫做sqlite3的獨立程序用來查詢和管理SQLite數(shù)據(jù)庫文件。SQLite的用戶可以把這個程序當作如何寫SQLite應用程序的示例。</p><p> 1.3.2 MVC模式簡介</p><p> MVC模式(Model-View-Controller)是軟件工程中的一種軟件架構模式,把軟件系統(tǒng)分為三個基本部分
31、:模型(Model)、視圖(View)和控制器(Controller)。</p><p> MVC模式最早由Trygve Reenskaug在1978年提出 ,是施樂帕羅奧多研究中心(Xerox PARC)在20世紀80年代為程序語言Smalltalk發(fā)明的一種軟件設計模式。MVC模式的目的是實現(xiàn)一種動態(tài)的程序設計,使后續(xù)對程序的修改和擴展簡化,并且使程序某一部分的重復利用成為可能。除此之外,此模式通過對復雜度
32、的簡化,使程序結構更加直觀。軟件系統(tǒng)通過對自身基本部分分離的同時也賦予了各個基本部分應有的功能。專業(yè)人員可以通過自身的專長分組:</p><p> ?。刂破鰿ontroller)- 負責轉發(fā)請求,對請求進行處理。</p><p> ?。ㄒ晥DView) - 界面設計人員進行圖形界面設計。</p><p> ?。P蚆odel) - 程序員編寫程序應有的功能(實現(xiàn)算法
33、等等)、數(shù)據(jù)庫專家進行數(shù)據(jù)管理和數(shù)據(jù)庫設計(可以實現(xiàn)具體的功能)。</p><p> MVC設計思想:MVC英文即Model-View-Controller,即把一個應用的輸入、處理、輸出流程按照Model、View、Controller的方式進行分離,這樣一個應用被分成三個層——模型層、視圖層、控制層。 </p><p> MVC的優(yōu)點:首先,多個視圖能共享一個模型。如今,同一個We
34、b應用程序會提供多種用戶界面,例如用戶希望既能夠通過瀏覽器來收發(fā)電子郵件,還希望通過手機來訪問電子郵箱,這就要求Web網站同時能提供Internet界面和WAP界面。在MVC設計模式中,模型響應用戶請求并返回響應數(shù)據(jù),視圖負責格式化數(shù)據(jù)并把它們呈現(xiàn)給用戶,業(yè)務邏輯和表示層分離,同一個模型可以被不同的視圖重用,所以大大提高了代碼的可重用性。</p><p> 其次,控制器是自包含(self-contained)指
35、高獨立內聚的對象,與模型和視圖保持相對獨立,所以可以方便的改變應用程序的數(shù)據(jù)層和業(yè)務規(guī)則[3]。例如,把數(shù)據(jù)庫從MySQL移植到Oracle,或者把RDBMS數(shù)據(jù)源改變成LDAP數(shù)據(jù)源,只需改變模型即可。一旦正確地實現(xiàn)了控制器,不管數(shù)據(jù)來自數(shù)據(jù)庫還是LDAP服務器,視圖都會正確地顯示它們。由于MVC模式的三個模塊相互獨立,改變其中一個不會影響其他兩個,所以依據(jù)這種設計思想能構造良好的少互擾性的構件。</p><p&g
36、t; 此外,控制器提高了應用程序的靈活性和可配置性??刂破骺梢杂脕磉B接不同的模型和視圖去完成用戶的需求,也可以構造應用程序提供強有力的手段。給定一些可重用的模型和視圖,控制器可以根據(jù)用戶的需求選擇適當?shù)哪P瓦M行處理,然后選擇適當?shù)牡囊晥D將處理結果顯示給用戶。</p><p> 1.4硬件和軟件要求</p><p><b> 1.4.1硬件要求</b></p
37、><p> 本應用程序可以廣泛運在 iPhone,iPad,iPod運行要求如下:</p><p> 開發(fā)環(huán)境:Xcode5.0 + iOS SDK 。</p><p> 數(shù)據(jù)庫連接第三方庫:采用FMDB[4]。</p><p><b> 1.4.2軟件要求</b></p><p> 操作
38、系統(tǒng):iOS5(及以上)</p><p> 數(shù)據(jù)庫:SQLite3。</p><p> 開發(fā)工具:Xcode5.0。</p><p><b> 1.5基本環(huán)境</b></p><p> 以Objective-C語言為基本開發(fā)語言,通過運用集成開發(fā)環(huán)境Xcode5.0,SQL等相關知識,利用Objective-C語
39、言的面向對象的特性及MVC設計思想,設計一個庫存管理模塊[5],模擬一個倉庫庫存管理系統(tǒng)的出入庫及查詢管理模塊。</p><p> 1.6系統(tǒng)開發(fā)命名規(guī)則</p><p> ?。?)項目中命名規(guī)則</p><p> 項目中各個子項的命名均以其功能名稱的英文組合,類名以其具體的含義命名,類名的所有單詞的首字母大寫;類中的方法依據(jù)功能而定,且方法命名首單詞的首字母小
40、寫,其他單詞首字母均大寫;項目中的頁面命名是根據(jù)其具體含義命名的。[6]</p><p> (2)數(shù)據(jù)庫命名規(guī)則</p><p> 數(shù)據(jù)庫名稱與項目所存儲內容相同,數(shù)據(jù)庫中表命名規(guī)則是表名稱英文意思的單詞或多個單詞的組合;表中字段名是相應字段的英文單詞或多個單詞的組合。[7]</p><p><b> 2 系統(tǒng)分析</b></p&
41、gt;<p><b> 2.1可行性分析</b></p><p> 當今時代,手機APP的發(fā)展趨勢可謂風起云涌、數(shù)量猛增,競爭越來越激烈,盈利方向也變得撲朔迷離,在越來越兇猛的勢頭之下,更多高質量的手機APP應運而生。</p><p> 移動應用是一種便捷的方式,專家預測發(fā)現(xiàn)手機APP市場容量是PC市場的幾十倍,這是因為手機用戶的數(shù)量規(guī)模遠遠大于P
42、C。在庫存管理方面,管理人員不可能隨時在場,而PC端的查詢信息繁雜,干擾信息過多,操作也不甚簡單,而手機端界面設計簡單大方,回饋迅速,沒有過多的垃圾信息干擾,能快速完成庫存的查詢和管理[8]。</p><p> 未來可能提出的需求:隨著用戶日益增長的需求以及為了給用戶帶來更好的體驗,將來可能需要增加更多接口來實現(xiàn)相應的功能,保留部分空間以便功能擴展[9]。</p><p><b&g
43、t; 2.2需求分析</b></p><p> 2.2.1系統(tǒng)需求分析</p><p> ?。?)系統(tǒng)功能包括:產品入出庫登記、確認入出庫信息、保存刪除入出庫信息、添加修改刪除產品信息。</p><p> (2)系統(tǒng)管理員功能:添加刪除用戶(超級管理員權限)、查詢人員信息。</p><p> 2.2.2系統(tǒng)功能結構<
44、/p><p> 圖 2 - 1 系統(tǒng)功能結構圖</p><p> 2.2.3系統(tǒng)主要設計類</p><p><b> 數(shù)據(jù)庫模塊:</b></p><p> DBManager shareManager:該類實現(xiàn)連接數(shù)據(jù)庫,打開數(shù)據(jù)庫,創(chuàng)建Connection連接,及關閉數(shù)據(jù)庫和增、刪、改、查的功能。該類設計為單例模
45、式[10]。</p><p><b> 服務模塊:</b></p><p> DBManager :該接口提供現(xiàn)有系統(tǒng)中的需要的功能(相關數(shù)據(jù)庫操作)函數(shù)的接口。</p><p><b> 超級管理員模塊:</b></p><p> AdminManageViewController:該類顯
46、示超級管理員管理界面。</p><p><b> 客服模塊:</b></p><p> ServiceViewController:該類用來實現(xiàn)客服登錄并查詢顧客購買記錄。</p><p><b> 倉庫管理員模塊:</b></p><p> WarehouseAdminViewContro
47、ller:該類實現(xiàn)添加、刪除庫存功能。</p><p><b> 產品信息管理模塊:</b></p><p> ItemDataModel:該類表示倉庫的信息。</p><p> NSString * carName:該屬性表示汽車名稱信息。</p><p> NSString * num:該屬性表示庫存量的信息
48、。</p><p> NSString * price:該屬性表示汽車單價的信息。</p><p> NSString * admin:該屬性表示入庫操作人員。</p><p><b> 用戶信息管理模塊:</b></p><p> CustomerViewController:該類表示公司顧客信息。</p
49、><p><b> 2.3功能分析</b></p><p><b> 2.3.1用戶登錄</b></p><p> 登錄頁面要求用戶輸入用戶帳戶、密碼。在輸入用戶帳戶、密碼之后,系統(tǒng)將驗證用戶帳戶和密碼和數(shù)據(jù)庫中的進行匹配查看是否正確,如果驗證成功,就使用戶處于登錄狀態(tài)。否則,系統(tǒng)顯示用戶帳戶或密碼錯誤的提示信息。如下圖
50、2-2,登錄。</p><p> 2.3.2管理員管理</p><p> 系統(tǒng)的這項功能只有超級管理員有權限執(zhí)行,其他人員沒有此項權限。</p><p> 單擊“庫管管理”,可以顯示所有倉庫管理員的相應信息。</p><p><b> 如下圖2-3</b></p><p> 圖 2 -
51、3顯示管理員管理界面</p><p> 該模塊可為倉庫添加倉庫管理員及客服。添加管理員需要查找需要添加成為管理員的員工的信息。如下圖2-4,添加管理員.</p><p> 該功能可以刪除某個倉庫的管理員。刪除管理員需要查找需要刪除的管理員的信息,查詢所有員工的信息,直接點擊“刪除”,完成刪除管理員的操作。如下圖2-5,刪除人員。</p><p> 圖 2 -
52、5 刪除人員</p><p><b> 2.3.3入庫管理</b></p><p> 入庫管理中,超級管理員和倉庫管理員都有權限進行操作。</p><p> 2.3.3.1產品入庫</p><p> 實現(xiàn)產品的入庫操作。如下圖2-6,產品入庫。</p><p> 需要管理員填寫入庫單,包
53、括待入庫產品的各項信息及入庫單的各項信息。入庫時,如果沒有這種產品 ,可以選擇直接在數(shù)據(jù)庫中添加這項產品;如果存在則在原有數(shù)量的基礎上增加待入庫產品的數(shù)量。</p><p><b> 2.3.4出庫管理</b></p><p> 2.3.4.1產品出庫</p><p> 實現(xiàn)產品的出庫操作。如下圖2-7,產品出庫.</p>
54、<p> 需要一個顧客選擇車型并選擇數(shù)量出庫。出庫時,如果沒有這種產品或庫存小于提取數(shù)量,提示“庫存不足”;如果沒有產品不存在或數(shù)量不足的情況則在原有數(shù)量的基礎上減少待出庫產品的數(shù)量。</p><p> 2.3.4.2出庫單管理</p><p> 實現(xiàn)出庫產品的出庫單記錄操作。</p><p> 產品出庫時,將出庫信息,主要是購買客戶信息保存下來,
55、方便售后時查找。如下圖2-8,出庫單記錄.</p><p><b> 2.3.5產品管理</b></p><p> 管理倉庫中的產品信息的刪除修改,包括查詢產品信息、添加產品信息,刪除產品信息,修改產品信息。</p><p> 2.3.5.1查詢產品信息</p><p> 顯示所有產品息。如下圖2-9,產品信息。
56、</p><p> 2.3.5.2添加產品信息</p><p> 向倉庫中添加產品。如圖:圖2-10,添加產品.</p><p> 2.3.5.3刪除產品</p><p> 刪除倉庫中的信息,如下圖2-11,刪除產品.</p><p><b> 3 數(shù)據(jù)庫設計</b></p&g
57、t;<p> 3.1數(shù)據(jù)庫概要結構設計</p><p> 本系統(tǒng)數(shù)據(jù)庫采用SQLite3數(shù)據(jù)庫,系統(tǒng)數(shù)據(jù)庫名稱為user.db。數(shù)據(jù)庫中包含3張表。其他數(shù)據(jù)均用數(shù)據(jù)模型保存在數(shù)據(jù)庫中,按需求獲取。</p><p> 員工信息,包括的數(shù)據(jù)項有:員工ID、姓名、密碼、帳戶類型、性別、聯(lián)系電話、家庭住址。</p><p> 產品信息,包括的數(shù)據(jù)項有:
58、產品名稱、庫存、價格、入庫人員、顏色、。出廠日期。</p><p> 出庫信息,包括的數(shù)據(jù)項有: 表序號、操作員姓名、汽車型號、購買日期。</p><p> 3.2數(shù)據(jù)庫邏輯結構設計</p><p> 根據(jù)上述數(shù)據(jù)庫的需求分析和概念結構設計,設計了名稱為user.db的數(shù)據(jù)庫。</p><p> 數(shù)據(jù)庫由下面多個表格組成,各個表的命名
59、及字段命名都是以相應的含義作為名稱,各個表格的設計結果如下表所示,每個表格表示在數(shù)據(jù)庫中相對應的一個表。</p><p> ?。?)員工表,如:表3-1 員工 。</p><p> 表 3 - 1 員工</p><p> 庫存信息表,如:表3-2 庫存。</p><p> 表 3 - 2 庫存</p><p>
60、?。?)庫存變更表,如:表3-3變更表</p><p> 表 3 - 3 變更表</p><p> 4 系統(tǒng)界面設計</p><p><b> 4.1系統(tǒng)界面設計</b></p><p> 登陸時的界面如下圖4-1,超級管理員登陸后界面如圖4-2。</p><p> 圖 4 - 1
61、超級管理員登錄界面</p><p> 圖 4 - 2 超級管理員登錄界面</p><p> 系統(tǒng)后臺共主要分為5個模塊:</p><p> 第一部分:超級管理員的權限:查看倉庫管理員信息、添加倉庫管理員、刪除倉庫管理員。</p><p> 第二部分:產品入庫模塊。</p><p> 第三部分:產品出庫模塊。&
62、lt;/p><p> 第四部分:產品管理模塊,包括查看產品信息、產品添加、刪除、修改產品信息。</p><p> 第五部分:庫存信息管理模塊,包括查看庫存信息,添加庫存信息,修改庫存信息。</p><p><b> 5 主要代碼</b></p><p> 5.1數(shù)據(jù)庫各個表創(chuàng)建代碼</p><
63、p> NSString * dbPath = [NSHomeDirectory() stringByAppendingFormat:@"/Documents/user.db"];</p><p> _database = [[FMDatabase alloc]initWithPath:dbPath];</p><p> if ([_database open
64、])</p><p><b> {</b></p><p><b> //創(chuàng)建人員記錄表</b></p><p> NSString * createUserSQL = @"create table if not exists UserInfo(name varchar(256) primary key,p
65、asswd varchar(256),type varchar(256))";</p><p> BOOL _isScuessed = [_database executeUpdate:createUserSQL];</p><p> if (!_isScuessed) {</p><p> NSLog(@"create table err
66、or:%@",_database.lastErrorMessage);</p><p><b> }</b></p><p><b> //創(chuàng)建出庫記錄表</b></p><p> NSString * createSoldSQL = @"create table if not exists So
67、ldInfo(id integer primary key autoincrement,name varchar(256),carName varchar(256),date varchar(256))";</p><p> if (![_database executeUpdate:createSoldSQL]) {</p><p> NSLog(@"create
68、 table error:%@",_database.lastErrorMessage);</p><p><b> }</b></p><p><b> //創(chuàng)建庫存記錄表</b></p><p> NSString * createWarehouseSQL = @"create table i
69、f not exists WarehouseInfo(carName varchar(256) primary key,num ingeter , price varchar(256),admin varchar(256))";</p><p> _isScuessed = [_database executeUpdate:createWarehouseSQL];</p><p&g
70、t; if (!_isScuessed) {</p><p> NSLog(@"create table error:%@",_database.lastErrorMessage);</p><p><b> }</b></p><p><b> 5.2部分功能代碼</b></p>
71、<p> 5.2.1查詢角色信息:</p><p> NSString * selectSql = @"select * from UserInfo where type=?" ;</p><p> //根據(jù)用戶類型查詢角色信息</p><p> FMResultSet *set = [_database executeQue
72、ry:selectSql,@"Admin"];</p><p> NSMutableArray * array = [NSMutableArray array];</p><p> while ([set next]) {</p><p> AdminDataModel * model = [[AdminDataModel alloc]in
73、it];</p><p> model.userName = [set stringForColumn:@"name"];</p><p> model.passwd = [set stringForColumn:@"passwd"];</p><p> [array addObject:model];</p>
74、;<p> [model release];}</p><p> return array;</p><p> 5.2.2添加庫存:</p><p> //將對應數(shù)據(jù)添加到WarehouseInfo表中,若添加失敗,提示錯誤信息。</p><p> NSString * insertSql = @"inser
75、t into WarehouseInfo (carName,num,price,admin) values(?,?,?,?)";</p><p> if (![_database executeUpdate:insertSql,model.carName,model.num,model.price,model.admin]) {</p><p> return _datab
76、ase.lastErrorMessage;</p><p><b> }</b></p><p><b> else</b></p><p> return Nil;</p><p> 5.2.3刪除用戶:</p><p> //將對應數(shù)據(jù)添加到UserInfo表中
77、,若添加失敗,提示錯誤信息。</p><p> NSString * deleteSql = @"delete from UserInfo where name = ?";</p><p> BOOL isSc = [_database executeUpdate:deleteSql,name];</p><p> if (!isSc) {
78、</p><p> NSLog(@"delete:%@",_database.lastErrorMessage);</p><p><b> }</b></p><p> 5.2.4 數(shù)據(jù)庫操作函數(shù)(部分代碼)</p><p> -(NSArray *)fetchDataWithUserTyp
79、e:(UserType)type;//根據(jù)角色獲取信息</p><p> -(void)insertWith:(RegisterModel *)model;//注冊接口</p><p> -(NSArray *)fetchItems;//獲取庫存信息</p><p> -(void)deleteDataWithUserName:(NSString*)name;
80、//根據(jù)姓名刪除角色</p><p> -(void)deleteItemWithCarName:(NSString *)carName;//根據(jù)車名刪除條目</p><p> -(NSString *)whoami:(NSString *)name passwd:(NSString *)passwd;//驗證角色信息</p><p> -(NSString
81、*)insertItem:(ItemDataModel *)model;//插入庫存信息</p><p> -(NSString *)updateItem:(ItemDataModel *)model;//更新庫存信息</p><p> -(NSString *)insertSoldItemWithBuyerName:(NSString *)name carName:(NSString
82、 *)carName date:(NSString *)date;//添加到出庫表</p><p> -(NSArray *)fetchSoldItems;//獲取出庫信息</p><p> 5.2.5 登錄界面主要處理函數(shù)</p><p> - (IBAction)LoginClicked:(id)sender {</p><p>
83、 NSString *type = [[DBManager shareManager] whoami:_nameTextField.text passwd:_passwdTextField.text];</p><p> UIApplication * app = [UIApplication sharedApplication];</p><p> AppDelegate * del
84、egate = app.delegate;</p><p> if ([type isEqualToString:@"Admin"]) {</p><p> UIAlertView * alert= [[UIAlertView alloc]initWithTitle:@"提示" message:@"管理員賬號登陸成功" del
85、egate:self cancelButtonTitle:@"確定" otherButtonTitles:nil, nil];</p><p> [alert show];</p><p> AdminManageViewController * admin = [[AdminManageViewController alloc]init];</p>
86、<p> admin.user = _nameTextField.text;</p><p> delegate.loginName = _nameTextField.text;</p><p> [self.navigationController pushViewController:admin animated:YES];</p><p>&l
87、t;b> }</b></p><p> else if([type isEqualToString:@"Customer"])</p><p><b> {</b></p><p> UIAlertView * alert= [[UIAlertView alloc]initWithTitle:@&q
88、uot;提示" message:@"顧客賬號登陸成功" delegate:self cancelButtonTitle:@"確定" otherButtonTitles:nil, nil];</p><p> [alert show];</p><p> CustomerViewController * vc = [[CustomerVi
89、ewController alloc]init];</p><p> vc.user = _nameTextField.text;</p><p> delegate.loginName = _nameTextField.text;</p><p> [self.navigationController pushViewController:vc animat
90、ed:YES];</p><p><b> }</b></p><p> else if ([type isEqualToString:@"Service"])</p><p><b> {</b></p><p> UIAlertView * alert= [[UIAl
91、ertView alloc]initWithTitle:@"提示" message:@"客服賬號登陸成功" delegate:self cancelButtonTitle:@"確定" otherButtonTitles:nil, nil];</p><p> [alert show];</p><p> ServiceView
92、Controller * svc = [[ServiceViewController alloc]init];</p><p> [self.navigationController pushViewController:svc animated:YES];</p><p> // * vc = [[CustomerViewController alloc]init];
93、</p><p> // [self.navigationController pushViewController:vc animated:YES];</p><p><b> }</b></p><p> else if ([type isEqualToString:@"WarehouseAdmin"
94、])</p><p><b> {</b></p><p> UIAlertView * alert= [[UIAlertView alloc]initWithTitle:@"提示" message:@"庫管賬號登陸成功" delegate:self cancelButtonTitle:@"確定" oth
95、erButtonTitles:nil, nil];</p><p> WarehouseAdminViewController * svc = [[WarehouseAdminViewController alloc]init];</p><p> svc.user = _nameTextField.text;</p><p> delegate.loginN
96、ame = _nameTextField.text;</p><p> [alert show];</p><p> [self.navigationController pushViewController:svc animated:YES];</p><p><b> }</b></p><p><b&g
97、t; else</b></p><p><b> {</b></p><p> UIAlertView * alert= [[UIAlertView alloc]initWithTitle:@"提示" message:@"用戶名或密碼錯誤" delegate:self cancelButtonTitle:@&q
98、uot;確定" otherButtonTitles:nil, nil];</p><p> [alert show];</p><p><b> }</b></p><p><b> }</b></p><p><b> 結論</b></p>&
99、lt;p> 在實現(xiàn)畢業(yè)設計的過程中,深刻理解了原來學的很多知識,比如對MVC框架的理解,熟悉了單例的使用,學習了Objective-C語言和SQLite3數(shù)據(jù)庫的用法,能夠從GitHub尋找更加方便的第三方庫,初步掌握了移動終端開發(fā)的技術。SQL語句的使用使我對關系型數(shù)據(jù)庫更加了解。這些都為我今后的工作奠定了堅實的基礎。</p><p> 本次的畢業(yè)設計已經結束,我鍛煉了編碼能力,邏輯思維能力也鍛煉了品
100、質通過這次畢業(yè)設計,我對待問題將會更加認真且有耐心,我很感激這個機會,在實現(xiàn)的過程中感謝老師的指導和同學的幫助。</p><p> 畢業(yè)設計是結束也是開始,在今后的工作生活中,我會不斷學習新的知識,我將會運用所學的知識運用于實踐,并在實踐中鍛煉自己的專業(yè)能力,最終成為一名優(yōu)秀的軟件工程師。</p><p><b> 致謝</b></p><p&
101、gt; 本篇論文的順利完成,首先要感謝我的指導老師李閱歷老師,他淵博的知識和開闊的視野給我深深的啟迪,以及所有在我遇到問題時幫助我的人,感謝他們對我的支持,他們提出的寶貴意見和建議我也十分感激。</p><p> 感謝電氣1009班和軟件1002班所有的同學。四年來我們互幫互助,和睦共處。正是有你們我的求學生涯才不會感到孤獨,馬上就要各奔前程了,希望你們有好的前途。</p><p>
102、 感謝河北農業(yè)大學科學信息與技術學院的老師這四年對我的教育和培養(yǎng),你們是我在專業(yè)道路上的引路人,是你們的悉心教導使我有了良好的專業(yè)基礎,這也是本篇論文得以完成的基礎,在此我向你們表示衷心的感謝。</p><p> 謹以此致謝最后,我要向百忙之中抽時間對本文進行審閱的各位老師表示衷心的感謝。</p><p><b> 參考文獻</b></p><
103、p> [1]內皮爾,馬庫爾.IOS6編程實戰(zhàn)[D].北京:人民郵電出版社,2013,04,1</p><p> [2] http://zh.wikipedia.org/wiki/SQLite</p><p> [3] http://zh.wikipedia.org/wiki/Mvc</p><p> [4] https://github.com/ccg
104、us/fmdb</p><p> [5] C Chung, J Bucanek Pro Objective-C Design Patterns for iOS O'Reilly 2012-9-1</p><p> [6] JD Davidson Learning Cocoa with Objective-C O'Reilly 2003-9-1</p>
105、<p> [7] Conway J, Hillegass A, 夏偉頻. iOS 編程[M]. 華中科技大學出版社, 2013.</p><p> [8] 和凌志,王方.iPhone 開發(fā)入門與實戰(zhàn)[M]. 電子工業(yè)出版社, 2010.</p><p> [9] 李柏嵐,谷大武,李卷孺,孫明. iOS備份機制中隱私威脅問題的分析[J]. 通信技術. 2012</p&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件工程畢業(yè)論文-汽車銷售管理系統(tǒng)的設計與實現(xiàn)-銷售管理模塊
- 軟件工程畢業(yè)論文-汽車銷售與管理系統(tǒng)設計與實現(xiàn)—銷售管理模塊
- 軟件工程畢業(yè)論文-汽車銷售系統(tǒng)的設計與實現(xiàn)-車輛管理模塊
- 軟件工程畢業(yè)論文-汽車銷售管理系統(tǒng)的設計與實現(xiàn)——車輛管理模塊
- 軟件工程畢業(yè)論文-汽車銷售管理系統(tǒng)的設計與實現(xiàn)--客戶管理模塊
- 軟件工程畢業(yè)論文-汽車銷售與管理系統(tǒng)設計與實現(xiàn)—客戶管理模塊
- 軟件工程畢業(yè)論文-庫存管理系統(tǒng)的設計與實現(xiàn)
- 軟件工程畢業(yè)論文-庫存管理系統(tǒng)(mis)的設計與實現(xiàn)
- 軟件工程畢業(yè)論文服裝銷售系統(tǒng)的設計與實現(xiàn)
- 軟件工程畢業(yè)論文-小型糧店管理系統(tǒng)的設計與實現(xiàn)---銷售管理
- 軟件工程畢業(yè)論文-植物信息管理系統(tǒng)的設計與實現(xiàn)——管理模塊
- 軟件工程畢業(yè)論文-企業(yè)成品庫存管理的設計與實現(xiàn)(后臺)
- 軟件工程畢業(yè)論文-企業(yè)成品庫存管理的設計與實現(xiàn)(前臺)
- 汽車銷售系統(tǒng)的設計與實現(xiàn)-庫存管理模塊
- 軟件工程畢業(yè)論文-蛋雞養(yǎng)殖管理系統(tǒng)的設計與實現(xiàn)-疾病診治模塊
- 軟件工程畢業(yè)論文-小區(qū)物業(yè)管理系統(tǒng)的設計與實現(xiàn)----治安模塊
- 軟件工程畢業(yè)論文-在線汽車租賃系統(tǒng)的設計與實現(xiàn)
- 軟件工程畢業(yè)論文-植物管理信息系統(tǒng)-管理模塊的設計與實現(xiàn)
- 軟件工程畢業(yè)論文-人事工資管理系統(tǒng)的設計與實現(xiàn)—人事模塊
- 軟件工程畢業(yè)論文-人事工資管理系統(tǒng)的設計與實現(xiàn)—工資模塊
評論
0/150
提交評論