软件工程教学法探究

点赞:12391 浏览:55168 近期更新时间:2024-04-11 作者:网友分享原创网站原创

摘 要:软件工程是一门理论和实践性都很强的计算机应用专业课程,课程内容抽象、庞杂,教学实践环节薄弱.笔者依据近几年软件工程的教学实际经验,分析教学过程中存在的一些问题.从学生错误概念的纠正、教学方法的应用、团队合作的设计、实践教学环节的设计、软件工程环境的构建等几方面进行分析和论述,以期对教学起到指导和借鉴的作用.

关 键 词:软件工程;工程化方法;问题描述;建议;注意点

文章编号:1672-5913(2013)07-0062-04

中图分类号:G642

软件工程在计算机专业领域中是一门较普及的课程,本课程主要研究如何将工程化方法应用于软件的开发、运行和维护过程之中.根据培养计算机应用型人才的需要,本课程的任务是通过讲述软件的工程化开发方法和相关的软件开发工具、开发过程、开发规范,使学生了解软件工程的本质,掌握常用的软件开发方法,并且能够有意识地将软件工程原理运用于实际的软件开发和维护过程中,提高学生的专业素质.但在实际教学中,学生认为该课程内容理论性强,需要记忆的内容多,枯燥无味,学不进去,课程结束后对于软件开发过程、规范和开发方法的概念依然很模糊.笔者依据自己对于软件工程的理解,通过近几年从事软件工程课程的授课感受,结合学生的反馈意见,做了一些思考和总结.

1程序与软件概念混淆

学生从接受计算机领域方面的课程开始,就一直以编程为主,所以,大多数学生认为该课程就是学习如何编程.当提出“什么是软件”这个问题时,大多数学生无法给出准确的定义;当提出“程序和软件的区别”这个问题时,大多数学生会回答“程序等于软件”.

其实,程序和软件是不同的概念,编程的目标是程序,软件工程的目标是软件,软件等于程序+文档.从软件工程的角度看,编程的比重不足15%,其他如需求分析、设计、制作、测试和维护等比重占85%.学生一开始就对课程认识存在误区,认为软件工程就是编写程序,因此,作为教师应引导他们认识软件和程序的区别,学生才会去思考它们之间的不同,此时再给学生输入软件工程的概念,学生才能开始有意识地去了解软件工程.

作为教师,首先应给学生介绍软件工程课程在专业知识体系中的地位,让学生在宏观上了解该课程的性质及与其他专业课程之间的联系和区别,指导学生正确认识该课程的特点,避免他们日后偏离课程方向,导致盲目学习.

2案例教学法在教学中的运用

相比计算机专业的其他课程而言,软件工程理论性和抽象性较强,学生学习起来比较吃力.大多数软件工程的教材都是重理论轻实践,需记忆的内容较多,不容易理解;各个阶段的概念和任务容易混淆,学生学习兴趣不大,极易造成反感情绪.

传统的满堂灌的教学方法显然不适合软件工程课程的特点和教学要求.经过几年的教学尝试,笔者认为在课堂中可以采用案例教学法.案例教学法是指教师根据具体的教学环境,将复杂抽象的概念运用到具体案例中进行讲解,引导学生分析问题,并最终解决问题的一种教学过程.

在教学中,教师选择软件开发中的一些实际案例,将学生分成若干小组,每组不同成员担任不同的角色.待小组成员确定案例后,模拟实际开发环境,运用所学的理论知识展开分析和讨论.讨论结束后,由各组选派一名代表在全班同学面前汇报讨论结果,教师再针对存在的问题进行补充.案例讨论增强了学生对软件开发项目的感性认识和实际经验,激发了学生的学习兴趣,提高和培养了他们分析问题和解决问题的能力.

在进行案例教学时,教师需注意以下几点:一是要选择合适的案例,案例不在于多,而在于是否适合课程特点和学生的实际情况;二是教师要及时引导,案例讨论时,教师要把握好讨论方向,要摒弃主观臆想的成分;三是注重加强学生理论知识的掌握,学生的软件开发经验较少甚至完全没有,案例教学是需要学生有理论知识作为讨论的基础,如果没有一定的理论知识是无法讨论的,所以教师要注重培养学生的理论知识.

软件工程教学法探究参考属性评定
有关论文范文主题研究: 关于软件工程的论文例文 大学生适用: 函授毕业论文、函授论文
相关参考文献下载数量: 66 写作解决问题: 怎么撰写
毕业论文开题报告: 论文提纲、论文摘要 职称论文适用: 刊物发表、职称评中级
所属大学生专业类别: 怎么撰写 论文题目推荐度: 优秀选题

3团队合作完成任务

软件开发是团队合作完成的任务.在教学过程中,要让学生体会到团队的氛围,培养其团队合作的能力和精神.团队合作以5~6人一个小组为宜,人数太多会导致“三个和尚没水吃”,人数太少会带来工作量偏重.教师在进行分组时,最好根据学生的能力和水平,明确学习任务,进行合理有效的分工,按软件开发阶段把各组学生分为需求分析、设计、编码、测试及项目管理人员,每位学生承担一个角色.例如,在南京城市职业学院该课程的教学过程中,我们将学生每5人分为一个项目组,每人承担相应的角色,如项目经理、技术支持员、配置管理员、软件工程师和测试工程师等;教师担任企业培训师的角色,分配给每一个项目组课题,让学生模拟参与到软件企业实训中,最终使学生完成需求分析、设计、代码编写、测试、部署全过程,使得学生在学习过程中体会到软件开发工程师的角色任务.这样,学生就有合作意识、责任感和集体荣誉感,模拟软件企业项目组的情境,根据公司管理体制开发项目.学生在团队合作学习时,作为教师应加强对其合作方法的指导;学生在开发过程中遇到问题,教师建议他们自行讨论来解决,提高他们的沟通交际能力,培养其团队合作精神.

在组织学生团队合作学习时,笔者认为还应注重培养学生以下能力:一是尊重他人,在其他人发言时,要善于倾听,尊重他人的观点,能够对他人的发言做出合理的评价;二是善于总结,在各小组发言完毕后,能根据发言情况,总结出要点;三是敢于质疑,当自己的观点与他人观点发生碰撞时,要敢于质疑,提出自己的想法,从而完善自己的观点和认识.


4实践教学环节以大作业的形式贯穿

由于计算机专业学生毕业后大部分从事与软件开发相关的工作,所以该课程的实践教学尤为重要.实践教学是加深理解理论知识的有效途径.是培养学生动手能力和技术创新精神的有效手段.但在教学过程中,由于实验条件有限,教师仅给出项目各阶段文档模板或范例,学生按照要求编写相应的文档,文档完成后没有企业项目开发的严格评审机制,学生无法发现开发阶段里存在的问题,难以建立标准化和规范化的思想.实践教学环节相对理论教学环节而言,内容薄弱,甚至有些流于形式.作为教师,在软件工程实践教学环节中,尽可能灵活安排实验时间,实践环节应以大作业的形式贯穿于整个教学过程.教师在该课程教学初期,首先给学生若干项目课题进行选择,为了让学生能有较充足的基本知识和充分的准备,应当给学生足够的时间来完成.比如,需求分析可安排在第3周布置、第5周提交;设计可安排在第6周布置、第8周提交;测试案例可安排在第9周布置、第11周提交;质量评估可安排在第12周布置、第14周提交.教师应要求每位学生参与,抽查部分学生并要求其在全班进行汇报和交流.

除此之外,笔者认为还可以邀请一些理论知识和开发经验都很丰富的行业人员与学生互动交流,定期举办专题讲座,如行业发展趋势、行业现状和自己的从业经验等,让学生了解企业软件开发中的实际问题,让学生学到在课堂中学不到的知识和实际经验,提高学生实际软件开发的能力.

