项目客户端一般分为:浏览器端和APP端
APP端分为:手机端(安装在手机上的软件)和PC端(安装在电脑上的软件)
1.开发模型
项目迭代速度不同:开发模型不一样
- 传统行业:瀑布模型
- 互联网行业:敏捷模型
问:互联网应用(京东)与传统行业应用(个税APP)更新速度一样吗?
答:不一样,更新速度取决于他们的的开发模型。
(1)瀑布模型:
将一个项目作为一个整体,下一个环节依赖上一个环节的完成。整个项目流程,就像瀑布一样一定是从上往下,上一个环节没有完成则下一个环节是没有办法开始的。(例如在一个项目中,整个项目的所有功能都规划完成后,才能去做研发,所有功能做完后才能做测试)。会导致整体周期比较长
(2)敏捷模型:
1)什么是敏捷模型
基于迭代开发的软件开发方法,核心是将一个项目拆分成多个子项目,每一个迭代周期完成一个子项目把功能进行拆分,比如一个项目有10个功能,可以把他拆分成5个功能,每一期做两个功能,做5期。这样只需要每两个功能的需求分析做好了就可以开始这两个功能的研发,然后做测试。在左前两个功能测试的时候,产品又可以去回话下一期两个功能的需求......
2)敏捷开发(scrum)模型
2.1)Scrum:
是一个敏捷开发框架,是一个增量的,迭代的开发过程
2.2)三种角色:
产品负责人(Product Owner) 定义需求,进行需求排期 项目经理( Scrum Master) 管理项目,确保 scrum 顺利执行开发团队(Dev Team)
- 实现客户需求
- 成员:开发、测试、UI。
- 团队人数:一般5人到9人。开发测试比一般为:3:1 — 5:1
2.3)迭代周期:
2-4周
2.4)Scrum中的名词
- backlog:产品功能列表-------在Scrum中,将产品Backlog按商业价值排出需求列表
- sprint:迭代------项目开发过程中最小周期,每个sprint周期建议为2-4周。在scrum框架中,整个开发周期包括若干个小的迭代周期
3)工作流程
- 产品要汇总产品功能列表(Backlog)
- 召开迭代计划会:目的是明确迭代周期
- 迭代开发:需求评审->开发->测试->发布(依项目而定)
- 发布评审会(测试报告):反思会
2.项目上线发布策略(灰度发布)
开发环境—测试环境—(预发布环境)—灰度发布- 生产环境
灰度发布:先部部分试用,若有异常则回滚,无问题再全部发布。
由于一个项目,一般线上部署时有多台服务器运行,所以灰度1台至3台,看看新功能是否OK,如果失败则只需要回滚几台,比较方便。
线上发布:所有用户可用。
3.APP如何发布?
APP开发完成后,相应的开发人员会打出应用程序包,由测试人员安装测试
(1)软件安装包的格式
- 安卓手机: XXX.apk
- 苹果手机: XXX.IPA
注意:IOS APP和Android APP在界面上的功能一样,但实际上是两个完全独立的项目。• 使用不同的语言• 由不同的项目组成员进行开发
(2) 软件包的发布
1)给测试
- 将软件包放在公共平台上,标注版本号,放在大家都可访问的地址
- 注意:要求开发标注版本号,不是名字修改就可以,一定是配置文件里修改
2)给用户
放在第三方平台:
- 安卓: 应用宝 、豌豆荚、 360手机助手 、各品牌应用商城 等
- 苹果: APPstore、 ITools
注意:
- 一般线上发布过程,由开发人员负责。
- 在软件包加入平台ID后,上传到发布平台时,需要测试人员验证核心的业务功能
未完待续。。。