计算机专业、信计专业毕业实习报告.pdf
1/8 毕业实习报告 系 别:信息与计算科学 年级班级:学 号:姓 名:指导教师:实习类型:集中实习 实习单位:深圳远标培训中心 实习时段:2012.7.8-2012.8.8 2/8 关于在深圳市远标培训中心开展软件开发的实习报告 一、实习目的 在深圳远标培训中心,通过 c+及 Linuxshell 的简单基础知识学习,了解 linux 虚拟机工作的基本命令,并熟练掌握用此虚拟机实现 c、c+程序编程的编译和实现。对一些经典程序编程不断地进行改进,从中学习如何精简程序,使程序更加切实可效地执行。从而积累自己的软件编写经验,能够参与并实现一个真实和完整的项目,为今后的学习和将来从事的技术工作打下坚实的基础。项目实战要求在大纲中所列也的五个项目中至少要完成两个具有代表性的实战项目给学员提供一个真实的项目开发经验,巩固已学知识的机会,并获得在企业工作的实际项目经验及其它人业人员所必备的素质。通过项目实战,还能让学员了解项目中软件测试基本技术,项目管理流程,项目技档写技术,人员沟通技术,企业管理理论基础,企业文化基础。在学习基本理论知识,进行项目实战演练的同时,定期进行学员就业心态,面试技巧相关培训以及学员口头表达能力和面试技巧训练,提升学员综合能力以达到企业的用人要求。二、实习单位介绍 深圳市远标培训中心(ITjob),2003 年成立,主要提供 C+培训,Linux 嵌入式培训,JAVA 培训,Android 培训,MTK 手机开发培训,.NET 培训等软件培训。已输送 10000 多名大学生到深圳软件企业工作,目前是深圳成立最早也是最大的软件就业培训机构,已和 300 多所高校和深圳 3000 多家软件企业建立长期紧密的合作关系。ITjob 承接深圳市计算机行业协会(SZCIA)培训中心工作,SZCIA 是 87年成立的代表深圳市系统集成企业、软件企业等的组织,华为、中兴、长城、TCL、联想、研祥等深圳大型 IT 企业均为其会员单位,也是 ITjob 的合作企业 ITjob 承接深圳市软件行业协会(SSIA)人才服务中心工作,SSIA 是 88 年成立的代表深圳市 2000 家软件企业的组织,人才中心受深圳市科工贸信息委的委托,3/8 每年一次的向深圳市 2000 家企业进行“深圳市软件企业人才需求调研”,所以,我们 ITjob 能准确的掌握深圳软件企业的技能方向、用人数量、用人时间等信息。8 年的历史,依托深圳两家权威协会,和 3000 多家软件企业,以及每年一次的人才调研。因此 ITjob 可以做到 多:3000 家软件企业定向,300 家高校的紧密合作 快:入学即入职,培训完即上岗 好:培训质量好,就业质量高,学的不是语言,而是思想,学技能,更重要的是学方法。省:培训费用低,分期支付,每月只需几百元。三、岗位介绍 我在深圳市远标培训中心为 C+培训班的学员,主要跟着老师学习 C+的基础知识,然后利用 C+语言编写程序,为以后在工作岗位上打下良好的基础。根据所学 C+“基类”、“派生类”、“虚基类”、“多态继承”、“虚函数”等面向对象程序设计的相关知识和多重继承关系、继承权限、赋值兼容的定义与使用规则,进行相应的程序设计训练,在实训编题过程中要尽量把已学的 C+知识应用到编程的实际使用中去,熟悉、掌握这些知识在程序中的运行、调用机理和实现方法。通过训练对如何进行面向对象程序设计的方式方法有一个更深入的理解和认识,进一步巩固 C+程序设计的基本知识和实现方法。四、实习内容及其过程 这次去深圳实习的每个人的学习方法是不同的,一个人的方法不见得适合另一个人,我只能是谈自己的学习方法。因为我学习 Java 是完全自学的,从来没有问过别人,所以学习的过程基本上完全是自己摸索出来的。我也不知道这种方法是否是比较好的方法,只能给大家提供一点参考了。学习Java的第一步 其实JDK的学习没有那么简单,是安装好JDK,写一个Hello World,关于 JDK 有两个问题是很容易一直困扰 Java 程序员的地方:一个是CLASSPATH 的问题,其实从原理上来说,是要搞清楚 JRE 的 ClassLoader 是如4/8 何载入 Class 的;另一个问题是 package 和 import 问题,如何来寻找类的路径问题。把这两个问题摸索清楚了,就扫除了学习 Java 和使用 JDK 的最大障碍。推荐看一下王森的Java 深度历险,对这两个问题进行了深入的探讨。第二步是学习 Java 的语法。Java 的语法是类 C+的,基本上主流的程序设计语言不是类 C,就是类 C+的,没有什么新东西,所以语法的学习,大概就是半天的时间足够了。唯一需要注意的是有几个不容易搞清楚的关键词的用法,public,protected,private,static,什么时候用,为什么要用,怎么用。第三步是学习 Java 的面向对象的程序设计语言的特性的地方。比如继承,构造器,抽象类,接口,方法的多态,重载,覆盖,Java 的异常处理机制。把书上面的例子反复的揣摩,修改,尝试,把那几章内容反复的看过来,看过去,看了不下 5 遍,才彻底领悟了。第四步就是开始熟悉 Java 的类库。Java 的基础类库其实就是 JDK 安装目录下面jrelibrt.jar 这个包。学习基础类库就是学习 rt.jar。基础类库里面的类非常非常多。据说有 3000 多个,我没有统计过。但是真正对于我们来说最核心的只有 4 个,分别是 java.lang.*;java.io.*;java.util.*;java.sql.*;这四个包的学习,每个包的学习都可以写成一本厚厚的教材,而 Oreilly 也确实是这样做的。我觉得如果时间比较紧,是不可能通过读四本书来学习。我觉得比较好的学习方法是这样的:首先要通读整个 package 的框架,了解整个 package 的 class,interface,exception的构成,最好是能够找到介绍整个包框架的文章。这些专门介绍包的书籍的前几章应该就是这些总体的框架内容介绍。对包整体框架的把握并不是要熟悉每个类的用法,记住它有哪些属性,方法。想记也记不住的。而是要知道包有哪些方面的类构成的,这些类的用途是什么,最5/8 核心的几个类分别是完成什么功能的。我给你们讲这些包的不是要告诉你们类的方法是怎么调用的,也不要求你们记住类的方法调用,而是要你们了解,Java给我们提供了哪些类,每个类是用在什么场合,当我遇到问题的时候,我知道哪个类,或者哪几个类的组合可以解决我的问题,Thatall!,当我们具体写程序的时候,只要你知道该用哪个类来完成你的工作就足够了。编码的时候,具体的方法调用,是边写代码,边查 Documentation,所有的东西都在 Documentation 里面,不要求你一定记住,实际你也记不住 3000 多个类的总共将近 10 万个方法调用。所以对每个包的总体框架的把握就变得极为重要。第五步,通过上面的学习,如果学的比较扎实的话,就打好了 Java 的基础了,剩下要做的工作是扫清 Documentation 里面除了上面 4 个包之外的其他一些比较有用处的类。相信进展到这一步,Java 的自学能力已经被培养出来了,可以到了直接学习 Documentation 的水平了。除了要做 GUI 程序设计之外,JDK 里面其他会有用处的包是这些:java.text.*;.*;javax.naming.*;这些包里面真正用的比较多的类其实很少,只有几个,所以不需要花很多时间。第六步,Java Web 程序设计 Web 程序设计的核心是 HTTP 协议,HTTP 协议和 Java 无关,如果不熟悉 HTTP协议的话,虽然也可以学好 Servlet/JSP 程序设计,但是达不到举一反三,一通百通的境界。所以 HTTP 协议的学习是必备的。如果熟悉了 HTTP 协议的话,又有了 Java 程序设计的良好的基础,学习 Servlet/JSP简直易如反掌,我学习Servlet/JSP就用了不到一周的时间,然后就开始用 JSP 来做项目了。在 Servlet/JSP 的学习中,重头仍然是 Servlet Documentation。Servlet API 最常用的类很少,花比较少的时间就可以掌握了。把这些类都看一遍,多写几个例子试试。Servlet/JSP 程序设计本质就是在反复调用这些类来通过 HTTP 协议在 Web Server 和 Brower 之间交谈。另外对 JSP,还需要熟悉几个常用 JSP 的标记,具体的写法记不住的话,临时查就是了。6/8 此外 Java Web 程序设计学习的重点要放在 Web Application 的设计模式上,如何进行业务逻辑的分析,并且进行合理的设计,按照 MVC 设计模式的要求,运用Servlet 和 JSP 分别完成不同的逻辑层,掌握如何在 Servlet 和 JSP 之间进行流程的控制和数据的共享,以及 Web Application 应该如何配置和部署。第七步,J2EE 程序设计 以上的学习过程如果是比较顺利的话,进行到这一步,难度又陡然提高。因为上面的知识内容都是只涉及一个方面,而像 EJB,JMS,JTA 等核心的 J2EE 规范往往是几种 Java 技术的综合运用的结晶,所以掌握起来难度比较大。首先一定要学习好 JNDI,JNDI 是 App Server 定位服务器资源(EJB 组件,Datasouce,JMS)查找方法,如果对 JNDI 不熟悉的话,EJB,JMS 这些东西几乎学不下去。JNDI 其实就是 javax.naming.*这个包,运用起来很简单。难点在于服务器资源文件的配置。对于服务器资源文件的配置,就需要看看专门的文档规范了,比如 web.xml 的写法,ejb-jar.xml 的写法等等。针对每种不同的 App Server,还有自己的服务资源配置文件,也是需要熟悉的。然后可以学习 JTA,主要是要理解 JTA 对于事务的控制的方法,以及该在什么场合使用 JTA。这里可以简单的举个例子,我们知道一般情况可以对于一个数据库连接进行事务控制(conn.setAutoCommit(false),.,mit(),做为一个原子操作,但是假设我的业务需求是要把对两个不同数据库的操作做为一个原子操作,你能做的到吗?这时候只能用JTA 了。在学习 EJB 之前要学习对象串行化和 RMI,RMI 是 EJB 的基础。接着学习 JMS和 EJB,对于 EJB 来说,最关键是要理解 EJB 是如何通过 RMI 来实现对远程对象的调用的,以及在什么情况下要用到 EJB。在学习完 EJB,JMS 这些东西之后,你可能会意识到要急不可待学习两个领域的知识,一个是 UML,另一个是 Design Pattern。Java 企业软件的设计非常重视框架(Framework)的设计,一个好的软件框架是软件开发成功的必要条件。在这7/8 个时候,应该开始把学习的重点放在设计模式和框架的学习上,通过学习和实际的程序设计经验来掌握 EJB 的设计模式和 J2EE 的内核模式。另外还有一个最新领域 Web Services。Web Services 也完全没有任何新东西,它像是一种黏合剂,可以把不同的服务统一起来提供一个统一的调用接口,作为用户来说,我只要获得服务提供商给我的 WSDL(对服务的描述),就够了,我完全不知道服务器提供者提供的服务究竟是 EJB 组件,还是.Net 组件,还是什么CORBA 组件,还是其他的什么实现,我也不需要知道。Web Services 最伟大的地方就在于通过统一的服务提供方式和调用方式,实现了整个 Internet 服务的共享,是一个非常令人激动的技术领域。Web Services 好像目前还没有什么很好的书籍,但是可以通过在网络上面查数据的方式来学习。五、实习总结及体会 在深圳 ITjob 的一个月的实习,让我深深体会到了学习的乐趣,同时我也非常喜欢那里的学习方式,上午是老师讲课,下午是自己动手,晚上是小组讨论解决问题,一切都是那样的井然有序,满满当当,让自己觉得时间过的很充实,与大学的学习方式不同,大学生活让我对计算机理论知识有了一定的了解,但真正操作起来没有那么容易,纸上得来终觉浅,绝知此事要躬行,经过一个月的实习,我觉得自己有了新的认识及前进的方向。让我的专业知识不再仅限于理论方面的,更加让我贴近于实际的操作应用,让我各方面感觉自己都有了一定的收获。实习单位的老师也给了我们机会带我们做设计,使我懂得了很多以前难以解决的问题,更重要的是学会了如何解决实习中遇到的各种问题并很好的解决,为以后使用该软件进行编程打下了坚实的基础,也培养了自己对该软件的兴趣,大四的学生正面临找工作的压力,通过这次实习积累的经验,对以后找工作也起到了辅导的作用,希望能够有机会对该软件进行进一步的学习研究。但我也认识到,要想做好这方面的工作单靠这几天的实习是不行的,还需要我在平时的学习和工作中一点一点的积累,积累经验。这次的实习,我发现自己有很多不会的地方,有很多地方还需要学习。虽从远标知道了有哪些方面,目前热门的是什么,企业具体需要什么方向的人才,但对于自己未来可能的职位却仍有些许迷惑。但至少我清楚了自己需要努力地方向,改掉以往以应考为主的学习模式,多动手自己操作,树立自己的目标,朝着8/8 目标进发,不急不躁。我会在这学期多多运用课余时间弥补自己的专业漏洞,我相信这回是个巨大地工程,但我会一点点积累,一步步消化。同时,我会多阅读相关的资料书籍,扩充行业背景,了解企业需求,把自己培养成企业需要的人才以扎实的专业知识和良好的综合素质走向就职岗位。希望自己能够学到更多的专业知识,实现自己的人生价值。在此,谢谢我的母校,湖南科技大学,以及深圳远标培训中心和教导我的各位老师!