欢迎访问发表云网!为您提供杂志订阅、期刊投稿咨询服务!

软件工程导论大全11篇

时间:2023-03-13 11:12:13

软件工程导论

软件工程导论篇(1)

自20世纪60年代末提出“软件工程”[1]概念至今,为更好地认识软件开发过程,提高软件的开发质量,许多与软件相关的思想、概念、方法和技术应运而生。软件工程导论实训课作为一门实践性课程,对理解和运用软件工程中的思想与方法起着重要的作用。其教学目的在于通过对软件项目的分析建模与设计开发,将软件工程中所涉及的理论、方法和技术综合应用于软件开发的各个阶段。同时,在实践过程中可进一步增强学生综合运用之前所学的数据库技术、程序设计等知识。因此,对于我院计算机专业的专接本学生,如何使其在软件工程导论实训课程中更好地掌握和运用相关知识,提升其实践技能,就成为我们教学研究的一个关注点。

1现状分析

受近年金融危机影响,大学生就业压力日趋严峻,专科毕业生中报考专接本的学生比例逐年增加。而在近两年的教学过程中,我们发现部分学生对软件工程导论实训课程的学习兴趣不高,程序设计与编码能力欠缺。为进一步提高专接本学生的专业能力和整体素质,使软件工程导论实训课程达到更好的教学效果,我们针对2008级的学生进行了相关的问卷调查。调查内容涵盖学生生源、专业喜爱程度、学习动机、学习态度与习惯、软件工程导论实训课程的选修课程掌握情况、软件工程导论实训课程的评价以及个人未来规划等6方面,调查结果分析如下。

1.1生源的专业差异明显

根据调查结果显示,2008级学生分别来自北京的12所高职高专院校,学生的专业分布如图1所示。从图中可以看到,60.9%的学生在专科学习阶段是以网络、多媒体和通信技术专业为主,计算机专业的学生只占36.2%。由于学生原就读院校在专业培养目标、课程设置和教学内容方面的差异性,专接本学生在某些专业基础课程的掌握上存在较大差别,这也是部分学生的程序设计与编码能力比较欠缺的主要因素之一。

1.2专业喜爱程度和学习动机不一

学生对计算机专业的喜爱程度如图2所示。调查统计、分析显示,28.9%的学生对本专业比较喜欢或很喜欢,34.8%的学生不太喜欢或完全不喜欢所学专业,另有36.2%的学生介于中间。从男、女生对计算机喜爱的程度差异看,男生很喜欢和比较喜欢计算机专业的占40.1%,女生则占23.4%;不太喜欢计算机专业的男生约占18.2%,而女生则有42.6%。

学生的学习动机调查结果如表1所示。由于此项是多选题,因此可以看到,学生认同比率占前3位的分别是拿张本科文凭、获得一技之长和提高自己的综合素质。调查结果显示,学生们选择的都是比较现实的因素,这也反映出当前社会的就业压力以及用人单位对文凭的要求等实际因素已影响到学生们的学习动机。

1.3学习态度和学习习惯良好

在进行有关学习态度和学习习惯的调查时,问卷中共设计10多个小问题。调查结果显示,由于考上专接本的学生在专科阶段大都是班上学习较好的学生,因此他们中的绝大部分学生学习态度比较认真,课后能安排时间学习,在某些课程上有自己行之有效的学习方法。但是,受专业差异等因素影响,其中一部分学生基础较差,学习目标不明确,对所学专业不感兴趣,上课不能专心听讲。

1.4先修课程掌握程度不同

对多门先修课程的调查显示,55.1%的学生对数据结构课程掌握比较清楚,但在程序设计、编码时还需要参看资料、手册。C语言和SQL Server是学生学过且较为擅长的两门课程。调查结果说明:在数据库技术方面,大部分学生掌握较好;在程序设计语言方面,学生基本都掌握了面向过程的C语言,但对于面向对象的编程语言,学生们掌握的并不太好。因此,在今后的先修课程中,有必要通过教学内容来进一步加强学生运用面向对象语言进行程序设计的能力。

1.5软件工程导论实训课程的评价比较正面

对实训中不易把握的方面、课程评价、实训时间等方面的调查结果显示,学生们在软件工程导论实训时,不易把握的内容是程序语言与编码、运用面向对象思路进行的类与对象的分析设计,比率分别为55.1%和50.7%。在课程评价方面,58%的学生的选项是学到一些有用知识,将来用得着;26.1%的学生认为课程学习可以提高自己的综合素质和实践能力。在实训时间方面,44.9%的学生希望用2周时间进行;有21.7%的学生希望用3周时间进行;还有17.4%的学生选择了4周。

从调查统计可以看到,学生感觉软件工程导论实训不易把握,有所欠缺的正是先修课程中没有掌握好的部分。关于于实训时间,84%的学生希望实训在2周以上,从此不难看出学生们希望实训时间更充裕,这有助其更好地掌握和运用知识技能。在对课程评价方面,大多数学生给出了正面评价,即学到一些有用知识、提高了自己的综合素质和实践能力,只有少部分学生选择了实践能力提高不多、学过就忘了的负面评价,这说明实训课程达到了一定的教学效果。

1.6个人未来规划较为多样

在个人未来规划方面,调查显示有近三分之一的学生选择从事与计算机相关的工作。在这部分学生选择的具体职业规划中,排前两位的是多媒体或动漫制作(占24.6%)、网站开发或管理(占23.3%)。那些选择与计算机无关工作的学生,首选的职业规划方向是行政管理(占21.7%)。另有17.4%的学生选择考研或出国。

调查结果分析说明,本科毕业后,男生中选择从事计算机相关工作的占45.5%,而女生选择的比率只占25.5%。在具体职业规划方向的选择上,可以看到学生表现出个性发展的多样性,以及与其原专科专业的一定相关性。

2实践教学措施的革新思路

2.1多向、分层的设计思想

从上述现状分析中不难发现,当前在校的专接本学生在生源专业、学习动机及对计算机的喜爱程度上,与前几届的专接本学生已有明显不同,目前大多数学生对计算机的喜爱程度一般或不太喜欢,学习本专业的主要目标就是拿张本科文凭,不少学生的程序设计与编程能力欠缺,而学生在追求个性发展上又表现出较明显的多样性。因此,如何在软件工程导论实训课中增强这部分学生的学习兴趣,满足其个性发展需求,同时,又提高其实践技能,使每个学生都能在原有的基础上获得进步,是我们此次教学改革研究的主要问题。

“因材施教”是我国古代教育学家孔子最先提出的,它强调个体的差异教育。何谓因材施教?因材施教就是指教育者根据教育对象的个体差异性和实际情况有针对性地实施教育和教学的一种原则[2]。近年来,不少高校在部分基础课和计算机基础课上尝试进行分层教学[3-5],并取得了较好的效果。受这些观点启发,针对当前在校的专接本学生现状,我们认为在软件工程导论实训课程中可进行多向、分层教学,这样不仅能体现“以人为本”、“因材施教”的教育理念;同时,也可适合生源专业的差异性,满足学生在学习上的个体差别。对此,在实践教学中我们要依据学生的实际学习能力和学习兴趣,确定出不同层次的项目内容和评价标准,从而实行有差别、共同提高的实践教学目标。

2.2多向、分层的教学措施

软件工程导论实训课作为一门实践性课程,着重培养学生独立分析和解决问题的能力,以及团队合作精神。该课程要求学生以小组形式(一般由2~3人组成)开发出具有一定规模的软件系统,小组成员依照开发过程的各个阶段,分别担当项目经理、需求分析师、系统设计师、数据库设计者、程序开发人员与软件测试人员等角色,逐步完成项目计划、需求分析、系统设计、程序编码、软件测试等阶段的工作内容。通过具体的实践工作,使学生体会软件开发的一个完整过程,从而进一步加深理解并运用软件工程中所学到的知识和方法,提升软件开发技能。

依据我院软件工程导论实训课程大纲,该课程实施时,要求学生已具备计算机专业的基础知识,掌握高级程序设计语言、数据结构、数据库原理等知识和技能,具有一定的编程能力,这样才能综合运用于软件工程导论实训课程中。而根据目前现状分析,可以发现当前专接本学生中有超过半数的学生其原专业是以网络、多媒体技术和通信技术为主,其程序设计与编程能力欠缺,但在我们目前的软件工程导论实训课程中,实训项目内容又多以MIS系统开发为主,另有部分网站开发项目。显然,这样的实训内容对上述学生而言有困难,对此,我们需要对现有的实训项目进行革新,初步的措施设计如下。

