一、软件工程专业建设中存在的问题
我国计算机软件专业教育在国际化、标准化方面远远落后于先进国家。首先是英语教育水平不高。在软件行业,英语无疑是第一语言。爱尔兰和印度之所以成为软件出口大国,与这些国家大量的英语软件人才密切相关。我国软件专业硕士乃至博士生的英语听、说、写能力障碍,已经成为国际化的坎。练好英语也成为我国软件人才流向外企或出国的主要目标之一。其次,我国很多大学教材平均五年才更新一次,远远落后于国际软件业的发展。这也是大学生毕业后很难满足软件公司要求的主要原因。
相比之下,印度APTECH教材每年更新一次。
2、国内外市场对软件人才的需求
我国和印度同为发展中国家,但印度已成为仅次于美国的第二大软件出口国。尽管我国软件市场保持快速增长,但软件开发的整体水平仍处于起步阶段。这给了我国软件产业进一步快速发展的空间,软件工程将得到更多的重视和支持。
国内市场每年对软件人才的需求量达80万人,但各高校计算机专业毕业生中软件工程人才仍然短缺,特别是高素质软件工程人才。毕业生主要在软件公司、企事业单位、高等院校、科研院所、国防等部门从事软件设计、开发、应用和研究工作;此外,还可以攻读本学科或相关高新技术学科或交叉学科的硕士学位。推荐阅读:
因此,面对如此高的市场需求,我们的开放教育必须填补普通高校的人才空缺,为相关人才在岗位上就业和发展提供学习机会。推荐阅读:讨论机电一体化装置和控制系统的设计论文
3、依托电大三网优势,充分发挥成人特点,创建自己的教学模式。笔者认为教学模式应从以下几个方面入手:
1、师资队伍的知识更新 专业教师队伍的知识更新至关重要。教师是学生学习的引导者,是教学过程的核心力量。因此,要完善一个职业,首先要从教师的知识结构入手。从知识水平开始。软件工程的特点决定了其基础理论和方法一般需要较长的工作经历或经历,因此中青年教师往往是该领域的专家;而编程技术和软件开发工具往往是年轻人的专利,相关课程的教学最好由年轻教师来完成。每个年龄段还应该有不同级别的教师。
2、教学计划的更新要根据学科特点和学生自身特点,制定切实可行、可操作的教学大纲和教学计划。避免形式化、纯理论性的教学,教学安排应围绕数据库知识、软件工程知识和编程知识进行设计。
1.计算机软件开发毕业设计中存在的问题
进入21世纪高等教育改革以来,全国高校招生规模不断扩大,毕业生数量相应大幅增加,给大学生就业带来了严峻挑战选择。为了跟上时代的步伐,给求职带来一些实际的项目经验,越来越多的计算机专业的学生选择软件开发作为毕业设计课题。然而,在各个大学的现实中,本科毕业论文质量却有所下降,软件开发论文完全脱离现实。归根结底,没有一个学习模式可以从头到尾指导学生进行软件开发。主要存在以下缺点。
1.1 学生提问
学生设计能力低,编程能力差,没有实际项目经验。他们不了解软件开发的基本理论和方法,也不了解编程语言代码编写和开发工具界面操作。他们甚至不知道从哪里开始准备毕业论文。成为当前软件开发毕业论文质量低劣的根本原因;学生思想上存在误区,不重视毕业设计的重要性和必要性。他们认为毕业设计和普通课程一样,对毕业设计敷衍了事,不愿意花时间,埋头苦干开发软件,总是被动接受学习,这是导致毕业设计质量差的直接原因。软件开发毕业论文。
1.2 学校问题
学生在大一到大三期间,普遍简单开设各科课程,没有结合所有软件开发课程,直接导致学生软件设计能力低、开发水平差的现象;从论文提案、中期检查到论文答辩等过程,各种材料的提交期限都没有严格遵守。一般情况下,包括论文开题报告在内的所有材料都是在期末答辩时递交的,这直接导致了学生的被动和疏忽的态度;毕业论文评审是最关键的问题,也是目前毕业论文相关制度中最混乱的部分。没有一套规范的毕业论文考核标准,也没有对毕业论文中间过程的监控。就连最后的论文答辩也只是走个形式。
1.3 老师提问
大多数教师没有项目开发的实践经验,只知道软件设计的理论基础。不能全面引导学生,更不能让学生主动学习,这也是毕业论文水平不高的原因之一。
2.CDIO教育模式
CDIO教育模式继承和发展了欧美20多年来的工程教育改革理念。它是“做中学”、“项目式教育学习”的集中概括和抽象表达。 CDIO由麻省理工学院和瑞典皇家理工学院于2004年开发,由四所大学共同研发建立,代表了Conceive(构思)、Design(设计)、Implement(实施)和Operate(操作)四个学习过程。它以从产品开发到产品运营的生命周期为载体,让学生以主动、动手、有机衔接的方式进行学习。 CDIO培养大纲将工程毕业生的能力分为四个层次:工程基础知识、个人能力、人际团队能力和工程系统能力。教学大纲要求采用全面的训练方法,使学生能够达到这四个级别的预定目标。
本文将CDIO模型的构思、设计、实现和运行四个学习过程引入到计算机软件开发毕业设计中。要求严格遵循构思、设计、实施、运行四个阶段,各阶段结果均作为毕业论文考核的依据,调动学生的积极性和主动性。不仅让指导老师了解整个设计过程并根据阶段安排进行指导和监督,也让学生愿意为毕业投入时间和精力。正在设计中。在弥补学生软件开发方面的不足的同时,也提高了学生思考问题和综合设计的能力,最终达到提高毕业论文质量的目的。
3、基于CDIO模型的计算机软件开发毕业设计
3.1 概念阶段
毕业论文从学生的选题开始。一般来说,老师会提供一系列主题,然后学生根据自己的具体情况进行选择。这种方法抑制了学生的积极性。学生应根据自己的兴趣爱好、特长以及未来的职业规划,利用各种参考资料,主动查找和找到适合自己的学科范围,然后在老师的指导下确定毕业论文题目。不仅可以调动学生的设计热情,为后续的毕业论文工作提供有利条件,还可以培养学生获取信息和思考问题的能力。随后,导师提供软件开发参考资料,在国家知识基础设施等学术平台上检索该主题的相关文献,确定论文的基本要求,并向学生下达论文任务书。学生们以收到的人牛书为基础,利用软件工程专业书籍、中国知识基础设施等学术平台以及论文相关网站查阅大量信息,了解论文的背景、研究现状和发展意义。 ,并确定论文的研究内容和发展意义。识别开发中的关键问题,撰写论文和项目报告,完成软件开发的构思阶段。
3.2 设计阶段
设计阶段主要包括需求分析和总体设计,正式开始毕业论文的设计工作。根据数据回顾、市场调研和企业需求,分析软件产品运行流程和功能清单,完成系统需求分析,并在需求分析的基础上重点进行功能设计、模块划分、模块接口规范、数据库概念设计和数据库逻辑。设计在老师的指导下反复修改和完善,最终确定了系统的总体设计。然而,在软件开发和设计阶段,学生还没有开始写论文,软件程序还没有完成。导师没有中期检查的依据,无法有效监督学生的开发和设计。因此,设计阶段完成后,应形成需求分析、数据库设计、概要设计等相关说明,作为毕业论文期中考试的材料,纳入论文考核范围。
3.3 实施阶段
实施阶段是学生毕业论文工作的重点。这也是毕业论文设计工作量最大、所需时间最长的阶段,直接决定了最终毕业论文的质量水平。学生需要掌握软件开发工具、编程语言等基本理论和方法,根据系统总体设计的功能模块和接口规范实现数据库、编写程序代码,并反复运行和测试。此阶段生成详细的设计说明、编程规范、测试等文档,作为毕业论文第二次中期检查的材料。这个阶段,在导师的监督下,系统功能可以完全确定,后期不需要重复修改系统功能。
3.4 运行阶段
根据前期生成的提案报告、需求分析、数据库设计、概要设计、详细设计、编程规范、测试等文档以及开发的软件系统撰写毕业论文,并参加论文答辩为总结阶段学生的毕业论文。它不仅注重反映学生的写作水平,更了解学生对软件的学习情况。这是得分最高的部分。最后,所有文件、论文和答辩将一起评分,得出毕业论文成绩。
4. 结论
【摘要】:研究生论文设计是实践教学的重要内容。但计算机专业研究生论文设计存在着课题不科学、管理不规范等问题。在分析这些问题的基础上,笔者提出研究生论文设计的主题应根据学生的实际情况确定。然后学生应该利用软件工程技术进行毕业设计。
关键词:计算机;毕业设计;软件工程
关键词:计算机;毕业设计;软件工程
CLC 分类号:G64 文档识别代码:A 文章编号:1006-4311 (2011) 04-0239-02
1毕业设计的目的
毕业设计是大学教学中重要的实践教学环节之一。是对学生经过四年学习后的专业知识和研究能力、自学能力及各项综合能力的检验。通过毕业设计的形式,可以使学生在综合能力、学术方法等方面得到训练,使学生进一步理解所学的专业知识,拓展知识面[1]。因此,毕业设计是高等教育培养学生综合运用所学理论知识和技能解决实际问题能力的重要环节之一。是衡量毕业生是否达到相应学术水平的重要依据。它是检验学生能否将课堂知识转化为实践技能并灵活运用所学知识的手段。
计算机科学是一门实践性很强的专业。因此,计算机专业的毕业设计强调理论与实践的结合。毕业设计的主要目的是培养学生综合运用所学基础知识、独立解决一般计算机应用问题的能力,使学生受到计算机应用人员必须具备的基本能力的培养,同时也使学生的思想作风、学习毅力和工作作风得到了很好的锻炼[2]。
2 毕业设计中的问题
我们先来看一个毕业设计的例子:A老师根据自己的教学和科研情况,确定了毕业设计的题目是用C语言设计一个自动机演示系统。在他的指导下,学生B已经找到工作,毕业后将在一家互联网公司工作,设计和开发电子商务网站。 B同学询问是否可以将毕业设计题目改为与网站开发相关的内容,A老师不同意。 B同学根据自己的理解开始开发相关代码。编码工作完成后,学生B向A老师汇报编码情况。A老师对学生的设计进行评审,并指出存在的问题。 B同学对各个模块的设计和实现进行了微调。然后开始毕业论文的写作和答辩准备。第三次出场要等到防守时才会发生。
这是一个典型的失败毕业设计,主要存在几个问题。
2.1在确定毕业设计课题时,导师只根据自己的教学和研究情况布置课题,没有考虑学生的实际情况,学生只能被动适应老师的要求。
2.2 老师只关心毕业设计的完成情况,没有提供有效的指导。毕业设计已经完全成为了学生自己的行为。如果导师不参与毕业设计过程,就无法了解学生在毕业设计中遇到的问题。学生只向导师提交最终的代码和毕业论文,导师无法了解学生是如何完成代码和论文的。这会引发各种问题,比如从网上下载代码、抄袭别人的论文等等。这样的毕业设计既不能有效提高学生的水平,也会对学校的声誉产生负面影响。
2.3 更关注代码而不是文档。由于学生提交的只是最终代码和毕业论文,因此学生很容易不严格遵循软件开发的工程方法,只注重编码而忽略需求分析。了解项目内容后,软件开发流程直接跨越概要设计、详细设计、模块设计、编码。这种无序的软件开发方式带来的直接后果是开发效率低、代码复用性差、最终系统集成性差。这种毕业设计与学生的即兴编程无异,对于提高学生的职场适应能力没有任何帮助。
相反,在指导毕业设计的过程中片面强调软件工程理论,将学生的毕业设计完全变成相关文档的撰写过程而不考虑相关编程技术和技能的训练,也是不正确的。
笔者对计算机专业毕业设计中存在的上述问题进行了认真的思考,并提出了自己的一些想法。
3根据学生情况确定毕业设计题目
确定的选题是学生高质量完成毕业设计的基础[3]。毕业设计安排在大学高年级第二学期。此时,大多数学生已经确定了毕业后的工作意向,而随着毕业的临近,学生很难专心学习。如果毕业设计的题目与自己今后的工作和学习关系不大,学生往往会抱着应付的态度,完成任务,不会取得很好的效果。
而如果选题合适,毕业设计也可以算是学生上岗前的一次岗前培训。当然,学生的积极性和积极性也会有所不同。因此,必须根据学生的实际情况设计适当的问题。
如果学生下一步要攻读硕士学位,他的首要任务就是打好基础,为下一步的学习做好准备。因此,毕业设计的选题应以理论研究为主。
如果学生毕业后进入大型企业工作,应重点引导学生学习如何运用软件工程理论进行标准化软件开发,并尽力提高学生的团队意识和合作精神,以适应未来的工作环境。如果毕业后进入小企业工作,应重点加强学生独立解决问题的能力,培养编程能力和技巧。
另一方面,计算机专业毕业设计的主题往往局限于算法设计或数据管理等几个有限的方面。但目前社会需求量较大的手机应用、网络游戏却很少涉及。但事实上,如果学生有这些领域的工作经验,对于毕业后的工作来说是非常有意义的,也是学生非常感兴趣的一个研究方向,你应该勇敢地去尝试这些事情。
总之,毕业设计选题的确定应该是导师与学生互动的结果。根据学生的情况和兴趣设计合适的课题是毕业设计成功的基础。
4毕业设计过程中的指导
确定了毕业设计的题目后,我们正式进入毕业设计阶段。学生在毕业设计中遇到的困难主要来自两个方面:①技术上的困难,如算法实现、数据结构设计等;②过程中的困难,如进度控制、团队成员之间的配合与协调等。
传统上,教师为学生提供更多的技术指导,帮助他们建立系统的框架,甚至设计重要的数据结构。学生要做的就是进一步细化设计,完成整个系统的编码。完成。
但事实上,经过四年的大学学习,学生应该已经具备了独立完成一个模块甚至整个系统的设计和实现的能力。即使在实施过程中遇到一定困难,也应鼓励学生通过网上查找等方式独立解决问题。
学生真正缺乏的是实际工作经验和团队合作理念。因此,应在这些方面加强指导。因此,毕业设计指导主要应围绕以下几个方面进行:
4.1 重点引导学生进行良好的系统设计,特别是模块之间的接口设计。一个好学生独立完成一个小型系统的设计并不难,但多个好学生共同完成一个中型系统的设计就非常困难了。 。学生通常没有相互合作完成项目的经验,甚至不知道什么是模块接口。但这是学生毕业后在实际工作中经常遇到的一个非常重要的问题。因此,有必要将毕业设计课题划分为具有一定耦合性的多个模块,分配给多个学生,并引导学生自行设计模块界面,以便接受这方面的训练。
4.2 软件工程在毕业设计中的应用 软件工程(Software Engineering)是研究利用工程方法构建和维护有效、实用和高质量软件的学科。从软件工程的角度指导学生的毕业设计,让学生在系统开发过程中体会到软件工程的价值。
习惯独自工作的同学喜欢在拿到题目后立即写代码。当他们遇到问题时,他们就推翻之前的设计,开始新一轮的编码。对于非常简单的问题,这种方法当然可以完成任务,但是对于真正大规模的项目,这种方法显然是好的但不可行。
根据软件工程思想,软件开发过程分为需求分析、程序设计、代码实现、软件测试和软件维护几个阶段[4]。只有认真完成前一阶段的工作后,才能开始下一阶段的工作。例如,如果要编码,首先必须进行需求分析和概要设计,充分分析系统各方面可能遇到的所有问题,然后才能开始。
毕业设计可以让你将所学的软件工程知识付诸实践,了解真正的企业多人软件开发流程,从而为毕业后的工作打下坚实的基础。对应软件工程的几个步骤,整个毕业设计可以分为几个阶段,并确定每个阶段的目标和任务。导师单独检查每个阶段的完成情况,并全程参与学生的毕业设计。
4.3 重视系统测试工作 测试是计算机编程的重要组成部分。然而以往的毕业设计往往缺乏对此的关注。学生完成代码设计后,进行简单的测试运行。如果没有出现重大问题,则认为系统设计完成。反正毕业答辩的时候,没有要求运行程序,即使有不完善的地方也不会被发现。
这种做法是非常不正确的,非常不利于培养学生严谨的工作态度。如果老师不强调,学生就会认为考试可有可无。在以后的工作中,他们对测试工作的关注就会减少,软件的质量也得不到保证。因此,必须留出一到两周的时间来测试系统。
5 总结
本文结合笔者多年指导毕业设计的经验,提出了计算机专业毕业设计过程中可能遇到的一些问题,并提出了一些意见和建议。
强调根据学生实际情况选择毕业设计课题的重要性。然后分析了毕业设计过程中经常遇到的几个问题:注重系统设计的指导,让学生独立解决技术问题;强调软件工程在毕业设计中的指导作用;强调测试在系统开发中的重要性。笔者多年指导毕业设计的经验表明,通过运用这些方法,学生可以通过毕业设计学到更多工作中有用的知识,提高毕业设计的价值。
参考资料:
[1] 王志英.实践教学:计算机人才培养的亮点[J].计算机教育,2004,(9):60-63.
[2]王玉峰,刘宝志,李雪梅,等.计算机专业毕业设计的探讨[J].计算机教育,2010,(1):77-79.
【关键词】软件工程;数字媒体;专业施工
1.简介
随着计算机技术、通信技术、数字广播等技术的不断发展,以互联网和无线通信为传播载体,以传统媒体内容和创新内容模式为核心的数字媒体产业正在全球迅速崛起。并正在改变人们的生活。休闲娱乐的信息获取方式和形式。
我国数字媒体产业近年来正处于高速发展时期,对具有较高人文素质、掌握数字媒体核心技术、具有艺术创作能力的复合型数字媒体技术开发设计人才需求旺盛。四川工程学院软件工程专业与IT企业合作办学,实行“3+1”人才培养模式,即学生前三年在校学习,第四年在软件领域实习公司并完成毕业设计(论文)。为了培养既具有扎实的理论基础又具有适应人才市场需要的专业技能的学生,在软件工程专业的总体框架下设立数字媒体技术方向。
数字媒体技术作为一门宽口径、以技术为主、艺术为辅、技术与艺术相结合的新兴专业方向,涉及不同的学科知识。因此,我们有必要探索和改革人才培养模式和课程体系。以及实践教学体系的探讨,搭建科学创新人才培养平台,促进软件工程专业人才培养整体水平的提高。
2.人才培养目标
培养目标是制定教学计划、设计课程结构、选择知识发展方式、确定教学组织形式的依据。也是教学内容、教学方法、教学组织管理、教学方法、教学评价等改革的基础和前提。软件工程专业的数字媒体技术方向具有软件工程与数字媒体技术相结合的特点。注重培养学生的软件开发和应用能力,实践性很强。结合自身办学特色和办学条件,我校软件工程与数字媒体人才培养目标是:“培养计算机科学、多媒体网络、软件工程技术、信息安全等方面的专业知识和技能,具有扎实的软件工程和数字媒体技术基础理论,专业基础知识广,实践能力强,能够从事新媒体应用和虚拟现实等多媒体技术开发、数字媒体设计与创作、电脑游戏设计、网页设计与网站等工作维护、信息服务和数字媒体管理等创新技术人才。”
3.核心课程体系
数字媒体课程体系的建设以培养创新型、复合型人才的基本指导思想为基础,高度重视实践性课程的创建,让学生所学的方法充分发挥作用,真正学以致用。以适应今后的工作。岗位,成为本行业和企业欢迎的有用人才。课程体系分为软件工程专业核心课程模块、数字媒体核心课程模块、专业实训、毕业实习和毕业设计(论文)等模块。
3.1 核心课程
软件工程专业数字媒体技术方面以软件工程专业为主线,形成专业基础和专业骨干课程。其中计算机与软件基础课程包括:计算机概论、程序设计概论、面向对象程序设计、数据结构与算法、Java编程、计算机组成原理、数据库原理、计算机网络、操作系统、编译原理、信息安全技术、计算机体系结构、J2EE和中间件技术;软件工程专业课程包括:软件工程概论、软件测试技术、需求分析与UML设计、软件项目管理与过程控制;数字媒体技术专业课程包括:数字媒体技术概论、计算机图形学、数字图像处理、网络流技术、用户界面设计、视音频制作与处理、数字影视特技应用、高级游戏功能与游戏引擎、人类-计算机交互技术、虚拟现实技术及应用、高级脚本和插件技术等。对于实践性较强的课程,将开设单独的实验课程和配套课程设计。
3.2 特色课程
计算机网络游戏与计算机技术、美术设计、计算机动画、计算机图形学技术高度融合。目的是培养扎实的游戏编程能力和良好的逻辑思维习惯,以及较强的审美能力和一定的艺术素养。熟悉游戏产品开发流程,有一定策划能力,竞争力强,能在游戏公司、门户网站、手机运营等行业从事游戏设计、游戏开发、游戏制作、游戏策划、游戏运营等工作公司、动漫公司等具有雄厚实力和创新精神的高级复合型人才。
计算机游戏编程。课程目标:本课程重点普及游戏开发理念,培养游戏开发氛围,选拔有潜力的学生组建开发团队,教授游戏开发中的编程要素,特别是游戏引擎开发的基础知识。通过本课程的学习,学生可以掌握游戏开发的基本概念,熟悉游戏开发的基本技能和流程,具备从事游戏编程工作的基本技能。
虚拟现实和数字娱乐。课程目标:本课程主要介绍虚拟现实的基本概念及其系统组成、相关软件技术和虚拟现实应用,并介绍数字娱乐的现状、发展和一些关键技术。内容包括:虚拟现实的定义、特点和组成,虚拟世界的创建和管理,虚拟现实中的视觉计算,虚拟现实中的交互技术,虚拟现实中的声学计算,增强现实,分布式虚拟现实,虚拟现实应用,数字化与虚拟现实相关的娱乐技术。
4. 实践教学体系
培养适应时代需要的创新人才,必须加强实验教学的开放性、多层次性。本着创新、以学生为中心的原则,结合培养目标和自身教学特点,数字媒体技术方向的实践教学体系分为课程实验、专业实训、毕业实习和毕业设计三个方面。每个实际环节都是相互关联的。协调、衔接、分步推进。
4.1 课程实验
按照实践能力逐步培养的原则,以系列课程为基础,实现数字媒体技术专业基础能力培养,并根据系列课程的复杂程度和规模设计实践环节,开展多层次的课程实验教学,培养学生的需求和实践能力。按照递进规则,大学四年各方面都安排了实验课程。
多层次实验教学是指根据实验大纲和目标的规范,将实验项目设计成基础实验、综合设计实验、研究创新实验等不同层次的实验。同一学生从基础规范、综合设计、研究创新等难度递增的实验项目中逐步培养,系统培养学生的综合实践能力。课程实验主要包括:手绘训练、视频特技与非线性编辑、多媒体网页设计、移动娱乐软件开发、在线娱乐软件开发、界面设计课程设计、虚拟现实开发课程设计等。
4.2 专业培训
作为知识、能力、综合素质教育相结合的专业实践训练已成为数字媒体技术专业实践教学的重点之一。专业培训对课堂教学具有延伸作用,是学生培养专业能力、熟悉专业环境、了解实践知识的重要渠道。通过专业培训,学生不仅能将所学知识转化为实际应用,而且使学生在学习和操作过程中不断调整知识结构,逐步适应相应的专业岗位,锻炼专业能力,为实习和实习做好准备。未来参与社会。积累经验,打好基础。
我校软件工程专业为校级专业综合改革试点专业。以建设微软IT学院、惠普软件学院为契机,与知名IT企业开展深度合作,共同培养具有国际视野的软件开发、软件测试和服务外包人才。 。与中软国际、达瑞纳科技等十余家IT企业联合建立了实习实训基地和就业基地。
4.3 毕业实习及毕业设计
毕业实习是让学生将前期所学的知识运用到生产实践中,真正了解和感受未来的工作,锻炼自己各方面的综合能力。真正将专业实践能力与行业需求结合起来。获得相应岗位的资格,从而积累工作经验,为就业做好准备。为了增强学生和导师对毕业设计(论文)和毕业实习的重视,提高毕业设计(论文)质量,提高学生在毕业设计(论文)和毕业实习中获得的实践能力,还需要缓解毕业设计问题。由于时间(论文)不够,笔者将毕业实习与毕业设计(论文)有机结合起来,实行“毕业实习+毕业设计”的模式。学生毕业设计的内容来源于毕业实习,毕业设计的内容必须是毕业设计。实习的内容得到了一定程度的升华。除了反映学生四年来所学到的综合知识外,还反映学生的创新和科研能力,从而达到培养创新型、复合型人才的标准。
5. 结论
通过对国内外数字媒体技术相关专业和方向的研究,立足于培养创新型人才的目标,建立了相关的核心课程和多层次的实践教学体系,集专业技术、实践教学、校训于一体。企业合作共同培养软件工程数字媒体专业专业知识体系重点培养学生数字媒体制作开发能力以及艺术与技术相结合的专业素质,从而使学生发展基础知识、科学素养、艺术感知、专业知识、创新能力、工程能力和职业素质全面均衡发展,增强数字媒体行业就业竞争力。
参考资料
[1] 沉琪,于学军,张莉,等。软件工程(数字媒体技术)专业综合创新人才培养模式研究[J].中国校外教育,2010,16:162-163.
[2]蔡建平,沉琪,余学军,等.软件工程(数字媒体技术)专业特色建设[J].软件, 2012, 33(4): 108-111.
[3] 耿卫东等.数字媒体技术专业数字化学习平台的构建[J].计算机教育,2010(16):99-101.
[4] 向辉.数字媒体技术专业课程体系探讨[J].计算机教育,2008(15):28-30.
[5] 黄成云.数字媒体技术本科专业实践教学体系研究[D].华中师范大学,2012,5.
关键词:高职教育、软件技术专业、毕业设计、实践
1. 毕业设计概述
高职院校的教学流程一般由专业理论课、实验实训、课程设计、毕业设计、岗位实习组成
毕业设计是实践教学的重要组成部分。目的是培养和提高学生综合运用所学专业理论知识和实践知识的技能和水平。通过一个多月的毕业设计,学生将能够在调查研究领域进行研究。 ,在获取信息、收集和组织信息以及使用工具方面进行一些练习。尤其是软件技术专业的学生,需要对软件工程、软件生命周期、软件开发、软件项目管理等有新的认识。
也使学生能够锻炼和提高专业素质和职业技能,使学生能够更好地适应工作岗位,更好地完成工作任务。然而,在多年的教学工作中,作为一名高职院校软件技术专业的教师,我发现毕业设计的效果并不是很理想。本文对毕业设计和指导提出了一些自己的想法和建议。
2、高职院校软件技术专业毕业设计存在问题
1.不太重视毕业设计
高职院校的毕业设计通常在大三第一学期后半段(即第五学期)进行。一般来说,此时学生已经与用人单位签订了合同,有的已经到用人单位上班了。学生们在心理上我认为毕业设计并不是太重要。在六七周的设计时间里,你可以在校或校外,只要完成论文并提交给导师即可。因此,学生在做毕业设计时,态度并不积极。他们大量的时间在宿舍里玩游戏、看视频,而不是来到机房与导师讨论设计过程中遇到的问题。当毕业答辩即将开始时,一些学生会从网上下载一些论文并进行简单的修改。他们要么不知道辩护会议上提出的问题,要么答案是错误的。实际效果与预期效果相差甚远。
2. 毕业设计内容不够充实
对于软件专业的学生来说,大多数毕业设计都是开发一个应用系统软件。严格来说,软件系统的开发必须按照软件工程的七个阶段来进行,从前期的需求分析、可行性分析,到中期的大纲,每个阶段都有大量的工作要做设计、详细设计、编码、到后期的测试和维护。但事实上,学生毕业时并没有遵循这个过程。他们选择的内容大部分是信息管理系统。或者已经在培训周期间完成了,并且这些系统可以在网上轻松找到。由此看来,毕业设计的内容缺乏灵活性和多样性,没有与“互联网+”、“云计算”、“大数据”、“互联网+”等软件行业较为流行的技术充分结合。 Android技术”,充分体现了软件技术专业特点和软件行业特点。
3.论文格式不规范,文笔不强
通过近几年的答辩前准备工作发现,很多学生在临上场答辩前一两个小时,都是忙于修于修改论文的格式,而事实是论文格式规范之前早都下给每一位学生,他们要么没有看论文规范按自己的想法来做,要么未严格按格式规范来做,论文中经常出现资料页不全、目录非自动生成、标题正文字体不合适、字体间距过大或过小、表无编号和名称、图无编号和名称、图片尺寸过大或过小、总结性的文字未完全针对本次设计、参考文献格式不正确、参考文献数目过少等等问题。学生常常在临答辩前忙于修个论文中诸如此类的问题,而延迟了正式的答辩时间。另外,论文整体文字表达欠缺,专业术语、专业描述不是特别到位,对于自己所完成的那部分内容没有突出重点和特点,有的论文长篇大论粘贴了十几页代码,完全没有把所有代码都放在论文正文中的必要性。
4、设计任务划分不明确、任务不饱满
通常一个毕业设计题目由三到五人完成,设计时间六到七周,但是纵观这几年毕业设计的完成情况,一个毕业设计任务往往由一至两人完成,其他学生或因工作因培训因其他而冠以名,收到的毕业论文往往是一个题目四五份相同的内容,有的甚至连总结部分都相差无几。所以整个毕业设计环节中学生之间的对任务的划分没有做到责任到人,人人负责一部分内容,而是由一两个人包办完成,其他同学进行复制拷贝,以应付最后的论文提交。此外,有的小组尽管按人数分配了任务,但是设计任务量偏小,三五天内就完成。
三、 毕业设计解决办法
1、 召开毕业设计动员会,思想上引起足够的重视
可以针对学生思想上不重视,行动上松懈的状态,在大三第一学期第十周末考结束以后,由各个分院组织召开一次全分院范围内的毕业设计动员会,由分院院长带头发言、各教研室主任强调毕业设计要求和规范,各指导教师和学生签订毕业设计承诺书,进一步规范和严肃毕业设计这个重要的实践环节,让教师和学生从思想深处重视,从行动上执行,对于剽窃、抄袭、虚假等不端行为做斗争,一旦发现将严肃处理学生和对应的指导教师。
2、增加技术含量高的题目,促进知识的更新和外延
毕业设计不同于以往的课程设计、课程实训,应该围绕软件专业知识和技能的提炼、软件行业岗位需求、软件工程开发模式等方面进行毕业设计题目的开发,作为指导教师可以指定毕业设计题目,但每年要有更新,不能一个题目沿用很多年。也可以根据当前的形式和学生的实际,选择一些跟生活、工作等紧密相关的题目,如汽车租赁系统、校园物流快递系统等,还可以让学生自拟题目,有的学生参加了安卓、IOS、物联网、嵌入式等方面的培训,也可以根据培训内容,自行确定工作量适中的毕业设计任务。有的同学未找到合适工作,而选择自行创业,那么就可以写跟创业相关的一些内容。
3、加强实践监控环节,提高毕业设计质量
毕业设计之所以难于把控,原因是在于毕业设计在大三第一学期期末考试之后的下一周进行,而随着招聘会的不断开展,越来越多的学生找到了工作,于此同时有的学生办理了离校手续,指导教师见不到学生,毕业设计的指导工作紧紧通过网路、电话进行联系。那么针对这个问题,学院有必要出台一套毕业设计监管制度,比如每周固定的时间让学生和教师进行通话联系,汇报本周以来完成的情况、遇到的问题、需要解决的问题等,教师进行一一记录,并且能够进行有效解答。同时每一周学生要完成一定数量的毕业设计任务,并且形成相应的文档资料提交于教师以备存档。
4、开展创新创业教育,加大毕业设计奖励力度
毕业设计几乎是所有实践课程中进行时间较长的一个环节,那么学生可以发挥自己的主观能动性,进行创造性的大胆设计,尤其是有某方面爱好和特长的学生,更应该抓住这个锻炼和成长的机会,努力勤奋出好作品。作为指导教师也要给学生灌输这样的思想,不唯书本是图,要放开思路,拓宽视野,不断地进行修改和更新毕业设计内容,力求精品。学院也要从政策上给予相应的支持,对于最后毕业答辩和毕业论文十分优秀的学生要颁发荣誉证书,并给予物质上的奖励,让此项制度良性循环,同时也让每一位学生秉着诚信、诚恳、诚实的态度完成好毕业设计任务。
四、小结
高职软件技术专业毕业设计是一项综合性的实战课,是学生由学校走向职位岗位前提高职业能力的重要环节。作为学校要出台相应政策,实现奖励和惩罚并举,作为指导教师要严格要求学生完全按毕业设计规范来执行,作为学生要认真对待和用心完成毕业设计,三方齐心协力站好毕业前的最后一班岗,提交一份合格的高质量的论文。
参考文献:
1组织方式
实际上,上述选题机制是将分散的毕业设计引导形成基于团队的角色学习环境,学生在教师的统一带领下,对项目进行设计并划分模块,独立负责不同模块的开发,并且在教师的指导下,充分体验不同模块之间的沟通和集成问题,使学生能够贴近企业项目开发的实际情境,体会到实际项目身临其境的感觉,从而提高毕业设计对于毕业生的锻炼价值和质量。
敏捷宣言认为人和交互胜过过程和工具。以此原则为指导,在毕业设计实施过程中,要求学生组内成员和小组之间加强交流沟通,对于毕业设计过程中产生的文档,要求学生着重记录交流过程,而非交流结果。敏捷宣言认为客户合作胜过合同谈判,意义在于业务人员应该参与到项目开发的整体过程中,达到整个项目开发团队能够把握项目开发方向。对于软件工程毕业设计来说,意味着在选择毕业设计所涉及到的项目原型时,应尽量贴近学生实际,例如选择教务管理系统、教学管理系统、图书管理系统等学生经常接触和使用的应用系统,或是指导教学正在从事的横向或纵向课题。要求选择指导教学或学生自己能够扮演客户的角色,学生对于所开发的系统的需求了然于胸。
2管理方式
敏捷宣言认为可以工作的软件胜过面面俱到的文档,可以工作的软件是进度主要的度量标准。以此原则为指导,对毕业设计过程中要求撰写的文档可适当弱化,而是要求将项目程序代码保存到统一版本库,并保持版本库中的代码是可部署和运行的。极限编程的推荐实践方式认为对于项目开发应该尽早测试、经常测试、自动测试。在毕业设计的实施过程中,要求学生对于测试计划、测试用例及测试驱动开发(TestDrivenDevelopment,TDD)都有所了解,使用由学生指导教学编写的自动测试来监控开发进度,支持系统的演化,并尽早发现缺陷。上述管理方式就现阶段软件工程专业的毕业设计来看,实施比较困难,但应尽力发展,从而弥补现有人才培养方案中对于软件测试不够重视的缺陷。
极限编程推荐增量设计、开发和频繁重构。这也是毕业设计过程中应采纳的做法。对于一个指定的项目,要贯穿整个毕业设计过程,以各个阶段时间点为标志,要求学生以增量的方式来完善项目开发,在毕业设计过程中,要体现项目的渐进式开发,各个时间点都要求学生完成项目的相应部分,并且要求项目代码的主版本随时处于可部署、可运行状态,对于系统架构和代码结构等方面,可通过重构来优化。对于代码重构的的粒度和频率,可由指导老师根据实际情况具体把握,以模块化和符合软件设计模式等特征为参考依据。
3考核方式
鉴于以上组织和管理方式,在进行毕业设计(论文)考核时,应在传统的毕业答辩环节考核基础上,考虑以下因素:一是在毕业答辩考核时,要注重考查学生所写代码的功能,而不是形式上的开发文档。二是极限编程推崇结队编程(PairProgramming),因此,在毕业设计进行过程中要求学生不要局限于自己的毕业设计课题,而应该是两个人一起完成两个课题,双方都参与到对方的项目中去。在毕业答辩考核时,也应采取相应的考核办法,交叉检查学生的编码工作量。三是极限编程提倡短周期。也就是说,毕业设计过程中,应该交付多个可运行的系统版本(功能是递增的,但指定功能的版本是可用的)。因此,在毕业答辩过程中,要求学生就系统的多个可运行版本进行演示。总而言之,软件工程专业的毕业设计(论文)的考核,除了依据传统的毕业答辩考核标准之外,还需结合敏捷开发和极限编程的特点,综合考查编码协作、增量设计、测试驱动开发、持续集成等特征是否体现在学生毕业设计(论文)中。
典型过程及相关支撑工具
在确定指导老师和设计课题后,学生将展开毕业设计的具体过程,根据以AD和XP为指导思想的典型毕业设计过程,具体过程如图1所示。以上典型过程中的具体步骤,都有成熟的支撑工具可选用,使整个毕业设计过程实现信息化管理,其中项目管理工具可使用PivotalTracker,测试管理工具可使用MercuryQualityCenter,自动测试可使用开源集成测试环境,如Jenkins,代码管理工具可使用VisualSVN(服务器端)和TortoiseSVN(独立客户端)及SubclipseSVN(IDE集成客户端)。
软件项目管理工具PivotalTracker是由公认的敏捷软件开发老大PivotalLabs开发的基于故事、简单、有效、敏捷的软件项目管理工具,适用于各类型的项目,并通过敏捷项目管理的理念让项目能够有条不紊的进行,使项目的开发效率大大提高。操作界面如图2所示。
测试管理工具MercuryQualityCenter提供了基于Web的,可在广泛的应用环境下自动执行软件质量测试和管理的功能,使IT团队能够在开发流程完成前就参与应用程序测试。这样将缩短时间表,同时确保最高水平的质量。操作界面如图3所示。版本库管理工具SVN是用于实现对代码、文 件等的修改、删除、增加等操作进行记录,并且可以追溯每个修改细节的通用工具,它基于C/S架构,需要服务器和客户端软件,其中SVN服务器可以使用VisualSVN,独立客户端可使用ToitorseSVN,而IDE集成客户端可使用Subclipse。
结语
摘要:文中讨论了如何通过毕业设计这一实践环节提高独立学院计算机专业学生的工程应用能力,并介绍了我院的具体做法,最后对网络工程及应用方向的毕业设计项目实例进行了说明,期望能起到参考和借鉴作用。
关键词:毕业设计;独立学院;工程应用能力;计算机专业
中图分类号:G642
文献标识码:B
中国计量学院现代科技学院是浙江省一所独立学院,其中计算机专业又是学院规模最大的一个专业,其学生特点是理论基础相对较差,但动手能力、综合运用知识能力和社会活动能力较强,根据专业学生的特点,我们的人才培养目标定位是“计算机工程应用型”,要求学生既有一定的计算机基础理论功底,又具备较强的计算机实际工程应用能力。在教学过程中除加强各类课程的实践环节之外,我们特别在毕业设计这一重要的实践性教学环节上就学生的计算机实际工程应用能力培养进行了一些有益的探索。
1前期专业课程设置
毕业设计是综合一系列专业课程内容,并将新的实际工程应用知识与个人知识基础加以整合,进而有效解决模拟或真实的工程应用问题的课程。因此,前期计算机专业课程设置是关键。专业课程设置既包括计算机专业基础课,又包括根据计算机技术的发展和社会对计算机专业人才的需求而设置的专业方向课程。我们将计算机专业课程分成了三个阶段:
第一阶段是以理论教学为主的公共基础知识的学习阶段,重点是夯实基础。其课程主要包括:计算机导论、高级语言程序设计、离散数学、算法与数据结构和汇编语言程序设计等针对专业所有学生的专业基础课程。
第二阶段是宽口径的专业技术基础知识的学习阶段,注重理论与实践的密切结合,使学生掌握专业技术基础理论和基本的实践动手能力。课程主要包括:计算机组成原理、计算机操作系统、计算机体系结构、数据库系统原理、计算机网络原理、软件工程等专业必修课和面向对象程序设计、JAVA程序设计 、信号与系统、微机与接口、Web程序设计等专业选修课。
第三阶段是专业方向学习阶段。我们采用专业方向平台教学手段,进行专业知识的学习与毕业设计训练,注重学生的工程应用实践能力、个性发展、创新意识与综合素质的全面提高,学生可根据自己的专业兴趣、发展方向、就业趋向选择合适的平台课程进行学习。根据社会对计算机专业人才需求和自身专业特点,我们共设置了以下三个专业方向平台。
(1) 软件工程设计与应用方向平台:侧重计算机软件应用和测试技术的学习与实践,使学生具有应用软件的设计、开发、调试、应用和测试的能力。平台方向课程包括面向对象分析与设计、软件文档写作、数据库工程技术、
.NET架构与实践、软件评测技术、项目管理与案例分析等课程,且要求进入该平台学习的同学应先完成面向对象程序设计、JAVA程序设计、中间件技术等前期专业选修课的学习。
(2) 网络工程及应用方向平台:侧重计算机网络工程和应用技术的学习与实践,使学生能运用所学知识与技能从事各类网络系统的工程设计、结构设计、开发、维护和管理以及计算机网络的应用和软件开发。平台方向课程包括计算机网络组网技术、网络设计工程技术、网络程序设计及实践、网络安全及测试技术、数据库应用技术、软件评测技术等课程,且要求进入该平台学习的同学应先完成面向对象程序设计、信号与系统、计算机安全技术等前期专业选修课的学习。
(3) 嵌入式系统设计及应用方向平台:侧重计算机硬件设计与应用的学习与实践,使学生掌握嵌入式软件理论、主流嵌入式系统硬件架构和嵌入式软件编程的技术、方法和工具,具有从事嵌入式软件设计与开发的能力。平台方向课程包括嵌入式系统原理与体系结构、嵌入式系统设计与应用、单片机原理与应用、电子电路CAD、网络程序设计及实践等课程,且要求进入该平台学习的同学应先完成面向对象程序设计、微机与接口、信号与系统等专业选修课的学习。
每门专业技术基础课程中都有大量的课内实验,加强学生的感性认识,培养学生分析问题和实际操作能力。毕业设计课程放在每个专业方向平台上进行,要求学生完成一个包含平台各方面综合知识的模拟实际工程应用的项目设计与开发。
2毕业设计的实施过程
为保证学生通过毕业设计能在计算机实际工程应用能力和综合素质等方面得到提高,我们按照美国工程与技术认证委员会ABET近几年在高等工程教育方面提出的包括沟通、合作、专业知识技能、终生学习的能力及世界观等11项学生核心能力指标(EC-2000)要求,首先在大学4年级第一学期的每个方向平台上增加了一门计算机新技术专题课程,除讲述方向平台上所涉及的专业新知识新技术外,还以讨论形式学习如项目管理、经费预算、如何撰写技术报告、项目团队协作等非专业技术知识,目的是增强学生专业技能外的软技能。
在毕业设计过程中,教师一般扮演课程培训者、课程引导者和项目的用户等三个角色。作为课程培训者,教师负责讲授毕业设计项目中专业技术知识和基本的实际动手技能;作为课程引导者,教师需要为学生组织和获得毕业设计项目所需的各种软硬件资源,安排实验场所和实验时间;而作为项目用户,教师将站在用户角度对项目的进度和质量进行监督,并对项目进行验收和评价。毕业设计设计项目实施分为几个阶段,前4周要求学生提交开题报告,内容包括项目实施目标、实现方法、完成时间及成果提交形式、项目经费预算和团队组织方式及项目成员分工;同时要求学生每个月完成一份项目进度报告,汇报项目进展情况和开发过程中的问题及解决办法;最后学生递交毕业设计报告和相关的文档,并对项目进行演示通过教师的验收。
毕业设计项目应具有综合性,适合学生多人参加,以培养学生团队协作意识。在项目实施过程中,应尽量使实施环境与实际企业社会环境相似,使得学生可以在模拟逼真的工作环境中训练自身的专业技能。同时学生可根据自己的特点和能力自觉定位自己在项目组的角色和职责,在项目实施过程中充分发挥自己的能力和利用一切可利用的资源,提高在遇到问题时通过外力帮助解决问题的能力和解决问题过程的多样化能力。另外我们允许多个学生组成多个项目组通过不同的方法来完成同一个毕业设计项目,营造不同项目组间相互竞争的氛围,增强学生的竞争意识。
3毕业设计课程管理
我们的毕业设计课程是根据三个专业方向平台而设计的,学生一般在三年级第一学期就选择合适的平台课程进行学习,为毕业设计做专业知识和技能的准备,同时我们以讲座形式将毕业设计项目内容、采用的方法、所需的设备和开发工具及项目的难点等向学生进行介绍。
我们积极鼓励学生以社会实践等形式到企业去了解企业的情况和需求,并根据企业需要自己提出毕业设计项目,项目成员的组成和人数由学生根据项目需要自己确定和组织,为学生提供自由发挥的空间和自,训练学生的实际动手操作能力、创新能力和探究精神。另外,学生自己开展的项目要有一定的工作量和难度,还要求项目设计与开发内容必须涵盖平台方向课程中的大部分内容,如软件工程设计与应用方向的项目需包括软件工程、软件设计与开发和软件测试等内容;网络工程及应用方向的项目需包括网络工程设计与管理、网络软件开发和网络信息安全等内容;嵌入式系统设计及应用方向的项目需包括嵌入式硬件系统设计与嵌入式系统软件开发等内容。学生毕业设计成绩中专门有10%的分数用于鼓励学生根据企业需要自行设计项目。
4工程应用项目实例
2007年我院为计算机网络及安全课程实验准备自己设计可根据实验需求灵活配置的网络实验室,考虑到该网络实验环境的设计与实现难度不大,且包含了计算机硬件环境、网络工程和网络软件设计等综合内容,非常适合作为网络工程及应用方向的毕业设计综合项目,决定将此任务交给学生通过毕业设计形式来完成。项目的内容包括:1)计算机硬件环境设计及实现,要求有20台工作站和1台通过RAID5实现磁盘镜像和备份服务的服务器,并通过KVM(Keyboard、Video、Mouse)技术实现对计算机的灵活配置和访问;2)网络环境设计与实现,通过多台3层交换机和2层交换机实现网络通信,而且网络环境能够方便实现如VLAN划分、通过Sniff分析多个子网和VLAN中的网络流量的生成树端口的配置和访问控制列表的配置,同时要求能根据不同网络及安全实验内容的要求方便实现不同网络的拓扑结构变化。3)软件设计与开发,实验环境的灵活变化和配置的关键技术是磁盘影映像技术,要求通过基于Linux平台的管理软件来实现,实现方式是后端为Shell脚本,前端为一动态的Web管理,通过这些程序控制实验室所有客户端主机的软件映像建立部署和网络配置。
我们根据报名参加的12位同学的网络工程能力、程序设计能力和其他软技能能力将他们分成了3个项目组。为营造项目组间相互竞争环境,规定每个项目组在项目每阶段可通过不同方法完成相同的任务。在项目实施过程中,首先要求每个项目组根据教师提出的阶段任务提出解决方案、设计实现思路和具体时间进度安排,并就其向由教师组成的项目指导小组和全体参与项目开发的同学进行陈述,由项目组全体教师和同学对其进行评价并评出最好的方案和实现方法,这极大地激励了项目组间的相互竞争和学生积极向上的精神。
该项目经过一个学期的实施已基本完成,由于学生的技术水平和工程能力有限,项目完成的功能非常有限,还需进一步完善和修改方能投入正常使用。但由于项目的真
实需求激发了参与项目的学生的学习积极性,从中学到了平时在课堂上学不到的东西,我们发现这些学生除在实际应用工程能力方面有比较明显的提高外,更重要的是由于通过他们努力已获得了实际的成果,因此在日后的学习和工作中更加自信、主动和有目的性。
5结束语
下一步我们将加强与参加这种形式的毕业设计且已毕业走向社会的学生的跟踪联系,通过他们在企业的工程应用能力的表现及反馈意见对我们的方法做进一步完善。
参考文献:
软件毕业生的就业机遇有关权威部门统计,未来几年内我国软件行业的从业机会十分庞大,每年对软件人才的需求将达到80万-100万人,而现有行业从业人员只有50万人左右,专业开发人员不到25万,目前大部分院校出来的应届计算机系学生,真正能当年进入软件公司工作的只有10%~20%左右,缺口很大。中国信息技术人才培养高峰论坛指出:未来5年我国信息化人才需求可达2000万人,每年至少需求40万人以上的软件人才。于是高等院校、职业院校、培训机构纷纷抢入软件人才教育市场,新设软件、软件相关专业,扩大招生规模等现象风起云涌。目前怎样搭建一个“学生——企业”平台已是迫在眉睫的事情,这个平台就是在校大学生通过参加企业软件工程的实训来缩短学校教育和社会需要的差距,填平鸿沟。
2.建立以实训课程为核心的课程体系
传统的本科教育课程体系是:课堂教学——课程实验——课程设计——毕业设计。这其中课堂教学注重基础性、理论性、系统性,相应的实验课则注重知识的全面性、技术覆盖面、与课堂教学的配合等。实践目标用于强化理论的学习,内容往往缺乏工程应用背景,脱离实际应用,加上所安排的实践课往往课时有限,难以达到一定的编程量。因此,建立合理有效的课程实训体系就需要将原有的课程实验改革为课程实训。与实验相比,课程实训更关注实践性、实用性、针对性和可操作性。[2][3]2.1课程实训体系统的设计课程实训的目的是为了以后能为参加企业的大型项目实训打下坚实的基础,它是一个阶段性项目实训的训练过程,在课程实训中,每个课程对应一个实际的开发项目,课程单元对应实际项目的一个模块或者是它的一次渐进。在课程实训中,学生了解项目的背景,探究项目的工作原理,直至动手实践完成工程项目,都体现出以学生为中心的教学思想,教师在教学过程中起的是指导与引领作用。该模式是一种全新的网状人才培养模式,它以各种技能和综合素质的养成为实训目标。2.2课程实训体系的训练过程(1)课程建设的基本思路课程建设的基本思路:以岗位要求为基准,以职业能力为主线,建立以实训课程为核心的课程体系。(2)突破传统课程体系、瞄准职业岗位能力进行课程改革突破传统“三段式”课程体系,构建以实现岗位职业能力为目标的现代职业教育的课程新体系,新课程体系紧扣专业培养目标,以培养岗位职业能力为目标,突出实践教学,注意培养学生的基本素养。新的课程体系由实训课程体系、理论课程体系和素质培养体系组成。
3.建立以企业项目实训为体系的毕业设计
3.1建立以企业项目实训为体系的毕业设计有两种方法:(1)学生进入企业,接受企业员工的真实环境下的训练。(2)引企入校,以企业技术人员为指导教师的毕业设计。在课程设计中只是局部接触到了企业软件工程的一些知识,但是还不系统。通过参与企业项目实训,学生可以切身体会到企业工程与学校实习,实践的区别。实训基地建设方式[4]:1)实训环境完全按照企业文化、机构设置、项目需求、研发模式、团队特色等软硬件条件的需求来搭建;2)实训项目是从软件开发的国内知名骨干企业中挑选出一批具有行业特色及代表性的项目;3)实训的项目经理是从骨干软件企业中挑选出来的,理论及实践经验丰富并参与过实训项目开发的项目经理来担任;4)实训管理采用公司化的管理模式,让实训学员亲自参与实训项目开发,将其融入IT企业的真实运行环境;学习了解IT企业的软件项目开发规范、流程和项目管理方法以及软件工程知识在实际项目中的应用;感受IT企业对员工知识结构、基本技能和职业素养等综合素质的要求;体验企业文化;实现理论知识与实际应用的有机结合,积累项目实战经验;5)实训的实施规范严格按照软件工程的规范来进行,实训学员按照25个人的规模分成若干个项目组,每个项目小组将参与项目详细设计(项目编码)、项目测试和项目验收过程,并形成规范、标准的文档。3.2实训所取得的成效通过对实训学生的调查,能够在以下两个方面得到提高:(1)硬技能的提高掌握了基本的开发技术、熟悉了企业常用的工具和平台、熟悉了软件工程的流程及软件控制、提高了解决问题的能力、掌握了快速学习的方法、熟悉了软件工程中常用的工具。(2)软技能的提高通过实训可以使学生在团队精神、沟通协作能力得到提高,同时具备良好的职业素质与职业规划真正成为一名合格的IT成员,并能根据自己的所学、所见、所识来提高编写简历与参与面试能力。
4.结论
一、社会软件人才需求
随着计算机的日益普及和互联网的飞速发展,信息与相关的软件技术已成为信息社会的运行平台和实施载体,软件技术时代已经来临。软件技术应用的全面延伸对用于信息处理的软件技术的发展提出了更高要求,同时促进了软件技术和软件行业的飞速发展。软件技术已经成为人们公认的当今发展最为迅速的技术之一。
当今世界衡量城市或地区国际竞争力、现代化程度和经济增长能力的重要标志是各国推行信息化的水平,信息化建设已成为提升城市综合竞争力的重要组成部分。在城市或地区大量推进信息化建设过程中,对信息处理的软件产品和软件技术产生的巨大的需求,使软件企业迅猛发展,因此,世界各国都面临着“软件产品开发、软件产品使用、软件产品维护”人才的巨大需求。而我国早在2004年《教育部财政部关于推进职业教育若干工作的意见》已将软件技术在内的计算机人才列为紧缺型人才。
由于近几年企业及政府信息化建设力度加强,电子商务、电子政务、软件外包等软件产业在国内的兴起,对软件人才需求有增无减。中国现在缺乏几万甚至几十万名软件人才。据权威部门调查,中国在今后相当长的一段时间内,每年至少存在20万软件人才缺口,并且这个缺口还在以每年20%左右的速度增长,预计到2015年将扩大到42.5万人左右。综合能力、应用能力较强的软件人才严重不足。
二、软件毕业生就业形势分析
目前国内二类、三类以及高职、高专软件毕业生能一次性就业从事软件开发的并不在多数,大部分此类毕业生都从事了软件测试、软件销售等相关工作,当然还有少部分经过一定培训后重新择业上岗。一方面是社会对软件人才的大量需求;另一方面是大量软件专业毕业生难以直接就业从事软件开发工作,出现此现象原因何在?
首先,目前部分高校软件课程体系陈旧,这些学校的教材普遍多年很少改动或改动不大,例如像VB,FOXPRO等这些已经不常用的技术还在很多高校讲授;尽管很多高校开设了JAVA,C#等课程,但基本都只停留在语言教学的层面,因此,学生毕业肯定难以适应企业对技术的要求,同时现在高校扩招,学生上机实践时间有限,偏重理论教育,都是症结所在。
其次,现在用人单位特别是中小企业不愿承担培训新人的风险,以此降低企业成本,而软件开发又是对个人编程能力要求很高的行业,因此很多用人单位都要求有2-3年的工作经验或从事过相关实际项目的经验。这对目前软件专业毕业生都是很大的挑战。
三、高校软件课程设置改革思路及方向
要想从根本上解决普通高校软件毕业生就业的困境,就必须从高校软件课程及教学改革出发,本人认为要从以下几点着手。
1.课程设置改革。淘汰过时、陈旧的课程,增加当前流行的开发语言及平台的教学,让学生真正能学以致用。
2.增加专业课课时。目前高校软件专业的很大部分课时被文化课程和理论基础课程占用。只有保证充足的软件专业课课时,才能保证学生的学习效果。
3.新技术、新知识的讲授。在教学过程中穿插讲解前沿技术及新的开发理念,教学不只局限于教材,可以专门设置软件前沿技术课。
4.项目、实践能力培养。软件专业学生不应只局限书本理论知识的学习,应有大量上机及实战学习,提高学生动手能力和对实际问题的分析、解决能力。通过系统项目,来综合、系统锻炼学生的知识体系,进而培养团队开发能力。
5.教师专业技能培养。教师的专业技能也要与时俱进,不能停留在照本宣科、纸上谈兵。
6.学生职场能力的培养。建议学校多开展一些技能实践活动或社会实践活动,让学生组成团队参加,不仅可以提高实际操作能力,还可以提高团队合作意识和沟通能力。学校还应多开设一些关于社会、工作和办公室的选修课程或讲座,以提高学生的商业意识和职场能力。
四、结束语
关键词:高职院校;毕业设计;软件开发
中图分类号:G642.477文献标识码:A
毕业设计是高职学生由在校学习到参加工作之间的、十分关键的综合教学环节,是毕业前的一次重要的系统实践训练,也是对高职院校的教学管理、师资水平和学生综合素质的集中体现和检验。这个环节把握得好,对学生就业有很大的帮助。实践证明,毕业设计是计算机软件各相关专业理论教学、实验、实训等有机结合的最佳途径之一。笔者多年来一直从事高职计算机软件专业的毕业设计指导工作,经过长期的实践和探索,同时吸取他人经验,对毕业设计工作有如下的认识。
一、毕业设计的选题
选题是毕业设计的第一步,也是非常重要的一步,包括教师选题和学生自选题两种。高职计算机软件专业实现毕业设计的途径和空间是多种多样的,只要有研究开发的环境即可。可以在学校内部组织开展,也可以走出去,到企业、到社会中去完成。例如,校企合作、产学研结合是高职毕业设计实现开放性的有效途径。一是学生到企业、公司实际工作中去,运用所学知识和单位的短期培养,按规定格式和要求写出总结报告或毕业论文,或在参与实际项目设计中完成设计,采取校内指导老师和企业指导人员共同指导学生的毕业设计,在我院的软件专业这种形式的设计占到了近1/3;二是充分挖掘校内资源,寻求多种途径开展毕业设计。例如,参与教师的科研项目,承担部分任务;主动与学校各部门联系,帮助设计各种中小型信息管理系统,如学生档案管理系统、教务管理系统、后勤水电管理系统、学校图书管理系统等,由各部门根据使用情况进行评价。
选题时的原则主要有:(1)符合专业或大类培养目标、满足教学基本要求,使学生得到比较全面的训练,要尽可能进行有软件工程背景的毕业设计;(2)应尽可能结合生产、科研和实验室建设的实际任务,促进教学、科研和生产进行选题。也可是模拟真实的软件项目课题;(3)应有一定的深度与宽度,工作量饱满,使学生在规定的时间内经过努力能按时完成,并鼓励学生有所创造;(4)毕业设计的选题应面对学院的实际情况,从培养目标出发,充分利用学院的计算机资源和人力资源,力求实现学生掌握知识的实际水平与市场经济的需求相符合。
二、毕业设计的管理
要完成高水平的毕业设计,除了要求毕业设计指导教师提供的选题应是新颖的、实用的、能适合当前社会的市场需求的外,还必须要有严格的毕业设计管理制度相匹配。
1、学生毕业前的上一个学期末,确定指导教师,并进行毕业设计动员。有关教师提供指定格式的、“毕业设计(论文)选题报告”、“毕业设计(论文)自选题目申请书”、“毕业设计(论文)格式、书写规范”等表格供学生填写或参考,其内容包括毕业设计的选题来源、要实施的技术方案、要完成的研究工作、需配备的硬件和软件环境、需要的资金等。其中,还给出近三届本专业学生做过的论文题目,防止重复或抄袭。表格填写后交由教研室集体讨论并提出修改意见,然后由计算机系部与有关指导教师统一审批。再将所有选题和指导教师名单提供给学生,由学生和指导教师进行双向选择,有关部门根据选择情况做适当调整后公布指导教师及学生的对应名单。
2、经统一审查后,指导教师给每一个学生下达“毕业设计(论文)任务书”。指导教师与学生见面时,要针对任务书向学生讲解课题目标、实施方案、需要收集的参考书目、需要自学的内容及应做社会实践活动等,并向学生提供相关网站,让学生自己上网学习有关预备知识。
3、指导教师根据系部的统一安排向学生提供“毕业设计工作进程安排表”。该表包括在毕业设计过程中,安排对学生完成毕业设计需补充的专业知识讲座的内容与时间、上机时间、教师辅导时间、检查时间、完成每一设计步骤的进度要求、毕业设计说明书初稿上交和举行毕业答辩的时间等。学生应根据毕业设计任务书的要求,在毕业设计工作开始一周内写出开题报告,内容主要包括:资料准备情况、设计的思路与期望成果、目标任务的分解、各阶段完成的内容计划等,交由指导教师审查后,再按计划开始设计。毕业设计的时间一般在12周左右。
三、毕业设计过程中的几个重点环节
1、资料查询和实地调查。任何一个课题都是有学科基础或技术基础的。学生在做毕业设计开始,通过进行资料查询,可以了解本选题在相应学科领域中的发展进程和研究方向,特别是近年来的发展趋势和最新成果,然后准备与该题目相关的参考资料。通过与对资料研究成果的比较说明自己的选题是符合当前的研究方向,或是否采用了当前的最新技术并有所改进,以进一步了解选题的意义。值得注意的是,要做好毕业设计,必须阅读一定量的近期中、外文资料,这不仅反映学生的外文阅读能力,而且有助于设计的先进性。高职学生在毕业设计之前进行必要的社会调查,是了解和加深题目理解的另一重要途径。以《企业仓储管理信息系统》这个题目为例,学生可以到实习工厂、中小企业等场所进行实地考察、了解管理信息系统的实际应用状况,通过系统现象的感性认识,逆向推测如何进行模块设计才能实现这些功能。另外,网络查询也是学习、资料查询的重要方式。指导教师要让学生按毕业设计任务书要求深入地了解本毕业设计课题,准备资料,写出文献综述并完成初步的外文翻译任务。
2、制定和论证技术方案。明确所要解决的问题后,就要提出自己解决问题的思路和方案。包括一般的程序设计、数据库设计和网站建设等,应选定编程语言、根据目标提出总体模块设计图、流程草图等,通过比较表明自己方案的价值、方案的创新之处或有新意的思路、算法和关键技术。学生阐述自己的设计方案时,要说明为什么要选择该方案,如何进一步优化数据,不足之处如何得到克服,最后完成的工作具有什么样的性能或达到什么样的水平。
3、充分发挥教师在毕业设计中的引导、辅导作用。教师在整个毕业设计工作中应该起到引导、辅导交流的作用,激励学生有足够的信心完成毕业设计工作,鼓励学生突破旧系统,展开思维的翅膀,尝试别人没有想过或没有做过的工作,注意对学生创新思维的培养。在毕业设计过程中,指导教师布置任务后,要进行具体指导和及时检查。指导教师要注重针对性与适用性,力争使毕业设计内容与学生毕业后所从事的技术岗位对口,使人才培养目标与社会的需求相一致。
4、毕业设计的先期总结和答辩准备。在毕业设计的后期,指导教师应及时进行总结,针对每个成员指出毕业设计过程中的改进之处,提出后期需要进行工作的重点和方向。并发放统一格式的编制设计说明书的有关文档,如毕业设计说明书的装订顺序、目录和正文的格式要求及正文基本结构及毕业答辩应当做的准备工作。指导教师检查资料是否齐全、是否符合规范要求、程序运行有无缺陷及答辩时要注意的问题等,然后做最后的答辩准备。毕业设计答辩开始前三天,学生需上交毕业设计的相关文档和程序资料。文档部分按规定格式装订成册,供答辩委员评阅。
5、毕业答辩、成绩评定。毕业答辩评分要做到客观、公正、公平。人员除本院教师外还聘请企业项目开发人员参与评阅和答辩工作。答辩分数可分为自述、回答问题、论文内容三部分。最后,通过答辩委员会及各位指导教师统一讨论,得出学生的答辩成绩。答辩后,答辩委员会及时总结答辩中遇到的问题,并组织部分同学参加座谈会,了解学生对毕业设计的反馈意见,以备下一届进行设计时加以改进。
四、结束语
高职学生理论基础相对较弱,但实际动手能力并不差。毕业设计给了他们一个良好的提升能力的机会。毕业
设计多选择一些项目单位的实际软件项目,让学生到公司、企业这些项目实际场合进行毕业设计,最好是在生产实际中选择那些真刀真枪的设计题目。经过我院近四届高职计算机软件专业毕业生采取以上方法和环节进行毕业设计实践,已取得较好的效果,学生适应性和实际能力有了很大提高。但也存在不完善的地方,只有通过不断地实践、研究、总结和改进方法,不断地进行毕业设计教学的改革,为培养出计算机软件专业应用型的高技能人才做贡献。
(作者单位:大连水产学院职业技术学院)
参考文献:
[1]李志宏.以就业为导向,深化改革,推动高职高专教育健康发展[J].中国高教研究,2004.1.