7月后的三个月主要的工作就是教务系统。
这个系统里,我们充当了客户和开发人员,自己给自己提供需求,自己根据需求开发系统。从头到尾的经历了一个稍大型软件的出生过程。学到很多,技术的和非技术的。
首先是需求分析,需求是一个软件的存在意义和核心。 需求决定了一个软件的基本面貌和功能。所以总的来说需求是很令人纠结的,需求的变动,会让系统很多地方推翻重做。因此一开始的需求一定要尽量明白和准确。但是,完全符合用户的需求分析是不现实的,所以要力求尽量!
让需求更明了的方法可以是和客户多沟通、多出几版界面原型等等,界面更直观,更方便客户了解需求和表达需求。因为好多客户自己都不知道自己要的是什么,有了基本界面,就不再是虚拟的需求了,更加实际。
与客户的沟通交流到位后,系统开发的内部小组之间的需求分配,接口需求也是个大问题,这时的需求就得更加细致,涉及到具体数据,必须配有文档说明。我们比较喜欢的口头交流在较大的系统中根本不能用,像一个稍微大点的教务,通过口头描述根本就说不清楚,而且重复量大,费时费力。
带我们的项目经理学宇和米老师是客户。我们的需求来源与自己对学校教务的理解,正方的系统和项目经理。不明确的地方一定要及时和同学和老师交流和讨论,否则随便确立之后就开始概要和详细设计,一旦发现需求错误,就得从头来过。做好需求,是磨刀不误砍柴工。
这次我们组负责的部分需求比较简单明了,没出现什么大的返工,一些特别复杂,用处不大的地方直接忽略了,实用为主。其他有几个组被需求问题折磨的异常痛苦,我见识了,也挺有感触。
然后是合作。比起上次的机房收费系统,这次的教务才算是真正意义上的合作,小组内部的合作,组与组之间的合作,遇到很多问题,也都让我学到很多。
小组内部的交流,分工,代码的书写,会出现好多“奇形怪状”的问题。技术上好解决,非技术的问题(比如看别人写的代码不顺眼),也非常锻炼人,合作可以让自己学到很多与人交流功能的方法。语气、用词都需要斟酌。毕竟不是自己在做,而且其他人也不可能跟自己想 的一模一样,互相商量,磨合非常重要。这方面,好好提高!
组之间的合作问题就是接口和引用了,接口提供要明确,而且需要沟通,不能只顾自己的需求而增加别人的负担。
最后就是纯技术方面,好多技术问题都是以前没有做过的,这时就用到即学式了,上网找巨人,看别人的方案,博客,有时候找一个问题,就像大海捞针,总是看不到跟自己一样的。多种方法,一次次调试,很纠结,等做出来了,回头看看,想想,其实也就那么回事。
技术问题,上网搜资料是最快捷,最高效的方法之一。虽然很多用不上,但主要是找思路,而不是非要找到可用的源代码,思路找到了,剩下的细节就靠自己分析了。技术最好上专业网站,除个人博客之外,要尝试上msdn找。这点我得好好改改,不能总想现成,要从根本出发,一般来说,技术的根本都在msdn上。所以msdn还是经常逛逛的好。
大面的问题就这些了,细节就不多说了。到目前,教务系统基本上是跑起来了,但还有些问题,等下一个任务结束之后再回来整理了。
大学里,也可以说是学生生涯里的最后一个暑假到今天为止正式结束。明天就开学了。明天的暑假时节,我们就毕业了。最后一年了,好好珍惜。。。