1) 项目内容多样。

具体措施是:在实训项目内容中,除了保留以往的MIS系统开发和网站开发项目外,还可将多媒体、动画制作、网络、通信等方面的内容引入进来,例如,在项目内容上增加手机游戏编程、PDA软件开发、制作具有故事情节的多媒体动漫等,这样既可使学生依据自身的学习能力和兴趣选择适合的实训项目,又可促进他们自主学习的动力。

2) 项目要求分层。

根据现状分析,当前专接本的学生在学习基础上存在差异,如何在一门实践性课程中,避免出现基础好的学生“吃不饱”、基础差的学生“消化不了”的现象,这需要我们针对实训项目要求从功能、难度上划分出层次。比如,在每一个实训项目要求上,明确指出完成哪些功能可达到基本要求,增加或完善哪些功能细节可达到中等要求,增加、提高或优化什么功能可达到高等要求。同时,在多个实训项目上也要按照难度划分出层次,确定出实训项目可达的分值范围,这样学生就能够依据自身的学习基础和能力选择比较相适应的实训项目,并在项目中力争达到较高的要求,从而使每个学生都能在原有的基础上获得进步与提高。

3) 评分标准分类、统一。

由于实训项目内容考虑了程序设计、多媒体动画、网络通信等多方面,具有一定的多向性,同时软件开发又具有过程阶段性的特点,因此,对于软件工程导论实训课程的评分标准,我们确定的原则是:过程控制、分类统一。具体内涵有下面两点。

(1) 统一开发过程。即无论学生选择何种实训项目,都要运用软件工程的思想,设立需求分析、软件设计、软件实现及软件测试4阶段的工作内容。教师则按照上述过程对学生在各阶段的工作进行评审,阶段成绩的总平均分与考勤成绩一同作为平时成绩的依据,项目验收成绩与实训报告成绩则作为期终成绩的依据。这样,教师就便于实现实训过程的控制,以及评分标准的统一。同时,这样的评分架构也可充分反映软件工程导论实训课程的特点,使学生在实践中真正掌握软件开发的全过程,以及相关方法与技术。

(2) 评分细节分类。即在统一评分架构后,通过对程序设计、多媒体动画、网络通信等多方技术及其软件开发特性的分析,可以看到在需求分析、软件设计与软件测试这3个阶段,其软件开发特性并不因技术的不同而存在很大差别,因此这3个阶段的评分标准可以完全一致。因技术不同而存在较大差别的主要是软件实现和项目验收这两个阶段,对此,需要根据程序设计、多媒体动画、网络通信等技术的各自特性,在评分细节上进行分类标准的制定,确定出各类技术的侧重点,这样才能确保多向、分层实训教学的实施,达到有差别、共同提高的实训目标。

3结语

教育的本质是启迪智慧、开发潜能,大学教育的根本目的在于培养学生掌握一套适合自身的学习方法与主动获取知识的能力,促进学生认识并实现自身价值。软件工程导论实训课作为一门知识综合性强的实践性课程,其涵盖内容丰富,学生通过该实训课程的实际操作,可初步体会到系统分析师、软件项目管理者、计算机程序设计员、网站开发员、软件测试师、数据库系统管理员等多个IT行业职位的工作,便于他们在学习实践中发现自身的兴趣所在,确定未来的发展方向。我们希望通过在软件工程导论实训课程中进行多向、分层的教学改革,帮助学生真正提高职业技能水平,为他们的就业成才创造机遇。

参考文献:

[1] 张海藩. 软件工程导论(第5版)[M]. 北京:清华大学出版社,2008:5.

[2] 李爱梅,陈宁. 和谐教育理念下的因材施教策略[J]. 内蒙古师范大学学报,2009,22(2):43-45.

[3] 周小玲. 以人为本因材施教:关于高职院校数学课实施分层教学的思考[J]. 辽宁行政学院学报,2006,8(6):116-117.

[4] 张欣,杨秀红,吴凯. 大学英语分层教学的调研与思考[J]. 天津农学院学报,2009,16(3):64-65.

[5] 朱嘉贤,李坚. 分层分类教学法在计算机应用基础课程中的应用[J]. 计算机教育,2008(18):129-130.

[6] 毕硕本. 结合课程特点、学习现状与学生意愿的教学实践[J]. 高教论坛,2008(3):19-23.

[7] 彭声泽,李琼. 培养计算机专业学生实践创新能力的探索[J]. 计算机教育,2007(7):60-63.

Investigation on Introduction to Software Engineering Teaching

ZHANG Yu-hong, WANG Jun

软件工程导论篇(2)

1991年,哈佛大学的埃里克马祖尔教授创建了同伴教学法,其最早应用于物理学教学中。同伴教学法是一种基于合作学习理论和动机学习理论设计的教学方法。它是以教师在课前要求学生进行知识预习,课上提出测试题,要求每名学生独立答题,学生可以向教师提出1~2个问题,并形成自己的答案;然后由教师将学生进行分组、讨论,每名学生都要在本组内阐述自己的答案,答案有差异时,成员之间可以用自己的观点和理论说服对方,决定自己答案是否更改;教师统计学生上交的试题答案及正确率,根据准确率及时调整教学策略;学生根据教师讲解的知识点和关键点对照自己的答案,并将知识进行有效迁移的教学过程。同伴教学法是在心理发展水平相当的同伴关系之间,通过同学之间进行阐述观点、互相学习、讨论、分享经验,传授技能并获得同步提高。同伴教学法适用于原理、概念、过程、方法等比较难于理解、难于记忆、容易混淆的理论课程,这是一种讲授自然科学课程简单、有效、实用的教学方法。在软件工程导论课程中进行同伴教学法进行教学,符合课程特点和教学发展规律。

1软件工程导论课程教学现状

软件工程学归属于自然科学中计算机科学与技术学科,是为了摆脱软件开发成本和进度估计不准、系统满意度不够、产品质量不可靠、软件维护性差、软件开发生产率跟不上计算机发展速度等“软件危机”的困扰,专门研究软件开发与维护的普遍原理、技术的一门工程科学。软件工程学已成为计算机科学的一个重要分支,研究范围广泛,其包括技术方法、工具、管理等多个方面。软件工程导论课程是计算机专业开设的一门必修课,是软件工程学的概要介绍,主要讲述软件工程的原理、概念、技术和方法,介绍各个实施阶段的任务、过程、方法和工具。

1.1课程内容繁多

软件工程导论课程讲述的概念、原理、模型、系统内容繁多,讲述的知识面广、软件的发展速度快,课程的真实性和综合性强,理论性的知识众多,教师准备课程和讲解知识虽然耗费了大量的时间和精力,但学生对知识点不易理解,不能完全掌握知识内容。

1.2教学方法陈旧

软件工程导论课程采用传统的教学方式,即“满堂灌”,教师在讲台上用无数丰富的语言去描述概念、原理、过程,学生只能被动的接受、机械的记忆,师生之间没有互动,学生想在一节课上把教师所讲的复杂的理论、概念完全记住,非常困难。经过实践证明,这种传统的教学方法,已不能满足学生的学习需求,影响了其学习效果。所以,必须要找到一种适合软件工程导论课程的教学方法,同伴教学法是若干教学法中的最佳选择。

2同伴教学法的应用实例

以“总体设计的过程”这一节课程为例。

2.1课前准备

在本节课前一周,教师布置阅读任务,要求学生阅读“总体设计的过程”的内容,在课堂上提出并要求学生回答类似下列的问题。(1)详述总体设计的过程,需求分析阶段的数据流程图在总体设计中起到了什么作用?(2)在选取方案过程中,分析员一般要备份什么资料,这些资料有什么作用?(3)数据库设计的步骤是什么,每一步的功能是什么?(4)在书写文档时,都需要哪些文档?为什么要书写这些文档?这些文档对软件的开发起到什么作用?这些问题必须是经过教师精心设计的,不能让学生通过阅读资料就可以找到答案,需要学生通过阅读教材、查找资料,对资料进行独立思考、深入分析,形成自己观点的问题。教师要综合知识点,对问题做好答案,以备讲解。

2.2问题提出

课堂上,教师先创设模拟情景,如:一个公司现在需要编写一个财务软件,最先要明确的就是总体的设计过程,那么这个设计过程应该是什么样的呢?此时抛出的设计问题,请同学们进行讨论,给出答案。学生阅读教师给出的思考题,根据阅读过的教材和资料,给出初步答案。此时,每名学生也可以向教师提出1-2个问题,教师进行回答。

2.3小组讨论

教师将学生分成若干个学习小组,每组有4-5名成员,可设置1名组长,也可不设置。在小组中,每名学生按次序将自己的答案提出,并说明形成答案的根据、理由和设计。小组内根据不同意见再进行分组,每名同学试图用自己的理论说服对方,此时,教师可以在各组内进行巡视或旁听,并给出一些建议,学生根据讨论和交换的意见,再次形成新的答案。

2.4统计答案

学生将答案提交给教师,教师根据学生方案中存在的问题,进行统计,并给出每道试题的正确率,查看知识点掌握情况,总结学生答案的优缺点,分析学生错误答案产生的原因,准备相关知识以备讲解。

2.5讲解答案

教师讲解答案如下。(1)总体设计的过程包括设想供选择的方案、分拣选取合理方案、推选最优方案、进行功能分解、设计软件结构、数据库设计、设置测试计划、书写软件相关文档及审查和复审等9个步骤,需求分析阶段的数据流程图在总体设计中是总设计的开始,数据流程图中的自动化边界是实现策略的方案。(2)在选取方案过程中,分析员一般要备份系统流程图、组成系统的物流元素清单、成本或效益分析、实现这个系统进度的计划四份资料,这些资料是实施方案的基础,是项目是否可行的依据。(3)数据库设计的步骤是模式设计、子模式设计、完整性和安全性设计、优化。模式设计是确定数据库的物理结构,子模式设计是具体的数据规划试图,完整性和安全性设计是保证数据库整体安全稳定运行的检查方案,优化是改进模式和子模式数据的方案。(4)在书写文档时,需要系统说明、用户手册、测试计划、详细的实现计划、数据库设计的结果等文档。这些文档是进行软件开发的根据和基础,也是以后开发同类产品的宝贵资料。教师讲解后,归纳总结学生方案的优缺点,对错误的成因进行分析,提炼出本节课程的重点和难点内容。同学们根据自己的答案对照教师的答案,分析自己答案的利弊,巩固知识,再进行讨论,最终领会本节课的知识和技能,提升自己的知识和能力,进而对知识做到最好的迁移。

3结语

在软件工程导论课程中使用同伴教学法进行教学,使学生明确了学习目标,掌握了重点和难点,激发了学习兴趣,提高了解决问题的能力,培养了合作精神、沟通能力、竞争意识、互助精神等综合素质。改变了原有的教学模式,让同学之间成为互相的传授者,不但可以共同探讨问题,还能共同增长知识和技能,达到了共同进步的目的。同伴教学法在自然科学门类的理论课程教学中具有显著的作用和十分重要的现实意义,是同类课程的有益借鉴。

主要参考文献

软件工程导论篇(3)

行动导向教学目前在高校软件工程概论课程应用中取得了不错的效果,但同时由于受到一些不确定因素的影响,例如教师对现代化教学方式的掌握、学生自身的个性以及学习能力等,导致行动导向教学的应用效果不是很理想,不仅不利于学生的学习,同时也会限制学生的创新思维的扩散。从另一个角度来看,行动导向教学的应用的成功之处就在于突破了传统教学模式的限制,创新了现代化教学模式,有效提升了我国的教育教学水平。

二、行动导向教学在高校软件工程概论课程中应用的优缺点

1、提升了学生发现问题、解决问题的能力

行动导向教学在高校软件工程概论课程应用中的突出优点就是提升了学生发现问题、解决问题的能力。行动导向教学就是指在课程中积极发挥学生的主体作用以及教师的主导作用,重点在于培养学生发现问题以及解决问题的能力。对于软件工程概论课程来说,与现代化社会中的信息化技术有着紧密的联系,从而对于学生的教学及培养,需要不断加强重视。行动导向教学方法的应用,让学生在实践过程中对该课程有了更好的理解,同时也提升了学生对学习该课程的兴趣。学生在课程中发挥着主体作用,因此在日常的教学课程中,教师会引导学生积极探索问题,发现其中的奥妙。行动导向教学方式的应用,很好的满足了部分学生对于课堂教学开展模式的向往,重点在于把学生作为中心,进一步拓展了学生们的思维以及眼界,最大的优势就在于可以有效提升学生的技术水平以及实训能力。

2、进一步突破了传统教学模式的限制

另外,行动导向教学的应用进一步突破了传统教学模式的限制。传统的教学方式对于成绩的注重力度是比较大的,而且一些学生普遍形成了死记硬背的思维,对于实训课程了解少之甚少,这样不仅不利于学生自身的成长发展,同时也不利于为行业发展提供人才。但是现代化教学方式的改革,进一步突破了传统教学模式的限制,就行动导向教学来说,做出最大的改进就是课堂中积极发挥学生的主体作用,对于一些需要记忆的知识点,可以采取情景教学,让学生有极大的兴趣投入到其中,才能够更好的掌握知识。

3、教师对现代化教学方式掌握力度不够,理解不全面

由于受到不确定外界因素的影响,行动导向教学在课程教学应用中也存在一些不足。例如,教师对现代化教学方式掌握力度不够,理解不全面。目前社会中存在一部分资历比较老的教师,他们对于新事物的接受力度是比较弱的,而且认为现代化教学方法没有什么先进之处,反而教学难度会增大,过程也会变得复杂。从而对于现代化教学方法掌握的力度不够。教师是引导学生成长成才得指路明灯,所以针对教师们不好的做法需要做出积极的改进。另外,还要积极招收掌握现代化教学方法的教师,从而更好的发挥学生的学习能力以及自主性。

三、行动导向教学在高校软件工程概论课程中应用的改进策略

1、不断完善师资力量,提升教师的教学水平

针对行动导向教学在高校软件工程概论课程中应用的优缺点,提出了相关的改进策略。第一,不断完善师资力量,提升教师的教学水平。教学中教师在很大程度上起着引导的作用,学生的学习能力提高与教师有着很大的联系。由于一些专业学校,对于教师的教学水平并没有很高的要求。但是正是因为此,却在很大程度上影响了教学质量。所以在对教师进行招收时,要提出更高的要求。首先需要教师掌握更全面,更高质量的关于粤菜的烹调技术,与外界的市场相结合,从而培养市场需要的学生以及人才。另外,需要不断加强对教师的培训,只有提高了教师的职业素养水平,才能够让其在教学质量上发挥更大的作用。

2、灵活运用教学方法,吸引学生的学习兴趣

第二,灵活运用教学方法,吸引学生的学习兴趣。俗话说:兴趣是最好的老师,为了促进学生对于软件工程专业有充分的了解以及学习的兴趣,需要学校在管理模式上进行创新管理,让学生在轻松的氛围中学习课程。另一方面,教师在课堂管理中也要不断创新方法,例如增加学生感兴趣的一些环节,并且与课堂内容有效的结合起来,从而来更大范围的吸引学生的学习兴趣,激发学生的学习动力。另外,教学方法不能够太单一,需要灵活的运用教学方法,活跃课堂氛围,从而让学生积极投入到课程的学习中。教学方法的运用也要结合学生的兴趣来入手,从而才能取得事半功倍的效果。

3、不断完善实训设备,提升学生的技术水平

软件工程导论篇(4)

John每天早上一睁眼,心理就沉甸甸的--又是难以忍受的一天!有上班的点,没下班的点。其实身体的疲惫倒没什么,更让他难受的是心理的负担:工作的时候没有乐趣、也谈不上成就感,他也不知道这样的日子什么时候才是尽头。John已经记不起来上次开心的笑是什么时候。他极不情愿地爬起来,硬着头皮出了家门。公司里有他不愿面对的上司,和永远也做不完的工作。

John在大学学的是计算机专业,在学校的时候,他可是个活跃分子,还算个小名人呢,毕业后很自然地就在IT行里混。几年下来,虽然也做了几个软件,但是一直对编程提不起兴趣,找不到兴奋点。虽说IT业不景气,可他手上的工作一点没少,只是荷包瘪了些。痛苦,郁闷,他也想过跳槽,换一个行业,但是又觉得自己除了编程什么都不会,于是几次心理的骚动都被扼杀在摇篮里了。随着年龄的增大,John的心理负担越来越重,从"小John"现在都混成"John哥"了,IT可是个年轻人的行业,John已经觉得身体有些熬不住了,并且IT业技术更新换代的速度给他越来越强的紧迫感--今后的职业生涯该怎么走?

在迷茫困惑中,John找到了成功职业指导中心,在测试和沟通之中职业顾问发现John有销售的天赋,John也谈到曾经有一次偶然的机会,自己陪同市场部的同事给客户做演示的时候,发现自己的说服技巧很能打动客户,那次,客户几乎没有什么大的修改意见,就接受了他们的方案,为此他们还好好庆祝了一番。

职业规划师根据他的天赋和性格、兴趣,为他的职业生涯做出了定位和规划,并提出了一些具体的建议。John几年来一直搞技术,从来没想过自己还可做销售,心中虽有些兴奋,但还是有些惴惴不安,死马当作活马医吧。可是现在,不到一年的时间,John已是中关村一家电子公司的销售总监。他在给职业规划师的E-mail中写道:我以前就象是搁浅的船在沙滩上拉着走,现在就象是冲浪--感觉完全不同。

软件工程导论篇(5)

软件工程是高校计算机专业教学计划中的一门重要课程。软件工程的课程体系涉及了从客户沟通,软件设计,软件开发,软件测试到最终软件维护等软件生命周期各个阶段。既是一门理论性极强的专业课程,更是一门实践性很强的课程。近年来,全国各大高校均将软件工程作为计算机及其相关专业的一门重要专业课程。计算机专业的学生通过软件工程课程,学习作为软件从业人员需要掌握的基本专业能力,为未来从事计算机软件相关的各类工作,提供理论及方法的指导。可以说,学好软件工程,对计算机及其相关专业的从业人员来说都是一门必修课。

二、教学现状

在当前的软件工程课堂教学当中,部分院校采用纯理论课堂讲授的授课形式,另一部分院校则采用理论讲授与实践实训课程相结合的授课形式。然而,从教学内容来看,当前软件工程的教学内容,主要集中在传统方法学,即传统的软件工程学。对于面向对象方法学来说,很多新的知识方法还涉及不足,特别是软件模型化,构建技术,UML统一建模语言等等一些当下社会流行的软件工具和方法。同时,实践环节较少,实践效果不够理想也是软件工程教学中普遍存在的问题。目前可供该课程选用的合适的实验项目甚少,所以学生通过实验课程所达到的效果与教学要求存在较大的差距。另一方面,学生对理论知识的理解不足。软件工程是一门计算机领域的综合性、工程性学科。涉及软件生命从萌芽、成型、成熟、生命结束的各个周期阶段的工作和任务。学习者似乎能听懂,可听完后大部分学生还处在似懂非懂的阶段,真正需要动手时,不知道该从何下手。在近年来的教学实践过程中发现,一些理论知识,过于抽象晦涩。与实际的应用需要相脱节,学生对很多知识理论,只停留在概念阶段,难以消化,更无法理解理论知识在实际的软件设计、开发、测试、维护中究竟何时何地可以运用,具体又该如何操作。理论与实际的结合仍存在很多不足。这一方面与课程理论研究性较强有关,另一面也与教师本身长期在院校从事较单一的教学工作,缺少工程项目经验,脱离实际的生产及软件开发场景,难以将理论与现实情境很好的结合传授给学生。在计算机专业毕业生的毕业设计中,也集中体现出了学生不能把理论知识有效地运用到实践活动中的问题。学生并没有真正掌握基础理论及运用理论的技能和方法,所以在进行毕业论文设计时,不能将软件工程的理论充分运用到他们的设计实践中去,从而导致设计开发的软件和撰写的文档在结构、内容等方面错误百出。

三、改革思路

(1)研究并解决软件工程教学中存在的新兴软件方法不足等问题。结合现有的专业培养方案,教学大纲,制定教学计划,改善软件工程教学现状,研究传统软件工程技术在教学改革中占的课时比例及应当讲授的内容,增加研究面向对象软件工程技术在教学改革中的地位及讲授的方式、内容和课时量。(2)研究并解决软件工程课程实践性不足,学生学习停留于理论阶段的问题。结合理论课程的内容,增强软件工程的实践性,与一些软件开发的实训课程相结合,增加学生的实践机会,将软件工程理论应用于实践当中,提高学生对课程的理解和现实认识。(3)研究并解决学生对理论知识理解不足,课程停留于课堂教学,脱离实际运用,学生难以满足应用型人才培养目标等问题。根据教学计划,教师请教并邀请相关企业的软件资深从业人员,与学生开展专业知识交流活动。以企业中实际可行的软件项目为案例,为学生讲解软件知识,让学生理解软件工程的理论知识如何有效的融入实践当中。并加深学生对课程、对当今计算机领域流行的专业知识及未来从业方向,对计算机专业从业现状的认识,真正做到应用型人才的培养。可以安排学生到企业进行调研,参与实际的企业项目。(4)研究并解决学生在毕业设计及毕业论文的完成过程中,缺少理论支撑,不能合理规范化完成设计的问题。将软件工程专业知识与计算机专业毕业设计相结合,在毕业论文指导的过程中,重视软件工程理论的应用。以软件工程方法学,软件过程,项目管理等相关知识软件工程相关理论指导学生的毕业设计,力求整个毕业设计过程达到模块化、规范化,正规化。

参考文献

[1]张海藩.软件工程导论(第5版)[M].北京:清华大学出版社,2018.2

软件工程导论篇(6)

1.1三个培养阶段——完善的实践课程教学体系建设

浙江工商大学结合软件工程专业的特点,加强实践课程教学,全面优化和修订培养方案,调整课程设置,将传统以基础理论教授的模式转化为以培养实践能力为主的课程体系建设。课程体系体现“厚基础”、“重技能”、“多实践”的特点,课程类型基本分为公共基础课、专业课、专业选修课、实践课等。在整个课程体系中,软件工程专业学生培养分为3个阶段进行,即初期阶段、中期阶段和后期阶段。1)初期阶段。初期阶段是指第1学年和第2学年的第1学期。该阶段学生的任务主要是学习数理基础和提高软件开发能力,包括夯实数理基础、提高学习能力、解决语言听说写的问题和解决编程能力问题。一、二年级暑期短学期,开设高级语言程序、数据结构、Java程序设计等实践课程,使学生具备较强的软件开发能力。当然在该阶段,学生也可以申报创新项目,或是参与一些学科竞赛、科研项目等,但由于参与上述项目的要求比较高,参与这些项目有个知识准备的过程,所以一般来说该阶段软件工程专业的学生参与力度不大。相对来说,这个阶段的学生可以考虑参与一些与课程相关性比较强的实践内容,如开放实验、创新实验、C语言程序设计大赛等,而等数据结构课程学完之后,部分对编程感兴趣或是编程能力相对比较强的学生可以考虑参与ACM程序设计大赛的训练。2)中期阶段。中期阶段是指第2学年第2学期和第3学年。该阶段的主要任务是学习Web技术、软件建模与设计、软件项目管理、软件质量与测试等专业课程,强化专业知识教育,通过校内项目实践课程,加强学生动手能力、实践能力,提高系统设计能力。学生在这个阶段应该掌握完备的计算机专业基础知识,学习软件工程的基本原理和方法。我们特别设计了两个学期的软件工程实践课程,通过以小组为单位的完整项目实践,让学生真正掌握和应用软件工程的各种方法以及团队合作技能。该阶段是软件工程专业学生主要实践锻炼、创新能力培养、动手能力累积的主要阶段,在该阶段,学生可以根据自己的兴趣爱好,在教师的指导下参与各种创新实践项目、学科竞赛、科研项目等。3)后期阶段。毕业阶段是指大四整个学年。在该阶段,通过开设一些专业选修课,让学生了解专业前沿,学习软件工程规范,拓宽专业前沿知识和领域知识。大四第1学期的后半学期开始到优秀软件企业进行实践,学技术、学管理和学做人。企业实习可以与毕业设计挂钩,实习的内容可作为毕业设计的内容,使学生能够更好地适应产业界的需要。

1.2实施保障措施——全程专业导师制、全面实践课程改革、全方位实践活动

