苹果的智能手机 iPhone 自上市以来,就受到很多消费者的热捧,其中也包括很多科研工作者。协同文档库客户端的开发选择基于 iOS 操作系统,为科研人员提供更方便的服务与应用。
认证才能登录。
(2) 信息浏览:提供团队动态浏览和根据不同标签文档导航浏览文档。团队动态向用户展示团队最近一周的文档页面的创建、修改、评论等所有的操作信息。标签文档导航列表提供所有标签文档
2 系统设计
2.1 需求分析
用户使用移动客户端主要是类似于出差在外不方便或者不想使用电脑的场景,此时的工作需求主要是获取浏览项目相关文档信息、了解团队动态等。所以从用户的角度来说,客户端需要提供团队动态信息、文档在线浏览、搜索、文档评论分享等功能。另外,作为与个人信息相关的移动客户端应用,用户登录认证是不可或缺的。
客户端的开发平台从传统的个人 PC 转换到移动设备,由于移动设备与 PC 硬件的区别,对开发过程造成了一定的影响。移动设备屏幕较小,而使用客户端的主要需求是浏览文档,并且手机输入大量文字时键盘操作性差,所以客户端未提供文档在线编辑功能。由于手机拍照录音很方便,客户端提供文件上传功能,用户可以随时上传照片和录音文件,在云端永久存储,也可与他人分享交流。
在客户端与服务器交互过程中,网络带宽和网络状态稳定性对用户体验影响非常大。手机使用的网络有 2/3G 网络和 Wi-Fi,2/3G 网络和有线网络相比网速较慢,测试数据显示中国移动 2G 网速为 20Kbps 左右。2/3G 网络和 Wi-Fi 稳定性一般,在使用过程中,连接可能断开。由于移动网络速度慢,稳定性差的特点,客户端网络请求不宜太频繁。所以客户端需要利用数据库保存反复使用的数据以减少网络请求,保存数据和临时缓存还可以提高响应速度,提升用户体验。
集合,用户可以选择某一个标签,进入相应的文档列表。
(3) 搜索:输入关键字,提供相关文档列表。(4) 文档浏览:文档在线浏览。(5) 文档分享、评论和复制等。
(6) 通知:向用户推送通知,包括用户自己创建文档和关注文档的相关操作动态,以及其它成员给用户的分享和留言信息。
(7) 上传文件:上传照片和音频文件。
2.3 系统架构
客户端的主要任务包括用户登录认证,向服务器端发送请求,按照服务器 API 请求格式封装请求,根据需求解析服务器返回的数据,最后更新界面,将结果展示给用户,同时需将数据缓存。客户端结构设计如图 1 所示。
编写 Cocoa Touch 应用程序主要采用 MVC (Mode-View-controller,模型-视图-控制器) 设计模式[5]。客户端的设计也是基于 MVC 模型。视图部分与用户交互,包括接收用户请求和显示返回结果两部分。控制器响应视图层传递的用户事件,调用模型层的资源来满足用户需求。控制层本身并不包含任何资源,它的主要作用仅是控制视图与模型的交互。各个模块的主要功能如下:
●
模型部分主要负责网络请求、数据缓存和数据
解析的实现。
●
JSON 数据解析模块对 JSON 数据的内容进行
解析和编码。
●
网络模块主要向服务器 API 发送网络请求。 数据缓存模块对嵌入式数据库 SQLite3 进行读
2.2 功能描述
通过对应用场景、用户习惯以及手机应用特点的分析,客户端功能包括以下七个方面:
(1) 登录认证:用户输入账号和密码,需要通过50
●
写访问,缓存数据。
由于移动设备使用 2/3G 网络和 Wi-Fi,网速慢,稳定性差,系统的设计需要克服以下两方面的难点: