软件开发流程介绍
一个软件从无到有到底是怎么开发的?一个软件产品的结果为什么是这样?为什么开发的速度不能再快一点。为什么程序员大多秃顶?他们有那么忙吗?完整的软件开发流程是怎样的?
项目启动
1、产品经理和项目干系人确定项目方向,产品型项目的干系人包括公司领导、产品总监、技术总监等,项目的话则包括客户方领导、主要执行人等。
2、公司领导确认项目组团队组成,包括产品经理、研发项目经理、研发工程师、测试团队等。
3、产品经理进行需求调研,输出《需求调研》文档。需求调研的方式主要有背景资料调查和访谈。
需求阶段
1、清晰认识项目是为了解决什么用户痛点,行业需求?
2、产品经理面向整个团队,进行需求的讲解。
3、分析要解决这些痛点或者需求的过程中需要通过哪些有效的功能布局去实施,逐一将核心功能列举并适当完善一下,通过文字或图文的方式描述清楚。
4、研发工程师按照各自的分工,进入概要需求阶段。《概要需求》旨在让研发工程师初步理解业务,评估技术可行性。
设计阶段
1、原型图经过反复推敲修正后,UI 设计师会进行UI界面相关的配色设计、功能具象化处理、交互设计、以及各种机型、系统的适配。UI设计师经过多次与项目经理沟通修改后,最终到定稿的设计图。
2、绝大部分APP项目都会有相应的管理后台,虽然后台是用户无法接触到的,但是与APP的功能是对照的,合理的设计能让后台管理人员快速上手。
3、研发工程师完成《概要设计》、《通讯协议》及《表结构设计》,及完成正式编码前的一系列研发设计工作。
开发阶段
经过以上几个过程之后,会正式进入到开发阶段,一个完整的 APP 项目一般包含以下几个板块:
1、服务器端:编写接口协议文档,服务器环境架设,设计数据库和编写API接口。
2、APP端:根据UI设计图进行界面开发,UI开发完成则进入和服务端接口对接,通过服务端的接口获取数据,编写功能上的逻辑代码。
3、Web管理端:根据前端的业务逻辑,后台会有相应的功能与之匹配,同样需要编写功能上的逻辑代码。
测试阶段
APP功能开发完成之后,测试人员会对整项目进行系统性测试。这个环节会调动起项目组内所有人相关人员。而测试这个环节的重要性不亚于前期功能的规划,如果团队没有经过专业系统性训练的测试人员,很可能会导致项目出现与设计初衷存在落差,以及遗漏下一些逻辑上的坑。
系统上线
与客户或者上级达成一致后,系统进行试运行,稳定后上线。