1)全程专业导师制。学生的培养体系通过实施“全程专业导师制”,加强对软件工程专业本科学生的专业指导,提高学生的专业实践能力。专业导师的职责主要是负责对学生学习方法、专业认识和实践动手能力等方面进行指导,主要向学生介绍学科和专业的教学内容、方向和发展前沿,引导学生明确学习目的和成才目标,端正专业思想和学习态度,促进学生知识、能力、素质协调发展,并创造条件让学生参加科研活动,鼓励和引导学生参与社会实践等活动,积极引导学生参加各种学科竞赛并给予辅导,在大四阶段指导学生的毕业设计和择业。2)全面实践课程改革。对培养体系中的所有实践课程进行改革,改进教学方法,加强教师指导,提高教学效果。以软件工程实践课程为教学改革试点课程。以“大班授课小班讨论”的教学改革方案下,以已有实践课程改革方案为基础,针对该课程的具体情况,制订出一套适合于软件工程专业学生的最佳实践方案,以开源软件为开发和管理工具,以团队合作为组织形式,真实地模拟软件工程项目从需求分析到软件的完整过程。本课程在教学方式、小组交流与合作、实践指导和考评体系等方面进行了强化和扩展。(1)教学方式:课程共60学时。课程采用大班教学,小班讨论与实践的教学模式进行。其中,课堂教学(即大班教学)约20学时,实践教学(即小班讨论与实践)40学时。学生在大班教学阶段全面学习了目前现有软件企业在实际软件项目开发中所使用的项目开发和管理技术和业界普遍使用的软件工具。在小班讨论阶段将这些知识融入实际的软件项目管理与开发中。(2)小组交流与合作:以开源软件工程工具和开源软件组件的学习和使用为基础,从真实软件工程项目的需求分析、概要设计、详细设计、编码实现、软件测试至最后的软件,学生们以理论教学促讨论,以讨论促实践,从实践中真正学到了软件工程业界的理论与方法。(3)指导实践:主讲教师除了进行理论教学的授课之外,必须直接参与实践讨论的教学环节,这不仅有利于提高实践讨论的效率,实时解决学生所遇到的理论知识问题,给其他实践讨论指导教师起到良好的示范作用,更有利于从实践讨论教学环节中得到学生的反馈,对下次的理论教学进行强化、修正和扩展。每班配备2~3名实践讨论指导教师。(4)考评体系:以小组整体成绩与个人贡献相结合的考评方法,可以更合理地评估每位学生的实际表现。3)全方位实践活动——创新实践计划,软件设计竞赛等。本着“注重应用、提高素质”的实践培养要求,为学生提供全方位的实践活动,包括创新实践计划和软件设计竞赛等。创新实践计划原则上要求学生具有基本的程序设计和开发能力,掌握软件工程开发各个环节的基本知识、基本技术(嵌入式系统、信息系统、多媒体开发)。创新实践的主体为软件工程专业本科三年级学生。为了创新实践的梯队培养和团队协作,创新实践的对象还可以包括优秀的大学二年级学生和研究生。考虑到软件工程项目在时间上的整体性、迫切性和定时性,同时结合学生能够充分利用连续时间,以及指导教师的空闲时间,每届学生的创新实践的开始时间为第4学期末开始,至第7学期毕业实习期之前。实践的工作制度为弹性工作制,即按照项目开始时制订的工作计划,每人按时完成各自的工作任务。参加创新实践的学生首先在专业实践机房进行培训和实践模拟训练,学校每个学期开始、期中和期末各进行一次实践考核,考核优秀者可以进入校内实践基地,从事真实项目的开发工作。软件设计大赛旨在通过竞赛活动,提高学生的软件系统设计、开发水平,培养学生在软件工程方面理论与实践相结合的能力,激发学生参与实际软件开发工作的兴趣,培养学生的团队协作能力,树立科技创新意识,丰富和活跃校园文化氛围,培养经济和社会发展需要的优秀人才。竞赛要求二、三年级学生混合组队,以三年级学生为主,二年级学生为辅,培养学生之间的沟通能力和协作能力。大赛遵循自由命题的原则,体现创新,所有作品必须为学生的原创作品,不得侵犯他人的知识产权。竞赛注重基本知识的掌握与应用,体现实际操作能力和综合应用水平。学生提交作品后,由专家委员会组织专家从多个方面对参赛作品进行量化评分,包括:作品相关材料的真实性与完整性、作品的创新性、作品的技术先进性、完成作品的工作量与工作难度、理论与实践相结合程度、回答问题的正确性等。

1.3评价保障机制

社会的发展、时代的要求推动了人才培养模式的改革,单纯注重知识传授转变成加强实践创新能力的培养,教学资源建设也由传统的分散的单一型向集约型、立体化、网络化、共享型转变,教学管理机制由原先强调规范向满足学生自主选择和有利于学生个性发展转变,学校以及学院为配合本专业大学生创新能力培养提供了保障机制。1)科研项目为教学科研改革提供动力。本专业学生通过创新项目立项、专业实践锻炼、参与导师的横向、纵向课题等方式,为师生的科研教学和学习提供了真实的问题环境,使他们在实战中提高了科研教学能力和学习应用能力。此外,学生也可以将所参与的项目与毕业设计、科技创新、社会实践等相结合,体现自身价值的同时,也能激发教师科研创新的积极性。2)“创新学分”冲抵选修课学分,丰富学生评价方式。我们将“实践创新能力”这一指标引入学生的评价系统,加强学生素质拓展教育,凡是参与实践创新活动并能提供相关成果的学生经认定后可获得一定的“创新学分”,其中修得1个创新学分是在校学生必备的要求,而获取该学分有多种方式,如参与各个教师所开设的创新实验满15课时,且提交一定成果,经指导教师认定为良好以上的,可向教务处申请获得1个创新学分;参与校级以上学科竞赛并获得三等奖以上的也能获得相应的创新学分;发表学术论文的学生根据文章排名也能获得相应的创新学分。而多出来的“创新学分”可冲抵相关的专业选修课学分,进一步丰富了学生评价方式。3)“系统/论文替换”,丰富毕业设计环节的形式。我们在毕业设计环节施行“系统/论文替换”的新形式,增强了毕业设计环节的灵活性。凡是参加省级以上竞赛并取得三等奖以上的学生提出申请后经学院认定,可根据竞赛的成果替换毕业设计环节中的相关内容,如某个学生获得浙江省电子商务竞赛设计类一等奖的排名第一的学生,可以将竞赛的成果(系统和报告)申请毕业设计系统和论文都替换,而发表B类以上学术论文的学生可以申请论文替换。

1.4建设校内软件外包基地

软件实践基地对于软件工程专业的实践教学有着重要意义,在实践基地进行的实践教学能使课堂上的知识完成从理论过渡到应用。目前,各个高校普遍通过与软件企业合作建立校外实习基地进行实训学习,但这种方式存在不少问题:实习点分散不利于管理;到校外实习一般费用较高;由于软件企业担心泄露机密、干扰正常工作等原因不愿与学校建立校外实习基地,或同意建立校外实习基地,但对实习的时间和实习的岗位加以严格限制,甚至学生只能观摩不能操作。因此,为了提高浙江工商大学软件工程专业学生的实践能力,除了建立校外实习基地以外,建立完善的校内实习基地尤为重要。从2008年起,浙江工商大学与知名的软件服务外包企业(杭州星移软件有限公司、杭州富士制冷机器有限公司)合作,建立了校内软件外包实践基地,让学生有机会参与对美、日软件外包项目的实践,为学生实践提供了良好的工程实践环境。我国软件外包正飞速发展,软件外包是企业为了专注核心竞争力业务和降低软件项目成本,将软件项目中的全部或部分工作发包给提供外包服务的企业完成。软件外包项目符合我们实践教学的需要,软件外包项目的特点是种类丰富,部分项目规模小,周期短,也经历软件生命周期的各个阶段。软件实习基地不仅使得学生与社会更好地衔接,也为人才培养模式改革、师资队伍建设提供良好的载体。该实践基地的建设,可充分利用校内良好的实验室软硬件资源和强大的师资力量,通过承接各类软件外包项目,引入服务外包企业的运作模式和管理机制,方便学生在校内参与真实的软件外包项目,提高各个层次学生的软件工程与外包实践能力,为顶岗实习实践打下基础。可充分发挥学校和企业在软件服务外包人才培养方面的各自优势,整合与优化现有各类资源,为学生提供良好的实习实践环境。

2应用效果

