1、1.1 实训规划1.1.1 实训过程整个实训总共四周,大体分为核心技能实训阶段,后续为卓越技能提高阶段。1.1.2 实训特点实训过程以学校教育为基础,理论与实战相结合,采用实际项目为主导,规定学员以准员工的身份参与,使学员快速掌握公司软件开发需要具有的基本开发技能,切身感受软件开发的全过程,通过努力,完毕一个中小型项目。整个过程涉及需求分析、概要设计、具体设计、编码、测试和产品提交几个阶段,每个阶段都进行阶段性评审,通过最后综合评估。(如下图7)(图7:实训特点分析图)1.1.3 实训理念中软国际ETC的“5R”实训理念(即真实的工作环境、真实的实训项目、真实的项目经理、真实的工作压力和真实的
2、工作机会)是实践解决方案和学员服务的指导原则。基于“5R”的实训理念受到了合作院校和学员的高度认同。(如下图8)(图8:“5R”的特色实训模式)n 真实的办公环境在设计实践工作间时,完全参照中软国际的办公环境,一人一个独立工位,每个办公间有独立的会议室供各个小组讨论和评审。同样的上下班考勤制度,严格工作报告制度,近距离感受真正的国际大公司的工作感受。在ETC,可以提供真实的软件办公、开发环境供学员模拟练习;学员学到的不仅是产品的功能使用,更重要的是通过真实的环境体验,掌握如何运用它去工作; 学生还可以接触到在大型软件工程中,才会采用专业的小机、数据库、应用中间件产品等。n 真实的项目案例中软国
3、际实行过的国家级大型项目,这些项目是程序员需要工作数年后才干接触到珍贵经验。通过中软国际教学团队整理,抽取出典型的公司应用案例,将整个项目过程完整的还原给学员。让学员在项目中完整的学习整个项目流程中的细节,充足体验一个项目团队应当如何工作,像真正的中软国际员工那样具有国家级项目经验。超大型国家级项目:烟草打码到条、到件工程;复烤管理系统;烟叶一打三扫系统;国家烟草专卖局烟叶基础软件实行推广项目。项目案例中的人员分工:团队中不同角色有着不同的功能,使用一种更行之有效的沟通方式,更好的与其别人合作的将决定 整个工程的效率,这是成为中软国际以及其他软件公司的员工必备的技能。n 真实的项目经理学生将接
4、触来自中软国际实战前沿具有丰富项目管理经验的项目经理,传授业务知识和客户沟通技巧、团队合作方式,并接受他们的直接指导;与经验丰富的软件专家进行交流互动。n 真实的工作压力项目中有模拟客户代表给予项目组施加真实的项目压力,“意外随时有也许以任何一种形式出现”,当遭遇需求变更、新技术风险、工期变更、人员变动等问题时,可以从容应对的员工才是公司的栋梁。 n 真实的就业机会中软国际ETC将根据学员的表现提供真实的就业机会。项目结束后,中软国际和合作成员将到基地选拔人才,通过笔试面 试,结合带队项目经理的推荐,目前已有超过10000名学员直接签约大型软件公司。1.1.4 组织方式项目组一个项目组由810
5、名学员组成,在指定期间内完毕项目分析、设计、编码、测试和提交工作项目组长项目组长通过学员自我推荐,由学员投票选出,负责项目组开发计划制定和调整、资源分派、进度管理、沟通管理等工作。项目组长对中软国际指派的项目经理负责项目组成员涉及系统架构师、应用程序开发人员、数据库开发人员、UI开发人员和测试人员项目经理项目经理负责向各项目小组讲授项目管理知识,指导项目小组完毕相关文档和编码工作,由中软国际来指定技术指导人员技术指导人员负责在实战中对学员的技术问题进行辅导并监督小组实行过程,由中软国际来指定讲师团队教师团队根据项目需要,提供专业技术讲座,由中软国际来指定项目组织结构图:(如下图9)(图9:项目
6、开发组织结构分工图)1.1.5 语言强化-英语与欧美公司文化随着中国进入WTO,纯熟掌握英语与了解欧美公司文化,对个人的发展起着举足轻重的作用,为此公司专门设立了英语“卓越训练营”,采用了集中训练,加大力度的方式,进行英语强化。教学特点:l 采用全英文授课环境。l 教学过程中规定每位学员对英文必须脱口而出,并在此基础上对学员进行魔鬼式训练,比如:规定学员一口气读常用句型至少5次。1.2 核心技能实训1.2.1 实训背景中软国际数年来从事Java项目的项目开发和产品研发,核心六条业务线大量应用到JavaEE的公司级技术为众多政府、制造业、通信和金融等领域的合作伙伴进行项目和产品的研发。在Java
7、EE的公司应用中中软走出自己独特的一套道路。自主知识产权的“Resource One”系列产品成为中国政府各部委项目开发的首选自主框架,同时也应用于各种央企和政府职能部分的开发原型框架。随着中软业务的不断扩大,在该背景下Java方向需要大量的定制培训人才,人才缺口今年已达3000余人。中软一贯秉承先入先导的人才培养理念,为了更好地进行人才储备及人才培养,中软全国各ETC与各地高校的软件学院、信息工程、网络工程等相关专业进行进一步合作,使人才的培养工作前置。同时为了加强该专业同学的就业竞争力及实际的动手操作能力,特此与校方合作实行JavaEE方向的公司实训。从而进一步扩展学员的知识面,根据实训具
8、体进度情况适当加入文档编写等相关课程。将理论应用于实践,提高学员的动手能力,增强学员自我发现问题解决问题的能力,从而为提高学员的后期学习及就业打下坚实的基础。1.2.2 实行目的第一阶段:(2周)a) 掌握常用公司开发平台、工具和运营平台;b) 掌握Java中的IO、JDBC、Collection等核心技术应用及数据库应用技术;c) 体验公司软件开发过程和规范;d) 锻炼团队意识、交流和表达能力;e) 培养较强的自学能力。第二阶段:(2周)f) 了解项目开发的基本模式;a) 掌握在使用MVC模式下Java技术的应用技巧;b) 数据库及Socket、多线程在Java通信领域的应用;c) 掌握软件
9、工程在项目开发中的作用;d) 掌握软件工程和系统结构分析的基本能力;e) 掌握基于灵敏开发模式下的应用;f) 培养较强的自学能力。1.2.3 实行理念1. 以案例为导向,结合公司的实际案例需求进行课程讲解;2. 采用“做、中、学”的思想,即采用理论授课与上机练习同步,使学员在课堂上就能理解关键知识点;3. 理论与上机练习的比例为1:1;4. 理论与上机练习的所有内容与公司的项目进行绑定,使学员切实满足公司对人才的需求。1.2.4 实训过程阶段名称实战目的项目立项了解项目立项的方方面面工作。需求调研与分析了解需求的渐进明确性,并如何将需求整理得井井有条。概要设计了解概要设计的重要内容和表现形式。
10、具体设计了解具体设计的实现方法,以及如何从UML中进行部分代码生成。编码掌握编码的规范和调试技巧。测试了解测试计划、测试大纲和测试用例的编写,使用常用的测试工具。交付与维护了解交付中的重要工作,以及与客户进行沟通的技巧。项目平常管理工作介绍项目周报、周会和阶段评审等活动。项目常见问题模拟项目中常见的需求变动、人员流动等情况。项目各阶段控制流程:(图10:项目开发流程)1.2.5 课程大纲日期课程主题课程内容技术知识点第一天Java基础从Java的诞生开始,直至今日它的发展历程,以及它在编程开发领域所占的比例等,初步了解Java,为后续技术知识做铺垫Java开发环境搭建,以及配置环境变量等Jav
11、a 的程序结构及应用,以及模拟器等应用。第二天Java 数据类型及控制语句从本次课程开始,让学员开始掌握并能独立使用使用java简朴的运营语句以及数据类型转换等,这是java基础的环节。数据类型声明及转换,输出语句及程序控制语句等。配合简朴实用案例驱动讲解。第三天Java面向对象从面向对象开始,Java可以说到了中级开发的阶段,一方面面对的是java的三大特性,每个特性都包含一定的技术深度,配合案例综合全面灌输学员。Java类和对象,继承、封装、多态,以及static和final应用,抽象类和接口。调用配合案例实现运营效果第四天字符串和数组Java的字符串和数组紧跟在java面向对象开发基础上
12、,使得学员纯熟应用对于数组这种变量和字符串这种更加应用广泛的Java基础技术点学员针对字符串(各种常用的方法)和数组(实现调用案例)的结合,来配合JavaOOP面向对象编程思想独立完毕一定难度的教学案例。第五天IO流通过本章内容,充足完善体验Java针对文字二进制流的操作管理。IO就是其中一个应用非常广泛的技术点,通过IO流学习学员可以操作文献二进制的操作。具体罗列JavaIO流技术点:FiltInputStream、FiltOutputStream、BufferReader、BufferWriter第六天Java集合Java的集合是javaUtil包中的重要知识点,也是公司开发中非经常用的集
13、合概念,可以用数组的思维去理解,但是集合和数组有本质的区别,它无论是功能还是技术应用都更加广泛和进一步。Java中的集合核心体现在List、Map、Set集合,针对这三个集合,完整这三个集合不同封装添加遍历效果的实现案例第七天异常解决公司开发中无论是对报错机制的体现,还是代码的规范规定,都要有针对它的异常解决。Throws、Try/Catch/finally,相应项目案例代码的规范管理实现。第八天多线程到了多线程的开发,应当是步入java的中高端开发阶段,这里的难点要上一层,学员要学会运用多线程开发,来实现多用于调用程序方法。多线程基础理论,以及守候线程和线程同步,学员独立完毕多用于调用的程序
14、第九天网络编程进入网络编程开发,学员学会搭建简易的网络服务器和相应的客户端连接,完毕简易网络开发项目案例。网络编程中的套接字Socket、UDP、TCP.和URL第十天Oracle数据库基础Oracle数据库是现在公司开发主流数据库之一,从这章开始接触数据库的应用开发。其中账户管理和权限管理是最基本的操作。Oracle的公司环境搭建Oracle的服务管理Oracle账户及权限管理第十一天Oracle表空间及数据管理数据库开发的一个非常重要的技术点就是表空间管理,这也是Oracle与其他数据库产品的重要管理区别。在表空间中对数据进行管理也是必须掌握的技能。通过命令及相关三方软件实现对表空间的建立
15、,以及劫难性恢复,并使用PLSQL进行数据库管理。 第十二天Oracle高级查询应用及PLSQL编程针对数据库的开发,数据检索是最复杂的操作,而PLSQL编程也Oracle的应用中很重要的一部分。SQL语句操作及高级数据检索,PL块的编写及应用。 第十三天Oracle数据库-存储过程数据库开发此外一个重要的基础就是存储过程,可以理解为替代java的类方法,但是之间的差别也是非常明显的,而结合程序包的应用也是技能之一。运用Oracle数据库的存储过程来实现相应复杂的SQL语句完毕的数据库表之间的数据操作管理,以及解决项目开发中的典型方案。第十四天JDBCJDBC:Java Database Co
16、nnection,java与数据库连接操作,本技术是把之前的java基础技术和Oracle数据库的连接操作讲解。重要技术点在java.sql包内的数据库连接方法,重要涉及Connection、PreparedStatement、ResultSet三大接口实现的数据库的调用操作第十五天SwingSwing是纯Java组件,使得应用程序在不同的平台上运营时具有相同外观和相同的行为,简朴的说就是java面向cs开发的图形界面开发操作。之前多线程网络编程,外加连接OracleJDBC管理,假如更加外观精美一些,有一个展现它们的图形界面管理操作再好但是了,因此Swing的AWT、SWT等组件技术应用来完
17、毕。第十六天项目启动项目的最开始是开发项目启动环境,同时也是公司开发最初阶段这里包含项目的开题报告和任务书,重要涉及项目的重要功能,人员分工等。第十七天项目文档设计文档设计在公司开发阶段已经是非常重要的一个环节了,由于它不光是一个简朴的word文档,而是项目开发的一个参考依据,也是指导程序员开发的一个考核标准。文档重要有项目功能具体设计文档,和数据库设计文档,重要作用是指导学员所做的功能流程,环节以及实现的效果。第十八天项目数据库开发由于数据库开发建库建表主外键等是项目开发的一个基础底层核心逻辑体现,做数据库开发要对整个项目流程和实现思绪有非常清楚的头脑,所体现出来的就是数据库开发文档各个表之
18、间的作用,互相关联,以及主外键的搭建都在这个文档中体现出来,也是java程序开发人员涉及到的一个非常重要的文档标准尺度。第十九天项目实体功能开发运营在这一天中,学员重要就是项目具体功能的实现运营,依据之前的文档,数据库,来设计项目具体java程序功能代码第二十天项目整合测试项目整体整合测试环节是项目进行的尾声,也是修改功能错误的一个重要环节,因此也是项目成型展示效果的必经之路所有功能实现后进行整合阶段,也是暴露项目问题错误的重要阶段,同时也是学员提高个人项目经验的一个非常重要的时间点。实训项目说明:n 推荐项目一: 基于Java+Oracle的聊天室系统的设计与实现随着网络的快速发展,网络俨然
19、已经成为了我们了解世界和关注世界各地新动态的一个重要途径了。因此随着着网络而必然产生的一些软件也越来越多,而可以实现即时通信的聊天软件也是随之诞生,且深受用户们爱慕。而MSN,ICQ,尚有国内的QQ等大型聊天软件也成为了人们网络生活中的一部分。本文中重要阐述的是java聊天室的设计过程,以及聊天功能的实现。前台采用的java语言采用C/S架构来设计聊天室,而后台则采用Oracle 创建的数据库和表格来管理用户的信息。然后运用这2种工具的结合来完毕聊天室的设计。项目开发目的:本次实训研究重要目的是可以加深我们对java编程思想的理解,让我们养成一个良好的项目开发的编程习惯,同时也是对我们所学的j
20、ava编程的一个综合提高。而对聊天室的开发也可以更好的理解C/S架构开发的原理,可以更加纯熟的使用多线程、异常解决、Socket编程、输入输出流的使用。服务器端模块分析服务器与客户间通过套接口Socket(TCP)连接。在java中使用套接口相称简朴,Java API为解决套接口的通信提供了一个类.Socket,使得编写网络应用程序相对容易。服务器采用多线程以满足多用户的请求,并通过创建一个ServerSocket对象来监听来自客户的连接请求,默认端口为8888,然后无限循环调用accept()方法接受客户程序的连接。客户端模块分析客户通过Socket(InetAddress,port)建立与
21、服务器的连接。服务器与客户都通过构造对象流来建立输入输出流,然后双方通过该输入输出流来互相传递信息,一旦收到客户方的连接请求,服务器accept()方法返回一个新建的Socket对象。客户端然后向服务器发送消息,服务器收到来自客户的请求后,针对不同的消息解决请求。数据库模块分析数据库用于管理用户的信息,当用户在注册界面成功注册了账号,就存在数据库的用户表里面,当新用户注册时,将新账号与数据库中的账号比较来验证账号是否纯在,也可以验证账号密码是否对的。u 推荐项目二: 基于Java+Oracle的图书馆管理信息系统的设计与实现图书馆在正常运营中面对大量书籍、读者信息以及两者间互相联系产生的借书信
22、息、还书信息。现有的人工记录方法既效率低又错误过多,大大影响了图书馆的正常管理工作。因此需要对书籍资源、读者资源、借书信息、还书信息进行管理,及时了解各个环节中信息的变更,有助于管理效率的提高。项目的核心需求及功能阐述数据录入a录入新管理员的相关信息b录入新入馆的图书的具体信息c录入新入馆的某本图书副本的具体信息d录入新读者的具体信息e录入读者借阅图书的具体信息f录入读者借阅图书的历史信息g. 录入读者缴纳罚款的具体信息2.数据更新/删除h更新/删除某图书管理员的信息i删除给定图书的信息j删除给定图书的某个副本的信息k更新/删除给定读者的信息m更新/删除某读者借阅某本图书的具体信息n更新/删除借阅历史具体信息3.数据查询系统需要支持下列查询:o. 列出图书管理员的信息p. 按某些查询条件列出馆内相应图书的具体信息和可租借情况q. 列出某种图书副本的信息和可租借情况r. 按某些查询条件列出相应读者的具体信息s. 列出某个读者当前图书借阅信息及借阅历史t. 列出某个读者违章缴款的记录u. 列出某个读者的账目清单v. 生成某些使用报表,如平均借阅时间,热门借阅的图书。学员的考核方式如下: