2)此次基于RFID的码头货物自动采集系统完成的功能包括前台和后台两个大的功能模块,前台主要实现了用户需要基本的功能,包括数据的查询、导出等,后台主要实现了管理员对系统的管理。系统还对用户的权限进行管理,对每一个功能进行权限设定,只有具有相应权限的人才能进行相应的操作。整个系统采用javascript+jquery+JDBC的MVC模式,配合一些组件实现界面的美化。
3)该项目实现的意义:提高了码头实时动态库存信息的准确查询、数据处理能力。大量节省人力、物力,提高作业效率,提高管理效率,加快物流自动化的快发展。
实训总结报告:
这次实训我们的题目是基于RFID的码头货物自动采集系统。通过这次实训,我不仅得到了专业技术的提高,同时也认识到专业基础知识重要性。
刚接触一项新任务的时候,认为感到完成项目的难度非常大,项目大部分的名字都不了解,几乎没有有信心把它做好。但是经过老师认真的讲解、项目各
这个项目让我学到了很多东西,同时在技术上我也有了很大的飞跃。此次项目的完成还是比较满意的,我们实现了创新,借用了win8的metro风格;实现了功能的无页面跳转完成等等。实训马上就要结束了,通过这次的实践操作,我认识到了自己的不足,更感觉到了自己与别人的差距,这就为我接下的学习指明了一个方向,我要加倍努力。
实训即将结束,却令我非常怀念这四周的实训,在这中间我每一天过的都非常充实,在与山东大学的学生一起做项目,我认识到了自己的不足。但是我相信,只要我秉持艰苦奋斗,为理想拼搏的精神,我相信我一定可以披荆斩刺,度过重重难关,实现自己未来的理想!这次实训,让我我深切的认识到实践的重要性。在实训
生中一笔重要的资本
在实训中,我们认识了很多在学校没有学过的知识,了解了它们的.使用方法及作用。它们为我们的生活带来了很多的便捷。通过实训,同学们的友谊也增进了不少,很多不太会做的难点在同学们的帮助下完成了。我们通过相互学习,相互沟通,一起研究,让很多项目的难点都做得相当的成功,心中的成就感与自豪感油然而生。项目的那种团结氛围填满了整个实训间。我们兢兢业业的老师,他们也顶着酷热和我们一起忙活,看着围在他身边的那一圈圈的人,他也总会耐心的为我们讲解,直到我们听懂为止。
同时在山东大学的四次讲座,我学到了许许多多的在学校学不到的知识,学到了许许多多的前瞻性事物,并对云计算有着非常深入的了解。再次感谢IBM资深工程师刘达对Web技术和开发框架,面向服务的体系结构(SOA),云计算,数据库与信息管理,Linux/Unix系统管理、开发、维护技术等方面讲解;木田桥龙【NEC软件(济南)有限公司董事兼总经理】关于1.IT服务(软件)业的发展趋势2.服务贸易(外包)业的发展前景的讲解。;浪潮集团荆世东,
一、信息化发展回顾
二、云计算概念
三、云计算与信息化应用
四、信息化发展趋势
五、浪潮在云计算上的实践通过介绍云概念的形成,云计算的深入分析,云计算在国际和国内的发展现状以及云计算将来的发展趋势。
最后我希望我们项目组的成员能在以后的生活、学习中表现得更出色,更团结。老师们能够笑脸常开,万事如意!
20xx年2月25日至20xx年3月22日
二、实习地点
C楼数学试验室
四、实习内容
其次阶段:由指导老师讲解实际项目完成过程中涉及到的一些专业学问,然后自行分组,完成本次的项目。
第一天:老师也许讲了一下我们本次这次的项目内容,是基于JavaSE即时通讯系统。然后给大家讲了一些java的发展历史,然后回顾了一下java的基础学问。
其次天:本次的实习目的是做一个局域网闲聊系统。所以,老师讲了图形界面的绘制。Swing包是Awt包的改进版它们就是用来绘制应用软件的界面的,然后老师就用这两个包里面的一些方法,写了两个小程序,一个是雪花程序(屏幕上不停地有雪花飘落下来,毫无规律,然后雪花落到屏幕最下方时形成积累效果),另一个是满天星程序(屏幕上有好多星星,并且这些星星会不停地闪耀),随着两个程序的观看效果,我对本次的学习内容产生了深厚的爱好。
第三天:本次是C/S架构下的闲聊系统,所以须要用到网络编程这块的学问。老师给我们讲了客户端与服务器端的整体的通信过程。然后,给我们写了一个简洁的服务器端与客户端,然后给我们演示了它们之间的通信,令我特别新奇。
第五天:老师讲了一些绘制界面的组建极其详细用法,并且介绍了界面绘制的一些风格,讲了绘制界面的一些心得与要点,非常受用。
剩下的最终一周,由我们自己分组完成本次的项目。我们小组最终是由四个人组成的,其中我是我们小组的组长。我先将真个系统的架构搭建起来,然后我们小组就进行了任务的派发,我负责核心代码的编写,其他人负责文档部分与界面美化,系统测试。
1、项目一定要全新的项目,不能是以前做过的
2、项目一定要企业真实项目,不能是精简以后的,不能脱离实际应用系统
3、在开发时要和企业的开发保持一致
4、在做项目的时候不应该有参考代码
长话短说就是以上几点,如果你想要更多的了解,可以继续往后看。
一:项目的地位
因为参加就业培训的学员很多都是有一定的计算机基础,大部分都具备一定的编程基础,尤其是在校或者是刚毕业的学生,多少都有一些基础。
他们欠缺的主要是两点:
(1)不能全面系统的、深入的掌握某种技术,也就是会的挺多,但都是皮毛,不能满足就业的需要。
(2)没有任何实际的开发经验,完全是想象中学习,考试还行,一到实际开发和应用就歇菜了。
解决的方法就是通过项目练习,对所学知识进行深化,然后通过项目来获取实际开发的经验,从而弥补这些不足,尽快达到企业的实际要求。
二:如何选择项目
项目既然那么重要,肯定不能随随便便找项目,那么究竟如何来选择呢?根据java的研究和实践经验总结,选择项目的时候要注意以下方面:
1:项目不能太大,也不能太小
2:项目不能脱离实际应用系统
3:项目应能覆盖所学的主要知识点
学以致用,学完的知识点需要到应用中使用,才能够真正理解和掌握,再说了,软件开发是一个动手能力要求很高的行业,什么算会了,那就是能够做出来,写出代码来,把问题解决了,你就算会了。
4:最后综合项目一定要是实际应用系统
学员经过这个项目的练习,就要走上实际的工作岗位了,如果这个系统还达不到实际应用系统的标准,学员练习过后也还是达不到企业实际的需要,那么这个培训应该说质量就不高了。理想的状况是这个项目就是实际项目,到时候学员就业到另外一个公司,不过是换个地方干活而已,完全没有技能上的问题。
三:java怎么选择项目
这个不是靠想象,而是根据实际的情况一步一步分析出来的(呵呵要卖弄一下:这也算是逻辑思维),当然这里只是讨论方法,不涉及具体的项目案例。
我们可以采用倒推的方式来分析:
(1)最终的项目一定是真实的项目,也就是要把学员训练到能够独立开发实际应用,通常我们还不能选最简单的项目,因为学员的吸收还要有一个折扣,所以最终的项目应该选实际项目中中等难度的项目
(2)最终项目定下来过后,开始分解这个项目,看看为了达到完成这个项目需要哪些技术和知识点,以及每部分知识点的深度,然后定出每个分阶段的任务
(3)然后开始选择分阶段的项目,分阶段的项目应该比刚才分析出来的分阶段任务稍稍复杂点,这样才能达到训练的目标。定下分阶段项目后,同样去分解,定出为了完成他所需要的各部分知识点和深度。
(4)然后是选择上课期间的演示项目,演示的项目是为了做分阶段项目服务的,可以认为是分阶段项目的分阶段项目
(5)最终把要求掌握的知识点和要求掌握的深度,分散到日常教学和练习中。
好了,把上面的分析用正向描述就是:
日常教学和练习中学习和掌握的知识==〉演示项目==〉分阶段项目==〉综合项目==〉胜任企业实际开发需要。
附注:有了好的项目还要有好的训练方法(这个另外立文讨论),最最基本和重要的一条就是:绝对要指导学生亲自动手做,而不是看和听,所以尽量不要选择有现成代码的项目,演示用的项目也最好不配发代码,让学生能够跟着做出来才是真的掌握了。
上面阐述了java对项目的态度和基本选择方法,这里再把其中几个重要的、与众不同的特点阐述如下:
1:真项目
项目一定要真实,要是企业实际应用的`,不能是教学性的项目,否则会脱离实达不到项目实训的效果。还有一个一定要是最新的项目,企业的要求也是在不断变化的,应用技术的方向和层次也在不断变化,这些都体现在最新项目的要求上,旧项目所要求的技术和层次很可能已经过时了,根本达不到训练的目的。
java的做法是:没有固定项目,每个班做项目之前会从企业获取最新的项目需求,然后经过挑选和精心设计,以保证既能训练技术,又能得到实际的开发经验。这样实现了跟企业的同步,企业做什么,我们就学什么,然后也跟着做什么。
2:真流程
开发的流程也要跟企业的实际开发保持一致。从项目立项开始,到需求分析、概要设计、详细设计、编码、测试的各个环节,都要完全按照真实的开发流程来做。
java的主力老师都是实战出身,在java开发方面都至少有七年以上的开发经验,同时具备多年的项目管理经验,所以能够完全按照企业开发的流程来训练学生。
3:真环境
开发的环境也要跟企业一样,包括常用的开发工具、开发平台、应用服务器、常用插件、测试工具、项目管理工具、项目管理文档等等。
java的做法是:构建跟企业完全一样的环境,然后跟企业开发一样,分团队开发。老师就相当于项目经理,一个班分成多个小组,每个组有自己的teamleader,大家分工合作,共同完成项目。
4:真开发
这是java最与众不同的一点,java深知:软件是做出来的,而不是听出来或者看出来的,企业需要能实际开发的人员,而不是只听过、看过但不能做的人。所以java十分强调:项目一定要让学生动手写出来。
java的做法是:老师做为项目经理,带领着大家一起去做需求分析、概要设计、数据结构设计、接口设计、重要业务流程的分析设计等,然后由学生们分团队进行开发,实现整个项目。这里有几个与众不同:
(1):现场带领学生一起做分析和设计,而不是预先做好了来讲讲。因为需要学生学习的是分析设计的过程和方法,而不是已经做好的结果。
(2):java选用的项目基本都是企业最新的项目,很多都是java的学生和企业在同期开发,所以是不配发源代码的。这样也断绝了学生的依赖思想,认认真真去开发。可能有同学会问:为什么不选择有源代码的项目呢,那样还可以参考学习啊!
这是一个典型的误区:觉得通过看人家的代码能够加快自己的学习。这个方法对有经验的人来讲是对的,但是对于还在学习期间,没有经验的学员来讲,就是一个认识的误区了。因为你也许能看懂代码的语法,但根本看不懂代码背后的含义,看不懂代码的设计,看不懂为什么要这么实现,看不懂代码所体现的思想,其实,看了跟没看没有多大区别。
事实上,java界最不缺的就是代码了,那么多开源软件,小到一个工具,到企业级erp都有开源的,而且很多都是大师级的作品,说实话比你参考的那些代码质量高多了,但是又有多少人能真正看明白呢,原因就在于达不到那个水平,看不懂代码背后所体现的设计和思想以及为什么要这么做,效果也就不好了。
一、实习目的
1、培养学生从事专业技术工作的各种根本技能和实践能力。
2、了解设备的根本组成与用途。进一步熟悉通信产品的研发、设计、生产、调试、安装与维护整个过程。
3、学习本专业方面的生产实践知识,为专业课学习打下坚实的根底,培养实际工作能力与分析能力,同时也能够为毕业后走向工作岗位积累有用的经验。培养学生对本专业的兴趣。使学生初步了解社会,接触社会,提高学生对日后工作的适应能力。
二、实习内容
1、校内实习
〔1〕关于xx公司
〔2〕关于云端
〔3〕关于JAVA
最后老师跟我们讲解了有关JAVA的根本知识。老师要求我们了解Java的特点和优点。
了解Java的运行机制。了解Java程序的根本结构。掌握如何编译和运行Java程序Java编程语言的风格十分接近C、C++语言。我们的开发程序首先应该确定:计算机类型,也就是说是哪种芯片。操作系统,我们把这种硬件和软件组合的开发环境,称为“平台〞。
2、校外实习
〔1〕终端设备与传输设备
〔3〕3G概述
三代移动通信,主要目的是为了满足市场更高的应用需求。当前对高比特率的数据业务和多媒体的应用需求已经提到了议事日程,这也是推动第三代移动通信系统开展的主要动力。第二代移动通信系统主要支持话音业务,仅能提供最简单的低速率数据业务,速率为—。改良后的第二代系统能够支持几十K到上百K的数据业务。而3G从技术上能够最大支持2Mbits/s的速率,并且还在不断的开展中,将来将能够支持更高的数据速率。这也为3G广阔应用的应用前景提供了良好的技术保障。
1999年11月5日ITU在赫尔辛基举行的TG8/1第18次会议上,通过了输出文件ITU—RM、1457,确认了如下5种第三代移动通信RTT技术。
两种TDMA技术:
1、SC—TDMA〔UMC—136〕。
2、MC—TDMA〔EP—DECT〕。
三种CDMA技术:
1、MC—CDMA〔CDMA20xxMC〕。
2、DS—CDMA〔包括UTRA/WCDMA和CDMA20xx/DS〕。
3、〔包括TD—SCDMA和〕。
其中主流技术是上述三种CDMA技术。
〔4〕通信行业
〔5〕未来的就业方向
本专业软硬件方面的知识都要学习,将来偏向哪个方面要依照个人喜好进行侧重。具体工作职位有测试工程师、研发工程师和维修技术人员等。
主要参观内容有:
2、光传输设备
4、数字程控交换机
实践是大学生活的第二课堂,是知识开展的源泉,是检验真理的试金石,也是大学生锻炼成长的有效途径。一个人的知识和能力只有在实践中才能发挥作用,才能得到丰富、完善和开展。大学生成长,就要勤于实践,将所学的理论知识与实践相结合一起,在实践中继续学习,不断总结,逐步完善,有所创新,并在实践中提高自己由知识、能力、智慧等因素融合成的综合素质和能力,为自己事业的.成功打下良好的根底。学院带着我们进行了这次实习活动,让我们从实践中对这门自己即将从事的专业获得一个感性认识,为今后专业课的学习打下坚实的根底,为今后书本与实践的结合打下根底。通过短暂的实习,我做了很认真的总结,把自己在参观时学到的,了解到的知识进行梳理,为今后的学习打好根底。通过这次实习我知道了通信行业都在做什么,知道以后要学什么。我会用我热情的心去做好我现在该做的事,为将来更好的为祖国的通信行业做奉献打好根底。作为一名合格的大学生,要想成为21世纪的一名合格人才,必须跨出校门,走向社会,把自己所学的理论知识应用于实践。
通过实习,培育综合运用Java语言的面对对象编程实力;培育动手实力;培育良好编程规范、编程方法;以便能较全面地理解、驾驭和综合运用所学的学问,提高自身的编程实力;增加自己的团队协作意识,了解软件开发的思索角度和主要流程。通过理论与实际的结合、学校与社会的沟通,进一步提高自己的思想觉悟、业务水平,尤其是视察、分析和解决问题的实际工作实力,以便培育自己成为能够主动适应社会主义现代化建设须要的高素养的复合型人才。为毕业之后能够更快地进入工作状态并且能够更好的工作,打好肯定的基础。
二、实习单位基本状况介绍
无锡达内科技有限公司是北京达内科技有限公司在无锡的全资子公司,达内是中国高端IT培训的领先品牌,致力于培育面对电信和金融领域的Java、C++、C#/、测试、嵌入式、PHP等方面的中高端软件人才,由美国国际数据集团IDG、集富亚洲JAFC0ASIA和高盛集团投资,是国内首家获得国际风险投资的IT培训机构。目前,达内科技已经发展成为集培训、询问、开发、人才服务于1体的中国最领先的中高端软件和服务外包人才培训机构。由于达内科技优秀的教学效果和行业领先的经营模式赢得了社会各界的广泛赞誉和好评。
三、实习内容
1.Java实训
通过本次实习,我对Java语言的各种特性有了更进一步的体会:
①Java语言的语法与C语言和C++语言很接近,使得大多数程序员很简单学习和运用Java。另一方面,Java丢弃了C++中很少运用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特殊地,Java语言不运用指针,并供应了自动的废料收集,使得程序员不必为内存管理而担忧。
②Java语言供应类、接口和继承等原语,为了简洁起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。Java语言全面支持动态绑定,而C++语言只对虚函数运用动态绑定。总之,Java语言是一个纯的面对对象程序设计语言。
③Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口()它供应了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java语言是体系结构中立的Java程序(后缀为java的文件)在Java平台上被编译为体系结构中立的字节码格式(后缀为class的文件),然后可以在实现这个Java平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。
⑤在Java语言中,线程是一种特别的对象,它必需由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,运用型构为Thread(Runnable)的构造子将一个实现了Runnable接口的对象包装成一个线程,其二,从Thread类派生出子类并重写run方法,运用该子类创建的对象即为线程。值得留意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来限制。Java语言支持多个线程的同时执行,并供应多线程之间的同步机制(关键字为synchronized)。
⑥Java语言的设计目标之一是适应于动态改变的环境。Java程序须要的类能够动态地被载入到运行环境,也可以通过网络来载入所须要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。
2.数据库实训ORACLE
在此次实习中,与Web服务器相连的数据库采纳的'是大型关系数据库管理系统ORACLE。它是基于客户机/阅读机模式的数据库管理系统;它支持JDBC、ADO等技术的应用,可无缝的与ORACLE集成,供应高效平安的数据访问服务;有利于整个系统管理规范化,使数据的完整性、平安性得到保证。
数据库设计事实上主要是所要处理的数据的表示方法和存储结构的设计。在采纳数据库技术之前,这些工作分散在应用程序中进行;在采纳数据库技术之后,这些工作可以通过数据库设计集中起来系统地进行。进行数据库设计的首要任务是考虑信息需求,也就是数据库要存入什么样的数据。创建数据库并不是仅仅为了存储数据,更主要的目的是从中提取有用的信息。除了考虑数据存储什么数据外,还应考虑存取方式,也就是处理需求。即要依据用户提出的存取要求来设计数据模式和应用程序。
3.Web开发实训
四、实习收获
通过实习,我自身发生了重大的转变。首先,进入公司,你就是一名职业人,不再是一名学生,你要具备一名职业人应具备的素养,不迟到不早退是必定的,而且还要时刻严格要求自己,公司的规定要严格遵守。其次,实习期间,我对项目的开发有了一个较完整的了解和熟识。在实习过程中,我学到了很多在学校学不到的学问和技巧,学习了许多公司自己的框架和工具,这都是一些前辈的珍贵阅历。再次,个人日语水平有了长足进步,对日后生活工作颇有裨益。
此次毕业实习,我学会了运用所学学问进行软件开发,学会了如何跟同事进行合作沟通。积累了处理有关人际关系问题的阅历方法。同时我体验到了社会工作的艰苦性,通过实习,让我在社会中磨练了自己,也熬炼了意志力,训练了自己的动手操作实力,提升了自己的实践技能。积累了软件开发的阅历,为以后工作也打下了很好的基础。实习是为将来打基础的重要阶段,珍惜自己每一个工作的机会,不论什么人,什么学历,从事什么工作,好好的表现、展示自己的实力,不要错过好的机遇。没有一件事情是轻轻松松的,但每一件事都是让人成长的,经验一段过程,喜悦或是艰辛,尽管经验的方式不尽相同,但它的结果是相同的,我都会因涉事而成长。
一、实习内容
1)实习题目
学生信息管理系统的设计与开发
2)实习目的
《Java程序设计》课程是电子商务专业的一门专业必修课程,特针对此课程进行为期三周的实践教学,旨在提升本专业学生对此课程中的理论知识的综合应用能力、提高学生的逻辑思维能力、软件开发能力。
本次课程实习要求学生用Java技术在Windows平台下开发学生信息管理系统。通过此程序的开发能够切实提高学生的程序设计水平,在实践中掌握面向对象程序设计的开发思想。
3)开发环境
操作系统;WindowsXP
编程环境:MyEclipse6.0
主要技术:JavaSwing实现窗体界面
JDBC实现数据库操作
系统架构:三层架构(MVC)+DAO设计模式
数据库:MySQL5.0
二:课设内容;
1)系统功能需求
学生信息管理系统主要对在校学生的个人基本信息以及成绩信息进行管理,对教师用户提供查询信息、增添信息、删除信息等操作功能;对学生用户提供成绩查询功能。我们的目标就是为该系统提供前台用户界面设计以及后台连接数据库程序设计,系统程序界面采用JavaSwing组件实现,数据库操作采用JDBC实现。
2)数据库需求
依据功能需求,学生信息管理系统主要有三个表:student表、teacher表和score表。
(1)student(学生信息表)
此表有六个属性,分别为:id(主键,自动递增),num(学号),sname(姓名),sex(性别),age(年龄),dept(系别)。
此表有六个属性列:分别为:id(主键,自动递增),num(学号),sname(学生姓名),course(课程名称),score(考试成绩),credit(学分)。
三:设计过程(包括总体设计和详细设计)
1)项目总体设计
需要建立一个三层模块:视图层(界面,提供用户输入)控制层(接受用户输入处理)持久层(连接数据库)。
2)项目详细设计
1、需要有开发环境,安装编程环境:MyEclipse6.0、数据库:MySQL5.0、安装NavicatforMysql程序;
2、仔细阅读《Java实习指导书》,详细了解对学生信息管理系统设计与开发的总体设计;
5、ui包中还有对学生信息进行增加学生、删除学生、查看学生信息、浏览所有学生信息、增加学生成绩信息、删除学生成绩信息、查看学生成绩信息的7个界面,每个功能实现完成后会显示操作成功,并有退出功能;
6、然后在Java编程环境MyEclipse6.0编写代码;
7、首现建立以dumeilingglxt命名的项目工程,然后建立ui包,然后再建立LoginUI类,代码敲完LoginUI类的所有代码,然后开始根据提示,这个LoginUI类所需要的dao包,connection包,model包,还有dao包的ScoreDao类、StudentDao类、TeacherDao类;connection包的DBConnection;model包的Scor类,Studente类,然后在敲ui包中的ScoreAddUI类,ScoreDeleteUI类,ScoreQueryUI类,StudentAddUI类,StudentDeleteUI类,StudentQueryUI类,StudentScoreUI类,eacherMainUI类;
8、在MyEclipse中导入数据库驱动包mysql-connector-java-5.0.5.jar;
9、在NavicatforMysql打开数据库,然后建表:student表、teacher表和score表,进入主界面,实现系统登陆功能;
10、连接公共数据库:NavicatforMysql
代码为:("jdbc:mysql://192.168.0.1:3306/dumeiling","root","p");
11:然后开始运行,发现错误并解决错误;
12:在所有代码都正确的情况下,所有界面将会出现。
四:调试过程(包括系统测试、出现的问题、解决的`方法等)
出现最多的错误就是:
1)代码编写错误,解决方法就是照着代码继续核对,直到可以运行
五、小结(在整个课程设计过程中的总结和体会)
在整个学生信息管理系统的设计与开发过程中,感触最深的就是两周的敲代码、核对代码。可以说是一次痛苦的体验,但是在实习的第三周看到自己的成果展示,不得不佩服自己的毅力。
还有体会最深的一点是:只要你用心去学习,你就回学到一些东西,也许不是那么明显,但是只要付出还是会有收获的。在第三周周二是交作业时,有的同学自己昨天完全正确的程序,今天完全不管用了,我看到了她的急躁,一直埋怨、似乎有点想哭,其实我想说:冷静。然后看看是什么原因,假如是电脑的问题李珂把代码拷走,重新建立工程,说实话,我不知道重新建了多少次,遇事一定要让自己冷静,不要急,事情总会有解决的方法。
(1)不能全面系统的、深入的掌握某种技术,也就是会的挺多,但都是皮毛,不能满足就业的需要。
(2)没有任何实际的开发经验,完全是想象中学习,考试还行,一到实际开发和应用就歇菜了。
项目既然那么重要,肯定不能随随便便找项目,那么究竟如何来选择呢根据java的研究和实践经验总结,选择项目的时候要注意以下方面:
不能太大,太大了做不完,也不能太小,太小了没有意义,达不到练习的目的。
项目应该是实际的系统,或者是实际系统的简化和抽象,不能够是没有实战意义的教学性或者是纯练习性的项目。
学员经过这个项目的练习,就要走上实际的工作岗位了,如果这个系统还达不到实际应用系统的标准,学员练习过后也还是达不到企业实际的需要,那么这个培训应该说质量就不高了。
理想的状况是这个项目就是实际项目,到时候学员就业到另外一个公司,不过是换个地方干活而已,完全没有技能上的问题。
这个不是靠想象,而是根据实际的情况一步一步分析出来的(呵呵要卖弄一下:这也算是逻辑思维),当然这里只是讨论方法,不涉及具体的项目案例。
(1)最终的项目一定是真实的项目,也就是要把学员训练到能够独立开发实际应用,通常我们还不能选最简单的项目,因为学员的吸收还要有一个折扣,所以最终的项目应该选实际项目中中等难度的项目
(2)最终项目定下来过后,开始分解这个项目,看看为了达到完成这个项目需要哪些技术和知识点,以及每部分知识点的深度,然后定出每个分阶段的任务
(3)然后开始选择分阶段的项目,分阶段的项目应该比刚才分析出来的分阶段任务稍稍复杂点,这样才能达到训练的目标。
定下分阶段项目后,同样去分解,定出为了完成他所需要的各部分知识点和深度。
(4)然后是选择上课期间的演示项目,演示的项目是为了做分阶段项目服务的,可以认为是分阶段项目的分阶段项目
(5)最终把要求掌握的知识点和要求掌握的深度,分散到日常教学和练习中。
附注:有了好的项目还要有好的训练方法(这个另外立文讨论),最最基本和重要的一条就是:绝对要指导学生亲自动手做,而不是看和听,所以尽量不要选择有现成代码的项目,演示用的项目也最好不配发代码,让学生能够跟着做出来才是真的掌握了。
项目一定要真实,要是企业实际应用的,不能是教学性的项目,否则会脱离实达不到项目实训的效果。
还有一个一定要是最新的项目,企业的要求也是在不断变化的,应用技术的方向和层次也在不断变化,这些都体现在最新项目的要求上,旧项目所要求的技术和层次很可能已经过时了,根本达不到训练的目的。
java的做法是:没有固定项目,每个班做项目之前会从企业获取最新的项目需求,然后经过挑选和精心设计,以保证既能训练技术,又能得到实际的开发经验。
这样实现了跟企业的同步,企业做什么,我们就学什么,然后也跟着做什么。
开发的流程也要跟企业的实际开发保持一致。
从项目立项开始,到需求分析、概要设计、详细设计、编码、测试的各个环节,都要完全按照真实的开发流程来做。
java的做法是:构建跟企业完全一样的环境,然后跟企业开发一样,分团队开发。
老师就相当于项目经理,一个班分成多个小组,每个组有自己的teamleader,大家分工合作,共同完成项目。
这是java最与众不同的一点,java深知:软件是做出来的,而不是听出来或者看出来的,企业需要能实际开发的人员,而不是只听过、看过但不能做的人。
所以java十分强调:项目一定要让学生动手写出来。
java的做法是:老师做为项目经理,带领着大家一起去做需求分析、概要设计、数据结构设计、接口设计、重要业务流程的分析设计等,然后由学生们分团队进行开发,实现整个项目。
这里有几个与众不同:
(1):现场带领学生一起做分析和设计,而不是预先做好了来讲讲。
因为需要学生学习的是分析设计的过程和方法,而不是已经做好的结果。
(2):java选用的项目基本都是企业最新的项目,很多都是java的学生和企业在同期开发,所以是不配发源代码的。
这样也断绝了学生的依赖思想,认认真真去开发。
可能有同学会问:为什么不选择有源代码的项目呢,那样还可以参考学习啊!
这是一个典型的误区:觉得通过看人家的代码能够加快自己的学习。
这个方法对有经验的人来讲是对的,但是对于还在学习期间,没有经验的学员来讲,就是一个认识的误区了。
因为你也许能看懂代码的语法,但根本看不懂代码背后的含义,看不懂代码的设计,看不懂为什么要这么实现,看不懂代码所体现的思想,其实,看了跟没看没有多大区别。
事实上,java界最不缺的就是代码了,那么多开源软件,小到一个工具,到企业级erp都有开源的,而且很多都是大师级的作品,说实话比你参考的那些代码质量高多了,但是又有多少人能真正看明白呢,原因就在于达不到那个水平,看不懂代码背后所体现的设计和思想以及为什么要这么做,效果也就不好了。