基于iOS的项目工时管理客户端的设计与实现

2018-12-15 11:25喻晓陆澄澹黄秋霞刘健
计算机时代 2018年10期
关键词:项目管理

喻晓 陆澄澹 黄秋霞 刘健

摘 要: 在当今的移动互联网+时代中,移动办公已成为继电脑无纸化办公、互联网远程办公之后的新一代普及的办公模式。使用者可通过在手机上安装客户端软件,实现与电脑上一样的办公功能,摆脱了必须在固定场所固定设备上办公的限制。阐述的基于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网络进行扩展的高性能框架。客户端使用AFNetworking框架,采用JSON(Java Script Object Notation)作为消息传送格式[5],通过发送 HTTP网络请求(post)并获取(get)网络请求的返回结果与服务器进行数据交换,使用AFJSONRequestSerializer把数据序列化为JSON数据,使用AFJSONResponseSerializer解析JSON格式的响应报文数据,从而实现用户的各种操作请求。

4 客户端实现

用户登录客户端后直接进入项目列表页面,点击不同的按钮跳转进入不同功能模块的界面。系统实现了项目任务管理、工时记录、个人信息维护等功能。

项目管理:可查看并管理平台维护的项目内容,可根据客户名查看当前客户下的所有项目,或者按照任务分类只显示需要开始的任务,如图4所示。

任务管理:可以从项目列表中进入已有任务的列表,也可在项目下新建任务,包括名称、所属分类、预计时间、任务描述等信息,如图5所示。

计时管理:进入任务后可点击计时开始,任务退出后,可点击计时结束,在计时列表里可查看每个计时时段和内容详情,如图6所示。

个人信息管理:可由菜单导航直接点击进入,个人账号在服务器平台由管理员分配,个人登录客户端后可修改个人信息,包括昵称,头像,密码等。手机号为个人唯一标识,无法客户端修改,如图7所示。

5 结束语

本项目工时管理客户端经过需求分析、设计、开发、系统测试等多个环节的反复验证,已正式投入使用。项目人員在移动网络的环境下,通过此客户端极大的提高了工作效率和实时性,项目经理可同时通过项目工时管理平台更便捷的管理项目进度和人力成本。客户端后续还有不少可开发的功能,譬如消息推送(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.

猜你喜欢
项目管理
项目管理在科研项目管理中的应用
新形势下大数据分析方法在项目管理中的应用
建筑施工项目管理
项目管理在通信工程设计中的应用
环境工程的项目管理
创新项目管理 凝聚农发正能量
浅谈如何有效进行项目管理
探讨项目管理合同起草中的相关问题
航天项目管理——高技术复杂项目管理