浙江工商大学面向软件工程专业的大学生创新能力培养体系根据产业发展不断调整和完善。2005届学生毕业后,该专业课程体系进行了一次深入改革,课程设置从偏向理论、细粒度化设置转换成注重实践、粗细力度相结合,而2006版和2007版课程体系标志着该培养计划基本内涵的成熟,2008版课程体系则是对软件工程专业教学的进一步总结。在该培养体系指导下,学生对学科知识架构认识清晰、理解深刻、基础扎实、适应性强、独立解决实际工程问题的能力突出,毕业生受到用人单位青睐,就业率和就业层次高;据软件行业协会调查和用人单位反馈,学生在工程能力、创新能力、国际化适应能力以及团队合作精神等方面均得到广泛认可;学生在竞赛中也取得了可喜的成绩,如2011年该专业学生团队获得浙江省电子商务竞赛设计类一等奖、国家电子商务竞赛一等奖等,2012年该专业3组学生获得浙江省服务外包创新应用大赛二等奖。该培养体系对于确立浙江工商大学软件工程专业的学科定位与教学内涵也起到了积极作用,得到广泛认可。2009年,软件工程专业“软件工程实验室”获得省属高校实验室建设项目;2011年,软件工程专业被评为“软件工程实验室教学中心”省级实验教学示范中心。

软件工程导论篇(7)

中图分类号:G642 文献标志码:A 文章编号:1006-8228(2014)03-44-02

0 引言

软件工程导论作为计算科学、软件工程等专业的核心课程,具有理论抽象、实践性强等特点,在现实中存在理论教学和实验教学严重脱节的问题,因此对该课程进行教学改革十分重要。本文针对软件工程导论课程教学过程中存在的问题,尝试引入CDIO模式,将能力培养模式和方法应用到软件工程导论课程的理论教学、实验(实践)教学和考核过程中,体现以案例开发过程为驱动来安排教学内容和方法的教学思想。

1 CDIO模式的内涵

CDIO模式是近年来国际工程教育改革的最新成果。从2000年起,由麻省理工学院和瑞典皇家工学院等四所大学组成的跨国研究团队,经过四年的探索研究,创立了CDIO工程教育理念,并成立了以CDIO命名的国际合作组织。

CDIO代表构思(Conceive)、设计(Design)、实现(Implement)和运作(Operate)四个方面,以产品研发到产品运行的生命周期为载体,让学生以主动的、实践的、课程之间有机联系的方式学习工程[1]。其倡导“做中学”和“基于项目教育和学习”的新型教学方法,在工程基础知识、个人能力、人际团队能力和工程系统能力四个层面上进行综合培养的教学模式。CDIO模式是能力本位的培养模式,本质上区别于传统的知识本位的培养模式[2]。

2 CDIO模式在软件工程导论中的应用

CDIO模式在软件工程导论课程中的应用原则:①根据软件工程课程对学生的培养目标,进一步明确对学生知识、能力和素质的要求,以软件(系统)工程设计为导向,以项目训练为载体,重新设置课堂、实验(实践)和考核模式;②一方面设置小规模实践项目或验证性的项目,加深和强化学生对课程内容的理解与应用,另一方面,选取合适的工程项目案例,将其完整地、前后衔接地贯穿于整个课程的各个教学阶段,使学生得到构思、设计、实现、运作四个层面上的系统训练,以培养学生的综合创新思维能力。

2.1 理论教学改革

软件工程导论所涉及到的理论知识内容相对抽象,需要与实践的案例(项目)构建为一个整体,同时为实践教学做好补充、深化和拓展。这就需要改变传统课题教学模式,主要体现在教师教学与学生学习的过程中,侧重于学习的经验获取方式及技能的训练方法上。

CDIO模式不仅注重培养学生的自学能力,也强调教师团队的指导作用。在理论教学实施过程中围绕某问题、任务或项目开展,以项目为载体,由教师引导学生自主学习和探索。教师成为教学的组织者、引导者、咨询者和评价者;学生不再是知识的被动接受者,而成为知识的主动建构者,即实现三个转变:以教师为中心转变为以学生为中心,由以课本为中心转变为以项目为中心,由以课堂为中心转变为以实际经验为中心[3]。

选择“书店信息管理系统”项目作为教学案例,贯穿整个理论教学过程。将课程项目划分成计划订购管理、书库管理、销售管理和书店日常事务管理等若干个模块,并把每个模块涉及的知识点罗列出来,对其要实现的目标和要求,结合软件工程导论中的需求分析、概要设计、详细设计、测试、维护等方面的理论,进行详细的讲解。

在理论教学过程中,注重由项目案例中的应用,导入基本的概念和方法,提出问题引导学生思考应用,将理论的应用贯穿于软件工程导论课程的教学中,增加学生主动学习和动手实践的兴趣,强调分析问题和解决问题的能力,增强概念学习。

2.2 实验(实践)教学改革

CDIO模式倡导在“在工程项目中学习”的教学理念,遵循“案例导向、项目驱动”的实验教学模式。结合软件开发的实际场景,以团队为单位进行[4]。以团队负责人为核心,组织对员进行需求分析、软件设计、编码、测试、维护等,既可分工协作,也可集中完成某一个阶段的任务。在实验教学过程中,遇到问题,先由学生间讨论来解决,并制定解决方案进行相应的尝试或验证。在学生不能解决问题的情况下,由教师指导完成。在这个过程中,教师肩负着答疑和指导的任务,鼓励学生团队用不同方法完成任务,针对具体情况提出改进建议。借助这种途径,学生共同参与、协作完成项目,从而锻炼了他们的交流与合作能力、自学和思考能力、解决问题和创造性思维能力。

2.3 考核方式改革

在教学过程中,改变过去单一的考试模式,建立多样性的评价模式,以充分调动学生的积极性。在教学任务完成后,针对CDIO模式的构思、设计、实施、运行四个阶段的工作进行总结,指导学生撰写课程学习报告。指导教师对每个团队及其成员的表现进行点评,对发现的亮点进行表扬和推广。考核不仅仅是关注最终的结果,更重要的是借助考核形式,引导学生在教学过程的每一个阶段注重知识学习,积极参与技能练习,全面提高学生的综合职业能力。考核时,主要包括这些方面:①职业素质的考核,考核学生平时的到课率和上课表现,循序渐进地对学生进行职业素质的培养;②学习过程的考核,在CDIO的四个阶段分别进行考核并给定相应的分数,其目的在于调动学生平时学习的积极性、主动性,这项考核是反映和检验学生在学习过程中努力程度的标志;③综合应用能力考核,以演示、答辩的方式展现学生的劳动成果,一方面可以展示学生的学习成果,鼓励学生互相学习,另一方面,可以培养学生的交流能力,从而提高学生的成就感和学习积极性;④职业所需的理论素养考核,对理论知识的考核以笔试的方式进行,侧重于考核职业岗位所需的基本理论与基本知识[5]。

3 结束语

经过两年多的不断探索,基于CDIO模式的软件工程导论课程在我院计算机科学与技术、软件工程本科专业中开展教学改革,打破传统的以验证理论为主的课程教学模式,开设综合性工程实践课程,为学生提供系统连贯的实践机会和创新能力训练的机会,实现了一个新型的教学设计逻辑思路:以软件项目的现实条件为背景,以软件实现过程的构思、设计、实施和运行的生命周期为载体,全面地培养学生的专业知识、专业能力和团队写作能力。这样,既有效地解决了软件工程导论课程在理论教学、实验(实践)和考核之间的矛盾,也为计算机专业的相关专业课程的教学改革提供了借鉴,为培养应用型计算机类专业人才奠定基础。因此,CDIO模式具有很好的推广价值和应用前景。

参考文献:

[1] 易著梁,黄伟.基于CDIO教育模式软件技术专业项目教学实践[J].计

算机教育,2012.13:4661-4663

[2] 毕忠勤,单美静.基于CDIO的软件工程专业培养体系建设[J].计算机

教育,2013.8:23-26

[3] 袁磊,黄健,宁彬.软件工程实训课程体系研究[J].计算机教育,

2010.22:138-141

[4] 宁彬,龚雄兴,袁磊.开放式计算机实验教学体系探索[J].电脑知识与

软件工程导论篇(8)

平顶山学院软件学院从建系以来的培养目标就是培养应用型人才。而软件工程课程是软件学院软件工程专业的一门专业基础核心课程,也是一门理论与实践并重的课程。该课程的培养目标也应该与院系培养目标一致,培养应用型人才。但在实际的教学过程中,存在较大的难度。现有的软件工程课程存在着知识与现实脱离、课程内容比较庞杂和抽象、教学实践环节薄弱等,对于缺乏软件开发实践经验的本科生来说,单纯地讲授抽象的理论知识往往使学生感到枯燥无味且难以理解。达不到良好的教学效果,无法满足现代软件工程人才的培养目标。为此,以“应用”为导向的软件工程课程教学过程的设计显得尤为重要。

