计算机软件工程论文优秀6篇

发布时间:

软件工程论文 篇一

在应用型本科院校中,尤其是软件工程专业,毕业设计作为教学计划的重要组成部分,是实践教学中的最后一个环节,也是对学生在校期间所学知识的一次综合、全面的总结、应用和提高。由于毕业生数量的不断增加和软件行业的迅猛发展,导致就业门槛越来越高,就业压力也越来越大,通过毕业设计过程中的训练,能有效提高学生的工程应用能力,使学生得到一定的实践经验,有利于学生从学校向工作岗位的平稳过度。因此,毕业设计质量的好坏,不仅反映了一所高校的教学质量,也会直接影响到学生的就业竞争力和就业后的职场适应能力。

2存在的问题

1)思想认识上不够重视学生方面:有些学生存在完成任务式的应付心里,避重就轻,能简就简,敷衍了事。有些学生则只重视找工作而轻视毕业设计,不愿在毕业设计上花费太多时间和精力,甚至有些学生还以找工作为由,完全依赖于导师,向导师索要源代码,甚至花钱在网上购买来交差。已经找到工作的学生,更是认为毕业设计做的好与不好对自己没什么影响,对待毕业设计也更加心不在焉。导师方面:大多数指导教师除了要指导学生毕业设计之外,还要承担大量的教学和科研任务,在毕业设计指导工作上能够投入的精力和时间非常有限,致使有些导师对毕业设计的指导工作不太重视,对学生放任自流,不管不问,或者是直接将相关源代码发给学生,以“简化”指导工作。由于思想上的不重视,学生学习态度不认真,导师指导工作不到位,造成毕业设计流于形式,疏于管理,效果较差,使得学生白白浪费了毕业前的一次综合训练机会。因此,如何充分认识毕业设计的重要性,并进行相应的教学改革是软件工程专业毕业设计必须要面对并解决的问题。

2)时间安排上不够科学毕业设计一般安排在第八学期,这期间刚好是学生求职和考研的黄金时间段,由于目前就业形势的日益严峻,学生就业压力越来越大,当求职和考研时间与毕业设计时间发生冲突时,学生都会选择将主要精力投入到求职和考研上,有些还要去外地求职、应聘考试、面试等,毕业设计自然是无暇顾及。而且,学校方面,为了保证就业率,往往对学生毕业设计的质量也是睁一只眼闭一只眼,这又在无形中鼓励了学生消极对待毕业设计的态度,毕业设计质量下降也就成为必然结果。

3)题目设置上不够合理由于毕业设计在高校各类教学活动中是最具综合性和独立性的,相对于常规课程而言,对指导教师要求也就更高,尤其软件工程专业,工程实践性比较强,但每年真正来源于实际工程项目的题目所占的比例较小,很多题目都是虚构出来的,导致有些题目不是理论性太强,就是缺乏具体需求的支撑,使学生很难从毕业设计过程中真正领悟到真实的软件工程方法。而有些指导教师自己都没参与过实际的工程项目,本身就缺乏实践经验,对学生毕业设计的指导只是凭着自己的感觉来进行,缺乏系统性、整体性、科学性和严谨性,学生遇到问题后,难以得到及时的解决,导致抄袭现象时有发生,甚至有些学生直接照搬往届毕业生的设计成果。毕业设计的主要目的在于通过毕业设计的训练来提升学生对所学知识的综合应用能力以及创新能力,从而实现学生从学校到工作岗位的平稳过度。但由于题目设置上的不合理,题量太少,层次不清,导致选题匹配效果差。在选题时,部分能力差的学生所选题目难度太大,造成毕业设计很难完成,而有些能力强的学生所选题目难度过小,达不到能力提升的目的。

4)过程监管上不够到位众所周知,对于软件工程项目而言,过程控制与管理是项目执行的关注点,毕业设计也当如此。虽然学校也会在毕业设计过程中组织对各阶段的工作情况进行检查,但执行检查工作的不一定是专业教师,使得这种检查大多只是对指导老师所填写的各种表格和文档等表面内容进行检查,对毕业设计的过程起不到实际的监督作用,再加之有些学生在校外求职或实习等原因造成指导教师与学生无法定期见面和沟通不畅等问题,使得指导教师难以用软件工程方法对学生进行指导。毕业设计虽然启动较早,但实际上很多学生前期在毕业设计上很少投入时间和精力,只是在答辩前为了完成任务而赶工应付,这样的毕业设计质量自然也就不佳。

5)量化考核上不够严格毕业设计成绩一般由平时成绩+论文成绩+答辩成绩三部分按一定比例构成,平时成绩由指导教师自行把握,论文成绩则由其他有经验的教师进行评阅,答辩成绩由答辩委员会老师按照相关评分标准打分并取平均分,这样虽然基本可以保证成绩的公正性,但成绩构成太简单,未显示地将开题报告、文献翻译、分析和设计过程以及总结等纳入到考核范围,对毕业设计的前期和中期工作没有约束力。在成绩评定时,有些导师要求不严,采取宽容迁就的态度。答辩时,通过门槛较低,造成大部分学生仅以答辩及格为目标,在思想上不重视,答辩准备工作不扎实。同时,学校为了提高学生毕业率,在最终答辩时,对毕业设计的质量要求也有所放松,这也是导致毕业设计质量难以保证的一个重要原因。

3采取的对策

