第一个与其他人合作开发的项目,小组成员之间的相互学习是固不可少的部分,通过这次的合作开发,还是收获了很多,需要好好回味一番。
通过查看今目标中的项目管理,还是发现这次合作开发的进度安排存在很大的问题,4月6号开始,也许是因为当时准备自考的原因,而组长平时也会上课,项目进行期间,几次延期,整个项目进行几乎花费一个月的时间。尽管存在“计划赶不上变化”这样的俗语,但“凡事预则立,不预则废”典故告诉我们充分的计划、准备工作是我们获得成功的关键。
第一次的合作还是缺乏很多经验,当然有了个人版的基础下,需求以及业务比较清晰,其中细节问题也是在讨论之下一一解决,这次的开发要求尽可能的加设计模式,因此在设计阶段的后期,经过成员之间的几次交流,确定了要添加的设计模式:抽象工厂、单例、外观、观察者、策略、职责链。相应UML图上的工作还是交给了组长完成,始终认为组长在这次开发过程中学习的东西是最多的,不仅要负责起整个开发过程中的协调,而且承担的设计阶段的工作也是最多的,这份职责,既是压力,也是动力。
由于对EnterpriseArchitect软件的使用不熟悉,组长平时也要上一些专业课,设计阶段总体时间大概用了半个月,这期间我们两个组员并没有多少实际工作的实施,这也是导致了这次合作开发时间较长的原因。
我负责工厂、接口、D层的内容,有了设计阶段的基础,以及通过EnterpriseArchitect这款软件导出代码的功能,系统的整体框架已经实现,真正的编码变得较为容易,五天时间足可以完成自己负责的部分。
现在才意识到编程规范的重要性,每个人都有每个人的习惯,都有自己的一套自认为很规范的规范,这也就形成了自己的编程风格。在这一阶段开始之前,很有必要强调出一份适用于此次项目的编程规范,统一风格。其中包括变量、方法、类的命名极其前缀、后缀的使用等内容,当然也少不了注释上的规范。第三次做同样的系统,功能上不想多说,代码的实现还是为了让别人更容易读懂,因此有一个好的规范变得尤为重要。
此阶段也是发现问题最多的阶段,测试过程中也会发现很多设计中的不足,其中也会遇到各种各样的问题,而测试的目的正是为了发现他们。此次测试过程也正体现了编码实现中规范的重要性,我们不得不去读别人写的代码,明白整个系统的调用过程。
而此次测试暴露出的很多是传参上的问题,系统采用三层架构,参数成为几个层次协调合作实现系统功能的关键,就需要确定好它的个数、类型、如果是实体类,要确定到实体类哪几个属性、以及在哪个层进行赋值等内容。我也在想这个本应在系统设计阶段就应处理好的问题到了测试才会发现的原因。最终还是找到了答案——文档,整个项目进程没有很好的达到文档驱动这一要求,注重起文档,减少成员之间的交流,能够很好的提高工作效率。
总而言之,这次测试还是提高了自己对程序的调错能力,了解错误原因、确定出错位置,然后进行改正,断点调试是我们的有利工具,其过程也正带动的提高了我们阅读别人代码的能力。
机房收费系统合作版完工意味着CS阶段基础学习内容的结束,其中很多内容还是需要继续学习、深入、总结。我也常常在想如果处于组长的身份我该怎样协调自己的组员才能克服开发中的一些问题,充分调动起每个人,尽管这次没有得到这次机会,但通过这次的历练,我想我们应该站的更高一些去看待这些问题,得到解决的方法,今后总会有我们的舞台,有我们的精彩。