1、中北大学电子与计算机科学技术学院实习报告实习报告实习单位(地点):实习时间:2011年 12 月实习指导教师: 学生学号: 学生姓名: 1实习单位总体印象在刚进这家公司时,对一切不算了解,不是很懂公司所开发的项目,我需要去慢慢的熟悉流程,熟悉业务。刚开始两天就是公司的老师对我们进行讲课,并熟悉Java得基本功能,并熟悉环境。讲课时,并不只是单纯的讲理论内容,还给我们自己时间去敲代码,让我们自己去实现功能,在这个过程中我们学到了很多,这些都是在学校体会不到的,有时我自已看,遇到不懂的就问。接触这种实际工作的人,才会真正的知道一个企业的项目之大,刚开始令人看了眼花缭乱,看一会就会晕,一个页面好几千
2、行代码。甚至更多。一开始什么都不懂,也不懂业务。令我感动的是每当我我有一点不明白的地方,老师都会不烦其劳的与我讲清楚,直到我弄明白为止。在这次实习中,真真切切的体会到了在公司中我们应该是怎么样的。通过这次实习,我更能体会到实际工作的流程,对以后的就业有了很大的帮助。2所学专业知识与实习内容结合的认识(1)实习内容我的工作岗位是软件开发工程师实习,就是程序代码的编写。熟悉了基本框架,基本流程之后,我也成为工作之中的一员,开始试着去写代码,去改bug,去写一些新的小模块。在这一段时间里,主要任务有巩固之前所学的,对常见的错误要一看即知,并养成认真仔细的工作作风。在其后的工作中我都有保持谦虚的心态。
3、在种状态下我进步很快,花了比别少了将近一半的时就达到目标了。在这个项目中我们前端用的是Ext框架,它具有友好的界面功能。让我们做起来更简单。在前端我们通过控件中的属性和在Spring里配置好的id值,可以去调用业务中的方法,业务中方法又可以去调用底层实现的方法,或者我们已包装好的方法。最后是底层的方法去调用数据库中的数据以呈现我页面上。在这个项目中我们用的环境是eclipse,数据库是Oracle。主要的框架技术在前台用的是 Ext框架,后台用的是Hibernate+Spring,用的MVC模式,包结构非常清楚,在每个包里边都包括四部分,实体类,接口,接口的实现类,还有流序列化。在Web部分也
4、是如此,也都有对应的包,对应的jsp去调用对应的js。那么接下来我就对这几分部分作一个讲解吧。首先是Ext框架,ExtJS是一种主要用于创建前端用户界面,是一个与后台技术无关的前端ajax框架。 ExtJS可以用来开发RIA也即富客户端的AJAX应用,是一个用javascript写的,因此,可以把ExtJS用在.Net、Java、Php等各种开发语言开发的应用中。ExtJs最开始基于YUI技术,由开发人员JackSlocum开发,通过参考JavaSwing等机制来组织可视化组件,无论从UI界面上CSS样式的应用,到数据解析上的异常处理,都可算是一款不可多得的JavaScript客户端技术的精品
5、。JQuery、 Prototype和YUI都属于非常核心的JS库。虽然YUI,还有最近的JQuery,都给自己构建了一系列的UI器件(Widget),不过却没有一个真正的整合好的和完整的程序开发平台。哪怕是这些低层的核心库已经非常不错了,但当投入到真正的开发环境中,依然需要开发者做大量的工作去完善很多缺失之处。而Ext就是要填补这些缺口。其次是Hibernate,Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate 可以应用在任何使用 JDBC 的场合,既可以在
6、 Java 的客户端程序实用,也可以在 Servlet/JSP 的 Web 应用中使用,最具革命意义的是,Hibernate 可以在应用 EJB 的 J2EE 架构中取代 CMP,完成数据持久化的重任。最后是Spring, Spring 是一个解决了许多在 J2EE 开发中常见的问题的强大框架。Spring 提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。Spring 的架构基础是基于使用JavaBean 属性的 Inversion of Control 容器。然而,这仅仅是完整图景中的一部分:Spring在使用 IoC 容器作为构建完关注所有架构层的完整解决方案
7、方面是独一无二的。 Spring 提供了唯一的数据访问抽象,包括简单和有效率的 JDBC 框架,极大的改进了效率并且减少了可能的错误。Spring 的数据访问架构还集成了 Hibernate 和其他 O/R mapping 解决方案。Spring 还提供了唯一的事务管理抽象,它能够在各种底层事务管理技术,例如 JTA 或者 JDBC 事务提供一个一致的编程模型。Spring 提供了一个用标准 Java 语言编写的 AOP 框架,它给 POJOs 提供了声明式的事务管理和其他企业事务-如果你需要-还能实现你自己的 aspects。这个框架足够强大,使得应用程序能够抛开 EJB 的复杂性,同时享受
8、着和传统 EJB 相关的关键服务。Spring 还提供了可以和IOC容器集成的强大而灵活的MVC Web框架。(2)实习对所学专业知识提高的认识在学校时,我们学习的理论比较多,动手的时间比较少,通过这次实习,实践的内容比较多,通过实习我们能更好的看到项目的实现过程,软件环境,以及具体的实现效果,所做的东西离我们的生活更加贴近,把我们在课堂上的东西更好的联系到了工作当中,这些都是在学校所不能学到的;在学校学的比较广泛,专业醒不强,而这次实习中,我们重点的学习了Java在具体项目中的应用,让我们更加深刻的认识了Java的强大,以前不会注意的一个小功能,都会给项目带来大的改变,我们能更好的注重细节,
9、以后在看书中能更好的看到细节的问题,看到实际工作中会遇到的问题,不亲自动手,不会找到自己的错误,只有熟练了,才能更好的去工作、学习。3实习总结(1)对本次实习实践过程的认识1、对于一个项目来说,良好的文档是正规研发流程中非常重要的环节 ,作为代码程序员,我们很多工作时间都是在写技术文档,它会在未来的升级以及模块的复用时起着至关的作用。所以我们必须注重这个。2、良好的代码编写习惯也是非常重要的,它不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。我们要使我们的程序具有易读性,易扩展性,容错性。 (1)易应有尽有性:所有的变量和函数以及类名都用简单易懂易记忆的命名方式,所有类和函数,变量
10、都有关键的注释说明。这点很重要,也很基础。(2)易扩展性:整体系统架构逻辑简单清晰,模块与模块之间尽量做到互不影响,也就是尽可能的独立,这部分工作主要体现在前期设计工作中,需要掌握好的设计经验和方法才能够做的比较好。(3)容错性:对所有数据都进行有效性检查:对第三方接口的调用失败的容错性。对所有代码都做调用失败后的处理。以及在大的工程中加入trace文件输出,把关键的操作信息输出,以便对工程异常情况产生条件的定位,及时解决问题。3、一个好的调试、跟踪与测试方法是非常重要的。我们需要对每个模块的接口做测试,数据界的检查,在对整个模块做测试。主要测试稳定性,效率及功能是否正常。确认单个模块完全,再
11、加入工程。我觉得在我们调试时用debug模式启动服务器是一个非常好的选择,我们可以很快定位到出错的地方。并用可以找到解决的办法。总之这一段实习的经历让我明白了:一个优秀的程序员必须不断的学习,随时总结,找到自己的不足,这样逐步提高,才能让自己很快的成长起来。(2)实习心得通过这次实习,让我真实体验到了程序员的诞生过程。让我提前感受到了刚刚进入软件行业的压力和困惑,再也没有在学校自己随便写段小程序后的那种自豪感了,要面对每天必须面对的问题,再也不可能以“逃避”而了之了。也让我感觉到做为一个程序员所应该具备的基本素质。真切身的体会到了团队精神和协作能力是我们程序员应该具备的基本素质,因为太大可能因为我们一个小组成员配合不好,导致各模块之间无法连接,会给工作带来及大的麻烦,消耗了大量的劳动力还没有提高工作效率。实习期间给我最大的感受:收获 + 喜悦。这实习将来给我们留下的不仅仅是回忆 , 因为他使我们的自身价值得到了提高。通过实习,我能更好的认识自己,看出自己不足,只有看出不足才能进步,很感谢学校组织的这次实习,我们真的学到了很多东西。