时间:2022-05-06 04:26:10
导言:作为写作爱好者,不可错过为您精心挑选的1篇软件毕业设计论文,它们将为您的写作提供全新的视角,我们衷心期待您的阅读,并希望这些内容能为您提供灵感和参考。
摘要:本文介绍了多个高职机械类学生应用Solidworks软件进行毕业设计的实例,说明了Solidworks软件的应用对提高学生的学习积极性、促进学生对先进制造技术的理解和掌握、培养学生的现代工程素养和创新能力,起到了良好的教学效果。
关键词:Solidworks;毕业设计;三维造型
现代制造业日趋国际化,缩短产品开发周期,减少开发新产品投资风险,已成为企业赖以生存的关键。[1]制造企业运用先进的设计模式,采用先进的制造技术,从而在激烈的市场竞争中立于不败之地。为了适应现代制造业对人才的需求,培养掌握先进制造技术、具有现代工程素养和创新能力的技能型人才,是高职院校刻不容缓的重任。
毕业设计是高职学生三年学习的重要总结,是最重要的一次集中性实践环节,它要求学生综合运用相关知识,结合实际课题进行设计和创新,从而培养学生的动手能力和创新能力,全面提高学生运用知识的水平。[2]笔者所在的教学团队根据高职学生的知识特点,设计了多个富有创意和挑战性的实际课题,由学生选作,要求采用三维机械设计软件的主流产品Solidworks完成。主要是基于以下考虑:①学生在相关专业课程中已经学习了Pro/E软件的应用。有一定三维CAD软件应用经验者都知道,各三维CAD软件的应用思路大体相同,学习一种三维CAD软件作为基础,再学习其它三维CAD软件将很容易上手。但学生在学习阶段并没有这样的认识,因此希望他们在校学习阶段即积累一定的三维CAD软件应用的经验。②通过企业调研,我们发现目前Solidworks软件在国内外中小企业中已经得到了广泛的应用,受到广大设计人员的欢迎,为了使学生免除进入企业后,缩短适应期,减少再培训等环节,在校学习阶段即提供机会让学生深入学习Solidworks软件,为实现与工作岗位的无缝对接打下良好的基础。
一、举一反三,拓展思路
大部分的高职机械类专业都开有机械基础或机械设计基础课程,在该课程的教学环节中,有两周左右的课程设计内容,要求学生根据给定条件完成一个减速器的设计,包括设计计算、二维装配图绘制及部分零件图绘制。但在两周的时间里,学生并没有利用这一机会完成减速器三维造型。因此,在毕业设计阶段选择减速器设计课题的学生,第一个任务就是利用Solidworks软件完成减速器的三维造型,由此学习Solidworks软件的零件造型、装配、工程图及文件管理等方面的功能。
上述减速器作为经典的案例在教学中广泛采用,其设计过程已经程序化,有大量可供参考的资料,为了拓展学生的思路,提高其综合应用课本知识的能力,要求进一步独立完成其它类型减速器的设计。例如下图所示的同向三螺杆挤出机减速器、异向三螺杆挤出机减速器等。
要求学生通过查阅资料,制定设计方案,完成设计计算并利用Solidworks软件完成三维图及工程图的绘制,使他们懂得怎样将所学的知识融会贯通,灵活应用于解决实际问题。
二、从设计到加工,体验真实的生产过程
在技术进步的大背景下,产品的设计和加工工艺越来越精细,产品的成品品质越来越精致、优良。[3]机械制造类工作岗位越来越离不开计算机辅助设计与制造软件的应用。Solidworks是一款综合性的创新平台,利用它可以设计多样化的产品。下图是利用Solidwork软件设计的玩具小车,可以实现其精美的造型,如同真实的产品一样。在完成造型后,进一步制定各零件的数控加工方案,利用CAM软件编制数控加工刀路,生成NC程序,并在数控机床上实际加工出产品。
学生在此过程中可以完成机械制造业中的设计、工艺、编程、机床操作等典型工作任务,体验设计员、工艺员、编程员、操作工、检验员等岗位角色,使学生熟悉零件从设计到加工的整个过程,掌握零件的基本设计方法与数控加工的基本技能,进一步巩固与扩充以前所学的《机械设计基础》、《机械制造基础》、《数控加工工艺》、《数控编程与操作》等课程的知识。同时鼓励学生充分发挥其创新能力,设计出具有自身特色的产品。学生要利用三维软件实现自己的构想,必须钻研Solidworks软件的各种造型功能,从而提高软件应用能力。通过反复的交流与修改,设计并最终加工出属于自己的作品,培养了创新意识,加强了实际操作技能。
三、整机设计,综合能力的培养
该课题要求学生利用Solidworks设计和装配一种单螺杆膨化机。首先由教师提供设计指导书,包括膨化机原理、产量计算方法、螺杆设计方法等等资料,在充分熟悉基本资料的情况下,鼓励学生扩散思维,采用不同的结构实现所需要的功能,学生综合运用以往知识,先拟定各自的设计方案。最后集中进行各种方案展示、小组互评、指导教师点评,通过比较、筛选和组合,确定出最为合理的设计方案。
小组成员分工合作,从膨化机的功能入手,通过产量、功率等要求确定基本尺寸,还要考虑密封、润滑、加热、定位、拆装及标准件的选择等一系列问题,并进行强度验算。最终完成三维装配图和二维零件图。
在完成毕业设计的过程中,学生以独立的主体身份从事一定的、相对独立的具体工作,大大激发了他们的求知欲望。以往的毕业设计中,二维图纸的绘制和修改工作量很大,占用了学生大量的精力和时间。而三维设计软件的应用可将毕业设计的重点由二维图纸的绘制转化到不同方案的设计和创新上,突出了设计创新,培养了学生运用现代化手段解决工程实际问题的能力。对增强学生的综合分析问题、解决问题能力,建立机械设计的整体思维大有帮助。
四、理论联系实际,实现与工作岗位的顺利对接
传统的毕业设计中设计出的产品由于没有得到制造、装配以至样机试验的验证,许多不合理的设计,甚至是错误的设计很难被发现。输送机设计课题即来自真实的产品。该课题是与输送机生产厂家合作设计制造一台计量输送机,学生与指导教师一起参与到该项目中。首先由用户提出使用要求,包括输送材料、输送能力、输送距离等基本要求,然后学生与指导教师一起讨论结构设计、基本尺寸的确定、电机的选择等。确定方案后,由学生利用Solidworks完成该输送机的三维绘制,再交给用户确认。由于SolidWorks软件可以完成复杂零件的三维造型,并可根据需要生成各种剖视图,有助于了解产品复杂的内部结构,对设计方案的表达更加简单明了,与用户的交流也更加顺畅。同时,由于界面友好、造型方便、图形质量好等特点,也使得产品设计和造型的时间缩短,效率大大提高。
用户确认后,由学生输出二维工程图交由工厂进行生产。由于设计、生产、用户各方都没有该种物料计量输送机的经验,生产后出现物料架桥等问题,需要对原方案进行改进。每次改进都是首先在三维图上修改,再在实物上完成。经过不断改进,最终满足了用户的要求。整个过程由于SolidWorks软件的应用,大大缩短了试制周期,降低了成本。学生自始至终参与了该计量输送机的设计与生产,参与了各种问题的解决,其在毕业设计中所做的工作即是实际工作岗位上一名结构设计人员需要完成的工作,真正实现了与工作岗位的顺利对接。
实践证明,将SolidWorks三维设计软件引入毕业设计,可取得良好的教学效果,极大地调动学生毕业设计的积极性和创造性,由此提高了学生对先进制造技术的理解和掌握,锻炼了学生解决实际问题的能力,对学生创新能力的培养起到了积极的促进作用,毕业设计的效率和质量大大提高。
摘要:毕业设计是一个十分重要的教学环节,是一个系统工程,应使用工程化的方法、步骤统筹安排以取得良好的效果。软件工程学是指导计算机应用专业软件类学生进行毕业设计的重要工具之一。将毕业生设计过程、文档书写与软件工程学紧密结合起来是提高学生毕业设计论文质量的一个重要途径。结合软件工程的基本知识,通过对软件类学生毕业设计过程存在的常见问题的研究,提出了应用软件工程学去指导学生毕业设计的方法。
关键词:软件工程;毕业设计
0引言
毕业设计是高等院校应届类毕业生在毕业前接受课题型任务,在教师指导下进行科学研究或工程实践并取得成果的过程,是高校实现人才培养目标的综合性实践教学环节,是一次理论与实践相结合的的锻炼机会。如何在新形势下改革毕业设计, 提高学生软件类毕业设计的质量,进一步规范毕业设计中的软件开发过程,抓好高校毕业设计这一实践环节,加强对毕业设计过程的管理与监控, 切实提高毕业设计的质量,对于软件类学生在毕业设计中实施合适的软件设计具有重的指导意义。
1毕业设计的必要性
高等职业教育应该是以能力为本位、以学生为主体、以实践为导向的教育。毕业设计是高等教育培养学生综合运用所学理论知识和技能解决实际问题能力的重要环节之一,是衡量毕业生是否达到相应学历层次的重要依据。毕业设计将总结专业基础和专业技术的学习成果,锻炼和开发学生的综合运用能力。
高职院校软件相关专业组织毕业设计应该符合新的人才培养标准,对培养学生的职业技能和素质要具有积极的意义。而对于即将毕业离校的应届毕业生来说,毕业设计无疑是计算机软件各相关专业理论教学、实验、实训等有机结合的途径之一。
通过毕业设计能锻炼学生的能力:
(1)实践软件工程的相关原理能力。毕业设计的过程,是一个课题小组从接到开发任务到提交产品和文档的过程,其中涉及到需求分析、概要设计、详细设计、编码、测试、程序打包、编写文档等软件工程具体的各个方面。经过锻炼,学生们对软件工程学思想和方法的理解会大大加深。
(2)解决具体问题能力。在毕业设计的进行过程中,学生一定会遇到平时在课堂的理论学习中碰不到的困难和挑战, 而克服这些困难、解决实际问题的过程就是软件技术和心理素质逐步提高的过程。
(3)团结协作的意识、能力。通过毕业设计这一过程,学生就会产生团结协作的意识和能力。
2软件工程学的基本思想
软件工程是一门研究如何用系统化、规范化、数量化等工程原则和方法去进行软件的开发和维护的学科,包括两方面内容:软件开发技术和软件项目管理。其中,软件开发技术包括软件开发方法学、软件工具和软件工程环境,软件项目管理包括软件度量、项目估算、进度控制、人员组织、配置管理、项目计划。
3高职类学生毕业设计现状
毕业设计的主要目的是培养学生综合运用所学的基础理论、基本知识和基本技能,用以分析、解决工程、科研、社会实际问题的能力,使学生得到工程设计方法和科研能力的初步训练。毕业设计中存在的问题主要表现在以下几个方面。
3.1选题的盲目性
只是把毕业设计环节作为大学生活的必经环节, 纯粹是为了完成学业而去做毕业设计, 造成选题的盲目性、有的选题则是陈旧。
3.2可行性分析与需求分析重视程度不够
绝大多数毕业生在确定了毕业设计的题目后,几乎不进行调查研究工作就立即投入到整个系统的设计中, 一旦遇到了与实际不符的地方, 又重新返回, 对已经做好的设计进行修改。最终导致设计的系统杂乱无章, 甚至到了最后只能马马虎虎地仓促交工。
3.3系统开发过程中的文档不够正规,不够完备
完整的设计不仅包括所完成的可操作的系统,一般的操作帮助,还包括在开发系统的过程中所产生的各个文档等一些文字的东西,比如解释清晰、内容全面的数据字典和使用手册也是必不可少的,否则用户会感到使用起来不方便,觉得难于操作。
3.4模糊的评价标准
导致毕业设计质量下降的一个非常重要的原因就是没有建立精确细致的评价体系。
这严重影响了项目的进度和质量,并且使学生没有真正得到必要的锻炼。我们通过对这些问题进行详细深入的分析,提出一个软件过程框架,这个框架主要从需求、测试、集成这3个方面给出工作要点和规范。
4利用软件工程学思想指导学生进行毕业设计
毕业设计本身是个工程,要用工程的方法去处理。从软件工程的角度去指导学生进行毕业设计,在毕业设计过程中,要系统地将所学知识应用于实际问题,按软件工程学思想展开工作。
图1软件生命周期与毕业设计各阶段之间的映射
4.1以可行性研究指导选题目
可行性研究,应该从技术可行性、经济可行性、操作可行性三个方面去研究,在毕业设计题目的选择过程中,应立足于解决实际问题,注重发现问题、分析研究问题和开发创新的能力。选题原则上,可以参考以下几点:①毕业设计的课题应该能使计算机专业所学的理论知识进一步理解并深化,也就是说,毕业设计应尽可能包括多门专业基础课和专业课的综合运用,并且要紧密结合工程实际,以有利于学生的全面训练;②选择难度适中的课题, 保证课题的完成质量;③课题要适合于各个模块独立进行,并便于最后统一调试;④课题规模应大小适合,难易程度适中。
4.2需求分析是关键
需求分析的基本任务是准确地回答“系统必须做什么”, 也就是对目标系统提出完整、准确、清晰、具体的要求。系统分析员可以通过多种形式来获取用户需求,对用户提出的需求进行分析,以此来确定其中要实现系统的功能。对需求划分优先等级,找出核心需求和重要需求,以保证系统构建的正确性。
在进行软件类毕业设计时,为了保证需求获取的准确性和全面性,可以让项目组的所有学生都参与到用户需求的获取的工作中来,发挥集体的能力,并由指导教师进行最终的确认。
4.3规范设计过程
需求分析完成后的下一个阶段就是系统设计,包括概要设计和详细设计。
详细设计阶段的任务就是深入每个函数内部,以伪代码或注释的形式实现整个函数,设计出程序的详细规格说明。
从系统设计开始,学生要按照软件工程的要求,画出DFD图,对输入、输出数据流进行详细的说明,建立符合软件工程规范的数据字典,根据DFD 图设计出模块结构图。
4.4重视文档写作
在毕业设计的过程中,要严格遵照软件文档的思想,记载设计过程的每一阶段完成了哪些设计,下一阶段的任务、目标及技术手段,这样,把文档作为整个设计的指挥棒,使设计有条不紊地进行。
4.5重视测试工作、撰写毕业设计说明书
软件测试工作也是软件开发的重要组成部分。通过实际应用效果和测试数据,毕业设计的成效就可一目了然。
毕业设计说明书的撰写是最后一个阶段,要求学生回顾设计过程,总结劳动成果,这时学生就会对软件开发及必须经历的几个步骤都有更深刻的认识。最后,要求学生对毕业设计进行系统的总结,写出毕业论文。
5加强对学生综合能力的培养
通过实践的练习,不仅能加深对理论的理解,同时也能锻炼运用知识分析问题、解决问题的能力。毕业设计这一实践环节是高等学校培养学生实际能力的主要手段,也是高等教育的重要组成部分。充分、有效地设置软、硬件的毕业设计对学生能力的培养至关重要,可以缩短学校教育与社会流行技术、工具的差距,满足学生毕业后的工作需要。通过毕业设计必须达到培养学生以下方面能力的目的。
5.1工程实践能力
学生能够准确把握选题的逻辑重心和学术思路,能够运用丰富的专业知识进行处理,具有严谨的理论思辨过程,以锻炼毕业生的工程实践能力,使毕业论文具有一定的应用和学术探讨价值。
5.2书写和表达能力
毕业设计论文是毕业设计工作的总结和提高,和做科研开发工作一样,要有严谨求实的科学态度。在毕业设计期间,尽可能多地阅读文献资料是很重要的,毕业设计大多数是技术开发型的,其论文的主体部分应包括:总体设计、模块划分、算法描述、编程模型、数据结构、实现技术、实例测试及性能分析。这些内容根据任务所处的阶段不同,可以有所侧重。
5.3创新能力
提出创新要求后,带领学生认真复习或补学过去没学过、没有学好的课程,并在此基础上结合实际工作中出现的问题孕育出一些新的思路,将毕业设计推上一个新台阶的方式,与为每个人专门分配某一特定的作业来锻炼学生基本技能的方式相比,更能扩展学生的视野,培养创新能力。
5.4协作能力和团队精神
通过集体活动和成员沟通培养成员的团体情感,增强团队的凝聚力。毕业设计将一个学生从入学初到毕业前的软件专业课程的学习内容链接成线,实现了课程的真正衔接,也使学生在毕业前对软件方面所学的知识进行了比较完整的概括与总结,达到了良好的理论联系实际的教学效果。毕业设计弥补了课堂教学的不足,加深了对理论的理解,促使学生深入思考,敢于创新,同时使学生的动手能力、分析和解决问题的能力、书写和表达能力、协作能力等各项能力都得到了培养和提高。
6结束语
软件工程作为软件开发工程化、规范化的具体实施方法,在将其应用到毕业设计中之后,学生在软件设计的文档书写规范化等方面均有了很大的改善与提高。将软件工程应用于毕业设计中不仅仅完成了一门课程从理论到实践的过程,而且将一个学生从入学到毕业前软件专业课程的学习内容链接成线,完成了前导后续课程的真正衔接,也使学生在毕业前对软件方面所学的知识进行了比较完整的概括与总结,因此,软件工程学在计算机专业学生毕业设计中的应用具有重要的现实意义。
1概述
在应用型本科院校中,尤其是软件工程专业,毕业设计作为教学计划的重要组成部分,是实践教学中的最后一个环节,也是对学生在校期间所学知识的一次综合、全面的总结、应用和提高。由于毕业生数量的不断增加和软件行业的迅猛发展,导致就业门槛越来越高,就业压力也越来越大,通过毕业设计过程中的训练,能有效提高学生的工程应用能力,使学生得到一定的实践经验,有利于学生从学校向工作岗位的平稳过度。因此,毕业设计质量的好坏,不仅反映了一所高校的教学质量,也会直接影响到学生的就业竞争力和就业后的职场适应能力。
2存在的问题
1)思想认识上不够重视学生方面:有些学生存在完成任务式的应付心里,避重就轻,能简就简,敷衍了事。有些学生则只重视找工作而轻视毕业设计,不愿在毕业设计上花费太多时间和精力,甚至有些学生还以找工作为由,完全依赖于导师,向导师索要源代码,甚至花钱在网上购买来交差。已经找到工作的学生,更是认为毕业设计做的好与不好对自己没什么影响,对待毕业设计也更加心不在焉。导师方面:大多数指导教师除了要指导学生毕业设计之外,还要承担大量的教学和科研任务,在毕业设计指导工作上能够投入的精力和时间非常有限,致使有些导师对毕业设计的指导工作不太重视,对学生放任自流,不管不问,或者是直接将相关源代码发给学生,以“简化”指导工作。由于思想上的不重视,学生学习态度不认真,导师指导工作不到位,造成毕业设计流于形式,疏于管理,效果较差,使得学生白白浪费了毕业前的一次综合训练机会。因此,如何充分认识毕业设计的重要性,并进行相应的教学改革是软件工程专业毕业设计必须要面对并解决的问题。
2)时间安排上不够科学毕业设计一般安排在第八学期,这期间刚好是学生求职和考研的黄金时间段,由于目前就业形势的日益严峻,学生就业压力越来越大,当求职和考研时间与毕业设计时间发生冲突时,学生都会选择将主要精力投入到求职和考研上,有些还要去外地求职、应聘考试、面试等,毕业设计自然是无暇顾及。而且,学校方面,为了保证就业率,往往对学生毕业设计的质量也是睁一只眼闭一只眼,这又在无形中鼓励了学生消极对待毕业设计的态度,毕业设计质量下降也就成为必然结果。
3)题目设置上不够合理由于毕业设计在高校各类教学活动中是最具综合性和独立性的,相对于常规课程而言,对指导教师要求也就更高,尤其软件工程专业,工程实践性比较强,但每年真正来源于实际工程项目的题目所占的比例较小,很多题目都是虚构出来的,导致有些题目不是理论性太强,就是缺乏具体需求的支撑,使学生很难从毕业设计过程中真正领悟到真实的软件工程方法。而有些指导教师自己都没参与过实际的工程项目,本身就缺乏实践经验,对学生毕业设计的指导只是凭着自己的感觉来进行,缺乏系统性、整体性、科学性和严谨性,学生遇到问题后,难以得到及时的解决,导致抄袭现象时有发生,甚至有些学生直接照搬往届毕业生的设计成果。毕业设计的主要目的在于通过毕业设计的训练来提升学生对所学知识的综合应用能力以及创新能力,从而实现学生从学校到工作岗位的平稳过度。但由于题目设置上的不合理,题量太少,层次不清,导致选题匹配效果差。在选题时,部分能力差的学生所选题目难度太大,造成毕业设计很难完成,而有些能力强的学生所选题目难度过小,达不到能力提升的目的。
4)过程监管上不够到位众所周知,对于软件工程项目而言,过程控制与管理是项目执行的关注点,毕业设计也当如此。虽然学校也会在毕业设计过程中组织对各阶段的工作情况进行检查,但执行检查工作的不一定是专业教师,使得这种检查大多只是对指导老师所填写的各种表格和文档等表面内容进行检查,对毕业设计的过程起不到实际的监督作用,再加之有些学生在校外求职或实习等原因造成指导教师与学生无法定期见面和沟通不畅等问题,使得指导教师难以用软件工程方法对学生进行指导。毕业设计虽然启动较早,但实际上很多学生前期在毕业设计上很少投入时间和精力,只是在答辩前为了完成任务而赶工应付,这样的毕业设计质量自然也就不佳。
5)量化考核上不够严格毕业设计成绩一般由平时成绩+论文成绩+答辩成绩三部分按一定比例构成,平时成绩由指导教师自行把握,论文成绩则由其他有经验的教师进行评阅,答辩成绩由答辩委员会老师按照相关评分标准打分并取平均分,这样虽然基本可以保证成绩的公正性,但成绩构成太简单,未显示地将开题报告、文献翻译、分析和设计过程以及总结等纳入到考核范围,对毕业设计的前期和中期工作没有约束力。在成绩评定时,有些导师要求不严,采取宽容迁就的态度。答辩时,通过门槛较低,造成大部分学生仅以答辩及格为目标,在思想上不重视,答辩准备工作不扎实。同时,学校为了提高学生毕业率,在最终答辩时,对毕业设计的质量要求也有所放松,这也是导致毕业设计质量难以保证的一个重要原因。
3采取的对策
时间安排上,可以提前启动毕业设计工作,将原来的第八学期开始提前到第六学期中后期,此时学生已经学完大部分课程,具有了一定的知识基础,而且学生都在校,可以随时与导师见面,指导教师也有充分的时间对毕业设计项目随时跟进,随时指导。导师资格审查上,对于软件工程专业来说,学生毕业设计的导师,应该由长期从事实际工程实践或者有较好科研成果的“双师型”(双师即“教师”、“工程师”)教师来担任,也可以聘请校外科研单位或企业中水平较高的工程师来担任企业导师,这样不仅可以减轻指导教师短缺的压力,也能促进指导教师队伍多元化模式的形成。题目设置上,要求题量要充分,使得水平层次不同的学生都能选到合适的题目;难度和工作量要适中,且要有一定的创意,使学生通过毕业设计的训练,在综合应用能力和创新能力上都能够得到有效的提高。有课题的指导教师要尽量结合自己的课题来设计题目,没课题的指导教师可以从与学校有合作的企事业单位中获取有实际意义的题目。鼓励学生根据自己的兴趣点和就业取向自拟题目,允许学生到实习企业中根据企业的实际工程需要选题和实施毕业设计,这样既能解决实际问题又可完成毕业设计。过程监管上,首先要在指导教师和学生之间建立有效的沟通联系机制和问题讨论的例会制度,充分发挥指导教师的引导作用,在毕业设计过程中,坚持每周师生沟通一次。学生提出问题,指导教师引导和总结,鼓励学生发挥主观能动性和创造力。同时,学校要成立由领导牵头、具有一定工程实践经验的专业技术人员组成的督导组,对毕业设计过程包括选题、开题、中期检查、答辩和成绩评定等各个环节实施有效的监控和督导,加强管理学生的同时也要加强对指导教师工作质量的检查,确保毕业设计工作能够有序、有效的实施。量化考核上,要对毕业设计从前期的开题、文献查阅,到中期的分析、设计、实现,再到后期的总结等各个阶段的进行量化考核,前一阶段的成绩考核不合格者,不能进行下一阶段工作,必须加以整改,直到整改合格后才能进入下一阶段。对于未能按要求如期完成毕业设计的可以推迟答辩,对于首次答辩不合格的可以进行二次答辩,仍不合格的,可以缓发毕业证。只有建立严格的考核制度,才能对学生有约束力,让学生从思想上重视毕业设计,进而保证毕业设计的质量。
4结束语
软件工程是一个实践性很强的专业,软件工程专业的毕业设计作为大学四年学习的总结,是学生从学校跨入社会前仅有的一次大检验,它不仅检验了学生对所学知识的综合应用能力和学生的综合素质,同时也检验了学校的培养模式和教学质量。毕业设计质量的好坏,不仅关系到软件工程专业的培养目标,也关系到学生的就业率与就业质量。因此,在就业形势日趋严峻的情况下,软件工程专业毕业设计的教学改革也要适应就业市场需求,紧跟行业发展变化,与时俱进。
作者:张华 单位:南阳理工学院
一、软件工程专业毕业设计存在的主要问题
(一)毕业设计题目设置与选题方面
题目设置不合理,类别与层次不清晰,选题匹配效果差[2]。学生的毕业设计课题一般都按照指导老师的研究方向和实际工程项目提供,但每年真正来源于工程实践题目比例较少。部分题目理论性强,学生根据所学知识不能很好理解;部分题目开发工具复杂,占用了毕业设计的大部分时间。在选题时可能导致学生想选的题目选不上,能力差的学生所选题目难度大,影响学生的积极性,导致选题效果差,造成毕业设计很难完成。
(二)毕业设计过程监控方面
毕业设计监控工作实施困难,效果较差。软件工程专业毕业设计一般包含选题、开题、中期检查、程序测试、撰写毕业论文、答辩、成绩评定。但对这些环节的监控有时候会形成空白带,毕业设计不在实验室进行,有的学生在实习单位实习,有的学生在外地找工作,老师不能定时与学生见面,老师无法了解学生的具体情况,且学生提交的各阶段文档流于形式,只有指导教师在进行监控,未形成完善的监控体系,导致监控不到位,监控效果较差[3]。
(三)毕业设计论文答辩方面
答辩考核方法单一,答辩仅由学生的讲解和老师的提问两个环节组成,考核准确度低。答辩通过门槛较低,答辩只对学生的毕业设计进行排名,一般排名在最后的学生才可能不及格,不利于提高学生毕业设计积极性,造成大部分同学仅以答辩及格为目标,思想上不重视,答辩准备工作不扎实。再由于软件工程专业特点,毕业设计软件作品评分标准难于量化,考核具有一定难度,也造成答辩效果不好。同时为了提高学生毕业率和就业率,毕业答辩的质量控制有所放松,直接导致了软件工程专业毕业设计质量难以保障。
二、软件工程专业毕业设计的教学改革
针对上述各项实际问题,主要进行的相关工作具体如下:
(一)合理设置毕业设计题目,动态选题
依照软件工程专业的以市场需求为导向,培养应用型软件工程人才的培养目标,在毕业设计题目设置环节,紧紧围绕工程实际型、创新项目型、竞赛题目型、科研项目型等类型进行题目设置,以适应市场动态需求。同时着力避免在毕业设计题目中设置虚拟型题目、理论研究型题目、综述型题目、分析设计型题目等。在选题过程中,通过毕业设计管理系统(如图1所示)进行多轮双向动态选择,动态调整题目各项技术参数以保证学生能选择一个适合自己能力且能有利于自己以后工作的题目[4]。这样,在选题之后,每个指导老师就可以根据学生不同能力进行分别指导,使不同能力的学生都能够运用其所学知识解决工程实际问题,都能够通过毕业设计增强工程实践能力、工程设计能力与创新能力。近四学年软件工程专业毕业设计各类题目汇总。
(二)毕业设计过程实行三级监控管理机制
学校成立以主管副校长为组长的毕业设计工作领导小组以加强毕业设计宏观调控,学院成立以教学副院长为组长的毕业设计工作领导小组以加强毕业设计协调与监控工作,软件工程专业成立以专业负责人为组长的毕业设计工作小组落实并实施毕业设计各环节具体工作[2]。具体参见下图2。在实现毕业设计过程管理的三级管理机制的同时,为保障毕业设计工作质量,软件工程专业要求所有指导教师必须具有中级以上技术职称或硕士以上学位且有一定工程实践经验,具有较高教学、科研水平和创新能力,师德良好,工作态度认真负责。在每年的毕业设计指导工作开始前都对指导教师进行资格审查,择优任用,且每位教师指导的学生不超过6人,以保证指导教师对学生的充分指导[5]。
(三)毕业设计过程量化考核
以往软件工程专业毕业设计成绩通常由三部分组成:一是学生的平时表现由指导老师把握;二是学生的毕业论文成绩。由专业其他指导老师进行评阅;三是现场答辩成绩。由所在组的指导教师按照相关评分标准打分并取平均分。这样基本能够保证毕业设计成绩的公正,但是由于只有毕业答辩环节具有约束力即答辩未通过则总成绩不及格,其他环节不具约束力,因此造成毕业设计前期、中期工作流于形式,前期、中期阶段提交的文档趋于应付、质量不高,最终导致毕业论文质量较低[6,7]。为此,软件工程专业经过几年的探索与实践,实施了毕业设计各阶段的软件工程生命周期量化考核法即各个阶段量化考核,且考核成绩不合格者不能进行下阶段毕业设计工作,必须加以整改,整改通过后才能进入下一阶段毕业设计工作。经过几年的实践证明该考核方法切实可行,能够保证毕业设计各个环节的质量,最终提高毕业设计总体质量。
(四)在毕业设计过程中进一步提高学生工程能力与创新能力
辽宁工业大学于2011年制定并实施了大学生创新团队机制,建立了大学生创新项目申报机制引导大学生开展创新活动;引导学生每年都参加校级、省级、国家级软件设计大赛等各类各级比赛[8]。随着学校和学院创新教育活动多年持续深入开展,软件工程专业学生的创新与创业活动取得了显著成果。超过1/4的软件工程专业学生能够独立主持创新性项目,并以该项目为原型申报毕业设计题目[9],同时参加省级、国家级计算机竞赛并获得奖项。通过主持校级及省级创新项目既毕业设计题目,学生工程能力、创新能力得到极大锻炼与提高,本专业毕业生就业率与就业质量明显提高。软件工程专业学生主持参加创新项目既毕业设计题目情况见表3。
三、结束语
软件工程专业毕业设计是一个极具综合性、实践性的重要环节,是对学生大学四年学习后面向社会与企业前的有且仅有的一次大检验,它不仅检验了学生所学知识、能力与综合素质,还检验了软件工程专业的培养目标、培养模式、课程体系、实践体系、创新体系等相关环节[10]。经过几年的探索与实践证明,软件工程专业所做的系列教学改革工作中的毕业设计教学改革工作有利于进一步增强学生的工程实践能力和创新能力,有利于提高软件工程专业毕业设计质量,有利于提高软件工程专业学生就业率与就业质量。虽然软件工程专业毕业设计教学改革工作取得了一定的成绩,社会认可度逐年稳步提高,但如何动态调整教学计划以跟进市场需求变化;如何深入开展大学生创新创业教育活动以进一步增强更多软件工程专业学生的实践能力及创新能力;如何进一步加强专业教师工程实践能力、工程设计能力与工程创新能力以提高毕业设计指导效力;如何提高毕业设计过程管理效率等问题仍然是软件工程专业所面临的严肃课题[11]。因此,软件工程专业的毕业设计教学改革工作也一定会紧跟时代变化,与时俱进。
作者:佟玉军谢文阁王恩喜刘鸿沈姜悦岭工作单位:辽宁工业大学电子与信息工程学院
摘 要:提出了在软件开发类毕业设计中采用敏捷技术进行过程控制的方法,从实际效果中可以看出,这种方法较好地解决了软件开发类毕业设计中遇到的各种问题,能够有效提高软件开发类毕业设计的质量,使学生在毕业设计中得到充分的锻炼和提高。
关键词:毕业设计;敏捷软件开发;极限编程;软件质量
0 引言
毕业设计是本科教学中非常重要的一个教学环节,是对学生所学知识的检验和总结,是培养学生独立分析和解决问题能力的重要手段,也是学生进入工作岗位前的最后一次实战演习;并且,它是本科教学水平评估指标体系的重要指标之一,是考核学校本科教学水平和质量的重要内容。
软件开发是计算机专业毕业设计中一个重要组成部分。学生开发的软件质量直接反映出毕业设计质量,而指导教师的指导和监控对学生开发软件的质量高低有很大影响。本文首先介绍了软件类毕业设计的特点、遇到的问题及其原因分析,然后将敏捷软件开发技术应用于指导和监控软件类毕业设计,最后通过具体的实践对其进行总结。
1 目前状况及问题
1.1 软件开发类毕业设计的特点
本科计算机专业毕业设计中,软件开发占很大比重。而软件开发类毕业设计与其他专业的毕业设计以及商业化软件开发又有很大不同,主要体现在:
(1)设计的最终目的是要生成可运行的、实现一定功能的、错误率较低的实际软件产品,而不仅仅是提交一份文档报告。
(2)设计小组成员分工合作,要将各人的成果整合,形成完整的软件;小组每个成员不是完全孤立的,每个人的工作都与其他人息息相关。
(3)项目小组一般只包括一个人或几个人,人数较少,远少于一般商业化软件开发项目小组的人数。
(4)小组成员没有足够的团队意识,没有足够的软件工程经验,一般没有作为一个团队的成员共同开发过软件产品。
(5)项目开发过程不完全,编码的结束即意味着项目的结束。项目不要求有完整的工程化的分析和设计文档。
(6)有些软件开发没有与商业项目挂钩,也就没有真实客户的需求对其进行功能和性能上的监控。
1.2 遇到的问题及原因分析
根据上面的特点可以看出,普通毕业设计的指导方式或是工程化的控制手段,并不能适应软件开发类毕业设计,最终会导致毕业设计质量低下,学生得不到真正锻炼。比较突出的问题主要表现在以下几个方面:
(1)项目组成员各人任务不明确,能力参差不齐,并且有时没有充分地交流设计思想,最后导致软件各个功能模块无法有效整合。
(2)项目需求因为各种原因不断改变,软件不断修改,最终完成的软件产品达不到设计要求。
(3)编码开始后,软件的错误和缺陷不断涌现、不断累积,最终无法控制。
这些问题的产生,固然与设计选题、学生能力、实验环境以及教师的指导力度分不开,最重要的还是与教师的指导和监控方式有关。应当采用恰当的指导和监控方式,最大化地促进学生能力的提高,最有效地根据各个学生的特点,推动学生逐步达到毕业设计软件质量和功能的要求。
2 敏捷软件开发技术的应用
采用适当的指导和监控方式,实际就是要求教师对学生软件开发应用适当的软件过程模型,也就是软件开发的工程化控制手段。
2.1 敏捷软件开发简介
传统的软件工程方法中的架构设计与程序开发在时间上是先后分离的,这种分离常常导致一些脱离实际的设计和脱离设计构想的编程,导致最终软件开发的不理想甚至是失败。鉴于以上问题,敏捷软件开发技术应运而生。
敏捷软件开发以交付而不是以构造为核心,它强调的是交付对客户有价值的软件,而不是用户需求中所描述的软件。简言之,就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。敏捷软件开发方法提倡采用先进的技术和高水平的小型团队,并辅以人性化的管理,充分发挥软件开发者的才华,建立畅通的交流机制,使软件开发团队水平和软件质量共同提高。
敏捷式开发采用适应性方法,而传统的软件工程学采用的是预测性方法。敏捷式开发是以人为主的,而传统的工程学是以过程为主的。二者的主要区别存在于它们对软件开发过程的描述中,也就是说,敏捷开发实现当前最需要的功能,然后根据变化来修正和改进;而传统软件工程学一开始就将软件的各种架构预测好,然后采用固定的过程来实现这种架构。软件开发中的变化是不可避免的(通常传统软件开发的失败主要原因就是不能很好适应这种不可预知的变化),因此就要找到一种新的方法能够更有效地适应变化,这其实也就是敏捷式开发方法所要达到的效果。
可以看出,上述的敏捷软件开发的许多特点正是与软件开发类毕业设计的许多特点不谋而合,例如,小型的开发小组,适应性(适应不可预测变化)的开发机制,短期的交付(毕业设计一般都在半年甚至更短时间内完成软件的交付),充分发挥小组成员的特点,建立畅通的交流机制等等。因此,将敏捷开发思想引入毕业设计中的软件开发,不失为解决后者诸多问题的很好尝试。
2.2 敏捷软件开发应用 敏捷软件开发技术包含若干的价值观、原则和实践方法。将其用于毕业设计的指导和监控,主要应包含如下原则的应用:
2.2.1 增量式开发
传统软件类毕业设计采用传统软件工程学指导方法,先进行需求分析,然后根据需求进行功能模块划分,接着开始编程。如果最初阶段不能很好地完成分析和设计任务,后面的软件开发将出现严重问题。
而在敏捷软件中,采用的是增量式开发,对于难度较大的软件设计,不是一步吃透功能,而是逐步添加功能,在改进的过程中促进学生能力的提高。在笔者指导的一项毕业设计中,要求学生用Java编制网络实时通讯软件。采用增量式开发方法,先要求学生实现基本功能,即发送字符串到另外一台计算机,使用Windows的超级终端作为接收机进行测试;接下来要求学生实现程序互相发送和接收字符信息;然后,实现聊天室的多人聊天的线程控制;进一步可以实现数据库存储登录用户信息,并进行验证;最后,实现其他功能,例如网络硬盘,文件传输等等。在开发过程中,增量式设计能够让学生逐步进入高层次的内容,而不是一开始就进行高难度的开发。并且,通过逐步修改代码,可以提高学生阅读代码和优化代码的能力,学生的编程水平得到很好的提高。
2.2.2 可持续的开发速度
敏捷开发技术不要求团队一开始就尽全力完成任务,而是尽量保持一种稳定的、可持续的开发速度;团队的成员必须始终保持旺盛的精力和警觉的思想。
在很多毕业设计中,一开始学生就以极高的热情和全力以赴的状态去工作,然而随着进度的延缓,错误不断增多,以及越来越复杂的需求变化,学生的热情迅速减退,最终影响设计成果。因此,指导老师必须充分调动学生的积极性,又不能让学生 的精力过早地消耗,要保持一个稳定的进度。
2.2.3 简单
敏捷软件开发方法采用最简单的方式实现当前最需要的功能。在毕业设计中,针对某一个功能,采用尽量简单的方式去实现,不需要考虑为了将来的功能而进行“提前的准备”。因为这种“提前的准备”往往会让学生考虑问题过多,反而忽略了当前最重要的内容。
然而,简单并不代表着功能的缩减,当某些功能的实现成为必须的时候,敏捷软件开发方法采用在代码上改进的方式来完成,并且以此为机遇,充分进行反省,让学生在改进中得到进一步提高。
2.2.4 结对编程
结对编程是敏捷开发和极限编程(XP)的重要实践,它是指两个程序员结对使用同一台计算机完成编码――其中一位控制键盘并输入代码,另一位观察输入的代码并寻找着代码中的错误和可以改进的地方。这种方式能极大地促进知识在团队中的传播,并有效降低代码的错误率。
在毕业设计中,根据学生的特点,采用结对编程方式,可以让学生充分交流,互补所短,互用所长,互相学习。例如,在网页制作类的软件开发中,ASP脚本编程人员和界面设计人员结对,能够充分利用二者的特点,将脚本程序和网页界面元素有机地结合起来,形成功能完善,界面美观的动态网页。
2.2.5 适应改变
敏捷开发的一个重要特点就是它能够很好地适应改变,并且欢迎改变。这里的改变主要是指功能需求方面的改变。而敏捷开发对改变的适应,主要是通过增量开发,持续交付以及不断地改进与反省来实现的。
在毕业设计中,设计题目一经给出,主要方向不能变。然而选择题目的学生是变化的,个体能力有时候有很大差别,并且在开发中会碰到很多不能预知的技术问题。采用敏捷开发中的过程控制手段,可以有效地让毕业设计小组更好地应对各种变化,不会因为突发因素导致软件开发的失败。
2.2.6 个体激励和交流
毕业设计的重要目的是促进学生各方面能力的提高,采用的手段可以有很多。在敏捷设计中,强调个人能力在团队中的充分展示。把这种思想应用于毕业设计指导中,可以采取定期召开小型交流会议的方式,让每一个组员充分发挥自己的能力,以“头脑风暴”的形式对系统当前状态和改进方式进行畅所欲言的交谈。通过这种形式的交流,能够充分调动整个小组成员的积极性,及时发现系统开发过程中的各种问题,增强整个小组的凝聚力,有效提高学生的团队协作能力。
2.2.7 反省
好的团队并不只是埋头工作,他们会思考如何工作和为什么工作。在毕业设计指导过程中,指导教师应当在适当的时机提醒学生对开发工作中各项内容进行反省,让学生能够有机会去辨别可能或已经发生的错误。反省不仅仅是简单的思考过程,反省的后面应该紧跟着行动,学习是反省的行为,要能够将错误造成的危害尽早地阻止,并从中学习,以免同样错误的再次发生。
2.2.8 其他原则
敏捷软件开发技术还包含其他一些原则,在设计中包含了面向对象设计的一些基本原则,例如单一职责原则(SRP)、开放一封闭原则(OCP)等等。要将这些设计原则应用到具体的软件开发中,需要学生熟悉面向对象程序设计的相关概念和技术。
将敏捷软件开发技术应用到毕业设计的指导过程中,需要指导教师本身对它有较为深刻的理解,并且勇于进行大胆的尝试一毕竟敏捷开发的很多实践是与传统软件工程学方法相悖的。指导教师可以先在某一门程序设计课的课程设计中采用这种思想,然后进行相应的调整,再将其应用于毕业设计的指导工作。
3 结束语
将敏捷软件开发技术应用于指导毕业设计,能够充分适应软件类毕业设计的特点。在实际采用这种方法对我校的两组毕业设计小组进行指导的过程中,可以看出,这两组同学在对语言工具和相关知识不是很熟悉的情况下,采用渐进的方式,逐步实现设计要求的功能,并且不断对代码进行改进,软件完成的质量比其他小组明显要高。毕业答辩中,小组成员能够很清晰地阐述其软件开发进程以及相关知识的学习过程。并且,小组成员通过毕业设计加深了交流,团队协作能力有了大幅度的提高,小组成员个人的精神面貌也有了较大的改变。
摘要:针对地方应用型本科高校计算机软件类毕业设计质量不高的问题,对毕业设计中存在的问题进行分析,并结合软件工程的基础理论,提出利用软件工程思想对计算机软件类毕业设计进行指导,以提高地方应用型普通本科高校毕业设计的质量。
关键词:软件工程;毕业设计;应用
一、引言
毕业设计是本科毕业生在校期间的最后实践和综合实训阶段,是实现本科教育培养目标的重要组成部分,是深化、拓展、综合应用所学理论知识的重要过程;也是综合素质与工程实践能力培养效果的全面检验;是学生毕业及学位资格认定的重要依据;是衡量高等教育质量和办学效益的重要评价,是对专业理论知识和专业技术综合应用能力的强化训练和提升[1]。在毕业设计的过程中,学生利用所学专业理论知识,通过了解社会,分析社会需求,深入实践,完成毕业设计的任务和撰写毕业论文(设计)报告等各个环节的工作。对于地方应用型普通本科高校而言,毕业设计就相当于一般高等学校的毕业论文,但是毕业设计不同于毕业论文,它的组成部分不只是一篇学术论文。应用型高校的毕业设计注重的是“应用性”和“实践性”,学生毕业设计要求学生针对某一课题,综合运用本专业有关课程的理论和技术,自己动手动脑做出解决实际问题的设计。目的是总结、检查学生在校期间的学习成果,是评定毕业成绩的重要依据。同时,通过毕业设计,可培养学生开发项目的基本综合能力,为学生就业能力中的专业能力奠定坚实的基础;培养综合运用已有知识独立解决问题的能力,从而加强学生应用能力的培养,使学生能够学以致用。
二、地方应用型普通高校计算机相关专业学生毕业设计的现状
近几年来,由于学校对毕业设计要求不断提高,学生从选题到设计再到写出毕业设计报告的过程中总存在这样那样的问题,最终有个别同学没有顺利通过毕业设计,没有拿到毕业证和学位证的情况时有发生,并且大多数毕业设计的水平不高,达不到培养学生独立解决问题和提高学生应用能力的目的。因此,如何指导学生做好毕业设计,提高学生毕业设计水平和质量,是地方应用型普通高校面临的一个重要问题。
(一)毕业设计选题现状
最近几年,我校计算机相关专业毕业生自进入大四秋季学期开始,在进行毕业实习的同时,也进入了毕业设计准备阶段:毕业设计选题,虽然毕业设计选题过程中,各级领导、指导教师和学生在态度是都很重视,但是在选题时也会存在很多的问题,主要有以下三个方面。
1.选题不够准确。部分学生选题未经深思熟虑,所选毕业设计题目要实现的功能太多,在规定时间内不能独立完成,而最终只能实现部分功能,或部分模块。
2.题目相似或重复雷同。学生选题存在浑水摸鱼的思想,在毕业设计选题过程中不是根据自己的兴趣爱好、专业知识学习情况等确定研究选题,而是选择与他人类似或雷同的选题,甚至同一批毕业的许多学生选题一致。比如:“XX管理系统”等,除了可能冠以的系统名称不同之外,其余基本相同。
3.应用价值低。部分学生的选题是当前十分成熟的项目,没有研究的必要;有些选题已经被淘汰,在实际生活和工作中没有多大用途。
(二)毕业设计需求分析阶段现状
通过调查,许多学生选题完成后,没有对自己所做毕业设计选题进行仔细了解、分析,他们认为在毕业设计中最重要的就是编程,其他方面一带而过[2],从而造成毕业设计过程中主题经常进行修改,最终使得整个系统杂乱无章,无法继续进行下去。因此学生在毕业设计的需求分析阶段主要有以下三个方面的问题。
1.选题后未进行实际调查研究,甚至未查找相应的参考文献。
2.需求分析进行得不彻底、不准确,即使选题后查找了参考文献和资料的,也未做充分了解和分析。
3.在需求分析阶段没有写出需求规格说明书或系统分析报告就匆忙进入系统设计阶段,导致随着系统设计的逐步深入,原来确定的需求不能满足毕业设计的需要,正在进行的设计与开始的期望和设想又不相符。
(三)毕业设计系统设计阶段现状
在系统设计阶段,普遍存在以下两个方面问题。
1.由于需求的不明确,在进行系统设计时,修改随意,没有严格按照软件开发的步骤进行。好多学生在进行系统设计时并没有建出相应的功能模型,不管是用例图还是DFD图都没有,而且系统设计过程中功能随意变换,并且各功能模块的层次结构不清晰,使得整个系统的功能模块划分凌乱,不符合软件设计中“高内聚,低耦合”的原则。
2.在软件设计过程中,不先进行概要设计、详细设计和模块设计,没有软件的过程性描述,直接进行编码,存在想到哪里就做到哪里,走到哪儿算哪儿的随意思想[3],当前内容没有做完便开始其他内容,使得整个系统设计杂乱无章。在这样的一种研究状态下,即使完成了设计,效率也非常低下,软件结构混乱,功能实现不完全,降低了软件设计的质量。
(四)毕业设计实现阶段现状
通常把编码和测试统称为实现。在进行软件设计后,就可以根据设计结果来实现,将软件的过程性描述编码,得到计算机可以运行的源代码。在实现阶段主要有以下几方面的问题。
1.编码随意。学生在编码的过程中,不注意编程风格的把握,导致程序的可读性、可理解性、可修改性等较差,在答辨的过程中,要求指出某个功能模块的代码时,经常要花费很多时间才找得到。
2.测试和调试可有可无。大部分学生在毕业设计的软件编码完成以后,从没有想过进行完整的系统测试,或者只对个别功能进行测试或是随意测试,没有按照测试步骤逐步进行;基本没有单元测试和集成测试,一般只是最终随便输入几个数据简单检测一下,如果有错,修改了就算完了;也没有进行回归测试,没有测试计划,没有想过用什么测试技术来检测某一类型的错识,没有相应的测试用例,也没有测试结果分析。由于学生毕业设计都是一人一题,基本上是一个人完成所有步骤,就算有测试,在测试阶段也是自己进行测试,从心理学的角度来说,自己对自己开发的软件进行测试是不可取的。
由于前面阶段的文档不完善,也不重视测试过程,不清楚是否实现了系统最初设计的功能,是否达到相应的性能要求,总以为程序做出来后毕业设计就完成了,使得毕业设计经常在更换运行环境或答辩时发生错误和问题,从而使得设计得不到好评甚至无法通过。
(五)毕业设计应用现状
最近几年,我校计算机相关专业毕业设计投入使用数量接近于零。究其原因主要是由于设计不完全,未进行测试和调试,存在的错误和缺陷较多,文档和数据不完整,导致所开发的系统或软件不能方便地转让、变更、修正、扩充和使用,也没有为后期培训、维护留下完备的资料;因此,不能投入到真正的使用过程中,也不能实现系统或软件产品的效益。
三、软件工程思想的应用
软件工程(Software Engineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。软件工程中的软件生命周期是一个软件从软件定义、开发、运行和维护,直到最终被废弃的整个过程[2]。地方应用型普通高校计算机相关专业学生毕业设计基本都是开发一些中、小型应用系统或软件,因此,学生毕业设计也要经历软件生命周期各个阶段,严格遵守软件工程的各个原则,这样有助于解决毕业设计中存在的问题,提高毕业设计的质量。通过对应用型普通本科高校计算机相关专业的学生在进行毕业设计的过程中存在的问题进行分析,在毕业设计的过程中,必须运用软件工程的观点、技术和方法来指导毕业设计,这样既节约了毕业设计的时间和学生的精力,也能做出最优质的毕业设计。
1.选题过程中的应用。毕业设计选题就是软件生命周期的问题定义中的问题提出阶段,选好题目是进行深入研究的基础,也是写出高质量毕业论文的前提。地方应用型普通本科高校计算机相关专业的毕业设计选题必须做到以下几点:(1)必须在对选题做了充分调查、分析,对检索的参考文献、资料有了整体把握的基础上提出。(2)必须符合本专业培养方案规定的培养目标的要求。(3)以选择工程性较强的课题为主,确保有足够的工程性训练。(4)要有明确的设计成果,对于较大型任务的课题要明确阶段性成果。(5)要达到规定的工作量,难易度适中,确保能在规定的时间内完成整个课题工作。(6)要围绕生产生活实际,所选题目一定具有一定的理论意义和实践意义,具有一定的价值。(7)原则上一人一题,对于较大型任务的课题,每个学生必须有独立子课题。结合以上几点,分别从专业基础、现实意义等方面进行全面分析,进行取舍,最终得出选题。
2.开题过程中的应用。在毕业设计的开题过程中,需要明确所选题目的选题依据(包括选择课题的背景、选题研究的理论及实践意义)、选题研究现状(包括目前国内外对本选题的研究情况和有待解决的问题)、研究内容与方法,而这些就是软件工程中需求分析阶段应该做的事情。
需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作[3]。因此开题过程中最重要的是进行需求分析,需求分析具有决策性、方向性、策略性的作用,在软件开发的过程中具有举足轻重的地位。需求分析完成的好坏直接影响后续软件开发的质量。开题过程中需要指导学生大量地阅读相关的研究资料,同时根据资料进行分析研究,对当前毕业设计的研究进度做到心中有数,明确毕业设计的具体方向,写出毕业设计的研究内容与方法,得到相应的设计提纲,解决好设计什么,如何设计的问题。因此,应用好软件工程的思想来指导毕业设计的开题是至关重要的。根据学校对学生毕业论文的要求,在计算机相关专业的毕业设计报告中,要求要有数据流图、数据字典等相应内容,而软件工程中的数据流图(Data Flow Diagram,简称DFD),它是从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程。它是描述系统中数据流程的图形工具,它标识了一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换为逻辑输出所需的加工处理[3]。因此,在这个阶段,要指导学生按照DFD图的要求,确定设计的功能,然后根据系统分析结果写出分析报告,就得出毕业论文中系统分析阶段的初始文档。
3.在实践研究环节的应用。根据需求分析(开题阶段)的结果进行软件的概要设计和详细设计,注意在设计过程中要严格按照软件工程对于设计阶段的指导原则来进行设计。将概要设计阶段需求分析得到的DFD转换为软件结构和数据结构,即是根据需求确定软件和数据的总体框架,设计出软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。然后再进行详细设计,设计出每个模块的实现算法、所需的局部数据结构,并且对每个模块写出过程性描述;为每个模块设计出一组测试用例,在进行测试时就以此测试用例来进行测试。详细设计阶段的任务还不是具体地编写程序,而是要设计出程序的“蓝图”,以后将根据这个“蓝图”写出实际的程序代码。因此,指导教师要对学生的设计过程进行监督和指导,防止学生盲目的进行编码。
4.在实现阶段的应用。在编码的过程中,要注意编程风格的把握,编程的风格在很大程度上影响程序的可读性、可测试性和可维护性。
在测试阶段,可以进行交叉测试,即学生之间可以两两交叉,相互测试,以更好的达到测试效果,同时也培养了学生的团队意识和合作意识。
在测试过程中要注意运用软件工程的测试原则和测试思想,严格按照单元测试集成测试确认测试系统测试验收测试的测试步骤进行,利用白盒测试技术进行单元测试,黑盒测试技术进行其他测试,并且在找出错误并修改后要进行相应的回归测试,确认修改了错误并且没有引入新的错误,这样有利于找到软件中的各类错误,提高软件的质量。因此,在软件的测试过程中,一定要严格按照软件工程中的测试原则来进行,不可随意进行测试,并且要注意测试文档资料的收集整理,要有相应的测试计划和测试报告。对学生的创造性的思维和想法,指导教师要给予支持,积极引导,鼓励学生大胆创新,用应用型人才培养目标来要求学生,保证高质量的毕业设计的完成。
5.在毕业论文(设计)报告方面的应用。对于应用型普通本科高校计算机相关专业的毕业设计而言,不单单是完成了一个系统的设计,还要有相应的设计报告,而设计报告的编写过程中,很多学生存在文字表达能力不强的现象,为了完成报告,就有可能会抄袭,特别是在软件开发的各个阶段文档材料不全的情况下更为严重。因此,在学生进行软件开发的各个环节中,指导教师都应该按照软件工程的观点来进行指导,并要求学生在各个阶段都完成相应的文档。这样在毕业设计报告撰写的过程中,只要将各个阶段的文档进行合并、整理就得到相应的设计报告,并且是一篇重复率不高的高质量的设计报告。
6.在毕业设计实际应用方面的应用。因为学生在整个系统或软件过程中均按软件设计规范准备了文档和进行了完整的系统测试,从而为系统或软件的专利申请提供了充分必要的资料,并为毕业设计的实际应用打下良好的基础。
四、结语
计算机相关专业学生的毕业设计在学生的整个大学生活中具有极其重要的地位和作用,根据应用型普通本科高校人才培养的定位,主要是培养学生的独立思考能力、动手能力和应用能力。通过对软件工程思想在计算机相关专业学生毕业设计的过程及方法中的应用研究,逐步实现学生毕业设计的实际成果转化,从而为应用型计算机相关专业人才培养提供相应的借鉴。
【摘要】高职院校的毕业设计是高职教育教学的一个重要环节,是高职人才培养计划的重要组成部分。做好毕业设计,对高职培养高素质技术技能人才,具有十分重要的作用。在应用电子技术专业毕业设计中,引入Protel软件,极大地提高了学生毕业设计质量。
【关键词】高职 应用电子技术专业 毕业设计质量 电子线路CAD
高职院校毕业设计是高职教育教学的一个重要环节,是高职人才培养计划的重要组成部分,也是高职实现人才培养目标的最后一个阶段[1]。它既是对学生在大学期间所学知识、技术与能力的检验,也是对高职院校教育教学质量的全面、综合的检查[2]。它既是学生对理论知识综合运用的过程,也是学生理论结合实践分析解决实际问题和培养初步科学研究能力的重要阶段,又是对学生团队协作能力、创新思维能力等综合素质的全面检验。做好毕业设计,对高职培养高素质技术技能人才,具有十分重要的作用。对以培养面向现代电子产品生产企业从事电子产品的生产及组织管理的应用电子技术专业来说,在毕业设计中引入Protel软件开展“基于产品研发过程”的课题研究,意义重大。本人在指导应电专业学生开展毕业设计中积极进行了这方面的探索,取得了良好的效果。
1.将Protel软件引入应电专业毕业设计的可行性
Protel软件最早是Altium公司在80年代末推出的,经过了Protel DOS版,Protel 98,Protel 99 SE,Protel DXP等多个版本,目前最高版本是altium designer。在电子行业众多的CAD软件中,它当之无愧地排在众多EDA软件的前面,是电子设计者的首选软件。该软件具有电路原理图SCH绘制、原理图元件制作、电路仿真、PCB印制电路板设计、元件封装制作、可编程逻辑器件设计、图表生成、电子表格生成等强大的电子产品开发的功能。
应用电子技术专业毕业设计内容涉及电子电路的设计,包括运用电路基础、模拟电子、数字电子、单片机、可编程逻辑器件等相关知识与理论,同时还要在万能电路板上进行元器件的安装和电路板的焊接。在这个过程中往往还需要加一个面包板的环节,就是学生要先在面包板上对所设计的电路进行验证,若电路验证成功,则再到万能电路板上进行。在毕业设计中运用Protel软件,将极大缩减电路验证的流程,并大幅提高电路的可靠性。Protel软件起到了很好的桥梁作用,有效衔接了电路设计与电子工艺制作,电路设计的合理性与否得以较可靠验证,而PCB板的制作使得电路连接简单轻松,焊接的工作也简便了不少。对学生来说,毕业设计的过程,成为检验和巩固并提高其系统专业知识的过程,同时还锻炼了逻辑思维、整体意识和时间管理能力。
2.引入Protel软件后应电专业毕业设计的步骤
学生选定毕业设计课题后,一般需经过以下七个步骤完成最终的毕业设计作品。
2.1 确定电路设计方案
根据所选课题的设计要求,结合专业已学的电子线路、单片机、PLC技术、CPLD可编程技术等相关知识,确定可实现的几个方案,通过在经济上、电路可靠性上、电路性能方面等比较各方案,选择出最佳的电路设计方案。
2.2 绘制电路原理图
根据电路设计方案,打开Protel软件,进入原理图编辑器,先设置图纸参数,后查找或制作所需元件,并把它有序放置到原理图上来,调整元器件之间的位置和间隔,再放置接插件、电源、接地符号等。然后,对电路进行连线,连线完毕放置网络标号。生成材料清单,检验所用元器件的Designator、Value、Footprint、Simulation等重要参数是否设置合理;生成网络表,检查电路信息,若发现错误及时纠正。最后,对整个电路进行编译ERC校验,确保电路正确。
2.3 电路仿真及方案修正
Protel DXP提供了10 种分析仿真方式,包括直流工作点、直流扫描、交流小信号、瞬态过程、Fourier、噪声、传输函数、温度扫描、参数扫描以及蒙特卡罗分析等。电路原理图绘制完毕后,设置仿真方式并指定要显示的数据节点,系统进行电路仿真,生成sdf 文件,同时打开窗口显示分析结果。观察电路仿真结果,分析仿真波形是否符合电路设计要求,如果不符合,则重新调整电路参数进行仿真,直到满意为止。
2.4 设计PCB板并打印图纸
电路仿真达到满意结果后,就可以进入PCB印制电路板的设计了。一般的步骤是先进入PCB编辑环境,定义PCB印制电路板,可自定义板框大小,也可以采用软件自带的PCB板制板向导来实现;接着从原理图导入网络表信息;再是对元件封装进行合理美观布局;然后进行布线规则的设置,线宽大小建议在12mil以上;最后是自动布线,布线成功后就可以使用热转印纸按1:1的比例依次选择不同层进行打印。
2.5 制作PCB板
PCB图纸打印好后,分五步完成。第一步是曝光,选择合适大小的曝光覆铜板,打开多功能制板系统抽屉式曝光机,将图和覆铜板放入,曝光约90秒左右后完成;第二步是显影,调制好一定浓度的溶液,并加热到50摄氏度左右,将线路板放入显影槽进行显影;第三步是蚀刻,蚀刻时间一般需要十几分钟;第四步是钻孔,根据焊盘大小选择不同的钻头进行钻孔;第五步是表面处理;若为双面板,还要进行第六步,过孔。线路板经过以上步骤后,可用万用表检测电路是否均连通,以保证后面的步骤顺畅进行。
2.6 元器件接插并焊接
把选用好的元器件接插到合适的位置,用电烙铁、松香等对元器件进行焊接,这里要注意不要出现虚焊、假焊和漏焊现象,要尽可能做到焊点表面完整、连续和圆滑。
2.7 电路调试
电路焊接完毕,则需要用万用表、示波器等工具对电路进行调试,发现故障,进行电路分析并排故,直到电路功能正常为止。一般来说,毕业设计的电路相对简单,在前面几个步骤都顺利的情况下,电路调试基本都能成功。有出现问题的,往往都是电路设计方案本身存在问题,并在仿真阶段也是含含糊糊过去的。
3.引入Protel软件后应电专业毕业设计的实效
将Protel软件引入到应用电子技术专业毕业设计后,总体来讲,学生毕业设计的质量大大提高。具体体现在以下四个方面。
一是学生对专业的自信加强了。毕业设计系统地考验了学生对所学专业知识的掌握和运用能力。引入Protel软件后的毕业设计里,学生既有对专业理论知识的提取、运用和消化,又有基于产品研发过程的专业实践的锻炼,理论与实践相结合,学生的专业自信明显提升。
二是学生的综合素质增强了。毕业设计过程中,碰到的可能是对某个元器件用法和功能的不熟悉,也有可能是对电路参数大小比较模糊,这些都需要学生去查找文献,提高自学能力;另外,在电路设计、电路仿真过程中,可能会出现参数不符合要求,需要修正和调整,这个过程可能是反复的,考验的是学生对某项任务的坚持不懈和百折不挠的精神;此外,还培养学生的严谨和细致。
三是学生毕业论文的内容充实了。学生对毕业设计的整个过程进行梳理和笔录的内容就可构成毕业论文的核心内容了。学生经过毕业设计的亲身实践,有过程,有感触,必然言之有物。
四是学生毕业就业的专业对口率提高了。引入Protel软件后毕业设计,不仅让学生对专业更有自信,同时学生对Protel软件的掌握也加深了,对制板的流程也熟悉了,在就业过程中,Protel绘图员工、制板工等相关岗位的工作也能承担了。
4.结束语
在应用电子技术专业毕业设计中引人Protel软件,改变了过去毕业设计只注重理论设计的纯教学性的做法,采取理论设计与实践制作相结合,动手能力与创新精神相结合[3],充分发挥学生主体性作用的方式相比,取得了良好的效果。
【摘要】本文探讨了在本科毕业设计中加入运用FLUENT软件进行工程计算分析的相关课题的可行性。实践证明,学生通过运用FLUENT软件进行工程计算,夯实了理论基础,增强了解决本领域传热和流动问题的能力,提高了学生的学习兴趣和未来的专业竞争力。在做好本文所提及的三点问题(学生和课题的选择、指导过程中的问题)的前提下,在毕业设计中加入FLUENT软件工程计算相关课题不仅可行,还值得在一定范围内推广。
【关键词】FLUENT 计算流体力学 计算传热学 毕业设计
1.引言
本科毕业设计是在本科教学过程的最后阶段进行的总结性的实践教学环节。在毕业设计环节中,学生应当综合运用本科阶段所学的各科知识和技能,对所需解决的课题进行思考、分析、设计和研究,从而全面、系统地完成课题交给的任务。可见,毕业设计是对学生本科阶段学习质量的全面性的检验,也对学生能否顺利拿到毕业证书和学位证书起到直接和决定性的作用。
计算传热学又称数值传热学,是研究用数值方法求解传热问题的一门科学。它可以理解为:根据所需求解的实际问题建立合理的数学模型,利用离散化处理的数值方法,再通过用计算机高级语言编制的程序,以计算机作为工具来求解传热问题的、与工程实践密切结合的一门应用基础科学[1]。而市场占有率高达40%[2]的数值计算软件FLUENT是解决传热领域数值计算问题的较好的通用软件之一[3]。
运用FLUENT等CFD软件,可以在不具备实验条件或暂不需要对研究对象进行实验的情况下,借助计算的方法进行相关工程分析,从而极大地节约人力、物力、财力和时间成本。因此,在本科学习最后的毕业设计阶段,若能让部分学生学习并基本掌握FLUENT软件对本领域问题的计算过程,将会在很大程度上促进学生今后对相关问题的建模和分析等工作。
2.毕业设计指导工作应注意的问题
由于FLUENT软件的专业性,在指导与FLUENT软件工程计算相关课题的时候,应注意以下几个问题:
(1)学生的选择
要能较好地掌握FLUENT软件相关计算过程,首先需要具有较为过硬的微积分、流体力学、传热学、计算传热学(也称数值传热学)等相关学科的基础知识。这不仅要求学生较好地理解课堂所讲知识,还要能够灵活运用课内外相关知识。有的学生学习能力和成绩相对较弱,并不具备过硬的知识储备和学习能力;有的学生未来从事的工作与本专业距离较远,或者对相关的数值计算兴趣不大,因此缺乏从事相关课题毕业设计工作的原动力;这些因素都会影响整个毕业设计工作的正常进行。因此,对于与FLUENT软件工程计算相关联的毕业设计课题,并不是所有学生都适合来做。为了有效地开展相关的毕业设计课题,在学生的选择上往往优先推荐让学习相对努力的、有兴趣和求知欲的以及未来将继续深造或从事相关科研工作的学生来进行。
(2)课题的选择
在本科教学阶段,由于受限于书本和教学大纲的安排,教师在对流体力学、传热学等课程的讲授中往往较少涉及数值计算相关知识,书本上只有一章内容与之相关,课堂上一般只传授数值计算的基本概念、简单情况下的离散方法、离散方程的建立等较为浅显的知识,这与FLUENT软件中对相应问题处理方法的深度和难度相去甚远;然而,在毕业设计的短短一学期时间内,要让学生完全掌握相关知识是比较牵强的。因此,在FLUENT软件工程计算相关课题的选择上,应选择相对基础性的、与实践结合紧密的、具有科研应用前景的课题作为毕业设计课题。这样既可保证毕业设计工作的正常开展,也能使学生在软件方面得到基本训练,为后续科研工作以及研究生阶段的学习打下良好的基础。
(3)指导过程中的问题
在毕业设计的指导过程中,笔者发现有部分学生在使用软件进行计算时,较为注重结果的可视化,而恰恰对计算中关键参数的设置、计算方法的选择等关键问题较为忽视。造成该现象的原因可能是,无论在软件中设置怎样的参数、选择怎样的计算方法,总能通过软件的计算得到一个可视化的结果,即使参数设置或计算方法的选择欠妥或有误,只要计算过程没有脱离现实太远,计算结果看上去都有一定的可信度,再加上学生对具体计算过程的“不求甚解”、不仔细推敲,往往易使人误认为该计算过程是正确的。因此,在指导过程中,应对学生使用软件的具体计算过程进行仔细地把关,确保计算过程和结果的正确性。
3.毕业设计算例
算例一:建筑空心砌块传热问题
图1a为所需计算的典型建筑空心砌块的尺寸标注图。该砌块是某典型普通混凝土空心砌块,三排孔结构,每排均由大小相等的两个孔组成,孔厚30mm。热量由室外侧(左侧)传向室内侧(右侧),室外侧为稳态或非稳态热边界条件,室内侧为稳态热边界条件。
图1b为数值计算得到的该砌块传热的某时刻温度分布图。可以看到,温度从左到右大体上呈现由高到低的分布状况。由于空心砌块为非均质构件,砌块材料的热导率与空气层的当量热导率不相等,造成了内部等温线的非均匀分布。
(a)空心砌块结构俯视图(单位:mm) (b)典型砌块温度分布图 图1 空心砌块结构俯视图
算例二:加气混凝土墙体结露问题判断
待计算的房屋的加气混凝土自保温墙体结构类型如图2所示,图中的B05表示型号为B05的加气混凝土砌块。计算中,加气混凝土砌块可以认为是热均质结构,这样导热系数相对较高的混凝土柱或梁便成为了结构体系中的热桥。由图3、图4可以看到,加气混凝土自保温墙体内表面温度最低点均发生在热桥部位室内表面宽度的中心处或阴角处。将该处的温度与当地室内空气的露点温度相比较,既可判断是否会产生结露现象。
图2 框架结构房屋自保温墙体结构
图3 B05厚度为50 mm墙体的温度场
图4 B05厚度为100 mm墙体的温度场
4.总结
利用FLUENT软件对实际工程问题进行数值计算,大大节约了经济开支和时间成本,也为学生对本领域的传热和流动问题的解决提供了有效手段,夯实了学生的理论基础,增强了其解决问题的能力。通过与从事相关毕业设计课题的学生的交流得知,学习FLUENT软件的工程计算对学生更好地掌握相关物理过程起到了很好的帮助作用,拓宽了学生的视野,也提高了学生对相关问题的兴趣,有助于提高他们的专业竞争力。由于兴趣的作用,采用FLUENT软件进行工程计算的学生的毕业设计得分总体较进行其它课题的学生的得分高约15%。由此可见,在做好本文所提及的三点问题(学生和课题的选择、指导过程中的问题)的前提下,在毕业设计中加入FLUENT软件工程计算相关课题不仅可行,还值得在一定范围内推广。
摘 要:高职院校毕业设计中存在着一些问题,例如,课题质量不高、学生在校外实习、课题与就业方向不符等。这些问题的产生是因为学生不重视毕业设计,进而导致设计质量下滑。针对毕业设计中出现的问题,笔者以高校管理者与指导教师的视角,对毕业设计制、学生及指导教师进行了深入调研,并且提出了改进方法。
关键词:高职院校 毕业设计 不重视 改进
1 前言
毕业设计是学生综合运用所学知识解决实际问题的环节,其质量直接关系到本专业人才培养水平。大多数高职院校的毕业设计放在最后一个学期,导师基本由校内教师担任。但最后一年学生把重心放到对自己未来更有影响的就业上,或是参加专升本寻求深造机会,校内导师被迫远程指导,缺乏监督力度。同时,设计课题内涵良莠不齐,部分课题不符合社会需求,让学生感觉实用性不强,学生不重视,进而质量下滑,降低了教学水平。因此,我们有必要通过调研发现问题、分析问题,进而解决问题。
2 现状调查
对重庆5所高职院校部分教师及所带学生进行了问卷调查。样本中包含200名毕业生、50名指导教师。数据如下:
3 调研问题分析
影响质量的主要因素有学生不重视,学生不能在校设计。需要分析学生为什么会不重视,并剖析其不能在校设计的原因。
3.1 课题内涵与需求有偏差
如表1所示,课题与学生工作方向是否吻合,以及是否一志愿选题,对成绩影响较大。调研中发现:部分学生毕业后从事Java开发,而选题时选了C#开发(选题先于实习);部分学生毕业后从事非IT工作,从而对所选课题丧失兴趣;部分学生单位实习后技能提升,回过头发现课题内涵与商业开发存在差距。此外,部分学生未能选中一志愿课题,调配课题与期望不一致,所以就抱着对付一下的心态。综上,课题本身质量是影响学生最后设计成绩的重要因素。
3.2 设计时间安排不合理
表1及表2的数据充分证明,不合理的时间安排,是导致质量下滑的重要原因。最后一个学期是找工作的关键期,在就业压力下学生忙于参加招聘会和面试。找到工作后,用人单位往往还要求到岗实习。同时,最后一学期也是专升本的关键期,寻求深造的学生亦会忙于复习参考;另有学生为提高竞争力,会选择参加推荐工作的技能培训;这都是造成学生不重视以及不能在校实习的重要原因。
3.3 自拟课题质量偏低
表3数据分证明,对外承接工程,或教师科研需要课题,具有充分驱动力可让教师在课题建设中投入更多精力,进而提高了课题与社会生产的适应性,提升课题的科学性和实践性。自拟课题往往是为了毕业设计而设定的课题,教师缺乏动力对课题进行改进,易与社会脱节。表3的统计数据也证明了选择自拟题目的学生,其优良成绩的比率显著低于其他学生。
3.4 其他因素
沟通不畅:师生双方无法面对面地沟通,存在着教师因工作忙碌疏于督促,或学生缺乏主动性的情况。(1)教师经验缺乏,高校中具有丰富项目经验的教师本来就比较少,近年又引入了大批年轻教师,这些教师毕业后直接从事教学,更缺乏项目开发经验,在指导中明显表现出不足。(2)优秀教师任务重,优秀指导教师既要承担毕业设计指导工作,又要进行繁重的教学任务,容易顾此失彼。
4 问题整改建议
4.1 加强课题库建设
课题分为对外承接工程、科研需要、自拟等几个类别。对自拟课题,须经学校专家组评审及指导,以增强与生产实践的联动性。增大来自对外承接工程及科研需要类课题,这类课题具有较强实践性,教师出于自身利益,也会对课题投入更多精力,对学生的要求也会严格,这必然提高设计质量。另外,考虑到学生未来就业不同,宜对课题难度适当分档。对不同档次的课题,设置起评成绩;有志于投身IT行业的,可选中高难度;其他学生可针对性地选择适合自己的课题。
4.2 改进设计模式,消除时间冲突
在设置课题时,要确定本专业所针对的主要就业岗位,以及岗位所需技能,再结合实际选择对应实训项目,作为本专业学生大学期间不同实践课程教学项目。学生在专业课教师的系统指导下,逐渐完成毕业设计的雏形,在最后一个学期里,再根据学生就业实际情况,予以整合,就成为了一篇具有一定质量的毕业设计。如此,不仅降低了最后一个学期的工作压力,还提升了学生在校期间教学质量。
4.3 加强指导教师能力建设
在毕业设计中,教师要加强对学生的监督与管理,可采用如定期开见面会、网上探讨等方式,学生将设计中遇到的问题、取得的成果等汇报给教师以便教师对学生情况进行分析指导。组织教师参加校内外专业培训,提高教师理论水平和实践能力。招聘教师时,倾向于在企业从事过一线工作、既有学历又有工作经验的人员,更好地将学校的理论知识与企业所需要的专业技能相结合。
5 总结与展望
毕业设计是十分重要的环节,应注重课题的针对性与适用性,使毕业设计内容与学生毕业后所从事的技术岗位相一致。同时,我们也需要加强毕业设计的机制建设,让设计贯穿整个大学教育,减少最后一学期压力。注重对教师的培养,提升指导技巧和技能。只有这样才能培养出符合社会发展、受用人单位欢迎的人才。
[摘要]毕业设计是本科生培养中最重要的实践教学环节。本文针对“卓越工程师培养计划”中工程和创新的培养目标,结合“卓越计划”的“3+1”的“1”的实施,对毕业设计进行改革,通过2级毕业设计的实践,毕业设计的改革效果较好。
[关键词]毕业设计质量保证体系卓越工程师
一、前言
本科院校在对学生整个教育教学计划中,应用性本科软件专业毕业设计(论文)是学生大学生活的总结,也是在实践教育方面的最后一个环节。
目前,本科毕业设计中大学生对自己的毕业设计能够自主把握的空间十分有限,设计主体部分严重脱离工程实际情况,依靠以往经验、书本知识、网络信息等方式获得的信息量占据了信息总量的大部分,这不仅仅是因为学生或者导师愿意去投机取巧,也跟毕业设计活动经费的短缺和时间的不充足有着直接关系。纵观高校的工程教师队伍,他们自身的实践经验也很难保证做到将现实生活的实际问题引用到本科毕业设计中并展开工作。这就产生了一种很不好的现象,毕业设计的题目往往都是重复使用多次的,好一点的可能也只是简单的变化。本科毕业设计对于学生能力的培养和综合素质的提高帮助不大,在毕业后的工作实践中,学生的创新工程能力单薄的缺陷就会凸显出来,没有办法满足现代工业发展对人才的需求。高校的这种与社会需求严重脱节的现象必须要尽快解决,校内教育与科研、社会实践要在整个高校学习教育中相结合展开进行,才能满足社会新的需求。
二、卓越视野下软件工程专业毕业设计(论文)质量保证体系的构建
(一)加强校外实习基地的建设
卓越工程师的“3+1”培养方案中,“1”年的实践环节完成的好坏,很大程度取决于实习基地的建设。为了卓越工程的顺利设施,计算机学院已经与企业建立了广泛的联系,目前已经建成的实习基地有:塔塔信息技术(上海)有限公司、上海启明软件股份有限公司、上海京颐信息科技有限公司和上海文思信息技术有限公司;上海屹为信息技术有限公司;谷儒(上海)网络技术有限公司;曼恒蔚图软件技术有限公司;用友软件公司等。这些实习基地的建设,为毕业设计的课题来自生产第一线,提供了强有力的保证。
(二)建设高水平的“双师型”的毕业设计指导队伍
我们采取两种模式共同进行:一是坚持教师队伍“专任和非专任”结合。专任教师主要是以长期在工程现场实践或者有较好科研成果的教师组成;非专任教师主要是从合作单位企业聘任高水平工程师来校做兼职教师。二是加强“双师型”师资队伍建设。双师即“教师”、“工程师”,首先要加强对一线教师的工程能力素养和工程实践能力的培养,以满足在毕业设计指导过程中对教师综合能力的需求。另一方面,我们在聘请教师方面有侧重点,优先录取有企业工作经验的兼职教师,来提升有工程实践经历的教师在整个专业课教师中的比例。为了最大化地为毕业设计服务,学校还从企业聘请工程师或者让一线教师到企业参加工程实践活动等手段,致力于打造为毕业设计服务的精锐之师。
(三)严把选题关
毕业设计的题目,一般来自企业。由企业指导教师提出,经企业指导教师和学校指导教师共同商量后确定。选题要结合学生在企业实习的项目,注重实践性和创新能力的培养,同时题目应难易适中,切实可行,工作量适宜。
(四)注重教师的指导过程
选题完成后,企业指导教师下达任务书、指导学生确定毕业设计方案。在学生做毕业设计的过程中,企业教师负责具体的技术指导,学校指导教师负责时间节点的把握,协助企业教师完成对学生的共同指导。
(五)建立有效的沟通联系制度
由于本科生初次接触整体性和设计性较强的工作,肯定会遇到这样那样的问题。这时,建立有效的沟通制度,发挥指导教师的引导作用就显得非常重要。学生把毕业设计中遇到的问题,向指导教师提出,由企业指导教师和学校指导教师共同商量解决的办法。在毕业设计的过程中,应建立指导教师与学生讨论的例会制度,坚持每周师生沟通一次。每位学生总结前一阶段的工作,提出毕业设计中遇到的问题,指导教师要进行引导和总结,鼓励学生发挥主观能动性和创造力。这样,指导教师可以及时掌握学生毕业设计的进展情况。
(六)做好毕业设计的过程检查与中期检查
对本科生的毕业设计工作的中期检查,要坚持中前期和中后期两次检查。检查的形式是学生以PPT方式汇报自己目前毕业设计的进展情况,并回答老师的提问。对中期检查发现的问题,企业和学校的指导教师共同商量解决的方法。
(七)毕业设计(论文)答辩
答辩的地点一般设置在学生的实习企业,答辩委员会由企业指导老师和学校指导教师共同组成。每位学生的毕业设计答辩采用PPT形式进行汇报,对一些条件许可的企业,要有毕业设计的演示。
(八)以过程管理思想为指导,构建“方法-时间-层次”三维毕业设计质量监控体系
通过健全机构、合理资源配置、完善工作机制、强化毕业设计质量监控体系的毕业设计运行监控、毕业设计指导决策、毕业设计质量考核评价、毕业设计信息反馈功能,见图1。
三、结语
软件专业是一门实践性很强的专业。要想在短时间内较高质量地完成毕业设计,选题是一个很重要的环节。为了提高学生的做毕业设计的兴趣,高质量完成毕业设计,课题选择来自一线企业,显得非常重要。同时,建立一个毕业设计的保障体系,使得毕业设计在进行的过程中,质量能够得到保证。经过两届的毕业设计实践探索,学生做来自一线企业的毕业设计题目的兴趣很大,而且毕业设计的质量得到很大的提高。
【摘要】主要分析了毕业设计(论文)的现状,介绍了软件生命周期的各个阶段与毕业设计(论文)各阶段的对应关系、软件生命周期各阶段应完成的任务以及在毕业设计(论文)中应注意的问题。
【关键词】软件工程 毕业设计(论文) 实践教学
一、引言
毕业设计(论文)(以下简称毕业设计)是计算机及相关专业教学计划中的一个重要环节,是培养学生对所学基本理论及基本操作技能综合运用的训练过程,是提高学生分析和解决问题能力的重要实践环节,是实现理论与实践相结合的重要途径,是对教育教学质量的全面检查。目前,计算机及相关专业的毕业设计质量正在逐年下降:学生急于找工作或考研,毕业设计得不到应有的重视;需求分析不到位,设计成果不符合实际需求;软件开发流程混乱;缺乏文档写作训练,等等。
针对上述问题,笔者认为,除了应当从管理角度严格进行过程监控外,还应当使学生通过《软件工程》课程的学习,提高毕业设计的质量。
二、软件生命周期与毕业设计过程的对应关系
软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程称为软件的生命周期。软件生命周期可以划分成若干个时期与阶段,它与毕业设计各个环节的对应关系如图1所示。
三、软件生存周期各阶段应完成的任务
1.可行性研究与计划阶段、需求分析阶段
可行性研究与计划阶段主要完成问题的定义、可行性论证以及初步计划的制定;需求分析阶段主要完成需求调查,进行功能、性能与环境约束分析;编制软件需求规格说明、制定软件系统的确认测试准则和用户手册概要。这两个阶段对应于毕业设计的课题论证、选题、调研、查资料,通过对设计题目的深刻理解,完成开题报告的撰写工作。
2.概要设计阶段和详细设计阶段
概要设计阶段主要完成软件系统总体结构的建立、定义功能模块的接口、设计全局数据库和数据结构、规定设计约束、编制概要设计文档等工作;详细设计阶段主要完成模块详细设计及编制模块的详细规格说明工作。包括模块的详细功能、算法、数据结构和模块间的接口信息等设计,拟定模块测试方案;把模块详细设计的结果汇总,形成模块详细规格说明书。这两个阶段对应于毕业设计的系统设计阶段。
3.实现阶段与组装测试阶段
实现阶段主要完成编码及单元测试工作。根据模块详细规格说明书,将详细设计转化为程序代码、对模块程序进行测试,验证模块功能及接口与详细设计文档的一致性,并形成单元测试报告;组装测试阶段主要完成模块程序组装与测试及组装测试报告的编写。
4.确认测试阶段
该阶段主要完成软件系统测试、确认测试文档编制及软件评审工作。根据软件需求规格说明定义的全部功能和性能要求及软件确认测试准则对软件系统进行总测试;向用户提供以确认测试报告为主的有关文档,包括系统操作手册、源程序清单和项目开发总结报告等;由专家、用户、软件开发人员组成的软件评审小组对软件确认报告、测试结果和软件进行评审,并将得到确认的软件产品交付用户使用。这个阶段主要对应于毕业设计(论文)中的论文评审、结题验收及毕业设计的答辨准备阶段。
5.软件运行与维护阶段
主要进入软件的使用阶段,并完成软件的维护工作。它主要对应于毕业设计中的答辩阶段。
四、毕业设计应注意的几个问题
1.摘要
摘要是对文章主要内容的摘录,要求精、短、完整。以几十字至三百字左右为宜。摘要应具有独立性和自明性,从摘要中即应获得必要的信息;摘要中只能使用第三人称;要客观如实地反应原文的内容,要着重反映论文的最新内容和作者特别强调的观点;要求结构严谨、语义确切、表述简明,一般不分段落、不进行自我评价。
2.关键词
关键词主要用于论文检索,它是从论文的题名、摘要和正文中选出的,是对表述论文的中心内容有实质意义的词汇,关键词一般以3~5个为宜。
3.结论
结论写作的内容应主要考虑本文研究结果是什么?研究结果说明了什么?对前人有关的看法作了哪些修正、补充、发展、证实或否定?本文研究的不足之处或遗留未予解决的问题以及对解决这些问题的可能的关键点和方向等。结论应该准确、完整、明确、精练。
4.需求分析
在毕业设计中,学生往往不能对所做题目进行充分的调研,需求不明确,随意想象的成分较多。特别是在数据表的建立上,大部分同学随意设置字段的类型,而字段长度基本上采用默认置。而在实际项目开发中,数据项的设置应主要注意以用户的需求和满足系统要求为准,而不应设计冗余的字段;数据的类型要依据实际需求,当某些字段可以是选择某几种类型之一,应考虑哪一种更有利于本系统或哪种更易于用户操作和维护。
5.详细设计
许多同学把详细设计阶段的任务理解为代码实现,因此,在概要设计之后就着手进行代码的编写而忽略了算法的表达及测试用例的编写环节,由此造成的结果是随意编程,大量的时间浪费在程序的修改和调试上。
6.软件测试
测试做得不够全面,大部分同学只选择了有效的测试用例,而没有进行无效的测试用例的设计,因此所做的软件BUG较多。
7.团队合作
在毕业设计中,应有意识地锻炼学生们的团队协作精神,因此,在布置毕业设计题目时,应尽量选择规模大一点的题目,然后由4~5名同学共同协作,每人完成一个子题目。这样,可以使学生们分析问题和解决问题的能力、沟通和表达能力得到充分锻炼,为今后的工作奠定基础。
摘要:分析软件工程专业本科毕业设计管理中存在的主要问题,针对软件企业对软件工程专业的人才培养要求,提出软件工程专业本科毕业设计过程管理措施,强调通过建立和完善毕业设计的管理制度,加强毕业设计过程的监控;构建完善的毕业设计管理平台,提高本科毕业设计管理水平;改革毕业论文形式,建立毕业设计过程管理评价体系,提高学生工程实践能力。
关键词:软件工程;本科毕业设计;过程管理
软件学院软件工程专业的设立是国家教育部、国家发展计划委员会为满足国家软件产业发展对人才的迫切需求于2001年批准成立的。重庆大学软件学院是国家首批示范性软件学院之一,其人才培养目标是培养“面向应用、遵循标准、适应团队、把握技术、熟知领域、外语优良”的软件工程人才。10年来,软件学院十分重视软件工程专业的工程化教学改革,采取多项政策和措施促进工程型软件实用人才的培养。本科毕业设计是实现高等学校人才培养目标的重要教学环节,是培养学生创新意识和创新能力的重要手段,是理论学习与社会实践相结合的重要体现。因此,对软件工程专业本科毕业设计进行改革,培养具有工程实践能力的软件实用人才具有重要意义。
1 软件企业对软件工程专业培养人才的要求
软件产业的迅速发展对该行业从业人员提出更高要求,不仅要求学生掌握理论知识,还要求学生具备较强的工程实践能力与创新能力。国内计算机相关专业的教学基本上仍使用传统的理工科人才培养模式,注重基础理论知识,缺少对学生工程能力和职业素质的训练,因此培养既有扎实的专业基础知识和较强工程实践能力,又能迅速适应业界环境的高素质创新型软件人才,是软件企业对软件工程专业人才培养的要求。
2 目前本科毕业设计管理中存在的问题
1)毕业设计阶段缺乏全过程的管理与监控。
毕业设计全过程的管理与监控不够规范,缺乏专门的组织机构。毕业设计的一些主要环节疏于检查和监督,因此存在影响毕业设计质量的问题,如选题陈旧、重复率高、与软件产业发展需求不适合等。
教师指导水平有限且精力投入不足,同时没有对教师指导工作的有效绩效考核,使得教师对学生的毕业设计不够重视;某些学生由于有就业压力,便将主要精力放在人才市场和各类招聘会上,没有意识到毕业设计的重要性,最后只能通过拼凑和抄袭完成毕业设计。
2)毕业设计阶段缺乏规范化的指导性文件。
毕业设计工作持续时间长,涉及所有毕业生和教师,如果没有规范化的指导性文件能够让指导教师和学生了解毕业设计工作的意义、目标、计划、流程、论文规范化格式、质量评价标准、成绩考核等具体实施细则,明确自己在该项工作中扮演的角色以及整个毕业设计流程对自身承担工作的质量要求,那么很难提高毕业设计质量。
3)毕业设计文档资料缺乏有效管理。
毕业设计成果是学校的重要知识和信息资源,完善的文档资料管理有助于毕业设计工作的传承和创新。长久以来,毕业设计作品和论文主要采用人工管理。学生答辩后提交资料袋,资料袋中包括毕业设计相关文档和设计作品的刻录光盘,但由于管理人员对毕业设计资料的重视程度不够或人员不够,导致毕业设计资料管理不善,出现查询困难、答辩记录丢失等情况,为以后查阅、成果展示及下届毕业生的论文指导工作带来不便。
3 本科毕业设计管理改革措施
1)成立毕业设计管理小组。
为了加强本科毕业设计工作的组织、管理和监督,软件学院专门成立毕业设计管理小组,小组成员由教学副院长、正副系主任及学生助管组成,负责整个毕业设计过程的管理监督工作,包括从选题、审题、任务书下达到开题、中期检查、答辩、成绩评定、推优的全过程。
2)建立和完善毕业设计的管理制度。
为了提高毕业设计质量,毕业设计管理小组根据软件工程专业特点建立学院的具体工作规范和有效的毕业设计管理模式和监控制度,加强毕业设计制度建设,使得从选题、下达任务书到学生的开题报告,从每周汇报、中期检查到设计文档撰写、论文撰写、论文重复率监测、论文评阅及论文答辩,都有切实可行的实施细则及管理规章制度;构建集中管理与跟踪管理、周报提交、外出请假、抄袭检测、讲座出勤等平时成绩评定标准;完善从平时表现、系统设计实现质量、论文或设计文档质量、答辩水平等多方面衡量的客观、公正的综合成绩评定标准和推优程序。在毕业设计全过程管理中,力求做到有章可循及有据可查。
3)多元化的毕业论文形式。
多元化的毕业论文形式有利于培养大学生创新实践能力。根据软件工程专业特点,软件学院对毕业论文形式进行改革。毕业设计形式包括传统方式和新方式,学生可以选择其中一种方式,具体采用哪种方式则由指导老师负责。
传统方式是指毕业生完成开题报告并翻译一篇相关课题的英文文献,然后对软件系统进行需求分析、设计和编码实现,或者对相应算法进行研究、分析和编码实现,最后完成毕业设计论文。
为了面向软件企业需求,培养学生的软件设计能力,新方式注重提高学生的系统设计文档编写能力。毕业生前期仍然要完成开题报告、英文文献、系统分析设计和编码,最后提交系统设计相关文档。系统设计相关文档由以下文档构成:①项目开发计划;②软件需求说明;③系统设计说明;④数据库设计说明;⑤用户手册;⑥测试分析报告;⑦项目开发总结。根据软件工程学科特点及专业人才培养的要求,结合学校的毕业设计(论文)管理办法和软件设计文档国家标准,软件学院制定了符合专业人才培养目标的设计文档规范。
为提高学生科技论文写作水平和研究报告的演讲能力,软件学院面向软件工程专业所有应届毕业生,在其毕业设计阶段开设8学时的“科技论文写作规范”“研究报告演讲技巧”讲座,强调科技论文写作的规范性和可读性,锻炼学生演讲研究报告的能力。
4)加强毕业设计过程管理和监控。
毕业设计过程管理和监控面向的对象是学生和教师。软件学院毕业学生做毕业设计有不同情况,如有在校外软件公司做毕业设计的,更多的是在校内做毕业设计,因此需要有相应的不同管理模式。为加强学生培养质量和降低指导教师管理难度,软件学院提供集中管理与跟踪管理方式。
集中管理是指学院设置固定机房和机位并安排助教作为管理人员,由指导教师给学生安排机房,由管理人员负责学生的日常考勤,学生需及时向指导老师汇报学习情况,学生若有事必须请假。跟踪管理主要针对在校外进行毕业设计的学生,要求这类学生完成校外毕业设计申请,由管理小组协助指导教师对校外学生进行跟踪,为这些学生提供及时的毕业设计信息服务。这类学生必须每周与学校指导教师联系,以便教师详细了解并掌握学生毕业设计进度。这种具体的制度和规范,对在校内进行毕业设计和赴外进行毕业设计的学生进行了有效监控。
针对指导教师的管理,毕业设计管理小组采用不定期检查和周报提交的方式。毕业设计规范要求每位指导教师每周指导时间不少于2小时,指导教师需要检查学生毕业设计的进度和质量;解答学生提出的问题,进行下一阶段工作部署与指导,保证毕业设计的质量。
不定期检查指毕业设计管理小组根据指导教师在毕业设计系统中登记的指导时间和地点,不定期对教师的指导情况进行检查。周报提交是指学院建立的毕业设计定期报告制度,教师和学生每周均需要将周报提交到系统上,教师主要汇报每周对学生指导情况以及学生毕业设计进度和质量,学生主要汇报每周的毕业设计进度、毕业设计遇到的问题等。毕业设计管理小组每周对周报进行汇总分析并,及时了解毕业设计情况,对学生和教师提出的问题进行统一解答。
5)构建完善的毕业设计管理平台。
充分利用计算机技术,构建完善的毕业设计管理平台,提高毕业设计管理水平,使毕业设计管理更加规范化。软件学院在毕业设计过程中使用的管理系统包括:重庆大学本科毕业设计系统、重庆大学网络教学综合系统、重庆大学软件学院软件工程实践教学平台。
重庆大学本科毕业设计系统用来上传和管理毕业设计相关文档。系统涵盖毕业设计工作的全过程,实现选题提交、课题双向选择、毕业设计相关文档(包括开题报告、外文翻译和毕业论文)的提交与管理、文档模板的上传和下载、毕业答辩的自动分组、指导教师和交叉教师评分、答辩记录和成绩的上传、成绩册的打印、毕业成绩的统计分析等功能。
重庆大学网络教学综合系统。用于毕业设计的过程管理,主要进行信息、周报收集、校外学生实习申请、过程检查情况公告、问卷调查、学生成果提交和查询等。
重庆大学软件学院软件工程实践教学平台是软件人才培养创新平台,提供实践教学成果展示、实践案例资源库与实践教学管理功能。利用该平台可以举办毕业设计优秀作品展,展示软件学院学生的专业学习水平,激发学生的实践热情,对下一届学生起到示范作用。平台实践案例资源库可为学生提供实践学习参考资源,为教师提供实践教学案例素材。
6)建立毕业设计过程管理评价体系。
建立毕业设计过程管理评价体系,要求所有
一学生和指导老师每周都要将周报提交到EOL(重庆大学网络教学综合平台)平台。毕业设计管理小组每周对毕业设计情况进行检查和监督,并将检查情况告知所有指导老师。指导老师每周提交周报次数与毕业设计指导工作量挂钩;学生考勤情况、周报提交情况、平时检查情况会被记入平时成绩,平时成绩不合格将被取消答辩资格。
软件学院强调学生在毕业设计期间一定要进行软件系统设计和实现,毕业答辩包括系统演示、用PPT讲解毕业设计主要工作、答辩教师提问等多环节,答辩老师根据学生工作量、完成质量、论文或设计文档质量、答辩情况进行评分。学生毕业设计的最终成绩由平时成绩、指导教师成绩、交叉评阅成绩和答辩成绩构成,以保证评分的公平性。
7)加强诚信机制建设
为了提高本科毕业设计质量,加强学术道德和学风建设,营造学术诚信氛围,软件学院使用“大学生论文抄袭检测系统”对本科毕业论文进行防抄袭检测。抽检比例为应届毕业论文的50%,抽检名单由毕业论文管理系统随机抽取。另外,各答辩小组推荐的优秀毕业论文为必检对象。
软件学院制定论文抄袭的认定标准(建议文字复制比不超过25%)和处理办法,对有问题的论文,责成指导教师对检测结果予以认定和说明或督促学生修改,取消被认定抄袭论文学生的答辩资格;对各答辩小组推荐的优秀毕业论文进行,不合格的论文取消优秀。
4 结语
培养适应我国软件产业发展的软件工程人才,提高软件工程本科毕业设计质量,毕业设计的改革势在必行。通过2届学生的毕业设计改革证明,建立和完善毕业设计的管理制度,加强毕业设计过程的监控,充分利用毕业设计管理平台,实现多元化的毕业论文形式,建立合理的毕业设计过程管理评价体系,加强诚信机制建设,能极大地促进师生在毕业设计过程中投入热情和精力,提高本科毕业设计管理水平,有效保证毕业设计质量。
[摘要]该文结合实际指导计算机专业毕业设计过程中的体会,提出如何利用Ant工具软件来为软件开发型毕业设计服务,以提高学生的实际动手能力。
[关键词]Ant 计算机 毕业设计
一、计算机专业毕业设计的性质
计算机专业毕业设计工作是高等院校计算机人才培养计划的重要组成部分,是对学生专业知识、综合素质和实际能力训练的重要阶段,是人才培养质量的重要体现,是学生学习、研究与实践成果的全面总结。
二、软件开发型毕业设计中存在的问题
计算机专业的毕业设计主要分为软件开发型毕业设计和基础研究型毕业设计两种类型,本文探讨的是第一种类型。在软件开发型毕业设计答辩过程中,学生需要结合自己的设计实现来讲述设计实现思路及过程,这要求学生需提前部署好自己的软件作品,而答辩时所用计算机一般而言是由答辩单位提供的,只具备软件的运行环境并不负责安装相应的集成开发工具,而学生平时主要是利用集成开发工具来进行开发,一旦脱离了开发工具往往不知所措,这就违背了毕业设计的宗旨。
三、Ant在软件开发型毕业设计中的应用
Ant是一款软件项目构建工具软件,能够让我们采用定制的方式对开发出来的项目进行编译、打包和测试,更重要的是这些工作可以脱离具体的开发工具来进行,这非常适合在毕业答辩时缺少开发工具的情况下进行应急处理。下面利用一个Java类毕业设计项目为例简述Ant的具体应用。
1.安装Ant软件
到Ant的官方网站下载最新版的Ant二进制版本,它是一个扩展名为zip的文件,本文使用的是Ant 1.8版。下载后解压到某个文件夹中,例如c:\\ant_1.8,并创建一个名为ANT_HOME的环境变量,变量值设为刚才解压到的目的文件夹名,本例中即为c:\\ant_1.8(后面用%ANT_HOME%指代该文件夹),同时将%ANT_HOME%/bin文件夹加入到Path环境变量中。以上步骤需要提前安装配置好JDK环境后再进行,JDK环境安装配置在这里略过。
2.创建构建文件
构建文件相当于一个计划书,整个构建活动是严格按照构建文件的内容来进行的,所以构建文件的创建是整个构建活动的核心。构建文件是XML类型的,这不仅是因为该类型是一种通用的描述语言,更主要的是Java中提供了相当丰富的操作XML类型文件的API。创建的构建文件最好命名为build.xml,并将该文件放入工程所在文件夹中。下面阐述一下构建文件的书写规则。
首先,在构建文件中创建一个工程标签用来标识该构建项目,例如本文中构建的项目名称是TankWar ,则创建标签,其中name属性代表的就是项目名称;default指的是要执行的目标名称,所谓的目标就是要完成的任务,在这里任务名为compile,这个任务的定义在后面会有说明;basedir代表工程的根文件夹,一般设为.即当前文件夹即可。
其次,定义属性标签,定义属性其实就是定义在构建文件中要使用的变量,例如该项目要构建的项目源码位于src文件夹中,构建后的文件保存到build/class文件夹中,这时我们就可以定义“src.dir”和“build.class”两个属性变量来指代这两个文件夹,以后假设更改了文件夹名只需修改属性名即可,对应的标签如下所示:
上面${ }中括起来的是已定义的属性名,该使用方式相当于引用变量。
然后创建目标标签,目标即我们要执行的具体任务,一个工程中可以包含多个任务。假设我们执行三项任务分别是创建文件夹、清除文件夹中已有内容及编译源代码,则定义的标签如下所示:
创建文件夹
清除文件夹中已有内容
编译源代码
//name属性所指明的任务即是前面工程标签中default属性的设定值,depends属性指明一种依赖关系,表示此任务必须等待第一个任务完成后才能进行。
3.运行Ant
在命令提示符下输入ant,系统将自动执行build.xml构建文件并完成构建文件中所定义的任务。
四、总结
以上是利用Ant工具软件在软件开发型毕业设计中的应用实例,除了在Java开发平台中有Ant工具外,另一个重要的开发平台,Net平台也有相应Ant工具。由于学生在利用Ant进行软件构建时是脱离了软件开发工具的帮助,所以需要了解更多深层的知识,这无形之中也加深了学生对软件开发型毕业设计的理解,同时在配置Ant环境时需要自己不断地尝试,也锻炼了学生的动手能力,因此将Ant应用到软件开发型毕业设计中对于学生而言是非常有益的。
提要毕业设计是高职计算机软件专业培养就业型高技能“蓝领”人才的关键环节之一。本文就毕业设计的选题、毕业设计的管理、毕业设计各环节的把握等方面,探讨如何加强和改进高职院校计算机软件专业的毕业设计,以培养出社会所需的计算机软件开发高技能型人才。
关键词:高职院校;毕业设计;软件开发
毕业设计是高职学生由在校学习到参加工作之间的、十分关键的综合教学环节,是毕业前的一次重要的系统实践训练,也是对高职院校的教学管理、师资水平和学生综合素质的集中体现和检验。这个环节把握得好,对学生就业有很大的帮助。实践证明,毕业设计是计算机软件各相关专业理论教学、实验、实训等有机结合的最佳途径之一。笔者多年来一直从事高职计算机软件专业的毕业设计指导工作,经过长期的实践和探索,同时吸取他人经验,对毕业设计工作有如下的认识。
一、毕业设计的选题
选题是毕业设计的第一步,也是非常重要的一步,包括教师选题和学生自选题两种。高职计算机软件专业实现毕业设计的途径和空间是多种多样的,只要有研究开发的环境即可。可以在学校内部组织开展,也可以走出去,到企业、到社会中去完成。例如,校企合作、产学研结合是高职毕业设计实现开放性的有效途径。一是学生到企业、公司实际工作中去,运用所学知识和单位的短期培养,按规定格式和要求写出总结报告或毕业论文,或在参与实际项目设计中完成设计,采取校内指导老师和企业指导人员共同指导学生的毕业设计,在我院的软件专业这种形式的设计占到了近1/3;二是充分挖掘校内资源,寻求多种途径开展毕业设计。例如,参与教师的科研项目,承担部分任务;主动与学校各部门联系,帮助设计各种中小型信息管理系统,如学生档案管理系统、教务管理系统、后勤水电管理系统、学校图书管理系统等,由各部门根据使用情况进行评价。
选题时的原则主要有:(1)符合专业或大类培养目标、满足教学基本要求,使学生得到比较全面的训练,要尽可能进行有软件工程背景的毕业设计;(2)应尽可能结合生产、科研和实验室建设的实际任务,促进教学、科研和生产进行选题。也可是模拟真实的软件项目课题;(3)应有一定的深度与宽度,工作量饱满,使学生在规定的时间内经过努力能按时完成,并鼓励学生有所创造;(4)毕业设计的选题应面对学院的实际情况,从培养目标出发,充分利用学院的计算机资源和人力资源,力求实现学生掌握知识的实际水平与市场经济的需求相符合。
二、毕业设计的管理
要完成高水平的毕业设计,除了要求毕业设计指导教师提供的选题应是新颖的、实用的、能适合当前社会的市场需求的外,还必须要有严格的毕业设计管理制度相匹配。
1、学生毕业前的上一个学期末,确定指导教师,并进行毕业设计动员。有关教师提供指定格式的、“毕业设计(论文)选题报告”、“毕业设计(论文)自选题目申请书”、“毕业设计(论文)格式、书写规范”等表格供学生填写或参考,其内容包括毕业设计的选题来源、要实施的技术方案、要完成的研究工作、需配备的硬件和软件环境、需要的资金等。其中,还给出近三届本专业学生做过的论文题目,防止重复或抄袭。表格填写后交由教研室集体讨论并提出修改意见,然后由计算机系部与有关指导教师统一审批。再将所有选题和指导教师名单提供给学生,由学生和指导教师进行双向选择,有关部门根据选择情况做适当调整后公布指导教师及学生的对应名单。
2、经统一审查后,指导教师给每一个学生下达“毕业设计(论文)任务书”。指导教师与学生见面时,要针对任务书向学生讲解课题目标、实施方案、需要收集的参考书目、需要自学的内容及应做社会实践活动等,并向学生提供相关网站,让学生自己上网学习有关预备知识。
3、指导教师根据系部的统一安排向学生提供“毕业设计工作进程安排表”。该表包括在毕业设计过程中,安排对学生完成毕业设计需补充的专业知识讲座的内容与时间、上机时间、教师辅导时间、检查时间、完成每一设计步骤的进度要求、毕业设计说明书初稿上交和举行毕业答辩的时间等。学生应根据毕业设计任务书的要求,在毕业设计工作开始一周内写出开题报告,内容主要包括:资料准备情况、设计的思路与期望成果、目标任务的分解、各阶段完成的内容计划等,交由指导教师审查后,再按计划开始设计。毕业设计的时间一般在12周左右。
三、毕业设计过程中的几个重点环节
1、资料查询和实地调查。任何一个课题都是有学科基础或技术基础的。学生在做毕业设计开始,通过进行资料查询,可以了解本选题在相应学科领域中的发展进程和研究方向,特别是近年来的发展趋势和最新成果,然后准备与该题目相关的参考资料。通过与对资料研究成果的比较说明自己的选题是符合当前的研究方向,或是否采用了当前的最新技术并有所改进,以进一步了解选题的意义。值得注意的是,要做好毕业设计,必须阅读一定量的近期中、外文资料,这不仅反映学生的外文阅读能力,而且有助于设计的先进性。高职学生在毕业设计之前进行必要的社会调查,是了解和加深题目理解的另一重要途径。以《企业仓储管理信息系统》这个题目为例,学生可以到实习工厂、中小企业等场所进行实地考察、了解管理信息系统的实际应用状况,通过系统现象的感性认识,逆向推测如何进行模块设计才能实现这些功能。另外,网络查询也是学习、资料查询的重要方式。指导教师要让学生按毕业设计任务书要求深入地了解本毕业设计课题,准备资料,写出文献综述并完成初步的外文翻译任务。
2、制定和论证技术方案。明确所要解决的问题后,就要提出自己解决问题的思路和方案。包括一般的程序设计、数据库设计和网站建设等,应选定编程语言、根据目标提出总体模块设计图、流程草图等,通过比较表明自己方案的价值、方案的创新之处或有新意的思路、算法和关键技术。学生阐述自己的设计方案时,要说明为什么要选择该方案,如何进一步优化数据,不足之处如何得到克服,最后完成的工作具有什么样的性能或达到什么样的水平。
3、充分发挥教师在毕业设计中的引导、辅导作用。教师在整个毕业设计工作中应该起到引导、辅导交流的作用,激励学生有足够的信心完成毕业设计工作,鼓励学生突破旧系统,展开思维的翅膀,尝试别人没有想过或没有做过的工作,注意对学生创新思维的培养。在毕业设计过程中,指导教师布置任务后,要进行具体指导和及时检查。指导教师要注重针对性与适用性,力争使毕业设计内容与学生毕业后所从事的技术岗位对口,使人才培养目标与社会的需求相一致。
4、毕业设计的先期总结和答辩准备。在毕业设计的后期,指导教师应及时进行总结,针对每个成员指出毕业设计过程中的改进之处,提出后期需要进行工作的重点和方向。并发放统一格式的编制设计说明书的有关文档,如毕业设计说明书的装订顺序、目录和正文的格式要求及正文基本结构及毕业答辩应当做的准备工作。指导教师检查资料是否齐全、是否符合规范要求、程序运行有无缺陷及答辩时要注意的问题等,然后做最后的答辩准备。毕业设计答辩开始前三天,学生需上交毕业设计的相关文档和程序资料。文档部分按规定格式装订成册,供答辩委员评阅。
5、毕业答辩、成绩评定。毕业答辩评分要做到客观、公正、公平。人员除本院教师外还聘请企业项目开发人员参与评阅和答辩工作。答辩分数可分为自述、回答问题、论文内容三部分。最后,通过答辩委员会及各位指导教师统一讨论,得出学生的答辩成绩。答辩后,答辩委员会及时总结答辩中遇到的问题,并组织部分同学参加座谈会,了解学生对毕业设计的反馈意见,以备下一届进行设计时加以改进。
四、结束语
高职学生理论基础相对较弱,但实际动手能力并不差。毕业设计给了他们一个良好的提升能力的机会。毕业
设计多选择一些项目单位的实际软件项目,让学生到公司、企业这些项目实际场合进行毕业设计,最好是在生产实际中选择那些真刀真枪的设计题目。经过我院近四届高职计算机软件专业毕业生采取以上方法和环节进行毕业设计实践,已取得较好的效果,学生适应性和实际能力有了很大提高。但也存在不完善的地方,只有通过不断地实践、研究、总结和改进方法,不断地进行毕业设计教学的改革,为培养出计算机软件专业应用型的高技能人才做贡献。
(作者单位:大连水产学院职业技术学院)