专业课程之软件工程论文

2022-04-20

一般人都会用计算机聊QQ、看视频、翻网页,但要说到懂计算机,恐怕只有真正接触到代码的人才有资格这样说。据说有20%的人都认为软件工程是个被调剂的专业,可事实上软件工程不算热门专业,也不算冷门专业,它不上不下,但毕业后绝对是最先有饭吃的那一个。下面是小编精心推荐的《专业课程之软件工程论文(精选3篇)》,仅供参考,大家一起来看看吧。

专业课程之软件工程论文 篇1:

计算机专业大学生实践创新能力培养研究

摘要:为了提高大学生的实践创新能力,构建了计算机专业的创新创业课程体系。从加强实践教学入手,给出了相应的教学内容和教学方式的改革范例,并辅以提高教师教学实践能力、建立创新创业实训中心,制定创新创业激励制度、学科竞赛激励制度等措施,全方位培养学生的实践创新能力,取得了较好的实施效果。

关键词:创新创业;计算机专业;实践能力

十八大报告明确提出了“大众创业,万众创新”的发展战略,大学生是创新创业的生力军。如何培养学生创新创业实践能力,是落实十八大发展战略,促进高校毕业生充分就业的重要举措[1,2]。当前计算机专业高等教育中的现状为知识结构单一、重基础、以教师为中心,在此现状下,大学生创新创业能力受到很大的制约。因此,有必要针对计算机专业学生创业创新能力的状况进行调查及分析,制定相应的创新创业培养体系,实施教学内容和方法改革,为提高大学生的创新创业能力提供保障。

一、创新创业的课程体系设计

要想培养学生创新创业能力,首先要制定合理人才培养方案,构建创新创业课程体系。根据西安科技大学培养创新型应用人才的目标,将计算机专业知识、技能、方法、创新思维等组合形成支持创新创业的课程体系。主要采取的措施如下:

1.加强实践教学,培养学生创新思维和创业能力。西安科技大学计算机学院新版培养计划突出了学生的创新思维和创业能力的培养,主导思想是加强实践环节,培养学生的工程实践创新能力。以计算机科学与技术专业为例,实践学时占总学时的比例由过去的18.8%提高到了27%,集中实践环节由原来的35周提高到了50周。开设了嵌入式系统设计、传感器原理与应用、数字逻辑与计算机设计基础实训、电子工程实训、程序设计实训、单片机课程设计、组成原理与系统结构课程设计等与学生实践创新能力相关的课程。

2.采取“三模块、一贯穿”的体系结构。“三模块”是指“理论教学、集中实践教学、第二课堂”三个模块。理论教学由“通识教育课程”、“学科基础课程”、“专业教育课程”构成。集中实践教学主要包括独立设课实验、创新创业训练、实习实训、课程设计、毕业设计等。“一贯穿”是指创新创业贯穿整个培养方案。其中,通识教育课程中设置2学分的创新教育基础课程。学科基础课程、专业教育课程在后续的计划中贯穿创新创业的理念,形成创新创业能力培养体系;集中实践教学中设置创新创业训练课程,第二课堂以学科竞赛形式进行补充。

二、教学内容和方式的改革

在各专业学科课程中,结合社会需求和专业特点,注重创新思维教育、贯穿创新创业教育的内容,改革教学内容和教学方式。例如:偏向工程应用课程的实验教学以综合型实验、设计型实验为主。教学注重系统性、工程性、技术性、复合型模式培养。以软件工程专业实践创新能力培养模式为例,阐述创新创业在培养过程中的实施方案。

1.采用阶梯式课程设置方法。根据软件工程专业课程之間的前导、后继关系及并行性和时间性情况,针对实践性很强的课程,从教学内容、理论学时、上机学时及课程设计等方面进行多次修订,摸索出一套能够提高学生实践能力的阶梯式的课程设置,使学生逐步地体验程序员、软件设计师、软件架构师、项目管理者的角色[3]。针对软件人才应具备的软件开发能力、团队合作能力、系统架构能力等,开设了阶梯式的工程实践学分课程。分别是:(1)程序设计实践课程。该类课程的目标是培养学生的软件开发能力,提高学生的算法理解、程序设计思维、技巧、风格等多方面的素质。涉及的具体课程主要有《程序设计基础》、《面向对象程序设计》、《可视化程序设计》等课程。(2)软件工程实践课程。该类课程的目标是培养学生的团队合作及研发能力,提高学生的项目规划、软件管理、人员分配、项目交流等多方面的能力,使学生积累有较真实的软件开发经验。涉及的具体课程主要有《数据库原理及应用》、《软件工程》、《UML与软件建模》等课程。(3)信息系统实践课程。该课程的目标是培养学生的系统级软件项目开发能力,提高学生在需求分析、开发方案制订、项目实施,以及沟通、协作等多方面能力的培养。涉及的具体课程是《软件项目管理》。

2.从分散各自为阵,到一条龙的系统性训练模式。以往各门专业课程的实践课程往往是独立进行,学生在各自课程设计的有限时间(1周或2周)内完成设计任务,其结果往往是学生不能做出一个完整的程序或软件系统,达不到完整地、综合训练目的。因此,新的实践教学采用综合训练模式,将几门课程的实践课程连贯在一起进行,取代以往的离散方式,以达到综合训练的目的。

3.采用多种方式结合,保证实践环节效果。为了提高学生的实践创新能力,组织教师和企业工程师共同编写实验指导书、课程设计指导书或要求。在实践环节(含校内外实践)上采用“项目驱动”培养方式,聘请富有经验的企业软件开发人员,采用适合教学的典型软件项目,进行商业化软件项目开发的实践训练。

三、提升教师教学与实践能力,促进学生创新实践能力培养

提升教师的教学与实践能力对于学生创新思维与实践能力培养至关重要。为了提高教师,特别是青年教师的实践创新能力,采取的措施有:选派教师到国内外高校做访问学者或到IT知名企业挂职锻炼;举行青年教师实践创新能力培训班;企业人员参与实习和课程设计;实行“学业导师制”等措施。这些措施既促进了青年教师教学能力和实践水平的提高,又促进了学生创新实践能力的培养。

四、学生实践创新能力培养相关条件保障建设

为了提高学生实践创新能力,学院从政策、场地、经费等方面都给予保障。例如:制定学生课外科技作品竞赛培育项目管理办法,划拨专项经费对教师参与指导学科竞赛予以支持;成立创新创业实训中心,划拨了实验室用房和经费,保障了学生的实践环节和场所;对每个专业要求必须承办一个具有自己专业特色的科技竞赛;在学院的聘期考核文件中,将指导学生课外科技作品竞赛作为考核条件之一等。

五、第二課堂的有效补充

在第二课堂开展“创新创业竞赛”活动,不仅可以激发学生的创新思维和潜质,提高工程实践能力,还可为大学生今后的自主创业和就业打下坚实的基础。如“挑战杯”创业计划大赛、“互联网+创新创业大赛”等。大学生在各项赛事中获得了宝贵的模拟创新创业经历,提高了团队精神、沟通交流和组织管理能力,具备了分析问题和解决问题的能力。

六、总结

构建新的创新创业培养体系之后,计算机学院学生学科竞赛获奖率在逐年提高。2011—2014年省级以上获奖293项,年均73.25项。在实施新培养体系之后,仅2015年省级以上获奖167项,增长了一倍多。计算机学院各专业就业率和平均薪资也稳步上升,获得用人单位良好评价。总之,计算机学院通过构建大学生实践创新能力培养体系,取得了良好的培养效果,并为创新人才培养的可持续发展奠定了理论和实践基础。

参考文献:

[1]周伟,黄祥芳.高校创新创业教育课程体系研究[J].合作经济与科技,2012,(16):92-93.

[2]史晓楠,贾澎涛,罗晓霞.计算机专业学生创新能力培养研究——以西安科技大学为例[J].软件导刊,2015,(11):30-32.

[3]罗晓霞.融合式的实践教学在软件工程专业中的应用[J].科教导刊,2015,(12):104-105.

Key words:innovation and entrepreneurship;Computer major;practical ability

作者:贾澎涛 罗晓霞 史晓楠

专业课程之软件工程论文 篇2:

软件工程,让你在代码中畅游

