项目应该怎么划分子项目?

比如一个项目,从业务角度,分为用户管理,设备管理,库存管理3个部分,从代码层次,分为表现层,业务层,数据层3层。
如果3个人开发,假设3人能力及其他方面一样,应该每人开发不同的业务,还是每人开发不同的层?

也就是说是一个人做用户管理,一个做设备管理,一个做库存管理,还是一个做所有所有业务的表现层,一个做业务层,一个做数据层?

如果定义:
水平拆分是按表现层,业务层,数据层拆分,
垂直拆分是按业务拆分。

如果要把一个大项目进行拆分,分成不同的模块,然后用maven构建,是应该先水平,后垂直拆分,还是先垂直,后水平拆分?

应该怎么拆分?

大项目也是按模块划分。每个模块都对应的每个业务,如果水平划分,那么开发dao层的肯定不熟悉业务,而导致service层需要了解的业务太多。并不是每个模块都是简单的增减改查操作。所以在开发dao层时,你也不知道service需要用到哪些数据库操作。

首先按模块分,每个模块内部再按层划分。