iOS新浪微博客户端项目:1,客户端开发流程

来源:互联网 发布:淘宝新品标签怎么弄 编辑:程序博客网 时间:2024/06/07 04:51

开发流程:

1,产品经理做需求调研,确定产品需求,编写需求文档
2,产品人员完成产品原型
3,产品经理召开会议(产品、UI、UE、开发、测试、服务器——可行性讨论)
4,设计人员根据原型设计出一系列UI界面


5,服务器与客户端成员一起制定接口文档
6,项目经理制定项目开发进度,分配任务,预算开发周期
7,移动客户端开发人员根据UI界面和需求文档开始写代码,开发模块上的功能
8,开发者提交给测试部门
9,调试部分测试完毕,提交给产品经理,验收产品
10,提交到appstore上


具体操作:


(1)需求确定:

产品经理,通过各种方式(头脑风暴、会议、咨询、调研)确定功能。

本阶段是项目开发的最重要阶段。

通常需求文档和原型会在本阶段中进行。


result:产品经理给出需求文档和产品原型。

产品的设计、编码、测试、验收都需要根据需求文档。

(2)界面设计

颜色、style
UI和美工设计、切图等
设计App的具体模拟界面



(3)用户交互

通常由产品经理完成

一些原则:

易用
简约化
避免输入
信息扁平化
增强交互

举例:
两种不同的交互对比(weico和新浪官方微博客户端)


(4)架构分析与设计

三层架构:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)
设计模式:MVC、抽象工厂模式
缓存策略:数据是否要保存到本地?以哪种方式存储?core data 、文件等
可扩展性
是否预留广告位


(5)业务逻辑分析

根据需求分析业务逻辑
哪些人会使用这个客户端
他们会使用客户端做什么
通常他们会使用该客户端的步骤是什么
会有哪些核心类支持本客户端的运行

本阶段与需求密切相关,通常在确定需求的时候就会进行相关分析


(6)业务逻辑设计

根据需求的分析来确定具体的类
确定类的属性
确定类的接口(方法)
确定类之间的关系
确定用户操作流程在设计上的反应


(7)与服务器的交互方式(开发接口的方式)

http
缺点:传输数据包大,速度慢、安全性能差
优点:对开发人员要求不高,开发效率高,容错性好

socket
缺点:对开发人员要求较高,开发成本高
优点:传输数据小,速度快,安全性高,适用于客户端与服务器实时交互数据


(8)数据交互格式

jsoon(Javascript Object Notation):
一种轻量级的数据交换格式,易于人阅读和编写,同时也易于及其解析和生成。

xml:(Sax和DOM)
extensible markup language,一种类似Html的语言,他没有预先定义的标签,使用DTD(Document type definition)文档类型定义来组织数据,格式统一,跨平台和语言,早已成为业界公认的标准。

(9)接口定义

一般由客户端和服务器段开发人员一起讨论定制

举例:微博列表接口
1,title:微博列表接口
2,action(URL):http://weibo.com/status/home_timeline
3,method(请求方式):get或post
4,Test Data(请求参数说明):page:返回结果的页码
                                                            count:单页的微博数
5,Test result(返回内容:json格式):

   created_at:"",                               //发布时间
   id:100001,                                    //微博id
   text:"微博内容",                            //微博内容
   source:"iPhone客户端",            //微博来源
   reposts_count:200,                   //转发数
   comment_count:100,                //评论数
   user:{               
      id:100002,                                //用户id
      name:"李开复",                        //昵称
      city:"北京",                                //所在城市
      userImage:"http://www.baidu.com/1.jpg"  //头像图 
   }
}


如何定制接口(以微博列表接口为例):

这里有很多微博:
(1)把微博看成对象
(2)n条微博就是一个数组。
(3)微博的各个元素就封装在json中

用面向对象的思维,根据界面,把界面的各个元素定义成字段


视频:http://www.tudou.com/programs/view/52Lco9LGvgg/?resourceId=119121756_06_02_99




原创粉丝点击