从想法到产品
- Java项目大致经历的阶段
- 需求分析自测
- 开发自测
- 联调
- ST(System Test)系统测试
- UAT(USER ACCESS TEST) 用户验收测试
- 投产、结项
- 总结
Java项目大致经历的阶段
一个Java项目,完整的流程有需求分析设计、开发自测、联调、ST、UAT、投产、结项。一个项目又会被拆分成多种多个小项目,无论是中间需求变更也好,还是重构,都需要不断的走这几个流程(除了投产与结项),在项目开发后期才会真正让项目进入最终的阶段(投产、结项)。
需求分析自测
这个阶段主要是出需求说明书,且和开发人员沟通好需求中的内容与具体细节。其中也总会伴随一些需求进行修修改改与反复确认。但这个阶段的工作做好,会为后面的开发测试及验收节省很多时间。所以一般来说这个阶段要明确需求想要的是什么,主次分清,开发者理解后,就要评估,哪些可以实现,哪些不能实现,哪些实现会遇到什么样的问题,开发周期有多久,我理解这个阶段应该把这些事情要做好吧。当然时间管理这块主要就是项目经理来持续跟进了。
开发自测
这一阶段主要是开发人员依据需求说明书编写业务接口及完成一些其他功能,具体因不同项目类别,所做的事情也不同,普通的业务数据展示传输等,大多是需要做接口供页面展示,有些需求又会涉及定时任务,这时所写的业务功能往往是内部的数据处理与功能调用,同时结合定时框架来完成。某些古老项目可能还需要在后端做一些前端的开发,这样一般不太符合当前的主流趋势。且现在很多低代码平台的开发也会让一些无需特别清楚代码内部实现的人来完成一些业务功能。这里只想感慨一句,有句话说的好,抽象真的是一种很重要的能力,抽象让很多细节,很多重复变得通用,变得更为精妙,让很多技术变得越来越像黑盒,功能拿来即用。
联调
这一阶段要做的事情就是多个开发人员实现好接口,但可能互相之间会进行调用,又或者是进行系统之间开发人员的调用,系统之间可能就需要涉及鉴权,验证。这一阶段总的来说并不复杂。
ST(System Test)系统测试
这一阶段就是对整个项目接口开发完成后的进行完整的一个功能测试,比如项目开发了一个流程,流程涉及不同的功能,流程过程又会涉及一些规则,这一阶段就是去对功能再验证以及对流程运行过程中,规则是否符合的校验。这一阶段的完成主体是项目测试人员,需要有功能测试用例,与最终的测试报告。
UAT(USER ACCESS TEST) 用户验收测试
基本进入这一步之后,项目就快进入结项阶段了,如果是为自己公司开发的,一般走到这里就是进行上线部署,后期如果还会遇到问题就需要修改
投产、结项
如果开发的是一个软件产品或是一套系统,这时,系统需求如果都按前面的阶段正常运行,且最终产出的文件也正常,一个项目到这里基本是到了尾声。后续可能就是运维支持。
总结
项目从开发到完成,起初我刚接触时,感觉我开发功能并不需要多久,但实际情况是一个项目如果走完这些过程,时间往往花费比自己开发时间几倍以上。且中间过程还需同各个环节的人都需要进行沟通交流,只不过有些沟通的少有些沟通的多,不同阶段主要的沟通对象也不同。所以,公司早会及定期工作汇报还是有很好的作用的,帮助多提升自己的沟通技巧,理解他人。IT行业,应该是理解万岁最重要了吧。。。