时间安排上,可以提前启动毕业设计工作,将原来的第八学期开始提前到第六学期中后期,此时学生已经学完大部分课程,具有了一定的知识基础,而且学生都在校,可以随时与导师见面,指导教师也有充分的时间对毕业设计项目随时跟进,随时指导。导师资格审查上,对于软件工程专业来说,学生毕业设计的导师,应该由长期从事实际工程实践或者有较好科研成果的“双师型”(双师即“教师”、“工程师”)教师来担任,也可以聘请校外科研单位或企业中水平较高的工程师来担任企业导师,这样不仅可以减轻指导教师短缺的压力,也能促进指导教师队伍多元化模式的形成。题目设置上,要求题量要充分,使得水平层次不同的学生都能选到合适的题目;难度和工作量要适中,且要有一定的创意,使学生通过毕业设计的训练,在综合应用能力和创新能力上都能够得到有效的提高。有课题的指导教师要尽量结合自己的课题来设计题目,没课题的指导教师可以从与学校有合作的企事业单位中获取有实际意义的题目。鼓励学生根据自己的兴趣点和就业取向自拟题目,允许学生到实习企业中根据企业的实际工程需要选题和实施毕业设计,这样既能解决实际问题又可完成毕业设计。过程监管上,首先要在指导教师和学生之间建立有效的沟通联系机制和问题讨论的例会制度,充分发挥指导教师的引导作用,在毕业设计过程中,坚持每周师生沟通一次。学生提出问题,指导教师引导和总结,鼓励学生发挥主观能动性和创造力。同时,学校要成立由领导牵头、具有一定工程实践经验的专业技术人员组成的督导组,对毕业设计过程包括选题、开题、中期检查、答辩和成绩评定等各个环节实施有效的监控和督导,加强管理学生的同时也要加强对指导教师工作质量的检查,确保毕业设计工作能够有序、有效的实施。量化考核上,要对毕业设计从前期的开题、文献查阅,到中期的分析、设计、实现,再到后期的总结等各个阶段的进行量化考核,前一阶段的成绩考核不合格者,不能进行下一阶段工作,必须加以整改,直到整改合格后才能进入下一阶段。对于未能按要求如期完成毕业设计的可以推迟答辩,对于首次答辩不合格的可以进行二次答辩,仍不合格的,可以缓发毕业证。只有建立严格的考核制度,才能对学生有约束力,让学生从思想上重视毕业设计,进而保证毕业设计的质量。

4结束语

软件工程论文 篇二

软件工程专业高层次应用技术和技能人才数量严重不足,同时应用技术和技能人才培养的学历层次不高不能满足企业实际需求。地方高校软件工程专业定位和人才培养目标不明确、教学方式方法缺乏科学性、系统性,实践教学体系不完善,没有与行业就业有效对接,导致培养的人才无法满足社会生产实际需求,导致“软件工程专业毕业生无职可就,软件开发行业以及相关软件应用单位招不到满意的员工”现状普遍存在。

2软件工程专业课程体系理论设计

以行业、企业实际对人才需求为引导,软件工程专业毕业生真实就业情况调查为依托,地方高校软件工程专业课程一线教师众多教学研究成果为参考,专业教师在企业挂职学习经验体会为借鉴,围绕地方高校软件工程专业课程教学体系存在事实问题,来对地方本科院校软件工程课程体系建设进行设计建设。设计建议如下:

2.1学科建设

以专业相关的行业、企业人才的实际需求和当前使用的主流开发工具或技术为依托来不断调整专业架构,优化专业人才培养方案,完善人才培养目标,对专业进行合理定位,系统性调整教学方式方法,从而实现以行业、企业对人才的需求来引导地方本科院校软件工程专业的学科建设。

2.2校企办学

学科建设以输出满足行业、企业需求合格的应用型人才为目标,通过校企联合办学,对学生进行定向培养、训练,专业课程体系嵌入资格认证课程模块,实训课程以企业开发项目方式贯穿培养环节以达到提高专业人才的实际动手能力。

2.3师资建设

采取教师企业挂职锻炼参与企业项目研究开发,共同承接开发项目等方式锻炼提高师资队伍实战能力。教师在企业实战经历和相关经验成果带入到日常的教学环节,不仅能促进专业教师学术、科研能力提升,还能够最大程度丰富、提高专业学科建设[2]。

3三层结构课程体系建设

软件工程专业课程体系建设以工程教育理念为指导,项目实战为背景,社会需求为导向,提高学生专业素养、理论知识体系以及实践能力为宗旨。学生完整地专业培养环节结束 www.chayi5.com 后具有程序设计,系统分析,软件设计、开发,项目管理,网络和移动通信终端应用开发能力。课程体系模式结构如图1所示。

3.1基础理论由公共基础课程和专业基础课程构成:①公共基础课程主要涵括地方高校各现行必修公共课程,②专业基础课程是专业课程坚实的理论基础,专业必修前导课程,是对软件工程专业基本“计算”概念理解、掌握,问题计算求解能力和构建中小规模软件系统综合能力的初步培养。

3.2专业理论以市场对人才需求为导向、行业最新前沿技术为引领、专业骨干课程为核心、专业素质全面拓展和综合素养整体提高为目标来对专业主干课程进行建设[3],主要包括以下几类课程:

3.2.1面向行业认知能力培养课程主要包括对行业、企业认知学习以及计算机专业知识学习等专业认知方面课程。一般包括行业相关法律、法规,从业道德规范,行为准则,经营管理常规模式,软件项目开发流程等认知类课程。

3.2.2计算机编程与算法设计能力课程算法设计类课程主要包含离散数学、数据结构、算法分析以及数据结构课程设计等方面的课程;编程课程主要包含C语言程序设计、面向对象程序设计等传统程序设计语言课,还包括当下企业应用最为广泛的,最流行的技术前沿课程。

