软件开发毕业实习报告

xxxx学院

毕业实习报告

关于在XX公司从事

软件开发的实习报告

一、实习目的

进一步了解java开发的相关知识,掌握java开发的基本技术,丰富java开发的实战经验。学习SQL的基础知识及正确的运用方法,和有用的相关技术,提高自己的工作效率。通过实习,培养我们综合运用Java语言的面向对象编程能力;培养我们动手能力;培养我们良好编程规范、编程方法;以便能较全面地理解、掌握和综合运用所学的知识,提高自身的编程能力;增强自己的团队协作意识,了解软件开发的思考角度和主要流程。为毕业之后能够更快地进入工作状态并且能够更好的工作,打好一定的基础。

二、实习单位及岗位介绍

1.实习单位介绍

中软国际长沙ETC是中软国际ETC继北京总部基地之后,在全国建立的第一家分基地,也是湖南省政府招商引资的重点支持项目之一。中软国际长沙ETC凭借对服务外包行业人才需求的深刻理解,以及在服务外包人才培训领域的丰富经验、良好的企业及院校合作资源,成为支持软件产业高速发展的人才战略组成部分,同时也是软件及外包业务快速发展的重要人才支持平台。

中软国际在专业学科建设、师资培养、实践教学、就业服务、基地共建等多个领域进行了卓有成效的合作和模式创新,为提升院校竞争力和知名度发挥了重要作用。长沙ETC从20##年4月份启动以来,至20##年4月,以接纳包括哈尔滨工业大学等知名院校在内的共计55所院校,培训学员数量5400多人。

2.实习岗位介绍

我在中软国际长沙ETC实习期间的岗位是Java软件工程师。实习期间参与人力资源管理系统的开发,根据开发规范和流程独立完成模块设计、编码、测试。编写相关应用系统的开发文档、数据库设计文档等。较为详细和系统的掌握了软件开发的知识体系。把所学知识与解决实际问题相联系,培养了自己发现问题、分析问题和解决问题的能力,从而提高了自己从事实际工作的能力。

三、实习内容及过程

1.Java基础知识

Java的基础知识对于一个Java软件工程师来说就好比是人的灵魂,现在的公司在招聘的时候很多都不在乎你会不会流行的技术,如(Struts、Hibernate、Spring、ibatis等)。他看重的是你的基础扎不扎实,对于网易、腾讯等大公司来说更是如此,我们在开发过程中运用了大量的Java基础知识,如类、对象、方法、成员变量、静态变量、封装、继承、多态、异常、接口、抽象类、IO流等等,所以一个系统对于Java编程基础的依赖便不言而喻。

2.MySQL、Oracle数据库

MySQL是最流行的开放源码SQL数据库管理系统,它是由MySQL AB公司开发、发布并支持的。MySQL AB是由多名MySQL开发人创办的一家商业公司。它是一家第二代开放源码公司,结合了开放源码价值取向、方法和成功的商业模型。Oracle则是以稳定性著称,在访问量和数据大量交换的服务器中,Oracle占了大臂的江山,在开发中主要用到了数据库的查询语句、数据库的关系、事物等。

3.Servlet和JSP

一个Servlet就是Java编程语言中的一个类,它被用来扩展服务器的性能,服务器上驻留着可以通过“请求-响应”编程模型来访问的应用程序。虽然Servlet可以对任何类型的请求产生响应,但通常只用来扩展Web服务器的应用程序。Java Servlet技术为这些应用程序定义了一个特定于HTTP的 Servlet类。javax.servlet和javax.servlet.http包为编写Servlet提供了接口和类。所有的Servlet都必须实现Servlet接口,该接口定义了生命周期方法。

JSP是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态技术标准。在传统的网页HTML文件(*.htm,*.html)中加入Java程序片段(Scriptlet)和JSP标签,就构成了JSP网页Java程序片段可以操纵数据库、重新定向网页以及发送E-mail等,实现建立动态网站所 需要的功能。所有程序操作都在服务器端执行,网络上传送给客户端的仅是得到的结果,这样大大降低了对客户浏览器的要求,即使客户浏览器端不支持Java, 也可以访问JSP网页 。

Java Servlet是JSP技术的基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。现在许多Web服务器都支持Servlet,即使不直接支持Servlet的Web服务器,也可以通过附件的应用服务器和模块来支持Servlet,这得益于Java的跨平台特性。另外,由于Servlet内部以线程方式提供提供服务,不必对于每个请求都启动一个进程,并且利用多线程机制可以同时为多个请求服务,因此Servlet的效率非常高 。

4.三大框架

Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

Spring 也表示是一个开源框架,是为了解决企业应用程序开发复杂性由Rod Johnson创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。

5.XX管理系统的开发

四、实习总结及体会

通过这次实习机会,我主要学习了以上这些java编程的技术,同时也明白了身处公司中如何更好地与同事配合,毕竟在软件开发中,你不可能一个人干完一个系统,大家都是通过svn等团队管理工具互相配合完成编程任务。在实习之前,我对软件开发的过程只有一个模糊地印象,以为只要把代码编写完之后就算基本上一个项目开发完毕了。然而通过这次实习,彻底颠覆了我的认知,我当时的认知无疑是非常幼稚和可笑的,完全的软件开发过程不只只是编写代码,在编写代码之前还有好多的事情要做,比如文档的编写、对项目进行需求分析、数据库设计等等。代码编写完成之后还要进行测试,以及人员的培训,这些都是必须做,也是必不可少的项目,甚至比代码的编写还重要。

我在开发期间遇到很多问题,但是我会试着到网络去找答案,如果实在找不到我会试着问问我的上级,或者跟一些朋友讨论一下,如果发现了这个问题的答案我会及时把它记录下来,方便以后遇到问题可以随时翻阅,我相信好记性不如烂笔头这句话,我也相信如果一个程序员写的代码没有错误那只能证明他没写过代码,虽然我比较懒,但我现在有空的时候都会对着电脑敲代码,我相信手感是敲出来的,你看10遍都不如你敲一遍来得印象深刻。

通过这次实习,我认识到了一个软件开发的完整的过程,为我今后进行实际的工作奠定了坚实的基础。首先,进入公司,你就是一名职业人,不再是一名学生,你要具备一名职业人应具备的素养,不迟到不早退是必然的,而且还要时刻严格要求自己,公司的规定要严格遵守。然后,在技术上也有了很大的提高,学习了很多公司自己的框架和工具,这都是一些前辈的宝贵经验。而且所作的软件应用性更强。所以,在今后的学习中我会严于律己,认真学习有关软件编程的课,为以后的工作打好坚实的基础。

 

第二篇:软件工程毕业实习报告

学   号     xxxxxxxx

 

实习报告

起止日期:   20##   3 4 日 至   20##  3 24

计算机与信息工程学院

20## 3 24

根据学校要求,本人在开学前三周参加了毕业前的实习工作。我所实习的工作单位是天津木牛流马科技发展有限公司。公司主要从事软件开发方面的一些工作,包括java,C#方面的开发。本人在公司主要从事的是java项目的开发,包括前期的需求分析以及开发。

公司强调以人为本,认为对员工的投资是最重要的投资,通过对员工的培训提高员工的工作能力,并可以在多方面体会到公司方面的关怀与照顾,非常感谢这段时间公司的培养。

一、对实习过程的回顾

作为一个软件开发技术公司,不同于一般的那种严肃的气氛,给人的感觉是比较的宽松,公司的人情味也比较浓。让我们很快的就能融入这个小家庭。

首先给我的任务就是熟悉企业的开发流程以及企业的编码规范,了解这些是非常重要的,对于团队开发来说,统一的编码规范是必须具备的,因为编码如果不统一的话,每个人都有自己的编码方式,开发出来的系统可用性是很差的,而且也不利于今后的维护以及二次开发。所以开始花了两天的时间来看编码规范。这里面还是很有学问的。

接下来还要学习公司所用到的技术。在学校的学习中,我主修的方向是java,除了学习java基础外,还学习了html,css,jquery等前台页面的技术,以及Struts,Hibernate,Spring框架技术,为企业开发已经做好了一些准备。公司需要我学习的技术为webservice和ibatis。通过学习,了解到WebService是一种可以接收从Internet或者Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。Ibatis是一个持久层框架,用于对数据的增删改查。 

