喻曉 陸澄澹 黃秋霞 劉健
摘 要: 在當今的移動互聯網+時代中,移動辦公已成為繼電腦無紙化辦公、互聯網遠程辦公之后的新一代普及的辦公模式。使用者可通過在手機上安裝客戶端軟件,實現與電腦上一樣的辦公功能,擺脫了必須在固定場所固定設備上辦公的限制。闡述的基于iOS的項目工時管理客戶端能更好的滿足企業項目人員,特別是外勤人員進行項目管理和工時管理。該APP在iOS平臺上采用MVC架構,使得所開發的需求更為清晰獨立,更方便后期功能的拓展。
關鍵詞: iOS; MVC架構; 項目管理; 工時管理; 移動辦公
中圖分類號:TP315 文獻標志碼:A 文章編號:1006-8228(2018)10-22-04
Abstract: In the era of mobile Internet+, mobile office has become a new generation of office mode after the computer paperless office and the Internet telecommuting. Users can achieve the same office function as in the computer by installing the client software in the mobile phone, and get rid of the restriction of the fixed equipment in some fixed place. The iOS based project and time management APP described in this paper can better satisfy the project and time management for the enterprise project personnel, especially for the field staff. The APP adopts the MVC architecture on the iOS platform, making the developed requirements clearer and more independent, and making it more convenient for latter function expansion.
Key words: iOS; MVC architecture; project management; time management; mobile office
0 引言
隨著電子以及通信業的高速發展,智能手機已經成為人們隨身攜帶的一個必要工具,尤其是蘋果手機憑借iOS平臺優秀的設計能力、流暢的用戶體驗等優勢,吸引越來越多的應用程序在手機上落戶。同時,項目工時管理在企業管理中也已經普遍應用,如何高效又便捷的管理項目進度、統計人員工時已經成為大部分企業管理者和項目執行者的迫切需求。把項目工時管理軟件和智能手機結合起來,項目開發人員就能隨時隨地進行項目任務的創建和管理,并能完成個人工時的記錄和統計。
本文闡述的項目工時管理客戶端基于iOS操作系統,采用MVC設計模式,實現了項目管理、任務管理、工時管理等功能。
1 iOS系統介紹
1.1 iOS系統框架
iOS是由蘋果公司開發的移動操作系統,其系統框架可以分為四層,從下往上依次為:核心操作系統層(Core OS)、核心服務層(Core Service)、媒體層(Media)、觸控應用層(Cocoa Touch)。其中開發者所主要使用的層是Cocoa Touch層,它主要包含了創建iOS應用所需要的關鍵框架,從用戶界面創建到高級系統服務交互等所使用的技術都由該層技術提供基礎[1]。常用的基本框架如表1所示。
在本客戶端中主要使用了Foudation、CoreFoudation、UIKit、CoreGrapic、CFNetwork來實現相關功能和服務。
1.2 開發環境
客戶端采用蘋果的開發工具Xcode以及Objective-C作為主要的開發語言[2]。
Xcode是運行在macOS X上的集成開發工具,開發人員可以在該工具里完成用戶界面測試、代碼編寫、調試等功能。在運行過程中Xcode可以將工程鏈編到本地模擬器(iPhone/iPad)中進行運行,以確認工程是否達到預期目標,若達到預期目標則可以將工程直接鏈編到設備中進行運行及調試等[1]。
iOS應用程序開發流行使用Objective-C和Swift兩種語言。在本客戶端開發初期考慮到與其他所用庫的一致性與方便性,使用與AFNetworking相同的語言,避免交叉編譯,因而采用了Objective-C進行開發。
2 MVC設計模式
MVC(Model—View—Controller)模式,即模型一視圖一控制器模式,iOS應用程序的開發也可以采用這種開發模式。MVC模式把一個應用的輸入、處理、輸出流程按照Model、View、Controller的方式進行分離,通過控制器控制對象如何將模型以何種視圖的形式展現給終端用戶,目的是將模型和視圖完全分離,當應用需要改變模型時不需要再去重新設計視圖,實現了代碼的低耦合性、高重用性和可維護性,如圖1所示。當應用程序比較復雜時,可以拆分為多個MVC模式的組合,一個MVC可以將另外一個MVC當做它視圖的一部分,通過如此疊用可以構造出復雜的應用,如圖2所示。
3 客戶端設計
系統總體架構分為客戶端和服務端兩部分組成,客戶端通過4G或wifi網絡訪問Web服務器,與服務器接口連接并獲取會話ID。該會話ID為服務器端對客戶端的標識,也用于通信時的數據加密[3]。系統總體架構如圖3所示。
本客戶端設計有多個功能模塊,若使用一個MVC會造成Controller文件邏輯過于復雜,代碼過于冗余,因此采用多個MVC模型的方式來設計實現。
根據APP的功能設計,將有若干個用戶界面,這些界面將對應若干個視圖對象,它們將從模型中獲取數據,或是將作為數據界面往模型中傳入數據[4]。主界面的設計主要分為六個類,它們的具體功能如表2所示。
MainViewController是主界面的主體入口,登錄或者自動登錄后第一個頁面,作為所有功能模塊的入口,采用Navigation Controller以push、pop的方式來支持多個視圖之間的跳轉。
在本文設計中,將服務器數據庫作為數據模型,數據庫采用的是MySQL 。系統中主要的實體類包括用戶、項目、任務、任務時間等,對應關系為:一個用戶有多個項目,一個項目有多個任務,一個任務有多個任務時間。系統的數據庫表包括:用戶表、職能表、等級表、關系分配表、項目表、任務表、任務時間表。
客戶端與服務器進行數據交互的通道為網絡模塊,在本文中引入了AFNetworking庫來封裝網絡模塊,AFNetWorking是一款輕量級網絡請求開源框架,基于iOS和Mac OS網絡進行擴展的高性能框架??蛻舳耸褂肁FNetworking框架,采用JSON(Java Script Object Notation)作為消息傳送格式[5],通過發送 HTTP網絡請求(post)并獲取(get)網絡請求的返回結果與服務器進行數據交換,使用AFJSONRequestSerializer把數據序列化為JSON數據,使用AFJSONResponseSerializer解析JSON格式的響應報文數據,從而實現用戶的各種操作請求。
4 客戶端實現
用戶登錄客戶端后直接進入項目列表頁面,點擊不同的按鈕跳轉進入不同功能模塊的界面。系統實現了項目任務管理、工時記錄、個人信息維護等功能。
項目管理:可查看并管理平臺維護的項目內容,可根據客戶名查看當前客戶下的所有項目,或者按照任務分類只顯示需要開始的任務,如圖4所示。
任務管理:可以從項目列表中進入已有任務的列表,也可在項目下新建任務,包括名稱、所屬分類、預計時間、任務描述等信息,如圖5所示。
計時管理:進入任務后可點擊計時開始,任務退出后,可點擊計時結束,在計時列表里可查看每個計時時段和內容詳情,如圖6所示。
個人信息管理:可由菜單導航直接點擊進入,個人賬號在服務器平臺由管理員分配,個人登錄客戶端后可修改個人信息,包括昵稱,頭像,密碼等。手機號為個人唯一標識,無法客戶端修改,如圖7所示。
5 結束語
本項目工時管理客戶端經過需求分析、設計、開發、系統測試等多個環節的反復驗證,已正式投入使用。項目人員在移動網絡的環境下,通過此客戶端極大的提高了工作效率和實時性,項目經理可同時通過項目工時管理平臺更便捷的管理項目進度和人力成本??蛻舳撕罄m還有不少可開發的功能,譬如消息推送(Notification)、工時統計報表、企業郵件、日程提醒等。
參考文獻(References):
[1] 朱文術.基于iPhone的體育賽事系統的設計與實現[D].東華大學,2012.
[2] 徐齊.基于ios系統的安保調度項目的開發與實現[J].電腦知識與技術,2016.12:71-73
[3] 吳響.基于iOS的移動醫療服務軟件的設計與實現[J].無線互聯科技,2015.11:52-54
[4] 胡輝.IOS環境下使用MVC模式進行APP開發的設計思路探索[J].數字技術與應用,2015.6:204-206
[5] 夏夢.基于iOS的車聯網手機客戶端的設計與實現[D].南昌大學,2014.