适用场景:企业培训项目总结、学生实习成果总结、技术能力评估总结
演讲要点:项目实战训练、开发流程规范、技术能力提升
行文逻辑:选择真实项目→设计开发流程→实施技术训练→提升开发能力
项目的好坏对培训质量的影响非常大,常常是决定性的作用。这篇文章是关于在学习JAVA软件开发时练习项目的总结,简单总结为以下几点:
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的做法是:构建跟企业完全一样的环境,然后跟企业开发一样,分团队开发。老师就相当于项目经理,一个班分成多个小组,每个组有自己的Team
Leader,大家分工合作,共同完成项目。
4:真开发
这是Java最与众不同的一点,Java深知:软件是做出来的,而不是听出来或者看出来的,企业需要能实际开发的人员,而不是只听过、看过但不能做的"人。所以Java非常强调:项目一定要让学生动手写出来。
Java的做法是:老师做为项目经理,带领着大家一起去做需求分析、概要设计、数据结构设计、接口设计、重要业务流程的分析设计等,然后由学生们分团队进行开发,实现整个项目。这里有几个与众不同:
(1):现场带领学生一起做分析和设计,而不是预先做好了来讲讲。因为需要学生学习的是分析设计的过程和方法,而不是已经做好的结果。
(2):Java选用的项目基本都是企业最新的项目,很多都是Java的学生和企业在同期开发,所以是不配发源代码的。这样也断绝了学生的依赖思想,认认真真去开发。可能有同学会问:为什么不选择有源代码的项目呢,那样还可以参考学习啊!
这是一个典型的误区:觉得通过看人家的代码能够加快自己的学习。这个方法对有经验的人来讲是对的,但是对于还在学习期间,没有经验的学员来讲,就是一个认识的误区了。因为你也许能看懂代码的语法,但根本看不懂代码背后的含义,看不懂代码的设计,看不懂为什么要这么实现,看不懂代码所体现的思想,其实,看了跟没看没有多大区别。
事实上,Java界最不缺的就是代码了,那么多开源软件,小到一个工具,到企业级ERP都有开源的,而且很多都是大师级的作品,说实话比你参考的那些代码质量高多了,但是又有多少人能真正看明白呢,原因就在于达不到那个水平,看不懂代码背后所体现的设计和思想以及为什么要这么做,效果也就不好了。
当然不排除有这样的高人是能够完全能理解和掌握这些大师级作品的,但估计不会是刚开始学习Java开发的学生,所以Java根据多年的培训经验,友情提示:在初学阶段,看一千遍,听一千遍,都不如自己动手写一遍所达到的学习效果。自己能写出来的功能才是你真正掌握的功能,而不是你看得代码或者是听老师讲的,就算讲过看过,但是自己做不出来,那都不算会。
(3):Java在课堂上除了带领学生去分析设计外,还会分析一些重点、难点功能的实现机制和原理,然后指导学生去实现。
5:真技术
Java在每个项目中,特别会抽取有难度的部分让学生们在老师指导下实现,专门啃硬骨头,那才能真正锻炼学生的开发能力。
比如:在做OA类的项目时,会重点去做工作流、公文收发、在线Office控制等;
在做CRM类项目时:会重点去做销售>自动化和市场块的业务;在做人力资源类项目的时候会重点去做人力跟踪和人力评测模型等……
Java在每个项目中,都会使用目前企业最新最流行的技术,按照最新的难度去要求,从而让学员能更符合企业的需要。
6:真经验
Java的项目都是企业最新的真实项目,经过开发训练,学员能够积累足够的真实的开发经验,以胜任企业的工作需要。在进行项目分析时,还会全面讲解项目所要求的业务,让学员从业务和技术上都能充分积累。
7:真实力
作为就业培训,项目的好坏对培训质量的影响非常大,常常是决定性的作用。这篇文章是关于在学习JAVA软件开发时练习项目的总结,简单总结为以下几点:事实上,不采用有源代码的教学性项目对Java的要求非常高。
试想一下,如果项目分发下去,老师带着分析后,学生都不会做会出现什么样的后果?这对Java的教学质量提出了极高的要求,如果教学质量达不到让学员独立开发的水平,对依靠质量取胜和口碑发展的Java将是毁灭性的。
另外一个,由于是全真的项目,在开发的过程中,肯定会有很多的问题出现,这些都要老师去解决,由于不像教学项目那样预先做好,又需要老师能很快地解决各个问题,这对老师的真实开发水平有极高的要求,这可是需要真功夫的。
总结
总之,Java通过真实的项目,真实的开发环境和开发流程,指导学员去真正开发,让学员得到真正的锻炼,>收获真正的开发能力。
适用场景:软件开发项目总结、技术培训材料总结、岗位能力评估总结
演讲要点:系统开发流程优化、技术问题解决经验、后续开发计划安排
行文逻辑:需求分析→数据库设计→编码实现→测试调试→成果总结
我于20xx年x月x日至x月x日在xx计算机应用研究所进行了为期两个月的实习。通过此次实习,我对自己的专业有了更全面、更深入的认识,看到了自己专业知识上的不足,同时也提高了自己的观察分析、交流沟通、组织协调等能力。这次的实习工作主要是开发xx分公司的劳动定员测算系统,它是用计算机根据《国家电力公司供电劳动定员标准(试行)20xx年8月版》(下称《定员标准》)和分公司内各单位送的设备台帐来计算分公司内的员工数和生成测算汇总表上报的自动化系统。我参与了该系统开发的全过程:需求分析阶段à设计编码阶段à测试调试阶段。需求分析阶段这个系统的需求比较简单,主要是根据用户输入的各种台帐(送电、配电、变电设备台帐及用电户数、用电设备、试验仪表台帐),调用数据库内的定员测算标准,由此测算出供电局所需的劳动定员。因此在这个阶段我们主要是集中开了一次会,由项目经理何春平介绍整个项目的开发背景。设计阶段有了在需求分析阶段中对整个项目的整体认识,我们也就进入了该系统的"设计阶段,这个系统的重点和难点都是设计怎样在数据库存储电力系统的台帐和《定员标准》,我们主要是通过开会集中讨论的形式来解决这些相关问题的,首先讨论了数据库的设计----台帐、标准及其补充规定的存储模式与关联(属性间关系),并对定员测算算法的设计进行了初步讨论。经过讨论,我们把《定员标准》中的各种标准统一在一张表中,并且最终在定员测算公式所需变量的定义及标嫉牟钩涔娑ù?理中达到一致意见,从而得到各台帐表、补充规定表、标准统一表及其相关字典。黝后我们讨论了应用Sql语言实现数据库的细节,并初次接触数据建模软件powerdesigner,通过阅读已设计好的图表学习应用它来建立数据库各表。另外在设计阶段还学习应用了项目开发管理软件visualsourcesafe,它能够对项目开发过程中形成的源代码、文档及其他开发成果进行管理,便于实现开发的统管及完整性。设计阶段主要是大家一起讨论,集众人之长,各抒己见。我也是充分感受到团结、合作在工作中的重要性。在这些讨论中,我都能够积极参与其中,对相关问题都能够运用现有的知识发表独特见解和解题思路,并得到项目经理何春平和工程师温东航的肯定,从而也增加了我开发项目的信心。而且在学习使用新接触的软件powerdesigner和visualsourcesafe的过程中,我根据它们跟sqlsever数据库的知识关联性把三个内容联系起来学习,能够很快的掌握它们的核心概念和应用方法,从而进一步提高了自己的自学能力,因为现代社会技术变革快,我们要不断接纳新技术,学习的能力成为人提升自我,发展自我的不可缺少的手段,另外多了解科技发展前沿,也有利于我们接触新事物,并不断更新知识。
从中我也认识到学习是一个循序渐进的过程,大学所学的知识是根基,这些基础知识将对我以后的学习能力具有非常重要的作用。但在参与讨论过程中我也发现自己理论基础不扎实,有很多知识的细节已遗忘,对于遇到的众多问题我都能够积极地翻阅各种相关资料,也主动向大家请教并最终得到解决和提升自我素质。编码阶段应用sql语言编写定员测算的函数和存储过程,这些算法都比较简单,但由于我之前对sql语言的语法规则不熟悉,开发过程较慢。有了对sql的熟悉和尝试后,我便可较快的应用游标写了存储过程和函数。这个过程中我最大的体会就是认识到所学知识要扎实的重要性,我自进入大学以来都是并不只为应付考试而学,而是以培养能力为学习动机,这次实习的实践也是检验知识水平的过程,实践中我更加深了对已掌握知识的应用细节和应注意的问题。调试和测试阶段写好定员测算的存储过程后,我们便进入了程序的调试和测试阶段,这是一个通过自定义一些记录和插入标准进数据库的各张表中,调试所写程序的过程。这个过程也暴露了我粗心的坏毛病,其实所写的程序并不难,而调试所发现的问题主要都是一些语法错误,这也警惕我做事关键是要细心,关注每一个细节,只有这样才能战胜困难。另外算法分析失当也是使得程序难于调试的主要原因。这就告诫了我在项目开发过程中要注意前期工作,还有做事要有计划!
数据库的开发基本上结束了,我最大的感悟就是:做任何事情都要用心,只要我曾经努力,必有令人满意的结果在项目开发的后期,我们还应用excel设计了台帐的输入、输出、分析表的模版,这样便可在脱机状态下读取用户输入的数据,并实现用户输入界面与数据库表、台帐关联。努力过我学到了很多,也验证了之前所学的知识,并从实践中掌握得更加深刻;了解到学习是一种乐趣,善于提出问题可快速提高自己的能力。