首先,软件app开发来自于一个创意(idea),就是有一个做什么的想法,然后大家坐下来开个会讨论一下,来场头脑风暴,确定主要功能,形成需求文档,软件开发文档中该有些什么功能,一一列举,以后就按照这个需求去做。
其次,有了需求文档,目标清晰很多,但还是不够,这时需要架构师来进行概要设计,软件分成不同的模块,再具体到更细节的部分,如数据库表的编写。产品经理画出原型图,设计或美工根据原型设计UI并切图,交互设计师设计页面交互,前端编写页面,后端编写接口供前端调用(ps:小一点的公司可能一人身兼多职)。编码只是其中的一部分,前期设计好了,那就是体力活。
最后,写好部分功能后就开始测试,有测试人员就专职测试,没有就自己人体验。主要是发现bug并解决bug,修改无明显问题后交付。
完整的软件开发步骤:
首先是市场调研,发现用户有这样的需求。然后产品经理去整理需求,将用户的需求转换成文档,比如BRD(产品需求文档), MRD(市场需求文档), PRD(商业需求文档)这类的。
如果公司决定做这个需求了,那就开始排期开发,产品经理会先把PRD文档给到开发(PR)和测试(QA)。开发和测试明白需求后就干活,开发人员做开发,测试人员写测试用例。
软件开发平台" width="550" height="366" title="软件开发平台" align="" />
开发人员开发完后会提交测试,这时候测试人员会按照PMD的说明去验证程序是不是满足文档的要求,如果有不满足的就反馈给开发人员进行修改,直到程序满足文档的说明,然后产品经理再验证。
开发完后的软件app项目会交给运维,运维将项目部署到服务器上后QA还需要去验证线上的项目是不是正常,不正常的话需要进行回滚到上一个版本,修复问题后再发布(所以一般都是做灰度发布,就是老版本的项目和新版本同时运行,用户还是访问的老版本服务,QA却能访问新版本服务)。发布完成后这个开发迭代就算完成了。