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