软件工程师课程说明
一、课程体系
(一)课程说明与目标
1、课程说明
《软件工程师培训课程》主要是结合目前企业用人要求,整合前沿高端技术及高级讲师、全力构建的软件工程师培训项目,确保学员能够通过真实项目训练,全面掌握软件技术体系,形成实战能力,赢取高薪就业,通过最优秀的双师型讲师及完备的实训体系,培养懂软件开发技术及开发流程、精通软件测试理论和测试工具、熟悉金融及行业业务知识高端复合型软件工程师。
- 课程目标
本培训体系教程为《软件工程师培训课程》,培养的人才争取达到以下目标:
1)能够掌握单机、网络环境下多种体系结构软件的测试;
2)能够在 Linux/Windows平台上,建立多种体系结构(包括数据库)的软件运行和测试环境;
3)能够掌握软件开发技术并能够编写简单应用程序、测试脚本;
4)能够掌握测试流程、缺陷管理流程,并能对测试流程实施监督和处理;
5)能够编写测试计划、设计测试用例、执行测试并填写缺陷报告;
6)能够协助开发人员进行白盒测试;
7)能够使用自动化测试工具尤其性能测试工具进行测试;
8)熟悉了解监控知识,熟悉中间件、数据库;
9)撰写各种测试文档。
通过培养,使学员具备以下知识能力
1)熟悉WINDOWS操作系统及基本网络知识和网络协议
2)熟悉LINUX操作系统,掌握LINNUX基本命令及正则表达式和shell编程
3)掌握C语言,熟悉软件工程开发流程及CMM
4)掌握Java语言,掌握面向对象编程技术以及Web开发、部署和配置
5)熟悉配置管理,掌握SVN(或VSS)的使用
6)掌握软件测试模型,软件测试原则,缺陷管理流程,软件测试流程,功能测试策略,评审,测试分析
7)掌握测试用例概念及作用和黑盒白盒设计测试用例的方法
8)掌握测试评估和测试度量,测试过程改进方法
9)掌握性能测试,掌握中间件、数据库的性能监控技术
10)掌握QTP,LR, TD(QC),BUGZILLA等工具
11)掌握Oracle数据库,关键是标准SQL语言的使用,熟悉MySQL数据库
12)能撰写各种文档:测试计划,测试报告,缺陷报告,性能测试方案
通过培养,使学员具备以下基本素质能力
1)表达能力
2)沟通能力
3)团队合作能力
4)独立分析问题的能力
5)独立解决问题的能力
(二)培训模式与教学方式
培训模式(独创ETPS实训模式)
循序渐进的教学模式;以JobRole为导向,完成各阶段训练;
1)E-learning教学模式
培养目标:职业技术能力(扎实的技术基础)
通过实训平台中“场景-知识点”对应的训练模式使学员迅速掌握知识点的运用方法,为后续的项目训练打下坚实的技术基础。
2)Training教学模式
培养目标:职业技术能力(熟练使用企业常用技术)
每门课程均设有“课程项目训练”,通过该训练可以使学员掌握本门课程知识点的综合运用能力
3)Practice教学模式
培养目标:职业技术能力(技术综合应用、系统设计能力、真实软件开发测试过程)
本阶段的训练项目均采编自企业的真实应用,并经过了规范化和教学化的全面改造。对学员进行从企业软件开发过程、技术综合运用能力等方面进行全面的实战训练。
4)Service 服务体系
所有德润学员将成为卓扬俱乐部终身会员,享受职业规划、会员交流、职业发展、技术交流等会员服务。
教学方式:
1)预习:先有老师对下次课提出预习目标
2)理论教学:启发式教学,提出问题,有学员解答,老师补充
3)学员讲授:学员根据老师指定内容,提前查找相关资料,进行讲解
4)学员自学:老师指定学习内容,学生自学了解,老师设置检查点
5)实践指导:由老师提出实践目标,最后检查实践目标
6)项目实训:学生根据实训计划进行实训,对项目设置检查点并及时检查和点评
课程内容与时间安排
课程 |
覆盖知识点 |
课时 |
Windows及网络协议 |
Windows操作系统,TCP/IP协议、网络配置、FTP协议 |
40 |
C语言 |
常量与变量、运算符、三大结构、结构化编程 |
40 |
Java语言及编程实训 |
面向对象技术、异常处理和多线程 |
80 |
数据库技术 |
标准SQL、Oracle数据库系统、MySQL数据库系统、索引、存储过程、触发器、事务控制、用户管理、备份与还原、性能监控、性能优化 |
40 |
软件测试基础 |
软件开发流程,软件开发模型及CMMI,软件测试原则,测试计划,测试报告,缺陷报告,测试策略,软件测试流程,缺陷处理流程,软件评审,BUGZILLA、配置管理 |
80 |
高效编写测试用例 |
黑盒设计测试用例方法,白盒设计测试用例方法 |
40 |
自动化测试技术 |
Qtp,LR的工具使用,性能测试流程、测试场景、性能测试计划,性能测试方案,性能测试报告 |
40 |
Linux操作系统 |
Linux文件系统、linux命令及基本操作、shell编程 |
40 |
Web系统开发与部署 |
HTTP协议,Web系统开发、部署,中间件服务器配置、管理和性能监控 |
40 |
金融业务 |
金融业务知识、业务流程 |
16 |
功能项目实训 |
选取项目,按测试流程进行测试 |
80 |
性能项目实训 |
选取项目,按性能测试流程进行测试 |
80 |
环境搭建 |
基于LINUX+apache+mysql模块搭建BUGZILLA |
24 |
环境搭建 |
基于WIN2003+TOMCAT/WebLogic+Oracle搭建金融系统 |
16 |
职业素质课 |
沟通、团队协作、职业礼仪 |
40 |
就业指导课 |
简历指导、模拟面试、模拟笔试 |
40 |
小计 |
|
736课时 |
二、教学大纲
1、windows及网络协议
windows及网络知识和主要网络协议(40) |
||||
教学内容/时间 |
教学方式 |
要点 |
实践练习 |
检查点 |
虚拟机与Windows操作系统(8小时) |
教师教学 学生实践 |
|
安装虚拟机 安装操作系统 |
共享文件夹 网络配置正确 |
Windows硬件知识(16小时) |
教师教学 学生实践 |
|
|
|
Windows软件知识(8小时) |
教师教学 学生实践 |
|
|
1,文件操作 2,Word办公软件的使用 3,使用基本的DOS命令
|
网络知识(8小时) |
教师教学 学生实践 |
|
1,配置网络,能上网或局域网连通 2,配置FTP服务器,能登录FTP服务器上传和下载文件 |
3, 熟悉HTTP协议及状态码 |
2、C语言
C语言(40) |
||||
教学内容/时间 |
教学方式 |
要点 |
实践练习 |
检查点 |
Vc/Dev c++开发环境使用(2小时) |
理论教学 实践指导 |
1,与WORD比较,讲解基本菜单和工具栏 2,讲述开发环境菜单中常用菜单功能项 |
编写、编译、执行一个简单的程序 对程序执行断点调试 |
|
基本数据类型,类型转换(8小时) |
学员讲解 实践指导 |
|
写一个程序,定义各种基本类型并赋值 |
赋值是否与类型一致 |
输入输出函数(4小时) |
学员讲解 实践指导 |
拿程序讲解(程序要包含各种格式符和标志) |
课后程序练习 |
|
绘制控制流程图(2小时) |
预习 理论教学 实践指导 |
拿一个例子,进行讲解并画出控制流程图 |
画控制流程图 |
|
条件语名,循环语句,函数,多文件编制,全局与局部变量,数组,指针,结构体,文件(24小时) |
学员讲解 实践指导 |
选择相关知识点的程序,让学员进行分析讲解 |
编写各种知识点的程序 |
检查程序编写是否正确 |
3、Java面向对象语言
Java语言(80课时) |
||||
教学内容/时间 |
教学方式 |
要点 |
实践练习 |
检查点 |
安装JDK和配置环境变量(2小时) |
理论教学 实践指导 |
安装JDK 配置JAVA_HOME、PATH和CLASS_PATH |
安装jdk 配置环境变量 |
说出jdk和jre是什么 测试环境变量是否配置正确 |
安装和使用集成开发环境(2小时) |
理论教学 现场演示 实践指导 |
|
安装IDE 使用IDE创建工程 编辑、编译和执行一个简单的应用程序 |
正确编写、编译和执行程序 |
编程入门(8小时) |
学员讲解 实践指导 |
|
写一个程序,定义各种基本类型并赋值 |
和C语言编程入门很类似,所以可快速讲解 |
面向对象技术(24) |
理论教学 现场演示 实践指导 |
1,类和对象 2,继承和接口 3,JavaBean |
编写一个ATM机登录系统,覆盖知识点 |
|
函数、类和对象、集合框架、异常处理、I/O流、多线程(24小时) |
学员讲解 实践指导 |
选择相关知识点的程序,让学员进行分析讲解 |
编写各种知识点的程序 |
检查程序编写是否正确 |
4、Java语言项目实训
Java语言项目实训(20) |
|
项目名称:ATM机取款系统 |
|
系统的功能: 登录,查询、取款、打印小票 |
|
学生获得的资料 |
《ATM机取款系统需求说明书》和《细设计说明书》 |
输出的结果 |
ATM机取款系统程序 |
版本管理 |
每天的程序通过SVN进行管理 |
检查点 |
|
5、数据库技术(Oracle、MySQL)
数据库(40) |
||||
教学内容/时间 |
教学方式 |
如何讲 |
实践练习 |
检查点 |
Oracle数据库安装与卸载(4) |
实践 |
|
|
安装成功,能够使用;能正确卸载 |
数据库的设计(2) |
学生讲解(了解即可) |
|
建立一个销售管理系统E-R图 |
1,检查实体的关系和属性是否正确,且符合三大范式 |
数据库的基础(4) |
预习 理论教学 实践指导 |
演示数据库的基本使用
|
由学员建一个销售管理系统的数据库 |
|
SQL语言(12) |
预习 理论教学 实践指导 |
讲解和演示 |
学生以销售管理系统为项目进行各种SQL语句的练习 |
1,检查各种语句的掌握情况 |
索引(2) |
预习 理论教学 实践指导 |
讲解和演示 |
为表建立索引 |
|
存储过程(4) |
预习 理论教学 实践指导 |
讲解和演示 |
编写存储过程 |
|
触发器(2) |
预习 理论教学 实践指导 |
讲解和演示 |
编写触发器 实现序列 |
|
数据库备份与还原(2) |
预习 理论教学 实践指导 |
讲解和演示 |
备份数据库 还原数据库 |
检查是否能正确备份和还原 |
性能监控与优化(4) |
预习 理论教学 实践指导 |
讲解和演示 |
数据库性能指标 监控性能 优化性能 |
|
MySQL数据库(4) |
|
|
以销售管理系统为项目,进行各种练习 |
掌握各功能点的掌握情况 |
6、软件测试理论基础
测试基础(80小时) |
||||
教学内容/时间 |
教学方式 |
讲课要点 |
实践练习 |
检查点 |
软件开发流程和开发模型(4) |
理论教学 |
|
|
说出开发流程 说出各种模型的优缺点 |
软件测试原则(2) |
学生讲解 |
|
|
|
缺陷报告(8) |
预习 理论教学 实践指导 |
|
根据相关被测软件,写5个缺陷报告 |
|
缺陷管理系统(8) |
预习 理论教学 实践指导 |
|
查找相关软件的缺陷 ,录入BUGZILLA系统,练习BUGZILLA的使用和管理 |
|
功能测试策略(8) |
预习 理论教学 实践指导 |
|
拿出一个项目的一些功能 |
有学生选取正确的测试策略 |
软件测试流程(6)
|
预习 理论教学 |
|
|
|
评审(2) |
预习 理论教学 |
|
在后面的项目实训中加入评审实践 |
|
测试计划(10) |
预习 理论教学 实践指导 |
|
|
1,计划是否具有可执行性 2,计划与实践的偏差 3.测试计划是否具有不同读者所取得的信息 4,计划评审的问题及更改跟踪 5,评审的效果(是否关注了相关的点) |
测试执行与缺陷处理流程(16) |
预习 理论教学 实践指导 |
|
|
|
测试总结报告及测试分析(8) |
预习 理论教学 实践指导 |
|
针对银行ATM机系统和扫雷游戏软件写测试总结报告 |
分析1):测试的覆盖率及原因(需求) 2)测试遗留问题原因 3)测试过程问题原因分析 |
配置管理及SVN(8小时) |
预习 理论教学 实践指导 |
|
练习SVN基本使用(SVN的安装) |
基本的检入检出 |
测试过程改进及改进模型、CMM和CMMI成熟度模型 |
学生自学 |
给学生提供相关资料 |
|
|
7、测试用例
测试用例(40) |
||||
教学内容/时间 |
教学方式 |
如何讲 |
实践练习 |
检查点 |
测试用例(16) |
预习 理论教学 实践指导 |
|
根据工程师软件,写测试用例
|
1,根据需求不同的目的,用例大约分三部分来达到不同测试阶段不同的测试目的
2,测试用例描述是否到位,其他人也能顺利执行 |
设计测试用例的方法(12) |
预习 理论教学 实践指导 |
等价类,边界值,错误推测,因果,场景 |
找相关软件练习设计 测试用例的方法 |
检查几个点的练习情况 |
白盒设计测试用例的方法(12) |
预习 理论教学 实践指导 |
逻辑覆盖,循环覆盖,路径 |
找一个程序,设计相关用例 |
检查覆盖的程度 |
8、自动化测试技术
自动化工具(40) |
||||
教学内容/时间 |
教学方式 |
如何讲 |
实践练习 |
检查点 |
QTP(8) |
预习 理论教学 实践指导 |
以实例讲解QTP知识点 |
根据定票系统练习相关知识点 |
|
LR(16) |
预习 理论教学 实践指导 |
以实例讲解LR知识点 |
根据练习项目练习相关知识点 |
|
TD(8) |
预习 理论教学 实践指导 |
以实例讲解td知识点 |
根据练习项目练习相关知识点 |
|
性能测试(8) |
预习 理论教学 学员自学(一些指标) |
|
写一个项目的性能测试方案 |
性能测试方案的合理性 |
9、LINUX操作系统
LINUX操作系统(40) |
||||
教学内容/时间 |
教学方式 |
要点 |
实践练习 |
检查点 |
Linux安装(4) |
理论教学 实践指导 |
|
|
安装成功且可使用 |
Linux基本命令(4) |
学生讲解 |
每个命令的意义及常用参数 |
练习各命令的使用 |
常用命令的使用 |
Linux网络配置及软件的获得方式(8) |
预习 理论教学 实践指导 |
|
练习配置网络的命令 练习获取软件的FTP和网上邻居试 |
|
LINUX下如何安装源代码程序和RPM包(8) |
预习 理论教学 实践指导 |
演示源码程序和RP包的安装步骤 |
练习这两种形态软件的安装 |
所给的软件是否安装成功 |
正则表达式及SHELL编程(16) |
预习 理论教学 实践指导 |
|
|
完成规定的程序 |
10、Web开发技术和Web系统部署
Java Web与中间件(40) |
||||
教学内容/时间 |
教学方式 |
如何讲 |
实践练习 |
检查点 |
B/S开发模型 服务器安装(2) |
实践 |
|
|
安装成功,能够使用 |
HTML技术(4) |
预习 理论教学 实践指导 |
演示 |
网页编写 |
1,网页设计正确 2,表单元素使用正确 |
Servlet技术(8) |
预习 理论教学 实践指导 |
演示 |
服务器端程序 |
1,客户端能正确访问服务器程序 2,返回页面正确 |
MVC模型(2) |
预习 理论教学 实践指导 |
演示 |
学生以银行项目为主实现MVC模型 |
1,检查程序结构 |
中间件服务器(8) |
理论教学 实践指导 |
演示 |
安装和配置中间件服务器websphere 管理和配置服务器 部署项目到服务器 |
正确安装服务器 能将web系统正确部署到服务器 正确配置连接池和数据源 |
中间件性能监控(8) |
理论教学 实践指导 |
演示 |
监控服务器性能 优化服务器 |
|
项目实训(8) |
理论教学 实践指导 |
分析需求和详细设计 |
学生实现XX集团综合业务平台 |
项目功能 |
11、金融业务知识
金融业务(16) |
||||
教学内容/时间 |
教学方式 |
如何讲 |
实践练习 |
检查点 |
金融业务概述(2) |
实践 |
|
|
|
银行基本业务(2) |
预习 理论教学 |
|
|
|
银行信贷业务(4) |
预习 理论教学 |
|
|
|
银行信用卡业务(4) |
预习 理论教学 |
|
|
|
互联网金融业务(2) |
理论教学 实践指导 |
演示 |
网银、支付接口、第三方支付 |
|
基本财务概念(2) |
理论教学 实践指导 |
|
|
|
12、功能项目实训
功能项目实训(80) |
|
项目名称:以组为单位,选取项目 |
|
功能过程:
|
|
学生获得的资料 |
需求和系统 |
输出的结果 |
测试计划,用例,缺陷,总结报告 |
测试管理工具 |
用例,缺陷等测试过程都有TD进行管理 |
检查点 |
|
培养目标 |
4,沟通能力 |
13、性能项目实训
性能项目实训(80) |
|
项目名称:xx银行银行卡综合业务系统 |
|
性能过程:
|
|
学生获得的资料 |
《用户手册》及环境搭建所需资料 |
输出的结果 |
性能测试方案及性能测试报告 |
版本管理 |
文档通过SVN进行管理 |
检查点 |
1,方案制定是否合理 |
培养目标 |
|
14、linux环境搭建
环境搭建:linux+apache+mysql,搭建BUGZILLA系统并配置邮箱服务器(24) |
提供的资料:《环境搭建手册》 环境搭建所需的所有软件 |
培养的目标:1,在linux下搭建环境的能力 2,独立分析问题的能力 3,解决问题的能力 4,沟通能力 |
15、win2003环境搭建
环境搭建:win2003+tomcat+Oracle,搭建金融物流平台系统(16) |
提供的资料:环境搭建所需的所有安装程序及安装软件 环境搭建手册 |
培养的目标:1,搭建B/S架构软件的能力 2,独立分析问题的能力 3,解决问题的能力 4,沟通能力 |
三、考试介绍
(一)考试要求
例如:
1、考试采用在线考试或密闭试卷考试两种形式,教学基地统一组织;
2、项目考核采取100分制,60分理论考试,40分实操考核,总成绩达60分及以上者为合格。
3、教学基地须通过MIS 系统上报学员信息。
4、教学基地须提交学员信息:学员照片(*.jpg格式,分辨率为300,照片为小二寸,宽度*高度 3.5*4.5cm,412*531像素,并以学员身份证编号命名)、身份证号码、联系电话和电子信箱等基本信息要真实有效。
5、教学基地必须严肃考风考纪,不得有任何徇私舞弊现象,项目管理办公室进行远程监控或现场检查。
6、对于参加培训,但考核未通过的学员,教学基地须提供两次免费补考的机会。 第三次以后的补考收费不能超过学员培训费的10%。
7、教学基地禁止买卖证书,或不培训不考试而为学员颁发证书。
8、上机考试采用在线考试系统进行考试,在规定时间内完成规定的考试。详细考试系统说明见《考试系统说明手册》。(可附考试登录界面截图)
(二)考试重点
(三)申报条件(分级别的需写明以下条件)
初级申请条件
1、年满16周岁
2、高中以上文化学历
3、具有基础计算机理论知识
中级申请条件
1、年满20周岁
2、专科以上文化学历
3、具有计算机理论知识
高级申请条件
1、年满20周岁
2、本科以上文化学历
3、具有计算机理论知识
四、授课讲师介绍
资深专家 饶晨光
10年以上软件开发和测试经验;曾任职于高新开发区管委会信息中心,全面负责信息中心的软件和网络项目的管理工作,随后在评测中心担任高级软件开发和测试讲师工作,并全面负责Autodesk项目的自动化测试工作,在软件开发、测试和项目管理方面拥有丰富的经验。
高级讲师 张大伟
10年软件开发与测试经验;曾任职于华际信息系统有限公司负责中国银行河北省分行预警监控内控管理平台的系统测试、中国建设银行存储系统拓扑管理平台的性能测试、中国农业银行门户网站二期项目部分模块的的功能测试与性能测试,负责测试团队人员的业务培训、技术规划、人才培养、团队建设;随后在全时云商务服务股份有限公司负责Tang平台测试环境的搭建和维护、各大版本测试工作的统筹和规划、独立服务器的性能测试。
高级讲师 孙宵
6年软件测试经验;曾任职于北京多语公司、东软集团(北京)有限公司等多家大型企业,长期从事Autodesk系列产品、Nokia手机系统的功能和性能测试工作,在项目管理、产品需求分析、用例设计等方面具有丰富的经验。
高级讲师 张哲
8年IT从业经验,长期专注于自动化框架设计及开发实施领域的研究工作,先后主持并参与过多家国有银行和互联网公司的测试管理及自动化测试实施项目;并在多家银行、保险及互联网公司担任自动化测试内训讲师,熟悉金融、保险、电商等行业的业务流程;在金融、保险、电商等领域积累了丰富的项目经验和行业知识。擅长主流测试工具如:QuickTest Professional,Testcomplete,Selenium-WebDiver,Robot Framework等的使用和研究。
讲师 王翔宇
5年软件测试工作经验,曾任职于农业银行、泰康人寿保险公司,负责功能测试项目,其主要项目有农行信贷系统,泰康人寿统一销售管理系统等,精通MySQL、Oracle等数据库理论知识和实际应用,熟悉金融行业业务知识,熟悉功能测试流程,熟练编写功能测试各类测试文档,拥有丰富的功能测试项目实战经验。
讲师 杨雷
10年以上测试与管理经验,曾任职于百佳泰信息技术(北京)有限公司担任高级测试工程师/Product owner/Team Leader,主要从事NOKIA手机软件的测试和管理工作,同时负责项目内的技术支持工作,随后在文思海辉软件技术有限公司担任高级测试工程师/Product owner/项目经理/EM,负责手机软件的测试和管理工作,精通测试管理工具Test Director/Quality Center,熟练使用Bug管理工具Rational Change/Nzilla/Product Studio/Lotus Notes等。
讲师 王熠
5年软件测试工作经验,曾任职于成都西可科技、东软集团成都有限公司,负责S40、S30、android平台的手机测试,金融行业保险的系统测试,包括前台、后台、接口的测试,以及IOS和android的移动终端测试。熟悉软件测试工作的各项要点,有能力分析新的需求编写测试用例,制定相关测试计划,掌控测试进展,对产品质量状况进行评估并推进项目进程。