3.2.3软件工程专业系统分析课程系统分析能力课程主要包括操作系统、计算机网络,软件工程、数据库原理等系统类课程。

3.2.4系统实现与集成能力课程系统实现与集成能力方面课程主要包括网络编程、移动互联开发编程、编译技术、软件开发以及软件测试等课程[4]。

3.3实践以校企联合培养为手段,一至两学年时长为周期,贴近企业实际需求为指导,综合技能全面提高为目的来对专业学生进行实践能力培养,方式如下:

3.3.1校企共同建设实训课程以项目介入为主线,企业实际效益项目和高校产学研项目为实际授课主体。引进企业优秀项目人才或具有企业项目实战经验的教师来对专业人才展开课程实训,全面提高学生专业技能水平,综合素养。校企共同培养模式不但能够提高学生工程实践能力,知识转化生产实际速度,同时反向激发学生探究、学习知识的热情,最终提高就业竞争力[5]。

3.3.2合作企业岗位实训针对毕业学生和部分专业老师做岗位综合实训:①学生岗位实训:让学生真实参与企业项目实战,充分消化吸收前期所学理论和技能知识,进一步提升学生综合能力,为就业夯实基础。②老师岗位实训:专业老师参与企业项目研发,并将企业项目开发经验和技术进行梳理总结、编纂成册,运用到实际日常教学环节,促进教学质量提高,有利于缩短理论转化实际成果周期。

3.3.3校企合作运用项目方式指导学生做毕业论文(设计)毕业论文(设计)是对学生的专业知识掌握程度与提升高度的一次全面的考核,同时也是培养学生综合运用所学知识,独立地分析问题和解决问题的能力的一次全面的实训。但是传统的教育模式导致大多地方院校工科专业学生毕业论文流于形式,与实际脱节。通过与企业合作运用项目方式指导学生做毕业论文(设计)弱化学生对毕业论文(设计)的抵触情绪,可以进一步让学生了解行业企业实际运作规范及最新技术,进一步加强对学生实践和技能能力的培养,为毕业后从容就业夯实基础。

4结语

软件工程专业课程体系建设改革主要侧重于软件开发技术人才的培养,对学生的知识体系构建,学习方法的形成影响重大;对专业教师教学模式的改变,教学水平和科研理论转化成果周期率提高极具促进作用。课程体系建设在实施过程中需有大量工作需要处理,也有很多新问题需要我们去探索、解答,整个课程体系按照CDIO[6]方式建设和验证。

软件工程论文 篇三

现代化社会的发展,软件工程广泛应用到嵌入式系统、人机界面、翻译器、电子邮件及数据库和各项操作系统中。在此基础上,还受到了航空、工业、政府部门及银行等各个行业的大力追捧,大大减少了各行业工作人员的工作总量,有效提高了他们的工作效率,并促使人民群众的生活质量得到提高,带动了社会经济的发展。软件工程的开发离不开软件工程师,根据领域的不同又分成系统测试员、分析员、工程师及程序员等,统称为软件工程师。他们肩负着对费用合理、质量良好的软件产品的开发,通常情况下,其主要以产品的可靠性、安全性、可维护性、实用性、功能性等指标来衡量软件产品的整体质量。

2软件工程开发技术

2.1软件标准化应用技术

软件标准化应用技术又分成软件标准和软件过程标准,其是软件构件和软件重用技术开发与发展的先决条件,可有效保障软件工程产业的健康发展。软件标准化应用技术直接关系到软件工程各项指标能否达到相关标准,其也是衡量软件工程成熟度的重要条件。国际标准化工程和系统工程委员会详细指出了软件工程的标准结构,加之美国国防部关于软件标准相关内容的提出,并列成为当代软件工程的两大重要标准。

2.2软件构件和软件重用技术

软件构件和软件重用技术一直是软件工程开发中的重要环节。软件重用是开发和研究软件的必要手段,构件作为一项基础条件有着不可小觑的重要作用。其中,软件重用技术可让软件工程师从大量写代码的工作中解脱出来,促使其更好的投入到更具适用性软件系统的开发中,从而确保空间和相关问题的一致性。软件构件技术是实现重用技术的前提,两者相辅相成,互相促进。这一过程中,各类开发工具是软件开发和应用的依托,如集成开发环境、构件库管理及运行环境等。

2.3中间件技术的采用

中间件平台作为软件系统开发和运行的支撑,是实现构件技术的前提。中间件适用于合适的平台上,加速软件的隔离和抽象,最终形成构件。因此,中间件技术在软件行业中备受青睐,根据分布对象、通信、事务处理、调用远程过程、访问中间件这五大类进行划分,具有划时代的意义。

3软件工程开发过程

3.1用户需求分析

用户需求分析即为在构建或改变软件系统时,应根据新系统的定义、范围及功能等内容进行用户群体需求分析,并综合分析数据准确把握系统定位,以开发出优质的系统软件。该过程中,协调需求分析员和软件工程师之间的关系是十分关键的,两者强强合作后,应首先找准目标用户群,并针对用户的实际需求确定系统软件的各项功能,最终制定出最佳系统开发方案。

3.2软件系统分析

软件系统分析主要是指归纳和整合需求调查中的各项数据和相关资料,并针对软件内部实际管理和信息处理情况进行分析。软件系统分析的主要目的是为了落实用户的相关需求,并寻求出最具适用性的解决方法,其是软件设计过程中不可或缺的组成部分。

3.3软件测试

