个人觉得设计人员可以分为四种类型:模块设计人员、框架设计人员、专业领域设计人员、系统设计人员,这四种类型的设计人员并没有什么绝对的谁强谁弱,只能说各有千秋吧,但一定程度上来讲,四种类型之间还是存在着一些关联,来看看这四类设计人员的专注点和关联吧:
1、模块设计人员
模块设计人员更加专注于模块的详细设计方面,这是个细活来着,模块设计人员需要对基于架构的模块实现有充足的考虑,而这就要求模块设计人员在代码的实现上有充足的经验,需要把握在模块代码实现上可能碰到的问题,在设计时需要做出充分的考虑,好的模块设计基本上可以让模块的实现人员依据设计而很轻松的完成代码。
从这些来看,模块设计人员需要首先对技术架构有较深的理解,而同时还需要掌握好将业务功能转化为实现的技巧,这需要建立在充足的编码经验之上,只有在具备充足的编码经验的基础上,才能知道在模块设计中需要体现哪些要素,而这些要素将构成代码实现的基础。
2、框架设计人员
框架设计人员同样有技术框架和业务框架两种之分,技术框架的设计人员需要有充足的框架使用和深入学习的经验,框架是面向使用的,它只是半成品,所以框架设计时特别体现功力的是框架的扩充能力,同时框架做为基础设施,怎么样提升开发速度是非常重要的,这里要求的是框架设计人员对于框架模式的深入理解以及基于框架的开发的熟练掌握,这是非常考虑功底的,因为框架通常来讲也就限制了模块在具体实现时的设计思路;业务框架的设计人员则更加强调对于业务的深入理解。
总结而言,就是框架设计人员需要具备充足的框架使用经验、对于框架遵循的设计模式的深入理解以及基于框架进行开发过程的深入理解。
3、专业领域设计人员
专业领域设计人员需要具备的是专业的领域知识,而这种人通常都是某一类系统的专家级的人物,象工作流系统的设计人员、门户系统的设计人员,专业领域的设计人员需要对该领域的知识有深入的理解,同时由于专业系统多数是直接面向客户的,需要把握使用该系统的客户的业务需求,就像做工作流系统,可能纯粹以实现来说,非常多的人都可以设计出一个工作流系统,但真的能得到客户的认可吗?那就难说了,专业领域的设计人员需要掌握实现专业系统的多种方法、同时需要把握其中的关键点以及客户的关键需求。
4、系统设计人员
系统设计人员又可称为架构设计人员,架构设计人员通常会精通系统常见的几种架构的设计方法,而面向不同的项目选择一种最为适合的架构设计,架构设计人员需要从大局把握整个项目/产品,解决产品中的核心问题,这也是架构设计中最关键的一点,寻找对于整个项目/产品而言的关键问题域,架构设计人员需要掌握多种实现方法,同时需要根据项目时间/项目团队等量身选择适合的架构,这是架构设计中最难的一点。
关联程度上来讲,基本上此四类设计人员还是有个发展的趋势:模块设计人员----(框架设计人员----)专业领域设计人员----系统设计人员,其中也许不会经过框架设计人员这个阶段,但这并不能表明系统设计人员就一定比模块设计人员,每个领域都有顶尖的人物,呵呵,各有千秋的发展.....
本来是想总结下各类设计人员应该具备的技能,方便有兴趣往该方向发展的同学们努力,不过最终没写好,以后再以表格的形式来列列,这篇文章写的有些凌乱,如果有兴趣的话大家多交流交流.....