关于计算机软件专业学生毕业设计工作的探讨
2006-08-17张世辉罗白玲
张世辉 罗白玲
[摘要]结合作者在指导计算机软件专业学生毕业设计过程中的经验和体会,把毕业设计工作划分为五个阶段,重点阐述了各阶段应进行的工作和采取的方案,并提出了笔者的观点,以期对该专业的毕业设计工作有所裨益。
[关键词]工程概念,编程规范,题目,软件开发,答辩。
[中图分类号]TP31[文献标识码]A[文章编号]1005-4634(2006)04-0346-03
毕业设计与毕业论文是学生在校学习的最后阶段,是培养学生综合运用所学知识,分析和解决实际问题,锻炼创造能力的重要实践教学环节,同时也是学生毕业及学位资格认证的重要依据。毕业设计主要涉及科研、技术设备的革新、改造等方面,强调设计的独创性和实用性。要求具备清晰的设计思路,具体的设计方案和步骤,准确的设计参数和计算分析,同时毕业设计也要求逻辑性强,条理清楚,语言精练。优秀的毕业设计可以使学生的设计思路和创新理念得到很好的展现,充分体现设计者对知识掌握和运用的熟练程度,也使设计方案能够推广应用。
本文结合笔者在指导计算机软件专业学生毕业设计过程中的经验和体会,将计算机软件专业学生的毕业设计方案划分为以下五个阶段,即毕业设计前的培训、选题、开发、撰写论文及答辩、总结。下面分别阐述各阶段应着重进行的工作。
1毕业设计前的培训
培训是毕业设计前一个重要的工作,对毕业设计整体水平的提高有很大的意义。实践证明,同是四年的课程学习,在毕业设计前接受过培训的同学的毕业设计成绩总体上不但要高一个档次,而且这样的学生毕业后可在较短的时间内适应并熟悉本职工作。笔者认为,对计算机软件专业学生的培训应侧重从以下三个方面进行。
1.1工程概念的培训
计算机软件专业学生的毕业设计课题一般是开发一个软件系统,实现一定的功能。不管软件大小、功能多少,它毕竟是一个系统,“麻雀虽小,五脏俱全”,故应培养学生工程的概念。也就是说,让学生把开发软件的过程看成是盖一座大楼,修一条铁路等实际工程,而不应该像大多数同学所认为的那样:所谓毕业设计其实就是编程序,然后调试通过即可。这种观点是非常有害的。通过工程概念的培训,让学生明白开发一个软件系统一般经过系统分析、系统设计、系统实施三个阶段,并且要为自己的系统创建一个独立的目录,该目录下又包括若干子目录,以便把不同类型的文件存放到不同的子目录下,方便于整个工程项目的管理维护工作。
1.2编程规范的培训
作为计算机软件专业的毕业生,相当一部分学生以后可能从事软件开发工作,故一定要让学生养成良好的编程风格,切忌所有代码全部左对齐、变量随意命名等编程之大忌。编程规范的培训主要培养学生的命名规范、一致性的缩进、注释规范、代码编写规范、输入输出规范、出错处理规范等。经验表明,不按良好的编程规范所编写的程序不利于阅读和维护,甚至连本人开发的程序由于时间的推移而使自己也读不明白,这显然造成了人、财、物等资源的浪费,使软件自身的生命力也很有限。
1.3责任心的培训
责任心培训就是让学生明白,自己所开发的系统是供其他单位或个人使用的,自己的粗心大意可能会给他人或社会带来巨大的损失。因此,本人也可能要承担法律责任,故一定要培养学生的责任心,用心去开发自己的系统。
2选题
选题是毕业设计进行过程中的一个重要环节。从小处讲,题目是否合适得体是影响毕业设计能否顺利进行的重要因素;从大处讲,选题是科研成功与否的关键,并将直接影响科研的方方面面和最终成果。下面从选题宗旨、选题原则及目标、选题方式和题目类型等角度进行阐述。
2.1选题宗旨
选题宗旨应遵循以下两点:
1)要坚持选择有科学价值和现实意义的课题。科学研究的目的是为了更好地认识世界、改造世界,以推动社会的不断进步和发展。因此,毕业设计的选题必须以促进科学事业发展和解决现实存在的问题作为出发点和落脚点。此外,选题要符合科学研究的正确方向,要具有新颖性,有理论价值和现实的指导意义或推动作用,一项毫无意义的研究即使花费很大的精力,也将没有丝毫价值;
2)要根据自己的能力选择切实可行的课题。毕业设计是一种创造性劳动,不但要有设计者个人的见解和主张,同时还需要具备一定的客观条件。由于设计者个人的客观条件都各不相同,因此在选题时,还应结合自己的特长、兴趣及所具备的客观条件来选题。具体地说,可从下述两个方面进行考虑。首先,要选择设计者感兴趣的课题。这样的课题可以激发设计者的研究热情,调动其主动性和积极性,使其能以积极的心态去完成;其次,要有充足的资料来源。“巧妇难为无米之炊”,在缺少资料的情况下,很难完成高质量的毕业设计。选择一个具有丰富资料来源的课题,对课题的开展和深入研究是很有帮助的。
2.2选题原则及目标
计算机软件专业学毕业设计的选题应遵循以下原则:必须符合计算机软件专业的综合培养要求;原则上一人一题,对于大型任务的课题,每个学生可完成其中某个独立的子课题;应尽量选择工程性较强的课题,以保证有足够的工程训练;选题应尽量结合本地、本单位的教学、科研、技术开发等实际项目。所选课题在进行过程中和完成后应能达到如下目标:能够提高设计者综合运用专业知识分析和解决问题的能力;能够使设计者掌握文献检索、资料查询的基本方法和提高其获取新知识的能力;能够使设计者掌握系统软件或应用软件的设计开发能力;能够提高设计者书面和口头表达能力;能够提高设计者协作配合工作的能力。
2.3选题方式
从选题方式的角度出发,可分两种:一是导师指定;二是学生自选,导师把关。
对于指导教师有自己的研究方向且学生又没有特殊的要求时,一般是导师指定学生做某一具体课题或其中的一部分,这是毕业设计中选题的大多数情况。当然,个别学生可能对某一研究方向有浓厚的兴趣,且自己在这一方向又有一些自己的想法,想借助毕业设计机会实现或验证该想法并为今后的工作打下一定的基础。对于这样的学生,指导教师在认为学生的想法合理、可行的情况下,应积极鼓励、支持学生的想法并尽量为之创造条件去完成毕业设计工作。有例证明这样的学生在毕业设计过程中往往会取得意想不到的成果,故指导教师一定要保护学生的科学创新想法。
2.4题目类型
从历年来学生进行毕业设计所做题目的类型来分主要有两大类:实际题目和模拟题目。在条件允许的情况下尽量让学生做实际的课题,因为这样可以锻炼学生提出问题、分析问题、解决问题的能力,真题真做,具有实战性,故可使学生在开发实际系统的过程中了解各个环节应注意的问题及体会解决实际问题的艰辛。例如,20世纪70年代以后,在美国科技政策的影响下,许多大学相继与企业建立广泛的联系,其中麻省理工学院与300家公司建立了“大学-工业联合计划”,学校为公司提供各种科技服务;在国内,北京、武汉、广州、沈阳、上海、重庆、昆明等相继办起了一批以大学为核心的新兴科技产业试验区。他们通过加强与企业、工厂等生产单位的联系与合作,就实际问题提炼本科课题,真正实现了产、学、研相结合。由于模拟题目是凭自己的想象去做,受不到实际问题的挑战,对提高学生各方面能力的意义不是很大。此外,指导教师应积极鼓励学生对计算机软件科学中的理论问题进行学术探讨,提出自己的观点和方法,但这类题目较难,应选择比较有潜质的学生去做。
3开发阶段
选题之后进入开发阶段,也就是毕业设计的实际工作阶段,该阶段进行过程中应始终以工程的观点指导和把握整个系统,可把开发阶段分为前期、中期和后期三部分。
3.1前期
学生在理解和消化题目的前提下完成系统调查工作,并在调查的基础上初步确定系统的实施方案,经指导教师审查通过后进入开发中期。
3.2中期
在前期工作的基础上完成系统整体功能的划分和各种分析设计工作,主要包括代码设计、功能结构图设计、输入单据设计、输出报表设计、文件设计及数据分析及类型划分。学生在进行这些工作过程中应和导师多探讨、交流,所有工作在导师认定合理之后即可进入开发后期。此阶段工作对系统能否成功及系统性能的好坏至关重要,“磨刀不误砍柴功”,此部分工作应反复论证、慎之又慎,否则后果不堪设想。
3.3后期
前两部分工作顺利完成之后进入开发后期,该部分主要工作就是编写并调试程序,编写程序过程中应遵循编程规范及有高度的责任心。调试过程中不能仅以正确的数据调试程序,还应以异常及错误的数据调试程序,这一点一定要让学生深刻体会,以便保证系统的正确性和健壮性。
4撰写论文及答辩
撰写论文和答辩是学生在毕业设计过程中的最后环节。学生在写论文时首先应把论文提纲交给指导教师审查,通过之后再在此基础上开展论文的详细写作工作,毕业设计论文作为学术论文要求文字流畅,层次清晰,词藻不能过分华丽。虽然近些年国内外计算机方面的论文的语言较以前生动,但用词都以准确、不过分夸张为度。此外,关于论文格式及答辩前的其它要求,学校有明确的规定,此处不再多说。
在答辩过程中,参加答辩的教师一定要认真听取学生讲解,让学生把自己的观点充分讲解出来,千万不要以题取人。毕业设计本来就是一个师生相互交流、学习的好机会,一定要保证质量,而不应求速度、搞突击。只有严把答辩工作这一关,才能保证毕业设计工作圆满完成,并能在此过程中提炼出许多对专业或学科发展有益的东西。
学生毕业设计虽然结束了,但作为基层教学单位,各系(专业)还有一个重要工作,那就是毕业设计后的总结工作。总结工作应及时进行,进行该工作的目的就是要查漏补缺、总结经验、吸取教训,并把总结结果作为文档记录保存下来。通过总结可知在整个毕业设计过程中各环节的好坏,以便继承优点,克服不足。只要能坚持这么做,就可保证良性循环,使毕业设计这个教学环节起到应有的作用。
参考文献
1郑志花.关于本科生所做毕业设计的思考.华北工学院学报(社科版),2004,(1).
2宋成杰.计算机专业毕业设计管理的几点思考. 职业技术,2004,(6).