在整个软件系统进入使用之前,软件测试是最为重要的环节之一,在进行软件测试时,不仅能对软件的需求进行分析,还能对软件的功能及性能进行验证。软件测试是指,根据运用软件的测试方法和测试工具,按照测试流程及测试方案,对被测试软件的功能与性能进行检测。在对软件进行测试的过程中,编程人员可以按照不同的软件和不同的架构编写出各种测试系统以及测试方案和工具,以控制将有可能出现的问题。在软件开发的整个过程中,都要紧抓各个开发环节及时进行同步的测试内容,并且针对测试中发现的问题加以解决,同时完善相关的开发程序。在此之后进行重复测试,在反复测试中不断完善各种问题,直到软件最终成为完整产品。

4软件工程开发的基本特征与应用情况

4.1明确性

软件工程在进行软件设计时就已经根据人们多种多样的需求制定了明确的目标。软件工程设计的任务是在工程实施或者产品投产之前,为这项工程或产品提供各种需求的标准,这一任务正是体现了软件工程中“需求分析”的特点,并且需求分析的质量对软件开发的成败有着直接影响。在这个阶段中,开发技术人员需要不断的与用户进行沟通和交流,完全明确软件开发项目的概念,最终形成一个完整的、清晰的、明确的开发目标。

4.2完整性

在用户或者服务器系统的应用中,保证信息准确无误的重要条件是数据及数据处理的完整性。因此,在软件开发的过程中,确保数据及数据处理完整性的逻辑要求是最为严密的。例如,有时在处理一个事物的过程中,会修改多个表格数据,如果在修改中发生了任何细小错误,都必须放弃整个处理过程,而不是其中的一个过程,然后返回最开始的阶段,以确保操作的完整性,从而保证了数据及数据处理的完整性。

4.3规范性

应用软件的开发工作在不同人员进行修改时需要能较为容易的接手,因此开发应用软件必须保证规范性。由于软件在开发的过程中需要按照一定的规则进行对象组合,所以能符合标准。但是如果是群体开发软件,由于每个程序员的想法及工作习惯都不相同,因此不容易符合标准,而软件开发的标准极为重要,必须保证其规范性,所以在软件开发的过程中,程序员之间需要多沟通交流,确保软件的顺利开发。

4.4易维护性

由于在软件开发的过程中,对象组合具有继承性,在对祖先对象进行修改时,也会对其继承对象造成直接影响,提高了软件程序在一定程度上的维护性。并且,逻辑规定和语法规定相同,群体开发软件不会因为个人特有的思想与工作习惯受到影响,从而使软件开发的维护性得到了保证,也提高了相互之间互相弥补的可能性。

4.5创新性

科学技术需要发展,发展离不开创新。随着工程技术的不断创新,软件开发出的产品在满足人们高要求的同时不断进步,为了获得广大用户的信任与支持,系统分析员在进行系统分析时,应当全方位了解广大用户的需求,针对用户的各种需求提出可行性方案,并且在不断的与用户交流中完善与改进方案,在如此反复中完成整个设计开发的过程。

5结束语

软件工程毕业论文 篇四

[摘要]当前计算机软件的复杂性处于日益增长的趋势,不仅意味着软件技术的飞跃,同时也意味着计算机软件的规模也将随之不断扩大。在这样的背景下,面向对象的软件工程逐渐成为了软件开发过程中的主流技术,在近年来逐渐由面向对象编程向面向对象分析及面向对象设计转移,为计算机软件的发展开辟了新的道路,成为了一种主要的研究方向。

[关键词]面向对象;软件工程;开发

前言

软件工程的设计在于对工程学的相关理论进行利用,并由此作为立足点来进行软件开发与维护。作为软件工程方法中的一大主流方向,面向对象的方法在近年来得到了较为广泛的应用。在该方法中,对象的主要特征属性在于数据与操作,其中数据对应于对象的内部属性特征,操作对应于对象的外部运动规律,通过利用面向对象的方法,软件开发与维护的便捷性可得到根本提升。本文特针对基于面向对象的软件工程开发进行了相关探究,现总结如下。

一、面向对象的分析与设计概述

面向对象的分析过程主要包含以下两个阶段:①对用户需求进行提取与抽象概括;②建立模型。面向对象的设计过程主要是将用户的实际要求进行转换与设计,使其成为一个最优的方案。面向对象的方法在由分析到设计的过程中,所有已知条件处于不断扩充的状态,在对其进行优化与完善后,最终使其成为模型。分析与设计虽属于两个不同的阶段,但两者不仅相互联系、相互影响,甚至可相互产生制约。一方面,分析的准确性可对所建立模型的实际意义产生直接影响,同时也是设计结果的折射;另一方面,设计阶段并非可脱离分析阶段独立运行,反之,在这一阶段中需对分析的结果进行反复的理解,由此对其进行完善。

二、面对对象的开发方法研究

2、1Booch方法

Booch这一方法主要分为微观与宏观两个过程,两个过程之间存在一定联合,同时相互区别,笔者在此进行区别概述。微观的过程可概括为以下几个方面:①将类和对象抽象化,在问题中进行类和对象的挖掘,同时确定实现对象功能的行为;②对抽象出来的类的状态及行为进行建立,主要对类图进行利用,由此建立起识别对象与类的关系,对类对象的边界进行确认,并对相互协同作用的类对象进行辨别;③对算法与数据结构进行优化设计,以实现对象类与对象。与微观过程不同的是,宏观过程对于风险与结构更为侧重。进行宏观软件工程开发时,一些相应的成果及活动随之得以确定,为风险评估工作与修改工作提供了便利条件。在宏观过程中,结构与完整性两个因素得到了重点强调,对概念化和需求的建立提出了新的要求。在概念化的过程中,对于创造性具有较高的要求,且无固定模式与框架,建立核心的需求是该过程中的根本任务。另外,在分析过程中,需对软件开发所需的模型进行提供,并充分对系统的行为引起重视,由此作为立足点,对系统的功能特点进行区分;设计过程中,主要侧重于系统结构的实现。

