时间:2023-03-27 16:50:43
导言:作为写作爱好者,不可错过为您精心挑选的10篇软件工程毕业论文,它们将为您的写作提供全新的视角,我们衷心期待您的阅读,并希望这些内容能为您提供灵感和参考。
第二、在软件的生命周期里需要完成的任务有提出问题的定义,分阶段的调查和编写软件数据和设计文档等在实现阶段主要需要完成的则是编写毛和对他的测试工作,需要根据他的说明书把这些转为程序代码,并成单元的测试,使其编写。
一、软件生存周期各阶段应完成的任务
1.概要设计阶段和详细设计阶段概要设计阶段主要完成软件系统总体结构的建立、定义功能模块的接口、设计全局数据库和数据结构、规定设计约束、编制概要设计文档等工作;详细设计阶段主要完成模块详细设计及编制模块的详细规格说明工作。包括模块的详细功能、算法、数据结构和模块间的接口信息等设计,拟定模块测试方案;把模块详细设计的结果汇总,形成模块详细规格说明书。这两个阶段对应于毕业设计的系统设计阶段。2.实现阶段与组装测试阶段实现阶段主要完成编码及单元测试工作。根据模块详细规格说明书,将详细设计转化为程序代码、对模块程序进行测试,验证模块功能及接口与详细设计文档的一致性,并形成单元测试报告;组装测试阶段主要完成模块程序组装与测试及组装测试报告的编写。3.确认测试阶段该阶段主要完成软件系统测试、确认测试文档编制及软件评审工作。根据软件需求规格说明定义的全部功能和性能要求及软件确认测试准则对软件系统进行总测试;向用户提供以确认测试报告为主的有关文档,包括系统操作手册、源程序清单和项目开发总结报告等;由专家、用户、软件开发人员组成的软件评审小组对软件确认报告、测试结果和软件进行评审,并将得到确认的软件产品交付用户使用。这个阶段主要对应于毕业设计(论文)中的论文评审、结题验收及毕业设计的答辨准备阶段。4.软件运行与维护阶段主要进入软件的使用阶段,并完成软件的维护工作。它主要对应于毕业设计中的答辩阶段。
二、毕业设计应注意的几个问题
1.摘要摘要是对文章主要内容的摘录,要求精、短、完整。以几十字至三百字左右为宜。摘要应具有独立性和自明性,从摘要中即应获得必要的信息;摘要中只能使用第三人称;要客观如实地反应原文的内容,要着重反映论文的最新内容和作者特别强调的观点;要求结构严谨、语义确切、表述简明,一般不分段落、不进行自我评价。2.关键词关键词主要用于论文检索,它是从论文的题名、摘要和正文中选出的,是对表述论文的中心内容有实质意义的词汇,关键词一般以3~5个为宜。3.结论结论写作的内容应主要考虑本文研究结果是什么?研究结果说明了什么?对前人有关的看法作了哪些修正、补充、发展、证实或否定?本文研究的不足之处或遗留未予解决的问题以及对解决这些问题的可能的关键点和方向等。结论应该准确、完整、明确、精练。4.需求分析在毕业设计中,学生往往不能对所做题目进行充分的调研,需求不明确,随意想象的成分较多。特别是在数据表的建立上,大部分同学随意设置字段的类型,而字段长度基本上采用默认置。而在实际项目开发中,数据项的设置应主要注意以用户的需求和满足系统要求为准,而不应设计冗余的字段;数据的类型要依据实际需求,当某些字段可以是选择某几种类型之一,应考虑哪一种更有利于本系统或哪种更易于用户操作和维护。5.详细设计许多同学把详细设计阶段的任务理解为代码实现,因此,在概要设计之后就着手进行代码的编写而忽略了算法的表达及测试用例的编写环节,由此造成的结果是随意编程,大量的时间浪费在程序的修改和调试上。6.软件测试测试做得不够全面,大部分同学只选择了有效的测试用例,而没有进行无效的测试用例的设计,因此所做的软件BUG较多。7.团队合作在毕业设计中,应有意识地锻炼学生们的团队协作精神,因此,在布置毕业设计题目时,应尽量选择规模大一点的题目,然后由4~5名同学共同协作,每人完成一个子题目。这样,可以使学生们分析问题和解决问题的能力、沟通和表达能力得到充分锻炼,为今后的工作奠定基础。
作者:王素芬 单位:沈阳工程学院
一、引言
毕业设计(论文)(以下简称毕业设计)是计算机及相关专业教学计划中的一个重要环节,是培养学生对所学基本理论及基本操作技能综合运用的训练过程,是提高学生分析和解决问题能力的重要实践环节,是实现理论与实践相结合的重要途径,是对教育教学质量的全面检查。目前,计算机及相关专业的毕业设计质量正在逐年下降:学生急于找工作或考研,毕业设计得不到应有的重视;需求分析不到位,设计成果不符合实际需求;软件开发流程混乱;缺乏文档写作训练,等等。
针对上述问题,笔者认为,除了应当从管理角度严格进行过程监控外,还应当使学生通过《软件工程》课程的学习,提高毕业设计的质量。
二、软件生命周期与毕业设计过程的对应关系
软件产品从形成概念开始,经过开发、使用和维护,直到最后退役的全过程称为软件的生命周期。软件生命周期可以划分成若干个时期与阶段,它与毕业设计各个环节的对应关系如图1所示。
三、软件生存周期各阶段应完成的任务
1.可行性研究与计划阶段、需求分析阶段
可行性研究与计划阶段主要完成问题的定义、可行性论证以及初步计划的制定;需求分析阶段主要完成需求调查,进行功能、性能与环境约束分析;编制软件需求规格说明、制定软件系统的确认测试准则和用户手册概要。这两个阶段对应于毕业设计的课题论证、选题、调研、查资料,通过对设计题目的深刻理解,完成开题报告的撰写工作。
2.概要设计阶段和详细设计阶段
概要设计阶段主要完成软件系统总体结构的建立、定义功能模块的接口、设计全局数据库和数据结构、规定设计约束、编制概要设计文档等工作;详细设计阶段主要完成模块详细设计及编制模块的详细规格说明工作。包括模块的详细功能、算法、数据结构和模块间的接口信息等设计,拟定模块测试方案;把模块详细设计的结果汇总,形成模块详细规格说明书。这两个阶段对应于毕业设计的系统设计阶段。
3.实现阶段与组装测试阶段
实现阶段主要完成编码及单元测试工作。根据模块详细规格说明书,将详细设计转化为程序代码、对模块程序进行测试,验证模块功能及接口与详细设计文档的一致性,并形成单元测试报告;组装测试阶段主要完成模块程序组装与测试及组装测试报告的编写。
4.确认测试阶段
该阶段主要完成软件系统测试、确认测试文档编制及软件评审工作。根据软件需求规格说明定义的全部功能和性能要求及软件确认测试准则对软件系统进行总测试;向用户提供以确认测试报告为主的有关文档,包括系统操作手册、源程序清单和项目开发总结报告等;由专家、用户、软件开发人员组成的软件评审小组对软件确认报告、测试结果和软件进行评审,并将得到确认的软件产品交付用户使用。这个阶段主要对应于毕业设计(论文)中的论文评审、结题验收及毕业设计的答辨准备阶段。
5.软件运行与维护阶段
主要进入软件的使用阶段,并完成软件的维护工作。它主要对应于毕业设计中的答辩阶段。
四、毕业设计应注意的几个问题
1.摘要
摘要是对文章主要内容的摘录,要求精、短、完整。以几十字至三百字左右为宜。摘要应具有独立性和自明性,从摘要中即应获得必要的信息;摘要中只能使用第三人称;要客观如实地反应原文的内容,要着重反映论文的最新内容和作者特别强调的观点;要求结构严谨、语义确切、表述简明,一般不分段落、不进行自我评价。
2.关键词
关键词主要用于论文检索,它是从论文的题名、摘要和正文中选出的,是对表述论文的中心内容有实质意义的词汇,关键词一般以3~5个为宜。
3.结论
结论写作的内容应主要考虑本文研究结果是什么?研究结果说明了什么?对前人有关的看法作了哪些修正、补充、发展、证实或否定?本文研究的不足之处或遗留未予解决的问题以及对解决这些问题的可能的关键点和方向等。结论应该准确、完整、明确、精练。
4.需求分析
在毕业设计中,学生往往不能对所做题目进行充分的调研,需求不明确,随意想象的成分较多。特别是在数据表的建立上,大部分同学随意设置字段的类型,而字段长度基本上采用默认置。而在实际项目开发中,数据项的设置应主要注意以用户的需求和满足系统要求为准,而不应设计冗余的字段;数据的类型要依据实际需求,当某些字段可以是选择某几种类型之一,应考虑哪一种更有利于本系统或哪种更易于用户操作和维护。
5.详细设计
许多同学把详细设计阶段的任务理解为代码实现,因此,在概要设计之后就着手进行代码的编写而忽略了算法的表达及测试用例的编写环节,由此造成的结果是随意编程,大量的时间浪费在程序的修改和调试上。
6.软件测试
测试做得不够全面,大部分同学只选择了有效的测试用例,而没有进行无效的测试用例的设计,因此所做的软件BUG较多。
7.团队合作
在毕业设计中,应有意识地锻炼学生们的团队协作精神,因此,在布置毕业设计题目时,应尽量选择规模大一点的题目,然后由4~5名同学共同协作,每人完成一个子题目。这样,可以使学生们分析问题和解决问题的能力、沟通和表达能力得到充分锻炼,为今后的工作奠定基础。
参考文献:
题目设置不合理,类别与层次不清晰,选题匹配效果差[2]。学生的毕业设计课题一般都按照指导老师的研究方向和实际工程项目提供,但每年真正来源于工程实践题目比例较少。部分题目理论性强,学生根据所学知识不能很好理解;部分题目开发工具复杂,占用了毕业设计的大部分时间。在选题时可能导致学生想选的题目选不上,能力差的学生所选题目难度大,影响学生的积极性,导致选题效果差,造成毕业设计很难完成。
(二)毕业设计过程监控方面
毕业设计监控工作实施困难,效果较差。软件工程专业毕业设计一般包含选题、开题、中期检查、程序测试、撰写毕业论文、答辩、成绩评定。但对这些环节的监控有时候会形成空白带,毕业设计不在实验室进行,有的学生在实习单位实习,有的学生在外地找工作,老师不能定时与学生见面,老师无法了解学生的具体情况,且学生提交的各阶段文档流于形式,只有指导教师在进行监控,未形成完善的监控体系,导致监控不到位,监控效果较差[3]。
(三)毕业设计论文答辩方面
答辩考核方法单一,答辩仅由学生的讲解和老师的提问两个环节组成,考核准确度低。答辩通过门槛较低,答辩只对学生的毕业设计进行排名,一般排名在最后的学生才可能不及格,不利于提高学生毕业设计积极性,造成大部分同学仅以答辩及格为目标,思想上不重视,答辩准备工作不扎实。再由于软件工程专业特点,毕业设计软件作品评分标准难于量化,考核具有一定难度,也造成答辩效果不好。同时为了提高学生毕业率和就业率,毕业答辩的质量控制有所放松,直接导致了软件工程专业毕业设计质量难以保障。
二、软件工程专业毕业设计的教学改革
针对上述各项实际问题,主要进行的相关工作具体如下:
(一)合理设置毕业设计题目,动态选题
依照软件工程专业的以市场需求为导向,培养应用型软件工程人才的培养目标,在毕业设计题目设置环节,紧紧围绕工程实际型、创新项目型、竞赛题目型、科研项目型等类型进行题目设置,以适应市场动态需求。同时着力避免在毕业设计题目中设置虚拟型题目、理论研究型题目、综述型题目、分析设计型题目等。在选题过程中,通过毕业设计管理系统(如图1所示)进行多轮双向动态选择,动态调整题目各项技术参数以保证学生能选择一个适合自己能力且能有利于自己以后工作的题目[4]。这样,在选题之后,每个指导老师就可以根据学生不同能力进行分别指导,使不同能力的学生都能够运用其所学知识解决工程实际问题,都能够通过毕业设计增强工程实践能力、工程设计能力与创新能力。近四学年软件工程专业毕业设计各类题目汇总。
(二)毕业设计过程实行三级监控管理机制
学校成立以主管副校长为组长的毕业设计工作领导小组以加强毕业设计宏观调控,学院成立以教学副院长为组长的毕业设计工作领导小组以加强毕业设计协调与监控工作,软件工程专业成立以专业负责人为组长的毕业设计工作小组落实并实施毕业设计各环节具体工作[2]。具体参见下图2。在实现毕业设计过程管理的三级管理机制的同时,为保障毕业设计工作质量,软件工程专业要求所有指导教师必须具有中级以上技术职称或硕士以上学位且有一定工程实践经验,具有较高教学、科研水平和创新能力,师德良好,工作态度认真负责。在每年的毕业设计指导工作开始前都对指导教师进行资格审查,择优任用,且每位教师指导的学生不超过6人,以保证指导教师对学生的充分指导[5]。
(三)毕业设计过程量化考核
以往软件工程专业毕业设计成绩通常由三部分组成:一是学生的平时表现由指导老师把握;二是学生的毕业论文成绩。由专业其他指导老师进行评阅;三是现场答辩成绩。由所在组的指导教师按照相关评分标准打分并取平均分。这样基本能够保证毕业设计成绩的公正,但是由于只有毕业答辩环节具有约束力即答辩未通过则总成绩不及格,其他环节不具约束力,因此造成毕业设计前期、中期工作流于形式,前期、中期阶段提交的文档趋于应付、质量不高,最终导致毕业论文质量较低[6,7]。为此,软件工程专业经过几年的探索与实践,实施了毕业设计各阶段的软件工程生命周期量化考核法即各个阶段量化考核,且考核成绩不合格者不能进行下阶段毕业设计工作,必须加以整改,整改通过后才能进入下一阶段毕业设计工作。经过几年的实践证明该考核方法切实可行,能够保证毕业设计各个环节的质量,最终提高毕业设计总体质量。
(四)在毕业设计过程中进一步提高学生工程能力与创新能力
辽宁工业大学于2011年制定并实施了大学生创新团队机制,建立了大学生创新项目申报机制引导大学生开展创新活动;引导学生每年都参加校级、省级、国家级软件设计大赛等各类各级比赛[8]。随着学校和学院创新教育活动多年持续深入开展,软件工程专业学生的创新与创业活动取得了显著成果。超过1/4的软件工程专业学生能够独立主持创新性项目,并以该项目为原型申报毕业设计题目[9],同时参加省级、国家级计算机竞赛并获得奖项。通过主持校级及省级创新项目既毕业设计题目,学生工程能力、创新能力得到极大锻炼与提高,本专业毕业生就业率与就业质量明显提高。软件工程专业学生主持参加创新项目既毕业设计题目情况见表3。
自21世纪高等教育改革以来,全国各高校招生规模不断扩大,导致毕业生数量也相应大规模增加,给高校学生的求职择业带来了严峻的考验。为了可以跟上时代的步伐,为求职带来一些实际项目经验,计算机专业越来越多学生选取了软件开发作为毕业设计课题。然而,在各高校实际当中,本科毕业设计质量已经下降,软件开发类论文与实际完全脱节,归根结底是没有一个可以从头到尾指导学生进行软件开发的学习模式,主要存在下面几个不足之处。
1.1 学生问题
学生设计能力低,编程水平差,无项目实际经验,既不知道软件开发的基本理论与方法,也不知道程序语言代码编写和开发工具界面操作,甚至不知道从何处开始下手准备毕业论文,成为目前软件开发类毕业论文质量差的根本原因;学生思想上存在误区,不重视毕业设计的重要性与必要性,认为毕业设计与普通课程一样,对毕业设计敷衍了事,不愿意花时间和精力认真努力开发软件,总是被动、消极地接受学习,成为软件开发类毕业论文质量差的直接原因。
1.2 学校问题
学生在大一至大三期间,一般只是简单地开设各科课程,并没有将所有软件开发类课程结合起来,直接导致出现学生软件设计能力低与开发水平差的现象;从论文开题、中期检查到论文答辩等过程中,并没有严格技照各种材米斗上交的日期进行,普遍是最后答辩时上交补交所有材料,甚至包括论文开题报告,直接导致学生消极怠慢的态度;最后的毕业论文考核是最关键的问题,也是目前毕业论文相关制度中管理最混乱的一部分。既没有一套规范毕业论文考核标准,也没有对毕业论文的中间过程进行监控,就连最后的论文答辩也只是流于形式。
1.3 教师问题
大部分教师没有项目开发实际经验,只知道软件设计理论基础,不能全方位地指导学生,更加无法让学生能够主动积极地学习,成为毕业论文水平不高的原因之一。
2.CDIO教育模式
CDIO教育模式继承和发展欧美20多年以来的工程教育改革理念,将“做中学”和“基于项目教育和学习”的集中概括和抽象表达,是2004年由麻省理工学院和瑞典皇家工学院等四所大学研究创立,CDIO分别代表了构思(Conceive)、设计(Design)、实现(Implement)和运作(Operate)等四个学习过程,它以产品研发到产品运行的生命周期为载体,让学生以主动的、实践的、课程之间有机联系的方式学习。CDIO培养大纲将工程毕业生的能力分为工程基础知识、个人能力、人际团队能力和工程系统能力四个层面,大纲要求以综合的培养方式使学生在这四个层面达到预定目标。
本文将CDIO模式的构思、设计、实现和运作等四个学习过程引入到计算机软件开发类毕业设计中,要求严格按照构思、设计、实现和运作这四个阶段进行,并将每一个阶段的成果都作为毕业论文考核的依据,以此调动学生的积极性与主动性,既能让指导老师清楚整个设计流程,并根据阶段安排加以指导和督促,也能让学生愿意付出时间和精力努力投入到毕业设计当中。在弥补学生软件开发水平不足的同时,提高学生思考问题、综合设计的能力,最后达到提高毕业论文质量的目的。
3.基于CDIO模式的计算机软件开发类毕业设计
3.1 构思阶段
毕业论文是从学生的选题开始,一般是由老师提供一系列题目,再由学生根据自己的具体情况选择,这种方式遏制了学生的主动性。应该由学生根据自己的爱好、专长和对将来的职业规划等情况,利用各种参考资料主动搜索与查找适合自己的题材范围,再在老师的指导下确定毕业论文题目。不仅能够调动学生的设计积极性,为后面的毕业论文工作提供有利条件,而且还可以培养学生查阅资料和思考问题的能力。之后,指导老师提供软件开发类参考资料,并在中国知网等学术平台搜索课题相关文献,确定论文的基本要求,给学生下达论文任务书。学生根据接收到的任努书,利用软件工程专业书籍、中国知网等学术平台、论文相关的Web网站,查阅大量的资料,了解论文的背景、研究现状和开发意义,确定论文的研究内容和幵发中的关键问题,撰写论文幵题报告,完成软件开发的构思阶段。
3.2 设计阶段
设计阶段主要包括需求分析和总体设计,正式开始毕业论文的设计工作。根据资料查阅、市场调查和企业要求等形式分析软件产品操作流程、功能列表,完成系统需求分析,并在需求分析的基础上重点进行功能设计、模块划分、模块接口规范、数据库概念设计及数据库逻辑设计,在老师的指导下反复修改不断完善,最终确定系统的总体设计。然而,在软件开发设计阶段,学生论文还没有开始写,软件程序也没有完成,指导老师无中期检查依据,不能有效地督促学生开发设计。因此,在设计阶段完成之后,应该形成需求分析、数据库设计、概要设计等相关说明书,作为毕业论文中期检查的材料,纳入论文考核的范围。
3.3 实现阶段
实现阶段是学生毕业论文工作的重点,也是毕业论文设计工作量最大、所需时间最长的一个阶段,直接决定最终毕业论文的质量水平。学生需要掌握软件开发工具、程序设计语言等基本理论与方法,根据系统总体设计的功能模块、接口规范等进行数据库的实现、程序代码的编写,并反复运行与测试。此阶段生成详细设计说明书、编程规范、测试等文档,作为毕业论文第二次中期检查材料。在这个阶段有了指导老师的督促,能够完全确定系统功能,不至于在后期阶段又需要反复修改。
3.4 运作阶段
根据前期产生的开题报告、需求分析、数据库设计、概要设计、详细设计、编程规范、测试等文档和开发好的软件系统撰写毕业论文,并参与论文答辩,是学生毕业论文的总结阶段,不仅着重体现学生的写作水平,更能了解学生对软件的学习情況,是分值比重最大的一部分。最后,将所有文档和论文、答辩情况一起评分,获得毕业论文成绩。
自21世纪高等教育改革以来,全国各高校招生规模不断扩大,导致毕业生数量也相应大规模增加,给高校学生的求职择业带来了严峻的考验。为了可以跟上时代的步伐,为求职带来一些实际项目经验,计算机专业越来越多学生选取了软件开发作为毕业设计课题。然而,在各高校实际当中,本科毕业设计质量已经下降,软件开发类论文与实际完全脱节,归根结底是没有一个可以从头到尾指导学生进行软件开发的学习模式,主要存在下面几个不足之处。
1.1学生问题
学生设计能力低,编程水平差,无项目实际经验,既不知道软件开发的基本理论与方法,也不知道程序语言代码编写和开发工具界面操作,甚至不知道从何处开始下手准备毕业论文,成为目前软件开发类毕业论文质量差的根本原因;学生思想上存在误区,不重视毕业设计的重要性与必要性,认为毕业设计与普通课程一样,对毕业设计敷衍了事,不愿意花时间和精力认真努力开发软件,总是被动、消极地接受学习,成为软件开发类毕业论文质量差的直接原因。
1.2学校问题
学生在大一至大三期间,一般只是简单地开设各科课程,并没有将所有软件开发类课程结合起来,直接导致出现学生软件设计能力低与开发水平差的现象;从论文开题、中期检查到论文答辩等过程中,并没有严格按照各种材料上交的日期进行,普遍是最后答辩时上交补交所有材料,甚至包括论文开题报告,直接导致学生消极怠慢的态度;最后的毕业论文考核是最关键的问题,也是目前毕业论文相关制度中管理最混乱的一部分。既没有一套规范毕业论文考核标准,也没有对毕业论文的中间过程进行监控,就连最后的论文答辩也只是流于形式。
1.3教师问题
大部分教师没有项目开发实际经验,只知道软件设计理论基础,不能全方位地指导学生,更加无法让学生能够主动积极地学习,成为毕业论文水平不高的原因之一。
2CDIO教育模式
CDIO教育模式继承和发展欧美20多年以来的工程教育改革理念,将“做中学”和“基于项目教育和学习”的集中概括和抽象表达,是2004年由麻省理工学院和瑞典皇家工学院等四所大学研究创立,CDIO分别代表了构思(Conceive)、设计(Design)、实现(Implement)和运作(Operate)等四个学习过程,它以产品研发到产品运行的生命周期为载体,让学生以主动的、实践的、课程之间有机联系的方式学习[3]。CDIO培养大纲将工程毕业生的能力分为工程基础知识、个人能力、人际团队能力和工程系统能力四个层面,大纲要求以综合的培养方式使学生在这四个层面达到预定目标[4]。本文将CDIO模式的构思、设计、实现和运作等四个学习过程引入到计算机软件开发类毕业设计中,要求严格按照构思、设计、实现和运作这四个阶段进行,并将每一个阶段的成果都作为毕业论文考核的依据,以此调动学生的积极性与主动性,既能让指导老师清楚整个设计流程,并根据阶段安排加以指导和督促,也能让学生愿意付出时间和精力努力投入到毕业设计当中。在弥补学生软件开发水平不足的同时,提高学生思考问题、综合设计的能力,最后达到提高毕业论文质量的目的。
3基于CDIO模式的计算机软件开发类毕业设计
3.1构思阶段
毕业论文是从学生的选题开始,一般是由老师提供一系列题目,再由学生根据自己的具体情况选择,这种方式遏制了学生的主动性。应该由学生根据自己的爱好、专长和对将来的职业规划等情况,利用各种参考资料主动搜索与查找适合自己的题材范围,再在老师的指导下确定毕业论文题目。不仅能够调动学生的设计积极性,为后面的毕业论文工作提供有利条件,而且还可以培养学生查阅资料和思考问题的能力。之后,指导老师提供软件开发类参考资料,并在中国知网等学术平台搜索课题相关文献,确定论文的基本要求,给学生下达论文任务书。学生根据接收到的任务书,利用软件工程专业书籍、中国知网等学术平台、论文相关的Web网站,查阅大量的资料,了解论文的背景、研究现状和开发意义,确定论文的研究内容和开发中的关键问题,撰写论文开题报告,完成软件开发的构思阶段。
3.2设计阶段
设计阶段主要包括需求分析和总体设计,正式开始毕业论文的设计工作。根据资料查阅、市场调查和企业要求等形式分析软件产品操作流程、功能列表,完成系统需求分析,并在需求分析的基础上重点进行功能设计、模块划分、模块接口规范、数据库概念设计及数据库逻辑设计,在老师的指导下反复修改不断完善,最终确定系统的总体设计。然而,在软件开发设计阶段,学生论文还没有开始写,软件程序也没有完成,指导老师无中期检查依据,不能有效地督促学生开发设计。因此,在设计阶段完成之后,应该形成需求分析、数据库设计、概要设计等相关说明书,作为毕业论文中期检查的材料,纳入论文考核的范围。
3.3实现阶段
实现阶段是学生毕业论文工作的重点,也是毕业论文设计工作量最大、所需时间最长的一个阶段,直接决定最终毕业论文的质量水平。学生需要掌握软件开发工具、程序设计语言等基本理论与方法,根据系统总体设计的功能模块、接口规范等进行数据库的实现、程序代码的编写,并反复运行与测试。此阶段生成详细设计说明书、编程规范、测试等文档,作为毕业论文第二次中期检查材料。在这个阶段有了指导老师的督促,能够完全确定系统功能,不至于在后期阶段又需要反复修改。
3.4运作阶段
根据前期产生的开题报告、需求分析、数据库设计、概要设计、详细设计、编程规范、测试等文档和开发好的软件系统撰写毕业论文,并参与论文答辩,是学生毕业论文的总结阶段,不仅着重体现学生的写作水平,更能了解学生对软件的学习情况,是分值比重最大的一部分。最后,将所有文档和论文、答辩情况一起评分,获得毕业论文成绩。
有些具有专业技术性的毕业论文写作,的确具有困难性,对于一些工程学科的学生而言,该毕业论文应当是结合设计进行的。
例如,计算机应用或者软件工程学科,就需要进行相关的系统设计,并且完成、能够成功运行才能够符合他们的毕业论文的标准。这样的毕业论文由于要基于真正的系统实现,意味着从一开始的系统框架的搭建以及数据的链接都要非常明了如何实现,才能够不断推动整体设计的进行。所以有很多工科学生因为无法独立完成这样的论文以及毕业设计内容,而尝试用多种方式进行转移。便会去寻找一些愿意有偿代做系统设计,且愿意提供毕业(设计)论文的人,这样做既可以帮助自己完成学业拿到相应的学分得以毕业,还能够学习更多的其他知识丰富人生。
但是在进行该类设计很多知识的工科毕业设计工作中,例如涉及数学小论文的知识内容、通信类相关技术论文等等,就需写作人员在开始构思整个系统的实现之前,进行必要的技术掌握,才能避免在实际研发过程中出现问题及错误。例如,在进行数据挖掘技术相关的系统设计或者模型分析的论文中,在材料准备阶段,就应当结合数据挖掘原理及技术应用的相关理论内容,探讨该类已经在期刊中所提到的相应的预警规则,针对网络安全方面的安全预警模型进行多维度的介绍。【提供】
0、引言
为满足21世纪国家工业化发展需求,教育部启动了“卓越工程师培养计划”,旨在鼓励各大高校推进教育体制改革。针对国家新的发展战略,结合“国际化,工业化,高质量,高速度”办学理念,哈尔滨工业大学国家示范性软件学院(HIT-NPSS)提出了一套软件工程专业逐步工业化的教学改革模式。
在过去的10年中,HIT-NPSS对现有教学模式进行深入分析,结合IT企业实际需求和反馈,借鉴欧美国家的教育制度,逐步建立并完善了一套面向工业化的软件工程专业本科生培养模式。这种新的培养模式成功缩小了毕业生能力与企业期望之间的差距,成为哈尔滨工业大学教育体制改革的成功案例之一。
1、工业化课程体系模型
HIT-NPSS本科生课程体系的设置不仅注重学生课堂知识的获取,还以培养学生工业化技能(包括动手能力、交流和表达能力,以及自学能力等)为基本目标。对于软件工程专业的本科生,掌握专业基础知识固然重要,但在当今的工业化环境下,能否在实践中灵活运用这些知识才是衡量学生素质的首要标准。为此,HIT-NPSS本着为学生成长服务的宗旨,基于IT企业人才需求,充分吸纳优秀的IT企业文化,立足学院的国际化办学环境,提出了一套以学生为主体,教学与工业实践紧密结合的面向工业化的本科生课程体系模型,如图1所示。
该课程体系模型的核心包括3大知识领域:计算机技术、软件工程以及IT策略与管理;4大应用领域:网络通信与信息安全、服务科学与企业信息化、多媒体与信息处理以及嵌入式系统与软件。
2、逐步工业化的教学方法
HIT-NPSS的本科课程共分为4个学年、8个学期。学生前3个学年在校内学习理论课程和实践课程,第4学年到IT公司进行工业实习,不同学年的课程具有不同的针对性。
2.1 理论课程设置
第1学年以基础课程为主,包括基础理论类课程、专业基础知识类课程以及基本编程技术类课程。为了强化学生的动手能力,我们还增设了C++程序设计以及程序设计实践2门课程。特别是,HIT-NPSS本科生第1学年还开设了IT职业道德、交流技巧以及IT企业管理3门管理类课程,重点培养学生的团结协作能力等职业素养。基于以上课程设置,学生在完成第1学年的学习任务后,能够扎实掌握计算机基础知识,养成良好的编程习惯,提高交流和表达能力。
第2学年以计算机软件系统类课程为重点。通过数据结构与算法、操作系统、数据库系统以及计算机网络等课程帮助学生打下良好的计算机软件系统理论基础;通过软件工程课程帮助学生加深对软件开发生命周期的理解;通过面向对象技术与UML、Java编程技术以及软件开发实践等课程提高学生的软件开发能力和实践技能。此外,为了增强学生对现实IT工业领域的了解,该学年还开设市场营销学、合同法以及财务管理3门管理类课程,这也是HIT-NPSS课程体系的特别之处。
第3学年是学生在校内学习的最后一年,完成第3学年的课程学习后,所有学生将到IT企业进行为期一年的工业实习。第3学年的课程主要为了培养学生解决问题的能力和计算机技术应用能力。开设的课程包括编译原理、多核程序设计、面向服务的计算技术、用户界面设计、算法设计与分析以及软件测试与质量保证等。由于软件工程领域覆盖面较广,按照个性化的教育理念,HIT-NPSS软件工程本科专业下设网络通信与信息安全、服务科学与企业信息化、多媒体与信息处理以及嵌入式系统与软件4个专业方向,各方向按照培养学生相关专业技术和实践能力的目标分别设置不同的专业课程。在此基础上,本学年还开设了软件开发过程管理、项目管理、商务谈判及知识产权法4门课程,以培养学生的专业素养,为第4年的工业实习打下良好的基础。
2.2 逐步工业化实践环节
为逐步实现工业化教育目标,HIT-NPSS在每学年理论课程的基础上,分别设置了以下实践内容:
(1)大学生创新项目。大学生创新项目以“兴趣驱动、自主实验、重在过程”为原则,在第l学期课程结束后,要求学生以项目组形式自主完成软件研发课题。对于课题的选择,学院并没有统一规定,学生可以按照各自兴趣选题并分组。为了鼓励和支持学生的创新研究,学院将为各组安排一名指导教师,对软件开发的全过程进行监督和指导。学生利用课余时间完成创新项目,在第1学年结束前学院将对各组的创新项目进行评审,对前10名予以奖励。经过几年的实践,大学生创新项目已经成为HIT-NPSS一大文化特色。
(2)短期企业实训。企业实训是HIT-NPSS课程体系的一个重要组成部分。在第2学年的第2学期,学生将被分配到指定的企业基地进行为期4周的学习和训练。整个实训过程以实际项目开发为主导,中间穿插工具类、职业规划类等培训课程,学生在IT企业环境中参与企业项目开发,体验从需求分析、系统设计、编码实现、测试及交付使用的软件开发全过程。短期企业实训为学生提供了接触企业实际项目、发现自身兴趣和不足的良好机会。
(3)软件工程实践。软件工程实践在第3学年的第2学期进行,是逐步工业化教育的第3步,要求学生以分组的形式在2周时间内完成一个软件系统的开发。与短期企业实训相比,软件工程实践过程中学生要独立完成软件开发生命周期的各个阶段。通过软件工程实践,学生的编程能力、解决问题能力、一般平台应用能力、流行工具软件的使用能力以及项目管理能力将得到全面提升,这也为第4学年的工业实践打下良好基础。
2.3 企业实习
软件工程专业本科生第4学年将在IT企业实习中,完成具有一定技术难度和较大工作量的技术方案设计和软件开发等工作,并在此基础上完成(撰写)本科毕业论文。通过工业实习,学生的软件开发能力、工程实践能力以及自学能力都将得到大幅度提高,完成学生到企业员工的软件产业人才的逐步转变。
(1)双导师机制。HIT-NPSS要求所有的学生必须在IT企业进行至少一年的工业实习。为了保证课堂学习向工业实践的平稳过渡,学院不仅要帮助学生选择合适的实习基地,还要帮助学生确定指导教师。为此,HIT-NPSS提出了双导师机制,即学生在校内和校外(实习基地)各选择一名指导教师,校外导师主要负责指导学生软件项目开发,校内导师主要负责指导学生毕业论文撰写。HIT-NPSS要求软件工程专业本科生的毕业论文要基于其工业实习期间直接参与的软件工程项目,双导师机制不仅能够帮助学生填补不同领域的知识空白,还能够有效建立起大学和IT企业的沟通桥梁,保证学生工业实践和毕业论文的顺利进行。
(2)实习监管方法。在双导师机制的基础上,HIT-NPSS通过开题检查、中期检查以及结题验收对学生的整个实习过程进行监管。在工业实习的前3个月内,学生必须在校内导师和校外导师的共同指导下完成论文开题报告,即确定论文题目、主要内容以及关键技术等。在工业实习3个月后,学院将到实习基地对学生的选题情况进行检查,争取尽早发现存在的问题并对学生进行有效指导。中期检查将在选题后的3个月内进行,检查过程与开题检查相似,目的是检查学生的工作进展是否符合开题报告中的日程安排,帮助学生解决实习中的问题与困难。此外,中期检查也是学院与实习企业交流学生实习表现、调整未来实习派遣计划的重要手段。结题验收是学生工业实习结束前的最后一次检查,一般在实习基地进行,在学生展示自己的工作内容后,由企业顾问和校方专家共同评估其实习情况。
截至2013年,HIT-NPSS已有2937名学生在200家IT企业完成了工业实习。
2.4 校企合作模式
为充分发挥企业在工业化人才培养过程中的作用,HIT-NPSS采用多种模式加强校企合作。主要合作模式包括以下几种:
(1)校企合作高峰会。校企合作高峰会以不同的主题每年举办一次,是高校和企业高层以及产业高级人员共商共计的重要平台,有效促进了校企之间的沟通与合作,对全面实施卓越工程师培养计划起到了巨大推动作用。截至2013年,HIT-NPSS已成功举办了多届校企合作高峰会,累计邀请过220余家企业参会,并与中兴通讯股份有限公司、金山软件有限公司、浪潮集团等50多家知名企业保持着长期合作关系。
(2)校内工业实践基地。在广泛开展校外工业实习的同时,HIT-NPSS也与哈尔滨本地软件公司合作,在校内建立工业实习环境,提高学生的软件开发能力。学生可在校内工业实习基地进入企业的项目组,参与具体项目的开发。目前,哈工大首创科技股份有限公司、哈工大慧通新意信息技术有限公司、黑龙江省计算机网络与软件评测中心等公司已进驻校内实习基地。
(3)联合实验室。联合实验室是校企合作的另一种模式,主要用于教学和软件开发实践,由软件学院负责提供场地和设备,由企业提供开发平台和各种工具软件,并由企业定期为软件学院的师生开设专题讲座,进行相关指导。目前,HIT-NPSS已与浪潮通用软件公司、金山软件股份公司和英特尔亚太研发有限公司共同建立了联合实验室。联合实验室的建立,为软件学院建立科学的课程体系和工业化实践教学管理方法,实现工业化软件人才的培养创造了良好条件。
(4)学生俱乐部。学生俱乐部是由软件学院和软件公司共同支持的实践类学生社团组织。学生俱乐部依托实际项目、模拟企业真实经营环境,有效培养学生的IT实践经验和创新能力,同时加强校企技术交流。目前HIT-NPSS已组建起亦飞、零度、腾讯等7个学生俱乐部。其中,亦飞俱乐部由阿里巴巴集团支持在2003年创建;零度俱乐部由金山软件股份公司支持在2004年创建;腾讯俱乐部由腾讯科技有限公司支持于2005年创建。
(5)企业家论坛。HIT-NPSS于2003年发起了企业家论坛活动,主要形式是邀请国内外著名企业家到校进行讲座或演讲。论坛的宗旨是让学生了解行业动态、把握领先技术、了解企业发展历程,以实现活跃校园气氛、开拓学生视野、树立企业形象的最终目标,同时促进企业与哈工大软件学院的相互了解与广泛合作。到目前为止,HIT-NPSS已经邀请了30余名知名企业家作为演讲嘉宾。
(6)青年校友论坛。青年校友论坛是HIT-NPSS品牌活动企业家论坛的进一步延伸。青年校友论坛的演讲嘉宾主要是软件学院的毕业生,在企业工作2年以上。青年校友论坛是在校学生与学长们交流的平台,大家一同分享上学的心得、实习的体会、工作后的经历。青年校友论坛的创办宗旨是进一步落实学院的工业化教育模式,深化学院工业化办学理念。到目前为止,已邀请过10余名毕业生重返母校作为论坛嘉宾,青年校友论坛成为HIT-NPSS工业化教育模式中不可或缺的一部分。
3、学生就业情况
在工业实习期间,很多学生便已决定毕业后加盟实习公司或合作企业。工业实习机制不仅为学生创造了良好的就业环境,同时实现了高校和企业的双赢。一方面,高校能够与一流工业实践基地保持长期稳定的合作关系,以便为学生提供更好的实习机会;另一方面实习生可以成为实习公司的潜在员工,这不仅解决了企业的招聘难题,也大大缩短了企业新员工培训时间。经过9年的实践,哈工大软件学院已与一批知名企业建立了良好的长期合作关系,成为我国高校工业化实践的成功案例之一。
区别于传统的实践教学模式,充分利用高校在理论教学中的教学设备齐全、师资力量稳定、教学场所固定、管理配套服务到位、制度保障有力等优势的基础上,结合IT企业独有的利益驱动、应用导向、前沿技术引领等特点,构建基于校企合作的面向实际应用需求的实践教学模式。与传统的实践教学由校内老师在校内指导学生完成不同,该模式的实践教学任务主要是由校、企双方指导老师共同指导学生分别在校内和校外完成。该实践教学模式实施的主要对象是已完成大三学习任务的软件工程专业学生,分为专业实训和毕业实习两个阶段进行,其中专业实训自大三暑假结束前4周左右开始,持续时间为9周,安排学校指导老师以及企业相关技术老师,指导学生设计一些实际应用项目,完成由学校学习到企业应用的过渡;之后转为12周的毕业实习,该阶段各合作企业根据学生自身的知识掌握程度,通过一定的选拔措施,合理安排学生到相应的实际岗位进行实习,为将来的就业积累经验。
2存在的问题
该实践教学模式构建之后,便被应用到软件工程专业的实际教学工作中,得到了学生的一致好评和社会的广泛认可。一方面,软件工程已成为学校最热门专业的之一,从近几年的新生招录情况看,尽管软件工程专业的招生数量逐年增加,但每年该专业的第一志愿投档人数仍然年年爆满。另一方面,毕业生的质量也不断提高,根据学校组织的就业情况回访及社会调查结果显示,毕业生受到了用人单位对的广泛好评,同时学生对专业建设的满意度不断提高,毕业生的薪资水平、就业竞争学科探索力等方面稳居学校各专业前列。
此外,根据实际的学生和用人单位的反馈意见,该方案在具体实施过程中也存在一些不足和欠考虑的地方,具体如下:
(1)合作企业更换频繁,缺乏长期合作。目前学校选择合作企业的方式,主要采用企业到校宣讲,之后学生根据个人情况进行报名,学校根据学生报名情况确定合作企业的方式。这种方式尽管从公平、公正的角度,最大限度的给予了学生自由选择的机会,但是由于学生缺乏社会经验,容易受到上一届或者前几届师兄师姐的言论影响,主观因素占主导地位,从而导致了合作企业每年更换频繁,学校和企业之间难以形成长期的合作,不利于学校和企业的长远发展。
(2)时间安排与校园宣讲冲突,错失就业机会。校内实训的部分时间是每年9月到10月中旬,而这段时间恰好是每年各大企业的校招时间。由于知名企业或规模以上的用人单位一般不会到普通地方高校进行宣讲,因此大部分学生想趁这次机会到附近地区的高校参加校招,从而增加自己就业的几率。但是这段时间要求学生在学校完成相应的实训项目,可能会导致一部分学生,特别是一些能力强的学生,白白错失机会,这个问题也是学生反馈意见最多的问题。
(3)实训内容一刀切,缺乏个性化定制。目前的校内实训,主要分知识补强和项目应用两个阶段。这两个阶段的教学内容在具体实施中,没有充分考虑到学生知识水平的差异和素质能力的不同,要求所有学生都要参与到这两个阶段的学习中,最终导致那些能力强的学生索然无味、浪费时间,而能力差的学生来不及消化,跟不上节凑,疲于应付。
(4)实习管理不到位,缺乏有效跟踪。关于学生在毕业实习过程中的监督和管理,目前主要采取学校定时巡查、合作企业跟踪的形式进行。由于学生广泛分散于不同实习企业,每个企业情况迥异,这种做法很难保证对每一个学生的实习情况进行有效的管理和监督。比如,有的学生频繁更换实习单位,导致毕业论文难以完成;有的学生则以企业培训或者工作繁忙等理由推脱,不去积极配合学校相关活动的开展。
3改进措施
(1)对合作企业的选择,需建立在合理的评价制度上。首先,在意向企业到校宣讲前,需学校组织相关人员通过查阅有关资料、听取企业汇报、现场走访调查、进行座谈交流等方式,对该企业进行全面的调研,重点考察企业的资质、主营业务、企业规模、社会影响等方面的情况,在充分调查的基础上,形成对该企业综合实力的科学判断,淘汰那些不符合要求的企业。其次,可组织学生去符合要求的企业进行见习,提高学生对企业的认知度。第三,结合企业到校宣讲后学生的选择情况,最终决定合作企业。最后,根据实际情况将对合作企业的考察周期进行调整,可由原来的每一年变更为每两年或者更长时间,这样有利于校企双方积累相关经验,改正出现的问题,提高教学效果,从而达到校企双方的长效共赢。
(2)合理安排实习实训进度,解决时间冲突。对于实训时间与“秋招”时间冲突的问题,可以通过调整教学进度或时间来解决。一方面可将9周实训贯穿整个暑假,即将原来9月到10月中旬的实训提前到暑期中,这样既可以解决时间冲突的问题,又可以留下一段时间让学生进行实训知识的总结和消化,查漏补缺。另一方面也可通过适当调整实训课程内容解决这一问题,即在实训后期的内容安排上进行合理设计,提高团队项目开发的时间自由度,让学生在不影响各自团队项目总体进度的情况下,可安排时间去处理进行其他事情。
(3)个性化制定教学内容,做到全员覆盖。对于教学内容单一,容易出现一刀切的情况,学校可释放更多的权力给合作企业。合作企业可根据学生生源的质量、知识水平层次等因素,制定多样的个性化的教学内容。如对那些基础知识薄弱、能力稍弱的学生,可加大知识补强阶段的授课力度,实训内容以知识补强为主;而对那些基础知识掌握扎实、实践能力较强的学生,可安排具有一定挑战性、难度较高的项目,或者补充一些新的科技前沿知识或应用给这些学生。让所有的学生均可以通过实习实训有所收获,了解当前的技术发展情况和社会需求状况。
(4)实行专人管理,增加过程考核。学生到校外进行实习之后,由于各实习企业的地理位置、实习岗位的要求等情况迥异,导致学校和合作企业对实习学生的管理难度陡增。对于校外实习学生的管理人员安排,无论是对学校还是合作企业,大都是安排相关的老师或者员工进行兼职管理,而繁重的日常工作压力,极可能导致他们根本无暇顾及这方面的管理工作,为此如果条件允许,可安排专人负责这方面的管理工作。另一个解决思路是让学生毕业论文的校内指导老师进行日常的跟踪管理,学生的毕业论文与其实习项目关联密切,同时毕业论文关系到学生的学业学分、甚至顺利毕业,因此该方案可能会成为解决这一问题行之有效的方法。
性 别 :
男
年 龄:
23
身 高 :
173cm
学 历:
本 科
联系电话:
1376710****
毕业院校:
东华理工大学
专 业:
软件工程
户 籍 :
江西赣州市
兴趣爱好:
打牌,玩游戏
家庭地址:
江西赣州南康市安福巷
电子邮箱:
教育经历
2006/09—2010/06 东华理工大学 软件工程 本科
项目经验
2007/9—2008/1 毕业过程管理项目(已在使用)
项目简叙:
毕业过程管理是根据大四毕业生完成毕业论文的流程而做的一套系统,从学生选题—教师审核通过—提交开题报告—中期检查—后期检查—论文提交—提交答辩分组—提交答辩分数等一套流程,用户角色包括教学主任,教学秘书,管理员,学生,教师
开发工具/环境:
配置环境:IIS6.0
开发工具: VS2005+SQL Server 2000
责任描述:
后期论文提交,教学秘书给论文答辩分组等两部分功能(包括设计,编码,测试)
2009/9—至今 双语教学系统(学校的项目)
项目简叙:
此项目是用于教学资源管理,主要功能有双语教学资源的上传,下载,在线使用(word格式和pdf格式可以在服务器端免安装);
项目基于B/S模式开发的,用户角色分为管理员,教师,学生
开发工具/环境
配置环境:IIS6.0
开发工具: VS2005+SQL Server 2000
责任描述:
全程负责项目的设计,后台代码编写,测试和后期优化,
IT技能
技能分类
技能名称
从事时间(月)
运用程度
编程语言
C#
24
熟悉
Javascript
13
熟悉
Web2.0(其他)
24
熟悉
Ajax
12
会应用AjaxPro开发
XML
24
了解
HTML
24
熟悉
数据库
SQL Server2000
24
熟悉
My SQL
1
了解
操作系统
Win2000
WinXP
40
熟悉
自己我评价
是一个有毅力的人,在项目开发中追求代码的最优化,有团队合作的精神(有过经验),相信技术不是问题,能够在艰难面前迎头而上,逻辑思维能力好,坚信大学四年应该有自己满意的作品
英语技能