软件工程专业导论论文汇总十篇

时间:2023-03-21 17:00:24

软件工程专业导论论文

软件工程专业导论论文篇(1)

(一)教学方式单一化、理论化

软件工程专业的特点是理论性与实践性并重,特别是实践性非常强,软件工程的许多理论都来源于对实践的总结与归纳。但是目前的教学方法还主要是沿用计算机科学与技术专业的教学方式,偏向纯理论介绍,教学方式上还是以教师讲、学生听为主的“灌输式”的“教授/接受式”传统教学,学生只是被动接受,学习积极性不高。此外,很多教师缺少实际软件项目的开发经历,在教学过程中缺少必要的案例或者使用的案例不合适,妨碍了学生对软件工程中基本概念与理论的理解,不明白可行性分析、需求分析、软件设计的必要性以及不会撰写所对应的文档。

(二)实践少,理论与实践相脱节,学生动手能力差

目前很多高校软件工程专业开设的理论课比较多,实验课比较少,并且由于目前的专业教师大都是毕业后直接到高校工作的,缺少开发大型软件项目的实际经历,设计的实验题目大都规模比较小并且比较零散,比如成绩管理系统,学生可以直接进行设计与编码,无需可行性分析、需求设计、软件设计、进度安排等环节,也没有必要撰写相关的文档。如此以来,学生不能够加深对相关概念与理论的学习,没有体会到软件工程理论在实际软件项目开发中的重要作用,导致学生面对实际软件项目时无法下手,这直接影响到软件工程专业毕业学生的市场竞争力。

(三)校企合作不够

校企合作是实现高校软件工程人才培养与企业需求无缝连接,培养高素质软件人才的重要途径之一,尽管目前很多高校的软件工程专业都建立了校企合作模式,取得了不错的成绩,但校企合作存在着缺乏相应的政策引导、缺少双方交流的平台、企业积极性不高、合作松散、管理手段缺乏等问题。这样就会出现高校培养的软件人才动手能力差,无法满足企业的需要,而软件企业又找不到合适人才的尴尬局面。校企合作力度不够在地方院校表现的更为突出,主要原因是地方院校的软件工程专业在影响力与办学规模上与部级软件学院有一定的差距,知名的软件企业很少愿意与地方院校合作,另一方面,地方院校缺乏政策与资金的支持,缺乏寻求与企业合作的机会。

二、应用驱动为导向的人才培养模式的改革措施

软件工程专业存在的重理论、轻实践的弊端,使得培养的学生在校学习的知识不能形成一个有效的体系,也没有机会将所学知识融于具体项目之中,同时也不清楚当前软件企业对人才的真正需求。而另一方面,软件企业希望新招聘来的员工能够直接融入到项目的开发中,能够解决项目中的实际问题。这样就形成了高校培养的软件人才“过剩”,而软件公司所需人才“短缺”的矛盾局面。为此,本文提出了以实际应用驱动为导向的人才培养模式,以培养能够在软件公司的一线解决实际应用问题、能在实践中应用所学知识、在实践中创新的应用型人才,并对该培养模式的相关实施方法进行了探讨。应用驱动为导向的软件工程人才培养模式的基本保障是以实际应用为导向加强师资建设,该培养模式按照人类认识的规律,以解决实际问题为目标,的三个阶梯式阶段:案例式课堂教学,项目式综合实训,顶岗式专业实习。

(一)以应用为导向加强师资建设

师资建设是专业建的首位,教师在人才培养中起着不可替代的作用。目前,软件工程专业的师资建设主要还是以理论研究为导向,多数教师从学校硕士或博士毕业后直接到高校工作,主要以理论研究为主,缺乏大型软件项目开发经验,不太了解软件产业的新技术与新动向,从而在教学过程中出现重理论、轻实践的现象,很不利于软件工程专业人才的培养。以应用为导向的师资建设就是在现有的以理论研究为导向的基础上,注重提高教师的实际动手能力,可以从以下3个方面做起:①改变传统的以学历和科研为导向的高校教师招聘方式,软件工程专业应当招聘一批具有大型软件项目开发资深经验的软件工程师,比例占师资总数的30%~40%为为宜;鉴于软件技术的快速更新,应定期派遣教师到知名软件公司的一线进行学习和培训;倡导并且增加教师带动学生参加研发类横向课题的机会,提高教师与学生的实际动手能力。

(二)案例式课堂教学

改变传统的“灌输式”的“教授/接受式”教学模式,使用案例驱动式的教学模式,就是指教师本着理论与实际有机结合的宗旨,遵循教学目的的要求,以案例为基本素材,通过师生、生生之间的双向和多向互动,让学生把所学的理论知识运用于“实践活动”中,以提高学生发现问题、分析问题和解决实际问题的能力。一方面,教师首先应准备一些引入型案例,例如,千年虫问题,来说明工程化方法对软件开发的重要性,并且提高学生的兴趣;另一方面,教师应该准备好一个能覆盖软件工程的各个环节和阶段、难度适宜的实际软件项目案例,这个案例最好是教师实际参加过的或者熟悉的项目,并且有必要的软件文档,然后把这个案例作为一个实际情境,结合案例引入并讲授各个知识点,必须要求学生撰写相应的文档和程序,然后与使用案例的已有标准文档和程序进行比较,找到自己的不足,加深对知识点的学习与理解,做到理论与实际相结合。

(三)项目式综合实训

鉴于软件工程专业的实践性很强,应该以实际应用项目为驱动进行软件工程的课程综合实训,让学生按照软件工程开发的流程去独立地完成一个应用项目。首先,教师选择一些中小型的,生活中经常接触的项目作为综合实训项目库,项目的选择一定要难度适宜,太简单体现不出软件工程化开发方法的优点,但是也不能太难,难度控制在学生可以运用所学习的知识、技能,通过讨论和合作可以完成,然后由学生人组成的小组从中选择合适的项目。然后,每个小组模拟软件企业中的一个项目开发小组,进行分工合作,由组长作为项目经理与指导教师沟通,指导教师模拟实际的客户。最后,项目组严格按照软件项目的开发流程来一步一步完成任务,应该包括可行性研究、需求分析、系统设计、实现与测试等阶段。在每个阶段学生应该提交必要的文档,可以按照《计算机软件文档编制规范》(GB-T8567-2006)撰写可行性分析报告(FAR)、软件需求规格说明(SRS)、软件(结构)设计说明(SDD)、软件测试报告(STR)等。在每个阶段,学生应利用流行的软件工程工具,例如,Microsoft Project、RationalRose等。

(四)顶岗式专业实习

软件工程专业培养的人才最终是面向软件公司的,所以很有必要在第四学年时采用校企合作的方式,委派学生到软件公司顶岗实习,时间根据实际情况以个月为宜。在顶岗实习期间学生要与正常的员工一样完成企业的工作要求,真正在实际软件开发中理解并应用前期学习到的知识与技能,实现自身能力的提高,成功地由学生角色过渡到职业角色。在实习期间,学生的管理以企业管理为主,学校管理为辅,学生、教师、企业三方根据实习项目的实际情况确定学生毕业设计题目的选题与设计,最终由学校的指导教师负责指导完成毕业设计论文的撰写与答辩等事宜。

软件工程专业导论论文篇(2)

软件工程是一门交叉性的工程学科,它将计算机科学、数学、工程学和管理学等基本原理应用于软件的开发与维护中,研究重点是大型软件系统的分析与评价、规格说明、设计和演化,同时也涉及管理、质量、创新、标准、个人技能、团队协作和专业实践等方面的内容。然而,软件工程开展近30年后,人们才对软件工程核心的知识体系达成共识。在国际上,ieee-cs和acm联合组建的软件工程协调委员会(swecc)了软件工程知识体系和推荐实践swebok2004[1],为软件工程职业实践建立了合适的准则和规范集,以作为产业决策、职业认证、课程教育的依据。基于swebok,swecc进一步定义了其中可以纳入教育程序的知识体系,包括本科生软件工程教育计划se2004中的seek、研究生软件工程教育计划gswe2009[2]中的cbok、软件工程职业道德规范和职业实践。

我国2002年启动了软件工程硕士培养程序。借助于计算机科学技术、数学、管理科学与工程诸多学科,软件工程已由计算机科学与技术专业下的一个学科方向,发展为一个独立的新兴交叉一级学科。但由于我国传统的高等教育注重科学研究能力培养,工程化人才教育开展时间较短,培养体系尚在不断改革完善,因此在很多院校中软件工程学科还没有脱离计算机科学与技术的范围,所培养的软件工程人才与工业界的要求尚有一定距离,整个硕士培养过程中,课程体系的设置是影响研究生业务能力和素质的重要因素,因此以企业需求为导向,以软件工程知识体系为核心,以训练实践能力的为目标的层次化软件工程课程体系改革对促进高等教育面向社会需求培养人才,全面提高工程教育人才培养质量具有十分重要的示范和引导作用。特别是在硕士生的培养上,对课程学习与学位论文的要本文由论文联盟收集整理求一般是同等并重,合理的课程体系是高等院校保证培养目标和形成办学特色的重要手段。软件工程硕士的定位和其他学生不同,这为我们的课程设置、建设与管理提出了新的挑战。

通过对国内众多高校的软件工程专业培养方案和课程设置进行分析,将其分为以下四种主要类型[3]:

(1)完全独立型:将软件工程彻底从计算机科学与技术专业分离出来,作为独立的一级学科,课程设置上综合计算机、数学、管理科学与工程等学科,偏重于数学基础,但实践能力较缺乏。

(2)以计算机科学与技术主体课程为基础,以软件工程理论课程为核心,加强实践教学型。以计算机科学与技术的课程体系为主体,教学中突出软件工程的知识体系,加强实践教学,根据企业需求或者人才市场需要,按照工程思想进行实践教学,同时校企结合,试图在实践中摸索和学习软件工程的工程理念,但在进行实践之前的软件工程理论基础不牢固。

(3)实践加强型的计算机科学与技术课程体系,在这个模式下,课程体系基本和计算机科学与技术相同,只是加强了实践环节,学生在学习和就业方面没有脱离计算机科学与技术专业,工作中所学的工程理念需要自己去学习。

(4)其他类型,鼓励学生参加各种软件大赛,推荐学生参加各种证书的考试,获取各种软件企业证书。这种类型中,学生所学内容较多,但是正是为了考试而学习,基础不扎实,同时真正的工程实践能力不够。