一般人都会用计算机聊QQ、看视频、翻网页,但要说到懂计算机,恐怕只有真正接触到代码的人才有资格这样说。据说有20%的人都认为软件工程是个被调剂的专业,可事实上软件工程不算热门专业,也不算冷门专业,它不上不下,但毕业后绝对是最先有饭吃的那一个。

虽然都是计算机类专业,但网络工程偏网络,计算机与科学偏硬件,软件工程则直接深层剖析应用软件的内部。简单而言,软件工程就是用开发语言开发软件、使用软件、维护软件的过程。现在科技飞速发展,可以预测未来五十年内必然是社会主流,这方面的人才也越来越稀缺。

走上编程之路

很多人都以为我们专业是修电脑的,其实软件工程比起修电脑难上千万倍好吗?不要说到计算机类专业就认为是修电脑好吗?计算机也分硬件和软件呀!记得刚上大一那会儿,隔壁小弟弟一听我学的计算机,就拉着我神神秘秘地说:“快帮我黑了邻居电脑。”我欲哭无泪,这才学了皮毛就让我千坏事。

事实上,我们这种被称为“程序猿”的人,在稍微懂行的人眼里就是一副顶着鸡窝头,为了赶项目不眠不休好几夜的码农颓废样。没错,确有此事,但也因人而异嘛。毕竟就业前景和发展方向还是很多样化的,关键是选择什么样的路。

好了,让我们抛开世俗的观点,单纯地谈谈软件工程。

这是一门比计算机与科学专业还要“专”的专业,主要就是深入代码写程序,只要你愿意,一款简单的贪吃蛇游戏一个小时就可以敲出来。但程序一旦出错,你可能找了很久都找不出原因,可能是代码拼错,可能是调试不通过,也可能是环境配置不对,当最后看到满屏的清爽无红色标记时,仿佛刚打完一场胜仗,又累又激动。学得精了,其实破解隔壁家的无线只不过是安装虚拟机运行ubuntu系统,再敲一堆代码坐等电脑自动破译,简单又有趣。

搞软件也是个技术活,所以学习的课程特别多,必须熟悉掌握的开发语言有好几种。一开始的两年内,接触的专业课并不多,但都有用。

学网络安全期间,听老师讲起上传流量大于下载流量时,说明可能有人在盗用你的电脑文件。学得一知半解,搞得我一上网看到猛增的上传量就变得神经质。

个人最喜欢的要算WEB开发了,曾经做过一个项目,因为要交课程设计的缘故,连着四天四夜没有睡一晚好觉,梦中指头都在飞快地敲代码,可是在交完设计的那一刻如释重负,心中也有隐隐的自豪感。

另外还有一些开发语言,如C、Java、C#、Delphi等,备有千秋。总体说来,C是基础语言,但也是一门很强大的编程语言,一些桌面程序如QQ就是由C开发而来,入门容易,精通难。JAVA语言应用很火,特别是在手机软件上,很多学校的学习方向就是安卓开发。Delphi是曾经红极一时的语言,不过现在已经很少使用。HTML是网页设计必须熟练的教程,考验个人的审美和设计,还记得我做的仿微信平台系统被老师夸赞是最漂亮的。

除了开发出软件的语言外,还需要存储大量数据的数据库。而在学过的两门Oracle和SQLserver中,前者是甲骨文公司开发的,大型的软件必然使用的Oracle,从理论上讲,两者的语句差不多,但英语二十六个字母还和中文的汉语拼音一样呢,你能说它们毫无区别吗?

另外还有一些软件体系结构、组成原理、面向对象建模等理论知识,很死板。上课像在听天书,用到时只能陉自己没听懂,课后再到图书馆翻阅各种各样的实例书。

在课后学习上,自己可以尝试做一些小系统,如图书馆管理、网上购物等。若想锻炼自己,也可以针对一个项目,尝试用不同的语言来开发。遇到不懂的问题就去问老师,老师都很喜欢主动勤奋的学生。

总结就是一句话,学以致用。

兴趣是关键

有很多人问我,女孩子怎么学了这个专业?我竟无言以对,半天才回一句因为喜欢啊。

我大二时注册过智联招聘网,看了好几家公司,都表明只招男性。行业里有一句话形容得很对—一“女人当男人用,男人当牲畜用”。班上男女比例5:2,八成的女生都不想千软件,考研方向也是五花八门,政治教育学、数学系、英语系、会计类,只为了以后能脱离软件行业。我当初也是茫然地选中了这个专业,还好我后知后觉地产生了兴趣。

班上有个同学,高中时上自习课就能在草稿纸上写出两千行代码,所以他大学期间就一直研究一个方向——安卓开发。选这个专业最好先搞清楚自己擅长和喜欢的方向,这样才会有源源不断的学习动力。

就业前景依旧乐现

IT行业的就业前景还是相当乐观的。单单从开发上而言,有针对IOS开发和Android开发,目前在社会上都是主流,特别是IOS方向,人才奇缺。如果数学学得好,可以试试算法设计。3D建模(即做3D游戏),还有手绘(即把人物场景模型画出来),都是目前很好的就业方向。

女孩子不一定要当码农,心思缜密文笔好的,可以试试软件测试;会画画会设计会PS,可以学学美工;还有WEB前端开发、网站维护、软件架构设计、大数据等等,这些工作相对于开发软件而言,都是较为轻松的。另外,医疗和金融方面的软件公司也比较适合女生。如果觉得自己技艺不精或者想研究某个方向,可以继续考研,云计算、智能识别、物联网将是以后的主要发展方向。

薪资方面,当然是越难搞的“卖价”越高啦。就本科毕业生而言,APP开发一般在5000到6000,苹果开发在8000以上,其他编程语言开发一般在4500左右,不涉及编程的一般起薪在4000以上。当然,这也要看在什么城市发展。

还是那句话,毕竟是搞技术的,过硬的知识和动手能力才是关键。

作者:淑家小妩

专业课程之软件工程论文 篇3:

基于项目驱动的软件测试课程教学探索

摘 要: 软件测试是软件工程专业开设的一门专业必修课程,针对软件测试课程教学中存在的问题,提出采用项目驱动的教学模式。该模式基于真实的项目,以学生为主体,以项目驱动进行教学,通过教学流、测试流两種活动流并行,将软件测试理论知识融入到实践活动中。该模式在软件测试教学中取得了良好的效果。

关键词: 软件测试; 项目驱动; 教学模式; 测试流

0 引言

软件测试形成了一个新兴的行业。软件测试的工作贯穿于整个软件产品生产过程的始终,是保证软件质量的有效手段。软件测试课程是软件工程专业的必修课程之一,是一门理论性和实践性都很强的专业课。该课程对于人才的培养目标是:掌握软件测试和软件质量的基本理论、常用的测试方法和自动化测试工具,能够编写测试计划、设计测试用例、完成软件初步测试。

目前软件测试行业人才严重不足。据企业专职软件测试人员分布调查,27.5%的企业目前没有专业的软件测试人员,43.5%的企业软件测试人员的数量在1~10人之间。为了适应行业人才需求,国内高校纷纷开设软件测试课程。但软件测试在国内高校中尚属一门新兴的课程,缺少对不同开发方式和应用场景的软件测试方法介绍,学生对软件测试过程缺乏完整的认识,学习主动性不高,甚至认为软件测试是一门文字性课程。如何进行软件测试教学方法调整以适应业界需求已成为一个亟待解决的问题。

1 软件测试课程教学存在的主要问题

1.1 学生学情分析

软件测试是对软件形成过程中的文档、数据和程序等内容进行测试,而不仅仅是对程序进行测试,这需要学生对软件工程的基础理论,系统的分析设计,软件的开发技术等有一定的了解。

在还没有完全理解软件工程相关理论时,就开始进行软件测试课程的学习,会导致学生对软件测试理解的偏差。例如,认为软件测试就是找出软件项目中的错误,是简单而枯燥的工作,因而只重视开发技术的培养,不重视甚至忽略测试技术的掌握。

1.2 教学材料分析

软件测试方面的书籍大多是翻译的,而且多是培训用书或介绍软件测试工具的书,而能够满足高校软件测试课程的教材较少。在当前市面上的软件测试教材中,大部分也只是阐述空洞的理论,附加简单而又陈旧的工具介绍,这些理念和工具很多已经被业界淘汰,这样的教材难以适应当前市场对软件测试人才的需求。