2、2OMT方法

OMT方法是一种在数据库的关系设计中具有广泛应用范围的方法,且在不断发展的过程中,在面向对象的分析与设计领域中也逐渐得到了应用。在实体与关系模型的基础上,OMT方法又做出了进一步拓展,主要包括类、行为、继承等。该方法的模型主要分为如下三种:①对象的模型。该模型主要对对象静态的结构进行表述,并对其相互之间的作用关系进行表达;②动态的模型。该模型主要对系统动态的变化特点进行描述,如随时间的变化等,状态与活动是其重要概念;③功能的模型。该模型主要将不同的数据值在系统内进行转换,如数据存储、数据流、控制流的概念等。总而言之,OMT方法对于分析数据密集型的信息系统具有重要的意义,同时具有较为广阔的发展前景。

2、3UML方法

UML这一建模语言的特点在于易于表达、思路清晰、功能强大,包含着静态、动态、系统环境模型等。在这一方法中,可通过可视化建模工具所提供的代码来对模型进行转换,使其成为一种编程语言,不仅如此,还可通过对相应的工具与方法进行利用,使其产生逆向转换,使其成为UML。在UML方法中,基于例图、对象图、类图的模型可划分为静态模型;基于状态图、活动图的模型可划分为动态类型。这一方法的优势在于对先前各种建模技术的经验与特点做出了综合与总结,并对其中的有利条件进行了吸收,形成一种标准的建模语言。例如,Web系统、数据的模型等新的思想均在UML技术中得到了充分体现,为其提供了深厚的内在支持。

三、面向对象的软件工程开发的特点及优势

经实践研究表明,面向对象进行设计的软件工程在当前的计算机软件工程中具有较强的优势。第一,该方法与人类的思维方式更为贴近;

第二,该方法具有较强的稳定性;

第三,具有更强的可复用性;

第四,在大型产品的开发与维护工作中可提供更为良好的便利条件。该方法的特点主要可概括如下:①对象属于基本元素,不同的基本元素之间可进行组合,形成复杂的软件对象,并由软件对象构成整体的系统;②在对不同的对象类进行划分时,可各自对应的数据与方法;③层次结构可通过子类与父类来进行设定;④不同对象之间可进行相互联系。

四、结语

综上所述,面向对象的软件开发工程是一种具有较强先进性的方法,在计算机软件开发工作中具有重要的意义,但仍面临着一定的局限性,需在今后的实践中做出相应的完善。

软件工程论文 篇五

[关键词]软件人才;工程实践;实践教学

软件工程专业要注重培养学生的软件开发能力,使学生成为具有扎实的软件工程理论知识,并熟练掌握软件设计、开发、测试、维护技术,具备软件开发组织管理能力的高级软件人才。针对这个专业培养目标,各大高校对软件人才培养思路纷纷进行探索。湖南大学软件工程人才培养以工程实践锻炼为重点,强调以扎实的专业理论知识全面指导软件工程实践,并开展了一系列强化专业特色、促进学生专业技能发展、培养学生创新能力的实践教学改革,取得了显著的效果。

1.完善实践教学体系,锻炼学生动手能力

为了实现理论学习与动手能力的结合,积累项目开发经验,湖南大学结合内外两个课堂建立了较为完整的工程项目开发过程的学习和实践体系,90%以上的专业课程含有实验环节,校内集中实习8周;结合毕业实习和毕业设计,校外企业实践一年。为搞好毕业实习和毕业设计,不仅设计了完善的实践教学质量控制体系,还建立了激励学生提高实践能力和创新能力的机制。

(1)项目开发小组。项目开发小组学习模式旨在使学生巩固专业基础知识。学生以指导教师确定的实际项目或虚拟项目为课题,在教师的指导和培训下自主学习,共同探讨。这种模式不但使学生掌握自学专业知识的方法,也培养了学生的团队精神,使其熟悉了软件项目的规范化开发过程,同时,编程能力、文档撰写能力和表述能力等都得到了一定提高。

(2)课程设计。巩固了专业知识后,根据教学计划,学生学习进入偏重思考和技巧的课程设计环节,主要有C++程序设计、计算机组成与结构设计、网络程序设计基础、嵌入式系统、数字图像处理等。所有授课和实践都在实验室进行,指导老师面对面指导并与学生交流。同时,该校还开发了完整的基于人机交互的个性化学习系统,保证了教学目的的实现。

(3)校内工程训练。在前期的充分准备后,学生进入工程训练阶段。指导教师根据所指导的团队的基本情况,就一个工程项目从需求分析、程序设计、运行测试到最后的总结报告对学生进行团队合作开发项目全程的工程训练,重点培养学生的独立分析能力、团结协作精神以及创新性开发意识等。