1软件工程课程的课程目标

《软件工程》课程以培养学生完整严格的软件工程观念和训练软件项目开发、管理能力为目标。通过本课程的理论教学,要求学生了解软件项目开发和维护的一般过程,建立良好的软件设计开发理念,能自觉按照软件工程的方法进行软件的开发和维护工作;掌握软件开发中传统和最新的方法与技术,学会使用分析设计工具,培养学生用工程的方法进行软件开发的能力和素质;了解软件开发过程中的各种标准与规范,包括国际国家标准、行业标准、企业规范和项目规范等。通过本课程的实践教学,训练学生运用软件工程CASE工具的能力,同时强化训练个人分析设计能力、工程实践能力、创新能力、规范化工作能力、沟通表达能力、文档写作能力、团队配合能力、自我学习与可塑性组织能力。通过本课程的理论学习与实践练习,了解软件工程各领域的发展动向;如何用工程化的方法开发软件项目,以及在开发过程中应遵循的流程、准则、标准和规范。使学生基本具备进行软件工程项目分析、设计、实现和进行有效的项目管理以及文档编写的能力。为适应计算机应用各领域对专业技术人才的需求,根据应用型本科技术人才培养目标的需要,我们坚持课程体系的科学性、系统性与开放性,关注计算机软件技术发展研究的最新动向,及时更新与充实课程内容。

2教学设计原则

坚持以应用能力培养为本位的设计原则,教学内容、教学方法以及考核方式均围绕能力培养来进行设计。

3教学设计策略

3.1知识域覆盖

针对软件程序员/软件设计师职业,以职业所需的知识和技能为先导,突出技术理论和技术应用主线,实现知识传授与技能培养并重,体现知识、能力、素质培养“三合一”特征。理论部分突出基本知识和基本概念的表述,知识覆盖范围,着重把握理论知识的深度和要领,力求线条清晰,为后续技术方法介绍和运用提供技术理论支撑;对软件工程基础理论知识的涵盖原则是“必须的不缺、不用的不设”,对技术原理(方法)的分析原则是“举一反三”,对实践技能训练的原则是“项目运作”。

3.2技术方法先导

软件工程是一项技术性较强的工作,软件规范的实施是以技术的方式开展或进行,教学策略设计是以技术与工程为导向,围绕着软件工程项目的进程展开,一个项目的进程当中能处处体现工程特点和专有技术的特征。因此,教学设计通过项目活动及过程来呈现问题、运用相关理论知识解析问题和通过工程过程解决问题。通过项目阐明技术方法与策略运用。

3.3突出技能训练

技能训练也是本课程重要组成,践行“做中学”人才培养理念,建立课内课外一体化实践教学体系。建立“1-7课题组”课外工作机制,将学生的实践教学环节延伸到课外。学期大作业要求学生按“1-7课题组”课外完成一个实际软件系统的分析、设计、实现和模拟运作等4个过程,并按照国家标准《GB/T8567-2006计算机软件文档编制规范》规定的要求,提交各阶段报告,课题组完成后通过课堂答辩提交项目结果。通过技能训练学习掌握当前主流软件的软件开发方法、工程技术,并将软件工程理论知识与软件工程过程密切结合。在软件分析与设计能力培养上,主要通过实际案例或软件项目的运作,以“学中做与做中学”方式中培养和形成专业技能。

4教学内容设计

结合软件产业发展的要求,以能力需求为导向。坚持理论够用,将相关知识点分解到实际项目案例中,让学生通过对项目的分析和实现来掌握相关理论知识和软件开发技能,选择技术实用性、知识拓展性强的教学案例和实验项目,在保持传统理论知识讲授的同时,同时关注计算机软件技术发展研究的最新动向,将相关内容融入到相关的教学单元中,及时更新教学内容,并通过阶段性安排新技术讲座,布置课外读物等方式,使学生了解最新热点知识,掌握新方法。

5教学方法设计

在教学过程中,针对专业学生的特点,从实际教学出发,在对多个小软件项目的研究基础上,提出首先结合小软件项目,以传统的结构化的方法为主线全面系统的进行教学设计,将软件工程思想贯穿于教学中,这样可以从综合的观点看待整个系统开发过程。然后以快速原型法、面向对象法为辅线扩展学生进行软件设计的思路,从而总体上提高学生进行软件设计、编写文档的能力。改进教学方法和教学手段。教学中,实行启发式、讨论式、行动导向、案例分析、项目驱动等教学,有效地调动学生的积极性和主动性,激发其学习潜能,注意学生的参与和互动。采用“提问式切入”、“问题讨论式”等方法对前述内容进行深入复习和引申,同时采用“问题引入”、“情境导入”等方法引入新的教学内容;采用“以项目开发驱动”的方法授课,将相关知识点融入项目,通过项目实现,让学生掌握软件工程技术,并对面向软件工程理论有一个直观和更加感性的认识。

6课程重、难点解决方案

6.1软件工程课程重点

软件工程基础理论,软件工程策略,面向数据流的分析方法、面向数据结构的设计方法、问题域中对象的识别、对象关联关系的建立、对象的结构层次、建立动态模型、建立功能模型,以及软件工程过程管理和配置设计。

6.2软件工程课程难点

软件需求分析模型,软件开发过程模型,软件质量分析与度量,软件设计方法、软件维护。

6.3重、难点的解决方案

软件工程所涉及的基本概念、基本方法、基本过程和应用技术,教学必须作为重点突破,主要措施是理论讲解和实践体验“双管齐下”,为学习软件工程专业知识和掌握实际开发技能奠定基础。理论讲解实施项目教学模式,以精讲和透彻分析、自主学习、探究方式和集体讨论的形式进行,引导学生理论与应用相结合;实践教学主要是通过课内、课外一体体教学体系、产学合作方式等方式,通过项目开发过程中的问题,有针对性的学习软件工程理论。引入真实企业项目,在引入项目的同时,引入企业项目经理等技术与管理人员,协助完成合同任务,将教学活动与项目实施融为一体,实现工学结合。培养学生在实践中学会发现问题、研究问题、分析问题、解决问题,培养学生综合实践能力。

7考核方式与评价方法

采用过程性考核方式,评价所有的学习结果。制定了分阶段、互评定的二次考核体系,即课程考核由三部分组成:平时考核(课堂表现、考勤)占20%,理论(期末考试)考核占40%,实践(技能)考核占40%。其中实践成绩的评定包括小组成绩和个人成绩两部分,各占50%。

8总结

该教学过程设计,切合院系在2013年提出的“一体化”教学的理念。从这几个学期的教学效果看,取得了一定的成果。但在具体实施的一些细节中还存在一些问题,有待进一步思考、提高。

【参考文献】

[1]刘强,等.“软件工程”课程教学实施方案[J].中国大学教学,2011(2).

[2]刘海燕,王雅轩,等.基于项目案例驱动的《软件工程》实践教学研究[J].科技创新导报,2015(14).

软件工程导论篇(9)

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

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

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

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

(三)校企合作不够

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

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

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

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

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

(二)案例式课堂教学

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

(三)项目式综合实训

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

(四)顶岗式专业实习

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

软件工程导论篇(10)

软件工程课程内容具有较强的理论性和实践性,学生在学习过程中感到内容抽象、工程方法复杂、难于理解,具体原因如下:(1)在现行的教材中,大部分都是从软件工程的基本理论与思想来讲述的,学生感觉太抽象;(2)对于学生来说,本课程涉及的理论知识抽象、难懂,如面向对象分析与设计理论、需求获取方法等;(3)本课程包含很多基本技术和方法,如数据流图、数据字典、结构化分析方法、面向对象分析方法、集成测试方法、项目管理的基本方法等,学生想深刻理解这些技术和方法的思想很困难;(4)软件工程项目规模较大,不可能在一门课的时间内把所有的细节都讲清楚,学生对软件工程项目的实现模糊不清;(5)新形势下学生的学习热情不高,畏难情绪严重,在学习上的钻劲和毅力不够。

