CSDN博客

img ViktorYu

没头没尾--项目开发笔记:分层开发 ≠ 分层

发表于2002/11/28 9:12:00  1476人阅读

标题:没头没尾--项目开发笔记:分层开发 分层

关键词:分布式开发 C# 项目分工 DELPHIC#的混合开发,开发过程,分层开发

1126号:很不开心,公司里面又走了几个同仁,整体环境真是太不景气了 LL

 

有的朋友觉得分层与分模块的开发从概念上不属于同一个概念的范畴。我想在这里做一个澄清。

       我想详细的解释一下我认为的分层开发的概念。也许这个概念定义是我的理解有问题。我脑中的分层开发是这样一个概念:当我们的设计已经采用分层次的概念之后,那么我们可以采用的开发方式可以有两种。分模块开发与分层开发。分层是一个“横向”的概念,可是分层开发是一个“纵向”的概念。分模块开发也是一个“纵向”的概念。以下面的开发过程为例说明这两个概念,假设我们的开发中应用程序的框架是已经分好层次的,如DOBOPOUI以及database层。(如果对DOBOPOUI没有概念请参考以前的笔记。)那么在这种分层设计的情况下我们同样可以采用两种开发方式:

1.         分模板开发

分模板开发中,A可以会负责开发一个销售业务模块,B负责库存模块。那么这样的分配方式下。那么A将会开始去摸索应该怎么去写这个过程(也许是看文档,也许是看demo),然后找出了我认为可以写的过程与方法(比如先写DO,再写BO,再写POUI),开始写。另一个人也是同样的按照这个步骤来开发。这两个人的活动可能开发过程的先后关系并不明显。这种开发方式没有什么好解释的,大家以前应该都有过这样子的开发的经验。

2.         分层开发

分层开发的过程中,与上面的开发方式可能会有很大的区别。AB负责一切数据库以及DOC负责BOD负责PO以及UI。那么开发的过程D去联系需求来做出页面以及PO,发现有需要进行业务判断的时候告诉CC就开发一个BO的组件对支持这个业务判断。当DC需要与数据库进行数据交互时,并不会去写直接得到数据的程序代码,而是将数据交互的描述告诉ABAB提供方法(而不是SQL语句)。这其中的ABCD的关系是互相补允的。也就是这三类人是可以同时开发的。理论上这样开发方式一定是有一个先后的关系。比如数据库与DO没有出来的情况下,D应该是没有办法工作的。但是我们可以找出一些技巧来使D可以一直在进行准备工作(迭代准备)。当然如果针对D的开发过程,他可能还会有分模块的概念,可是对AB的话,他们只有关系数据库的表以及存储过程要进行考虑,他们纯粹没有分模块的概念了。

 

上面的例子可以看出,分模板与分层开发的方式实际是融合在一起的。只要你是使用框架构建你的应用。那么你采用分模块开发的开发方式中一定也会有A开发DOBOPO时的先后顺序,实现对A个人来说,他也会要思索分层开发的问题。那么如果采用分层开发的开发方式,可能会有一部分人淡化了模块的概念,但不可能所有的人都将分模块的概念丢弃。

 

这种分层开发方式我想一定已经有很多的朋友们在不同的行业使用过,我想这种分层开发方式的最大的好处就是可以做到人员的分工。使每个人对应的特长得到充分的发挥。而可能出现的问题是在一个项目的实施中,并不是每一个人都可以接触到这个项目的各个层面,从对开发人员水平的提高有一点阻碍。不过可以通过不同项目之间的人员调配来实现开发人员水平的提升。

 

我想开发方式的变化是技术进步的一种体现。开发方式本身将会对开发的质量,效率以及产品(或项目)价值的产生很多方面的影响。对于一个项目来说也是非常重要的。我认为开发方式这种类型的提升毕将会影响到整个产品的开发过程。比如D对需求的影响,对测试在什么开发阶段就可以加入开发团队中,都会有对应的变化。我们的项目还只是在进行中,有很多的变化我想还需要总结。但是我的感觉是各个部门的联系由于开发过程的变化也产生了变化。变化的好坏无从说起,但是我们必须要提受变化。

0 0

相关博文

我的热门文章

img
取 消
img