(4)校外工程实习。根据项目开发的经验,工程实习环境对养成良好的工程意识和工程能力有较大作用,实习环境包括了开发场地、工程环境、工程氛围以及背景文化等。为了培养学生的实际工程能力,使学生“毕业即上岗”,该校在进行充分的研讨和论证后,直接从教学计划入手,制定了大学四年级学生进人企业“真枪实弹”实习一年的教学计划。目前已在全国各大IT企业建立了60余个学生实习基地,所有学生分别进入北京、上海、广州、深圳、武汉、长沙、南昌等城市的部分软件企业参加实习。在实习期间,建立完善严格的培养考核机制,包括对学生工程素质评价、对教学体系的企业评价、学生中期考核评价反馈、实习基地建设等,专家定期指导和检查实习情况,学生也必须定期向专业导师反馈自己在企业中的工作和学习情况,保证工程实践的顺利进行和毕业设计的质量。2.搭建创新平台,培养学生自主创新能力

为培养学生的自主创新能力,该校搭建的创新平台主要包括:

(1)微软“创新杯”软件设计大赛。该校借助微软亚洲研究院的支持,发起并组织创办了湖南大学微软“创新杯”软件设计大赛。自2004年首届“创新杯”软件设计大赛以来,已举行三届,有来自校内上十个院系和省内其他各个高校的共百余件作品参加了比赛。同时,还邀请校内教授和企业专家通过项目跟踪和技术指导等方式对各参赛团队进行指导,为校内外的软件开发及技术爱好者提供一个切磋技艺、相互学习的交流平台,更为软件学院的学生提供了一个学习和实践的巨大空间。“创新杯”软件设计大赛已成为校园科技文化节赛事的亮点之一,也将发展成为湖南大学的IT传统赛事。

(2)其他创新性竞赛。该校以培养学生创新性为出发点,充分利用课内外时间,通过各种形式的科技创新活动增强学生的创新意识,培养学生的创新能力,并指定专门教师负责,组织和指导学生参加大学生创新训练(SIT)项目、数模竞赛、美国ICM和IBM竞赛等,为学生搭建一个接触社会实际、增长创业才干的平台。这些创新训练培养了学生的逻辑思维能力、动手能力、科研能力,同时提高了其书写文档的水平。

(3)学生社团活动。培养学生的创新性能力关键在于激发学生的学习主动性和自主创新性意识。为此,该校利用湖南省的三辰动画等数字技术方面的优势,大力培养学生的电脑动画设计和数字媒体技术等方面的能力,扩展学生的知识面,强化就业优势。他们在2005年成功地举办了长沙高校动漫嘉年华活动,参加此次动漫活动的除湖南大学外,还有中南大学、湖南师范大学、湖南农业大学等10多所高校和单位。活动内容包括了cosplay、手绘作品展以及现场的万人涂鸦大型系列活动等。此举得到了长沙各高校动漫爱好者的好评,在学生中形成了积极的影响,同时吸引了湖南各界动漫爱好者的积极响应,湖南经视、娱乐频道等媒体都进行了相关报道。

软件工程毕业论文 篇六

关键词:软件工程;毕业设计;应用

一、引言

毕业设计是本科毕业生在校期间的最后实践和综合实训阶段,是实现本科教育培养目标的重要组成部分,是深化、拓展、综合应用所学理论知识的重要过程;也是综合素质与工程实践能力培养效果的全面检验;是学生毕业及学位资格认定的重要依据;是衡量高等教育质量和办学效益的重要评价,是对专业理论知识和专业技术综合应用能力的强化训练和提升[1]。在毕业设计的过程中,学生利用所学专业理论知识,通过了解社会,分析社会需求,深入实践,完成毕业设计的任务和撰写毕业论文(设计)报告等各个环节的工作。对于地方应用型普通本科高校而言,毕业设计就相当于一般高等学校的毕业论文,但是毕业设计不同于毕业论文,它的组成部分不只是一篇学术论文。应用型高校的毕业设计注重的是“应用性”和“实践性”,学生毕业设计要求学生针对某一课题,综合运用本专业有关课程的理论和技术,自己动手动脑做出解决实际问题的设计。目的是总结、检查学生在校期间的学习成果,是评定毕业成绩的重要依据。同时,通过毕业设计,可培养学生开发项目的基本综合能力,为学生就业能力中的专业能力奠定坚实的基础;培养综合运用已有知识独立解决问题的能力,从而加强学生应用能力的培养,使学生能够学以致用。

二、地方应用型普通高校计算机相关专业学生毕业设计的现状

近几年来,由于学校对毕业设计要求不断提高,学生从选题到设计再到写出毕业设计报告的过程中总存在这样那样的问题,最终有个别同学没有顺利通过毕业设计,没有拿到毕业证和学位证的情况时有发生,并且大多数毕业设计的水平不高,达不到培养学生独立解决问题和提高学生应用能力的目的。因此,如何指导学生做好毕业设计,提高学生毕业设计水平和质量,是地方应用型普通高校面临的一个重要问题。

(一)毕业设计选题现状最近几年,我校计算机相关专业毕业生自进入大四秋季学期开始,在进行毕业实习的同时,也进入了毕业设计准备阶段:毕业设计选题,虽然毕业设计选题过程中,各级领导、指导教师和学生在态度是都很重视,但是在选题时也会存在很多的问题,主要有以下三个方面。1.选题不够准确。部分学生选题未经深思熟虑,所选毕业设计题目要实现的功能太多,在规定时间内不能独立完成,而最终只能实现部分功能,或部分模块。

2.题目相似或重复雷同。学生选题存在浑水摸鱼的思想,在毕业设计选题过程中不是根据自己的兴趣爱好、专业知识学习情况等确定研究选题,而是选择与他人类似或雷同的选题,甚至同一批毕业的许多学生选题一致。比如:“XX管理系统”等,除了可能冠以的系统名称不同之外,其余基本相同。

3.应用价值低。部分学生的选题是当前十分成熟的项目,没有研究的必要;有些选题已经被淘汰,在实际生活和工作中没有多大用途。

(二)毕业设计需求分析阶段现状

通过调查,许多学生选题完成后,没有对自己所做毕业设计选题进行仔细了解、分析,他们认为在毕业设计中最重要的就是编程,其他方面一带而过[2],从而造成毕业设计过程中主题经常进行修改,最终使得整个系统杂乱无章,无法继续进行下去。因此学生在毕业设计的需求分析阶段主要有以下三个方面的问题。

1.选题后未进行实际调查研究,甚至未查找相应的参考文献。

2.需求分析进行得不彻底、不准确,即使选题后查找了参考文献和资料的,也未做充分了解和分析。

3.在需求分析阶段没有写出需求规格说明书或系统分析报告就匆忙进入系统设计阶段,导致随着系统设计的逐步深入,原来确定的需求不能满足毕业设计的需要,正在进行的设计与开始的期望和设想又不相符。

(三)毕业设计系统设计阶段现状

在系统设计阶段,普遍存在以下两个方面问题。

1.由于需求的不明确,在进行系统设计时,修改随意,没有严格按照软件开发的步骤进行。好多学生在进行系统设计时并没有建出相应的功能模型,不管是用例图还是DFD图都没有,而且系统设计过程中功能随意变换,并且各功能模块的层次结构不清晰,使得整个系统的功能模块划分凌乱,不符合软件设计中“高内聚,低耦合”的原则。

2.在软件设计过程中,不先进行概要设计、详细设计和模块设计,没有软件的过程性描述,直接进行编码,存在想到哪里就做到哪里,走到哪儿算哪儿的随意思想[3],当前内容没有做完便开始其他内容,使得整个系统设计杂乱无章。在这样的一种研究状态下,即使完成了设计,效率也非常低下,软件结构混乱,功能实现不完全,降低了软件设计的质量。

(四)毕业设计实现阶段现状

通常把编码和测试统称为实现。在进行软件设计后,就可以根据设计结果来实现,将软件的过程性描述编码,得到计算机可以运行的源代码。在实现阶段主要有以下几方面的问题。

1.编码随意。学生在编码的过程中,不注意编程风格的把握,导致程序的可读性、可理解性、可修改性等较差,在答辨的过程中,要求指出某个功能模块的代码时,经常要花费很多时间才找得到。

2.测试和调试可有可无。大部分学生在毕业设计的软件编码完成以后,从没有想过进行完整的系统测试,或者只对个别功能进行测试或是随意测试,没有按照测试步骤逐步进行;基本没有单元测试和集成测试,一般只是最终随便输入几个数据简单检测一下,如果有错,修改了就算完了;也没有进行回归测试,没有测试计划,没有想过用什么测试技术来检测某一类型的错识,没有相应的测试用例,也没有测试结果分析。由于学生毕业设计都是一人一题,基本上是一个人完成所有步骤,就算有测试,在测试阶段也是自己进行测试,从心理学的角度来说,自己对自己开发的软件进行测试是不可取的。由于前面阶段的文档不完善,也不重视测试过程,不清楚是否实现了系统最初设计的功能,是否达到相应的性能要求,总以为程序做出来后毕业设计就完成了,使得毕业设计经常在更换运行环境或答辩时发生错误和问题,从而使得设计得不到好评甚至无法通过。

(五)毕业设计应用现状

最近几年,我校计算机相关专业毕业设计投入使用数量接近于零。究其原因主要是由于设计不完全,未进行测试和调试,存在的错误和缺陷较多,文档和数据不完整,导致所开发的系统或软件不能方便地转让、变更、修正、扩充和使用,也没有为后期培训、维护留下完备的资料;因此,不能投入到真正的使用过程中,也不能实现系统或软件产品的效益。

三、软件工程思想的应用

软件工程(SoftwareEngineering,简称为SE)是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科。软件工程中的软件生命周期是一个软件从软件定义、开发、运行和维护,直到最终被废弃的整个过程[2]。地方应用型普通高校计算机相关专业学生毕业设计基本都是开发一些中、小型应用系统或软件,因此,学生毕业设计也要经历软件生命周期各个阶段,严格遵守软件工程的各个原则,这样有助于解决毕业设计中存在的问题,提高毕业设计的质量。通过对应用型普通本科高校计算机相关专业的学生在进行毕业设计的过程中存在的问题进行分析,在毕业设计的过程中,必须运用软件工程的观点、技术和方法来指导毕业设计,这样既节约了毕业设计的时间和学生的精力,也能做出最优质的毕业设计。

1.选题过程中的应用。毕业设计选题就是软件生命周期的问题定义中的问题提出阶段,选好题目是进行深入研究的基础,也是写出高质量毕业论文的前提。地方应用型普通本科高校计算机相关专业的毕业设计选题必须做到以下几点:(1)必须在对选题做了充分调查、分析,对检索的参考文献、资料有了整体把握的基础上提出。(2)必须符合本专业培养方案规定的培养目标的要求。(3)以选择工程性较强的课题为主,确保有足够的工程性训练。(4)要有明确的设计成果,对于较大型任务的课题要明确阶段性成果。(5)要达到规定的工作量,难易度适中,确保能在规定的时间内完成整个课题工作。(6)要围绕生产生活实际,所选题目一定具有一定的理论意义和实践意义,具有一定的价值。(7)原则上一人一题,对于较大型任务的课题,每个学生必须有独立子课题。结合以上几点,分别从专业基础、现实意义等方面进行全面分析,进行取舍,最终得出选题。

