软件开发实践报告 篇1
适用场景:android开发培训、团队协作项目实施
本文要点:文档编写规范学习、bug排查与解决、代码合并冲突处理
行文逻辑:准备培训→编写文档→排查bug→代码合并→总结提升
实践单位:山西西太行信息有限公司
实践时间:xx年7月1日-----xx年7月31日共31天
一、实践目的:综合利用所学的专业知识,培养软件开发的技能;掌握android操作系统的编程技巧,体会企业软件开发与学习过程中编写软件的不同;提高自身的创新意识与创新能力,促进团队之间的沟通协作,为早日踏上工作岗位打下坚实基础。
二、实践内容及感悟:
a) 实践前准备:自xx年清明节前后,我和我的组员就开始接受山西西太行信息有限公司的公开课的培训,当时经电子与计算机技术学院于一老师介绍由陈川老师主要带领我们重新温习了一遍关于java语言的基本知识,在这将近一个月的学习过程中我们逐渐重新拾起了即将被遗忘的java 知识,走出了以前认识上的误区,使我在java这一块又有了一定的的优势,为以后我们用java语言做开发打下了很好的基础。
自xx年5月1日,我们开始了真正的基于android操作系统的软件开发,虽然我们是利用课余时间进行学习,但是学习的效果真的很好,我们基本上晚上都会学到很晚才回宿舍。刚开始的时候我感到很不适应,感到学习的java语言不能够充分的的到利用,只能够用一些和系统相关的东西,但是随着学习的深入,我发现android操作系统也是一个很强大的手机操作系统,它有着很好的发展前景。并且移动互联网在在中国有着大的市场,所以我对我正在从事的android手机软件开发给予了很大的希望。这一个月的培训我们主要学习了android操作系统的五大系统组件:activity、service、sqlite、content provider、intent、broadcastrecever,同时我也学到了一些课堂上学不到得东西,对外面的市场的情况也有了更深刻的了解。
b) 实践过程:xx年7月1日到xx年7月31日是我正式暑假实践的时间段,
我们一行十六个人,大三的十一人大二的六人。我们被分了两个小组,每个小组八个人,上课时间一般是下午两点到五点半或者下午五点半到晚上八点半,其余的时间是我们自己写代码的时间。每天的任务量都有所不同,有时候把自己的任务做完了剩下的时间就自由支配。这一个月我们的主要任务是做一个腾讯微博android手机客户端,每天陈老师都会给我们传授一些做软件的经验和一些新的知识点,然后我们根据具体的要求编写文档,编写代码,第二天交由陈老师点评。
1) 可恶的文档:刚开始的时候感觉很不适应,以前上课就是学习关于编程的知识,但是做项目的第一天陈老师要求我们写文档,我们用的是gb8568—88格式的文档,第一次写即感觉很枯燥又感觉不会写。对于写文档我们都有想通的反应,就是莫名奇妙的反感,但是陈老师还是不依不饶的要求我们写要我们查资料,我们也很没办法只能按照要求写文档。但是由于我们不知道在文档上写些什么,陈老师看我们很为难也有所让步,带领我们写了软件需求说明书,后来我们依次写了概要设计说明书、详细设计说明书,后来又写了测试计划、用户手册。当时的感觉就是知道的知识太少,对着文档一个词一个词的硬挤,但是当文档写完的时候还是很有成就感的。
其实在写文档的过程中我们也渐渐的明白了文档的重要性,我们只是
在学校编写程序的时间久了习惯了上来就写代码的坏习惯,忽略了软件工程中的很重要的部分-----分析阶段和设计阶段。可能是因为以前做的软件都很小,一旦项目稍微大一点,那在编写代码阶段将付出不可估量的代价甚至最终将以失败告终。其实我们都学过软件工程,而且在考试的时候成绩还不是很差,但是到真正需要这些知识的时候我感觉却忘记了如何下手,这也就是所谓的纸上谈兵吧,所以我感觉大学生缺少的正是一种动手能力。知识本身没有价值,有价值的是运用知识解决问题。
2) 该死的bug:写完文档感觉写代码就轻松了,但是事与愿违啊。由于以前没做过开放平台的客户端,中间涉及到同腾讯公司微博开放平台接洽的问题,开始真的很不适应,不知道怎么下手。当知道下手的时候不免出现了各种各样的bug:腾讯服务器故障啦、实验室断网啦、模拟器连不上网啦、代码错误啦等等。为了弄好这些bug有时真是忙的焦头烂额,因为可能因为自己写的代码有问题导致大家的代码都不能运行,作为团队的一员谁都不想拖后腿。但有时候我也找不到问题所在,只能请高手指教或者找老师为我排忧解难。只可惜我当时掌握的排错方式只有打印输出和查看日志,根本没接触过单元测试。
其实多遇到一些bug还真不是坏事情,我现在开始明白编写代码最重要的是快速查找资料和排除错误的能力。首先我们不可能记住java语言或者android操作系统中所有的类和方法,所以能够快速找到我们所需要功能的类或者方法是很重要的。其次对于程序工作者来说遇到bug是很正常的事情,遇到不能解决的问题也是很常见的,重要的是能够正确的处理这些问题,并总结经验为以后的开发做好铺垫。遇到问题是要保持好的心态,千万不能焦躁,细心的一点点的分析问题,必的时候可以去网络上查找一些资料。但是不要遇到问题就上网查找,我感觉现在自己动手处理题很重要,上网查与吃现成饭没有本质的区别。网络可以帮我们开阔视野,但不要让网络阻碍了我们自我发展的机会。编写软件过程中要及时记录,这既可以让我们总结更多的经验,也可以为后来者提供一些宝贵的资料。毕竟都有成长的时候。
3) 痛苦的合并:这是我第一次这么正式的和这么多的人一起开发软件,更何况还有不认识的人在一个组,这给我们的沟通带来了很大的不便,尤其是最后代码合并的时候,很多的问题都一拥而上。我们当时用了一个软件visualsvn,这是一款团队开发的软件,当代码写的可以组合的时候我们就用这个软件在eclipse下共同开发。但开始的时候我们也会为了自己的代码正确而被迫修改别人的代码,最后弄得大家的代码不能够正确的运行,然后所有人都会停下来共同寻找错误,改正错误。这是团队开发时候很忌讳的问题,并且大家还都不好意思开口说谁错了,毕竟都不是很熟悉。直到大家开始慢慢适应这种团队开发之后,这样的情况才慢慢的被避免,效率也有所提高。
这次的团队开发让我明白,在团队开发中根本不存在自我,你所做的任何事情都应从整个团队出发,以团队的利益为重,不能自私。尤其是在团队中千万不能应付,你的应付很可能会给他人带来很多不便,甚至造成更大的损失。因此teamwork很重要,必须谨慎!
4) 唉,完美:每次写完代码让陈老师点评都会发现很多问题,有时候是代码
冗余度太大,有时候时代码不够安全,有时候是技术上不是很完善。对我们来说目标就是编写的软件能用,只要大家写的软件合并后能够正常运行,一切就ok了。但是这些是远远不够的,面向对象的思想和软件工程的一些常识我们都没涉及到,异步加载图片在陈老师讲之前我们也从来没有想到过,这些问题让我深深的体会到我们的创新能力的要求远远不够,我们对完美的渴求度远远不够。
没有最好,只有更好。这句话真是非常经典,作为软件开发者永远没有标准答案,没有最好的软件,只有不断的学习不断的追求才能发现好的东西,找到更好的创意。虽然最后腾讯微博客户端能够成功的运行了,但是我意识到我所掌握的知识远远不够,在这个实践中却是暴露了很多的问题。但愿天天能做到更好!
三、实践总结:
1、一个假期结束了,留下了很多的回忆,因为这个暑假是很有意义的。在这三十一天里每天都学到了新的知识,每天都遇到了新的问题,每天都在进步这,也让我有时间更加清晰的认识了软件工程这门课程和设计模式在软件开发中的重要性,编写代码知识软件开发的一小部分,只有真正的这种开发才能体会到软件工程的意义。
2、团队的凝聚力关系着每一个软件开发人员的发展前途,每一个人的努力都会得到回报,同样一个人的失误也会影响到整个团队,因此正确处理好人际关系是很重要的。
3、注重产品的价值,做好市场调研是成败的决定性因素。4、掌握好一门技术你可以吃饱,但是你要想很富有,必须懂得很多。队友可以帮助你一时帮不了一世,要注重个人能力发展!
软件开发实践报告 篇2
适用场景:软件开发岗位入职培训、项目参与经验总结
本文要点:模块设计与实现、Spring框架应用、Android开发测试
行文逻辑:介绍单位→参与项目→总结收获→撰写报告
一、实习单位介绍
XXX公司是一家专注于软件开发的科技公司,成立于20xx年。公司主要业务包括软件定制开发、软件系统集成、企业信息化咨询等。公司拥有一支技术精湛、经验丰富的开发团队,致力于为客户提供高质量、高效率的软件开发服务。
二、实习内容
作为一名软件开发实习生,我的主要工作内容是参与公司的软件开发项目,负责部分模块的设计和实现。在实习期间,我主要参与了两个项目的开发。
第一个项目是一个企业信息化系统,我负责其中一个模块的设计和实现。在这个项目中,我学习了如何使用Java语言进行Web开发,如何使用Spring框架进行项目开发,以及如何使用MySQL数据库进行数据存储和管理。通过这个项目,我不仅掌握了软件开发的基本流程和技术,还学会了如何与团队成员协作,如何与客户沟通。
第二个项目是一个移动应用开发项目,我负责其中一个模块的`设计和实现。在这个项目中,我学习了如何使用Android Studio进行移动应用开发,如何使用Java语言进行Android开发,以及如何使用SQLite数据库进行数据存储和管理。通过这个项目,我不仅掌握了移动应用开发的基本流程和技术,还学会了如何进行移动应用的测试和发布。
三、实习收获
通过这次实习,我不仅学到了很多软件开发的知识和技术,还学会了如何与团队成员协作、如何与客户沟通、如何进行项目管理等软技能。在实习期间,我也发现了自己的不足之处,比如在项目开发中需要更加注重代码的规范和可读性,在团队协作中需要更加注重沟通和协调。这些不足之处将成为我今后学习和成长的方向。
四、实习总结
通过这次实习,我对软件开发有了更深入的了解,也学到了很多实践经验。在未来的学习和工作中,我将继续努力,不断提升自己的技术水平和软技能,成为一名优秀的软件开发工程师。
软件开发实践报告 篇3
适用场景:企业软件开发学习、高校实践教学应用
本文要点:基于MFC的车牌识别系统设计、Android平台构架介绍、Java EE人事管理系统编码分析
一、实践目的:
了解企业级软件开发流程。规范自己编写代码格式。
二、实践时间:
**** 年*月**日 至 **** 年*月**日 共 **天
三、实践内容:
*月**日上午:来到东软。
*月**日下午:素质拓展——如何有效沟通
*月**日上午:基于MFC的车牌识别系统项目总体介绍
*月**日下午:基于MFC的UI架构介绍
*月**日上午:职业生涯规划
*月**日下午:基于MFC的车牌识别——消息映射
*月**日上午:基于MFC的车牌识别——文本框图
*月**日下午:素质拓展——团队共识
*月**日上午:压力与情绪管理
*月**日下午:素质拓展——团队共识
*月**日上午:Android平台构架介绍
*月**日下午:android框架介绍及天气日程通之需求讲解
*月**日:基于android的手机天气日程通系统设计及编码讲解
*月**日:Java EE体系系统介绍及基于Java EE的人事管理系统需求分析
*月**日:基于java EE的人事管理系统系统设计及编码分析
*月**日:素质拓展——如何度过大学生活
四、实践结果:
通过将近十天的实习,在此期间我们学习了:Oracle数据库PL SQL开发、 java web高级编程、Android应用开发 、高质量C++语言编程、网页编程等。我编写了基于MFC的学生注册管理小程序,Android的天气预报小程序和JAVA Web 登录验证系统。这正好把在学校学到的知识和实战应用结合了起来,既巩固了以前学的知识又能学到软件开发流程。
五、实践总结或体会:
*.通过**天的学习,学到了很多的知识,同时也认识到自己在很多方面也有很多的不足,今后我会更加努力去学习专业知识。
*.通过此次东软实习,使我们对企业级软件开发有了更加深入的理解。在实践过程中,同学们通过学习,实践对软件开发的认识更加深入。
*.短短**天的工作过程使我受益匪浅。不仅是在专业知识方面,最主要是在为人处事方面。社会在加速度地发生变化,对人才的`要求也越来越高,要用发展的眼光看问题,得不断提高思想认识,完善自己。
*.通过参加此次实习,培养了我们独立处世与工作的能力。大学生在社会实践过程中,通过独立生活、独立思考、独立自主的去面对问题,分析问题、解决问题,对社会的认识更加清晰。不管在实践过程中遇到挫折还是成功,对他们都是一种收获,明确了优势同时也发现了不足之处,面对社会更加自信。
*.在此次社会实践过程中,我们能够围绕学习软件范围,实践编程能力,锻炼了能力,展现了大学生的青春风采,达到了社会实践的目的。为总结经验,巩固和深化社会实践成果,我们将继续对此次社会实践活动进行深入细致的总结,加强社会实践经验的相互交流,共同探索社会实践的开展方式、方法。