在进行实践环节教学时,笔者认为需注意以下几点:一是加强师生对实践教学环节重要性的认识,大多数师生重理论轻实践,而软件工程课程的特殊性,必须加大学生实践能力的培养;二是规范实践教学环节的考核,教师应及时检查学生实践环节的质量,与学生面对面交流,注意收集学生的反馈意见,发现问题,及时解决,不要使实践教学流于形式;三是加大实践教学环节的考核比例,我们将实践教学环节考核比例增加至总成绩的70%.在对学生的实践环节考核中,我们更侧重于对学生的实践操作能力、综合应用能力、文档编写能力、团队合作和沟通能力的考核.南京城市职业学院该课程的实践考核主要从2个方面进行:职业素养评定和业务能力考核.职业素养评定主要通过对学生的平时工作表现,评价其所具备的工作素质,实行百分制,占实践教学环节考核比例的30%.内容包括考勤情况、个人素养、团队沟通和日志填写等.例如,学生是否能够按企业工作制度进行工作;学生对于教师或组长交代的工作是否能反应迅速准确,是否能抓住工作的关键;是否有不断提高个人工作效率和自己业务水平的意愿;是否能够和小组成员进行良好的沟通和协作;是否能够按时认真完成每天的工作日志.业务能力考核主要评定学生在规定时间内完成任务的情况,同样实行百分制,占实践教学环节考核比例的40%.内容包括软件完成的质量和所花费的时间.例如,提交的程序是否能够正常运行;程序代码是否能够严格遵守代码规范性;项目团队、教师和企业专家对其开发的软件产品是否满意;提交的软件产品是否达到预期效果;是否在规定时间完成任务.2方面综合计算后评定学生的实践环节成绩.软件工程课程的教学目的是使学生能将软件工程的思想和方法应用于实际软件开发过程中,应着重培养学生的动手实践能力,加大实践教学环节的考核比例可使实践教学环节不再薄弱.

5打造良好的软件工程环境

一个成功的软件必须经过一系列严格的过程,包括可行性研究、需求分析、设计、编码、测试、包装、发行、宣传、销售和客户怎么写作等.在软件工程教学中,大多数情况是学生将实验中所做的工作整理成作业的形式提交给教师,教师进行批改,并没有严格的走查、审查和技术复审等评审机制,没有交付给用户使用,更谈不上验收和维护.此时,学生对于软件工程的理解程度依然停留在分析、设计和编码这几个层面.

对于软件工程课程来说,如果只是让学生在实践环节中进行软件开发是不够的,学生需要在一个符合软件工程要求的环境下开发软件,才能够真正掌握软件工程的思想和方法,因此软件工程教学取得效果的关键是建立一个良好的软件工程环境.

笔者认为,在课程教学中可适当引入一些常用的软件工程工具,比如进行软件需求分析和设计时可使用建模工具,进行软件测试时可使用测试工具等.结合课程实践教学环节的要求,根据学生实际情况和项目的固有特点,教师可编写实验指导手册,包括开发过程模型、文档模板、编码标准、阶段评审标准和验收审查标准等,将实践环节的过程规范化和产业化,要求学生在相对真实、良好的软件工程环境中去理解软件工程方法论、过程模型、开发环境和软件开发的管理技术等,体会和掌握软件工程的思想,能将这一系列活动灵活运用到实际开发工作中去.例如,南京城市职业学院与软件开发公司合作开发了“软件人才实训平台”,该平台构建了良好的软件工程环境.在软件工程课程实训中,我们利用该平台完成了相关实训,学生可以通过该平台了解软件开发过程中的一系列流程,如项目环境准备、需求分析、设计、编码、测试、部署和维护等.该平台要求学生完成相应阶段后,必须在该平台上提交文档和相关资料,教师可以通过该平台学生提交的相关成果进行考核评分.这就很好地模拟了软件工程环境,让学生参与到真实化企业实训中去.

在构建软件工程环境时,应以软件工程环境的主要目标和基本需求为基础,把开发技术、管理技术、支撑环境、相关工具和开发平台等有关因素有机地结合在一起,全方位考虑.

6结语

随着计算机技术的快速发展,软件工程领域里的新知识和新理论也在不断涌现,对该课程教学方法和手段的探索是一项长期而艰巨的任务.以上只是笔者在近几年教学工作中的一些思考和建议,在今后的教学工作中,教师应为学生丰富和完善软件工程环境,注重激发学生的学习兴趣,注重学生学习主动性和创造性的培养.

(编辑:郭田珍)