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