项目一般开发流程

今天这篇博文主要讲的是项目的一般开发流程。科学的开发流程可以提高效率,减少不必要的加班,由此可见开发流程在项目开发中的重要地位。项目开发流程一般包括以下几步:
一、需求评估

产品经理、研发工程师、测试工程师,要组织需求评审会议,讲解本次的开发功能和具体业务。

如下2步,需要画图、笔记、文字记录、演算、推理、画流程图、画架构图

1、产品选型

明确产品界面、交互设计、功能设计、模块区分,寻找相仿的产品上手体验、操作,感知功能的使用和交互的体验,目的是为了了解即将要做的产品有大致的模型,对产品模型了解的越细致越好

2、分离架构

对产品从各个维度分离架构,从功能,目录,逻辑拆分,抽象,业务流的明确,数据流的流向,交互体验的设计,从整体拆分成局部,针对每个局部再继续拆分,从局部整合成系统,考虑整体和局部之间的相互影响关系

循环这2步,最终得到一个产品系统,应该对产品系统非常了解,从整体到局部,从需求到逻辑,端到端的数据流向,交互体验设计,数据库表结构设计

根据以上,给出开发工期(X/人/天)。

二、文档编写

按照系统的各个区域和子系统,编写对应的文档注释,说明此子系统的功能、大致逻辑、含有的接口。

此外,流程应该按照先数据库层面 –> 逻辑控制层面 –> 数据展示层面 –> 交互体验层面 –> 界面设计层面的顺序来规划和思考。

同时考虑扩展性的问题,子系统是否可插拔,组件之间是否强依赖,必要的时候完成架构层面大的抽象。

文档需要大概明确此子系统模块的测试结果是什么,提前演算模块的测试步骤和结果,后续细化的代码必须要通过此测试要求。

三、创建/更改 数据库

根据公司要求规范操作数据表,确定后邮件抄送相关开发。

相关SQL语句,需要Leader、DBA 审核,方可部署。

四、规定开发规范

规定代码规范,必须要写注释

五、前后端分离开发

目前项目大部分都是使用 前后端分离的方式开发,一般由后端先给出接口文档供前端进行开发。

    后端 程序逻辑代码开发需要考虑:

     复杂的逻辑可以自己先画流程图(ProcessOn)。
     遵循 PHP 代码规范(PSR)。
     代码注释(再次提醒这点非常重要)。
     数据验证(对前端提交的数据进行二次验证,不能相信任何前端数据)。
     功能逻辑(考虑类库封装,代码复用)。
     性能问题(是否需要用到缓存redis等)。
     安全问题(XSS、Sql注入)。
     日志问题(记录相关日志)。
     错误报警(可供参考)。

    前端需要考虑:

    

代码整洁性(标签元素对齐,DIV区块注释)。
界面适配(BootStrap 栅格系统)。
Js 相关验证(不要写在界面中)。
产品验收(确认界面元素是否满足使用习惯)。

撸编码

    编码必须符合伪代码的逻辑,编码应该多次测试,慢步前进。
    注意编码的版本控制。
    编码应该尽量保持优美的逻辑和语法使用。
    编码的变量命名应该特别注意。
    每一次的编码应该最低按照一个函数单元,即最小编码单位是一个函数,一旦决定编码,就至少完成一个
    函数单元,或者取消本次函数的编写。
    每个函数的完成,都必须要达到伪代码对此函数的定义和解释,注意高内聚和低耦合的问题。
    如果没有高内聚,要适当拆分逻辑和代码。
    如果没有低耦合,要适当抽象代码,合并其他同类函数。

六、功能自测

程序开发完毕后,需要自己先进行测试,走一遍全部流程。

需要考虑:

    创建一些测试数据。
    考虑功能的临界值。
    确保功能的可用性。

七、代码评审(Code Review)

代码评审被公认为是一个很好的提高代码质量的手段。

好处:

加速个人的成长,让自己成为一个更优秀的程序员。
可以分享/学习到更多的知识。
保证代码清晰,容易被别人理解。
提前发现一些缺陷(代码检查者通常比代码编写者更挑剔)。
我们可以使用一些开源系统:
Phabricator
ReviewNinja
Codacy
RhodeCode
如果有好的工具帮助我们进行codereview,往往会达到事半功倍的效果。

八、WIKI 更新

将自己开发的功能模块,部署到WIKI上。

写好需求方、开发者、使用者、是否用到API、相关逻辑、流程图…

九、功能提测

通知测试人员,该需求可以提测啦~

根据公司要求,可以进行邮件提测,也可以JIRA管理。

以上,只是大概的讲述了开发流程。

其实每一个步骤,都可以进行详细分析,比如代码注释,评审规范等等。
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章