Android开发经验02:Android 项目开发流程
Android开发完整流程:
一、用户需求分析
用户需求分析占据整个APP开发流程中最重要的一个环节。
一款APP开发的成功与否很大程度都决定于此。
这里所说的用户需求分析指的是基于用户的要求所进行的APP功能的梳理。
针对的主体都是用户,"以用户为中心",不是瞎喊口号。
因为很多公司所开发的APP都是给需求用户所使用的,
所以,在整理APP开发需求的同时,不仅要根据企业所要求的开发需求,
也要了解这个企业所针对的广大用户的需求。
最终将这些需求梳理、分类,整理出大致的APP功能框架。
在这个过程中,切莫断了与所对用户的联系,尽力做到无疑问,以免所开发的功能累赘也不适用。

关于如何具体的对用户需求进行分析,老曹后续会有针对的解说。
二、产品原型设计
产品原型设计也就类似于一个APP产品的草图,在经过深度的用户分析之后,将整理出的需求分类、排序为功能节后模块,利用这些功能模块就能搭建出简单的产品原型。
产品原型将基本的功能结构展现,借助产品原型设计软件模拟出相似的APP产品与客户进行确认,最终确认结果完毕,进入下一环节。
三、UI视觉设计
在产品原型的基础上,UI设计师才开始对APP的界面进行美化,依据所表现的内容进行版面结构设计,
设计风格控制、并对每一块区域进行相应的配色、绘制功能菜单图标、设计页面元素等,
在此期间就需要不断的沟通修改,最终设计出所有的APP界面效果图。
四、数据库搭建
按照需求分析整理出来的功能数据处理情况,建立合理的数据库表结构,
优化数据算法,提升数据的处理效率,保证在使用APP的过程中数据的安全性、准确性、稳定性和及时性。
五、服务端开发
一款APP应用的核心处理都是由服务端的程序完成的,客户端的APP知识需要收发数据,
由于用户的移动端设备硬件配置和存储容量有限,因此核心数据处理过程均是由服务器端进行运算处理的,
这种方式也被称为云计算,服务器处理完成之后反馈给客户端APP。因此服务器端的程序开发极为重要,
所有的功能均需要严格按照需求分析阶段整理的功能来进行开发。
六、iOS/Android客户端开发
程序员按照APP效果图进行客户端开发,对设计效果图的代码实现,写入功能调用的接口,
连接服务器端,方使服务器端的数据进行交互,开发出与效果图一致的APP的客户端。
1、应用规划:
※ 确定功能。
※ 必须的界面及界面跳转的流程。
※ 需要的数据及数据的来源及格式。
※ 是否需要服务端支持。
※ 是否需要本地数据库支持。
※ 是否需要特殊权限。
※ 是否需要后台服务。
2、架构设计:
※ 分层。
※ 网络连接。
※ 数据处理-xml、domain。
※ 封装Activity。
3、界面设计:
※ 主界面确定。
※ 模块界面、列表、查看、编辑界面。
※ 菜单、按钮、对话框、提示信息。
※ 界面总体颜色。
4、数据操作和存储:
※ 数据来源。
※ 数据类型。
※ 存储方式。
5、业务实现:
※ 客户端业务解析。
6、页面跳转:
※ 每个页面间的跳转。
※ 菜单、按钮、事件等。
七、APP程序测试
APP的全面测试,此测试是模拟用户在正常使用的情况下以及非正常使用的情况下有可能出现的问题,
当然,需要导入必要的数据进行测试,出现错误继续开发修复,通过则证明整体APP已经完成,
然后再将成品交由用户试用。
八、上传到应用商店
完成签名验证之后,开发好的客户端APP程序就可以提交发布到各应用商店。
iOS版本的APP提交到苹果的AppStore,安卓的提交到国内各大安卓应用商店。
九、APP的维护以及更新
对上线之后的APP进行维护,收集用户反馈信息,及时修复APP应用中出现的错误(Bug)。 那么,后期的维护都包括哪些具体操作?
1. 各大应用市场的开发者账号维护,ios系统的如苹果商店 , Android系统的如豌豆荚、安卓市场 、木蚂蚁 、360市场等开发者账号的更新维护。
2. 根据首版app上线后的用户反馈以及产品的数据分析,进行下一版本的更新,功能升级,版块添加等。
到这,一个完整的APP就被开发出来了,从最初的需求分析沟通到最终的APP测试修改上线, 整个APP的生命周期脱离不了用户需求,
因为一款连用户不认可、不实用的APP,只会走向末路。 只有疏通整个APP开发的流程,才能在跟进开发的过程中不至于不知所云,
Android开发经验02:Android 项目开发流程的更多相关文章
- 使用.NET MVC框架项目开发流程(项目开发流程)
MVC项目开发流程 整理需求,进行需求分析.项目设计. 整理数据项,建数据库做前期准备,并整理字典. 建立所需数据库表和视图和模型. 页面实现其初步功能(跳过逻辑后台代码),只是实现页面之间的跳转以及 ...
- 【CC2530入门教程-01】IAR集成开发环境的建立与项目开发流程
[引言] 本系列教程就有关CC2530单片机应用入门基础的实训案例进行分析,主要包括以下6部分的内容:1.CC2530单片机开发入门.2.通用I/O端口的输入和输出.3.外部中断初步应用.4.定时/计 ...
- K2项目开发流程
(自己的学习资料) K2项目开发流程: 1.在VS2013中设计流程,并在K2 Workspce中测试流程 首先是新建新建一个k2的Process文件..kprx后缀. 在里面创建所需要的流程.由于我 ...
- 覃超:Facebook的项目开发流程和工程师的绩效管理机制
覃超:Facebook的项目开发流程和工程师的绩效管理机制 http://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=2650992350&am ...
- Django (九) 项目开发流程&项目架构
项目开发流程&项目架构 1. 软件开发的一般流程 1. 需求分析及确认: 由需求分析工程师与客户确认甚至挖掘需求.输出需求说明文档. 2. 概要设计及详细设计: 开发对需求进行概要设计,包 ...
- 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_1-2.中大型公司里面项目开发流程讲解
笔记 2.中大型公司里面项目开发流程讲解 简介:讲解一个项目如何从零到上线,经历过怎样的步骤和流程 1.一个中大型项目的开发流程,从需求调研到项目上线 ...
- IT项目开发流程
项目开发流程: 一.需求分析:相关系统分析员向用户初步了解需求,然后用相关的工具软件列出要开发的系统的大功能模块,每个大功能模块有哪些小功能模块,对于有些需求比较明确相关的界面时,在这一步里面可以初步 ...
- Java高级项目实战之CRM系统01:CRM系统概念和分类、企业项目开发流程
1. CRM系统介绍 CRM系统即客户关系管理系统, 顾名思义就是管理公司与客户之间的关系. 是一种以"客户关系一对一理论"为基础,旨在改善企业与客户之间关系的新型管理机制.客户关 ...
- Git多人项目开发流程演练
1. 前言 本文利用 GitHub 平台进行一个多人项目开发流程的演练,以加深课上所学内容. 参考文献:五⼤场景玩转 Git,只要这一篇就够了! 2. 初始化项目 2.1 新建远程项目 一个多人项目通 ...
- Python基础之模块:7、项目开发流程和项目需求分析及软件开发目录
一.项目开发流程 1.项目需求分析 明确项目具体功能: 明确到底要写什么东西,实现什么功能,在这个阶段的具体要询问项目经理和客户的需求 参与人员: 产品经理.架构师.开发经理 技术人员主要职责: 引导 ...
随机推荐
- springcloud-Feign基础使用
声明式REST客户端:Feign Feign是一个声明式的Web服务客户端.它使得Web服务客户端的写入更加方便.具有可插拔注解支持,包括Feign注解和JAX-RS注解. Spring Cloud增 ...
- MyEclipse中快速查看错误
当代码中有错误的时候,MyEclipse会用红线标示错误.这个时候在错误地方按下F2就会显示错误详情了.
- MySQL7:性能优化
性能优化 优化MySQL数据库是数据库管理员和数据库开发人员的必备技能.MySQL优化,一方面是找出系统的瓶颈,提高MySQL数据库的整体性能:一方面需要合理的结构设计和参数调整,以提高用户操作响应的 ...
- servlet(一):从Sevlet到HttpServlet
Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层. servlet ...
- 地址解析协议ARP,网络层协议IP、ICMP协议
分析所用软件下载:Wireshark-win32-1.10.2.exe 阅读导览 1. 分析并且应用ARP协议 2.分析IP协议 3.分析ICMP协议 1.分析arp报文的格式与内容 (1)ping ...
- Git 小记
感觉用github管理自己平时的一些代码挺方便的,尤其还有各种统计,作为一个码农,就有一种每日签到.累计签到统计的感觉.用github,学习git自然是不可避免的,原先只是用几个 git clone ...
- 移除button点击时的黑边
input[type=submit], input[type=reset], input[type=button]{ outline:none; filter: chroma(color=#00000 ...
- js-NodeList对象和HTMLCollection对象
getElementsByName()和getElementsByTagName()都返回NodeList对象,而类似document.images和document.forms的属性为HTMLCol ...
- css-使不同大小的图片在固定大小的容器中居中
HTML示例如下: <ul> <li class="imgbox"><img src="img1.jpg"></li& ...
- JAVA 判断字符串是否可转化为JSONObject、JSONArray
有时,我们需要判断字符串在转化为JSON对象或者JSONArray时,我们可以使用JSONObject.parseObject和JSONArray.parseArray,但是有时候我们需要在转化之前判 ...