2.开题过程中的应用。在毕业设计的开题过程中,需要明确所选题目的选题依据(包括选择课题的背景、选题研究的理论及实践意义)、选题研究现状(包括目前国内外对本选题的研究情况和有待解决的问题)、研究内容与方法,而这些就是软件工程中需求分析阶段应该做的事情。需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作[3]。因此开题过程中最重要的是进行需求分析,需求分析具有决策性、方向性、策略性的作用,在软件开发的过程中具有举足轻重的地位。需求分析完成的好坏直接影响后续软件开发的质量。开题过程中需要指导学生大量地阅读相关的研究资料,同时根据资料进行分析研究,对当前毕业设计的研究进度做到心中有数,明确毕业设计的具体方向,写出毕业设计的研究内容与方法,得到相应的设计提纲,解决好设计什么,如何设计的问题。因此,应用好软件工程的思想来指导毕业设计的开题是至关重要的。根据学校对学生毕业论文的要求,在计算机相关专业的毕业设计报告中,要求要有数据流图、数据字典等相应内容,而软件工程中的数据流图(DataFlowDia-gram,简称DFD),它是从数据传递和加工角度,以图形方式来表达系统的逻辑功能、数据在系统内部的逻辑流向和逻辑变换过程。它是描述系统中数据流程的图形工具,它标识了一个系统的逻辑输入和逻辑输出,以及把逻辑输入转换为逻辑输出所需的加工处理[3]。因此,在这个阶段,要指导学生按照DFD图的要求,确定设计的功能,然后根据系统分析结果写出分析报告,就得出毕业论文中系统分析阶段的初始文档。

3.在实践研究环节的应用。根据需求分析(开题阶段)的结果进行软件的概要设计和详细设计,注意在设计过程中要严格按照软件工程对于设计阶段的指导原则来进行设计。将概要设计阶段需求分析得到的DFD转换为软件结构和数据结构,即是根据需求确定软件和数据的总体框架,设计出软件的结构,也就是要确定系统中每个程序是由哪些模块组成的,以及这些模块相互间的关系。然后再进行详细设计,设计出每个模块的实现算法、所需的局部数据结构,并且对每个模块写出过程性描述;为每个模块设计出一组测试用例,在进行测试时就以此测试用例来进行测试。详细设计阶段的任务还不是具体地编写程序,而是要设计出程序的“蓝图”,以后将根据这个“蓝图”写出实际的程序代码。因此,指导教师要对学生的设计过程进行监督和指导,防止学生盲目的进行编码。

4.在实现阶段的应用。在编码的过程中,要注意编程风格的把握,编程的风格在很大程度上影响程序的可读性、可测试性和可维护性。在测试阶段,可以进行交叉测试,即学生之间可以两两交叉,相互测试,以更好的达到测试效果,同时也培养了学生的团队意识和合作意识。在测试过程中要注意运用软件工程的测试原则和测试思想,严格按照单元测试集成测试确认测试系统测试验收测试的测试步骤进行,利用白盒测试技术进行单元测试,黑盒测试技术进行其他测试,并且在找出错误并修改后要进行相应的回归测试,确认修改了错误并且没有引入新的错误,这样有利于找到软件中的各类错误,提高软件的质量。因此,在软件的测试过程中,一定要严格按照软件工程中的测试原则来进行,不可随意进行测试,并且要注意测试文档资料的收集整理,要有相应的测试计划和测试报告。对学生的创造性的思维和想法,指导教师要给予支持,积极引导,鼓励学生大胆创新,用应用型人才培养目标来要求学生,保证高质量的毕业设计的完成。

5.在毕业论文(设计)报告方面的应用。对于应用型普通本科高校计算机相关专业的毕业设计而言,不单单是完成了一个系统的设计,还要有相应的设计报告,而设计报告的编写过程中,很多学生存在文字表达能力不强的现象,为了完成报告,就有可能会抄袭,特别是在软件开发的各个阶段文档材料不全的情况下更为严重。因此,在学生进行软件开发的各个环节中,指导教师都应该按照软件工程的观点来进行指导,并要求学生在各个阶段都完成相应的文档。这样在毕业设计报告撰写的过程中,只要将各个阶段的文档进行合并、整理就得到相应的设计报告,并且是一篇重复率不高的高质量的设计报告。6.在毕业设计实际应用方面的应用。因为学生在整个系统或软件过程中均按软件设计规范准备了文档和进行了完整的系统测试,从而为系统或软件的专利申请提供了充分必要的资料,并为毕业设计的实际应用打下良好的基础。

四、结语

计算机相关专业学生的毕业设计在学生的整个大学生活中具有极其重要的地位和作用,根据应用型普通本科高校人才培养的定位,主要是培养学生的独立思考能力、动手能力和应用能力。通过对软件工程思想在计算机相关专业学生毕业设计的过程及方法中的应用研究,逐步实现学生毕业设计的实际成果转化,从而为应用型计算机相关专业人才培养提供相应的借鉴。

作者:龙亚 张仕学 余廷忠 单位:贵州工程应用技术学院

参考文献:

[1]汪灵,林金辉,龙剑平。理工科大学毕业设计(论文)团队指导法研究与实践[J].成都理工大学学报(社会科学版),2008,(4):94-97.

[2]姚期智。浅谈计算机科学人才培育[J].计算机教育,2011,(11):6-9.

以上就是差异网为大家带来的6篇《计算机软件工程论文》,希望对您有一些参考价值,更多范文样本、模板格式尽在差异网。

300 48908