软件工程专业生产实习实训教学实施简章
- 格式:pdf
- 大小:255.02 KB
- 文档页数:8
1.1软件工程专业生产实习实训教学实施简章
1.1.1生产实习实训教学特色
1、在实施过程中为学生提供“人手一机”的教学和开发环境
为提高实习和实训的最终效果,为学生提供“人手一机”的教学和开发环境,并应用“做中学和学中做”的教学理念,以保证取得最佳的实习和实训效果。
2、应用经典案例启发式教学
在实习和实训的教学过程中辅以大量的教学案例,每个案例都是解决某类问题的模板,循序渐进地引导学生迅速掌握Java&J2EE相关的核心知识和开发技能。
3、注重实用技能和解决实际问题
承担实习和实训指导的教师来自于知名的软件企业,并具备多年的软件开发经验。
他们不仅精通所讲授的相关课程的专业技术及知识,而且具备丰富的项目经验、为人亲和、善于沟通。
在实习和实训教学实施过程中会将自己的项目开发经验、心得体会、错误处理的方法和技巧等传递给学生。
1.1.2生产实习实训的教学目标
以“指导教师专题讲解、阶段任务布置、学员实际演练、成果评审”四个主要环节进行,共同经历“项目规划、需求分析、系统总体设计与详细设计、构造实现与系统测试”的软件开发全过程。
最终使得学生在就业能力方面能够具有更好的竞争力,同时也提高学生毕业设计论文的水平,最终提高学校的总体教学实力和对外的品牌形象。
因此,JavaEE生产实习和实训的总体目标如下:
1)注重JavaEE系统的架构及应用、体验软件开发过程中的各个环节、把握设计模式
的思想和具体应用并牢记“多层架构和松藕合”的设计原则
2)获得实际的企业级项目开发的体验和锻炼、以及文档的标准化和规范化方面的意识
增强
3)增强对所学习的各种技术和知识的合理地综合应用的技巧、并培养独立地解决问题
和自学能力
4)对软件工程中的经典的开发流程有完整的体验,特别是软件测试(单元测试和集成
测试)在项目开发中的具体应用
1.1.3团队开发方式的学习模式
1、团队(Team)中不同角色的扮演
在项目开发过程中根据软件企业开发中的需要和项目组人员的标准构成,设置多种不同的角色,每一个角色都负责项目中的一部分工作,学生可根据自己的专业特长和知识基础扮演其中的某个角色——如项目经理、系统设计师、程序员、测试员和界面开发人员等。
而指导教师通常扮演用户、系统总工程师和监理师。
但在系统测试运行阶段,用户角色有时也由学生兼任——在项目开发实施过程中则分别改换身份,分别扮演为用户、需求收集、系统设计、编码实现以及测试人员等角色。
此外,学生在完成自己角色的工作任务的基础上,也可以互换角色,以此积累不同角色的工作经验。
2、分组实施开发工作
将学生分为各个项目组,每个项目组的人数一般为6人、并分配为不同的开发角色;项目组内各成员之间相互帮助、合作并共同完成项目的开发;项目组与组之间相互协作、共享相关的开发资源。
3、项目组的人员构成和主要的职责
(1)项目组长(1人)
模拟项目经理的角色,其主要的职责为进度控制、任务安排、制定成员学习计划,评价组内成员工作状态,与指导教师共同保证项目顺利完成和定时汇报开发进度。
记录开发过程中的各种事件(人员工作状态)。
(2)技术总工(1人)
模拟项目系统架构师和设计师,其主要的职责是完成项目的需求获取及分析、系统设计,并与指导教师共同把控项目的切实可行的技术水准和解决技术难题,对项目组内成员进行技术辅导。
记录开发过程中所碰到的技术难题。
(3)编码人员(3人)
按照设计人员的设计要求分别完成系统持久层、业务服务层、控制调度层的各个功能类代码编程。
(4)界面开发及集成测试人员(1人)
负责应用程序GUI(C/S)或Web页面(B/S)的开发,也同时兼任系统的功能测试和性能测试工作。
4、小组讨论/集体学习/独立完成
项目组人员构建的基本原则:各尽所能、各有所获;互相帮助、共同进步;相互交流、团结协作。
这样的学习模式不仅能够让每位同学得到真正的锻炼,而且也能够产生出“比、学、赶、帮、超”的学习气氛和效果。
1.1.4指导教师的主要职责
1、核心技术和知识精讲
讲解项目的需求、设计思路和编程原理以及开发步骤,核心技术和知识等方面的共性的内容。
项目完成后,指导教师再对项目完成的情况进行总体评价。
2、指导教师作为任务的提出者
布置本实训环节项目的开发任务(提出功能性需求)和提出相关的要求(提出非功能性需求和设计约束等)、安排开发环境和必要的工作条件(但由学校提供)。
下图为江西农业大学软件学院05级本科生的课程实训时,部分项目组提交的初始需求的结果文档的截
图。
3、指导教师提供技术把关
讲解开发过程、分析设计、系统架构的总体要求及在项目中必须采用的一些关键性的技术。
下图为江西农业大学软件学院05级本科生的课程实训时,部分项目组提交的需求说明书的结果文档的局部截图。
4、指导教师提供技术指导
(1)对共同的知识和问题统一讲解并对学生的工作进展进行定期检查,发现问题及时纠正。
(2)对学生在项目开发中的问题进行个别辅导(只提出思路、建议和改进的要求),但不代替学生完成具体的功能实现。
(3)对核心技术和框架组件的设计和应用方面的知识统一讲解
5、指导教师提供技术帮助
提供与所开发的项目相关的案例、电子版的参考资料,并指导学生充分利用Internet
网查找相关的技术资料和信息,并根据需要提供代码实现的部分示例程序。
右图为在课程实训时,指导教师为学生提供的统一建模语言UML课程方面的讲义文件的目录局部信息截图。
丰富和详细的课件资料不仅可以扩大学生的知识面,也能够帮助学生获得解决问题的基本思路。
6、指导教师进行工作监督
对项目开展过程中的时间进度进行控制,以便能够按时完成;对项目开展过程中的技术应用的深度教学控制,以保证开发工作有一定的质量;并与各个项目的组长共同把控项目的成功完成。
下图为江西农业大学软件学院05级本科生的课程实训时,部分项目组提交的结果文档的截图。
7、指导教师在项目实训中“知识点讲解、项目指导”的内容计划安排
(1)系统需求、系统分析及Rose工具的应用:了解项目需求,并指导项目需求文档的编写。
(2)系统概要设计中的架构设计:完成项目中的总体结构设计、各种框架的具体应用、数据库设计等。
(3)系统详细设计中的类设计:OOP中的五大原则、对象职责分配模式(GRASP)的应用以指导代码设计。
(4)开发过程中的单元测试:TDD的具体应用,容器外的开发。
(5)项目的重构和代码优化:利用GOF设计模式对代码重构和优化
1.1.5实训过程和内容介绍
1、实训时间为期四周,共22天
整个生产实习和实训过程分为两个阶段:“系统设计、核心实现技术和业务知识精讲”、
“项目开发实现、迭代和重构及实训结果评测”,每个阶段的课时具体安排如下:
由于项目实训和项目的开发实现是生产实习和实训的关键阶段和重要环节,在这个阶段中,学生将对企业内部实际的工作氛围与环境有更直接的体验。
为此,在实施过程中将模拟实际的项目开发氛围,采用实际的项目案例,并将学生分成不同的项目组,进入项目实质开发实现阶段。
因此,在课时安排方面,所分配的课时比重比较高。
另外,为了能够充分利用有限的教学课时、同时也培养学生的工作责任感,每天的上午、下午和晚上各4学时——从早8:00-晚21:30。
2、具体的进度计划及安排
(1)指导思想
为充分调动学生的学习积极性和取得良好的效果,不采用集中时间段进行知识精讲的传统授课形式,而是将技术指导和知识精讲分散到整个实训教学的实施过程中,这样可以避免学生产生生理疲劳而失去开发工作的兴趣。
另外,技术指导和知识精讲是动态可调整的,指导教师会根据所带学生的具体知识情况设计出相关的集中教学内容——因材施教和个性化辅导。
但为了使得学校有关的教学负责人员能够了解生产实习和实训的具体实施过程,下面列出计划和安排。
(2)核心实现技术和业务知识精讲
(3)项目需求、系统设计和数据库、界面设计等
(4)项目的具体开发实现及测试
(5)实训教学的结果评测
(6)过程监控和考核
在技术培训和项目实训教学具体实施过程中,指导教师也将定期对参加实习的学生进行学习态度和学习能力、学习效果等方面的考核,在实习结束时给出在整个实习期间的综合评价。
另外,为能够保证实训教学真正能够达到学校的教学总体目标和要求,要求学生撰写相关的报告、计划等与项目有关的文档、定期提交项目日报与项目周报和定期召开项目例会,进行过程控制和监督检查。