谈说软件开发团队的软件工程教学实践研究
摘要:本文介绍了如何通过构建软件开发团队,结合软件工程的具体内容,容融入到具体的软件开发团队的实践中去,从而提高软件工程的教学的质量。
关键词:软件工程;教学;软件开发团队
1、软件开发团队建设
在进行软件工程教学活动初期,我们对学生按小组建立相应的软件开发团队。
1)团队建设的目的:如何将软件工程原理、方法和过程应用到实践中,体验软件工程各阶段的主要工作,特别注意吸取教训;学会与他人合作,培养团队精神。
2)软件开发项目: 由于针对的是专业基础知识不全面、缺乏工程经验的大三学生,因此要求各小组根据自己的特点选择最适合的项目,同时强调小组的实践重点的是学习过程与活动的实施技巧,而对具体的技术不做特别的要求, 从而更能发挥学生的主动性与团队的优势。
3)团队建设要求:全班分为若干小组,每组6~8人。
各组角色分配及其职责如下。
项目经理(1)
系统分析员、软件设计师(1+1)
软件开发工程师(软件开发经理1+3)
测试工程师(测试经理1+1)
为了更好地实施基于软件团队的软件工程实践,通过对实践结果及评分标准加以限制,从而更好地指导学生的实践活动。实践结果及评分标准如下。
团队提交的实践结果: 需求规格说明书、概要设计说明书、详细设计说明书、测试计划、测试分析报告、项目开发总结报告、开发进度周报;个人总结报告:演示Demo。
评分标准:项目文档描述8O%;个人总结报告l5%;Demo 5% 。
上述的评分标准表明团队是评分的.基础,这样就克服了传统教学单一实践结果的考评模式,而且评分的重要内容是软件开发过程。通过上述以团队评分为主,个人表现为辅的评分体系,达到培养学生学会与他人合作,培养团队精神的目的;通过以软件过程文档资料评分为主,以实践结果为辅的评分体系,达到学生对软件工程过程及软件工程化方法的掌握。
2、教学内容
1)软件工程概论:主要包括软件的定义、软件的特点、软件的种类以及软件工程的定义、软件过程。其中重点和难点是软件和软件工程的基本概念、软件生命周期及软件开发的几种模型。
2)需求工程与管理:主要包括需求分析的任务、需求分析的步骤、需求规格说明与评审以及需求的管理。其中重点和难点是各种需求方法的理解和掌握。
3)软件设计:主要包括软件设计的概念、技术和方法。其中重点和难点是系统的体系结构设计、分布式样体系结构, 以及面向对象设计方法的理解和运用(方法)。
4)软件测试:主要包括软件检验和有效性验证、软件测试的概念和测试技术。其中重点和难点是软件检验和有效性验证概念、方法。
5)软件变更:主要包括软件变更的定义、分类、特点、软件维护。其中重点和难点是认识到软件维护的重要性、软件维护的方法和步骤。
6)软件管理:主要包括软件项目特点、相应的管理技术。
3、教学实践
根据上述教学内容及软件开发团队的建设,采用如下的教学策略。
1)职业道德与行为规范: 对于职业道德与行为规范并不单独安排时间讲解, 而是将相关的内容融入到需求分析、软件设计、软件测试及软件变更的具体实施过程中。
2)软件项目管理:安排专门的时间对其进行讲解,目的是让学生对软件项目管理有一个框架性的认识。在讲述需求分析、软件设计、软件测试及软件变更的具体实施过程中, 再将软件项目管理的相关知识融入其中。
3)软件过程:对于软件过程是我们讲述的重点。该部分将安排比较充裕的时间对其进行讲解,使学生对软件的开发过程有一个总体的认识,同时也对现在的几种开发模型加以分析与对比,从而达到在实际项目中软件的过程的真正含义。
4)需求分析、软件设计、软件测试及软件变更:这是我们讲述的重点, 在讲解需求分析、软件设计、软件测试及软件变更的基本理论、方法的同时, 也要将这些理论、方法如何运用到学生的团队中,从而真正让同学们在学习理论、方法的同时, 也将相关的知识运用到具体的实践中, 克服了传统的单纯理论、方法的讲解。
4、教学效果
按照上述的教学实践进行了两届学生的尝试,达到了较好的教学效果。正如同学们的反映:“把软件工程这门课列为最喜欢上的课”,“上了软件工程这门课我感觉非常有收获,尤其是那些深入浅出的例子给了我很多启发。课后的课程设计更是给了我很大的锻炼。”“总之做完这个系统, 我感觉自己又加深了对团队精神的理解, 也让我对自己有了一个更加清楚的认识。”
【谈说软件开发团队的软件工程教学实践研究】相关文章: