Aug 29, 2008

POS开发

整个七八月,都在蓝竹做软件开发实习生,在TD的Application组。每天的事无非是学习、看文档,直到三周以后开始从两份代码拼出一个RF卡的demo。之后过了两周多,Michale让我在一个已有项目的基础上进行修改,以完成一个新的项目。最后项目完成不到80%的时候我应实习期满离开了团队。

开发是在STIP2.1(www.stip.org)上进行的,协议大体采用ISO8583标准。模块的调用采用了异步模式,再加上较为复杂的状态机模型,在编程和测试的时候都出现了很多问题,一步步解决下来,感觉自己在面对这种较为微观的问题时的能力有了一些的提高。

STIP是Small Terminal Interoperability Platform的简称,是在受限系统上进行JAVA开发的标准,目前主要应用在以下的领域,与基于C语言的开发相比,能较大地提高开发效率。
�� EFT-POS terminals(STIP EFT-POS Profile) �� ATM �� Payphones �� Parking Meters �� Utility Meters �� Mass transit terminals �� Vending Machines

STIP的架构大体如下图所示,我们Application组开发的就是Stiplet部分,也就是底层之上的应用:


STIP有专门用于界面描述的STIPML语言,类似于HTML。Stiplet的结构类似于MVC架构,其中Controller部分控制软件的状态和流程。STIP的事件模型如下图所示:

具体到项目的开发,虽然也进行总结,但由于保密协议,能贴的只有上面这些。开发中看了Michale和Command他们原来写的代码,学到了很多,也发现了自己太多的不足。很多地方只有靠扎实的基本功和清晰的思路才能完成,这些也只有在做过很多项目,经历了很多成功和失败后才能获得。

开发过程中我也发现了自己的一些缺点,总结下来由以下几点:
一是团队交流意识的欠缺,虽然在发现问题时能向老员工请教,但交流得还是不够,有些东西靠自己去发现会走很多弯路,费很多时间;在知识学习时尽量自己思考是不错的,但实际工作中有些问题还是要多多交流,对一些概念的理解上不能模糊。
二是基本功不扎实,具体体现在阅读和改写达三四千行的类和较为复杂的算法上。比如状态机和协议的解析,这些都需要有扎实的语言基础和清晰的思路。
三是在和客户沟通上应该及早发现问题,及时主动沟通,有些东西客户的文档里可能没有写,但在实际的情况下是相当重要的需求;有时用户的需求文档也许制作的流程并不规范,存在着一些相互矛盾的地方,这些都是要尤其注意的。

总得来说在蓝竹的实习学到了很多东西,也发现了自己的一些不足,不仅是在技术方面,也包括做事的态度,方式等等一些地方。谢谢帮助过我的Command、Michale和海啸。

Aug 8, 2008

有点困有点欣喜

今天就奥运开幕了吧,回去整下电视,不知能不能收到个台先。从500天倒计时到200天到100天,更多的是让人感觉到时间一点一点地流逝。昨天逛了豫园和外滩,虽然经常来上海,可如此通俗的地方却总是没啥心思逛,又一次倚在黄浦江边,突然发现东方明珠肥了好多。。。难道是我长高的缘故?蹉跎哦。

六月三十号到了上海,七月一号开始上班,一个多月过去。生活改变了很多,难以明述。状态一般,读书不像读书,工作不像工作;将来要做什么,现在在做什么,已经不去思考,跟着惯性这么走啊走,等开学了该会简单些吧。。

工作依然是coding,和原先的工作比起来省了些上下班时间但每天多出了两餐的花费,不赚不赔,依旧月光。饭卡里还有九天的午餐,工资还是没发。等下下周我就只能每天吃包子打发了,早饭三个小肉包一个菜包。。一块九。。午饭一个肉包一个菜包两个烧卖。。三块一。。再夸几句老板娘看看能不能还到三块。。晚饭。。就吃面吧。。我的生活那!

还是一小程序员,只是周围的人从八卦女人变成了男性的工程师,三十余岁光景承担着压力和责任的男人,只是男人无聊的时候也会看小说,谈起孩子来也露着笑。傻傻的IT人。

我的CPA。。。。具体说是八月份已经开始看了。只是昨天没看,前天也没看,前天的昨天和前天的前天也没看。。。OMG。。。搓。哎,看完奥运先!

奥运能不能提前下班哩,期待ing。
又是周末咯~~~~~~~~