课程设计之软件工程论文

2022-04-23

今天小编为大家推荐《课程设计之软件工程论文(精选3篇)》的文章,希望能够很好的帮助到大家,谢谢大家对小编的支持和鼓励。摘要:《软件工程》课程设计是《软件工程》课程内容的综合应用和实践。针对《软件工程》课程理论性和实践性较强的特点,提出了《软件工程》课程设计的实施步骤,包括课程设计题目的确定、团队组建、中期检查、成果展示等,并进行了几轮的实践。实践证明,该方法不仅加深了学生对《软件工程》理论的理解,而且锻炼了学生的动手能力和综合知识的应用能力,激发学生学习的积极性。

课程设计之软件工程论文 篇1:

游戏模拟法在软件工程课程设计中的应用分析

摘 要:软件工程课程设计是计算机科学与软件工程专业的一门独立实践课程,以培养学生软件开发综合能力为目标。而软件工程课程设计的实践环境与软件实际开发环境存在着一定差距。国外常采用模拟教学法来缩短这一差距,而且这一方法也受到越来越多的关注。该文分析了软件工程课程设计存在的主要问题,阐述了游戏模拟法在软件工程课程设计的组织与实施形式,同时探讨软件工程课程设计对软件工程课程教学的一些启示。

关键词:软件工程 课程设计 游戏模拟

软件工程作为计算机科学及软件工程等相关专业的必修课,是一门理论与实践并重的课程,实践教学环节的教学是课程的重要组成部分,关系到学生掌握知识与应用知识的能力。软件工程课程设计是软件工程教学的一个重要实践环节,使学生掌握软件工程方法、过程与工具的基础上提高实践动手能力和综合应用能力,学会撰写软件开发过程中各阶段的规范文档,提高学生的沟通能力和团队协作能力,为将来从事软件开发与管理工作奠定基础。

然而,软件工程课程设计存在实践教学环节与现实开发的软件环境不一致,不能适应实际的软件开发特别是大型软件的开发,很难解决实际软件工程项目若干典型问题和实践技能。学生能开发一些简单的软件,但由于受时间以及实践项目各种条件限制,课程设计很难在广度和深度上反映软件工程课程设计的复杂性和内在本质。为了解决软件工程课程设计的复杂性和实践问题,该文分析了软件工程课程设计存在的问题,描述了游戏模拟教学法[1-2],并对该方法在软件工程课程设计的应用进行了探讨。

1 软件工程课程设计现状

传统的软件工程课程设计虽然也有设计的要求,学生参与一定的实践练习,但一般停留在组织学生编写软件开发过程中各阶段的文档上,忽略了软件项目的实际要求,缺乏对教学方法和内容的更新。软件工程课程设计教学中普遍存在的问题如下?[3]。

(1)内容陈旧,与实际脱节。很多从事软件工程课程设计教学的教师从学校毕业后直接从事教学工作,没有软件项目开发的亲身经验,课程设计的内容一般来自一些参考书籍,给学生创造了抄袭的机会,达不到课程设计的要求;有些课题比较陈旧,与现实脱轨,导致很多学生对课程设计的内容不感感兴趣,因此扼杀学生学习的主动性和动手的积极性。

(2)项目组划分不合理。项目组划分是否合理,直接关系到项目的成败。项目组的划分一般是按学号,或学生自由组合,前者失去了团队协作能力的融合,后者导致工作量不平衡,好的学生包揽了课程设计的所有任务,而差的学生做得很少,更甚的少数学生没有人组合而只能孤军作战。

(3)成绩评价单一。课程设计的评分一般是指导老师根据学生提交的报告和设计结果来评分,没有对学生沟通能力、表达能力、组织能力、团队协调能力进行评价。

2 游戏模拟法

所谓游戏模拟法,就是结合专业背景与行业特色,给学生创设直观的、模拟仿真的工作场景,按实际的工作内容设计好课题,让学生独立或合作参与到软件工程过程中。

游戏模拟法[4-5]能提供大量的经验和技术演示软件过程,能提供软件工程知识引导学生完成模拟软件的设计与开发。在游戏模拟中,玩家们为了满足虚拟环境中的某些特定的目标(有时是相互矛盾的目标),不得不改变当初的决策。在经历多次决策后,玩家也间接地经历了类似软件过程,特别是游戏模拟解决了软件工程课程设计中软件过程教学中存在的以下问题。

(1)非线性。很多情况要求玩家同时关注模拟的随机因素造成的每一个运行的唯一性,解决了软件过程的非线性。

(2)多个相互冲突的目标。软件过程中许多目标有时互相干扰,必须对目标进行优化,于是导致有些目标能实现而其它目标只能部分实现。

(3)允许改变决策。如果玩家判断错误,可以退出游戏,回到前面保存的游戏状态,然后探索不同的选择。

(4)多个利益相关者。在多用户游戏中不同的玩家可以尝试优化自己的结果。在单一用户游戏中,游戏通常提供了利益相关者。

学生通过游戏模拟软件参与到软件开发的全过程或子过程中,并将大量的软件工程方法和技术融入到软件开发过程中。在游戏模拟器的虚拟环境中,玩家可以作为软件开发项目的经理,管理一个开发团队,并为虚拟团队成员分配任务,协调团队成员的活动。游戏模拟器中最突出的特点是能针对软件开发中突发事件做出决策,如客户变更需求、某一成员离职等。同时,项目经理还可以通过加薪或奖金提高项目组成员的积极性。如果玩家开发出来的软件产品功能越完善、开发周期越短、软件错误率越低,经费未超预算,则获得的分数就越高;反之,如果玩家没有按时交付项目,或经费超出项目预算,均视为失败。

游戏模拟法有助于学生掌握软件工程理论知识和指导学生的软件工程课程设计,有效地引导学生经历真实软件项目的软件过程。对于即将毕业的学生也受益,他们获得宝贵的软件工程知识和实践经验,更好地实现了学校与企业的接轨,找准自己在行业中的位置。游戏模拟法在国外已应用很多年,取得了好的教学效果,国内的哈尔滨工业大学也提出了生存游戏模型,玩家都有机会成为虚拟公司的员工或管理者,对培养学生的软件工程知识和实践经验产生积极影响,并为软件工程过程的教学和实践提供了新的思路。

3 结语

游戏模拟法是软件工程课程设计中一种较为新型的实践方式,鼓励学生参与,帮助教师模拟真实环境,提高学生的技能和激发个人和团队实践经验,达到传播软件工程知识和提供技术资源。游戏模拟法扩展了软件工程课程设计实践空间和时间尺度,它以虚拟现实的游戏方式,更能迎合当前大学生的学习方式,一定程度上提高学生的学习兴趣。深入研究游戏模拟法,对改进软件工程课程设计教学有非常重要的意义。

参考文献

[1] 李广原,马楠.国外软件工程教学法初探[J].计算机教育,2011(1):86-90.

[2] 李广原,胡秦斌.软件工程课程模拟教学法初探[J].计算机教育,2011(13):92-95.

[3] 韦宇炜,聂笃宪.软件工程课程设计教学模式探讨[J].考试周刊,2010(11):159-160.

[4] 孟繁锋.结合模拟项目组的软件工程教学[J].计算机教育,2014(22):54-56.

[5] Baker,A.Navarro,E.O.A.van der Hoek,A.Problems and Programmers: an educational software engineering card game[C]//In Proceedings 25th International Conference on Software Engineering,IEEE Computer Society Press.2003.

作者:陈利平 彭彩红

课程设计之软件工程论文 篇2:

《软件工程》课程设计的实践及思考

摘要:《软件工程》课程设计是《软件工程》课程内容的综合应用和实践。针对《软件工程》课程理论性和实践性较强的特点,提出了《软件工程》课程设计的实施步骤,包括课程设计题目的确定、团队组建、中期检查、成果展示等,并进行了几轮的实践。实践证明,该方法不仅加深了学生对《软件工程》理论的理解,而且锻炼了学生的动手能力和综合知识的应用能力,激发学生学习的积极性。

关键词:软件工程;课程设计;实践

《软件工程》课程是高等学校计算机科学与技术学科各专业的一门重要的专业基础课程。长期以来,许多高校的《软件工程》课程都偏重于理论的讲解,侧重于软件工程目标、过程和方法的介绍,并主要围绕软件生存周期的技术和方法,采取灌输式课堂教学。然而,对于缺乏软件开发经验及软件管理经验的在校本科生来说,理解这些理论比较困难。鉴于此,结合《软件工程》课程理论性和实践性较强的特点,近几年,石河子大学信息科学与技术学院计算机科学与技术系对人才培养方案进行修订,在《软件工程》课程结束后,专门安排两周的《软件工程课程设计》,目的是在系统学习软件工程课程后,使学生加深对软件工程理论的认识和理解,能较好地掌握软件开发模型、软件生存周期、软件工程方法等在软件项目开发中的作用和意义,熟悉软件开发过程中相关文档的书写,积累软件开发经验,并培养学生的团队合作意识,从而达到提高学生的软件工程综合能力和软件项目开发管理能力的目的[1-3]。

以下就是我院《软件工程》课程设计的具体实施过程。

1课程设计题目的确定

课程设计题目采取任课老师出题和学生自拟题目相结合的方式。在选题之前,先有任课老师给出20个左右的题目,供学生自由选择;如果学生有好的设计题目,或结合学生自己的特长及正在进行的项目,学生也可以自拟题目,在老师同意后方可实施。鉴于《软件工程》课程的特点,老师在选择课程设计题目时,尽量选择规模和难度适中的题目,重点考虑学生实施的可行性,并重点考虑课程设计题目对软件开发周期、各阶段相关文档的书写等内容的综合应用与检测。

我院近几年在《软件工程》课程设计题目选择中,重点将课程设计题目分为如下几类:1)应用软件开发类,如图书管理系统、人类资源管理系统、学生成绩管理系统等;2)网站开发类,如购物网站开发、选课网站开发等;3)游戏类软件开发,如棋牌游戏开发、游戏虚拟场景设计等;4)其他类型软件开发,如系统软件类、病毒处理类等。

在确定课程设计题目的同时,将课程设计所要达到的要求、中期检查时间、最终完成时间、最终提交成果及文档书写要求等告知学生。

2课程设计团队的组建

在我院《软件工程》课程设计团队组建方面,我们采取学生自愿组队的原则,要求每队学生成员不超过5人,并要求每队需有1人担任团队队长,负责本队学生的任务分工及日常管理。在学生组队时,任课老师给出组队建议,如队长需考虑每个队员的专业基础、特长、性格、技能等,使每个队员在团队中担任不同角色,从事不同工作,如系统分析师、系统架构师、程序员、测试员等。这种角色的设置及人员职责的划分,使学生对项目团队有了初步认识,更加深刻地认识到团队协作的重要性。

实践证明,这种团队划分和组建方法,能充分发挥每个学生的积极性,使得每个学生的工作量得到较合理的分配,并能发挥每个队员的特长,使课程设计顺利地进行。

3课程设计中期检查及指导

由于我院《软件工程》课程设计持续时间较长,为2周,所以,对课程设计的中期检查显得非常有必要。我们一般将课程设计的中期检查时间定在课程设计开始后的第1周周末。中期检查主要针对各个团队提交的开发计划、完成百分比、后续工作量等进行检查,以此指出每个团队存在的问题,监督其开发过程,并给予适当的指导和建议,同时督促每个团队成员完成后续的工作。

4课程设计成果展示及提交

课程设计结束时,我们要求每个团队必须按照规范格式提交项目成果(可运行的系统及各类文档),同时,每个小组团队依次采用答辩的方式现场展示所完成的系统。每个团队用大概10分钟左右的时间介绍团队分工、需求分析、设计、测试等过程,并将每个过程中重点成果进行叙述,并演示可运行的系统。任课老师现场提问,每个团队成员均可回答,并记录回答问题的情况。

在学生的课程设计成绩评定中,我们不仅考虑每个团队总体的项目完成情况,如项目完成质量、需求分析和设计的合理性、程序代码的质量、测试的充分性等,还考虑每个学生在团队中的表现及其工作量比重。我们将每个学生课程设计的成绩划分为3个组成部分:考勤占20%,所在团队的项目总体完成情况占40%,个人在团队中的表现和工作量完成情况占40%。

该实践模式在我院计算机科学与技术专业2010级、2011级和2012级《软件工程》课程设计中进行应用,取得了较好的效果,不仅激发和鼓励了学生实践动手的能力和兴趣,让每一个同学都能真实地将学习到的技术进行应用,而且增强了学生规范化的软件开发意识,锻炼了学生规范化的文档书写能力。同时,培养了学生严谨、务实的学风,激发了学生的自我实现意识和团队合作意识。

5结束语

针对《软件工程》课程理论性较强的特点,我们通过《软件工程》课程设计,进行软件工程理论的实践。我们不仅强调理论的重要性,更要强调实践的重要性,通过《软件工程》课程设计实践,不仅加深了学生对《软件工程》理论的理解,而且锻炼了学生的动手能力和综合知识的应用能力,激发学生学习的积极性。虽然我们在《软件工程》课程设计实践中取得了一定的成绩,获得了学生的好评和认可,但这种实践在我院依然处于探索阶段。在以后的《软件工程》课程设计中,我们会继续对这种实践进行完善,以此达到培养生的动手能力、分析问题和解决问题的能力、团队合作能力,培养出高层次的软件开发人才。

参考文献:

[1] 赖均.软件工程课程设计实践教学探索[J].课程教育研究,2014(2):243-244.

[2] 韦宇炜,聂笃宪.软件工程课程设计教学模式探索[J].考试周刊研究,2010(11):159-160.

[3] 韦宇炜,聂笃宪.软件工程课程设计教学模式探索[J].现代计算机,2013(3):42-44.

作者:秦怀斌

课程设计之软件工程论文 篇3:

软件工程专业Java课程设计实践与思考

摘要:从软件工程专业的培养目标出发,根据Java程序设计课程的特点,结合广西民族大学软件工程专业Java课程设计的教学实践,从课程设计的概念、大纲制定与方案设计等几个方面介绍Java课程设计的作用与具体实施方案,总结近几年课程设计的实践心得与教学经验。

关键词:课程设计;Java程序设计;实践教学;软件工程

0、引言

软件工程专业本科生的培养目标是面向软件产业界对软件工程专业技术人才的需求,培养具备扎实的计算机科学技术基本知识,受过良好的软件设计、开发和工程管理方法基本训练的应用型高级技术人才。

Java程序设计是软件工程专业的一门重要课程,该门课程的课程设计作为实践教学的重要环节,对培养学生的学习能力、问题分析与解决能力、实践创新能力起着重要的作用,同时还可以培养学生的软件工程思想,提高学生的软件开发能力。

1、什么是课程设计

课程设计是学生在学完课程之后集中一两周时间,以个人独立完成或团队分工合作等方式,围绕某一设计题目进行专业实践活动,旨在巩固、强化、拓展所学知识,提高学生实践操作能力和自学创新能力,培养学生团队合作意识。

课程设计是针对性较强的实践教学环节,将课程基本理论与工程实际相联系的综合训练,是培养应用型人才的一个重要步骤。课程设计可以使学生通过查阅资料、分析题目、确定设计方案等一系列步骤将理论知识与工程实践相结合,从而加深对所学知识的理解与巩固,提高整体思维能力、综合应用能力和创新能力。

2、Java课程设计大纲的制定

根据Java程序设计课程的教学大纲要求,制定相应的课程设计大纲,明确课程设计的目的、任务要求、时间安排、设计文档要求、考核方式、备选课题等。由于课程设计以个人独立完成为主,因此课程设计的难易程度应适当,保证学生在指定的时间内能顺利完成。根据计算机技术的应用范围与学生当前的知识储备情况,备选题目可设置多种类型,如小型桌面软件类、管理系统类、网络编程类等题目,当然,学生也可以自拟题目。课程设计文档是学生对自己的作品在系统总体结构、功能模块、程序流程图、类图、主要算法、遇到的主要问题与解决方法等方面进行说明的文字材料,同时要求学生在文档的最后总结在完成课程设计过程中的心得体会。

3、Java课程设计方案

Java课程设计的实施主要由选题、指导、考核3个环节组成,其中,选题是首要的步骤,指导是教师了解学生遇到的问题和完成进度并给予辅导建议的过程,考核是对学生的作品进行检查与评价。

3.1 选题

Java课程设计题目的设置要与软件工程专业培养目标和Java课程的教学大纲要求相一致。课题应尽量满足理论知识与专业技术相结合、软件工程理论与项目实际需求相结合的要求,既要全面覆盖理论课程所学知识,适合实践教学和启发创新,又要联系工程实际,并适应本专业的发展趋势。课题应具有一定的可操作性、设计性、灵活性、挑战性和趣味性。课程设计内容难易程度的确定要以中等水平的学生在规定时间内经过努力能完成任务为依据。

另外,课题应尽可能地与学生的实际学习、生活相关,这样学生在调研、分析设计时更容易了解需求。例如,学生成绩管理系统、图书信息管理系统、宿舍管理系统、ATM柜员机模拟程序等课题与学生的学习、生活相关,在使用计算机时常用的计算器、画图板、音频或视频播放器等都可以作为选题。

在学生明确课程设计的大纲要求后,根据自己对Java语言知识的掌握程度与感兴趣的研究方向,可以从课程设计大纲的备选题目中选择适合自己的题目,也可以自拟题目。

3.2 指导

在课程设计中,学生是主体,教师是主导,因此指导应讲究方法与艺术,最大程度地发挥教师的导向作用与学生的主动性与创造性。指导分为两个阶段,第一个阶段是对学生选题的指导,第二个阶段是学生在完成课程设计的过程中教师对学生的集中辅导与答疑。指导过程同时也是教师对学生进度的检查与监督过程。

1)选题指导。

教师在指导学生选题时要说明各种题目的难度与要求,根据学生基础与能力的不同,因材施教,推荐不同的题目,帮助学生把握好方向。

对于理论基础好、动手能力强的学生,可以给他们提供难度较高、有挑战性的题目;对于理论基础好动手能力一般的学生,难度较高、可操作性强的题目可以激发他们的探索精神、提高动手能力;对于理论基础与动手能力都一般的学生来说,难度中等、有可参照原型的题目较适合他们;基础差的学生要独立完成设计比较困难,因此教师可以建议他们选择源于教材、难度低的扩展性题目。

2)设计指导。

学生在课程设计的具体执行过程中主要由个人独立设计与教师指导两个部分构成。个人独立设计是学生利用课余时间对自己的课题进行设计实现。除此之外,在课程设计期间,教师安排每周2次,每次4~5学时在实验室集中指导与答疑。通过这样的方式,教师可以参与到学生的设计中,了解并开拓学生的思路,发现问题并引导如何解决问题,还可以发掘学生的潜能,同时也可以对整个课程设计的过程进行监督与管理,提高课程设计的质量与效果。

在Java课程的教学过程中,教师应该逐渐了解学生的学习态度与学习情况,因此,鉴于学生态度与基础不同,教师在设计的指导上也要因材施教,有针对性。对于理论基础好、动手能力强的学生,教师可以引导他们进行深入的探索与研究,进行创新性的设计,而不仅仅局限在基本设计要求上。教师要参与他们的设计中,听取他们的思路,对有一定创新性、合理的想法给予鼓励,并给他们提出建议,推荐有关的资料。由于这类学生对新技术的求知欲强,但新技术在最初应用时容易出现问题,所以教师在听取学生的思路时,要及时发现并纠正他们设计中的不合理成分,引导他们朝着正确的方向前行。

对于理论基础好动手能力一般的学生,他们在系统分析与设计中一般都能够完成得很好,但是编程实践的能力欠缺,因此教师通过启发式的方法引导学生,发挥学生的理论水平进行创新性的设计,在系统实现时给学生推荐参考资料,加强对基础知识的应用能力。

对于大部分理论基础与动手能力都一般的学生,教师要帮助学生加深对理论知识的理解,同时在设计上多加指导与启发,引导学生更为完善地完成设计,并在设计中或多或少地表现出一些自己的特色,然后在编码实现时给予更多实际操作性的指导。

在课程设计的指导中,除了教师的指导,也可以采取“强帮弱”的形式,让能力较强的学生参与能力较差的学生的系统设计与实现中,促进他们之间的交流与帮助。

3.3 考核

学生在规定的时间内完成课程设计之后,教师要对学生的作品进行考核,考核的目的不仅仅是为了检查学生完成的情况,更重要的是给他们一个讲解其设计思路并演示作品的机会。考核主要采取学生讲解作品分析设计思路并演示说明作品、教师提问的答辩考核方式,这有助于学生加强知识的全面理解,培养其语言组织与表达能力、应变能力等。

答辩过程要求全班学生参加,分为学生自述、教师提问、学生提问3个环节。首先由学生针对其作品从系统分析、设计、关键技术与算法、存在问题等方面进行讲解,然后演示作品。之后,教师与其他同学可以对答辩人的作品从设计思路、功能、性能、代码与技术等方面进行提问。通过答辩,并结合学生的设计说明书、答辩水平、动手能力、独立分析问题与解决问题的能力、创新精神与学习态度等进行综合考评。对优秀设计者,给予表扬与鼓励,并号召其他同学学习,在评分时适当加分,以调动学生进行课程设计的积极性;对仅完成基本要求的学生,肯定他们的努力,并鼓励他们多实践;对未达到要求的学生,要求其进行整改或限期令其重做。

4、关于Java课程设计的几点思考

这几年Java课程设计的教学效果表明,课程设计为学生巩固所学知识并能学以致用、提高综合应用能力提供了重要的实践平台,教师也从课程设计实践教学中获得了一些有用的经验,为进一步完善课程设计教学提供帮助与参考。

1)注意因材施教,根据学生的基础布置不同的课题。

制定课程设计大纲时,首先制定一个对于大多数学生都比较合适的基本实践要求,然后再针对不同学生的基础设置难易程度不同的课题。这样对大多数学生来说,他们既不会感到实践要求高不可及,又感觉到有一定的难度,比较有挑战性。

2)及时发现并总结问题,积累经验。

在课程设计的整个教学环节中,教师要善于从中发现并总结问题,给予及时、到位的指导。例如,在指导学生完成课程设计时,对于大部分学生普遍遇到的问题,教师要及时发现并进行讲解;从学生上交的课程设计文档中发现学生利用面向对象技术进行程序设计存在的问题,分析问题产生的原因,以改进教学方法;在课程设计答辩考核之后,教师还要对全班课程设计的情况进行全面总结,不断改进。总之,在课程设计的任何一个环节,教师都要善于发现问题,总结经验。

3)教师要不断完善自己的知识结构。

从课程设计的大纲制定、任务布置到指导与考核都需要教师付出很多时间与精力,而且对教师的专业知识与能力要求也很高,因此要想保证课程设计的质量与效果,很大程度上取决于教师的责任心和知识结构的完善。

4)在课程设计中培养学生的软件工程思想。

JaVa程序设计是软件工程课程的先修课程,在讲授程序设计语言时,教师可以适当灌输一些软件工程的思想,让学生对软件开发的基本过程有初步的认识,避免学生陷入“学习程序设计课程只是学编程、软件开发就是编程”的思想误区。实际上,学生在课程设计过程中对系统进行分析、设计、编码、测试等都体现了软件工程思想的运用,程序设计是软件开发过程的一个阶段,通过课程设计能够加深学生对程序设计语言的理解,同时也能较好地培养学生的软件工程思想,为后续软件工程课程的教学打下良好的基础。

5)根据任务的大小,可适当采取小组协作方式。

在这几年的Java课程设计中,由于是面向大二学生,重点是培养学生的个人能力,因此任务的设计主要以个人能独立完成为依据。到了大三、大四,则重点培养团队合作意识。当然,如果课程设计的任务量大、难度大,就可以采取小组成员相互协作的方式完成。教学过程中可以采用分组比赛、奖励等措施来激励各组尤其是知识较弱的学生不断求上进,完善自我,增强团队合作意识和团队荣誉感。

5、结语

Java课程设计已经在软件工程专业的4届学生中进行了实践,教学效果表明,课程设计达到了提高学生动手能力、学习能力与综合应用能力的目的。但是,课程设计的教学改革任务重,如何通过课程设计实践提高学生的知识应用能力与实践水平、培养应用型人才是教学研究不断探索与实践的方向。

作者:刘美玲 李熹 黄文钧

本文来自 99学术网(www.99xueshu.com),转载请保留网址和出处

上一篇:导师培育大学生创业论文下一篇:自媒体时代汽车营销论文