一、工作中的一些形式和岗位
上班的形式:
1、自研:A公司面试、A公司签合同,最后去A公司上班
2、人力外包:B公司的面试邀请、让你去A公司面试,然后如果A公司通过了,那么就和B公司签合同,然后去A上班
项目开发的模式:
1、项目(项目外包):在B公司上班,写的是A公司的项目,最后上线交付,给钱搞定。
2、产品:公司高层的需求,自己的技术人员实现,并且公司自己上线运营、升级维护。
岗位:
1、项目经理:主要和甲方对接,起到甲方和技术人员之间承上启下的作用,并且把控整个项目的开发流程进度。
2、产品经理:主要提供整个产品的需求,通过自己的经验和市场的调查来决定最后产品的品控和方向。
二、项目开发的流程
需求设计阶段 -> 代码编写阶段 -> 功能测试阶段 -> 上线部署
需求设计阶段:
-> 产品经理提供《需求分析说明书》
-> 产品经理(UI设计)还需要同步提供产品原型设计图(Axure)
-> 测试人员根据需求分析说明书,要编写一个《测试用例》
-> 开发人员根据需求分析说明书,编写一个《概要设计说明书》(根据产品的功能,编写功能实现的流程图、UML建模等数据)
-> 开发人员再根据《概要设计说明书》,编写一个《详细设计说明书》(偏技术,数据库设计,某个功能实现的伪代码等)
代码编写阶段:
-> 架构师根据项目的需求特点,搭建对应的系统架构
-> 架构师将项目架构提交到SVN(GitLab)上,团队成员依次从SVN(GitLab)上检出项目架构
-> 进行数据库设计
-> 分模块开发,时间评估 -> 出方案 -> 方案评审
-> 代码的编写
-> 开发者单元测试
测试阶段:
-> 测试人员根据《测试用例》进行功能测试(黑盒)
-> 测试人员还需要进行性能测试(压力测试、边界测试、自动化测试)(白盒)
-> 测试人员提交测试的BUG到BUG系统上
上线部署:
-> 人工部署、自动化部署(docker + jekins)
人员配比:
-> 后端:1~6人 前端:2~3H5 1个安卓 1个IOS
-> UI设计、测试、运维