基于工程案例的软件工程教学方法研究与实践

发表时间:2021/4/7   来源:《教学与研究》2020年第33期   作者:李攀
[导读] 随着网络信息技术的飞速发展,软件开发模式也在不断优化,而这种技术发展环境对我国高等院校软件工程专业的教学过程也带来全新挑战
        李攀
        (广东科技学院 523083)
        摘要:随着网络信息技术的飞速发展,软件开发模式也在不断优化,而这种技术发展环境对我国高等院校软件工程专业的教学过程也带来全新挑战。当前,我国高等院校软件工程专业教学过程重理论而轻实践,很多学生虽然掌握足够丰富的理论知识,却缺少足够的软件研发能力,严重制约其未来发展。本文将会针对基于工程案例的软件工程教学方法进行初步分析与探讨,希望借此可为我国高等院校软件工程教学改革工作起到一定借鉴价值。
        关键词:软件工程,教学方法,教学模式,工程案例
        引言:软件工程课程是我国计算机类院校所设置的一门重要基础专业学科,其所涵盖的内容更是对学生的未来发展有着极高价值。软件工程课程设立的目标在于培养学生以工程管理的角度去看待整个软件开发过程,进而形成合理的开发意识与思想,并可灵活开展软件生命周期所对应的需求分析、设计、开发与测试流程。软件工程课程内容知识面很广,其存在意义不在于学生记住哪些知识,而是让学生真正了解如何开发软件,如何实现软件开发过程的有效掌控。
        1、当前软件工程教学所存在的问题
        随着互联网技术更新进度不断提速,与软件工程相关的技术内容与开发模式进入全新的高速发展阶段,传统软件开发模式已无法应对愈发多变的客户需求,而越来越短的软件交付周期,更是需要开发管理人员拥有更为灵活的软件研发思维,掌握更为充分的开发管理思想。但是,当前我国计算机类院校在开展软件工程课程教学时,未能真正做到产学研紧密结合,教学工作与软件项目脱节,理论教学与实践教学。教师在授课过程中,基础理论知识讲解大量消耗课堂时间,教师也没有对这些理论知识进行有效加工,单纯可课本知识灌输的形式传授给学生。另外,院校内部也没有成立更为完善的软件工程项目发展体系,学生可参与的实践机会十分匮乏,最终导致其实践能力严重不足,其所开发的软件存在大量质量问题,甚至不具备应用价值。此外,很多专业院校并没有注重对学生团队能力的有效培养,没有树立软件研发与发展思维,甚至很多专业院校将学生实践能力培养过程托付给第三方培训机构,这就导致学生的精力与时间被严重浪费。
        2、工程案例导入
        软件工程授课前,教师需选择合适的工程案例,其难度不能超过学生的平均接受水平,更需要确保工程案例可有效涵盖所要讲授的知识内容。授课过程中,当学生完成对各类基础概念初步了解后,教师可将提前设计的工程案例为学生进行讲解,随后由学生组成工程案例开发团队,每一位学生扮演团队内部不同角色,同时,每一位学生都要体验不同角色之间的差异,加深其对软件开发过程各类注意事项的理解与感悟。
        对于软件开发工作而言,团队内部需对开发目标有着明确的认知,并以此作为软件开发过程的判断标准,如果软件可满足最初的开发目标,则可以判断项目成功。同时,学生在接受工程案例过程中要,也要对与案例相关的各类人员保持足够了解,因为这些人将会对软件的开发过程产生直接影响,开发工作者需与其做好沟通。在确定项目相关人与项目开发目标的基础上,开发团队也要对项目的功能需求范围与边界进行确定,这些内容是决定项目最终内容的核心指标,更是决定项目成败的关键因素,而教师更需要让每一位学生都能够明白,项目成败与否,很大程度上决定于功能需求是否清晰,如果部分功能未能进行有效沟通,那么在开发后期,对应功能将会面临反复调整与返工,最终导致项目开发周期超出规定范围,开发成本超出预算。


        3、软件生命周期的过程管理
        软件生命周期过程管理是指软件开发立项开始到项目交付再到软件停止维护的整个过程,而对于开发团队而言,这一过程有着明确的界限,因此,可对其进行量化处理。为提高软件生命周期过程管理效率,教师可为学生准备一套较为便捷且高效的过程管理软件,例如微软公司开发的TFS,这些过程管理软件将会把软件相关的各项功能与软件整个生命周期融合到一起,提高开发团队对项目管理的科学性。
        3.1、软件需求分析
        需求分析是整个开发工作的基础,而在这一过程中,开发人员需要对客户的具体说明与意向进行分解,使其形成可量化的开发任务,最终形成需求分析说明书。
        3.2、软件任务分配
        软件任务分配由项目经理负责,其需要利用各类软件生命周期过程管理软件,将每一项任务分配给对应的研发人员,并合理预估所要消耗的开发时间,而开发人员亦可在过程管理软件内获取到隶属于自己的具体任务,这样可减少因沟通而产生的时间浪费。
        3.3、代码版本管理
        软件开发是一个迭代过程,因此,团队内部需利用过程管理软件,根据实际研发进度,将软件分成多个版本阶段,这样不仅便于团队内部协同开发,亦可提高后期维护效率。
        3.4、软件测试管理
        软件测试过程中,教师可对学生进行一定的指导,提高学生测试管理能力,使其可独立进行测试脚本的录制以及虚拟机测试过程,同时,测试工作也要利用各类过程管理软件,减少测试人员与研发人员的沟通阻碍。
        3.5、持续集成与报表管理
        软件研发团队在实施软件版本迭代过程中,可利用过程管理软件完成集成管理工作,进而得到编译后的软件版本,便于实施后续测试计划。报表管理可强化项目经理对开发人员状态的监管效果,TFS软件所配备的可视化设计,更是提高了整个报表的丰富度。
        结束语:综上所述,基于工程案例的软件工程教学方法可有效转变传统软件工程课程教学所存在的弊端,提高学生对软件生命周期与研发过程的了解,提高其实践应用能力,加深其对软件开发过程的感悟与理解,进而提升软件研发能力与团队协作能力,是一种更加强调实践与应用的教学模式。
        参考文献:
        [1]侯雪梅,李志博,于磊,王阳.软件工程课程群案例库建设和实践教学方法研究[J].大学教育,2019(10):11-13.
        [2]郭咏梅.软件工程课程案例教学研究与实践[J].长治学院学报,2018,35(05):66-68.
        [3]陈淑娴.基于工程化的软件工程教学案例设计方法[J].商业故事,2018(22):9.
        [4]白懿婧.基于案例和项目驱动软件工程教学模式的研究与实践[J].才智,2017(05):174.
       
投稿 打印文章 转寄朋友 留言编辑 收藏文章
  期刊推荐
1/1
转寄给朋友
朋友的昵称:
朋友的邮件地址:
您的昵称:
您的邮件地址:
邮件主题:
推荐理由:

写信给编辑
标题:
内容:
您的昵称:
您的邮件地址: