论文部分内容阅读
【摘要】介绍并分析了运用社会需求导向第二课堂教学体系的项目开发体验课程,结合敏捷项目开发及管理方法,提出敏捷驱动下学生体验项目的教学模式,提高了学生团队项目管理和自主开发技能,促进了学生创新创业能力的提升。
【关键词】项目开发体验课程 敏捷开发 软件工程 教学模式 学生项目
【中图分类号】G642 【文献标识码】A 【文章编号】2095-3089(2015)10-0061-02
根据《教育部等九部门关于加快软件人才培养和队伍建设的若干意见》等相关文件精神,为使用我国社会信息化迅速发展,天津师范大学软件工程专业以“学生为中心、需求为导向、创新求发展”为办学宗旨宗旨,坚持开放式办学,坚持国际化道路,坚持工程特色,突出实践技能和外语技能培养,在教学模式、教学内容、课程体系、教学方法等方面进行探究和创新,为学生系统学习软件工程专业知识、参与软件开发、维护和管理提供了良好的学习和实践条件。目前,挂牌“天津市软件人才培养培训示范基地”,培养出实用型、复合型软件高级工程技术人才和软件工程管理人才,为天津市软件产业快速发展提供坚实的人才资源后盾。
一、项目开发体验课程
天津师范大学软件工程专业[1]实行订单式培养,与四家企业签署定向协议;聘请软件工程领域经验丰富的教授、专家和软件企业工程师授课;采用“3+1”模式,即3年专业基础教育、1年企业工程实践。为更好融入企业工程实践,更加适应公司工作环境和文化环境,软件学院学生在大一和大二四个学期开设《项目开发体验》课程,共2学分,每学期0.5学分8学时,旨在引导低年级学生具备软件项目工程意识,加强学生对软件项目管理能力,以学生第一视角初步体验软件产品开发流程。项目开发体验课程放弃传统的教学模式,运用基于社会需求导向的信息技术专业第二课堂实践教学体系,做了以下三方面的探索和实践。
1.教学内容改革
结合学生第一课堂的教学内容和学生专业知识基础,《项目开发体验》四个学期由易到难地分别完成“小型网站建设”“迷宫类小游戏”“软件产品创业计划书”“安卓手机应用开发”为教学内容,并以自然班的形式,4-6名同学为单位成立项目开发小组完成的软件体验项目,自主开发软件产品。
2.教学方法改革
以“学生科技协会”为抓手,锻炼出具备一定的软件开发经验、学科竞赛成绩优秀的高年级学生,发挥其科技骨干力量,以“师兄”“师姐”的学生的角度讲解软件项目的学习方法,实践技巧。发挥学生之间课堂上下联动机制,抱砖引玉,推进教学内容及项目开发进度。
二、软件工程项目管理中的敏捷思维
敏捷思维是将以人为本、团队合作、快速响应和可以工作的软件作为宗旨,进行软件工程管理的重要工具[2]。无论预料之外软件需求的变化,还是预想不到软件设计的失败,敏捷思想均可快速地使用市场和需求的变化。敏捷方法旨在解决开发过程中冗余、笨重、繁杂的缺点,要求团队中在高度协作的环境中,不断地进行自我调整和完善,关注项目开发中重点。因此,敏捷软件开发原则[3]看,敏捷思维应遵循以下几点:
第一,通过尽早地,持续地交付软件功能,使客户满意。这条原则可以使软件适应不断的市场变化及带来的客户需求的改变。
第二,软件项目后期,也欢迎客户改变需求。利用需求变化为客户创造价值优势。即使软件需求改变,灵活的软件设计结构,让系统造成的影响很小。
第三,在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。客户、开发人员频繁交互和有效交互使软件不断在引导。
第四,团队合作中最优效率传递信息的方法是面对面交谈。敏捷团队以丰富的交谈内容替代规范的书面计划和文档。
第五,以工作的软件作为衡量进度指标。敏捷项目放弃以所处的开发阶段、已编写文档数量或已创建基础结构,而以完成满足客户指标的需求功能为指标对软件进行进度评估。
第六,敏捷过程提倡可持续开发速度。责任人、客户和开发者应该保持一个长期的、恒定的开发速度,保证软件的质量。
三、敏捷驱动下项目开发体验课程教学模式
从教学工作方面,无论从科研项目,到教学方向组,从扎实的理论基础到丰富的教学经验,从专攻的科研领域到前沿技术的洞察力,任课教师激励学生不断探索新技术、新知识、新领域。
从实验工作方面,开设学生创新工作室、实验室开放项目、学生创业孵化器等,为学生提供项目开发场地和软硬件全方位支持。
从学生工作方面,拥有专业技能的辅导员从学生团队思想和培养项目管理学生角度出发,带动学生工作热情与激情,跟踪学生开发进度,着重培养学生团队沟通能力和协作能力。
天津师范大学软件学院创新教学思路,探索实践模式,将企业运营模式——敏捷开发引入第一课堂和第二课堂,以敏捷驱动,构建起团结协作、自主学习、创新创业型学生项目开发团队。
1.敏捷驱动,全员参与,构建团结协作型团队
课程初期,在设定为必修课的教学大纲下,搭建全员参与的学生团队进行分组教学。每个团队中很难挑选出合格的管理者与核心成员,面临所有项目团队容易出现的问题,如项目驱动力不强,克服困难意志不坚定,计较得失、火上浇油等。团结协作不佳来源于团队内部沟通不畅、意见分歧、不作为等因素,团队协作能力直接影响着课程的分数和最后团队成果的效果。
敏捷开发中强调“个体和交互胜过过程和工具”。组建一个事半功倍的团结项目团队,首先要将“做事”为第一位,很多尤其是初学者,在项目开发中不是将项目实现、修复bug、成功完成放在首位,而是最高的优先级放在解决问题上。以“对事不对人”的教学理念,使学生项目团队针对获得开放性任充分讨论,遇到分歧问题倡导“为了缓解这个问题,我能做些什么”、“我能帮你做些什么”这些融洽的沟通配合方式。运用“设定最后时间节点”、“逆向思维”、“设立仲裁人”、“全力支持团队决策”的技巧,让整个项目团队齐头并进。 项目开发体验课程,坚持敏捷思维,强调组内沟通,搭建起“做事”的团结协作型团队。
2.敏捷驱动,克服障碍,构建自主学习型团队
课程中期,组建项目团队后,按照课程进度进行项目开发。由于学生团队理论基础薄弱,实践编程经验缺乏,从产品设计到语言编程均需要从零学起。不仅如此,课程中期暴露出团队内部不明确的职责分工,造成项目进度停滞倦怠,学生团队对项目失去信心。
敏捷开发中提倡“可以工作的软件”。学生自主设计软件时,利用任课教师、班主任、辅导员全程指导、实时跟踪将学生的想法,与专业理论相结合,在学生岔路口上给予方式和方法的指导,克服技术瓶颈带来的障碍,培养学生自主学习、举一反三的软件管理与软件开发能力。技术始终推陈出新,完成同样的功能可以应用不同的解决方案,鼓励学生探索新路径,掌握新技术。以“可以工作的软件”为原则,利用“可以天天在一起开发”管理方法,快速推进开发进度。
项目开发体验课程,坚持敏捷思维,注重适应变化,搭建起“坚强”的自主学习型团队。
3.敏捷驱动,坚持探索,构建创新创业型团队
课程末期,以责任分工安排团队领导者进行项目陈述答辩,介绍完成项目的所有工作,包括项目产品设计,市场应用,团队责任分工等工作。学生团队在初步完成项目任务时受限于项目开发经验和市场驱动力,完成质量较低,出现错误较多,与成熟的企业级产品应用距离相差很远。
敏捷开发中提倡“响应变化胜过遵循计划”。任课教师敦促项目应用不断优化,从系统架构到人员配置,从前台界面到编程效率,是学生项目开发团队适应市场需求变化的快速性以及随之带来的产品提升工作。结项答辩后,选树优秀作品,备战专业竞赛,选入以学生创意空间工作室为依托的创业孵化器,推荐企业创业导师进行包装加工,升级为大学生创新创业项目进行资金支持
项目开发体验课程,坚持敏捷思维,坚定不懈探索,搭建起“变化”的创新创业型团队。
四、结束语
在敏捷思维驱动下的天津师范大学软件工程开发体验课程,搭建以社会需求导向第二课堂教学体系,创新教学模式,探索教学方式,培育出团结协作、自主学习、创新创业型学生项目开发团队,为软件工程专业“3+1”的实践型人才培养模式打下良好基础。
参考文献:
[1] http://59.67.75.245/college/software/.[天津师范大学软件工程专业简介].
[2] Venkat, S.; Andy H.高效程序员的45个习惯:敏捷开发修炼之道[M]. 钱安川,郑柯译. 北京:人民邮电出版社,2010.
[3] Robert C.; Martin. 敏捷软件开发:原则、模式与实践[M].邓辉译.北京:清华大学出版社,2003.对话[M]. 北京,机械工业出版社,2012.
【关键词】项目开发体验课程 敏捷开发 软件工程 教学模式 学生项目
【中图分类号】G642 【文献标识码】A 【文章编号】2095-3089(2015)10-0061-02
根据《教育部等九部门关于加快软件人才培养和队伍建设的若干意见》等相关文件精神,为使用我国社会信息化迅速发展,天津师范大学软件工程专业以“学生为中心、需求为导向、创新求发展”为办学宗旨宗旨,坚持开放式办学,坚持国际化道路,坚持工程特色,突出实践技能和外语技能培养,在教学模式、教学内容、课程体系、教学方法等方面进行探究和创新,为学生系统学习软件工程专业知识、参与软件开发、维护和管理提供了良好的学习和实践条件。目前,挂牌“天津市软件人才培养培训示范基地”,培养出实用型、复合型软件高级工程技术人才和软件工程管理人才,为天津市软件产业快速发展提供坚实的人才资源后盾。
一、项目开发体验课程
天津师范大学软件工程专业[1]实行订单式培养,与四家企业签署定向协议;聘请软件工程领域经验丰富的教授、专家和软件企业工程师授课;采用“3+1”模式,即3年专业基础教育、1年企业工程实践。为更好融入企业工程实践,更加适应公司工作环境和文化环境,软件学院学生在大一和大二四个学期开设《项目开发体验》课程,共2学分,每学期0.5学分8学时,旨在引导低年级学生具备软件项目工程意识,加强学生对软件项目管理能力,以学生第一视角初步体验软件产品开发流程。项目开发体验课程放弃传统的教学模式,运用基于社会需求导向的信息技术专业第二课堂实践教学体系,做了以下三方面的探索和实践。
1.教学内容改革
结合学生第一课堂的教学内容和学生专业知识基础,《项目开发体验》四个学期由易到难地分别完成“小型网站建设”“迷宫类小游戏”“软件产品创业计划书”“安卓手机应用开发”为教学内容,并以自然班的形式,4-6名同学为单位成立项目开发小组完成的软件体验项目,自主开发软件产品。
2.教学方法改革
以“学生科技协会”为抓手,锻炼出具备一定的软件开发经验、学科竞赛成绩优秀的高年级学生,发挥其科技骨干力量,以“师兄”“师姐”的学生的角度讲解软件项目的学习方法,实践技巧。发挥学生之间课堂上下联动机制,抱砖引玉,推进教学内容及项目开发进度。
二、软件工程项目管理中的敏捷思维
敏捷思维是将以人为本、团队合作、快速响应和可以工作的软件作为宗旨,进行软件工程管理的重要工具[2]。无论预料之外软件需求的变化,还是预想不到软件设计的失败,敏捷思想均可快速地使用市场和需求的变化。敏捷方法旨在解决开发过程中冗余、笨重、繁杂的缺点,要求团队中在高度协作的环境中,不断地进行自我调整和完善,关注项目开发中重点。因此,敏捷软件开发原则[3]看,敏捷思维应遵循以下几点:
第一,通过尽早地,持续地交付软件功能,使客户满意。这条原则可以使软件适应不断的市场变化及带来的客户需求的改变。
第二,软件项目后期,也欢迎客户改变需求。利用需求变化为客户创造价值优势。即使软件需求改变,灵活的软件设计结构,让系统造成的影响很小。
第三,在整个项目开发期间,业务人员和开发人员必须天天都在一起工作。客户、开发人员频繁交互和有效交互使软件不断在引导。
第四,团队合作中最优效率传递信息的方法是面对面交谈。敏捷团队以丰富的交谈内容替代规范的书面计划和文档。
第五,以工作的软件作为衡量进度指标。敏捷项目放弃以所处的开发阶段、已编写文档数量或已创建基础结构,而以完成满足客户指标的需求功能为指标对软件进行进度评估。
第六,敏捷过程提倡可持续开发速度。责任人、客户和开发者应该保持一个长期的、恒定的开发速度,保证软件的质量。
三、敏捷驱动下项目开发体验课程教学模式
从教学工作方面,无论从科研项目,到教学方向组,从扎实的理论基础到丰富的教学经验,从专攻的科研领域到前沿技术的洞察力,任课教师激励学生不断探索新技术、新知识、新领域。
从实验工作方面,开设学生创新工作室、实验室开放项目、学生创业孵化器等,为学生提供项目开发场地和软硬件全方位支持。
从学生工作方面,拥有专业技能的辅导员从学生团队思想和培养项目管理学生角度出发,带动学生工作热情与激情,跟踪学生开发进度,着重培养学生团队沟通能力和协作能力。
天津师范大学软件学院创新教学思路,探索实践模式,将企业运营模式——敏捷开发引入第一课堂和第二课堂,以敏捷驱动,构建起团结协作、自主学习、创新创业型学生项目开发团队。
1.敏捷驱动,全员参与,构建团结协作型团队
课程初期,在设定为必修课的教学大纲下,搭建全员参与的学生团队进行分组教学。每个团队中很难挑选出合格的管理者与核心成员,面临所有项目团队容易出现的问题,如项目驱动力不强,克服困难意志不坚定,计较得失、火上浇油等。团结协作不佳来源于团队内部沟通不畅、意见分歧、不作为等因素,团队协作能力直接影响着课程的分数和最后团队成果的效果。
敏捷开发中强调“个体和交互胜过过程和工具”。组建一个事半功倍的团结项目团队,首先要将“做事”为第一位,很多尤其是初学者,在项目开发中不是将项目实现、修复bug、成功完成放在首位,而是最高的优先级放在解决问题上。以“对事不对人”的教学理念,使学生项目团队针对获得开放性任充分讨论,遇到分歧问题倡导“为了缓解这个问题,我能做些什么”、“我能帮你做些什么”这些融洽的沟通配合方式。运用“设定最后时间节点”、“逆向思维”、“设立仲裁人”、“全力支持团队决策”的技巧,让整个项目团队齐头并进。 项目开发体验课程,坚持敏捷思维,强调组内沟通,搭建起“做事”的团结协作型团队。
2.敏捷驱动,克服障碍,构建自主学习型团队
课程中期,组建项目团队后,按照课程进度进行项目开发。由于学生团队理论基础薄弱,实践编程经验缺乏,从产品设计到语言编程均需要从零学起。不仅如此,课程中期暴露出团队内部不明确的职责分工,造成项目进度停滞倦怠,学生团队对项目失去信心。
敏捷开发中提倡“可以工作的软件”。学生自主设计软件时,利用任课教师、班主任、辅导员全程指导、实时跟踪将学生的想法,与专业理论相结合,在学生岔路口上给予方式和方法的指导,克服技术瓶颈带来的障碍,培养学生自主学习、举一反三的软件管理与软件开发能力。技术始终推陈出新,完成同样的功能可以应用不同的解决方案,鼓励学生探索新路径,掌握新技术。以“可以工作的软件”为原则,利用“可以天天在一起开发”管理方法,快速推进开发进度。
项目开发体验课程,坚持敏捷思维,注重适应变化,搭建起“坚强”的自主学习型团队。
3.敏捷驱动,坚持探索,构建创新创业型团队
课程末期,以责任分工安排团队领导者进行项目陈述答辩,介绍完成项目的所有工作,包括项目产品设计,市场应用,团队责任分工等工作。学生团队在初步完成项目任务时受限于项目开发经验和市场驱动力,完成质量较低,出现错误较多,与成熟的企业级产品应用距离相差很远。
敏捷开发中提倡“响应变化胜过遵循计划”。任课教师敦促项目应用不断优化,从系统架构到人员配置,从前台界面到编程效率,是学生项目开发团队适应市场需求变化的快速性以及随之带来的产品提升工作。结项答辩后,选树优秀作品,备战专业竞赛,选入以学生创意空间工作室为依托的创业孵化器,推荐企业创业导师进行包装加工,升级为大学生创新创业项目进行资金支持
项目开发体验课程,坚持敏捷思维,坚定不懈探索,搭建起“变化”的创新创业型团队。
四、结束语
在敏捷思维驱动下的天津师范大学软件工程开发体验课程,搭建以社会需求导向第二课堂教学体系,创新教学模式,探索教学方式,培育出团结协作、自主学习、创新创业型学生项目开发团队,为软件工程专业“3+1”的实践型人才培养模式打下良好基础。
参考文献:
[1] http://59.67.75.245/college/software/.[天津师范大学软件工程专业简介].
[2] Venkat, S.; Andy H.高效程序员的45个习惯:敏捷开发修炼之道[M]. 钱安川,郑柯译. 北京:人民邮电出版社,2010.
[3] Robert C.; Martin. 敏捷软件开发:原则、模式与实践[M].邓辉译.北京:清华大学出版社,2003.对话[M]. 北京,机械工业出版社,2012.