软件工程毕业论文(6篇)
软件工程毕业论文篇1
关键词:高职院校;毕业设计;软件开发
中图分类号:G642.477文献标识码:A
毕业设计是高职学生由在校学习到参加工作之间的、十分关键的综合教学环节,是毕业前的一次重要的系统实践训练,也是对高职院校的教学管理、师资水平和学生综合素质的集中体现和检验。这个环节把握得好,对学生就业有很大的帮助。实践证明,毕业设计是计算机软件各相关专业理论教学、实验、实训等有机结合的最佳途径之一。笔者多年来一直从事高职计算机软件专业的毕业设计指导工作,经过长期的实践和探索,同时吸取他人经验,对毕业设计工作有如下的认识。
一、毕业设计的选题
选题是毕业设计的第一步,也是非常重要的一步,包括教师选题和学生自选题两种。高职计算机软件专业实现毕业设计的途径和空间是多种多样的,只要有研究开发的环境即可。可以在学校内部组织开展,也可以走出去,到企业、到社会中去完成。例如,校企合作、产学研结合是高职毕业设计实现开放性的有效途径。一是学生到企业、公司实际工作中去,运用所学知识和单位的短期培养,按规定格式和要求写出总结报告或毕业论文,或在参与实际项目设计中完成设计,采取校内指导老师和企业指导人员共同指导学生的毕业设计,在我院的软件专业这种形式的设计占到了近1/3;二是充分挖掘校内资源,寻求多种途径开展毕业设计。例如,参与教师的科研项目,承担部分任务;主动与学校各部门联系,帮助设计各种中小型信息管理系统,如学生档案管理系统、教务管理系统、后勤水电管理系统、学校图书管理系统等,由各部门根据使用情况进行评价。
选题时的原则主要有:(1)符合专业或大类培养目标、满足教学基本要求,使学生得到比较全面的训练,要尽可能进行有软件工程背景的毕业设计;(2)应尽可能结合生产、科研和实验室建设的实际任务,促进教学、科研和生产进行选题。也可是模拟真实的软件项目课题;(3)应有一定的深度与宽度,工作量饱满,使学生在规定的时间内经过努力能按时完成,并鼓励学生有所创造;(4)毕业设计的选题应面对学院的实际情况,从培养目标出发,充分利用学院的计算机资源和人力资源,力求实现学生掌握知识的实际水平与市场经济的需求相符合。
二、毕业设计的管理
要完成高水平的毕业设计,除了要求毕业设计指导教师提供的选题应是新颖的、实用的、能适合当前社会的市场需求的外,还必须要有严格的毕业设计管理制度相匹配。
1、学生毕业前的上一个学期末,确定指导教师,并进行毕业设计动员。有关教师提供指定格式的、“毕业设计(论文)选题报告”、“毕业设计(论文)自选题目申请书”、“毕业设计(论文)格式、书写规范”等表格供学生填写或参考,其内容包括毕业设计的选题来源、要实施的技术方案、要完成的研究工作、需配备的硬件和软件环境、需要的资金等。其中,还给出近三届本专业学生做过的论文题目,防止重复或抄袭。表格填写后交由教研室集体讨论并提出修改意见,然后由计算机系部与有关指导教师统一审批。再将所有选题和指导教师名单提供给学生,由学生和指导教师进行双向选择,有关部门根据选择情况做适当调整后公布指导教师及学生的对应名单。
2、经统一审查后,指导教师给每一个学生下达“毕业设计(论文)任务书”。指导教师与学生见面时,要针对任务书向学生讲解课题目标、实施方案、需要收集的参考书目、需要自学的内容及应做社会实践活动等,并向学生提供相关网站,让学生自己上网学习有关预备知识。
3、指导教师根据系部的统一安排向学生提供“毕业设计工作进程安排表”。该表包括在毕业设计过程中,安排对学生完成毕业设计需补充的专业知识讲座的内容与时间、上机时间、教师辅导时间、检查时间、完成每一设计步骤的进度要求、毕业设计说明书初稿上交和举行毕业答辩的时间等。学生应根据毕业设计任务书的要求,在毕业设计工作开始一周内写出开题报告,内容主要包括:资料准备情况、设计的思路与期望成果、目标任务的分解、各阶段完成的内容计划等,交由指导教师审查后,再按计划开始设计。毕业设计的时间一般在12周左右。
三、毕业设计过程中的几个重点环节
1、资料查询和实地调查。任何一个课题都是有学科基础或技术基础的。学生在做毕业设计开始,通过进行资料查询,可以了解本选题在相应学科领域中的发展进程和研究方向,特别是近年来的发展趋势和最新成果,然后准备与该题目相关的参考资料。通过与对资料研究成果的比较说明自己的选题是符合当前的研究方向,或是否采用了当前的最新技术并有所改进,以进一步了解选题的意义。值得注意的是,要做好毕业设计,必须阅读一定量的近期中、外文资料,这不仅反映学生的外文阅读能力,而且有助于设计的先进性。高职学生在毕业设计之前进行必要的社会调查,是了解和加深题目理解的另一重要途径。以《企业仓储管理信息系统》这个题目为例,学生可以到实习工厂、中小企业等场所进行实地考察、了解管理信息系统的实际应用状况,通过系统现象的感性认识,逆向推测如何进行模块设计才能实现这些功能。另外,网络查询也是学习、资料查询的重要方式。指导教师要让学生按毕业设计任务书要求深入地了解本毕业设计课题,准备资料,写出文献综述并完成初步的外文翻译任务。
2、制定和论证技术方案。明确所要解决的问题后,就要提出自己解决问题的思路和方案。包括一般的程序设计、数据库设计和网站建设等,应选定编程语言、根据目标提出总体模块设计图、流程草图等,通过比较表明自己方案的价值、方案的创新之处或有新意的思路、算法和关键技术。学生阐述自己的设计方案时,要说明为什么要选择该方案,如何进一步优化数据,不足之处如何得到克服,最后完成的工作具有什么样的性能或达到什么样的水平。
3、充分发挥教师在毕业设计中的引导、辅导作用。教师在整个毕业设计工作中应该起到引导、辅导交流的作用,激励学生有足够的信心完成毕业设计工作,鼓励学生突破旧系统,展开思维的翅膀,尝试别人没有想过或没有做过的工作,注意对学生创新思维的培养。在毕业设计过程中,指导教师布置任务后,要进行具体指导和及时检查。指导教师要注重针对性与适用性,力争使毕业设计内容与学生毕业后所从事的技术岗位对口,使人才培养目标与社会的需求相一致。
4、毕业设计的先期总结和答辩准备。在毕业设计的后期,指导教师应及时进行总结,针对每个成员指出毕业设计过程中的改进之处,提出后期需要进行工作的重点和方向。并发放统一格式的编制设计说明书的有关文档,如毕业设计说明书的装订顺序、目录和正文的格式要求及正文基本结构及毕业答辩应当做的准备工作。指导教师检查资料是否齐全、是否符合规范要求、程序运行有无缺陷及答辩时要注意的问题等,然后做最后的答辩准备。毕业设计答辩开始前三天,学生需上交毕业设计的相关文档和程序资料。文档部分按规定格式装订成册,供答辩委员评阅。
5、毕业答辩、成绩评定。毕业答辩评分要做到客观、公正、公平。人员除本院教师外还聘请企业项目开发人员参与评阅和答辩工作。答辩分数可分为自述、回答问题、论文内容三部分。最后,通过答辩委员会及各位指导教师统一讨论,得出学生的答辩成绩。答辩后,答辩委员会及时总结答辩中遇到的问题,并组织部分同学参加座谈会,了解学生对毕业设计的反馈意见,以备下一届进行设计时加以改进。
四、结束语
高职学生理论基础相对较弱,但实际动手能力并不差。毕业设计给了他们一个良好的提升能力的机会。毕业
设计多选择一些项目单位的实际软件项目,让学生到公司、企业这些项目实际场合进行毕业设计,最好是在生产实际中选择那些真刀真枪的设计题目。经过我院近四届高职计算机软件专业毕业生采取以上方法和环节进行毕业设计实践,已取得较好的效果,学生适应性和实际能力有了很大提高。但也存在不完善的地方,只有通过不断地实践、研究、总结和改进方法,不断地进行毕业设计教学的改革,为培养出计算机软件专业应用型的高技能人才做贡献。
(作者单位:大连水产学院职业技术学院)
参考文献:
[1]李志宏.以就业为导向,深化改革,推动高职高专教育健康发展[J].中国高教研究,2004.1.
软件工程毕业论文篇2
Abstract:Thegraduatethesisdesignisanimportantelementofpracticalteaching.Buttherearesomequestionsinthegraduatethesisdesignofcomputerspecialty,suchasunscientificsubject,irregularmanagement,andsoon.Onthebasisofanalysisoftheseissues,theauthorproposedthesubjectofgraduatethesisdesignshouldbedeterminedaccordingtothestudent'sactualconditions.Thenthestudentsshoulddothegraduatedesignusingsoftwareengineeringtechnology.
关键词:计算机;毕业设计;软件工程
Keywords:computer;graduationdesign;softwareengineering
中图分类号: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软件工程在毕业设计中的运用软件工程(SoftwareEngineering)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。从软件工程的角度去指导学生进行毕业设计,使学生认识到软件工程在系统开发过程中的价值。
单打独斗惯了的学生,拿到一个题目后,喜欢马上进行代码的编写,遇到问题后推倒前面的设计,重新开始新一轮的编码。对于很简单的题目这样做当然能够完成任务,但对于真正的大型项目,这种方法显然好、是不行的。
按照软件工程思想,软件开发的过程分为需求分析、程序设计、代码实现,软件测试和软件维护几个阶段[4]。只有认真完成了前面的阶段的工作后,才能开始下一个阶段的工作。例如要进行编码,就必须先进行需求分析和概要设计,对系统的方方面面可能遇到的问题,都进行了充分的分析之后,才能够开始。
毕业设计可以将所学到的软件工程的知识进行实践,了解真正公司化的多人协助的软件开发过程,从而为毕业后的工作打下坚实的基础。与软件工程的几个步骤相对应,可以将整个毕业设计分成几个阶段,确定每个阶段的目标和任务。指导教师分别检查每个阶段的完成情况,全程参与学生的毕业设计。
4.3重视系统的测试工作测试是计算机程序设计的一个重要环节。但以前的毕业设计对此往往缺乏重视。学生完成了代码设计后,进行一次简单的试运行,如果没有大的问题,就认为系统设计完成了。反正在毕业答辩的时候,也不要求运行程序,即使有不完善的地方也不会被发现。
这种做法是非常不正确的,对培养学生严谨的工作态度是非常不利的。如果老师不进行强调,学生认为测试是可有可无的,他以后工作中,就会更加不重视测试工作,软件的质量将不能得到保证。因此,必须留出一到两周的时间进行系统的测试。
5总结
本文结合作者多年指导毕业设计的经验,提出了计算机专业本科毕业设计过程中可能遇到的一些问题,并提出了一些意见和建议。
重点强调了根据学生的实际情况选择毕业设计题目的重要性。然后又分析了毕业设计过程中经常会遇到的几个问题:注重系统设计的指导,技术性的问题让学生独立解决;强调软件工程在毕业设计中的指导作用;重视测试在系统开发中的意义。作者多年指导毕业设计的经验表明,通过这些方法的运用,使学生通过毕业设计学到了更多工作中有用的知识,提高了毕业设计的价值。
参考文献:
[1]王志英.实践教学:计算机人才培养的重头戏[J].计算机教育,2004,(9):60-63.
[2]王玉锋,刘保旨,李雪梅等.计算机专业本科毕业设计的探讨[J].计算机教育,2010,(1):77-79.
软件工程毕业论文篇3
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。
结语
软件工程毕业论文篇4
【关键词】软件工程;数字媒体;专业建设
1.引言
随着计算机技术、通信技术和数字广播等技术不断发展,以互联网、无线通信为传播载体,以传统媒体内容与创新内容模式为核心的数字媒体产业在全球范围快速崛起,并正在改变着人们的信息获取方式和休闲娱乐的形式。
我国的数字媒体业近几年正处于高速发展时期,对于具有较高人文素养、掌握数字媒体核心技术并具有艺术创意能力的复合型数字媒体技术开发与设计人才需求旺盛。四川理工学院软件工程专业是与IT企业合作办学、实行“3+1”人才培养模式,即学生前3年在校学习,第4年在软件企业实习并完成毕业设计(论文)。为使培养的学生既有较扎实的理论基础,又有适应人才市场需求的职业技能,在软件工程专业大框架下设置了数字媒体技术方向。
数字媒体技术作为一个宽口径、以技术为主、艺术为辅、技术与艺术相结合的新的专业方向,涉及到不同的学科知识,因此,我们有必要通过探索与改革人才培养模式、课程体系以及实践教学体系的研讨,搭建科学的创新人才培养平台,促进软件工程专业人才培养整体水平的提升。
2.人才培养目标
培养目标是制定教学计划、设计课程结构、选择知识发展方式以及确定教学组织形式的依据,也是教学内容、教学方法、教学组织与管理、教学手段、教学评价等方面改革的基础和前提。软件工程专业数字媒体技术方向具有软件工程与数字媒体技术相结合的特色,注重对学生软件开发、应用能力的培养,实践性强。结合我们自身办学特色和办学条件,我校软件工程数字媒体方向人才培养目标是:“培养具备计算机科学、多媒体网络、软件工程技术、信息安全等方面的专业知识与技能,具有扎实的软件工程和数字媒体技术基础理论、宽厚的专业基础知识、较强的实践能力,能够从事包括新媒体应用以及虚拟现实等在内的多媒体技术开发、数字媒体设计与创作、计算机游戏设计、网页设计与网站维护、信息服务及数字媒体管理等工作的创新性技术人才。”
3.核心课程体系
数字媒体方向课程体系的建设以创新性复合型人才培养为基本指导思想,重视实践课程的开设,使学生所学习掌握的方法具有充分的实效性,真正做到学有所用,以适应未来的工作岗位,成为本行业和企业所欢迎的有用人才。课程体系分为软件工程专业核心课程模块、数字媒体方向核心课程模块、专业实训、毕业实习和毕业设计(论文)等模块。
3.1核心课程
软件工程专业数字媒体技术方以软件工程专业为主线构成专业基础和专业主干课程。其中,计算机与软件基础课程有:计算机导论、程序设计入门、面向对象程序设计、数据结构与算法、Java程序设计、计算机组成原理、数据库原理、计算机网络、操作系统、编译原理、信息安全技术、计算机体系结构以及J2EE与中间件技术;软件工程专业课程有:软件工程导论、软件测试技术、需求分析与UML设计、软件项目管理与过程控制;数字媒体技术专业课程有:数字媒体技术导论、计算机图形学、数字图像处理、网络流媒体技术、用户界面设计、视频音频制作与处理、数字影视特技应用、高级游戏特性与游戏引擎、人机交互技术、虚拟现实技术与应用、高级脚本与插件技术等。对于实践性较强的课程开始单独的实验课程和配套的课程设计。
3.2特色课程
计算机网络游戏由计算机技术、艺术设计学和计算机动画以及计算机图形图像技术高度交叉结合,目的是培养具有扎实的游戏编程功底和良好的逻辑思维习惯,具备较强的审美能力和一定的艺术素养,熟悉游戏产品开发流程,具有一定的策划能力,能在游戏公司、门户网站、手机运营企业、动画公司等单位从事游戏设计、游戏开发、游戏制作、游戏策划、游戏运营等方面工作的富于竞争力与创新精神的高级复合型人才。
计算机游戏程序设计。课程目标:本课程主要学习普及游戏开发理念,培养游戏开发氛围,挑选有潜力的学生组成开发团队;传授游戏开发中的程序设计要素,特别是游戏引擎开发的基本知识。通过本课程的学习,学生能够掌握游戏开发的基本理念,熟悉游戏开发的基本技巧和流程,并具备从事游戏程序设计工作的基本技能。
虚拟现实与数字娱乐。课程目标:本课程主要介绍虚拟现实的基本概念及其系统组成、相关的软件技术及虚拟现实的应用,并介绍了当前数字娱乐的现状,发展和一些关键技术。内容包括:虚拟现实的定义、特性和组成,虚拟世界的创建和管理,虚拟现实中的视觉计算,虚拟现实中的交互技术,虚拟现实中的声觉计算,增强现实,分布式虚拟现实,虚拟现实应用,与虚拟现实相关的数字娱乐技术。
4.实践教学体系
培养符合时代需要的创新性人才,就要强化实验教学的开放性和多层次化。基于创新性原则和以生为本原则,结合培养目标和自身教学特点,数字媒体技术方向实践教学体系分为课程实验,专业实训、毕业实习和毕业设计三个方面,各实践环节之问相互协调、相互衔接、循序渐进。
4.1课程实验
依照实践能力培养循序渐进的原则,根据实现数字媒体技术专业基本能力培养的系列课程,并按照系列课程的复杂度和规模设计实践环节,开展了多层次课程实验教学,根据学生的需要和实践能力培养的渐进规则,将实验课安排大学四年的各个环节。
多层次实验教学是指在实验大纲与目标的规范基础上,将实验项目设计成基础型、综合设计型、研究创新型不同层次的实验。同一学生从基础规范一综合设计一研究创新这样难度递增的实验项目中逐渐进行训练,实现系统培养学生综合实践能力。课程实验主要包括:手绘训练、视频特技与非线性编辑、多媒体网页设计、移动娱乐软件开发、网络娱乐软件开发、界面设计课程设计、虚拟现实开发课程设计等。
4.2专业实训
专业实训作为知识、能力、综合素质教育的结合点,成为数字媒体技术专业实践教学的重点之一。专业实训是对课堂教学具有延伸作用,是学生培训职业能力、熟悉职业环境、了解实际知识的重要渠道。通过专业实训,学生不仅可以把所学转化为所用,还能使学生在学习操作过程中通过不断调整自己的知识结构来慢慢适应相应职业岗位,锻炼职业的能力,为实习以及今后走向社会积累经验、打下基础。
我校软件工程专业是校级专业综合改革试点专业,以争建微软IT学院、HP软件学院为契机,与知名IT企业开展深度合作,联合培养具有国际视野的软件开发、软件测试和服务外包人才。与中软国际、Tarena(达内)科技等十多家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.
软件工程毕业论文篇5
一、社会软件人才需求
随着计算机的日益普及和互联网的飞速发展,信息与相关的软件技术已成为信息社会的运行平台和实施载体,软件技术时代已经来临。软件技术应用的全面延伸对用于信息处理的软件技术的发展提出了更高要求,同时促进了软件技术和软件行业的飞速发展。软件技术已经成为人们公认的当今发展最为迅速的技术之一。
当今世界衡量城市或地区国际竞争力、现代化程度和经济增长能力的重要标志是各国推行信息化的水平,信息化建设已成为提升城市综合竞争力的重要组成部分。在城市或地区大量推进信息化建设过程中,对信息处理的软件产品和软件技术产生的巨大的需求,使软件企业迅猛发展,因此,世界各国都面临着“软件产品开发、软件产品使用、软件产品维护”人才的巨大需求。而我国早在2004年《教育部财政部关于推进职业教育若干工作的意见》已将软件技术在内的计算机人才列为紧缺型人才。
由于近几年企业及政府信息化建设力度加强,电子商务、电子政务、软件外包等软件产业在国内的兴起,对软件人才需求有增无减。中国现在缺乏几万甚至几十万名软件人才。据权威部门调查,中国在今后相当长的一段时间内,每年至少存在20万软件人才缺口,并且这个缺口还在以每年20%左右的速度增长,预计到2015年将扩大到42.5万人左右。综合能力、应用能力较强的软件人才严重不足。
二、软件毕业生就业形势分析
目前国内二类、三类以及高职、高专软件毕业生能一次性就业从事软件开发的并不在多数,大部分此类毕业生都从事了软件测试、软件销售等相关工作,当然还有少部分经过一定培训后重新择业上岗。一方面是社会对软件人才的大量需求;另一方面是大量软件专业毕业生难以直接就业从事软件开发工作,出现此现象原因何在?
首先,目前部分高校软件课程体系陈旧,这些学校的教材普遍多年很少改动或改动不大,例如像VB,FOXPRO等这些已经不常用的技术还在很多高校讲授;尽管很多高校开设了JAVA,C#等课程,但基本都只停留在语言教学的层面,因此,学生毕业肯定难以适应企业对技术的要求,同时现在高校扩招,学生上机实践时间有限,偏重理论教育,都是症结所在。
其次,现在用人单位特别是中小企业不愿承担培训新人的风险,以此降低企业成本,而软件开发又是对个人编程能力要求很高的行业,因此很多用人单位都要求有2-3年的工作经验或从事过相关实际项目的经验。这对目前软件专业毕业生都是很大的挑战。
三、高校软件课程设置改革思路及方向
要想从根本上解决普通高校软件毕业生就业的困境,就必须从高校软件课程及教学改革出发,本人认为要从以下几点着手。
1.课程设置改革。淘汰过时、陈旧的课程,增加当前流行的开发语言及平台的教学,让学生真正能学以致用。
2.增加专业课课时。目前高校软件专业的很大部分课时被文化课程和理论基础课程占用。只有保证充足的软件专业课课时,才能保证学生的学习效果。
3.新技术、新知识的讲授。在教学过程中穿插讲解前沿技术及新的开发理念,教学不只局限于教材,可以专门设置软件前沿技术课。
4.项目、实践能力培养。软件专业学生不应只局限书本理论知识的学习,应有大量上机及实战学习,提高学生动手能力和对实际问题的分析、解决能力。通过系统项目,来综合、系统锻炼学生的知识体系,进而培养团队开发能力。
5.教师专业技能培养。教师的专业技能也要与时俱进,不能停留在照本宣科、纸上谈兵。
6.学生职场能力的培养。建议学校多开展一些技能实践活动或社会实践活动,让学生组成团队参加,不仅可以提高实际操作能力,还可以提高团队合作意识和沟通能力。学校还应多开设一些关于社会、工作和办公室的选修课程或讲座,以提高学生的商业意识和职场能力。
四、结束语
软件工程毕业论文篇6
摘要:文中讨论了如何通过毕业设计这一实践环节提高独立学院计算机专业学生的工程应用能力,并介绍了我院的具体做法,最后对网络工程及应用方向的毕业设计项目实例进行了说明,期望能起到参考和借鉴作用。
关键词:毕业设计;独立学院;工程应用能力;计算机专业
中图分类号: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结束语
下一步我们将加强与参加这种形式的毕业设计且已毕业走向社会的学生的跟踪联系,通过他们在企业的工程应用能力的表现及反馈意见对我们的方法做进一步完善。
参考文献: