论文查重 | 论文文献库 | 增量开发模型在计算机类专业毕业设计中的应用与实践

增量开发模型在计算机类专业毕业设计中的应用与实践

来源:论文查重 时间:2019-10-25 14:06:37

摘 要 :针对计算机类专业本科毕业设计中存在的问题 ,分析学生未能较好完成毕业设计预定目标 的原因 ,提出在本科毕业设计过程中应用增量开发模型 ,结合过程管理逐步达到毕业设计预定目标 ,提高 毕业设计质量 ,并进行了相关实践和总结。
关键词 :计算机类专业 ;毕业设计 ;增量开发模型 ;过程管理
1 提出问题
在计算机类专业教学的目标中 ,除了使学生能够掌握 相关的专业基础知识外 ,还要着重培养学生的工程应用能 力 。 作为计算机类专业实践教学环节的重要组成部分 ,毕 业设计是以学生为主体 ,在校内教师或校外工程技术人员 的指导下 ,围绕特定选题进行的有计划 、有步骤的学习和开 发过程 ,是提高学生工程应用能力的重要途径 。 学生通过前期的综合课程设计巩固已修专业核心课程 的知识 ,并提高其综合应用能力 、动手实践能力 、自主创新 能力及协作能力 。 与课程设计不同 ,毕业设计更强调系统 性和综合性 ,使学生在以下方面得到锻炼和提高 :① 综合运 用所学知识 ,分析 、解决实际问题的能力 ;② 自主获取新知 识 、独立发现问题的能力 ;③ 计算机系统设计和开发的能 力 ;④ 创新精神和团队协作能力 ;⑤ 文献检索 、资料查询以 及论文写作能力[1 ] 。
毕业设计是培养学生综合运用所学知识和技能 ,进行 工程技术和科学研究基本训练的主要教学环节 ,也是对大 学生所学课程质量的综合检验 ,是学生从学校走向工作岗 位的重要过渡阶段 。 作为本科生毕业前的关键实践环节 , 毕业设计周期长 、任务重 ,如果不采用有效的开发方法和管 理措施 ,极易出现未能达到预期目标 、毕业设计质量低下等 问题 ,影响学生的毕业 。 实际上 ,计算机类专业的本科毕业 设计可以视为一个小型软件系统的开发过程 。 目前 ,在毕业设计实践中也出现了应用软件工程思想的相关探索 ,包 括分析毕业设计和软件生命周期各阶段的映射关系[2 ] 、用 软件工程思想指导毕业设计[3‐5 ]等 。
2 计算机类专业毕业设计现状分析
昆明理工大学信息工程与自动化学院计算机系 1985 年开始招收四年制本科生 ,目前共有计算机科学与技术 、物 联网工程 、软件工程等 3 个计算机类专业 。 这 3 个专业均在 大四上学期第 10 周为学生分配指导教师 ,开始毕业设计工 作 ,大四下学期第 16 周进行毕业设计答辩 ,要求每位学生 综合运用所学知识与技能 ,独立分析 、处理和解决实际问 题 ,培养学生理论联系实际 、实事求是 、严谨求实的科学态 度和工作作风 。
近年来 ,在计算机类专业的毕业设计过程中发现 ,大部 分学生未能较好地完成毕业设计的预定目标 ,部分学生的 毕业设计质量较低 ,体现出来的问题主要包括 :
2 .1 选题不当
在毕业设计选题时 ,由于大多数学生没有参加过实际 的软件项目 ,一般会选择学生信息管理系统 、图书信息管理 系统等常见题目 ,或者自己设想一些题目 ,并出现多个学生 选择同一题目 、内容雷同 、缺乏创新的现象 。 也有部分选题 脱离实际 ,学生对要完成的系统内容不清楚 ,影响了软件开 发及毕业论文撰写 。 此外 ,有部分学生对自己的能力认识 不足 ,导致选题过大或过小 ,有些内容实现有困难或者来不及实现 ,在毕业设计过程中不得不多次换题 。
2 .2 未采用有效的开发方法
《软件工程》是计算类专业本科生工程基础类课程 ,但 部分学生未能将软件工程思想应用到毕业设计中 ,没有采 用有效的开发方法 。 通常出现的问题包括 :需求分析不充 分 ,忽视了软件需求的不稳定性 ,甚至有学生忽略需求分析 直接进入软件设计 ,导致后期反复对修改系统 ;没有对软件 进行总体设计 ,在目标不明确的情况下随意进行软件开发 , 整个开发过程随意无序 ,导致软件结构混乱 、代码质量低 下 、可用性差 ,发现问题通常为时已晚 ,稍作改动系统就不 能运行 ;未进行软件测试 ,只使用少量数据检查了系统的运 行情况 ,没有发现系统存在的其他问题或错误 ;开发中未编 写软件文档 ,部分学生到毕业设计的最后阶段才撰写毕业 论文 ,出现论文内容与系统不一致 、论文质量低下等情况 。
2 .3 过程参与不足
在毕业设计的过程中 ,学生要准备研究生入学考试 ,或 参加就业考试 ,或到某单位实习 3‐5 个月 ,无法每周接受教 师的指导或检查 ,部分学生有问题也不和教师交流 ,过程参 与不足导致后期手忙脚乱 ,影响毕业设计的质量 。
3 在计算机类专业毕业设计中应用增量开发模型
为了达到计算机类专业毕业设计的预期目标 ,自 2015 年起 ,学院通过强调软件工程思想 、应用增量开发模型 、加 强过程管理等措施 ,有针对性地控制毕业设计的过程和进 度 ,进一步改进毕业设计的质量 。
3 .1 强调软件工程思想
1968 年的 NATO 会议上提出了“软件工程”的概念 ,使 软件开发开始了从“艺术” 、“技巧”和“个体行为”向“工程” 和“群体协同工作”转化的历程[6] 。 为了提高软件开发效率 和软件产品质量 ,必须改变手工作坊式的开发方法 ,采取工 程化的开发方法和工业化的生产技术[7] 。
为了让学生能顺利 、有序地开展毕业设计 ,在与学生见 面的第一次毕业设计指导例会上 ,向学生再次系统地介绍 了软件工程思想 ,着重从软件系统的需求分析 、设计 、编码 及测试等各阶段如何开展 ,各阶段要完成的任务及提交的 文档等方面进行了讲解 。
3 .2 应用增量开发模型
增量模型也称为渐增模型 ,由 Mills 等人于 1980 年提 出 ,使用增量模型开发软件时 ,将软件产品作为一系列的增 量构件来设计 、编码 、集成和测试[8] ,如图 1 所示 : 采用增量开发模型 ,可以将毕业设计要完成的软件系 统分解为一系列的增量构件 ,通过迭代开发逐步实现系统 目标 。 在计算机类专业毕业设计中应用了增量开发模型 , 相关步骤如图 2 所示 :
3 .2 .1 选题
为了有助于学生综合运用多学科的知识与技能 ,学院要 求学生毕业设计的选题有一定的理论和现实意义 ,不要选虚 拟题目 。 对于学生不了解但又想做的题目 ,指导教师给学生讲解 ,指导学生查询相关文献资料 。 通过多次交互 ,让每个 学生的选题都符合其实际能力 ,难易适度 、大小适中 。
3 .2 .2 系统分解
确定选题后 ,首先要让学生理解软件需求的演化性 ,学 会区分需求的优先级 。 通过认真分析软件系统的需求 ,指 导学生将系统划分为若干个子系统 ,定义每个子系统中的 功能模块 ,并给出各子系统的接口定义 。
分解时可依据学生的开发能力将子系统定义为不同的 增量构件 。 通常建议动手能力弱的学生可将第一个增量构 件定义得简单一些 ,这样学生可以在较短时间内看到一个 可运行的软件子系统 ,增强其完成软件系统的信心 。 后期 在逐步增加软件功能的同时 ,学生也有时间学习和适应下 一个增量构件的开发 ,从而降低毕业设计失败的风险 。
3 .2 .3 增量构件开发
基于系统分解方案 ,根据图 1 的增量开发模型进行各 增量构件的开发 ,并在开发过程中完成所需的软件文档 。 由于各增量构件交付前都需经过测试 ,最终完成的系统质 量是能够得到保证的 。
3 .2 .4 撰写毕业论文
软件文档是软件开发规范的体现和指南 ,按照开发规 范完成软件开发的过程中将产生一系列的软件文档 。 毕业 论文是毕业设计工作的总结和提高 ,开发过程中完成的相 关软件文档是毕业论文的主要素材 。
3 .3 加强过程管理
为了确保毕业设计顺利进行 ,除每周定时的指导例会 外 ,还在各增量构件的分析 、设计 、编码 、测试等阶段结束时 进行软件系统开发的检查和汇报 。 此外 ,针对阶段检查中 发现的问题 ,增加了开发过程中的问题跟踪及解决环节 ,以 此训练学生解决问题及协作交流的实践能力 。 通过学生汇 报和教师讲解 ,总结 、交流开发中存在的问题及相关收获 , 加强学生的团队精神和协作能力 。
对于长期在外实习的学生 ,要求其每周提交工作进展报告和阶段文档 ,并与该生实习单位主管进行定期交互 ,或 委托实习单位进行阶段检查后将结果反馈给指导教师 ,以 便掌握学生毕业设计的进度 ,及时解决存在的问题 。
4 增量开发模型在计算机类专业毕业设计中的 实践
2015 年 11 月 - 2016 年 5 月 ,学院在 5 名 2012 级计算 机科学与技术 、物联网工程专业本科生的毕业设计中实践 了增量开发模型 。 5 名学生编程能力各有不同 ,其中有 2 人 于 2016 年 2‐4 月外出实习 ,其余学生在毕业设计过程中均 有请假参加招聘考试等现象 。 通过应用增量开发模型 ,所 有学生均顺利完成毕业设计 ,1 人被评为学校优秀毕业设 计 ,3 人成绩为良 ,1 人成绩为及格 。 经过分析后发现 ,学生 可以应用已学的相关理论和知识开展毕业设计工作 ,部分 学生在知识的应用和实际动手方面表现出色 。
5 结语
实践表明 ,增量开发模型可以保障毕业设计的质量 ,提 高了学生解决问题的能力 、口头和书面的表达能力 、沟通和 协作能力 。 此外 ,增量开发使学生更多地去思考系统的分析和设计问题 ,而不是仅关注代码编写 ,为毕业后的工作实 践奠定了基础 。 学院将鼓励更多的学生尽早参与到实际的 软件项目中 ,进一步提升其实践能力和创新精神 。

相关文章:作品设计在高职护理毕业设计中的应用效果观察