软件测试工具较多、范围广、不易把握重点,而大部分测试工具如:LoadRunner、WinRunner、JUnit、C++Test等都是英文版本,工具书较难读懂。教学过程中没有相关的软件产品供学生测试,以验证所学的理论,达不到理想的教学效果。

1.3 教学方法分析

传统教学手段是以课堂教授为主的“灌输式”教学。教师授课时主要是在分析一门课程知识结构的基础上,循序渐进地讲授一门课程的知识点,学生按部就班地学习知识点。传统教学法过于理论,学生往往在学了一堆理论知识后对如何测试实际项目还是很茫然。虽然传统教学法在某些教学环节也会给出一些实例或小项目,但是对于整个课程来说,这些实例或小项目是孤立的、彼此没有联系的,以至学生掌握的知识也是零散的,不系统的,缺乏对课程的整体把握。

1.4 考核方式分析

课程考核是课程教学过程中的重要一环,是检测和促进学生学习效果的重要手段。目前学生考核体系基本以闭卷形式的终结性考核成绩为主,以考勤、课堂表现、作业等组成的平时成绩为辅的考核方式。这种方式存在的问题主要是:以期末考试成绩为重,考核内容相对片面,注重的是软件测试基础理论知识,对软件测试应用知识的能力考查不够,过分注重书本知识而忽略了软件测试综合应用能力的整体考查。

2 基于项目驱动的软件测试教学法探索

欲改善上述局面,就应结合学生的专业特色,在教学过程中以实际工程项目为主线,把软件项目的整体思想纳入到本课程中来,让学生在学习过程中积累项目测试经验,掌握项目测试的流程,增加学生对课程目的性的认识,提高学生的积极性。

项目驱动式教学法是一种建立在建构主义学习理论基础上的、有别于传统教学的新型教学方法。建构既是对新知识的理解与掌握,同时又包含对原有经验和知识的改造和重组,综合形成新的知识建构。该方法提倡以学生为中心的学习。在整个教学过程中教师起组织者、指导者、帮助者和促进者的作用,教师利用情境、协作、会话等学习环境要素充分发挥学生的主动性、积极性和创造性,最终使学生有效地掌握当前所学知识。

2.1 软件项目前期准备阶段

项目是项目驱动教学的核心,整个教学过程都始终围绕项目展开。项目设置的好坏将直接影响到教学效果,因此在设计项目上应注意以下几点。

2.1.1 项目具有典型性

项目教学法中应选择以解决身边的现实问题为背景材料,从熟悉项目着手能充分激发学生的学习热情。项目能覆盖学生已经学习过的知识点,如:软件工程的基础理论,系统的分析设计,软件的开发技术,从源头上保证知识的完整性。

2.1.2 项目规模、难度适中

项目教学法中选择的项目规模和难度都应适中。如果项目规模和难度过大,软件测试用例的设计难度大,学生不容易完成。项目规模和难度过小,则涉及的知识点少,不能反映学生对软件测试用例设计的理解程度。因此,设计的项目应保证学生通过努力能够完成,这样可以树立学生完成任务的信心,充分调动学生的积极性和主观能动性。

2.1.3 项目规范

由于软件测试是对软件形成过程中的文档、数据、程序,以及所有相关文档进行测试,所以被测软件应该是按照软件工程思想设计开发的,每个阶段的工作都应当在文档中体现出来,文档撰写有严格的标准和规范。

项目来源:

途径1:所在学院的每门课程都有多名教师建立的课程群,测试案例可以由教授面向对象程序设计、综合课程设计、系统分析与设计等课程的教师提出要求,选择典型的作品充实案例库。

途径2:从毕业设计中选择,大四的学生都要作毕业设计,教师可以从其提取一些典型系统,充实案例库。

途径3:来自学生科研项目,每年都有大量的学生申报科研项目,教师可以收集其优秀作品,充实案例库。

途径4:来自校企合作项目,教师在和企业合作开发项目时,在合同允许的情况下,将开发系统作为实际案例,充实案例库。

2.2 基于项目驱动的软件测试教学法实施

基于项目驱动的软件测试教学法实施是在学生已完成软件系统分析与设计的实践,并有一定的编程能力的基础上设计的,涉及两种活动流:教学流和测试流。

⑴ 教学流

