三、研究方案(主要研究内容、目标,研究方法、进度)
主要内容:支持企业实现规范化的管理,支持企业高效率完成劳动人事管理的日常业务,包括新员工加入时认识档案的建立,老员工转出、辞职、退休等。目标:实现企业员工工资管理的系统化、规范化和自动化。
五、导师对文献综述的评语
2存在的问题
3采取的对策
一、引言
针对上述问题,笔者认为,除了应当从管理角度严格进行过程监控外,还应当使学生通过《软件工程》课程的学习,提高毕业设计的质量。
二、软件生命周期与毕业设计过程的对应关系
软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程称为软件的生命周期。软件生命周期可以划分成若干个时期与阶段,它与毕业设计各个环节的对应关系如图1所示。
三、软件生存周期各阶段应完成的任务
1.可行性研究与计划阶段、需求分析阶段
可行性研究与计划阶段主要完成问题的定义、可行性论证以及初步计划的制定;需求分析阶段主要完成需求调查,进行功能、性能与环境约束分析;编制软件需求规格说明、制定软件系统的确认测试准则和用户手册概要。这两个阶段对应于毕业设计的课题论证、选题、调研、查资料,通过对设计题目的深刻理解,完成开题报告的撰写工作。
2.概要设计阶段和详细设计阶段
概要设计阶段主要完成软件系统总体结构的建立、定义功能模块的接口、设计全局数据库和数据结构、规定设计约束、编制概要设计文档等工作;详细设计阶段主要完成模块详细设计及编制模块的详细规格说明工作。包括模块的详细功能、算法、数据结构和模块间的接口信息等设计,拟定模块测试方案;把模块详细设计的结果汇总,形成模块详细规格说明书。这两个阶段对应于毕业设计的系统设计阶段。
3.实现阶段与组装测试阶段
实现阶段主要完成编码及单元测试工作。根据模块详细规格说明书,将详细设计转化为程序代码、对模块程序进行测试,验证模块功能及接口与详细设计文档的一致性,并形成单元测试报告;组装测试阶段主要完成模块程序组装与测试及组装测试报告的编写。
4.确认测试阶段
该阶段主要完成软件系统测试、确认测试文档编制及软件评审工作。根据软件需求规格说明定义的全部功能和性能要求及软件确认测试准则对软件系统进行总测试;向用户提供以确认测试报告为主的有关文档,包括系统操作手册、源程序清单和项目开发总结报告等;由专家、用户、软件开发人员组成的软件评审小组对软件确认报告、测试结果和软件进行评审,并将得到确认的软件产品交付用户使用。这个阶段主要对应于毕业设计(论文)中的论文评审、结题验收及毕业设计的答辨准备阶段。
5.软件运行与维护阶段
主要进入软件的使用阶段,并完成软件的维护工作。它主要对应于毕业设计中的答辩阶段。
四、毕业设计应注意的几个问题
1.摘要
2.关键词
关键词主要用于论文检索,它是从论文的题名、摘要和正文中选出的,是对表述论文的中心内容有实质意义的词汇,关键词一般以3~5个为宜。
3.结论
结论写作的内容应主要考虑本文研究结果是什么?研究结果说明了什么?对前人有关的看法作了哪些修正、补充、发展、证实或否定?本文研究的不足之处或遗留未予解决的问题以及对解决这些问题的可能的关键点和方向等。结论应该准确、完整、明确、精练。
4.需求分析
在毕业设计中,学生往往不能对所做题目进行充分的调研,需求不明确,随意想象的成分较多。特别是在数据表的建立上,大部分同学随意设置字段的类型,而字段长度基本上采用默认置。而在实际项目开发中,数据项的设置应主要注意以用户的需求和满足系统要求为准,而不应设计冗余的字段;数据的类型要依据实际需求,当某些字段可以是选择某几种类型之一,应考虑哪一种更有利于本系统或哪种更易于用户操作和维护。
5.详细设计
6.软件测试
测试做得不够全面,大部分同学只选择了有效的测试用例,而没有进行无效的测试用例的设计,因此所做的软件BUG较多。
7.团队合作
在毕业设计中,应有意识地锻炼学生们的团队协作精神,因此,在布置毕业设计题目时,应尽量选择规模大一点的题目,然后由4~5名同学共同协作,每人完成一个子题目。这样,可以使学生们分析问题和解决问题的能力、沟通和表达能力得到充分锻炼,为今后的工作奠定基础。
参考文献:
二、教学现状
三、改革思路
参考文献
[1]张海藩.软件工程导论(第5版)[M].北京:清华大学出版社,2018.2
作者简介:许永昌(1976-),男,山东安丘人,硕士,山东英才学院计算机学院讲师,研究方向为计算机应用。
0引言
毕业设计是高等院校应届类毕业生在毕业前接受课题型任务,在教师指导下进行科学研究或工程实践并取得成果的过程,是高校实现人才培养目标的综合性实践教学环节,是一次理论与实践相结合的的锻炼机会。如何在新形势下改革毕业设计,提高学生软件类毕业设计的质量,进一步规范毕业设计中的软件开发过程,抓好高校毕业设计这一实践环节,加强对毕业设计过程的管理与监控,切实提高毕业设计的质量,对于软件类学生在毕业设计中实施合适的软件设计具有重的指导意义。
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]马冬来,宋雨,刘海龙.软件工程思想在高职院校毕业设计中的应用与探索[J].河北软件职业技术学院学报,2008(3).
[2]李国彬,沈淑清.浅谈软件工程学在软件类学生毕业设计中的应用[J].计算机教育,2007(6).
[3]张文静,卢海霞,杨捧.软件工程思想在毕业设计环节中的应用[J].河北农业大学学报(农林教育版),2007(4).
自21世纪高等教育改革以来,全国各高校招生规模不断扩大,导致毕业生数量也相应大规模增加,给高校学生的求职择业带来了严峻的考验。为了可以跟上时代的步伐,为求职带来一些实际项目经验,计算机专业越来越多学生选取了软件开发作为毕业设计课题。然而,在各高校实际当中,本科毕业设计质量已经下降,软件开发类论文与实际完全脱节,归根结底是没有一个可以从头到尾指导学生进行软件开发的学习模式,主要存在下面几个不足之处。
1.1学生问题
1.2学校问题
1.3教师问题
大部分教师没有项目开发实际经验,只知道软件设计理论基础,不能全方位地指导学生,更加无法让学生能够主动积极地学习,成为毕业论文水平不高的原因之一。
2CDIO教育模式
3基于CDIO模式的计算机软件开发类毕业设计
3.1构思阶段
3.2设计阶段
3.3实现阶段
3.4运作阶段
根据前期产生的开题报告、需求分析、数据库设计、概要设计、详细设计、编程规范、测试等文档和开发好的软件系统撰写毕业论文,并参与论文答辩,是学生毕业论文的总结阶段,不仅着重体现学生的写作水平,更能了解学生对软件的学习情况,是分值比重最大的一部分。最后,将所有文档和论文、答辩情况一起评分,获得毕业论文成绩。
中图分类号:G420文献标识码:A
QualityAssuranceandMonitoringSystemBuildingof
ComputerGraduationDesign
LIXiaoyan,QIANXiaohong,LINGWei
(HuaxiaCollege,WuhanUniversityofTechnology,Wuhan,Hubei430223)
AbstractGraduationProject(Thesis)Universitytrainingprogramisthelastmajorcomprehensiveteaching,istoachievetheteaching,research,socialpractice,acombinationpoint,istotrainstudentsandtodeepenthecomprehensiveuseofbasictheoryandprofessionalknowledgeandbasicskills,independentanalysisandtheabilitytosolvepracticalengineeringproblems,toadaptthekeytofuturework.Thispaperanalyzestherecentyearsledtoourundergraduategraduation(thesis)oftheobjectivefactorsandthedecliningqualityofmanagementshortcomings,proposedtheestablishmentofuniversitygraduate(Thesis)teachingqualitymanagementsystemapproach.
Keywordsgraduationdesign;qualityassuranceandmonitoring
本科毕业论文(设计)是普通高校本科教学工作的重要环节,是培养学生综合运用知识和技能去分析、研究、解决问题的重要教学形式,同时也是本科学生在完成教学计划规定的全部课程学习后所必须进行的工程实践教学中最重要的实践教学环节,其目的是要在前面一系列实践教学的基础上,加强对学生分析研究能力培养的教学要求,进一步培养学生严谨的科学态度,以提高学生对未来工作的适应能力。
1目前毕业设计存在的问题
毕业设计是学生从学校阶段走向实际工作前的最好的锻炼机会。毕业设计质量的高低在一定程度上也是高校教育质量的直接反映。无论对学生还是对学校而言,毕业设计都是一个不可缺少、无比重要的教学环节。如何更好地发挥这一环节的作用,多年来一直是高校教学改革的重要研究内容之一。现今毕业设计教学主要存在以下不利因素:
(3)传统的毕业设计过程管理模式不能适应现时代的要求。进入新世纪以来,随着学生就业机制的转变,企经济体制的转型和高校扩招等因素的影响,很多高校都开始积极探索分散式毕业实习与设计一体化的教学方法,在加强实习教学环节建设的同时扩大了毕业生就业渠道。
②工程实践教学管理不足。实践教学包括课程实验、课程设计、毕业设计和专业实习等过程,但是实践环节零散化,分离化,造成的每门课程完成自己的教学任务和实践任务,却忽略了前导课程知识的运用以及对后续课程的影响。
2提高毕业设计质量的途径和方法
2.1化整为零:刚性的教学要求,柔性的安排
毕业设计虽然在最后一个学期进行,但是所应用的知识分布需要在前面7个学期完成,所以我们需要将各类的毕业设计所需要的学科知识模块化,分散到7个学期的教学过程中。
(2)毕业选题的个性化,生活化。在毕业设计中学生的态度、学生的自觉性和主动性等都对毕业设计质量有着重要的影响。由于学生的兴趣、爱好不同,学生的素质差异较大,这就要求在进行毕业设计选题时应结合学生本人的情况及其就业取向,启发和鼓励学生按照自己的个性和特长来选择毕业设计题型。只有这样,才能充分发挥学生的主观能动性,才能真正使其与就业结合起来,最大限度地激发学生的积极性和创造力。
(3)毕业选题的宽泛化。毕业选题的提前进行,只能将选题限定在比较宽泛的类型中,过于细化的选题将不利于学生长期的发展。
2.2积零为整:实践教学连贯化
毕业设计与专业课结合,除了将毕业设计模块化,分散到各个学期的基础课程的训练外,我们还需要保证这些基础课程训练的一致性和连贯性。
(1)实践教学管理的全程化。实践体系包括课程实验、课程设计、毕业设计和专业实习四大类,还有课外和社会实践活动,对这些实践教学进行全程化的监控和管理,保留每门课程的设计成果和文档信息,以方便进行毕业设计的时候积零为整。
(2)实践教学管理的透明化。实践环节不是零散的一些教学单元,不同专业方向需要根据自身的特点从培养创新意识、工程意识、工程兴趣、工程能力以及社会实践能力出发,对实验、实习、课程设计、毕业设计等实践性教学环节进行整体、系统的优化设计和管理,明确各实践教学环节在总体培养目标中的作用,把基础教育阶段和专业教育阶段的实践教学有机衔接,使实践能力的训练构成一个体系,与理论课程有机结合,贯彻于人才培养的全过程。
将零散的教学单元整体化,形成体系,至少每门课程的老师可以清楚的看到前导课程中学生完成的实践内容,实践的过程,实践的成果,以及本次课程要达到的目标,以便循序渐进的完成实践教学。
2.3毕业论文规范化的训练从第一份实践文档规范开始
毕业论文(设计)基础训练课程(例如文献检索课程,写作基础知识)等从学生进行第一份实践文档的撰写就开始规范。
3以软件工程专业的毕业设计为例
软件工程专业的毕业设计通常以MIS系统的开发为主,而计算机专业课程的知识如计算机基础,算法,数据结构,计算机网络技术,程序设计,软件工程,数据库原理等是使学生具备最新信息技术规划设计和运用能力的基础。如何在这些课程的教学和实践过程中通过化整为零和集零为整的方法来提高毕业设计的质量就是我们考虑的重点。
(1)化整为零:刚性的教学要求,柔性的安排。
②毕业选题的个性化,生活化:毕业设计选题与时代紧密结合,以可以体会和感知的题目为引导方向:譬如银行信息管理系统,学生信息管理系统,学校餐厅账务管理系统等等,让学生在生活中体会,思考,并逐步走上开发的道路。
(2)积零为整:实践教学连贯化。
毕业设计虽然在最后一个学期进行,但是所应用的计算机专业知识的学习则在前面7个学期完成,这7个学期的教学和实践将为毕业设计奠定坚实的基础。
②实践教学管理的透明化。如前面表述,数据库原理的时候,学生设计餐厅账务管理系统的数据库;学习高级语言程序设计的过程中,引导学生在已经完成的数据库设计的基础上进行界面的设计和数据库的连接,将前导和后续的知识环节衔接起来形成完整的管理系统,即有利于前导知识的巩固,又有利于学生学习计算机信心的培养。
(3)从第一份实践文档规范开始进行毕业论文规范化的训练。
4小结
采用化整为零的办法可以让学生在学习过程中有明确的目标,采用集零为整的方法可以让学生在学习过程中将知识融会贯通,最后的毕业设计就只是前面知识的一次融合和再次巩固,降低了毕业设计的难度并且能确保毕业设计质量的提升。
[1]钱炜,姚俭,徐琳,沈越贞.完善规范管理提高教学质量[J].上海理工大学学报(社会科学版),2004.3.26(1):18-22.
[2]陈金忠,梁军录,杨丽君,王春生.理工科大学生毕业论文(设计)教学环节的现状与思考[J].实验技术与管理,2010.9.27(9):130-132.
[3]董康军,王菊霞.本科毕业论文(设计)在教学管理过程中存在的问题及建议[J].硅谷,2009(10):114-115.
中图分类号:G642文献标识码:B
对学位教育而言,毕业设计(论文)是对学生数年所学知识的一次检阅,以某个问题的解决为依托,表现作者的能力和水平(包括知识、技术和写作表达水平)。一般按所在专业职场选题,以本专业术语、概念、方法陈述问题的解,并论证本解决方案可行和结论的正确。最重要的是突出本文的创新。因为论文是给人看的,是对本论题的新做法、新理解,或新结论。哪怕是只有一点点参考价值,也是论文的价值所在,属作者的知识产权。通篇无创新的论文是毫无意义的。软件学院软件工程硕士培养目标是面向国民经济信息化建设和发展需要、面向企事业单位对各类软件工程人才需求,培养高层次实用型、复合型软件工程人才,自然撰写工程报告型论文居多。本文拟为软件学院作工程型毕业论文的学生提出一些参考意见。
1工程报告型论文
众所周知,毕业论文有理论型、研究型和工程型三种类型。软件学院的工程硕士按现有的培养方案,至少要有一年的企业工程实践,结合工作选作工程型课题是很自然的,但不等于说只限于工程型。比如该企业研究所作一探索型的原型开发,那么就要作研究型的课题。甚至为了原理和方法的完备要作理论型课题。之所以分为三种类型是论文的内容结构形式不一样。
理论型课题在于创新性和严谨性,在设定的前提与假设下证明所提出的原理、方法的正确性。即前提加规则可导出结论,并给出数学或形式证明,或给出实例验证的数据和图表。因数学和形式证明不强调实例的完备性和实用性,故比验证更具普适性。
研究型课题是新原理、新方法的首次应用,以及对实践结果(工程原型)作出评价。只求研究点的完整正确,不求实用,是理论到实践的实施过程,不像理论型只注重结果,而是过程和结果均重要。
工程型论文一般以工程制作(最常见为工程项目)为背景,是已有原理、方法、技术在目标系统上的综合实现。如果是前所未有的综合实现,也属创新。创新可以在实现过程上,也可以在过程某些环节的技术层面上,如同样采用新的调试方法,同样功能设计新算法等。总之,不能和相同类型的论文雷同(因为采用的技术步骤相差无几),要有自己特色。工程型论文要求论文系统完整(在概念上的,而非完整文档,如三个相似模块均要提到,但只详述其中一个),所述的背景项目是可实用的,是本人在工程实践中的总结和提高。论述的重点可以是工程过程改进、工厂技术改进、管理完善、社会效益等,非常重视验证数据和量化指标,如测试用例15组等。
软件学院的软件工程硕士培养目标强调实用型人才,所以论文选题以工程型为主,但不等于只作工程型选题,因为科学技术的发展,都是在解决工程实践中的难题,也因此才有原型研究,才有理论探索,所以在工程型论文中嵌入小型算法推导、部分原型研制也是极其自然的。
2常见的困惑
尽管大家对论文撰写的基本要求比较了解,但在实际撰写中经常会碰到许多困惑,归结起来可以分为论文层次、内容、与工作的关系、读者层次把握几个方面,下面谈谈我们对这些问题的认识。
2.1论文是对工作的总结和提高
一年工作下来有许多体会,实际工作有的写了不少代码,有的写了不少文档,有的代码文档都很少,讨论方案、协调需求居多,要写出相对完整的论文不知从何下手。
论文不是工作汇报
论文要反映学术价值,不反映劳动价值
毕业论文属学术论文范畴,你开发数万行代码,加了不少班,在极不理想环境下完成了任务,但原理方法都很一般,说不出什么,怎么写只谈“功劳”,不谈“苦劳”,最多只能在行文中说明本项目工作量不小,影响或学术成果更高。把重点放在你对问题的分析上,解决同样的问题有很多种方法,要有针对性地分析这些方法的优势与不足,说明你采用某种方法的理由。
2.2论文要有中心论点
反问一下,这篇论文到底要突出什么问题工程报告类论文仍然是论文,因此要有中心论点。在撰写中需要注意几个问题:一是与工程文档的区别,文档更注重结论的陈述,要求全面翔实。论文强调结论的导出过程,要充分突出“论”字。二是不同于一般的报告,论述、评价要客观,实事求是,切忌夸大的商业用语。切忌为了表现水平抄一些与本主题无关的功能、性能和用途。
在说明自己论点正确时,所用术语不能错,要掌握本课题当前发展方向,要站在正确的立场谈过时的技术,因为每种软件技术都只能在限定的条件下起作用。因此,大量抄录,没有观点、论点的论文不是好论文。
论文中应明确表述:在什么背景下,讨论什么问题,范围如何限定。本文要讨论的问题当前非研究解决不可的理由,国内外解决此问题的途经,本文将采取什么途经对于首次应用于我国某行业的成熟技术论述的重点在具体实现上,对于非首次实现的技术应该明确给出被采用的理由,如出于成本考虑,或某项性能考虑等。
2.3论文面向的读者是本专业研究生层次
论文强调逻辑性,工程课题强调概念动作要以业务动作导出各项需求,要求什么技术,相互为何关联,需要什么样的基础设施支持,象讲故事一样谈原理和机制。尽量不要指定关键、重点,而是在行文中突出重点,所以每章小结可以起到画龙点睛作用,不怕重复。不要以为自己知道的别人一定知道。论文的读者水平应设定为与你具有同样研究生水平,但不做你这个课题的人,所以有些概念术语要介绍。高水平的几句话就可说明,难度大的要讲详细,切忌忽高忽低。还要避免大段代码、图或表的堆砌问题。
3论文的形式结构
学习过软件工程,软件学院的工程型论文最好写,基本上按背景项目的工程过程写。下面谈谈如何撰写以“×××系统的设计与实现”为题的工程报告类论文。这类论文是以解决实际应用问题为驱动力,因此,建议论文结构包括绪论、系统需求分析、系统解决方案、系统详细设计与实现、系统测试与部署、总结与展望几个部分。
第一部分主要是交待背景,明确待建系统目标。第二部分则要描述具体要解决的问题,即系统需求分析。需求分析中最好首先对待建系统所承载的业务进行概述,使读者尽快进入业务语境。业务概述中应重点描述当前阻碍业务发展的主要问题,它们也是待建系统需要重点解决的问题,为后续的功能需求和非功能需求分析做铺垫。这部分要把系统的关键需求谈透,以便后续章节可以集中精力论述设计与实现方案的探讨。
论文的第三部分是系统解决方案。这部分最好从需求分析中提出的关键问题入手,逐一探讨对系统影响面大,或技术实现风险大,或涉及用户商业决策等的问题,给出针对本系统的最佳解决策略,然后汇总成系统总体架构,最后给出系统的模块划分。
如果本项目采用的是新技术,新规范,新平台工具或部分新原理,则在需求分析前后,开辟一章介绍这个新技术、新规范、新平台工具、新原理,如软件Apach刚出,第一次采用Vista操作系统等,并作为本论文的重要技术内容。
论文第四部分是系统的详细设计与实现。论文只谈工程实现中有特点的子系统/模块,如果一点儿特色没有,谁来都会这么干,就笼统论述有多少模块/对象,用什么工具开发,要什么支持,怎样集成的。如果有必要写,则重点讨论某些有代表性的重要模块的详细设计与实现思路。如具体算法复杂,或技术实现难度大、工作量大等,对于实现情况类似的模块则一带而过(这也是文档与论文的区别)。
论文第五部分是系统测试与部署。该部分应针对待建系统特点有针对性地提出测试部分需要重点验证与确认的主要需求指标,并选择具体的测试策略和测试过程。讨论系统部署中需要注意的问题。最后给出系统的总体评价。在此部分需要注意的是,该部分是对需求分析部分提出的要求回应做得如何的直接体现。因为是以解决实际问题为驱动力,因此做的结果非常重要,如果没有这部分,论文的实际意义就不存在了。
论文的第六部分是总结与展望,主要是在总结成绩的情况下,谈谈以后如何克服不足。最好首先总结自己的论文工作及后续的改进,然后抒发较理想的结果(从工程技术角度)。
上述论文结构对大家并不陌生,但能写好的关键是在全篇中都以解决实际问题为源动力,所有技术、方案的优劣都以是否在组织现有资源可承受的范围内提出最适合的解决方案为目标,这实质就是在贯彻软件工程的思想。
4结束语
对于软件工程硕士研究生来说,作为基本要求“能干活”,都能达到,但能干活的同时又能写出好论文的学生却相对匮乏,这也是我国软件高层次人才断档的主要原因。能写出直接指导实际工作的好论文的人,一定工作完成也很好。因为好的实践总结的出炉,不但需要有大量的实践积累,同时还必须具备在实践中勤于思考、善于总结、抽象提炼的良好习惯。软件工程硕士论文撰写能力的训练正是为了培养学生在实践中思考、总结与提高的能力,以期在后续工作中能更好地举一反三,不断进步。
此外,根据实际的学生和用人单位的反馈意见,该方案在具体实施过程中也存在一些不足和欠考虑的地方,具体如下:
(1)合作企业更换频繁,缺乏长期合作。目前学校选择合作企业的方式,主要采用企业到校宣讲,之后学生根据个人情况进行报名,学校根据学生报名情况确定合作企业的方式。这种方式尽管从公平、公正的角度,最大限度的给予了学生自由选择的机会,但是由于学生缺乏社会经验,容易受到上一届或者前几届师兄师姐的言论影响,主观因素占主导地位,从而导致了合作企业每年更换频繁,学校和企业之间难以形成长期的合作,不利于学校和企业的长远发展。
3改进措施
(3)个性化制定教学内容,做到全员覆盖。对于教学内容单一,容易出现一刀切的情况,学校可释放更多的权力给合作企业。合作企业可根据学生生源的质量、知识水平层次等因素,制定多样的个性化的教学内容。如对那些基础知识薄弱、能力稍弱的学生,可加大知识补强阶段的授课力度,实训内容以知识补强为主;而对那些基础知识掌握扎实、实践能力较强的学生,可安排具有一定挑战性、难度较高的项目,或者补充一些新的科技前沿知识或应用给这些学生。让所有的学生均可以通过实习实训有所收获,了解当前的技术发展情况和社会需求状况。
一、高校软件工程教学概述
二、软件工程教学的特点
(一)综合性较强
(二)实践性较强
正如前面提到的,软件工程课程是一门实践性非常强的课程,是经过许多研究学者深入研究且精心提炼的结果。高校学生在进行软件工程课程学习时,应当在能够掌握基础概念和方法的前提下,切身的置身于软件开发的实践工作,只有这样才能够真正理解与体会书本上所讲授的知识的内在涵义,才能够切实的掌握知识与技能把,从而为日后的工作及学习奠定坚实的基础。
(三)课程发展速度较快
(四)对经验丰富教师的需求迫切
软件工程是一门需要将理论和实践密切结合的课程,如果是尚未切身参与过软件开发的教师,可以说是无法完全够胜任课程的教学工作的,即便是已经从事软件开发工作多年的教师,在课堂教学的过程中,如果不注重联系实际,往往也无法把课程知识有效地教授给学生。软件工程课程需要不断地与实践接轨,高校应该提供给学生丰富的实习机会,让学生可以在实习过程中不断掌握丰富的软件工程专业知识,但是目前这些问题已经成为高校软件工程教学的难题。因此,采用何种方法才能提高高校软件工程教学的效果与效率,是摆在我们面前最重要的一个问题。
三、软件工程教学中所存在的主要问题
(一)教材存在一定的局限性
我们如果从高校软件工程教材的角度去分析高校软件工程课程的教学,通常不难发现高校所使用的教材存在着较强的局限性。高校目前的软件工程教学所沿用的依旧是以往传统的教学方法,在组织开展软件工程实验时,仍然以生命周期的方式予以研究,这样做的结果就很容易导致学生在软件工程学习中出现时效性严重不足的不良现象,学生无法切实的跟上信息行业的发展步伐,并且很多软件方面新兴起的技术学生也无法接触到,尤其是那些前沿的科研成果。过去传统的教学方式主要是教师把书本上的理论知识讲授给学生,学生可承担额听讲中仿佛是已经掌握了教师所讲授的知识,但实际上绝大多数的学生对教师讲解的专业知识仅仅是非常模糊的认识,这是因为该课程的实践性较强,只是进行理论知识教学是远远无法使学生掌握这门课程的。
(二)实践次数少且质量不高
(三)软件工程教师能力不足
现在,除了专门培养软件工程学生的学校之外,其他的学校也会开设软件工程课程,但是这些学校的教师资源质量不是很高,或者说是,这些教师进行软件工程教学相对比较欠缺。软件工程是一门对教师素质要求较高的课程,这门课程的教学迫切需要教师对教材的本质知识有非常深入的理解,而且教师还应该具备丰富的软件开发方面的经验,最好是掌握一些开发软件的亲身经历,只有这样的软件工程教师才能够把软件工程这门课程很好地教授给学生,并且在进行课程教授时才能够把理论知识与实践充分的结合起来,才能够促使学生真正的将这门知识掌握好,进同时对该课程产生强烈的学习欲望。高校软件工程课程在教学中存在着的一系列弊端及问题,导致高校软件工程课程的教学效果有欠理想,而如果想要把教学质量予以提高,那么就必须将上述问题妥善的解决。
四、高校软件工程课程教学改革途径
面对软件工程课程教学中所存在的诸多问题,教师应当针对软件工程课程的特点以及课程学习的重要性,同时充分的结合实际的教学情况,尽快做出切实可行的教学改革计划,要重点从教学内容、教学模式以及教学资源等方面去实施改革。现阶段,许多地方高校在进行软件工程教学时,使用的依然是传统的教师为课堂中心的教学模式;还有些高校虽然对理论知识的教学是非常重视的,但是却极大的忽略了该课程实践教学的必要性。以上这些内容都是原来传统教学出现的问题,软件工程课程是一个实践性非常强的课程,如果对学生只是单纯的进行理论知识的讲授,那么他们对这门课程的理解和掌握是不能够提供学生应用及实践的。对于这个问题,教师应当深刻予以了解,同时还应当尽快的开展教学改革。在软件工程的教学过程中,教师需要担任的角色就是讲授教材上的知识,指导学生进行具体的实践操作,学生在具体的学习中也应该积极主动地去进行实践操作,教师布置下来的任务必须积极的完成,并能够通过完成任务更为深入且全面的了解课程知识。此外,教师还应当切实的立足于学生的性格特点,有针对性的采取教学方式,以此开展课堂知识的讲解。
五、结束语:
总而言之,为了进一步提高软件工程教学的质量,本文软件工程课程的现状、教师在授课过程中所存在的问题以及应对措施等进行详细的阐述,以供教育教学工作者参考与借鉴。