项目总结

来源:互联网 发布:php屏蔽js广告 编辑:程序博客网 时间:2024/05/01 18:51
    今天终于把项目搞定,总结一下。
    这是一个基于SDI的串口通信上位机程序,开始感觉根本没什么难度,等真正动手实施才会知道总有问题在等着你。
    开始的项目需求老板就没整理好,害得我改了好几回,小公司的缺陷!不怨天尤人了,说正题。先是以前对串口操作理解不深,还好从网上down了个CSerialPort类看了看,有了个大概的了解。最耗时间的是在传输一个双字节的命令时,开始对串口中数据的传输不了解,还好在请教csdn上的大牛们以后弄明白了,数据是按字节发送(还不是很清楚是不是跟待发送的数据类型有关,待会再试一下),字节在传输时都转为ASII码传送,双字节也就是两个字节,其实很简单的事情呵呵。借助vspdconfig和UartAssist调试数据通信成功连接,主要功能就差不多了。不过这时又发现一个问题,每次程序启动后第一次接收数据总是有误,跟踪调试,感觉是在接受到数据后串口线程和主线程有争夺资源的情况,于是试试在串口线程向主线程发送数据处理要求后,串口线程Sleep(0)一下,果然成功,有点小成就感呵呵。至此,数据通信算是结束,数据处理也就是在回调函数中写些处理语句,没什么可说的。
    然后是界面的设计,考虑到用户的可操作性,还是费了一番功夫。先是要自绘一个圆形按钮类,在其中设置两种颜色对应按钮的状态,因为按钮是做阀门用,要显示阀门的通断。界面的框架是,左边一个DialogBar,右边一个FormView。这个该死的DialogBar可是花了我不少时间,在上面控制控制比较麻烦,不过用过了就知道了,正所谓难者不会,会者不难。经过几次和老板的交流,总算吧界面定下来了。
    最后当然是测试,先是测试功能实现,虽然只是做上位机,但是程序不是独立的,失去了下位机就失去了意义。在测试通信的过程中,也进一步坚定了以后往底层发展的决心。始终觉得,任何事都要从整体出发,因为只了解局部,就意味着不可能完美掌握这个局部。最后检查一下内存泄露,整理一下注释,就OK了。
    最后再总结一下开发过程。第一步,项目需求必须尽可能详细,明确,有可能的话应该随时与客户保持交流;第二,项目的功能划分及总体规划,要做到开发过程中,有清晰的层次结构;第三,测试不能马虎,要考虑程序的容错功能,也就是所谓的健壮性。
    再说点最近的感悟,最近看到一个92的小孩,说自己很牛,精通ASP什么的,大有睥睨群雄之势。可能他确实很牛,那不是我的事,这只让我觉得,人,不管什么时候,都不能浮躁,当然也决不可妄自菲薄,给自己准确的定位。努力未必有回报,放弃必然失败,自勉!
    不知道她现在有没下班,她真的是一个很好的女孩。但愿我能有机会给她幸福,这也是我不断前进的动力之一,你能感觉到吗?Sally。