由于软件测试课程的知识点前后关联关系不大,教师在教学流过程中,不必在讲清楚课程的基础知识和基本技能后再进行项目的教学,可直接面对具体任务进行教学。在教师带领学生分析解决具体项目的方法时,将相关联的知识点串联起来,让学生在学习各阶段的理论知识同时,完成软件相应的测试活动。

基于项目驱动的教学流按照项目测试流程大体可分为三个阶段:软件测试基础、软件测试技术和软件测试管理。

第一阶段,学生主要进行部分软件开发和相应产品的静态测试。在开发的过程中通过规范的开发文档和测试文档,给学生展示单元测试、集成测试和系统测试的密切关系,让学生深刻认识到软件测试是紧密伴随软件开发过程而进行的活动。

第二阶段,主要进行测试设计和实现。软件测试中对具体项目常常有多种测试方法,教师可只讲解其中最实用的方法。其他方法的应用作为讨论、实验、课外作业的形式由学生完成,让学生在完成项目实践的过程中学习知识、解决问题、提高技能。本阶段的教学应只包括对重点教学内容的讲解,其过程应该精练,以便为学生学习提供广泛的空间,为学生顺利完成项目打下良好的基础。

第三阶段,主要进行测试管理和报告。通过测试用例管理工具、案例以及规范的软件测试报告的介绍和展示,让学生深刻认识软件测试需要规范的测试管理过程,软件测试中测试需求、测试用例、测试业务组件、测试计划、测试执行、测试结果、缺陷都需要进行合理的规划和管理。

⑵ 测试流

基于项目驱动的测试流是由教师给定多个项目,并提出测试要求,教学过程中将团队测试的思想贯穿始终,将学生分成若干小组,以小组为单位完成项目测试。每个小组由1个项目组长、1个测试组长和3个测试组员构成。小组内部责任明确,选择有较强实践能力和沟通能力学生担任项目组长,负责制定测试方案、任务分配和人员协调工作。选择有较强学习能力和技术能力学生担任测试组长,负责分析软件需求、获得测试需求、制定测试策略方案、确定测试方法。小组内每个学生必须完成最基本的任务,即测试用例的设计、编写、执行和维护等各项任务。

测试流执行过程中,学生探究性地学习相关的知识和技能,在知识运用中掌握实践技能。通过任务的实施和完成,让学生体验到知识应用的成就感,增强学习的积极性,促使学生更加主动地、探索性地学习相关的知识和技能,使知识技能的掌握更加牢固。测试流执行过程中,教师为项目组提供相关的学习资料资源,引导学生有目的性、有针对性地学习,同时关注学生开展项目的全过程,严格要求按照项目的具体实施流程进行,比如软件测试项目必须按照测试计划、测试设计、测试执行和测试结果分析来进行,每个阶段的工作必须撰写规范的技术报告。

测试流的最后阶段,教师组织各测试小组进行课程设计答辩。答辩时,组间相互评价,从文档规范性、测试方法的正确性和有效性、测试技术应用的广泛性等方面选出最优测试小组。最终经过教师对学生单人考核,结束本次测试流教学。

3 结束语

本文针对软件测试课程教学中存在的问题,提出采用项目驱动的教学模式,通过教学流、测试流两种活动流,将软件测试理论知识融入到实践活动中。该教学模式打破了传统,激发了学生的学习兴趣,有利于学生对测试过程形成一个整体认识,符合软件工程系统化思想。由于软件测试相关理论还在不断完善,实验理论、实验方法手段、实验技术正在飞速发展,这就需要我们在教学过程中不断地探索、总结、完善软件测试教学的内容和方法,进一步提高课程的教学效果和质量。

参考文献:

[1] 龚宇辉.软件测试課程教学改革研究[J].教育与职业,2010.24:

130-131

[2] 张向宏.软件测试理论与实践教程[M].人民邮电出版社,2009.

[3] 聂长海.关于软件测试的几点思考[J].计算机科学,2011.38(2):1-3

[4] 程茂,温静,吴玉洁.软件测试课程的教学研究[J].河北师范大学学报

(教育科学版),2010.12(4):117-120

[5] 于秀山,于洪敏.软件测试新技术与实践[M].电子工业出版社,2006.

作者:陈艳

上一篇:民族文化与旅游文化论文下一篇:任务教学法钢琴教学论文