从开发的角度去分解项目需求

  经历过不同的公司,也带领过不少团队,自然而然会参与不同的项目,遇到过有的同事接到一个新需求或者新任务时,一脸懵逼不知道如何入手。其实就是不知道如何分解需求,今天我们就从开发的角度来分解项目的需求,理清思路问题就迎刃而解。

 

 

  项目首先得了解需求,如果不了解需求,谈不上分解了,我不相信不了解需求的人能做好项目分解的工作,但现实生活中就有而且还不少这样的同行,在不了解业务需求的情况下就说简单、几条SQL语句搞定,这是极其不负责的表现。了解业务后,我们一般会从横向、纵向分解需求,横向拆分是指拆分业务功能,纵向拆分是指业务功能落地生命周期的拆分,这也是我在工作中使用的分解方法。

  横向指的是项目的功能,比如,我们常见的OA系统主要有考勤、员工管理、薪资管理、绩效管理等等,WMS系统则主要有仓库管理、商品管理、供应商管理、入库管理、出库管理、PDA、RF等等,是不是这些功能,我们都分解成一个个独立的功能单元进行开发呢,其实在现实项目中并不是这样,还要看各个业务功能的耦合度,如果耦合度比较高,则建议合并成一个功能点,这样更容易管理及业务实现,这也是DDD(领域驱动设计)所提倡的,各个业务需求的边界是非常重要的,如果落地前没有梳理清楚,后期实现是非常棘手,甚至可能直接导致项目的失败。

纵向指的业务落地的生命周期,单个功能的需求分析清楚明了是首要任务,然后就是根据需求设计业务模型、数据模型、技术实现模型,及采用哪种方式、哪种语言来实现,还有为了保证业务的正常运行,需不需要考虑高可用、高并发,及如何解决,最后针对一个单元任务形成一个整体的方案。

 

 

项目的业务需求分解是一个复杂的过程,既要对业务需求熟悉,也要有技术沉淀,缺一不可,最重要的还是要在实际的项目中多实践。如果有什么问题,可以加我微信,多多交流,共同进步。

 

  

posted @ 2021-04-01 17:19  架构师聊技术  阅读(1463)  评论(0编辑  收藏  举报