暑假社会实践报告

【www.unjs.com - 社会实践报告】
  

暑假社会实践报告

今年暑假,我参加了齐鲁软件设计大赛并将它作为这个暑假的社会实践,。虽说是暑假社会实践,但是从四月份报名那天起我的实践活动就已经算是开始了。既然这样,我就从报名后开始写起。

2011年4月,我和同班的其他四名同学组成名为“Hello World”的参赛队伍,报名参加了齐鲁软件大赛。经过商量,我们选择了“电子地图应用”命题。至此,我们的实践活动正式开始。

然而,这次比赛并没有我们想象的那样简单,刚一拿到比赛命题就让我们有些措手不及。

这次大赛共有十五个命题,可拿到手后却发现居然都很陌生。作为只学了半年C++和半年数据结构的我们来说,那些诸如智能手机程序设计、分布式网络资源检索等命题是那样的遥不可及。经过几天的考虑,我们认为 “电子地图应用”这个命题可以用C++语言实现,因而选择了它。

命题一确定,我就通过网络和到图书馆等途径阅读了大量资料。首先要解决的便是地图数据的来源和处理。原本这是个很简单的问题,谷歌地图、百度地图等都提供了相关的API,可供开发人员方便的使用地图数据和实现一些功能。但是这样一来,开发的作品必然受到API提供者的制约,只能在它原有的基础上实现一些新的功能,缺乏独立性。经过一段是间的研究,我终于决定另辟蹊径,采用MapObjects来实现。MapObjects是一种处理多种格式地图数据的com组件,提供了大量的函数接口来实现多种多样的功能。由于封装了大量的类并支持多种本地文件数据,它使得程序的开发摆脱了数据服务器的限制进而实现脱机功能。

不过,关于MapObjects的书真是少而且不少是基于VB的,我淘遍了学校的图书馆也只找到了一本合适的。于是,在接下来的一段时间里我便利用课余时间一边自学,一边慢慢尝试着实现之前构思好的各种功能。

功能问题解决了,接下来就是界面的开发问题,。由于MFC本身开发出的界面非常死板难看,因而不得不考虑采用其他的美化方法。本打算使用WPF技术,但是由于其不支持C++只得放弃。后来只得从网上找到一种名“DSkinLite”的界面库将就着用。DSkinLite采用图片和XML格式代码相结合的方式实现界面外观,但是没有关于代码语法的说明,乍一看上去一头雾水。无奈之下,我只好用最笨的办法:打开它附带的示例的代码一行一行地分析,寻找规律。功夫不负有心人,研究了几天后,我终于大概摸清了其中的规律。

因为学校要求我们交软件雏形,所以我决定先行将雏形打包成安装包的形式上交。但是,当我把打包好的程序在别的电脑上安装测试时,意想不到的事情发生了。在我电脑上没有任何问题的程序,一到别的电脑上就崩溃,这令我很苦恼。最麻烦的是,我又认真地彻底地调试了一次,将所有的错误、异常信息都处理完毕后,程序却依然崩溃。我抓狂了,有错误不可怕,可怕的是不知道错在哪里。在各方查找资料无果后,我曾一度要放弃,幸好后来一次偶然的机会让我发现了问题所在。原来,导致该问题的还是一个异常(句柄冲突),只是因为编译程序的错误检测深度不够,默认不报告此类异常造成的。再重新设置编译程序后,那个异常终于无处躲藏,并最终得到解决。

雏形有了,但是后面的工作却无法进行下去了。由于种种原因,我们队各项分工的进度未能协调好,最终导致后面的工作停滞。眼看暑假就要结束了,但有些工作甚至还未开始。在完成作品无望后,我们不得不遗憾的放弃。

这次社会实践虽然以失败告终,但我们依然不能否认他的价值。首先,我明白了团队合作的重要性。一个团队,只有明确分工紧密合作才能保证工作的顺利进行。我们的团队正是缺乏合作与协调才导致了失败的发生。其次,就我个人而言我不但通过自学学会了许多课本之外的知识,还通过大量的实践加强了对所学知识的理解和运用,积累了宝贵的经验。无论这次实践的结果如何,我都受益匪浅。

猜你喜欢