现在还能记得刚刚得知外派微软的Trip-X项目的兴奋,到现在,进入项目组有3个多星期的时间了,还没有进入项目组的时候,就已经申请了这个博客,现在才开始写第一篇,真觉得挺懒的。
我们公司一共来了4个人,加上恒生的3个人,一起作为一个小组,开发Trip-X其中的一个MLS模块。其实这个模块在香港已经有了一期开发,现在做的是二期开发,因为变动比较大,二期基本上是全新的一次开发。
因为工作不久的原因,这算是我做过的第一次大的项目开发,没想到上天这么眷恋我,第一次就碰上了进入微软的项目组的机会,还没有进来时是兴奋,现在是庆幸,虽然才进来不久,发现在这里学到了太多太多的东西。
首先说设计,以前做的是小项目,2、3个人就做一个项目的开发,先不说碰到问题如何解决,就说开发模式都完全不一样。以前的开发思路是先根据客户的需求把产品做出来,很少的时候或许先写点书面上的需求文档,就算写出来,在开发的时候也是基本不看的。因为客户本身要求也不高,都是一些小公司,一开始也提不出全面的需求。然后我们再根据客户的需求做做改改,差不多时间了,项目就结束了。后期的改动基本和程序无关,客户关心的重点已经在界面上了,这里好看与否,那里要加点东西,搞得美工相当郁闷。
而在这里,巨大的反差就体现出来了,这个项目一共五六十人,光我们小组就7人,而且项目进行到现在,3个多星期,才刚刚完成了逻辑设计,而前面的需求分析都是我们来到项目组的时候就已经做出来了。
通过这个项目,我觉得可能微软做项目的流程都差不多,根据标书和客户方的意见做出跟详细的需求分析,然后和是三大设计(概要设计,逻辑设计和物理设计),最后才是编码工作。
就说说我自己的体会吧,以前都没见过这么详细的需求分析,根据这个需求分析,我们小组的3个负责人,一个星期的时间就能作出逻辑设计的初稿(微软提供设计模板)。逻辑设计里包括流程图,对象关系图,E-R图,时序图,数据字典,接口等等,看完这个逻辑设计,如果写程序一段时间的人,基本都能感觉到后面的代码应该如何写了,反正给我的是震惊。
我们的MLS模块建立在微软Dynamics CRM 3.0基础上,由于以前做过CRM,对微软的设计思路有了一定理解,而且反过来对CRM也加深了理解,发现CRM不仅可以作为单独的客户关系管理的产品,在我们这个模块中,还作为数据层的数据存取工作,感觉有点面向数据库设计对象的意思了。