因此我们认为,目前的软件工程还没有脱离计算机科学与技术的范围,无论是从传统计算机科学与技术专业与软件工程专业的区别,还是本科生与研究生的区别来看,针对软件工程硕士的课程体系建设和教学改革研究都是十分有必要的,同时也是迫切的。

二、生源基础分析

gswe2009对给出了软件工程硕士的三种主要生源:

(1)在职程序员,由于没有受到过正规研究生教育,有些企业的在职人员对理论知识匮乏,因此具有系统学习的愿望;

(2)其他领域的专业人员,由于软件工程职业的兴起,以及目前人才市场对该专业的需求,使得其他领域的专业人员想要加入软件工程的队伍;

(3)没有工作经验的本科毕业生,在当前就业压力下,许多本科毕业生毕业后选择继续深造。

在我国,软件工程硕士研究生多是没有工作经验的本科毕业生,正式由于这些大学本科毕业生的基础专业各不相同,使得软件工程硕士研究生的课程设置更加复杂和重要。

三、知识体系分析

2004年8月,有全世界五百多位专家教授推出的软件工程知识体(swebok)和软件工程教育知识体(seek)两个文件的最终版本,包含了软件工程核心类的知识领域、基础类或前导类的知识领域以及其他相关领域的知识。2009年, gswe2009中的教育知识体系cbok主要来源于swebok,同时也参考了seek2004、incose2003和haskins2007。与swebok2010同步,gswe2009包含了一个新的知识领域ka(职业实践)和四个关于教育的ka(工程经济学基础、计算基础、数学基础和工程基础),同时两个在swebok中没有出现的ka(系统工程基础和职业操守指导)被加入了cbok。此外,cbok还调整了一些知识单元和知识点[4]。gswe2009由准备知识、核心知识、大学特有知识、选择性知识和顶点经验所构成。其中的大学特有知识有学生的入学基础决定,在整个硕士研究生的培养过程中,主要为学生设置学习专业核心知识之前的准备知识以及在学生职业实践课程中所需要的选择性知识,而顶点经验需要学生在学习专业核心知识和进行职业实践的过程中积累,因此,课程设置中准备知识和专业核心知识的设置以及学习方式尤为重要。

四、课程设置分析

通过对软件工程知识体系进行分析,软件工程硕士研究生应具备的主要能力有:基础开发技能、团队合作技能、发现并解决问题技能、系统建模技能、文档撰写技能。我们将硕士研究生的培养阶段分为:理论知识学习、职业实践、论文撰写三个阶段。在前两个阶段中,我们给出了三单元课程、两步实践的方式,三单元课程分别是:必选课单元、必修课单元、自选课单元,两步实践有:模拟职业实践、实际职业实践。传统的理论学习和职业实践通常是完全分开的两个阶段,但在软件工程这个特殊的学科,我们将理论学习和职业实践结合起来,在进入理论学习第二单元的同时进入模拟职业实践阶段。理论学习三个单元具体设置如下:

(1)必选课:选择工程经济学基础(例如知识产权与法律、企业管理与文化、领导学、信息经济学 、市场营销学等)、计算基础(例如算法设计与分析、高级软件工程、高级数据库、高级操作系统、高级网络技术)、数学基础(离散数学 、组合数学、 工程数学、数值分析)等准备知识中的专业主干课程按学科分类作为新生入学的必选课,取代以往将某些固定课程作为所有学生的基础课的方式,方便根据学生大学所学专业来选择自己所欠缺的准备知识进行学习,是知识的储备阶段,在本单元根据学生所选课程的成绩作为给定学分的依据。

(2)必修课:将软件工程基础中的核心知识(例如软件体系结构、软件项目管理、软件质量保证与软件测试技术、软件系统建模原理和方法、基于cmm 的软件过程改进、软件开发方法、软件需求工程)作为所有学生的必修课,培养学生能够系统全面地了解软件工程的概念,旨在学生具有扎实的软件工程及相关专业基础理论,熟练掌握软件工程知识和技能,并且具备作为软件工程师从事工程实践所需的专业能力。在学知识的同时,适当加入模拟职业实践的训练,根据学生的学习方向,将学生进行分组,进行模拟题目的训练,题目可以是各类大赛的题目、教师的科研课题以及学生自己选题,这是学生职业实践的第一步,培养学生基础开发技能、团队合作技能、系统建模以及独立创新技能,之所以称之为模拟职业实践,是因为这一步的实践题目并不是真正的软件工程课题,而是采用软件工程思想的实际课题,为下一步学生进入企业进行第二步的实际职业实践奠定基础,在本单元根据学生的课堂表现以及最后考核给出一部分成绩,另一部分成绩给出的依据是学生实践课题的完成情况以及在小组中的贡献程度,培养学生动手实践的同时,也提高了学生认识自我、团结合作的能力。

(3)自选课:学生根据自己对软件工程的理解以及通过对上一个单元所做题目的分析,选择自己所需要补充的基础专业知识,自行选择和学习,培养学生发现并解决问题以及自觉学习的能力。在这一单元中,导师根据学生所选专业知识的准确性以及学习之后对该软件工程专业的认识给出学生的成绩。

传统的课程设置一般都是先学习再实践,或者是边学习边实践的过程,前者学生在学习理论的同时没有实践练习,导致学生理论与实践结合得不好,后者在学习的过程中进行实践,锻炼了动手能力,但是学生往往不知所以然,只是按照老师的讲解去实践,对理论的指导作用理解不够,而我们通过上面学习-实践-学习的过程,学生不但对软件工程相关知识有所掌握,也具备了一定的实践能力,同时也培养了学生具有不断补充知识、总结自己、提高自己的意识和能力,在实践中体会到理论知识的作用,从而能够主动学习。在这个过程中,学生在学习软件工程核心知识的同时进入了职业实践的第一步模拟职业实践,将理论和实践很好地融合在一起,使理论的学习过程不再枯燥。

软件工程专业导论论文篇(3)

专业人才培养不具有明确针对性,人才培养结构合理性欠缺,专业人才培养层次相对单一。造成这一问题根源是地方院校对行业企业实际需求不明,导致专业人才培养定位不清。毕业生虽然专业知识结构比较全面,但实际工作能力不强,无法满足企业实际需求。

1.2专业课程设置不合理

课程体系建设是地方高校软件工程未来走内涵发展道路的核心。从调研地方本科学校现有软件工程课程体系实情来看,传统“学术型”课程体系架构占据主导,“应用型”与“学术型”课程体系架构区分度不明显。

1.3教师队伍应用型能力欠缺

地方高校软件工程现有师资队伍的实践能力不足,专业教师参与企业生产科研活动的力度不够。双师型结构教师比例低于30%。

1.4专业人才就业率低与企业“无人可用”矛盾冲突明显

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

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

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

2.1学科建设

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

2.2校企办学

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

2.3师资建设

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

3三层结构课程体系建设

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

3.1基础理论

由公共基础课程和专业基础课程构成:

①公共基础课程主要涵括地方高校各现行必修公共课程,

②专业基础课程是专业课程坚实的理论基础,专业必修前导课程,是对软件工程专业基本“计算”概念理解、掌握,问题计算求解能力和构建中小规模软件系统综合能力的初步培养。

3.2专业理论

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

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

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

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

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

3.3实践

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

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

3.3.2合作企业岗位实训针对毕业学生和部分专业老师做岗位综合实训:

①学生岗位实训:让学生真实参与企业项目实战,充分消化吸收前期所学理论和技能知识,进一步提升学生综合能力,为就业夯实基础。

②老师岗位实训:专业老师参与企业项目研发,并将企业项目开发经验和技术进行梳理总结、编纂成册,运用到实际日常教学环节,促进教学质量提高,有利于缩短理论转化实际成果周期。

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

软件工程专业导论论文篇(4)

1背景

中国信息产业部的数据显示,2008年中国软件产业整体保持快速增长态势,累计完成软件业务收入7572.9亿元,同比增长29.8%。与此同时,我国软件出口142亿美元,同比增长39%。企业对软件人才需求量在增大,估计人才缺口达到20万,而且这个需求将以每年20%左右的速度增长[1]。但另一方面,多数软件类应届毕业生在面临就业时却难以感受到这些数字所带来的欣慰,很多毕业生并没有顺利找到对口的工作。虽然这些学生身份上属于工程技术类的应用型人才,在目前IT产业蓬勃发展的大环境下理应有自己的一席之地,但结果却是“毕业即失业”表现得愈加突出。

软件工程专业具有巨大的发展潜力,但如何建设好软件工程专业?长期以来,国内高校软件专业主要以培养研究型人才为重点,以软件基础理论和系统软件设计为主干,目标是培养面向计算机与系统软件领域的研究型人才[2]。因此如何建立保证软件工程专业本科学生既具有可持续发展潜力又适应当前产业需求的新型知识体系,如何建立与企业应用紧密结合的先进课程体系、教学理念和教学方法,从而提高学生的综合能力,使毕业生在跨出校门时具备必需的素质,缩短从学生到企业员工的角色转换所需的时间,实现就业的“零适应期”是软件工程专业努力的目标。

国外高校在软件工程教育方面的一个共同点就是:根据各自国家和学校的特点,立足学生长远发展,培养适应社会需要与变化的人才。从软件教育的特点来看,西方著名大学有较完善的教育理念、教学手段和实验条件,有较长时间的实施经验,与企业有密切的合作关系,有一大批专家在从事计算机与软件的教育研究。这些大学的课程与我国现行的计算机和软件课程体系相比,理论更深,与新技术的接轨更快,实验和职业实践的比重更大,通过实验让学生掌握基本概念、提高分析问题与解决问题能力的力度更大。

国内高校软件专业主要以培养研究型人才为重点,以软件基础理论和系统软件设计为主干,目标是培养面向计算机与系统软件领域的研究型人才。软件专业学生在学生学科知识与实际运用有一定的距离。因此探讨如何建立符合国情,既面向当前产业需要又兼顾本专业学生发展潜力的知识体系、课程体系,是我们研究的主要内容。

2模块化的课程体系

我校软件工程专业申办于2004年,并于2008年开始招生。该专业成立的宗旨是培养高层次、实用型、复合型、具有国际竞争力的软件人才,要求学生在思维创新的基础上,提高技术创新和工程创新能力,提高软件工程实践和软件工程管理能力。我校在设置软件工程专业课程体系方面学习全国名牌大学如复旦、浙大等,并结合自己硬件及师资条件的实际,提出了如下几个设想:

(1) 合理设置课程模块,突出核心基础。

在软件工程领域,最新的、先进的软件技术文档、技术文献、发展研究等都是英文撰写的资料;合资、外资公司中的软件工程人员所使用的工作语言也是英语。因此在第一至第四学期我们对学生的英语能力进行强化训练,通过阅读、听力、写作和口语交流等方式提高其英语运用能力;在第二学期开始的所有专业基础课程、专业核心课程和专业选修课程中加入一定比例的专业英语训练,将英语融入到专业理论知识学习的过程中;同时开设几门专业课采用全英文教材,实行双语教学,达到巩固和不断提高的目的,为学生动手编写英文程序代码,查阅英文技术文献、文档扫除语言障碍。

(2) 合理设置专业入门基础课程模块,以引导为主。

以计算机导论为主,并以设置类型多样、专业覆盖面广的专业基础知识讲座或新生研讨课为辅,学生学习了计算机最基本的概念后,通过生动有趣的讲座获得更广的认识和了解。

(3) 合理设置专业核心课程模块,以应用为主。

专业核心课程关系到培养出来的软件工程人才质量。针对计算机学科需要,应设置相应的软件系统类课程、软件实现类课程、软件工程类课程以及相应课程的课程设计、实际项目开发为核心的软件设计及实现类的实践类课程。

(4) 设置专业方向选修课程,突出个性化发展。

结合时代需求,结合学生个性化发展需求,设置多个专业方向的模块化课程。设置跨大类专业选修课程,如计算机组成原理、编译原理和软件体系结构等;设置专业方向选修课程,如软件开发案例分析、软件开发新技术、软件文档写作等课程。学生可按需选修1~2个专业方向,有利于其发挥专业创新能力和专业个性化发展。

目前,我校软件工程专业课程体系架构如图1所示。

3实践教学体系

我院除设置模块化的课程体系外,还非常注重实践教学,并且构建了以项目为支撑的实践教学体系,具体开设与实践教学有关的课程如下:

第二个学期开设认识实习;

第三个学期开设面向对象程序设计课程设计;

第四个学期开设数据库原理课程设计以及.NET程序开发技术课程设计;

第五个学期开设Java语言课程设计以及UML建模工具及应用课程设计;

第六个学期开设J2EE技术课程设计及大型数据库课程设计;

第七个学期开设软件开发新技术课程设计;

第八个学期毕业设计。

针对合格的工程化软件人才所应具备的个人开发能力、团队开发能力、系统研发能力和设备应用能力,我们设计了以下4类阶梯状的工程实践课程。

程序设计实践课程:培养个人级工程项目开发能力,如面向过程程序设计(C语言),面向对象程序设计(C++语言)等课程设计。

软件工程实践课程:培养团队合作级工程项目研发能力,如.NET程序开发技术、J2EE技术、嵌入式软件开发(J2ME)等课程设计。

信息系统实践课程:培养系统级工程项目研发能力,如软件开发案例分析、面向对象系统分析与设计、大型数据库应用等课程设计。

毕业设计实践课程:培养开发软件所必备的设备应用能力,如软件开发新技术课程设计、毕业设计实践等。

我们感觉软件方面的技术五花八门,因此在专业核心课程设置上,注意其侧重点。我们将Java网络程序开发定为主要的教学方向,其中包括Java程序设计语言、网络软件开发技术、J2EE技术、以J2ME为主的嵌入式软件开发技术等。当然,我们兼顾企业实际用人的情况,开设了.NET程序开发技术等核心课程,详细的专业课程体系请参见图1。

4探索式学习

软件工程的理论和方法是从众多软件开发实践中总结出来的,但是对于缺乏软件开发实际经验的本科生来说,单纯地讲授理论知识往往使学生感到枯燥无味且难以理解。因此,我们收集和总结了一些软件开发案例,将这些案例贯穿于理论知识的讲解中,使学生真正理解这些理论知识,建立软件开发的系统化与工程化观念和质量意识。

(1) 从分析历史上的经典案例入手,诸如爱国者导弹、网络病毒攻击等。深入剖析导致软件失败的根本原因,从而引出软件开发的工程化发展方向,即以软件工程的原理和方法为指导,严格遵循软件过程规范和步骤。通过这些实例的分析,学生们逐渐改变软件开发等于编写程序代码的错误观念,开始认识到软件工程的重要性,有利于培养工程化的意识和观念。

(2) 软件过程是软件工程课程中的一个重要内容,但是对于开发经验有限的本科生来说,很难在头脑中将软件过程的抽象模型与实际开发联系起来,容易产生枯燥乏味的感觉。在教学过程中,我们从软件开发的实际案例中总结出5个不同的软件系统,结合这些系统的特点和开发策略,讲解瀑布模型、原型化方法、增量模型、形式化方法和基于组件的开发模型等。学生在思考、分析和讨论过程中更好地理解和体会软件过程的基本概念,有利于在实际开发中运用这些过程模型组织开发过程。

(3) 研究软件工程的实践特点,课程实验结合实际开发因素和参与乐趣。实践教学是本课程的一个重要的组成部分,它要求学生以开发团队(一个团队通常由3~5人组成)的方式开发一个具有一定规模的软件系统,侧重培养学生发现问题、独立分析问题和解决问题的能力以及团队合作精神,使学生初步体会到一个软件开发项目全过程。

(4) 研究和建立适合小组式开发的软件工程环境。在小组式的软件工程环境中,使学生真正体验到一种有序的、可控的、协作的软件开发过程,在分析问题、解决问题、协调冲突、消除矛盾的过程中享受软件开发成功的最终结果。软件工程实验要求学生采用“项目小组”的形式,结合具体的开发项目进行设计,班级按项目小组进行分组,每组不得超过4人。每个项目小组选出项目负责人或项目经理,由其召集项目组成员讨论、选定开发项目。学生分工合作,学习软件开发小组的组织和管理,将项目开发各阶段的任务明确,熟悉软件开发环境,培养团队精神,共同完成该项目的设计任务。项目中的每项任务要落实到个人,实验在规定的时间内,由学生独立完成。

在整个教学过程中,我们也十分注重鼓励和引导探索式学习,学生通过文献查阅以及与软件企业人员的接触交流,真正体会当前软件工程业界的真实案例和最佳实践。课堂讲解避免“一言谈”的死板方式,采取课堂互动讨论,营造活跃、宽松的课堂气氛,鼓励学生结合课程实践中的问题进行专题报告和软件演示。

在常规的课堂教学之外,我们辅之以网络课程和扩展资源,鼓励学生根据个人兴趣和需要进行自主式的学习。同时,充分利用网络教学平台,加强师生之间的交流和学生之间的协作,引导学生积极思考和参与讨论,教师由知识的灌输者成为学习的引导者,学生由被动地接受教育变成主动地探索知识。

5改革目标

我校软件工程专业以培养掌握计算机科学基础理论、软件工程的知识和技能,具有软件开发能力、软件开发实践和项目组织的初步经验,具有竞争和团队精神,能在计算机公司及相关企事业单位从事软件开发、适应软件技术发展和社会需求的软件工程应用型高级专门人才为目标。我校在人才培养坚持遵循以下原则。

(1) 坚持通识教育与专业教育结合原则,即通识教育课程要着眼于加强学生的基础知识教育,着眼于培养学生的科学素养和人文精神[3]。

(2) 坚持以人为本,因材施教原则,即在保证人才培养目标和质量规格要求的基础上,充分考虑因材施教,注重学生个性的发展,扩大学生自主学习、自主发展的时空,面向社会和学生多样化需求,提供多样化的课程体系和教育指导,为不同志向、不同能力和不同潜质的学生创造相应的培养环境和条件。通过柔性设置专业方向模块,让学生结合自身兴趣、就业志向和人才市场需求,灵活地选择发展方向,以增强专业方向优势、职业适应性建立完善的、与课程体系配套的实训、培训的“双训”教学体系,使培养的人才更加适应社会和企业的需求。

(3) 坚持应用为本,学以致用原则,即以学校办学定位和服务面向为指南,立足于培养应用型高级专门人才的目标,强化理论与实践的结合,着力培养学生的创新精神和实践能力。在实践教学体系的设计上,按照基础、提高、综合3个层次和基本实验、技能训练、专业实习、科研训练、综合实习、社会实践6大模块构建创新精神和实践能力培养体系。

(4) 建立一套以软件工程为主线的教学、实训评估标准,以确保人才培养目标的实现。

6结语

我们认为,计算机科学技术的快速发展以及企业对人才的多元化需求要求我们将新的知识单元及时引进课程体系中,使课程体系的设置要有超前和发展的眼光,随时将一些新兴的、成熟的内容吸收进课堂教学,做到对课程体系、教学计划动态调整,保持课程体系的动态性、前瞻性。

软件工程专业课程体系必须建立在对软件工程专业人才的知识结构和综合素质的全面研究之上。按照软件工程专业人才培养目标和国内外软件工程人才的需求,培养出的人才的知识结构域应该包括软件开发新技术、现代软件工程、工程领域背景技术3个主要部分[4]。我们还将在课程体系设置、教学方法、教材编写等诸多方面,充分学习、借鉴和吸收发达国家计算机教育教学的先进经验。

注:本文受“以社会需求为导向的软件工程专业课程体系改革的研究”(校级重点教改课题)支持。

参考文献:

[1] 王晴. 印度软件业崛起原因及其对我国产业结构升级的启示[J]. 生产力研究,2007(3):104-106.

[2] 吴爱华. 全国高校软件工程专业教育年会论文集(2007)[M]// 适应时展 推进高等理工科教育改革. 北京:高等教育出版社,2008.

[3] 杨芙清. 全国高校软件工程专业教育年会论文集(2007)[M]// 软件工程教育的思索与实践. 北京:高等教育出版社,2008.

[4] 李彤. 软件工程人才培养的实践与思考[J]. 计算机教育,2004(10):15-17.

Research on Professional Curriculum Reform of Software Engineering

about Social Requirement-oriented

WEN Zhi-cheng1, CAO Chun-li2

(1.College of Computer and Communication, Hunan University of Technology, Zhuzhou 412008, China;

软件工程专业导论论文篇(5)

【基金项目】2015年中央高校基本科研业务费专项资金项目“C程序代码级内存缺陷的充分性检测技术研究”(15CX02050A)。

【中图分类号】G64 【文献标识码】A 【文章编号】2095-3089(2015)09-0229-01

一、引言

随着软件产业的迅猛发展,软件的复杂性也日益增加,导致对软件的质量提出了更高的要求,这也使得软件测试工程师成为每个软件企业都不可或缺的技术人才。“软件测试”就是一门培养软件测试工程师的专业课[1],本课程较为系统的介绍了软件测试的基本理论、测试方法、测试过程以及常用测试工具等内容。本课程知识的掌握将为学生系统的掌握软件工程知识体系以及毕业后从事软件测试、软件开发等职位打下良好的基础。

如何扎实有效的培养软件工程学生在软件测试领域既具有理论基础、又具有工程实战能力,目前许多软件工程专业教育者进行了积极的探索 [2-4]。我校软件工程专业已入选山东省卓越工程师培养计划[5],为了执行国家对软件工程专业卓越工程师培养的精神,融合学校的“三三三”培养体系[6]的顶层设计,以贯彻培养理论扎实、具备工程实践能力、创新能力强、适应经济社会发展需要的高质量软件工程师为目标,我们也在软件测试课程的培养方案、课程结构、教学方法和考评体系等方面进行了一系列的改革和探索[7,8]。其中最为重要的改革是借鉴CDIO(Conceive-Design-Implement-Operate)工程教育理念,落实了“基于项目的教学”方法,增开了大量的课程设计和综合实践环节,在理论教学的同时注重了工程实践能力得培养。

二、“软件测试”教学面临的问题

“软件测试”课程的已有的教学改革改善了教学效果,但是由于传统的教学方法依然影响着教学,所以目前的软件测试课程教学过程中依然面临一系列问题。

(一)教学内容抽象,学生学习兴趣不高

软件测试是软件工程知识体系的九个知识域中理论性最强的一个知识域,必然造成软件测试教材与教学内容较抽象。目前,软件测试课程教学中普遍存在着理论教学偏重的特点,扎实的理论素养是卓越工程师的必备基础,但是即便对于软件工程专业的本科学生,也欠缺软件项目的实际开发经验,所以课程内容的抽象性增加了学生对课程内容的理解难度。为促进学生对理论知识的理解与应用,必须结合软件测试的课程特点,将抽象的内容分化到软件测试过程的不同阶段中,并采用相应的测试工具体现测试的方法,再应用于教学案例,才能促进学生对抽象的测试理论知识的理解与应用。

(二)教学内容碎片化,学生没有完善的测试知识体系

按照软件开发过程的要求,软件测试是贯穿于整个开发过程的一项活动。而在教学中,软件测试的理论出现了割裂,各知识点呈现碎片化,理论内容与实际的软件测试流程不同步。将不同的测试理论与方法进行了分割,这样利于教材内容的安排以及教学内容的组织,但这也必然造成教学内容碎片化,学生形成不了一个统一的测试理论框架,难以把握所学的理论与方法在软件开发与测试的过程中如何应用。为促进教学效果,有必要基于软件测试过程,定位软件测试的介入点,在不同的介入点进行理论知识的分配,形成一个以软件测试过程为主线、各理论知识在介入点进行分配的鱼骨图式的软件测试理论知识体系。

(三)轻视测试工具应用,培养的学生与企业需求难以衔接

因为软件测试方法众多,这也造成有大量可选的软件测试工具。虽然工具的培训是培养卓越工程师的一个必备环节,然而卓越工程师的培养毕竟不等同于职业教育,不能只是简单的掌握一个测试工具,而应该了解测试工具所体现的测试理论、所适用的测试阶段以及所应用的场景。在进行测试工具培训锻炼的同时,必须结合所讲授的测试理论,以及该工具适用的测试过程与测试场景。为了全面的掌握各种具有代表性的测试工具,需要搭建一个测试工具箱。

(四)教学案例简单,学生没有完整的测试思路

因为理论知识碎片化的讲授,也造成目前教学中只能采用简单的案例,简单的案例虽然有助于学生对具体测试方法的理解,但是难以融会贯通的掌握对一个完整项目的测试。为此,需要基于鱼骨图的软件测试理论知识体系,精心设计能够贯穿整个测试流程的案例,并有必要设计不同类型的案例,形成一个分层次、分类别的测试案例库,以保证对各种测试方法的掌握。

(五)学生对软件测试存在认识偏差,缺乏从事软件测试职业的意愿

目前国内软件行业依然蔓延着“重开发、轻测试”的观点,这种观点也延伸到软件工程专业的教学中,导致部分学生对软件测试这个职业存在认识偏差。这就要求软件测试课程需要从原来偏重理论讲解、学生欠缺软件测试训练的教学中摆脱出来,应该与软件测试工程师要求的能力培养集合起来,注重理论培养的同时,加强与软件测试职业的衔接,增设对软件测试工具的训练,加大基于案例与项目的实战训练,通过工程能力的培养以加深学生对软件测试的正确认识。

三、总结

为了执行我校软件工程专业的卓越工程师培养计划,解决“软件测试”教学中存在的上述问题,我们计划在已有的教学改革基础上,提出“方法为基、过程引导、工具跟进、案例贯穿”的“方法-过程-工具-案例”四位一体的教学方法,以解决目前“软件测试”课程中存在的诸多问题。

本文分析了“软件测试”这门课程随着卓越工程师培养、研究型教学的要求下在理论培养与工程能力训练等方面逐渐显露出的各种亟待解决问题,只有充分认识到这些问题,才有可能针对问题进行教学改革,进而培养理论与功能能力具备的软件测试人才。

参考文献:

[1]吴春雷, 刚旭, 张俊三. 基于“卓越计划”的软件测试类课程改革[J]. 计算机教育, 2014,11:88-91.

[2]李月龙. 高校软件测试课程教学改革研究[J]. 计算机教育, 2014,7:16-18.

[3]邓松. 递进式软件测试创新人才培养模式研究[J]. 计算机教育, 2014,7:5-7.

[4]周雪妍, 林泽鸿, 罗秋滨, 路雯靖, 刘玉利. 软件测试技术四面体培养模式的探索与研究[J]. 教学研究, 2013,5:56-58.

[5]张国平等. 软件工程卓越培养计划的研究与设计[C].软件工程2011年会,2011,10.

[6]刘华东. 构建“三三三”培养体系 推进本科教育迈向更高目标[J]. 中国高等教育, 2012,18:34-36.

[7]吴春雷. 面向应用型软件人才教学模式的探索与实践[J].中国成人教育, 2014.04:124-126.

软件工程专业导论论文篇(6)

中图分类号:G642 文献标识码:B

1引言

发展高等职业技术教育是国家的大政方针,是提高国民科技文化素质、实施科教兴国的重大战略举措。高职是高层次的职业技术教育,具有高等教育和职业教育的双重特征,肩负着培养社会经济建设急需人才的使命。高职要在激烈的竞争中持续发展,其核心的竞争力在于人才培养是否能满足社会的需求。这类应用型人才更侧重于理论的应用性,注重实际能力和实践技能的培养,以及多方面的应用能力和创新能力的养成。高职软件工程专业始终以应用型人才为培养目标,因此上述特点在本专业的人才培养中尤为突出。

2高职软件工程专业人才培养的目标

高职教育是以社会需求为导向,培养面向基层和生产第一线的应用型人才的,目标是使学生通过高等教育和职业教育的系统学习,具备灵活就业的能力,能适应社会主义市场经济发展的需要。

具体到高职软件工程专业来说,其培养目标定位为:培养具有系统、扎实的计算机软件基本理论知识,掌握计算机软件开发和设计的基本思想、方法及操作技能,能够熟练地操作计算机进行应用软件的开发和设计,包括独立地开发和设计小型应用软件,或在现代化软件产业中作为基层编程员按照规范从事软件生产的实用型软件工程人才。

当前计算机软件技术的飞速发展,要求高职软件工程专业的应用型人才培养模式要从实际出发,并能将此行业中的最新技术纳入其中,以适应社会需要的不断变化。

3高职软件工程专业应用型人才培养的指导思想

软件工程是研究用工程化方法构建和维护有效、实用、高质量软件的学科,涉及程序设计语言、数据库、软件开发工具、系统平台等方面的知识;同时它还是一门将理论应用于实践的学科,多处应用了计算机科学、数学、管理科学等方面的知识。

可见,从理论知识方面来说,高职软件工程专业主要涉及计算机软件的基本理论和方法,主要侧重计算机软件的基本知识、基本理论和计算机软件设计、实现方法等。更重要的是,从实践能力方面而言,高职软件工程专业要求培养学生在上述的计算机软件理论知识的基础上,具备较强的动手能力和二次开发能力,并以能力培养为本位,进一步提高学生的实际工作能力和解决实际计算机软件问题的综合能力。重点是在计算机软件的编程、实现、维护、管理、应用等方面。

无论是计算机软件理论知识还是实践能力,都是以实际应用为目的,只有应用才有意义。因此,将计算机软件理论知识与实践能力相互依托、相互结合,应用于实际软件工程专业的人才培养,是指导高职软件工程专业人才培养模式改革的主要思想。

4高职软件工程专业应用型人才培养策略研究

4.1进行充分的就业市场调研

传统教学模式忽视实践能力和创新精神的培养,过分强调理论知识传承的系统性与完整性,这种人才培养模式必然与当前就业市场对应用型人才的需求严重脱节。而基于高职软件工程的应用型人才培养应该进行充分的就业市场调研,获得第一手的需求信息。通过调查,充分了解软件工程专业面临的职业岗位群,了解每种岗位所需的基本理论、基本技术和工作规范,确定每种岗位的岗位能力,包括专业能力、方法能力和社会能力,根据岗位能力确定课程,根据能力形成规律,确定课程结构、排列顺序和教学形式,以职业岗位需求为依据,注重能力培养;通过调查,还要充分了解不同学生的不同思维方式、不同兴趣爱好以及不同发展潜能。只有这样,教学内容才能不仅具有学术性,还能具有现实针对性,人才培养才能贴近社会现实与市场未来发展的趋势和要求。

4.2教学计划和课程体系的科学设置

高职软件工程人才培养模式研究要完成的主要任务,是制定立足于市场就业需求的教学计划;成功的关键,则在于是否建立了及时、准确、合理的理论与实践、基础与应用课程体系。只有正确认识理论教学与实践教学在整个专业人才培养过程中的地位和作用,正确确定基础课程、专业课程和实践课程教学在整个专业人才培养过程中的比例,结合人才培养目标和社会需求,才能找到正确的教学方向。

教学计划中关于专业课程的开设,应有明显的层次区别,分清每一学年的教学难度和教学重点,循序渐进,合理安排。

(1) 注重计算机软件相关领域的基本知识,特别是计算机软件开发、数据库和程序设计基本知识的学习,使学生具有较为扎实的基础,才能为今后的发展奠定坚实的基础。

(2) 开设应用性强、实用价值高、就业去向地实用的课程,突出应用,注重实践能力的培养,突出理论联系实际和综合素质培养并重的专业办学特色,通过多种方式强化学生实践能力的培养,具有较强的适应社会要求的能力。

(3) 加强核心课程的教学与实践,对核心课程安排较多的学时,并有相应的实验课程、课程设计和技能培训,提高学生软件应用能力和开发能力。

(4) 关注不同的学生有不同的思维方式、不同的兴趣爱好以及不同的发展潜能这些差异,允许学生根据自己的特点选择所喜爱的课程,尊重学生的个性差异,满足多样化需求。

(5) 软件工程技术日新月异,教学计划、课程体系、课程内容也不是一成不变的,要根据职业岗位的变化、软件工程技术本身的变化和学生基础的变化进行调整和修正,讲授最新的软件开发方法和开发工具,与时俱进,建立动态教学计划和课程体系。

课程体系设置应将相应的软件工程实践项目与课程并重。甚至因为在软件工程项目实施中,需要学生综合运用多门课程甚至课程知识以外的知识、技能,所以软件工程实践项目具有更为重要的地位。软件工程课程(或项目,下同)依层次从低到高分为专业基础课程、专业必修课程、专业选修课程和专业方向选修课程。学生在掌握专业基础课程、专业必修课程的基础上,根据学习兴趣和职业方向进一步学习相应的专业选修课程和专业方向课程。同时,软件工程课程又依其对理论和实际操作的要求不同分为理论、实验、设计和技能四个不同的层次。

4.3理论教学的改进

理论授课要注重运用先进的教学手段和教学方法,在教学实践过程中改变以往的“填鸭式”、“一言堂”的教学,采用更加灵活的教学方法,实行案例、开放、探究、互动、分组、讨论、对抗、合作等教学方式,多给学生思考和讨论的空间,少灌输、多启发,使教学由注重知识向注重能力转变,由单向信息传递向多向交流转变,使学生由被动接受学习向主动学习转变,培养学生的独立思考、推理分析、创新能力和创新意识。课后多给学生一些资料,多布置一些课外作业,使得教学不光重视教,更注重了学。

在多媒体教学过程中,教师要充分运用多媒体技术的表现力和交互性、趣味性,同时注意转换角色,避免一味地讲授课件,使教学又回到了灌输式的课堂中。

4.4实践能力的培养

理论和实践是教学过程中非常重要又缺一不可的两个方面,二者相辅相成。高职软件工程专业要实现培养应用型人才的目标,要始终坚持软件工程理论教学与软件工程实践教学的有机结合、良性互动,没有通过实践,学生就不能真正领悟到知识的精髓,不能真正灵活运用所学的知识解决实际的工作问题。因此,高职软件工程人才培养模式改革的重点在于提高实践环节的教学质量,而提高实践环节教学质量的关键在于设计合理的实践环节和考核方式。

(1) 高职软件工程专业基本的实践环节包括课程实验和课程设计。课程实验可分为验证性实验和设计性实验,前者能加深学生对理论的理解,注重培养软件操作的能力,后者注重培养软件设计能力和独立工作能力。除了基本的课程实验,通过比较完整的课程设计,还能进一步增强学生的学习兴趣,激发学生的创造能力。

在课程的安排上,按照“实践―认识―再实践―再认识”的规律,科学确定理论、实验、课程设计之间的结构比例、时间顺序、结合方式等,有助于提高实验和课程设计的效果。

(2) 高职软件工程专业培养的是面向企事业单位生产管理工作一线的高技能应用型专业技术人才。为了增强学生的职业技能,在实践能力的培养上,需要学校加强与一些经营状况良好、信誉度高、对软件工程专业人才需求量比较大的重点企业、特定企业的合作,与企业共同承担教育任务。

在企业创建稳定的实习基地,可以为学生提供良好的软件工程实习平台,根据学生水平,模拟或实际承担企业软件工程项目的总体或部分,分多个项目小组组织学生完成,充分锻炼学生的动手能力和团队协作精神,让学生学以致用,表现优秀的学生还可以直接被公司录用为员工,抢占先机。同时,企业的品牌和社会影响力,可以帮助学校和毕业生较快地在社会中产生积极效应,增加高职软件工程专业的市场竞争能力,促进专业建设的良性健康发展,确保高职软件工程专业的人才培养方向不偏离市场的实际需要,做到学校教育与企业实践的统一,实现学校、企业和学生三赢的局面。

(3) 合理的实践考核内容、标准和方式对于提高学生的实践能力有积极的促进作用,基本的考核内容包括:吃苦耐劳作风、团队精神和合作意识、创新意识、质量成本意识、纪律意识、安全意识、环保意识、诚信观念以及专业认知程度、承受挫折的心理素质等等。同时,建立全面的、操作性强的软件工程实践环节考核标准。对操作性较强的软件工程实践课程,要求学生创造发挥完成考核内容。对于一些设计性强、项目较大的软件工程实践课程,可适当放宽考核场地,指定一段时间让学生们分工协作课外完成。

通过确立各项指标的考核标准和评价方式,建立起由企业指导教师、学校指导教师、学生、家长等评价主体参与的评价形式,以发展的观点建立学生的评价档案,结合各分项指标综合给出指导性的评价和建议,指出不足与努力方向,培养实践创新能力、适应社会能力和人际交往能力,培养健康的心理品质、高尚的人生情趣和良好的生活习惯,使学生做学问与做人协调发展。

5结束语

总之,牢牢把握高职软件工程人才培养的目标,通过深入开展就业市场调研,设置合理可行的、软件工程实践项目与课程并重的专业教学计划和课程体系,改进软件工程理论和实践教学环节,建立全面的、操作性强的软件工程实践环节考核标准,对于高职软件工程专业应用型人才的培养,为社会输送更多更好的软件工程专业技术人才有着积极和重要的意义。

参考文献:

[1] 李丹丹. 改进软件工程专业教学 培养社会急需的高职人才[J]. 计算机教育,2006(11):55-56,71.

[2] 王万良,王陆,杨卉. 教育软件工程专业人才培养模式的探讨[J]. 电化教育研究,2006(2):39-42.

[3] 张益新,曾庆尚,张立臣. 加强软件工程专业教育的意义与建议[J]. 高教探索,2004(1):72-74.

软件工程专业导论论文篇(7)

中图分类号:G642

文献标识码:B

文章编号:1672-5913(2008)21-0029-04

软件产业既是我国重点发展的具有战略性质的基础产业,又是能将现代IT技术与我国深厚文化底蕴融合的创意型产业。软件产业的发展是推动经济发展、保障国家安全的决定性因素,对促进国民经济增长、国防建设现代化、社会信息化,推动新技术的发展和新产业的产生,推进经济结构调整、转变经济增长方式,促进经济、社会协调发展和先进文化的传播具有重要的战略意义。

软件是信息产业和传统产业的核心和灵魂,我国虽然是软件应用大国,但目前还不是软件产业大国。为此,我国近年来了一系列政策和措施,扶持软件产业的发展,如《关于鼓励软件和集成电路产业发展的若干政策》(国发[2000]18号文件)、《振兴软件产业行动纲要》(2002至2005)[2002]47号文件等。随着政策环境不断改善,我国软件产值增长速度明显加快,从1998年的325亿增长到2005年的3900亿,软件技术渗透到各行各业、各个领域,促进了新学科的发展和新产业的建立。但与发达国家速度相比,我国软件产业仍有较大的差距。

目前,制约我国软件产业品牌化、规模化和多元化发展的主要瓶颈是软件人才结构性矛盾突出,具体表现为:

(1) 高端人才供给匮乏,缺乏高层次、高素质、创新型人才。即缺乏能够紧跟世界前沿技术动态和趋势,掌握符合国际标准的软件工程规范和技术规范,具有大型系统的开发管理经验,熟练运用一门以上外语,具有良好的团队协作能力,进而能够参与国际软件发展与竞争的高层次软件工程人才;如成都市软件协会分布的《成都市软件从业人员2007年上半年供需报告》称,2007年成都市软件从业人员缺口约8900人,而其中的高端人才缺口约6900人。软件产业的迅速发展对软件行业从业人员提出了更高的要求,尽管国内高校软件工程人才的培养数量日益攀升,但是高端软件工程人才的匮乏却严重阻碍了我国IT企业的发展。

(2) 人才规模不足,离产业发展需求还有差距;现在我国共有一万多家企业在从事软件开发及相关业务,而目前全国的软件工程人才总量与之相差甚远,缺口很大。

(3) 人才知识结构不合理,目前我国的软件工程人才主要集中于编程人员,而软件架构师、项目管理、文档管理、测试等等人才比较缺乏。缺少面向产业、适应企业需求、工程能力强的人才,学生进入企业要“转型”,形成企业人才的“滞后”现象。

1面向校企合作,优化和完善知识结构和课程体系

相对于计算机科学与技术专业而言,我们认为软件工程专业应重点培养工程与技术方面的人才,更强调软件设计与开发过程中的系统性、可操作性和可重用性。

为此,我们参考和借鉴IEEE在2003年推出的软件工程课程大纲以及IEEE/ACM软件工程学科组于2004年5月公布的软件工程教育知识体系(CCSE2004 SEEK),认为软件工程人才的合理知识结构应包括通用的软件工程知识、软件应用领域的专业知识和具体软件工具和环境的知识几个方面。其中通用的软件工程知识应涵盖软件工程基础知识和技能,而软件应用领域的专业知识指还应该具有行业领域的知识,如嵌入式软件工程硕士必须具备特定行业,如移动设备、数字家电、数控机床、汽车电子、医疗电子、航空航天、工业控制等领域的相关知识,才能胜任工作。

为此,在进行软件工程教学方案与课程内容体系改革的过程中,我们根据软件产业发展的需求,动态调整课程设置,逐步加大选修课的比例。从学校来讲,要从企业的实际需要和IT发展出发,制定适应企业需求的培养方案及人才培养模式,为企业发展提供更为广泛的服务体系,也为学生提供良好的就业环境。在多模式校企合作中,我们提出了一种定制式课程建设框架。即将选修课划分成若干模块,以适应不同企业需求。同时, 由于不同层次软件工程人才的定位不同, 相应的课程设置与教学方法也应有明显的区别。其中软件工程本科教育定位在以技术能力培养为主,本科生在校期间计算机软硬件基础学习较多,形成思维定势,但开发大项目实践经验很少,没有切身体会,如果没有经常性的编程练习,学习兴趣逐渐消失,因此对本科生而言,重点应放在编程与系统设计能力的培养上。基于此,我们开设的软件工程核心课程包括软件工程概论、软件测试技术、人机交互技术等课程。软件工程硕士教育定位以工程能力培养为主,注重软件工程方法与系统开发能力的培养。特别是在职工程硕士,他们在工作中有很多机会接触项目,参与程度较深,工作经验丰富,深感系统开发中方法和管理的重要性,对研究开发方法、过程、工具有实际需求,深感软件工程对于解决实际开发中遇到的问题很有帮助,他们希望对新技术、新方法有更多的介绍,希望通过课程能够互相交流,共同提高。对于他们,应以实例学习和管理为主线,介绍软件系统开发的实例和软件项目管理的基础。其课程的设置要注重专业知识的前瞻性和国际性,基于此,我们开设了软件项目管理、软件体系结构、系统分析与设计等高级课程。

对软件工程教学方法与课程体系进行改革,还应根据软件产业发展的需求以及与企业接轨,动态调整课程设置,逐步加大选修课的比例,其中部分课程(如软件项目管理、软件体系结构、人机交互技术等)尝试实施双语教学,通过引进国外软件工程经典和优秀教材,从使用英文教材、中英文结合教学入门,逐步增加英语授课比例,最后过渡到全英语教学。

2改革实践教学,构建适应企业需求的立体化实践体系

实践教学是实用性软件工程人才培养的重要环节,也是创新能力培养的关键环节。必须建立多层次立体化实践教学体系,才能达到全面培养学生创新能力的目的。

2.1在理论教学中培养学生的实践能力

变理论教学与实践教学的分离为融合,实践教学与理论教学并重,组织和鼓励师生参加实践教学改革。在课程教学内容的选择上,注意采用最新、最有用的知识,紧跟社会潮流;对课程实验、课程设计,要求授课教师既讲授理论知识,又指导上机实验,充分体现理论教学与实践教学为一体的教育思想。同时,在教学计划的指定上,加大实验学时比例,理论教学精讲,实验教学多练,加强实验教学改革,建立企业实际项目库,以企业实际项目开发为背景,科学设置实验题目,通过实验促使学生将所学理论知识转化为分析与解决问题的能力。

为了培养学生的创新意识,提高学生的创业能力,必须重视课内外实践教学环节对培养和发展学生能力素质的不可替代的作用,加强课内和课外实践教学的整合,在培养计划中进行统筹安排,形成完善的实践教学体系。在实践教学的环节中,加大综合性、设计性实验的比例,加强实习、工程实践、课程设计、毕业设计(论文)环节中的工程训练,把提高学生的创新能力和实践动手能力贯穿于培养计划的始终。

2.2在课题研究中提高学生的实践能力

引进软件企业的实际项目,让学生结合实际项目进行软件开发综合训练。软件开发实训严格按照软件工程开发流程进行,聘请企业资深技术人员进行指导,通过软件开发实训,既培养学生的实战能力,同时又培养学生的沟通协调能力和团队合作精神,为毕业设计和就业打下良好的基础。

目前,我们和摩托罗拉中国有限公司、苏州国芯科技有限公司、紫金电子有限公司等多家单位联合建立了苏州大学摩托罗拉单片机实验室、江苏省嵌入式软件技术中心苏州大学分中心等具备一定科研能力的实验室,从而为学生创新能力的提高创造了条件。同时,学院成立了自己的开放实验室,主要为学院学习成绩优异且有较强科研能力的学生提供了进行创新性实验的条件,并制定了完善的开放实验室条例,规定了其运行机制及运行模式。如进入开放实验室的学生必须结成科研小组,采用自主选题、指导教师指定课题或企业提供课题等方式,经开放实验室评审委员会评定后才能进入开放实验室。科研小组必须在一定时期内完成一定的科研任务,并提交课题总结报告或论文。由于开放实验室必须以课题小组形式申报课题,开放实验室在培养学生创新能力的同时,还培养了学生的团队开发能力。因此,开放实验室为广大学生提供了自由发展的空间,大大激发了学生的学习热情、创造激情,为其成才创造了有利条件。

2.3在各种专业竞赛中增强学生的实践能力

为培养学生的实践能力,学院经常组织开展各种软件设计程序竞赛,支持学生参加国内外举办的各种软件设计大赛,培养学生的创新精神和迎接挑战的能力。近年来,多次组队参加ACM/ICPC(国际大学生程序设计竞赛)并获得铜奖。参加省程序设计大赛获一等奖,参加微软“创新杯”全国大学生软件开发大赛等。这些专业竞赛促进了学生实践能力的提高。

3加强校企合作,构建与产业水平同步的工程实践环境

工程实践环境是教学体系的重要环节,其重点在于构建一个和产业技术水平同步的高水平的学生工业实习基地。为学生提供实际项目开发机会,使得学生能在毕业前深入体会企业文化,完善自身职业素质和工程能力。

3.1加强实习基地建设,提高学生工程实践能力

目前,我们已在苏州工业园区、苏州新区的摩托罗拉、A M D、罗技、旺宏等世界知名I T 企业建立了软件工程专业教学与实习基地,并与中创软件工程股份有限公司合作在昆山成立了苏州大学中创软件工程学院实习基地,与福华先进微电子(上海)有限公司联合招收嵌入式软件工程硕士。在实践中教,在实践中学,使得软件工程专业学生实践能力明显增强。我们将企业实习划分成三个阶段。一是认知实习,时间一般为一周,主要让学生全面了解企业的运作模式、各企业主要研究方向以及当前流行的开发工具和软硬件平台。二是暑期社会实践,时间为50天,主要让学生利用暑假深入企业,参与企业的一些小型项目或一些模块的开发,甚至是文档的整理工作,目的是让学生知道所学知识到底能如何运用、并初步具备运用所学知识进行一些实际项目开发的能力。三是毕业实习,时间为一学期,主要让学生综合利用所学知识进行较为完整的项目开发,目的是让学生毕业后具备独立胜任项目开发与设计的能力。在实习基地建设中,应注重学生管理与质量监控。以毕业设计为例,我们制定了一系列有关毕业设计的规章制度,如毕业设计计划、毕业设计选题原则与类型、毕业设计的步骤、校外毕业设计试行办法等条例,并发放企业严格执行。对于安排毕业实习生多的企业,我们还专门安排指导教师长驻企业,从而确保了毕业设计和论文的质量。

3.2聘请国内外著名企业的高水平专家,拉近学生与社会、企业之间的距离

我们聘请企业授课教师、高水平企业技术骨干作为学校课程指导小组顾问,并定期聘请国内外有丰富实践经验的企业家、技术骨干为学生开设相关专业课程,最大限度地拉近了理论与实践的距离,拉近了学生与企业之间的距离。我们还定期举办专场讲座或技术报告会,请一些著名IT 公司的高级技术、管理专家给学生作专题讲座,让学生及时了解最新的业界动态,跟踪I T 领域的最新研究成果,从而保证了学生既能掌握软件工程领域坚实的基础理论和宽广的专业知识,又能掌握解决工程问题的最先进技术方法和实用的技术手段,让他们有较强的知识、能力和素质去适应多变的社会需求。每位软件工程硕士生除了配备双向选择的校内指导教师以外,还配备由实习单位推荐的一位具有丰富工程经验的企业人员作为校外企业指导教师。企业导师着重对实习和毕业设计的各个环节进行具体指导和严格把关,校内导师则是对学生进行设计思想的理论指导和毕业论文的指导。同时,学院还设专人对学生实习过程进行跟踪、指导与控制,在双导师之间积极促成沟通,共同完成对软件工程研究生的指导。

3.3搭建学生与企业双向选择的交流平台

由于学生在兴趣、专长和职业规划上的差异,因而他们对实习企业有各自的选择标准,但同时企业也要选择适合本单位要求的学生,为了使学生更好地找到适合自身特点的实习单位,企业能招收符合自身要求的学生,学院通过网上公布实习单位及其相关信息,学生自主报名、学院推荐,实习单位进行笔试、面试等考核程序,确定学生的实习单位。通过这种选择,企业与学生之间一开始就有了很好的信任度,双方都能最大限度地发挥主动性、积极性和创造性。

4结束语

信息化需要大批软件工程人才,各高校软件工程人才的培养应该有自己的定位和特色,目前要特别重视软件工程能力和素质的培养。实践能力是学生综合素质的重要组成部分,本文针对当前国内高校软件工程人才培养机制存在的主要不足,从改革实践教学、加强校企合作、开展国际交流合作等方面,阐述了如何加强学生的实践创新能力,培养适应企业需求的高素质的软件工程人才的几点做法,为高质量、实用性的软件软件工程人才培养作出了有益的探索。

参考文献

[1] 教育部高等学校计算机科学与技术教学指导委员会.高等学校计算机科学与技术发展战略研究报告暨专业规范(试行)[M]高.等教育出版社,2006,9.

[2] 教育部软件工程学科课程体系研究课题组.中国软件工程学科教程CCSE2004[M]. 清华大学出版社,2004,11.

[3] 杨芙清.中国软件工程二十六年.2006中国计算机大会特邀报告[R].北京,2006,10.

[4] 骆斌. 软件工程专业工程化实践教学体系的构建与实施[J]. 计算机教育, 2005,(4): 25~28.

软件工程专业导论论文篇(8)

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

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

2.1学科建设

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

2.2校企办学

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

2.3师资建设

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

3三层结构课程体系建设

软件工程专业课程体系建设以工程教育理念为指导,项目实战为背景,社会需求为导向,提高学生专业素养、理论知识体系以及实践能力为宗旨。学生完整地专业培养环节结束后具有程序设计,系统分析,软件设计、开发,项目管理,网络和移动通信终端应用开发能力。课程体系模式结构如图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校企合作运用项目方式指导学生做毕业论文(设计)毕业论文(设计)是对学生的专业知识掌握程度与提升高度的一次全面的考核,同时也是培养学生综合运用所学知识,独立地分析问题和解决问题的能力的一次全面的实训。但是传统的教育模式导致大多地方院校工科专业学生毕业论文流于形式,与实际脱节。通过与企业合作运用项目方式指导学生做毕业论文(设计)弱化学生对毕业论文(设计)的抵触情绪,可以进一步让学生了解行业企业实际运作规范及最新技术,进一步加强对学生实践和技能能力的培养,为毕业后从容就业夯实基础。

软件工程专业导论论文篇(9)

中图分类号:G642 文献标识码:B

文章编号:1672-5913 (2007) 20-0029-03

“软件工程”课程在国内的计算机科学与技术专业以及国际上2001年的计算机科学教学体系(IEEE CC2001)中都是不可或缺的核心专业知识课程,其主要内容也是2004年由IEEE-CS/ACM/AIS建议的计算科学教学体系的关键知识域(CC2004)。近年来,软件工程的知识已经成熟和系统化,足以构成一个专业的知识体系,在国内外大学的计算学科下面相继出现了“软件工程专业”。在这种情况下,传统的“软件工程”课程出现的新老问题更加凸显,急需高校、特别是我国普通高等院校探讨,尽快地提出解决问题的途径和办法。

1 “软件工程”的教学难点

“软件工程”课程的内容广博,涉及软件开发的基本概念、原理、过程、方法、技术、标准、管理和工具等广泛的技术与管理知识。作为一门课程,“软件工程”所包含的知识面面具到,却又难以深入。由于课程内容不如数学严谨,不如编程具体,不如数据库实用,不如图形学生动,加之学生基本上没有参与过大型软件开发的实践,这就使得学生难以在一个学期就深入理解软件工程中庞杂、抽象的内容。在传统的考试方式下,学生只能死记硬背,使得“软件工程”课程变成了“第二政治课”。此外,由于软件工程的理论和技术发展迅速,教材总是跟不上技术的发展;如果教师缺乏理论研究和实践经验,教学就变得更加困难。

自2002年起,“软件工程”在全国35所学校成为一个专业之后,庞大复杂的“软件工程”从一门课程变成了一系列课程,知识的传授相对容易起来。可是对其它专业而言,则又面临新的问题:如何在学时不变甚至减少的条件下,把一个专业的知识浓缩在一门课程中,完整而有效地传授给学生。

2 “软件工程”课程之管见

“软件工程”研究的是如何系统地构造软件的知识,是计算学科中唯一涉及管理学的课程,内容独特,不可或缺。2004年IEEE和ACM的联合公布的软件工程知识体系(SWEBOK04)将其内容概括为十个知识域,每个知识域又分若干子域,每个子域分为若干知识点,等等。SWEBOK04的出现标志着软件工程知识的成熟和一门专业的诞生。

笔者根据对软件工程的多年研究、对该课程的中英文教学,以及给二学位本科和研究生讲授“软件设计方法”、“组件开发技术”、“软件体系结构”、“软件项目管理”等相关课程的经历,认为根本不可能在一门课程中把软件工程的所有知识都让学生掌握!前人尝试的结果导致了无论是教材、还是教学,都只能是走马观花、蜻蜓点水,造成教与学的困惑。SWEBOK04及其教学指南提出了软件工程的基本知识范围,却没有明确规定教学的详细程度,允许灵活掌握。作为一门课程,我们应该、而且必须结合实际、面向需要,合理地取舍传授知识的寡众与深浅。

事实上,国内外的经典与新近出版的“软件工程”课程的教材基本上都可以覆盖要求的知识内容。但是,在选材的深度与广度、知识的更新以及组织方面有明显的侧重。以软件分析与设计为例,有些教材注重知识的全面性,把结构化方法与面向对象技术并重地讲解(如Pressman的最新版本,国防科大齐治昌、谭庆平和宁洪的教材);有些教材只讲最新颖、更实用的基于UML的面向对象建模方法(作者如Sommerville,清华大学的孙家广与刘强)。

我们认为,“软件工程”作为一门课程是计算学科的入门课,可以借鉴管理学科,将其称之为“软件工程导论”或“软件工程概论”。区分对待SWEBOK04中的知识点,确定出了解、理解和掌握等不同程度的教学要求。下面就结合实例介绍一个具体的教学设计和实施。

3 “软件工程”课程教学内容的一个设计

3.1背景

笔者所在大学是一所省属综合性大学,界于教学型与研究型大学之间,目前更偏重于教学型。毕业生多数在省内、特别是在青岛工作。自2003年起青岛市把软件列为优先发展产业,重点扶持软件外包、信息家电等产业领域。我校是全国35所成立了软件学院的院校之一,负责培养软件工程专业的本科学生。工程硕士的培养仍由笔者所在的信息工程学院负责。

我院最近5年的考研率在20%左右,大多数本科生毕业后面临就业问题。除升学与出国外,我院近80%学生的就业去向包括:软件企业、非软件企业、政府部门与事业单位、自谋职业等。只有在软件企业或者大型传统企业IT部门的毕业生从事软件开发,其它大多数计算机毕业生从事与软件开发无关的职业,如市场、销售、采购、管理等。为了满足社会需要,更好地为地方经济发展服务,我院经将计算机科学与技术分为3个方向供学生选择:软件技术与理论、嵌入式系统和网络工程。“软件工程”课程是所有专业方向的必修基础课。

3.2需求分析与教学内容的设计

在这些背景下,我们的“软件工程”课程的教学方针是:满足社会需求、面向学生未来;将课程定位为:全面地介绍软件工程学的基本知识,突出大型软件开发和管理的基本原理、方法和实用技术,满足计算学科对系统化软件构造知识的基本要求,同时成为学习软件工程专业的先导课程。课程名称也相应地改为“软件工程导论”;在满足软件工程知识点和学科体系的同时,根据市场需求,适当增减内容,把具体的实用技术讲深讲透,同时介绍前沿课题,提高学生的学习兴趣。

表1是我院“软件工程导论”课程的理论授课内容与课时安排(不含课程绪论与课堂练习、总结的4个学时),按照SWEBOK04提出的10个知识域进行了重新组织。由于选用的教材以及实际教学内容的组织与SWEBOK04的知识域并非完全一致,因而出现小数点学时。如“软件工程工具与方法”知识域,我们在授课章节介绍相关的软件工具,如在软件需求和设计中使用了ROSE和MS Visio;在讲解项目进度中示意了MS Project;在软件测试中提到了JUnit。此外,还按照教材集中地讲解了CASE概念与工具,补充了Eclipse以及最新的青鸟系统。

为便于对比,我们将“软件工程导论”的教学内容按照SWEBOK04的知识域计算出每个知识域所用学时占总课时的百分比;同时计算出SWEBOK04中10个知识域中的子知识域在整个子知识域中的百分比,如图1所示。

从图1可以看大:我们对产品工程的设计和测试讲授了更多的内容。相比于SWEBOK04,我们的设计部分超出一倍,软件测试的内容则多出三分之二。对于同样重要的需求分析则没有增加更多的内容,这主要是考虑到需求分析是超越初级软件工程师的知识,需要沟通技巧、领域知识和实践经验等综合知识与能力,属于系统分析员的职责,应届本科毕业生基本上达不到。对软件构造以及软件支持方面的知识(如软件配置管理)则缩减了学时,一个原因与所选教材有关。在软件质量方面,则补充了CMMI的过程改进及其结合TSP/PSP的内容,使得我们的学时略微高出。

在处理知识域时,我们遵循了“突出重点、面向实用”的指导思想,举例如下。我们在软件建模和测试方面加大了学时,以便学生掌握这两个领域的技术;同时减弱了对其它知识域的学习要求,只需要理解、甚至了解有关的知识。例如,我们在需求分析与设计中都讲解了结构化方法和面向对象方法,但是,所分配的时间差别巨大。对于结构化方法,主要介绍其基本思想、常用工具及其简单应用,如DFD图、数据字典、程序结构图、判定树、PDL等。对面向对象技术,则大大地扩充了选用教材的内容,加上相应的实验课程,共有近30学时,可以当作一个“基于UML的软件建模”的小型课程。目的是使学生认识到软件工程并非是空虚无物的条条框框,开发软件的工作在编程之外还有分析、设计和测试等。而且希望学生通过该导论课程实实在在地掌握一种当前常用的软件建模技术,以便能够在实际工作中尽快地熟练使用。图2示意了“软件工程导论”中对软件设计有关知识点分配学时的比例。

4实践与体会

教学内容的变更仅仅是改善教学质量的一个方面,还需要改变教学方式,举例如下。

例1:传授知识的过程要从日常生活到软件领域。在讲解过程改进时,我们以刘翔为例提出问题:刘翔身后的科研小组和上百万元的投资,包括摄像、动作分解和分析是为了什么?表面上看是为了改进跨栏和起跑的动作(软件开发过程),实质上最终是为了改进其跨栏成绩(软件产品)。从学生们比较熟悉、容易理解的事情开始,立刻就吸引了他们的注意力,进而简化了对软件过程及其改进的讲解。

例2:综合运用学过的知识。在讲开发高可信软件时,把容错技术与面向对象编程中异常处理的机制结合起来,加深了学生对容错技术的理解、对异常处理的认识;在介绍形式化技术时,通过演示断言在Java中的实现,使学生认识到这些看起来玄乎的理论正在逐步实现。

例3:不失时机地简单介绍相关的研究动向以及国内的相关工作,让学生了解软件工程学最新的理论研究,对少数优秀的学生指出钻研方向、提高研究兴趣。例如,我们在课堂上简介了最近三年中国首次主办的“软件工程国际大会”,“软件过程改进”和“软件工程理论”等国际高规格专业会议,包括其中的主题报告。

教学内容和教学方法的改进,极大地提高了学生的学习热情,成绩也显著提高。限于篇幅,我们在考试、课程设计以及实践教学方面的尝试不在本文讨论范围。

我们将继续搜集和分析不同专业方向的学生对该导论课程的反应,针对性地调整有关内容,以便更好地满足社会的需要,如针对嵌入式系统的软件开发,增加实时系统的分析与设计技术方面的知识。

参考文献

[1] 麦中凡. 解读SWEBOK 2004[J]. 计算机教育,2004,(10).

[2] Computing Curricula 2004.Overview Report. November 22, 2004, .

[3] Software Engineering 2004. CC 2004 Series, August 23, 2004, .

[4] 刘洪、舒坚、罗海平. 一般工科院校软件工程专业课程体系设置[A].大学计算机课程报告论坛论文集[C]. 北京:高等教育出版社,2006. 465-469.

作者简介

李劲华(1963―)男,博士,副教授,主要从事软件工程的教学与研究。

杨厚俊(1965―)男,硕士,副教授,分管教学副院长。

软件工程专业导论论文篇(10)

摘 要:本科毕业设计是本科实践教学的重要环节,毕业设计的质量是衡量专业办学水平的重要评价指标。文章以黑龙江大学软件工程专业为例,阐述其提升本科毕业设计质量的策略。

关键词:毕业设计;软件工程;策略

中图分类号:G640 文献标识码:A 文章编号:1002-4107(2015)06-0076-02

软件工程专业以计算机科学和软件工程理论为基础,培养具有软件开发、测试、运维、评审和软件项目管理能力的高级人才,要求学生有较强的工程意识、工程实践能力和创新意识,同时具备较强竞争意识和团队协作精神。在对学生进行工程创新能力的培养过程中,要以社会需求为导向,以实际工程为背景,着力培养学生运用先进的工程化方法、技术和工具解决实际问题的能力,即工程实践能力。本科毕业设计(论文)是软件工程专业人才培养的一个重要实践教学环节,也是教育部评价学校办学质量的一个重要的观测点,国家教指委编写的《软件工程专业规范》中明确指出:毕业设计(论文)环节不低于16周,选题应来自软件开发实践或科学研究,须具有明确的应用背景或者能体现科学前沿性,有合适的工作量和一定的技术难度[1]。同时,在普通高等学校本科教学工作审核评估范围中也将毕业设计(论文)的落实及效果作为审核要点。因为毕业设计(论文)不仅是学生专业技术水平、学习能力、解决问题能力和工程实践能力的体现,也反映了一个学校办学理念和办学水平,以及专业教师的执教能力、专业水平和行业知识。另外,毕业设计质量很大程度上影响着毕业生就业状况,很多用人单位把考察毕业设计作品的水平作为是否录用毕业生的依据之一。因此,提高毕业设计(论文)的质量对学生、教师和学校都有非常重大的意义。但是,现阶段我国软件工程专业的毕业设计(论文)还存在许多问题[2]:立题方面,毕业设计题目不能很好地结合企业技术需求,而且有大量重复题目;师生沟通方面,指导教师与学生沟通不够,学生不能很好地理解指导教师设定的题目,导致不能较好地完成设计内容;监管方面,过程管理不够完善,许多学生在整个毕业设计周期的前三分之二的时间基本不做设计,只在答辩之前的一个月才动手做设计,导致效果不佳,还有些学生基本上自己不动手,在网上或企业找一些“”来替自己做毕业设计;文档规范方面,没有完善的文档的规范化管理,导致毕业设计的各阶段文档书写不规范,数据不准确,形式不统一等等问题。针对上述问题,并结合自身现状,黑龙江大学软件工程专业通过采取整合校企资源,加强毕业设计的过程监控和管理,制定激励机制,完善毕业设计管理体系等措施,使毕业设计(论文)工作取得了较好的效果,增加了教师和学生的沟通和互动,提高了学生的毕业设计质量,同时提升了学生就业率。

一、利用多方资源做好毕业设计选题与立题工作

恰当的选题是做好毕业设计的必要条件和前提。近年来,随着信息技术高速发展,国家对高素质软件工程人才需求十分旺盛,并有逐年扩大的趋势。同时各个高校软件工程专业的招生数量也在逐年增加,从目前全国319所设有软件工程专业的学校看,2013年该专业平均招生300人左右。专业招生人数的增多给毕业设计选题带来了带来巨大挑战[3]:一方面软件工程专业的毕业设计选题要求具有一定的应用价值、创新性,同时还要与行业需求相吻合;另一方面要保证选题的唯一性,不仅要避免学生之间的题目重复,还要避免与之前毕业生的题目重复,因为重复的选题会使学生产生投机的心理,导致“打酱油”现象。针对上述问题,黑龙江大学软件学院主要采取了以下几个措施:1.充分利用企业资源,对一部分在企业实习的学生采取“三位一体”的双导师指导模式。即企业项目为载体,学生为主体的模式,校内和校外导师为主导。这部分学生一般是在大三下学期暑假就已经进入企业实习,而我们每年毕业设计选题工作是在十一月末,也就是学生进入企业实习后三到四个月的时间,学生经过企业阶段的培训,对企业的生产过程、企业文化有了一定的了解。此时,学院组织校内外导师和学生共同协商,以企业项目或子项目为学生确定毕业设计选题。2.充分发挥导师的资源优势,学院大部分教师都有自己的科研课题,这些科研课题有些是直接来源于企业的横向课题,还有一些是信息技术领域的应用研究课题,我们鼓励教师从这些课题中提取出一些子项目让学生实践,作为毕业设计的选题。3.充分挖掘学生的专业技术特长和兴趣点并结合学生的择业倾向,确定最能发挥自身优势和潜能的选题。毕业设计的选题不仅要与实际需求相结合,更重要的是应该结合学生自身的技术优势和兴趣。只有学生对选题有兴趣,他们才能尽早地进入状态,发挥自己的创造能力和积极主动意识。所以,选题阶段导师和学生的沟通交流就显得尤为重要,通过沟通导师可以了解学生的能力、兴趣和择业倾向,学生也可以对选题,有进一步的认识,对于不感兴趣的选题学生也可以通过与导师进一步的探讨进行题目的修订。

二、注重环节审查,加强过程监管

虽然“好的开始是成功的一半”,但是如果缺乏中间环节的监管,仍然不能保证好的效果[4]。因此,为保证毕业设计(论文)的质量,我们制定了明确的质量标准、管理条例,并由院长、学术委员会、系主任和教务办主任组成毕业设计(论文)工作委员会,负责毕业设计(论文)工作的组织、评定和监管,同时保证管理条例的严格落实及各个环节工作的正常进行。为健全毕业设计(论文)的监管机制,学院先后规范和完善了《毕业设计(论文)工作管理办法和实施细则》《开题报告》《开题评分标准》《中期报告》《中期检查标准》《毕业设计(论文)撰写规范及模版》《毕业设计(论文)盲审表》《答辩程序和评分标准》等一系列管理办法和文档标准,使毕业设计工作在制度和规范下能顺利有效地进行。每年毕业设计工作之初,我们都要给学生开一个动员会,在会上阐明毕业设计(论文)的重要性,以及毕业设计对他们未来工作的影响,调动他们学习的主动性、积极性和创造性。此外,系主任还要向学生介绍学院毕业设计(论文)管理办法和实施细则,各阶段的工作要求和时间节点,以及各环节检查的内容、需要提交的文档,使学生在毕业设计开始时能做到心中有数。同时,我们也要求指导教师随时解答学生的问题,坚持每周开例会,检查学生的工作完成情况,并提出一些有技术含量和理论深度的问题启发他们思考,激发他们的学习热情,并与学生一起确定后续任务。此外我们组织开题检查、中期检查,对开题检查成绩后30%的学生,不但检查中期报告,还要现场检查程序。对于中期检查不合格的学生,要求限期整改,如果仍然不合格则取消答辩资格。在答辩之前,我们还要对论文进行盲审,盲审不合格的学生不允许答辩,对有异议的论文要提交学术委员会做最后论证。虽然学院对毕业设计(论文)工作在各个环节上的审查都非常严格,但我们鼓励学生之间进行研讨交流,博采众长,相互提高,因为我们的目的不是抓出多少不合格的学生,而是想通过大学阶段最后的综合性实践教学环节训练,培养学生的学习能力、知识的综合运用能力、分析解决问题能力和沟通交流等综合素质。

三、严把答辩关,保证毕业设计质量

答辩是毕业设计(论文)考核阶段的最后环节,这个环节既是学院对学生毕业设计的验收和鉴定,同时也是学生对自己工作的总结和汇报。通过答辩,学生不仅展示了毕业设计工作的效果,更展示了自己的专业知识、技术水平和综合素质。作为教师,每年都要指导多个毕业设计(论文),而学生一生只能经历一次本科毕业设计,而且毕业设计答辩能否顺利通过,直接关系到学生毕业及学位资格的认定。因此对学生来讲,毕业答辩至关重要。这有点像外科医生与患者的关系:医生每年要做很多手术,对他们而言手术已是司空见惯,但对于患者本人,可能一辈子才上一次手术台,而且生命攸关。所以,我们要在毕业设计指导过程中,认真对待每一位学生。同时在毕业答辩中严格把关,保证质量,更要秉承“公开”“公正”“公平”的原则。我们的毕业设计(论文)答辩采用小组面试形式,每组由四位副高职以上教师组成,答辩流程如图1所示。答辩当天向学生公布成绩,毕业设计(论文)总成绩由开题成绩(10%)、中期成绩(10%)、指导教师成绩(10%)、答辩成绩(70%)构成。对于优秀的和不及格的学生,我们还会重新组建答辩组进行二次答辩。这是考虑到答辩组之间认同度的差异而导致评分标准出现偏差,可能有些答辩组打分会偏低,有的组打分会偏高,即各个答辩组评分信度不能达到一致。二次答辩可以有效地消减组间评分差异,从而使申报校优秀论文人选和未通过人选的确定做到公正、公平和有效。

图1毕业答辩流程图

针对软件行业特点,我们通过强化实践教学环节,合理利用多方资源拓宽毕业设计(论文)选题途径、健全和完善毕业设计(论文)的监管机制等手段,确保了毕业论文质量的稳步提高。几年来,黑龙江大学软件学院的毕业设计(论文)质量受到校内外专家的一致好评,获校优秀论文比率一直位于学校前列。实践证明,加强毕业设计(论文)质量的监管,不但提高了学生工程实践能力、独立科研能力和创新意识,为学生进入工作岗位打下了良好的基础,进而也提升了学生的就业率。

参考文献:

[1]教育部高等学校软件工程教学指导委员会.高等学校软件工程专业规范[S].北京:高等教育出版社,2011:4.

上一篇: 工程专业毕业论文 下一篇: 职业安全论文
相关精选
相关期刊