一、基本步骤

1.1 筹备期

产品定位:做一个什么样的彩票APP?它解决的问题是什么?它面向的服务对象、人群是谁?

这一步主要是做好产品明确的定位,并结合自身的资源和优势,以免盲目的扩大产品需求,最终导致产品上线后运行困难。简单来说,主要就是要达到以下三点目的:

  1. 明确自身优势;
  2. 产品需要面对的对象;
  3. 我们可以提供什么,可以解决用户什么问题。

1.2 需求文档

项目筹备期后就可以做项目需求文档了,项目需求文档是指用通俗的语言把你想要实现的事情说明白。

例如:要在我们这个产品上,商户和消费者可以在我的平台上交易购物,特色或者和其他平台差异的地方详细的阐述明白即可;在写需求文档时应该注意的是要明确需要实现的功能,并且明确创造性的部分,有了基本的需求后就可以和专业的产品经理交流分析,最终形成详细的需求文档。

1.3 项目分析

以上两步完成后就可以和开发团队进行沟通了,开发团队基于自身的经验,可以给出一些专业的建议。

比如在开发中用什么样的开发方式实现、如何提高用户的体验度、如何让用户最简单会使用,在开发方式上如何能做到流程最简洁,当然,也包括未来项目开发中遇到的问题。同时,在拿到需求文档后,开发团队也会评估技术实现难度和开发周期、预估开发需要的费用、需要准备的资料等等。

项目分析主要解决的问题是:具体需求结合开发团队的实力和经验进行初步诊断项目、开发难度、开发周期和评估开发费用,如果开发团队实力强劲,也会给出更多技术性的指导。

1.4 流程图

做完项目分析之后,会根据项目需求来绘制详细的项目流程图,其主要目的是对项目所有流程的详细剖析,同时会明确两个问题:

  1. 开发团队是否对项目需求有准确的了解;
  2. 需求方明确自己预想的流程是否合理。

同时,流程图也是开发团队和需求方经过多次的沟通最终确定双方都理解正确的流程。

流程图建立完成后需要注意的几个方面:

  1. 需求方必须充分了解项目的流程和各个交互环节是否在流程图上表达清楚;
  2. 开发团队必须根据以往的经验结合项目和用户体验做出最优化的流程。

一般在开发中,这一步双方交流的时间比较长。也是项目开发初期至关重要的一步,产品经理在这个需求不明确的时期也不会盲目进行下一步骤。

1.5 原型图

在流程图确定后,就开始绘制原型图了,原型图的目的是:

  1. 帮助需求方来了解未来产品的大致布局和结构;
  2. 交互的确定,因为产品是一个完整的流程,每个流程如何到下一步,下一步后如何返回上一步,异常流程时如何提示,这些都在原型图中会展现出来,以此来帮助需求者再次确定流程的完整性。

原型图完成后,开发团队会和需求方深度的沟通交流,主要在于公司目标、行业惯例、受众群体、交互方式、用户认知和使用习惯等等;同时,在这一步骤中,需要的时间也是很多的。

1.6 效果图

接到原型图之后,UI设计部门会第一时间完成项目关键帧页面(绝大多数情况下是首页)的效果图,首页效果图完成后会和需求方反复沟通讨论,根据项目实际情况、产品最终定位、利益相关者喜好、面向的目标群体和开发期限等等因素决定初期的产品风格和大致规范。

首页决定之后,会以此为依据,进行后续界面的设计完成,此步骤可能会与「开发中」同时进行。也不否认会存在在开发过程中反过来修改效果图的情况的发生,而且最终上线效果和此阶段的设计效果存在差异很正常,主要需要把握的是产品最根本的目的是否已完成。

1.7 开发中

即页面标注适配、项目后台接口开发、项目数据库设计等。在效果图完成后,经过需求方确定后项目就进行程序开发和数据库设计环节了。

1.7.1 页面APP标注和手机适配

智能手机做为新时代的产物已经不仅仅是完成手机的基础打电话、发短信功能了,还具备了电脑、相机、定位的特性,伴随的时代的发展手机也逐步的发展由起初的小屏幕低配置到现在多样化。

  • 屏幕:全面屏、刘海屏、水滴屏、滑屏、1080屏、真彩屏等;
  • 手机操作系统:Android、iOS、Windows Phone、Symbian、BlackBerry OS、Web OS、Windows Mobile、Harmon,等等其它系统
  • 手机品牌:华为、OPPO、vivo、苹果、三星、荣耀、小米、一加、魅族、realme、努比亚、联想等等;
  • 其它:前后摄像头、指纹识别、人脸识别、GPS定位、北斗定位、陀螺仪、录音、手势识别、重力感应、高度测量、距离感应、光线感应、红外遥控、霍尔传感器等等。

在目前市面上,我们会看到很多手机的型号和操作系统版本,为了让开发的产品能在各个手机上都能最好的显示和正常使用,开发人员要进行大量的适配工作,这也是在开发环节中很重要的部分,当然,也是体现一个开发团队的实力和经验的重要部分。

最后,这一步的完成质量直接会影响到未来项目上线后用户使用体验。

1.7.2 数据库设计和后台系统开发

数据库的设计是专业数据库工程师或者项目负责工程师的工作,数据库通俗讲就是数据存储的一个盒子,会存储所有的数据库包括会员姓名、产品资料、交易数据等,在这个存储的盒子里面又根据存储的数据库类型分成了若干个「货架」,条理的按照类别和使用频率存放在「货架」上,这样在使用到时系统会最快、最准确的取到和存放。

