自从个人版机房收费系统完成之后,因为马上要期末考试,而且当时也没找足合作的伙伴,所以就一直将合作的事给搁置了,直到暑假,才重新组队,进行开发,现在我就说说自找米老师到现在,在这个合作中我所经历的,我所想到的,我所遇到的问题,我们的解决方式。
那天上午去找老师的时候,老师看了我三个人,然后指了指我,让我当项目组长,两男一女,这时就是女生应该锻炼的时候了,当时感觉说不上来,有一点诧异,有一点兴奋,但又觉得一切都很平常,我也不知道为什么会是这样的感觉。。。
问题一:第一次合作,无从下手
老师指点迷津:去找师傅
我的做法:
大致将合作过程中要做的事情,要商讨的问题,要注意的事情,一一在纸上列出来,便于分析。并找了师傅,先给师傅说了说我自己的想法,将上午写的文档简要跟师傅说了说。
师傅的建议:在开发中尽量减少面对面的交流,更多的是采取文档交流;编码的过程中注意注释齐全,命名规范。
问题二:数据库如何确定
我的做法:组员一起商讨,按照三范式原则,重新设计数据库,但并不是说就一定要符合三范式,而是尽量靠近三范式。
问题三:类图、时序图、用例图的顺序,即先画哪种图,三层中的类图如何确定
我的做法:先画用例图,确定机房收费系统的功能,然后分层,先将简单的外观模式和抽象工厂+反射+配置文件加进去。对于U层,一个窗体一个类,对于Facade,跟窗体紧密联合,一个窗体对应一个外观,对于B层,我将机房收费系统所需要的功能进行了整理,按照功能分类,对于D层,与数据库对应,一张表对应一个类。时序图留到等设计模式添加进去后再画。
问题四:设计模式的确定和实现
我的做法:这个问题对我们来说,我觉得挺困难的,刚开始,我们讨论了几个小时,却什么也没说上来,反而觉得越来越乱,无从下手。主要是不知道这个系统能用哪些设计模式,这些设计模式应该用在哪里,又应该怎么去写代码,如果我不能确定代码怎么写,对应设计模式的类的属性和方法就不能确定,那写B层的合作伙伴就有点纠结了,因为设计模式大多是在B层。。。后来,我们浏览了身边人的博客,又重新讨论,确定设计模式,确定应该用在哪里,光设计模式的确定、这些设计模式的应用应该在哪里我们就花了一天的时间。剩下的事情,就是如何用代码实现这些设计模式,就拿个人版的机房收费系统练手,去实现这些设计模式。
问题五:EA类图导出代码,形成系统框架,出现引用问题
我的做法:依据类图导出框架,出现引用问题,不止是一遍。第一遍导出的类图代码需要引用的地方全都引用不了,具体什么原因没有找到,只好决定从来。第二遍导出的类图实体层出现错误,引用不了,问了胖胖,找到原因,重新导出代码。
问题六:写B层的张磊磊看了我的类图和时序图之后,说看不懂
我的做法:当时有点不明白为什么他看不懂,讨论后,找到了原因,原因有二,第一,我有注释,但是注释的不够详细,表达不明确,我自己能明白,但是他不能明白。第二,机房收费系统我们做了好几次了,个人有个人的实现方法,个人有个人的思路,正式因为思路不同,导致他不明白我的思路。于是我只好重新补充设计图,注释详细。
从开始到现在,遇到的问题就是这些了,这中间,算比较顺利的就是SVN的搭建了,在我们合作过程中的讨论过程中,我也发现了一些我们个人行为存在的一些问题。
比如说我吧,在讨论过程中,前期当别人指出图中出现的问题时,不管是真的有问题还是没有问题,心态不平和,但还好,现在当指出有地方不合理的时候,我也能认真查看,然后耐心解释为什么是这样。
比如说磊磊吧,有次我们在讨论的时候,磊磊一拍桌子站起来,就指着我说这个怎么怎么,后来我跟他说,这样有什么不好,磊磊也改正了,在后来的讨论中,磊磊也能认真听他人的说法,也能等别人将一个问题解释清楚,表明问题后再说自己的想法。
至于昌哥,就是说话慢了点,想一个问题的时候要想好一会外,也能说明自己的想法,听取我们的想法,然后一起商议。
合作还在继续,我们还在完善自己。。。。