关于软件开发过程的请教

大家好,
我参加工作快4年了,参与j2ee的开发工作也快3年了。我呆过的软件公司都比较小,开发也不规范。现在所在的公司,主要是面向企业管理软件方向,如进销存系统,制造执行系统等。目前的一个项目,是开发一个制造执行系统,团队人员不是很多,1个项目经理,1个业务专家兼需求分析,设计师(目前没有这个人员存在),2-3个程序员。目前项目正在需求转设计阶段。我以往只是做程序员的角色,现在可能要参与整个项目的设计,感觉跟业务专家的沟通有点困难。我不是非常明白业务专家兼需求分析需要承担什么工作,及应该交付哪些文档给设计师,下面是我对整个软件开发过程的了解,请有经验的人指导,先谢过了。

1,公司业务专家与客户业务专家确定业务流程,
2,公司业务专家与美工画出操作界面或者通过use case图和客户确认软件功能(软件功能这个词不知道用的是不是准确?或者还有其他更多内容?)
3,项目经理根据步骤2与业务专家合作写出需求开发规则说明书
4,设计师通过需求规格说明书,利用四色模型进行业务分析,(我不知道四色模型的运用是不是出现在这个阶段?这个是不是需要设计师来做?)
5,设计师利用四色模型和DDD方法确定领域对象。
6,设计师写出开发文档(模块说明,类说明等)
7,程序员开发文档进行编码实现。

最后还有2个问题,
1,关于我以后要提高的地方。我现在对主流框架,spring,hibernate,jsf的原理和运用已经比较熟悉,并对设计模式有一定了解及运用。我以后是不是应该增加对DDD的学习,和它思想的了解,然后向设计师的方向发展。
2,关于四色模型与DDD。四色模型的建立对DDD方法的运用是一个必须的存在还是辅助的,可有可无的形式?

谢谢。

>四色模型的建立对DDD方法一个必须的存在还是辅助的
不是必须,也不是辅助,使用不同方法能够帮助我们从不同侧面来达到快而准认识事物本质,否则偏听偏信,不能兼听则明啊。


>我以后是不是应该增加对DDD的学习,和它思想的了解,然后向设计师的方向发展。
与需求直接打交道的程序员都要学习DDD等oo分析方法,否则就是使用OO语言,就是无源之水。