数据库结构的合理会大大提高系统工作时所需要的时间、效率和储存量,这也就是很多项目在运行中期为什么有的运行很快有的运行很慢,甚至有的还会出现计算错误的原因。所以在设计数据库时工程师会充分考虑。

系统后台开发通俗的理解是系统运行中做为集中管理的一个地方,包括了数据查看、数据发布、数据统计等总要工作。也是日常处理系统数据的重要地方,后台设计的功能一般是根据项目的需求功能确定的,比如商城类APP后台要有产品发布、产品管理、会员管理、产品订单等。

安卓和iOS工程师会根据原型图、效果图、标注等设计前端程序。

1.8 初稿测试

项目开发完成后,开发团队或企业内部会进行一定的测试工作,其一般测试内容分为:流程测试、体验测试、功能测试、性能测试等几部分。

首先进行的是流程测试,测试项目的流程是不是按照项目需求、流程图、原型图进行的,在测试期间除了测试系统流程的准确性之外,测试工程师还会根据自己以往的经验对项目流程进行测试,既可拟补设计时的一些不确定因素,还会更加完善项目。

体验测试是对项目整体用户操作体验进行测试,包括交互的顺畅程度、交互体验感、交互是否顺畅等。

功能测试是测试工程师对项目的功能进行系统行测试保证功能开发的完整性和可用性,同时对功能提出更优化的建议和见解。

性能测试是对系统的稳定性、安全性和承载能力做的系统性测试,包括多终端的测试、手机的适配测试、不同手机和系统版本进行的测试,做到系统兼容性强;承载能力是指系统数据处理能力和反映时间的测试,详细测试项目软件的并发数量和对服务器环境的要求,做到高并发大数据集中处理(如果有相应的业务需要)的能力。

1.9 内测

经过团队内部测试后,就可以联网进行系统内测,参与人员可以包括需求方、开发团队成员、销售/市场业务团队人员、部分核心用户或种子用户等,这些人可以下载并安装测试版本。

测试之后,可以根据实际测试和内部运行的情况给出测试报告,包括实际使用中数据统计部分和操作习惯部分的优化建议。同时,前端也可以多邀请一些内部人员进行测试,充分优化和测试系统的体验度和稳定性。

1.10 正式上线

测试都通过之后,项目基本具备上线运行的条件,根据项目期限可以安排时间进行正式上线。期间需要租用正式的云服务器做为运行的环境。

二、 开发团队

  1. 产品经理。需求方和开发团队的沟通桥梁,制定需求文档,确保需求可以准确落地,以防出现理解偏差,同时根据自身经验给出专业的建议。
  2. UI设计师。将抽象的需求说明图形化、流程化,让人可以简单易懂的完成业务流程,同时通过规范的设计语言的方式,链接产品和用户。同时也可将冰冷的数据,通过设计的方式,与生活相融,也能具有温度,也可以产生温暖的回忆。
  3. 后台、数据库工程师。一般工程师类型为Java或PHP工程师,按产品经理的分析和规划完成程序代码部分的书写,包括数据库的设计。
  4. 安卓工程师。安卓手机的前端开发工作,主要完成项目的前端逻辑部分的代码书写,多版本手机的适配工作。
  5. iOS工程师。iOS手机的前端开发工作,主要完成项目的前端逻辑部分的代码书写,多版本手机的适配工作。
  6. 测试工程师。项目的测试和bug的发现。保证项目上线前的完成和测试工作。
  7. 云服务搭建和安全工程师。负责服务器的安全和搭建工作,一个项目完成后肯定要有一个容器来承载项目的程序和数据库。当时使用阿里云。

三、 开发中常用的接口或服务申请

项目开发过程中会用到很多第三方软件的接口,可以做到多平台的融合,同时会提升用户体验感。一般前期会根据项目需求在项目开前期就着手准备接口的申请,常用到的接口如下:

  1. 微信开放平台
    1. 微信可以提供了强大的传播功能,例如微信授权登录、微信支付、微信分享等。
  2. 支付宝开放平台
    1. 可以提供支付宝第三方支付服务。
  3. 推送
    1. 很多为了随时提供给客户数据变化或者消息通知都要推送给客一些信息,目前借助第三方的推送可以实现后台进程关闭推送,低延时、低功耗。支持手机广泛。
    2. 极光推送、友盟推送等
  4. 手机短信验证码
    1. 注册时,手机短信验证码的目的是验证手机号码的可用性。
    2. 同时,在进行重要信息修改时,也需要进行验证工作,例如:修改登录密码二次验证工作、修改支付密码的验证工作,这样可以做到安全的数据提供。
  5. 阿里云服务器
    1. 伴随着云服务的兴起,很多大平台都开放了云服务,做为项目前期选择云服务是比较合算的部署,云服务弹性计算随用随付费,可以有效的管理支出,同时现在云服务上提供综合的云产品,包括高效的CND分发、负载均衡、云安全、国外云资源等。
  6. 其它
    1. 身份证验证、身份证识别、人脸识别、即时消息等。
    2. 产品开发者一般都是根据实际需要进行更多的接口申请。

四、 云服务器的选择

  1. 阿里云
  2. 腾讯云
  3. 华为云
  4. 京东云
  5. 网易云
  6. 百度云
  7. 亚马逊云
  8. 其它云服务