产品是为解决工作/生活过程的问题及满足人【需要】的产物,这样的产品才有存在的价值,产品的存在形式有很多,日常生活品、消费品、计算机系统或APP应用等都是产品,本文主要介绍的是运行于计算机上/App上的系统或应用。
大家看到的系统或APP应用,在计算机中,是以一段操作命令的字符存在的,当你在使用功能时,计算机会根据您使用的功能(请求的资源),拆解出资源的路径,定位到功能对应的操作命令,然后执行这段命令,通过计算机的计算器、存储器等,将结果通过网络,传输回用户端,用户端通过可视化程序将结果演染出来,才有你看到的功能的操作界面。从这个过程中,大家可以看出,在计算机中的命令,只会产生一个结果,要么正确,要么错误。它不像人类的语言,一词可以表达多种意思。因此在开发功能时,功能描述(细化流程逻辑)要正确,不能存在多歧义,这样开发人员才能编写好逻辑程序,让功能满足产品的需求。
那么,一个系统功能的开发过程是怎么样?会包含哪些步骤呢。
首先 架构设计
系统的设计人员/架构师,会详细的分析产品功能的需求、原型,主要是从功能的描述、功能所包含数据的内部流转逻辑、操作流程是否闭环,各个环节的数据控制逻辑是否正确等方面进行评估,如果存逻辑不通,或者逻辑断层等问题,则会与产品功能的负责人进行沟通,直到功能逻辑都走通。在这个过程中,设计人员会记录问题,并提交到产品经理,由产品经理进行解答。在分析完后,会进行数据存储结构的设计,功能内部流转流程的设计,数据流转的设计、开发任务的拆分,并形成简单的说明文档,以指导开发人员进行开发。
第二 功能开发分工
功能开发分工,根据第一步的产出物,召开技术评估会/或者几个人进行简单的交流,讨论功能需求,技术开发方案等有没有问题,如果是产品需求问题,则记录下来,并反馈到产品经理;如果是技术开发问题,则讨论出一个可行的技术解决方案,原则是要满足功能需求。讨论完后,将开发任务落实到具体的开发人员,并落实完成时间。
第三 需求分析
系统的开发人员拿到产品需求、原型、设计相关的文档后,进行详细的阅读与理解,如果还有问题,则反馈到分析人员/产品经理。同时,开发人员根据这些信息后,定义好程序的输入/输出,如果与其他系统有交互,必须与其他系统的开发人员进行讨论,确定好功能的对接方式。一切准备就绪后,就开始功能代码的开发,至于过程中有问题,则在与分析人员/产品经理进行沟通。(这里说的开发人员包括前端开发与后端开发人员)
第四、单元测试
开发人员开发好功能代码后,需要对功能进行单元测试,以发现功能代码是否存在缺陷、控制流程、数据存储逻辑及数据流转、边界控制等是否有问题,另外还要关注性能是否达标。如果与其他系统有对接,也要与其他系统的功能进行测试,主要是功能流转、状态是否正确。
以上是一个系统功能的开发过程,会涉及到分析、设计、任务分工、编码过程、单元测试等环节,每个环节都是紧密相连的。系统功能的开发过程是自上而下,只有前面的工作做好了,后面的实施人员实施起来才能快,才能准,才能减少复工的成本。
文章来源公众号,ID:技术老男孩