由于我算是第一次正式的参与企业的开发,在经验、知识上必然有所欠缺,所以在开始阶段我们主要都是了解项目的背景知识,进一步学习基本的一些项目原理等。而后要进行设计工作,然后才是真正的工程开发过程,还有调试过程。再由于我们只是短期的社会实践工作,为了所做的工作在以后能真正为人所用,我们在走之前还要留下完善的相关文档。短短的一个星期,要分成这么多的阶段,而任务就摆在那,每一阶段的时间可想而知是多么的宝贵。

我在公司实习期主要做的工作就是开发一个小的项目申报系统。

这个项目的需求大致为:申报单位模块、管理机构模块、评审专家模块。最主要的就是项目申报模块。其中包括文件管理栏目、项目申报栏目、项目开题栏目、项目验收栏目、项目报奖栏目、项目查询栏目、用户信息栏目。管理机构模块主要包括:文件管理栏目、项目申报栏目、中期检查栏目、报奖管理栏目、项目验收栏目、项目查询栏目、项目统计表栏目、成果评估栏目、用户信息管理栏目。

虽然实践的时间比较的短暂,但我还是有了不小的收获,最大的收获是了解了一些软 件开发的程序化生产过程。还有就是能有机会向开发部门的职员的一丝不苟、兢兢业业的敬业精神学习。相信这些都将给我以后的学习和工作带来不小的帮助。

二、专业知识在实习过程中的应用

整个项目用的是struts2+ibatis+Spring开发的。业务层使用轻量级的框架Spring实现业务组件的管理,持久层采用ibatis技术实现业务层和数据库的交互。Web部分采用基于MVC模式的Struts2框架实现,表现层用JSP与JSTL、EL相结合实现。其中也会用到图表技术以及ajax技术。

我的工作任务并不是很多,项目的数据库设计完成后,页面有专人来负责,首先看懂页面及需求,接下来编写框架代码,有了框架代码,项目基本上已经可以进行开发了。在开发过程中,越到了很多这样那样的问题,比如说写前台的验证和前台的一些特效,这就需要前台的css技术和jquery技术,当然之前的学习还是不够的,所以就一边做一边学,其中包括table的特效(隔行特效,鼠标移入移出特效),一些动画特效,以及jquery的前台验证。还有ajax与服务器的异步交互,这方面的知识以前接触的还是比较少,然后以json格式返回前台做输出,以达到不刷新页面就可以显示不同数据的效果。

三、心得体会与经验总结

如今眼看在公司实习已经接近一个月了,从这次活动的成果上来看,还是比较成功的。辛勤的工作换来的是累累的硕果,不管是对于企业、学校还是我们自己。

首先我要在较短的时间内,克服各种困难,从最初的阅读文档,设计、开发,到最后的调试,完善,我也都按质按量的完成了,完成预定的工程开发任务,通过了公司的项目小组的验收,也得到了领导的一致好评,实现了最初为企业作实际共享的目标。

其次在这个过程中,我也通过了深入的调查、讨论,以对一个大型软件开发企业的结构、管理、文化、气氛有了比较详细的了解。而通过我在公司中的工作上的良好表现,还有生活中与公司员工的交流,我也在他们面前展现了了一个积极进取、勇于创新形象,起到了加强学校与企业双向交流的作用。

再有的一点就是,通过这次活动,让我们理论联系实际,在软件工程的开发过程、数据库的开发、分布式计算等工程实践经验上有了很大的提高。在公司中也培养了初步的大型项目合作开发经验,这一些都很好的增强了我们的个人的能力和并提高了自身的素质。

类似的以上的收获还有很多很多,但在活动结束的这个时候,仔细考虑一下,还是有一些地经验教训的。

四、几点不足与努力方向

这次实习也是我初次不如社会工作的一次经验,当然会有很多的不足之处,比如说为人处事方面,由于社会经验还是略显不足,所以在工作中难免会有和同事意见不同的时候却没有以最好的方式处理,这里深深地表示歉意,还有就是技术方面的不足,通过这次实习我明白了从学校学习的知识不足以面对以后的工作,所以还要更加的努力才行!

相关推荐