针对这些情况,国内从事软件工程课程教学的老师对此进行了大量的理论教学与实践教学的探索。为了提高学生学习软件工程课程的积极性和主动性,帮助学生把学习软件工程的理论知识与软件项目开发结合起来,并提高运用软件工程相关理论和方法解决实际问题的能力,金陵科技学院在2009年9月从2007级计算机科学与技术专业部分学生中开始采用任务驱动的学习方法,即整个软件工程课程教学就是开发一个完整项目的过程,即明确软件工程项目开发分为六个阶段:可行性分析、需求分析、项目设计、项目实现、项目测试和运行维护,在每一个阶段,首先介绍实验任务,再给学生们讲解实现这些实验任务必须具备的基本知识,让学生们带着实验任务学习,并在规定的时间内完成这一阶段的实验,它与其他的任务驱动的软件工程教学有着本质的区别,很多文献提出的任务驱动实质上还是一个分模块的教学方法,而我们的教学方法是为了开发一个完整的软件项目,反过来学习理论的过程,即边实践边理论的过程。这样做的目的是对软件工程课程教学内容进行系统的规划、教学方法进行全面的改革,以期提高软件工程的教学效果。

2、任务驱动的软件工程课程教学方案研究

2.1 本项研究的意义

软件工程是一门研究用工程化方法构建和维护有效的、实用的和高质量的软件的学科,它涉及到程序设计语言、数据库、软件开发工具、系统平台、标准、设计模式等诸多方面,软件工程课程在计算机学科的教学体系中占有重要的地位。该项研究可以为软件工程课程教学提供教学内容、教学方法和实验项目设计方面的指导,为学生学习软件工程课程提供一种全新的思路,多方面帮助学生掌握软件工程的基本原理和方法,培养和提高学生理解软件工程分析设计过程和运用高级语言进行编程的能力。所以说,该项研究具有非常重要的现实意义。

2.2 本项研究的主要内容

任务驱动的软件工程教学方案研究主要是把软件工程的基本原理和方法融入一个完整的软件项目开发当中,用开发过程中的实际需求来驱动学生学习书本上深奥的软件工程理论知识,具体内容安排如下。

2.2.1 设计课程教学所必需的实验项目

实验项目设计成功与否是整个项目成功的关键,本项目首先由课程组教师从和我院合作的企业中选择一个合适的软件项目并进行适当的整理,然后采用软件工程的思想将开发分成一个个小的实验任务,对于比较复杂的实验内容,可以分为两个或多个实验来做,最后再进行汇总。对于每一个实验任务制定实现这一任务的实验目的、实验要求、实验内容、实验步骤和预期的实验结果,让学生们很容易理解并实现这些实验任务。 转贴于

2.2.2 制定课程教学计划

理论知识的讲解是完成实验任务的必备条件。为了让学生能够最快地掌握软件工程的基本原理和方法,本项研究详细分析实现每个实验项目需要的基本理论知识,然后按照书本相关内容的先后顺序串联起来并编写成教学计划,把软件工程最精华的内容和最新的发展体现出来。老师给学生们布置完实验任务后引导学生反过来学习这些完成实验所必需的书本内容的教学方法,它可以使学生的学习带有目的性,并增加其学习的积极性和主动性。

2.2.3 编写课程教学的辅导材料

实验项目和教学计划确定了实验任务和讲授的基本知识,为了帮助学生更好地掌握软件工程各个过程之间的衔接知识,深刻理解软件工程技术、过程和方法,对软件项目开发过程中相关知识的重点和难点进行辅导,编写一套学习指导,这是本项研究成功的重要基础;为了巩固各个知识点,对于课后的大量习题,给出习题解析,它与学习指导相互促进,相得益彰,这也是我院计算机专业软件工程课程授课所必备条件之一。

2.2.4 构建课程教学的网络资源信息平台

在院内软件工程课程网站上各种学习资料,并开发专门的老师与学生、学生与学生交流区,这样,学生可以随时获得该课程的最新资料,还可以把学习中遇到的问题及时反映到老师那里;老师可以根据网上学生反馈适时改变教学内容和教学进度。

2.2.5 开发课程教学资料,进行教学试点研究

本项研究从 2008 年开始,金陵科技学院信息技术学院软件工程课程网站于2009 年3 月建立,多媒体课件在2008 年底已完成。为了检验本次教学改革的效果,从2009 年9 月份开始在金陵科技学院2007 级计算机科学与技术专业部分学生中进行试行软件工程课程实施方案,我们多次与学生交流,探索实施方案中存在的问题,及时整改,使之更适合实际。

2.3 本项研究的总结

在实施过程中绝大多数学生在实验教学和理论教学中同学表现出极高的热情,项目组老师一致认为达到了预期的目标,但也存在一些问题,主要表现在:(1)软件工程各步骤全体学生都能够完成,但是各组学生完成的情况差别很大;(2)个别能力特强的学生感觉“吃不饱”。2010年我们在全院计算机专业软件工程课程教学中实施任务驱动的教学方法,并在此基础上整理出了一本软件工程教材,并与机械工业出版社签订了2011年底的出版协议。

3、结语

任务驱动的软件工程课程教学研究与实践是以实验为课程教学的主线,靠实验带动理论的学习,学生变被动学习为主动学习,这样能够极大地调动学生积极性和主动性,充分地挖掘学生学习潜能,最大限度地提高学生学习兴趣。

参考文献:

[1] 由布西.中美《软件工程》教材编写及教学实施方法比较研究[J].计算机教育,2008(20)

软件工程导论篇(11)

2.逆向教学模式

无论是采用传统教学模式,任务驱动的教学方法还是项目驱动案例教学方法,都是按照先学理论后实践的模式,学生先听理论,然后把理论应用在实践中。采用这样的模式,学生先被动接受理论,然后再用理论指导实践,本质上的好的,但由于学生没有参与过软件的开发活动,对理论的理解并不深刻,不能真正理解“为什么要这样做”,而只能在完成理论学习后,按照理论中的规则开展开发活动,只能说按照软件工程理论指导好,“好在哪里”并不能深刻的领会,再遇到类似问题,只能机械使用理论,不能灵活创新使用。从软件工程的发展历史看,软件工程提出是为了解决软件危机,解决如何开发出足够多的、满足用户需要的软件和如何维护众多的用户软件的问题。使用软件工程的方法可以提高软件生产率,方便维护。按照软件工程的发展过程而学习软件工程将符合人们的认知规律,更加容易接受和吸收,为此笔者提出软件工程教学模式的逆向教学模式“实践—边理论边完善—再实践”,即首先让学生利用程序设计类课程所学编程语言完成一个小型软件系统,然后再按照软件生命周期的顺序讲解软件工程理论,在讲解理论的同时评价学生的系统,学生讨论改进方法,并对系统进行完善,最后在课程学习完成后在进行一次比较全面的软件系统开发。通过这样的教学模式,使学生对软件的认识从“软件=程序”,逐渐认识到“软件=程序+数据+文档”,对软件工程的方法、工具、过程有更好的理解和运用。该教学模式分为如下三部分。(1)前期实践首先在课程学习之初,先布置大作业,让每个学生在短期内完成一个小型软件系统,如图书管理系统、成绩管理系统等,需求不是太复杂的,距离学生日常生活很贴近的系统。此次大作业已完成软件程序代码为主,不考虑文档等设计需求。通过这个实践活动,可以使学生把前期程序设计类课程所学知识进行综合运用,学生此时的认识是“软件=程序”。(2)中期理论讲解与完善实践结果在完成大作业后,对学生的作业进行简单评审,如发现不同的同学完成的功能有所不同,引导学生思考为何会产生这样的现象?此时引入需求的概念,如何准确描述和理解需求等知识点,从而引入软件工程课程的正题,按照软件生命周期的先后顺序边讲解理论,边评价改进学生作品。采用先学生作品评审,遇到问题,引导学生讨论,然后用软件工程理论解决,再深入学生作品,对作品进行改进,对软件工程知识由浅入深的学习和掌握,改变过去学生能听懂理论但不能联系实际的情况。在讲授过程中也可以增加实际工程案例,改善对当前项目案例规模太小,反映现象不全面,不突出的状况,使学生对工作实际有所了解。通过这个过程,使学生完全沉浸在软件项目开发过程中,在不知不觉中体会到软件工程理论的强大,把抽象的理论转化为可操作的实际,认识到这是一门很实际有用的课程,而不只是一门有学分的课程。(3)后期再实践完成软件工程开发方法基本理论知识讲解完成后,让学生再次选择其它题目分组完成,此时项目的完成就要按照软件项目开发的全部内容要求,此时学生可以吸取前期项目的经验教训,较好地将所学理论知识运用到软件开发中,同时也巩固了所学设计开发及项目管理方面的知识掌握。