论文查重 | 论文文献库 | 面向提高本科毕业设计质量的课程教学研究——以《软件工程》课程为例

面向提高本科毕业设计质量的课程教学研究——以《软件工程》课程为例

来源:论文查重 时间:2019-10-25 13:58:38

摘要:本科毕业设计(论文)是本科教学过程中至关重要的实践教学环节,是培养大学生综合能力、理论 与实践相结合能力的重要手段,是评价高校教学质量的一项重要指标。针对目前我校计算机科学与技术专业、 软件工程专业毕业设计中存在的问题,提出提高毕业设计质量应该回归到教学中来寻求解决办法。文章以 《软件工程》课程教学为例,研究、探讨和尝试在教学内容、教学方法等方面针对毕业设计进行展开,提出 基于案例强化软件工程相关概念、渗透式教学完成软件分析阶段的学习及软件设计阶段的适量微课程教学等 方法,经分组教学验证,取得了一定的效果。
关键词:毕业设计;软件工程;渗透式教学;微课程教学
1 引言
本科毕业设计(论文)是本科教学过程中至关 重要的实践教学环节,是培养大学生综合能力、理 论与实践相结合能力的重要手段,是评价高校教学 质量的一项重要指标。…针对如何保障本科毕业 设计质量,有很多基于不同角度的研究:赵丹等通 过调研数据分析,认为师生间的沟通问题会对学生 的毕业设计质量有影响;王振华等提出应以满足社会需求作为毕业设计的培养目标,基于OBE 理念对本科生的毕业设计进行改革,选题应具有实 用性;汤勇等关注毕业设计的过程,提出各个环 节的过程性评价指标,完善毕业设计质量评价体 系;孙瑞霞等提出应建立培养实践创新能力的 毕业设计选题库,加强师生间的互动。”’可见,毕 业设计质量涉及教、学、管等多个方面、多个层次的 问题。
根据校外评估专家对我校近几年来软件工程专业、计算机科学与技术专业本科毕业设计的质量 分析,相关专业毕业生在毕业设计中主要存在的问 题有:选题重叠,深度不够;毕业设计内容与实际需 求不符,缺乏实际的调研,产生的成果应用价值不 高;毕业设计过程较为敷衍,没有严格遵循相关理 论、技术和方法开展工作,导致设计内容不够饱满 等。如何解决现有毕业设计中存在的这些问题,让 毕业设计切实有效地发挥其应有的培养学生的功 能,除了从学校层面进行顶层的设计,如采取加强 对毕业设计指导老师的监督管理,充分调动导师的 实际指导作用以及增强校企合作,将毕业设计内容 与就业相结合,保证设计内容的应用性等措施以 外,还应该将问题的解决回归到课程教学,有意识 地对与毕业设计联系较为紧密的课程内容有所侧 重,促使学生掌握相关理论和方法,以便应用到今 后的毕业设计中,进而规范其毕业设计过程,对毕 业设计进行有效地理论和方法指导,丰富和完善毕 业设计内容。
《软件工程》作为软件工程专业和计算机科学 与技术专业的一门专业主干课,其教育目标是使学 生初步建立工程化意识,学会用工程化思想(包括 相关的技术、方法与环境)开发各种软件,以软件 的生命同期作为主线,掌握软件工程的基本理论,并进一步系统化、工程化,为今后实际工程中能够 进行系统分析与设计奠定良好的基础。
在《软件工程》课程教学过程中,在软件生存 周期各个阶段的教学内容中有意识地基于毕业设 计需求增加具有针对性的内容和训练,不仅能使学 生将已经完成的专业课程学习内容链接成线,真正 实现前导、后续课程的衔接,从而在毕业前对所学 专业知识进行比较完整的概括、总结和应用,更为 重要的是通过对《软件工程》课程教学的重新设 计,使学生具备运用软件工程思想、原理和方法解 决实际问题的能力,规范毕业设计过程,充实毕业 设计的内容,提高毕业设计质量,以期能具备今后 从事复杂软件项目开发和维护所需要的实践应用 能力与创新能力。
2面向提高本科毕业设计质量的《软件工 程》课程教学设计
(1)基于案例强化概念
《软件工程》是一门研究使用工程化方法开 发、维护软件的综合性课程,涉及计算机科学的多 个方面,如程序设计、数据库、软件开发工具、设计 模式等,其课程思维导图如图1所示:
可见,课程的内容涵盖了许多重要的工程概 念,如开发模型、软件生存周期等,而这些概念由于 内容庞杂且抽象,不仅不易理解,更难于应用。在 开展相关内容教学时,可以借助具体案例进行讲 授,帮助学生深入理解这些概念,进而指导其应用。 以学习“软件生存周期”概念为例,概念描述 为:“软件生存周期(SDLC)是软件的产生直到报废的生命周期,周期内包括问题定义、可行性分析、 总体描述、系统设计、编码、调试和测试、验收与运 行、维护升级到废弃等阶段。是软件工程中一种按 时间分程的思想方法。”[81可见,该概念需要学习 和理解的内容较多,很难让学生掌握其应用意义。 教学时可以引入三类案例进行对比讲授,其过程如 图2所示:
根据图示的讲授过程开展教学,不仅要使学生 掌握“软件生存周期”概念的内容,更要通过对不 同案例的对比分析,理解其在软件产品开发过程中 的应用。强化对概念的理解。特别引入具体的毕业 设计(论文)案例,有意识地培养学生树立在后面 的毕业设计过程中严格按照软件生存同期指导开 发的意识,使得今后开展毕业设计时有较明确的 思路。
(2)软件分析阶段的渗透式教学
软件分析是软件工程中的首要且重要的阶段, 涉及以下内容:
①问题识别:即识别软件项目的功能性需求和 非功能性需求,并建立项目分析时的通讯通道; ②问题分析和方案的综合:通过不断地分析和 综合,直至项目方和用户对项目的规格说明达成一 致,并使用结构化分析方法(SA)或面向对象分析 方法(OOA)的工具建立模型; ③编制需求分析文档:即制定软件需求规格说 明书,得到对需求清晰准确的描述; ④需求分析评审:即对需求分析阶段工作进行 复查。
可见,对该部分内容的教学,不仅要掌握相关 的知识点,还要会使用相应的分析工具建立问题分 析模型,进而制定不存在或少歧义的规格说明 文档。
可以采用渐进式教学与渗透式教学相结合的 方法开展该部分的教学活动,即针对概念性、知识 性内容循序渐进、逐层展开渐进式教学,而针对实 用和发展的内容,则把问题展开,结合具体示例给 出指引。如图3所示:
特别地,在使用渗透式教学方法对sA和00A 两种分析方法进行学习时,可以向学生展示毕业设 计(论文)中项目分析部分的阐述,并且分组讨论 以下内容:
①论文对项目的可行性分析是否正确? ②论文对项目的需求分析是否完整? ③若使用sA方法分析项目,其数据字典 (DD)、数据流图(DFD)等描述存在的不足以及改 进的方法; ④若使用OOA方法分析项目,UML用例图存 在的不足以及改进的方法。
通过这样有针对性的讨论,能引导学生在今后 的毕业设计中严格按照软件工程中项目分析的相 关理论和方法完成项目的分析工作。
(3)软件设计阶段的适量微课程教学
软件设计是根据前面分析阶段生成的软件需 求规格说明书,将问题空间分解为不同层次的模 块,并为每个模块设计实现算法,它是软件工程中 非常重要的阶段,通常包括两个方面的内容:
①概要设计:完成系统的整体结构设计,具体 构造软件项目“怎么做”的物理模型,即将软件项 目分解为多个层次的模块,生成系统结构图,此时 应关注模块的耦合和内聚问题。 ②详细设计:完成数据设计和过程设计,即确 定每一个模块的数据组织和实现算法,并进行 描述。
此外,软件设计阶段需要使用相应的工具来说 明设计的过程,形成设计规格说明书。因此,基于 结构化设计(SD)的模块结构图和程序流程图、基 于面向对象设计(OOD)的UML类图、时序图及动 态转换图等均需要学生能熟练掌握。
在软件设计阶段相关课程内容的教学中,针对 应用性较强的设计工具部分,可以采用微课程来完 成教学。以UML类图的这一教学内容为例,其微 课程制作过程如下:
③完成《学习任务单》,明确本微课程的学习 目标和效果;
④制作微课件:呈现UML类图案例和在毕业 设计中常见问题,动静结合,图文并茂;
⑤微课程发布:主要用于对UML类图相关内 容讲授之后,对其应用进行“解惑”,使用学生能够 利用时间碎片,随时随地对该内容进行学习。 将软件设计中应用性较强的内容制作成演示 类或实验类微课程,可以让学生简单高效地直接学 习核心部分,更重要的是学生在今后毕业设计时遇 到相关问题,能随时随地地调取微课程进行学习, 寻求解决办法。
3结语
毕业设计是理工科专业学生培养的重要环节, 为了确保学生顺利完成毕业设计,并能取得较好的 毕业设计质量,应该回归到教学中来寻求解决办 法。在课程教学中,尤其是与毕业设计联系较紧密 的课程教学中,研究、探讨和尝试在教学内容、教学 方法等方面针对毕业设计进行展开,不仅可以让学 生应用所学知识,更能为今后其毕业设计工作做出 良好的指引。

相关文章:能源动力类本科毕业设计教学改革探析