欢迎来到杂志之家!发表咨询:400-888-7501 订阅咨询:400-888-7502 股权代码 102064

软件工程论文实用13篇

软件工程论文
软件工程论文篇1

2.1总体设计

目前,“面向对象软件工程”课程教学安排共计54学时,我们将理论教学内容与课程项目实践教学内容结合起来进行设计。在整个教学周期内,按照软件生命周期并结合CDIO、案例与项目驱动的教学法,设计理论课程案例教学过程中的相关活动,配合对应的课程项目实施活动加以有效组织与实践,在整个教学环节结合项目开发活动的进展与深入,要求学生记录自己团队活动中的相关内容,按照我们事先制定的规范撰写并维护项目文档。具体解决方案是:第一,正式课程教学的1~6周,设计项目描述和需求获取与分析、系统设计中的具体活动,这些活动包括分别标识实体对象、边界对象和控制对象;将用例映射成对象;建立对象之间的交互;标识关联、聚集和属性;对单一对象状态依赖行为的建模;对对象之间的继承关系建模;对本阶段的分析对象模型进行评审;基于分析对象模型标识出设计目标,进行子系统分解和标识;将子系统映射到系统构件元素上;标识并存储持久性数据;设计访问控制策略;设计全局控制流;标识服务;标识边界条件;对系统设计进行评审。第二,7~14周,设计对象设计与实现中的活动,这些活动包括学习软件复用和设计模式,并在详细设计中加以应用;对对象之间的接口进行说明,涉及标识遗漏的属性和操作、说明接口类型、签名与可见性,说明接口中相关方法的前置条件、后置条件和不变式等。第三,15~16周,设计测试阶段中的活动。第四,17周,进行相关的总结活动,包括项目文档的静态检查和验收,以及课程项目的动态演示与现场回答问题。

2.2设计课程项目

在设计课程项目中,将考虑提供给学生一个贯穿整个学期的课程教学项目描述,为此我们将选择开发一个基于Web的应用系统。这类系统的实例很多,可以由教师设定或者由学生自选,如教师可根据教学中的需要设定一类基于Web的师生交流系统,以方便实现教师和学生之间关于做项目时的沟通。学生也可以根据个人兴趣选择网游软件开发,或者选择基于Web的电子商务网站系统等。总之,相关项目的设计需要教师事先准备好项目描述或问题定义。为了开发这类基于Web的应用系统,教师需要指定项目使用的环境和工具,主要包括两类:一类是开发环境与工具、数据库管理系统、界面开发工具等,另一类是项目管理工具。这一阶段设计的活动属于CDIO中的构思阶段。

2.3设计理论课程教学过程

首先,在理论课程教学内容设计中,我们主要依据的是第3版的SWEBOK标准(2013),在CDIO工程教育模式的指导下,完成相关知识体系教学设计。在SWEBOK2013版中的17个知识点中(其中2个为候补知识点),我们选择了其中10个知识点,并将这些知识点融合到“面向对象软件工程”的理论课程教学中。这些知识点可有效地体现着CDIO的工程教育理念,如软件需求体现了CDIO的构思,软件设计体现了CDIO的设计,软件构造和软件测试体现了CDIO的实现,软件维护体现了CDIO的运作等。其次,在此基础上设计理论教学过程。一方面,以案例/项目驱动教学方法为基础,“面向对象软件工程”课程中相关知识体系及理论学习,要求学生在学习和思考中掌握“面向对象软件工程”的相关知识、术语、理论和技术基础,并通过团队方式共同学习、讨论和完成作业,并以团队形式参加全体同学的各种讨论活动;另一方面,要求学生围绕着项目描述或者待解决的问题描述,完成团队组建、工具选择、项目计划制定,并开始执行需求工程中的需求获取和需求分析活动,以及在此基础上的系统设计活动,这些阶段的工作结论需要学生加以记录,特别是需求获取与分析的结论和总体设计结论更要以文档形式加以记录。第三,结合案例/项目驱动教学,进一步完成“面向对象软件工程”理论课程。具体做法是一方面引入小型案例,另一方面引入面向应用领域的实际项目,并在项目描述、需求获取和分析活动、系统设计和对象设计中,将该项目的具体情景或者可行的系统设计解决方案引入课堂,在课堂上组织学生参与讨论、分析这些基于场景的案例,将需求阶段和系统设计阶段中涉及的重点知识、术语、过程与步骤等重点和难点融入到案例中来讲解和学习,以便于学生真正理解相关的理论教学内容。这一阶段的活动设计对应着CDIO中的构思阶段。

2.4基于项目驱动的课程实验教学设计

解决软件项目中的问题或实现软件项目中的任务,要求学生以团队方式进行活动,并在整个活动中的各个阶段贯彻CDIO工程教育的理念,即让学生能够对软件项目中的任务完成进行构思,获取与软件项目相对应的软件系统的功能性需求、非功能性需求和系统约束,并以文档方式进行描述;接着,通过设计手段来完成项目任务,用系统来对应将来要完成的任务,并在该系统设计中落实项目的各项要求,这需要通过对系统的总体设计、详细设计等环节来达到,并将设计结论记录在软件设计文档中;在前面构思和设计的基础上,选择合适的程序设计语言、数据库管理系统等基础设施,用编程的方式实现该系统,并完成相应的测试任务,注意在实现过程中,同样要将相关结论以文档的形式加以记录,以备维护之需;在系统实现后,通过部署和运行等方式,让该软件系统(可以看成是本项目的解决方案)呈现出价值。在这一完整过程中,让学生通过项目驱动下的团队活动过程,体验到软件产品从构思、设计、实现到运行(包括维护)所经历的全生命周期过程。这一阶段的活动设计对应着CDIO中的设计、实现阶段。

2.5项目总结与项目验收过程教学设计

项目总结过程的教学设计是以团队为单位进行自我总结并撰写项目总结报告,以个人为单位撰写学习心得,教师主要验收和检查相应的项目总结报告和学生学习心得。项目验收过程的核心是开展两阶段验收活动,即在学期的15~18周中,选择第15周进行一次中期检查,第18周再进行一次期终项目验收。全体主讲教师和辅导教师组成一个答辩小组(一般为4人),他们事先要做好各项准备工作,包括现场点名以确认学生的有效身份并结合点名宣布学生团队的答辩顺序,保证答辩的有效性和合理性;由答辩小组组长宣布评分标准细节和学生是否能够通过本次验收活动的标准。

3实践活动

在“面向对象软件工程”课程教学活动中,共有45位学生(组成了15个团队)全程参与了我们的教学改革过程,现在仅就验收答辩环节进行说明。整个答辩所耗时间共计7个多小时;答辩老师根据实际情况(最低底线是学生必须完成项目要求的最基本功能),充分肯定了学生到目前为止所完成的开发成果,同时建议相关学生利用即将到来的假期进一步完成或完善该应用软件系统的开发,及时修改设计上的缺陷。在本次教改实验过程中,我们充分认识到这一教学过程对教师也提出了更高的要求。教师不仅仅是需要在理论基础教学上过硬,还需要具备软件项目开发的经验,这样才能够做到既能站在理论的高度指导学生分析和解决问题,同时也能给出实实在在的课程项目开发活动中的技术指导。

软件工程论文篇2

1.2传统项目驱动教学方法在实施中的不足

项目驱动教学方法是在具体项目引导下以学生为主体来实施相关教学内容的一种教学模式。当前国内很多高校在开展项目驱动教学时,往往会变成走形式主义,具体表现在:①教师对于学生的工程意识培养不够重视,对项目的选择或者设计比较主观(具体表现在所选择的项目很难或很易),这要么会引起学生有畏惧情绪而产生厌学,要么会使学生很容易地实现该项目(这种情况是因为学生可通过网络轻易完成项目),从而使得该课程项目失去原本意义;②在实施过程中,由于组织不当,会使得学生团队人数过多,搭配不合理,这样使得有些团队因配置了能力很强的学生而使得该项目能够顺利完成,同时另一些团队由于聚集了能力偏弱且自觉性较差的学生而使得该项目最终流于形式,这反而会导致项目驱动教学未能达到应有的教学目标。传统的“面向对象软件工程”课程项目的实施过程中也存在着上述问题。

1.3CDIO工程教育模式在“面向对象软件

工程”课程改革中起到的作用针对上述问题,CDIO工程教育模式摒弃了以教师、教材和课堂为中心的“旧三中心论”,弘扬了以学生、学习和学习效果为中心的“新三中心论”,更强调通过工程实践环节引导学生掌握新知识和动手与创新能力,从而树立起以产品为导向的工程价值观,将IT企业工程师应该具备的核心素质作为整个教育活动的主线。在实施CDIO教学过程中,将更强调学生在教师的引导下进行主动学习和积极认知过程,以构建起与学生已有认知结构相联系的知识体系。

2基于CDIO工程教育模式的教学方法

基于CDIO工程教育模式的项目驱动“面向对象软件工程”课程教学方法(下简称CDIO教学法),以培养学生的基本工程能力和工程综合素质为目标,将“面向对象软件工程”知识体系中的相关知识点渗透到实践的各个环节中,而这些环节和软件工程生命周期完全一致,在各个环节中解决问题的方法则可以采用CDIO的构思、设计、实现和运行理念。我们参照CDIO能力大纲,提出通过“面向对象软件工程”教学和课程项目实践,培养学生如下方面能力:①通过基于案例/项目驱动来学习,要求学生能够深入理解“面向对象软件工程”的知识体系和该课程的基础理论并能在实际项目中加以灵活应用。“面向对象软件工程”的知识体系为学生理解和应用其基础理论解决分析、设计、实现和运行中的实际问题打下基础并提供有效工具;而“面向对象软件工程”理论基础为学生针对实际问题进行发明创造提供动力,为学生发现问题、分析问题和解决问题提供理论支持。②通过“面向对象软件工程”课程中项目的驱动,要求学生创建项目团队,通过课程项目实践各个环节(包括需求分析、设计和实现等环节及在此环节中的各项活动、沟通与协调、文档撰写),培养学生的良好职业素养,以及团队合作、系统思维、工程实践、项目管理和文档写作的能力。③通过“面向对象软件工程”理论学习和课程实践,培养学生的创新意识和能力,以开发出具有鲜明个性的软件作品。

3CDIO教学法在“面向对象软件工程”理论及其课程项目教学设计中的应用

3.1总体设计

目前,“面向对象软件工程”课程教学安排共计54学时,我们将理论教学内容与课程项目实践教学内容结合起来进行设计。在整个教学周期内,按照软件生命周期并结合CDIO、案例与项目驱动的教学法,设计理论课程案例教学过程中的相关活动,配合对应的课程项目实施活动加以有效组织与实践,在整个教学环节结合项目开发活动的进展与深入,要求学生记录自己团队活动中的相关内容,按照我们事先制定的规范撰写并维护项目文档。具体解决方案是:第一,正式课程教学的1~6周,设计项目描述和需求获取与分析、系统设计中的具体活动,这些活动包括分别标识实体对象、边界对象和控制对象;将用例映射成对象;建立对象之间的交互;标识关联、聚集和属性;对单一对象状态依赖行为的建模;对对象之间的继承关系建模;对本阶段的分析对象模型进行评审;基于分析对象模型标识出设计目标,进行子系统分解和标识;将子系统映射到系统构件元素上;标识并存储持久性数据;设计访问控制策略;设计全局控制流;标识服务;标识边界条件;对系统设计进行评审。第二,7~14周,设计对象设计与实现中的活动,这些活动包括学习软件复用和设计模式,并在详细设计中加以应用;对对象之间的接口进行说明,涉及标识遗漏的属性和操作、说明接口类型、签名与可见性,说明接口中相关方法的前置条件、后置条件和不变式等。第三,15~16周,设计测试阶段中的活动。第四,17周,进行相关的总结活动,包括项目文档的静态检查和验收,以及课程项目的动态演示与现场回答问题。

3.2设计课程项目

在设计课程项目中,将考虑提供给学生一个贯穿整个学期的课程教学项目描述,为此我们将选择开发一个基于Web的应用系统。这类系统的实例很多,可以由教师设定或者由学生自选,如教师可根据教学中的需要设定一类基于Web的师生交流系统,以方便实现教师和学生之间关于做项目时的沟通。学生也可以根据个人兴趣选择网游软件开发,或者选择基于Web的电子商务网站系统等。总之,相关项目的设计需要教师事先准备好项目描述或问题定义。为了开发这类基于Web的应用系统,教师需要指定项目使用的环境和工具,主要包括两类:一类是开发环境与工具、数据库管理系统、界面开发工具等,另一类是项目管理工具。这一阶段设计的活动属于CDIO中的构思阶段。

3.3设计理论课程教学过程

首先,在理论课程教学内容设计中,我们主要依据的是第3版的SWEBOK标准(2013),在CDIO工程教育模式的指导下,完成相关知识体系教学设计。在SWEBOK2013版中的17个知识点中(其中2个为候补知识点),我们选择了其中10个知识点,并将这些知识点融合到“面向对象软件工程”的理论课程教学中。这些知识点可有效地体现着CDIO的工程教育理念,如软件需求体现了CDIO的构思,软件设计体现了CDIO的设计,软件构造和软件测试体现了CDIO的实现,软件维护体现了CDIO的运作等。其次,在此基础上设计理论教学过程。一方面,以案例/项目驱动教学方法为基础,“面向对象软件工程”课程中相关知识体系及理论学习,要求学生在学习和思考中掌握“面向对象软件工程”的相关知识、术语、理论和技术基础,并通过团队方式共同学习、讨论和完成作业,并以团队形式参加全体同学的各种讨论活动;另一方面,要求学生围绕着项目描述或者待解决的问题描述,完成团队组建、工具选择、项目计划制定,并开始执行需求工程中的需求获取和需求分析活动,以及在此基础上的系统设计活动,这些阶段的工作结论需要学生加以记录,特别是需求获取与分析的结论和总体设计结论更要以文档形式加以记录。第三,结合案例/项目驱动教学,进一步完成“面向对象软件工程”理论课程。具体做法是一方面引入小型案例,另一方面引入面向应用领域的实际项目,并在项目描述、需求获取和分析活动、系统设计和对象设计中,将该项目的具体情景或者可行的系统设计解决方案引入课堂,在课堂上组织学生参与讨论、分析这些基于场景的案例,将需求阶段和系统设计阶段中涉及的重点知识、术语、过程与步骤等重点和难点融入到案例中来讲解和学习,以便于学生真正理解相关的理论教学内容。这一阶段的活动设计对应着CDIO中的构思阶段。

3.4基于项目驱动的课程实验教学设计

解决软件项目中的问题或实现软件项目中的任务,要求学生以团队方式进行活动,并在整个活动中的各个阶段贯彻CDIO工程教育的理念,即让学生能够对软件项目中的任务完成进行构思,获取与软件项目相对应的软件系统的功能性需求、非功能性需求和系统约束,并以文档方式进行描述;接着,通过设计手段来完成项目任务,用系统来对应将来要完成的任务,并在该系统设计中落实项目的各项要求,这需要通过对系统的总体设计、详细设计等环节来达到,并将设计结论记录在软件设计文档中;在前面构思和设计的基础上,选择合适的程序设计语言、数据库管理系统等基础设施,用编程的方式实现该系统,并完成相应的测试任务,注意在实现过程中,同样要将相关结论以文档的形式加以记录,以备维护之需;在系统实现后,通过部署和运行等方式,让该软件系统(可以看成是本项目的解决方案)呈现出价值。在这一完整过程中,让学生通过项目驱动下的团队活动过程,体验到软件产品从构思、设计、实现到运行(包括维护)所经历的全生命周期过程。这一阶段的活动设计对应着CDIO中的设计、实现阶段。

3.5项目总结与项目验收过程教学设计

项目总结过程的教学设计是以团队为单位进行自我总结并撰写项目总结报告,以个人为单位撰写学习心得,教师主要验收和检查相应的项目总结报告和学生学习心得。项目验收过程的核心是开展两阶段验收活动,即在学期的15~18周中,选择第15周进行一次中期检查,第18周再进行一次期终项目验收。全体主讲教师和辅导教师组成一个答辩小组(一般为4人),他们事先要做好各项准备工作,包括现场点名以确认学生的有效身份并结合点名宣布学生团队的答辩顺序,保证答辩的有效性和合理性;由答辩小组组长宣布评分标准细节和学生是否能够通过本次验收活动的标准。

4实践活动

在“面向对象软件工程”课程教学活动中,共有45位学生(组成了15个团队)全程参与了我们的教学改革过程,现在仅就验收答辩环节进行说明。整个答辩所耗时间共计7个多小时;答辩老师根据实际情况(最低底线是学生必须完成项目要求的最基本功能),充分肯定了学生到目前为止所完成的开发成果,同时建议相关学生利用即将到来的假期进一步完成或完善该应用软件系统的开发,及时修改设计上的缺陷。在本次教改实验过程中,我们充分认识到这一教学过程对教师也提出了更高的要求。教师不仅仅是需要在理论基础教学上过硬,还需要具备软件项目开发的经验,这样才能够做到既能站在理论的高度指导学生分析和解决问题,同时也能给出实实在在的课程项目开发活动中的技术指导。

软件工程论文篇3

案例教学法,是指教师在课程第一次授课前选取一个完整、难度适宜的软件开发案例;然后分阶段的在每章理论授课结束后,结合所讲章节的理论知识提出与章节内容相关的有引导性作用的问题,让学生认真分析、研究案例,开展问题研讨会,并为学生分配任务,使学生在课后收集相关资料,指导学生运用所学的相关原理来分析案例,并在规定的时间内(两周后)提交案例分析或设计报告,调动学生的学习主动性,培养学生的学习兴趣的教学方法。教师在理论授课时,注重构建学生的知识体系。在学习章节内容前,说明本章节所涉及的专业基础课程及学生所需要具备的理论素养,给学生布置任务,重新学习涉及的专业基础知识;理论授课时,把章节理论知识与已学基础课程知识相结合,根据课程例题,详细讲解理论知识,并注意提示学生已学知识在例题中的运用,从而深入浅出,帮助学生把已学知识和章节理论知识结合起来,形成知识网络。在需求分析章节的分析系统的数据要求处,指明分析系统的数据要求,通常采用建立数据模型的方法。抽出部分学生按照他们准备的PPT来详细讲解以上问题,不足之处让其它同学补充。课后,教师把准备的问题解答PPT发给大家,使学生查漏补缺,建立知识网络,打下扎实的理论基础。章节授课结束后,通过案例教学法,训练学生灵活运用所学理论知识体系解决实际的问题的能力,给同学们列出需求分析报告--需求规格说明书的提纲,要求每个学生提交一份需求分析报告。比如,案例--学生公寓管理系统,请大家运用需求分析章节所讲的知识,深入学校公寓针对学生、公寓管理员做需求调查(要求灵活运用几种所讲的需求调查方法:访谈、问卷和场景),召开需求评审会议,验证需求的正确性与有效性,两周后提交需求规格说明书。

1.2项目驱动实践教学,理论联系实际

在理论授课结束前,老师提供若干个难度适中、开发时间在一个月左右的题目。学生以小组为单位(通常5-8人)组建自己的软件开发团队,并推选小组长,负责项目管理,根据小组成员的兴趣和爱好选择一题。团队成员应均衡,以便做好分析、设计、编程及测试的分工。小组成员之间相互合作,开始实践教学环节。选择结构化或面向对象的软件工程方法,按照软件开发生命周期的各个阶段,分阶段有顺序的进行软件项目开发。每位小组成员都要参与各个阶段的软件开发,每个阶段各个成员的任务由组长分配,管理。每个小组成员全程参与软件工程的各个阶段,把理论知识运用到实践项目的开发,由项目驱动实践教学,真正用所学理论知识指导项目的开发,为学生深入理解并灵活运用理论知识提供了良好的实践机会,提高了学生的动手能力。实践环节结束,每个小组提交与选题对应的已实现的系统,并提交相关的设计文档。如开发小组选择面向过程的软件工程方法,需提交可行性研究报告、开发计划、需求规格说明书、总体设计的相关文档(系统说明、用户手册、测试计划、详细的实现计划以及数据库设计结果)、详细设计的相关文档(流程图及人机界面设计资料、用户帮助设施设计资料)、实现及测试总结、项目总结等。通过项目实践,学生会深刻认识并理解掌握所学理论知识,并且可以结合自身特点和软件工程的相关就业方向(前台开发、后端设计、测试、维护等),确定自己的未来职业发展方向,继续深入学习,拓展自己的专业知识深度,为就业打下坚实的理论和实践基础。

1.3校企合作,培养高素质软件工程人才

经过实践环节,学生对未来职业发展方向有了初步选择。在大四学期的实习环节,学校与相关合作企业进行对接,学生结合专业兴趣和职业发展方向,选择合适的企业进行校外实习。校外实习一般分三个阶段:理论知识的巩固与强化学习;职业定位方向核心技术学习;以团队为单位,参与实际项目,培养学生的动手能力和团队精神;结合以上三个阶段的学习内容,独立完成一个实际商用项目。举例:如果职业定位为J2EE软件开发,校外实习的第一阶段学习JAVA语言核心内容,Oracle数据库技术,WebCilent编程和WebServer编程,结合具体项目把以上知识运用到实际项目的开发中。第二、三阶段贯穿项目深入学习JVAVEE企业级框架。第四阶段以开发团队小组成员的身份参与一个实际商用项目开发,使学生综合运用所学知识解决实际问题。如果职业定位为软件测试,第一阶段学习测试基础并结合企业内部开发的自动化测试管理平台进行理论知识强化。第二阶段重点学习系统测试的相关技术,并结合具体项目使学生参与系统测试,编写与之相关的需求规格评审,系统测试计划、测试方案、测试用例、测试报告等文档资料。第三阶段学习软件功能测试自动化和性能测试技术,并学习企业使用的主流测试工具进行相关项目的自动化测试工具。第四阶段结合实际商用项目,综合运用所学知识,运用相关的自动化测试工具,进行项目测试,编写相关测试文档。通过项目实训,使让学生深入项目开发,把学生培养成专业理论知识扎实,动手能力突出的高素质软件工程人才。

软件工程论文篇4

《软件工程》的知识是根据很多软件开发过程中提炼出来的,对于缺乏软件开发经验的学生来说只是简单的讲授课本上的知识会让学生理解不了。所以,首先收集软件开发案例,然后将好的案例放到平时的理论课程中,学生通过了解软件开发过程掌握软件工程的思想和方法。教学过程应该注重鼓励学生探索学习知识,启发学生自己想办法查阅资料,最好能够和软件企业的开发人员聊天接触开发知识,体会一个工程师的工作。老师上课的时候喜欢“一言谈”,这样教学不受学生喜爱,如果增加课堂上的互动,可以使得教室内气氛活跃、宽松,积极启发学生多问问问题,针对问的比较多的问题进行专项训练和专题报告。介绍学生了解网络课程和网络中的教学资源,激发学生学习兴趣,让学生自主学习。利用网络聊天工具,创造机会和学生多交流,引导他们思考讨论软件工程的问题,这样的话,老师由知识的灌输者成为学习的引导者,学生学习兴趣会提高,学习效果也得到了提升。

3根据课程特点结合实际开发因素进行实践教学

实践教学是本课程中一个重要的组成部分,它要求学生以开发团队(一个团队通常由3~5人组成)的方式开发一个具有一定规模的软件系统,侧重培养学生发现问题、独立分析问题和解决问题的能力以及团队合作精神,使学生初步体会到一个软件开发项目全过程。课程实验项目的软件开发过程分成实验准备、分析设计、编程测试和软件交付等部分,具体要求如下:(1)准备实验:实训课堂中学生首先接触到一个软件描述,内容很简单。学生自发的联系队友组成一个团队,并且制定开发计划。(2)分析设计:开发团队根据软件描述实现需求分析,最终形成需求分析规格说明。软件需求规格说明完成后,设计软件系统的总体框架,分模块完成,每个团队都将得到开发任务,最好能够实现竞争性开发。(3)编程测试:得到任务的团队,实现项目开发包括文档,测试和调试代码。(4)软件交付:团队集成的完整系统交给老师验收。

4研究软件工程环境

提供一个软件开发项目对学生来说是不够的,他们还需要一个符合软件工程的开发环境,在这个环境里面体会软件工程的思想和方法,怎样这样一个学生喜欢效果好的软件开发工程环境呢?通过研究软件工程应该具备的基本要素,软件工程工具的使用引入课堂中来,特别是课程实验项目中,学生可以使用管理工具,他们会发现各种制品控制在有序管理之下,使用他们建模和测试进行软件分析、设计和测试效果要比没用他们好很多。老师认真编写规范的实验指导书,包括开发过程模型、系列文档模板、软件编码规范、段评审标准等,使实验和实践环节规范有序,改变了学生以往突出个人技巧的杂乱过程。

软件工程论文篇5

软件测试团队的素质建设对于整个软件工程质量而言具有非常重要的作用,人是测试工作中最具价值也是最重要的资源。因此,应该积极构建合格的、高质量的合作团队。(1)软件测试以及软件工程开发都需要程序员具备足够的自信心,对软件检测结构以及程序的缺陷要如实汇报。对于软件项目工程中出现的各种问题要认真处理,以此减少客户可能遇到的种种问题。(2)软件测试人员还要具备足够的怀疑精神,对可能存在的漏洞性错误要及时予以检测和纠正,进而提高其自我创造力。(3)软件测试团队要积极构建沟通协调能力。可以通过与客户进行必要的沟通来及时发现软件运行中存在的不足之处,其中测试者可以针对模拟环境下用户对于软件环境的应用情况进行科学分析,以此对软件编写过程和总结文档进行反复检查检测,提高软件的运行效率和正确性。(4)必备的检测技术能力。软件测试团队必须具备重要的专业技能,需要精通数据库、通信、网络、GUI测试、测试工具、自动化测试脚本和相关业务领域等,以此全面提升他们的测试能力和测试积极性。

1.2软件测试团队的制度性建设举措

一个优秀的软件测试团队必定拥有一套完善的团队管理制度,拥有明确的职责分工和高端测试人员,通过不断规范团队管理制度,做到扬长避短,及时提升整体测试质量。其中,软件测试团队需要不断加强汇报制度建设、工作总结制度建设、奖惩制度建设、测试审核制度建设、会议制度建设等,通过科学合理地分配职责关系来进一步强化团队成员的素质建设。在此过程中,还要注重对于资深测试人员的正确引导和建设,加强彼此间的沟通交流,不断丰富团队的测试知识库,通过科学吸收先进的测试管理知识来提升整体测试技能和技巧,以此减少开发团队协同工作中的一些领域瓶颈。

软件工程论文篇6

西安交通大学软件学院结合专业特点,提出紧耦合层进式的硬件实验教学体系,对实验教学做出了一些有益的尝试和探索。

2.1构建新的硬件实验教学体系,开展层次化的实验教学

软件工程专业和传统的计算机专业以培养计算机软硬件设计与开发的研发人员的培养目标有所不同,所以在硬件课程以及硬件实验课程体系上,两个专业的定位应有所区别。西安交大软件学院根据培养目标的要求,本着硬件为软件所用的宗旨,开设的硬件课程有数字逻辑与系统设计、汇编与接口技术、计算机组织与结构、嵌入式系统与软件开发等。经过几年的教学改革实践,我们认为实验教学不能完全依附于课堂教学,而应该在紧密联系课堂教学的前提下,有目的地开设独立的实验课,才能更好地配合理论课教学,充分发挥实验教学培养学生独立工作能力的优势。在实践过程中,我们恪守“掌握基础是重点、研究创新是升华”理念。首先必须保证绝大多数人能接受基本实验技能的训练,不盲目跟风式开展开放性实验。实践证明初始阶段就进行开放性实验往往会让学习能力不强的学生不知从何下手,失去了研究实验的兴趣,从而背离了进行实验教学的初衷。我们的思路是稳扎稳打,逐步推进。我们勾画了以数字逻辑实验为基础,以嵌入式及SOPC(SystemonaProgrammableChip,可编程片上系统)实验为终结,包含时序组合逻辑实验、计算机部件实验以及整机实验为一体的计算机硬件实验教学课程群。要求本科生从大学二年级到四年级硬件实验内容不断线、衔接连贯,并按学生兴趣和能力有层次的提高;强调各门课程相互联系紧密结合,分层次培养学生的独立组织硬件实验的能力、软硬件综合调试能力和综合设计能力[4]。在此基础上,我们提出了一种紧耦合层进式的硬件实验教学体系,如图1所示。在这种紧耦合层进式的实验教学体系下,根据教学的不同要求,将实验划分为3个不同层次,即基础性实验、综合设计实验、研究创新实验。其中,基础性实验主要指相关硬件课程的课内实验,通常为8~16学时的必修性实验课,通过这类实验使学生初步掌握本门课程中基本实验技能以及基本模块的实现。综合设计实验主要是面向所有本科生开设的选修性实验,一般为32学时,通过这些实验要求学生整合各个基本模块,进而能设计并实现简单功能的电路或系统。按照学院学分设置及学分要求,基本上每个学生都会选择2~3门硬件实验课程,这样学生都能对硬件底层具有一定的了解,对于普通的高级软件应用开发基本够用。最高层次的研究创新实验,我们安排为开放性实验,针对少数有余力且感兴趣的学生,要求其能够独立地设计一些较为复杂且具有应用背景的课题,旨在对专业知识进行扩展并培养自身的创新能力,这类课程要求必须选修过相关实验课程的学生,方能进行选修。

2.2紧密联系理论课教学,采用以EDA技术为主的实验教学环境

本专业的硬件理论课教学的宗旨是着重从系统角度来理解计算机的运作,着重培养学生对硬件系统的分析及应用能力,作为统一的教学体系,实验教学也应围绕这一主导思想。我们在实施硬件实验教学时,更关注硬件部件是如何完成其设定功能,部件之间如何进行相互配合、协调运作,而弱化硬件内部具体物理实现。我们采用了EDA为主的硬件实验教学方式,利用QUARTUS等功能强大的EDA开发工具、Verilog或VHDL硬件编程语言,配合相应实验箱进行实验功能设计、仿真及验证,使学生基本不用关注硬件的具体实现,进一步简化了硬件设计、测试等过程。其中数字逻辑与系统设计、计算机组织与结构、SOPC系统设计等实验课程均利用QUARTUS工具进行开发,基于杭州康芯电子有限公司的KX_DG3B数字系统开发平台和GW48系列FPGA开发平台来进行实现,实验环境上具有顺承性,只要在硬件实验起始课程中进行一次讲解,学生就能轻车熟路地使用。这样就避免每个老师都在EDA软件的讲解上耗费大量时间,其他课程老师则主要把精力放在本门课相关电路及部件的设计实现上,节约了宝贵的实验内容讲解的时间。EDA教学环境及FPGA平台的使用,一方面可以提供的是虚拟器件和仪器,且开发平台可反复编程,所需硬件连接较少,实验设备不易损坏,使学生可以放开手脚大胆地进行实验。另一方面,学生在课堂上完不成的实验,可以在自己的计算机上装载相应开发工具,利用课余时间继续完成后跟随下组实验进行硬件验证即可,实验安排上就可以比较灵活。因此,利用EDA技术,学生很方便地开展综合性、设计性、自主性的实验,进而可完成大型硬件的原型设计,或进行创新性课题的研究,这将大大激发学生的学习兴趣和热情,提高学生硬件设计能力,从而改变目前学生硬件动手能力差的情况[5]。

2.3强调各课程实验内容的耦合衔接与贯通,注重软硬件之间的协同

构建紧耦合层进式的实验教学体系,离不开各个实验课程内容之间的关联协调和贯通。计算机硬件实验教学过程作为一个系统,其组成部分是每门课程的实验内容。在选取实验内容时,为避免实验内容的孤立,既注重课程间知识的交叉渗透,又尽量体现知识体系的整体性和逻辑性。以“数字系统设计专题实验”开放实验为例,很多学生选择用硬连线方式实现一个基本模型机,而同时在“计算机组织与结构专题实验”中则要求学生基于微程序的思想来实现一个同样功能的模型机,通过这两者的实现比较,学生能直观地映证出理论课上所讲述的两种方法实现CU时各自优缺点,透彻理解并牢固掌握该知识点。传统的计算机硬件实验课程的主要任务是验证计算机的工作原理,以配合对应的计算机硬件理论课程,忽略了各实验课程间的融合性,而技术的发展需要软硬结合、软件硬化或交融[6]。单纯的软件实验和硬件实验都不利于学生软硬件综合素质的培养,传统的软硬件设计相分离的设计方法已成为阻碍设计和实现复杂、大规模系统的关键因素。在“嵌入式系统与软件开发专题实验”以及“SOPC系统设计专题实验”中,我们要求学生完成一个总的计算机软硬件综合设计的项目。以接近于实际应用环境,完成高质量综合设计为训练手段,使学生建立系统的概念与工程的概念。这样一方面可以使学生从根本上了解计算机的整个硬件系统、软件控制之间的协调机制,彻底打通软件实验与硬件实验之间的壁垒,另一方面,这样既有硬件也有软件的题目也更能激发起软件专业学生的学习兴趣,发挥其编程方面的特长,提高学生的主动性及创新热情。

2.4建立灵活的考核机制,满足不同实验类型的要求

对于实验课程的考核,我们采用针对不同实验类型实行不同考核机制的方法。对于课内的基础性实验,考核时坚持沿用传统的课堂表现和实验报告相结合的方式,现场表现采用单人单机现场演示,老师提问学生作答的方式,由老师根据学生考勤及现场表现给定分数。实验报告的成绩则细化对问题的分析能力以及文档写作能力等方面的要求给定。最终成绩由这两项按权值给定。对于综合设计实验,由于整个实验内容往往由多个子实验来组成,而且通常采用两三个学生分组进行的形式,所以考核时应更为细致,也要由课堂表现和实验报告两部分综合给出,但较之基础性实验标准不同。首先,课堂表现由老师评分以及小组成员互评两项组成,要求在每次实验中指导教师都认真地记录学生的考勤及实验表现,这里的实验表现主要考查遵守实验规则、设计能力,分析、解决问题能力以及对理论设计的实现能力等几个方面。其次在实验结束后,还要求学生撰写实验报告,实验报告依据学生的总结能力、分析能力和写作能力给出。创新设计型实验一般也采用分组的形式,但最终成绩是由实验开发中几个部分的考核成绩综合给出。选题准备阶段的成绩由指导教师根据学生提交系统选题报告,按照系统规模、难易程度、创新性及个人分工给出。设计阶段的成绩由学生提交系统设计报告和现场答辩两部分给出。答辩类似于工程中的评审,需要通过学生讲解、演示,回答在场所有学生及教师的质疑,一方面对项目可行性进行充分的推敲,另一方面使各组成员充分了解其他小组的思路及设计方法,对自己项目实施起到学习借鉴作用。系统实现调试阶段成绩由学生提交系统实现及测试报告给出。最后验收阶段由现场验收和项目总结报告两部分组成。上述多样化的考核标准满足了层进式课程体系中不同层次的考核要求,更加客观地反映了学生的实践能力和知识运用水平,提高了实验教学的整体质量,达到了实践创新的培养目标。

软件工程论文篇7

软件工程学科最早从国外引入,以美国为首的发达国家将软件工程教育与软件产业紧密结合,出版了一批优秀的有影响力的经典教材,国际著名软件工程权威Roger.S.Pressman所著SoftwareEngineering:APractitioner’sApproach被世界上很多著名高校选为软件工程课程的教学用书[8],该书内容丰富,全面、系统地展示了软件工程的最新技术和发展,“在国际软件工程界占有无可置疑的权威地位”[6],国内很多985高校都将该书作为教材,我国机械工业出版社、清华大学出版社等纷纷购买该书的版权,目前,该书已经出版第7版,在国内可见到不同出版社的十几个版本,说明该书被业界的认可度高。我们在双语教学软件工程课程时也一直使用Roger.S.Pressman的教材。该书内容丰富,价位相对较高,教学中只能用其中的一部分。双语教学对学生来说本来难度就大,所以导致绝大多数学生不买书也不看书,影响了教学效果。为此,在学校的支持下,笔者编写了规划教材《软件工程》,并在清华大学出版社出版,作为学生的中文教学参考用书,教学中的课堂教学内容则仍然全部为英文。这样,学生们既领略了国际大师的精髓思想和内容,同时也降低了接受难度,课下可以通过阅读中文教材,进一步体会英文内容或不理解的内容。

3软件工程课程的教学实践

3.1课前认真准备

为了提高学习效果,我们在第一次课将全部英文PPT拷贝给学生,使他们对内容、进度、难点有所了解,便于预习和复习,教学进行中再不断细化和充实。即使对非常熟悉的内容,在每次上课之前笔者都要认真准备,反复思考,对这一次课的主要内容进行归纳,找出重点和难点,确定时间分配,确定上课时的几个关键时间,笔者一般把上课内容分为2部分,每部分都在一节课(50分钟)内完成。另外,确定几个时间点,对于重点内容和难点多花时间,对于便于接受的内容或者看书能容易看懂的内容,则尽量少花时间。对于一些非常重要的理念性知识,教师直接给出大师的原话,让学生们去感受原汁原味的大师思想,如在讲授第6章“软件测试”内容时,直接给出国际软件大师Myers提出的3条“Softwaretestingobjectives”,以及10条“Softwaretestingprinciples”[9],让学生们感受理念性的基本思想,以及科技英语的基本表述。为了丰富教学内容,每一部分教师都介绍一些著名的参考文献,引导学生去进一步探索和学习。

3.2努力增强教学内容的趣味性

学生普遍对软件工程课程兴趣不大[10],为了调动他们的学习积极性,讲课不能太深奥。一旦学生听不懂了,就更没有兴趣了。为提高他们的学习兴趣,我们根据内容的难易程度安排讲课节奏,并增加互动环节,吸引学生的注意力,使他们在注意力转移的时候将兴趣重新回到课程上来。为了提高学生的学习兴趣,增强教学效果,要考虑如何让他们接受课程内容。有些知识本身就很枯燥,如何让这些枯燥的东西变得有趣,需要对这些知识进行“加工”和“包装”。为此,教师在幻灯片制作上下功夫,尽量使PPT漂亮、精美、有动画,接近学生,文字中必须有插图,同时增加一些有趣的内容,活跃课堂气氛。针对双语教学趣味性差,课程本身内容枯燥的特点,尽量增加趣味性,如在讲软件体系结构的时候,要求好的软件结构尽量成为mosque形式,避免pancaked结构。为了使大家印象深刻,笔者举了一个脑筋急转弯的例子,“一个体重40磅的女生能否用重1磅的锤子砸烂一块重1吨的石头”,几乎所有同学都认为不可能,因为女生的体重太轻,力气不够,锤子的质量也太小。可是当笔者给出答案,这块石头形状为扁平的时候,同学们一致认为这个女生不费吹灰之力就会把石头砸碎,同时一下子就联想到了软件结构,pancaked结构没有力量,就像一块扁平石头一样没有力度,很容易被打碎,这样的软件结构应尽量避免。

3.3努力使教学内容既有质又有量

除了提高自身的教学水平和知识能力以外,每堂课都要内容充实、丰富,不走过场,不让学生感觉这次课来不来都可。每次课要力争达到的效果是,如果学生不来,通过课下自学要比来上课花更多的时间和精力,并且很难达到上课的效果,这样才能使学生感到听课有价值。为此,教师一方面增加信息量,让大家感觉每次课都有收获,不上课就会有损失,课上增加很多课本之外的内容。对于每项技术、方法都讲它的起源、来龙去脉,为了让同学们听着有趣,笔者每次都要收集很多相关资料,介绍一些人物、故事、技术的起源。另一方面,为了增加信息量,每次都有效、合理地使用多媒体,让多媒体成为必不可少的重要工具。实践表明,使用多媒体可以使教学内容的信息量增加近一倍,但不能成为黑板的替代品,每一页PPT的信息量也不宜太多,否则会影响效果,特别是文字性的PPT不能一闪而过。在多媒体的使用上要重视动画、图片和趣味性。在讲授的过程中,要让每一页PPT停留的时间能让多数学生完整地阅读完,否则起不到好的效果。为了使PPT美观有吸引力,笔者增加了很多相关动画、剪贴画,自己还拍摄了以校园风光为主的很多标志性的背景照片,让PPT接地气,不但使PPT增加了可理解性,也更贴近了同学们的学习和生活。

3.4正确处理学风建设中出现的问题

针对目前高校高年级中普遍存在的必修课选逃,选修课必逃的现象,笔者也采取了一些应对措施,全方位提高出勤率。单纯点名不能起到应有的效果,人来了心不来等于没来。笔者采取的措施一是提高学生的学习兴趣,增强内容的故事性、趣味性,讲授时增加书本上没有的内容,让学生感觉上课值得,不来有损失,自己课下难以补上。二是表扬先进、促进学习,对于作业完成情况好的学生给予表扬,增强好学生的学习积极性,带动其他人赶超先进。对于抄作业的现象,这本来也是教学中屡禁不止的现象,不可能杜绝,关键是如何处理、如何面对。第一次发现有完全雷同作业时,在课堂上只说现象、不说具体是哪个学生,他感到不妥时就会收敛。此外,在批阅作业时,对抄作业和被抄作业的学生,除认真给他们批阅作业以外,最后在双方的作业本上均写一句醒目的大字“你的作业与某某某的完全一样”。有时三本、四本甚至五本作业都雷同,笔者并不追查谁是原始作者,谁是抄袭者,而是在几个同学的雷同作业上都醒目地用红笔写上“你的作业与某某某、某某某、某某某的完全一样”,两次以后就再也没有抄作业的现象了。虽然作业数量明显减少了,但交上来的作业确实都是原创,原创的人为了自己的作业“清白”,不让别人抄袭,抄袭的人也不好意思再去抄了,有效地杜绝了抄袭现象。三是重视过程考核,增加期中考试,对期中考试成绩落后的学生提前敲警钟,不是等到期末“秋后算账”,可最大限度降低不及格率。对于学习自觉性高,期中考试不理想的学生,则能起到鞭策的作用,使其奋起直追。期中考试成绩好的同学,在享受喜悦的同时会更加积极,以保持领先,并在期末取得更好的成绩。实践表明,每次期中考试后,出勤率都会显著提高,学生的学习积极性也会提高,学习风气也会改进。

软件工程论文篇8

当前很多高校软件工程专业设置只注重理论课程的系统性和一致性。对于实践课程不重视,相关教学理念不清晰,实践内容缺乏对产业实际应用的针对性,因此很难培养出满足企业需求的专业人才。

1.2缺乏一体化的实践教学体系

现有软件工程实践课程各自为政,分散教学。部分实践课程教学内容不仅老旧,而且存在重复,更多反映企业真实需求的实践无法得到体现,整个软件工程专业实践没有形成一个完整的教学体系,也就很难培养出具有工程化能力的卓越工程师。

1.3实践教学方法单一

现有的软件工程专业实践教学方法多停留在对理论知识的实验验证层面,缺乏对软件真实案例的教学。同时整个教学过程仍主要通过“教师教,学生学”的惯性模式,缺乏学生自主学习、师生互动学习等教学模式,忽略了在实践中对学生自主能力和创新能力的培养。

1.4专业实践考核方式不合理

当前软件工程实践考核主要基于个人运行程序和检查文档两种手段,在此基础上给出每位同学的实践成绩。这种方式看似公平,其实不然。由于考核体系单一,考核指标粗放,无法体现软件工程教育的专业特点,也就无法准确地反映对学生能力化培养的实际效果。

1.5缺乏一支具有行业工程背景的高水平实践教学团队

现有的软件工程专业实践教师都是来自高校且多各自为政,在教学经验和教学方式上缺乏必要的沟通协作,没有形成一个统一的教学团队,同时部分教师自身的工程能力不强,一线队伍中“双师型”教师人才严重匮乏。没有一支合格的专业教师队伍也就很难培养出符合企业要求的卓越软件工程师。综上所述,现有的软件工程实践教学已经不能满足卓越工程师背景下的专业培养要求,构建新的实践教学体系已成为当前的一个迫切需求。对此,自2011年起,作为“211”高校的安徽大学在其计算机科学与技术学院对软件工程专业实践教学方面进行一系列改革探索,并取得一定的阶段性成果,本文就是在对已有部分成果总结的基础上形成。

2“卓越工程师培养计划”下的软件工程专业实践教学改革

安徽大学计算机科学与技术学院成立于2004年,其前身是1984年成立的安徽大学计算机科学与工程系。学院是我国为数不多的几个拥有计算机国家重点学科的单位,其下设的软件工程专业为国家一级硕士学位点,近些年为我省乃至全国培养了大量的软件工程专业人才。尽管如此,我院软件工程实践教育同样面临着前述的困境。针对现有软件工程专业实践教学的不足,并结合卓越工程师计划的要求,自2011年起,我院对软件工程专业的实践教学进行以下几个方面的改革:

2.1提出面向工程的实践教学理念

当前的软件工程专业只注重理论课程教育,对实践教学缺乏足够的重视,导致理论和实践脱节,学生动手解决实际工程问题的能力较差。对此,我院软件工程专业结合卓越工程师计划中注重“工程能力”培养的要求,提出面向工程的实践教学理念。其核心是:以实际工程为背景,以工程技术为主线,将软件工程专业的基础知识点和软件产业的实际应用相结合,在实践教学中突出工程化教学理念,着力培养学生的工程意识、工程素质和工程实践能力。并将上述理念贯穿软件工程实践教学始终,通过全面改进软件工程专业的人才培养模式、调整实践教学体系、改进实践教学方法、突出能力化考核方式、建立创新型实践教学团队等一系列改革措施,让学生在各方面的能力得到全面均衡的发展,为将来走出校门,成为一名满足软件企业要求的专业人才奠定坚实的基础。

2.2建立基于CDIO的一体化实践教学体系

现有的软件工程专业实践教学体系设置不够完善,缺乏对实践教学的统一规划和过程化管理,因此难以达到卓越工程师的培养要求。对此,我院在前述面向工程的实践教学理念指导下,将体现卓越工程师培养要求的CDIO思想引入软件工程实践教学中,构建基于CDIO的一体化实践教学体系。所谓的CDIO是指构思(Conceive)、设计(De-sign)、实现(implement)和运作(Operate),其核心思想在于以现代工业产品从构思研发到运行改良乃至最终废弃的生命全过程指导工程教学过程,并系统地提出具有可操作性的能力培养,全面实施以及检验评测等众多标准。具体来说,我院以软件工程专业实践教学平台为基础,以CDIO提出的4类一级能力、17组二级能力以及73种具体能力为培养依据,对软件工程专业实践教学体系进行分阶段的整体规划。本科阶段的软件工程实践教学体系分为验证性实验、综合型课程设计、院内实训和企业实习四个阶段。其中第一阶段:验证性实验为与专业课程配套的基础性实验,此阶段主要培养学生的学科基础能力;第二阶段:综合型课程设计是将内容紧密耦合、存在内在关联的几门课程整合为一体,建立基于课程群的课程设计,该阶段主要培养学生的专业基础能力;第三阶段:院内实训是由院内教师根据实际案例构建若干个标准实训课程,模拟企业开发过程,本阶段主要培养学生的工程实践能力,并初步锻炼学生的团队合作能力;最后一个阶段为企业实习阶段,学生在前几个阶段的基础上,已具有一定的工程能力,在本阶段通过让学生进入真实的软件企业实习,进一步提高学生的实践能力,并重点培养学生的创新能力及团队协作能力。通过上述分阶段的一体化培养,为学生成为一名卓越的软件工程师打下坚实的基础。

2.3采用多样化实践教学方法

针对当前实践教学方法单一,实践教学效果差。结合卓越工程师计划中“培养学生自主创新能力和团队协作能力”的要求,我院根据软件工程专业自身特点,提出采用多样化实践教学方法,重点引入面向问题驱动和案例驱动的实践教学。其中在软件工程专业实践早期,由于学生专业知识较少,在实践教学中采用面向问题驱动的教学,以专业问题求解为主线索来组织和设计实践教学内容,突出设计性实验和综合性实验,锻炼学生综合运用所学理论知识进行问题分析、设计和实现的能力,在实践中培养学生的自主创新意识。而随着学生专业知识水平的不断提高,在专业实践后期,主要采用面向案例驱动的实践教学方法,即根据学生的本阶段知识水平将软件企业的真实案例抽象为大小合适的实践教学内容,要求参与实践的学生采用分组的方式共同合作完成一个实际案例,通过此过程培养学生的团队合作能力。此外,在以上两种教学方法的基础上,改变老师教、学生学的传统教学模式,把国际上最新的翻转课堂(FlippedClass)引入实践教学中,将课堂变成老师和学生、学生和学生之间互动的场所,同时扩充传统“课堂”的概念,充分发挥互联网的优势,形成以学生自主学习、师生互动为主,教师引导为辅的多样化实践教学方式,从而达到更好的实践教学效果。

2.4突出能力化的实践考核方式

考核是软件工程专业实践教学的一个重要组成部分,对教学的最终效果具有导向性影响。传统的基于运行程序,检查文档的单人考核方式从培养卓越工程师的角度来看显然过于简单。对此,我院结合软件工程实践教育的特点,以卓越工程师计划的培养目标为依据,创新地提出基于CDIO的能力化考核方式。具体来说,新的考核方式从CDIO的12条检验评测标准出发,对不同阶段实践课程进行区别考核,细化每个阶段实践课程的考核内容,明确考核指标。对于第一阶段的验证性实验,由于这时的实验主要为专业基础实验,因此本阶段的考核仍以传统的单人考核方式为主,主要考核学生的实践编程能力。在进入第二阶段综合型课程设计后,结合该阶段为基于课程群的实践特点,这时的考核虽仍是基于单人方式,但是考核的重点变成考核学生的个人级工程项目开发能力。从学生项目的大小、缺陷率、项目质量、进度管理等进行全面度量,并以此作为最终评分依据。另外,对于高分同学需要进行额外的程序答辩,为进入下一个阶段提前做好准备。当进入第三阶段院内实训时,由于本阶段主要通过实际案例模拟企业的实训,要求参与案例的学生组成项目组,共同进行项目的开发。在此过程中,培养学生工程实践能力和团队协作能力。此时的实践考核采用团队评分制,按照项目的进展进行分段评分,在评分时强调相关团队学生的参与性,最终的考核成绩由文档评审、程序评审、个人答辩和队内互评等多项指标按一定权值共同构成。软件工程专业实践的最后一个阶段为企业实习,它在第三阶段考核体系的基础上,重点将工程化能力和软件职业素质引入本阶段考核内容,并将企业的反馈作为学生本阶段考核的一个重要指标,在此基础上,全面地对学生进行综合的能力化考核。

2.5建立创新型实践教学团队

教师在教学过程中起到“引导学生入门、指导学生学习”的作用,提高教育师资队伍的工程实践能力和工程创新能力对培养卓越软件工程师具有重要的影响。对此,我院结合教师自身的实际情况主要从以下三个方面构建具有专业背景的创新型实践教学团队。首先,建立一支年龄知识结构合理、专业水平高、教学能力强的软件工程课程组,通过集体的力量共同建设实践教学内容,共同实施实践培养过程,共同评价实践培养质量,突出团队教学优势。其次,积极地创造条件,提升团队教师的专业知识水平,培养教师的工程实践能力。通过组织教师参加软件企业的新技术培训,定期安排教师与企业研发人员开展软件新技术和项目管理经验交流等活动,使教师获得一定的实际项目能力和经验。此外,每年至少给团队内教师提供一次参加国内外软件工程实践会议的机会,通过与国内外同行的交流沟通,让一线的教师随时掌握软件工程实践教学的最新进展,将更新的知识带入实践教学中。最后,大力引进具有工程实践背景的软件技术人员充实到实践教学团队中,建立一支校内专职实践教师和校外兼职实践教师相结合的高水平“双师型”师资队伍。一方面鼓励团队内教师利用课余时间去软件企业兼职,通过参加企业实际项目的研发,不断地学习和提高自身的工程实践能力、创新能力。另一方面,坚持聘请校外一些具有高水平或丰富实践经验的专家和软件工程师,参加学院本科生的专业实践教学,共同指导学生的毕业设计和企业实习等。通过专职教师和兼职教师的相互学习和技能互补,共同提高实践教学的效果。

3软件工程专业实践改革实施的效果

自2011年新的实践教学体系在我院软件工程专业进行试点到现在,总共涉及近500名学生,总体实施效果明显,学生的综合实践能力明显增强,就业情况普遍较好。以2013年软件工程专业毕业生为例,学生一致反映改革后的专业实践教育确实提高了学生的实际动手能力,并在一定程度上锻炼学生的工程实践能力和创新能力。后续的跟踪调查表明,在这批学生进入到实际的软件企业后,都能较快地融入企业项目中,不少学生甚至在不到一年的时间内成为企业的业务骨干。与此同时,企业的相关反馈也表明,我院所采取的面向卓越工程师的实践教育机制适合软件企业的需求,培养的学生在专业技能、团队协作、人际交流、项目规划等方面具有较强的能力,更加适合在现代软件企业中发展。

软件工程论文篇9

软件工程实践课是一门实践性非常强的学科,但目前实践教学体系与软件产业需求以及专业培养目标十分不协调,实践课程教学缺乏理论指导,产学脱节,所学内容大都比较陈旧落后;本学科教师掌握的学科内理论知识较多,实践操作能力和教学经验较少,导致软件工程专业学生常常是纸上谈兵,创新能力欠缺,实践操作能力差,学科发展后劲不足。

二、优化软件工程实践课程的教学模式

软件工程实践课程的教学过程当中,加强工程实践教学环节,提高解决实际问题的能力是培养软件人才的主要目标。从以下几个方面着手优化软件工程实践课程的教学模式。

1、注重教学理论与教学实践相结合,采取多元化教学

在理论教学中,采取多元化教学方式,让学生积极参与教学过程,激发学生学习兴趣。例如,可采用多媒体课件+Mooc混合模式进行教学,强化课程相关理论,在教学同时进行Mooc制作,通过微信平台等共享,使学生能够及时对课程内容复习。同时开展丰富的教学实验和社会实践,在课堂教学当中,缩减理论教学时长,增加教学实践,锻炼学生实践操作能力,

2、明确软件工程技术发展方向,大力开展实践案例教学

研究软件工程技术发展方向,对软件工程人才的培养意义重大。有时候,软件工程将相关工程中引入管理工程学和系统工程学以促进软件工程学的发展。软件工程在技术上有如下基本要求:更好的适应操作环境,丰富的拓展接口,后期维护的方便性;软件工程又具有软件开发语言较丰富,软件开发具有开放性等特点。软件工程主要的发展方向是:可视化编程,web应用程序设计,數据库管理,软件测试,图形图像制作,多媒体制作等。因此,对软件开发者提出了更高的要求,就需要在软件工程实践课程的教学优化过程中,着眼于全球化、模块化、开放化加大教学优化力度,大力开展软件工程实践案例教学。多多设计贴近学生生活的工程化案例,且软件生命周期的各个阶段都应在工程化案例教学中得以体现。在设计软件工程教学案例时,难度适中,模块数量不易过多。

软件工程专业技能训练是实践教学体系的着力点。在典型案例的讲解过程中,引导学生能够学会结合企业需求,兼顾多方面因素,使开发的软件具有良好的兼容性,更加适众,及时对软件做好调试,更好的提高软件工作效率;满足客户的个性化需求,在软件内留有功能扩展接口等。在实践案例教学过程中,培养学生的合作意识和团队意识,完成案例分析到职场应用的有效过渡。

3、提高教师专业素养,构建新型软件工程人才培养模式

软件工程论文篇10

[2]顾溆琛.关于软件工程管理的现状和创新分析[J].科技尚品,2015(7).

[3]赵昆.软件工程管理的现状和创新策略[J].电子测试,2016(14).

[4]侯凯.浅谈软件工程管理的现状和创新策略[J].计算机光盘软件与应用,2014(24).

[5]王旼旻.软件工程管理的现状和创新策略[J].信息与电脑:理论版,2015(19).

[6]王国鹏.关于软件工程技术分析的探讨[J].信息系统工程,2013(01):149-149.

[7]于为.软件工程标准化现状与分析[J].硅谷,2013(12):10-10.

软件工程论文参考文献:

[1]张健,安立龙,朱旭东.软件工程专业应用型人才培养模式的探索与实践[J].计算机教育,2010(12):15-18.

[2]徐玲,文俊浩,熊庆宇.软件工程人才培养模式的探索与实践[J].现代教育技术,2013(08):118-121.

[3]吴海涛.软件工程专业应用型人才培养模式的探索与实践[J].天中学刊,2016(06):133-135.

[4]侯霞,刘建宾,李淑琴.软件工程应用型人才培养模式的探索与实践[J].中国电力教育,2014(27):31-32.

[5]王薇.软件工程思想在管理信息系统开发中的运用[J].电子技术与软件工程,2015,11:71-72.

[6]高学军.浅谈软件工程思想在管理信息系统开发中的应用[J].科技资讯,2014,30:13.

[7]熊亚蒙.软件工程思想在管理信息系统开发中的应用[J].电子技术与软件工程,2016(21).

软件工程论文参考文献:

[1]肖云.浅析计算机软件工程的管理和应用[J].电脑知识与技术,2016(12):88-89.

[2]刘红梅.计算机软件工程管理与应用探究[J].无线互联科技,2015(2):97-98.

[3]初旭.计算机软件工程管理与应用解析[J].中国管理信息化,2013(5):72-73.

[4]刘琳.计算机软件工程管理与应用分析[J].软件,2014(2):141-142.

软件工程论文篇11

1.2实践条件不能满足人才培养需求,学生动手实践能力有待提高

各个高校的实验条件经过近几年,尤其是2013年的国家和地方政府的投资,实验和实训的条件得到很大提高。校内软件工程的实验环节均能满足教学要求,有条件的高校已经建立了一定的校内实训基地,但实训基地尚摆脱不了之前知识教育体系下的实验模式,所开设的实践项目范围偏窄,模拟课题多,实战课题少,参与建设实训基地的企业热情不高,缺少真实的工作场景。现有的机器数量、配置大部分还是以单台性质的设备和个人计算机为主,满足不了软件及信息技术的发展的要求,特别是缺少真实的开发项目和项目开发指导组,难以营建软件企业的软件产品生产环境,不能满足基于软件产品开发过程对实训课程的需要,学生的动手实践能力有待提高。

1.3教师队伍工程能力偏低,难以支撑卓越工程师培养计划的实施

高校在师资队伍建设方面,多以高学历、高职称的比例来衡量教师队伍水平的高低。经过多年的师资建设,高校中大部分教师都具有博士、硕士学位,他们虽然有较强的学术能力,但是专业实践知识和工程实践经验却相对缺乏,尤其是新教师绝大部分是从学校到学校,情况更不容乐观。另一方面,由于计算机行业的发展,各类新技术层出不穷,尤其是软件开发技术和新的开发工具,老教师的技术能力没有得到及时更新,很难胜任新的软件工程应用开发类课程的教学。这就造成了整个软件工程专业的教师队伍工程能力偏低,与软件工程专业对教师素质的要求有较大差距,很难适应培养软件工程实践型人才的需要。此外,不论学术型还是应用型的高校评价教师的标准都是侧重于教师的理论水平和论文数量,使高校软件工程专业的教师在进入高校工作几年后,原来即使具备有开发能力的也随着新技术的发展而逐渐淘汰,无形中引导着教师队伍建设向学术型方向发展,而忽视了工程实践水平的提高。

2CDIO与软件工程专业

从项目或产品的生命周期可知,工程项目、产品运行的生命周期基本都要经历构思(Conceive)、设计(Design)、实现(Implement)和运作(Operate)这样的阶段。工程项目或产品首先要根据需求进行构思,将科学原理转化为工程项目或者产品开发的计划方案;再根据计划方案进行设计,确定实现工程实施或生产产品的工艺流程、操作程序等的设计方案;然后根据设计方案进行项目的实施或者产品的生产实现;最后是完成项目的运行服务或生产产品的销售、售后服务。因此,麻省理工学院和瑞典皇家工学院等4所大学组成跨国研究,以产品运行的生命周期所需要的从业人员必须具备的知识、能力、素质出发,经过4年的探索研究,设计了工程教育模式,创立了CDIO工程教育理念。2011年,CDIO区域性国际会议在北京中苑宾馆隆重召开,教育部部长助理林蕙青指出,未来我国高等工程教育改革发展的战略重点就是“四个更加重视”:一要更加重视高等工程教育服务国家发展战略和经济发展方式转变的需要;二要更加重视与行业企业合作育人、合作办学、合作就业;三要更加重视学生社会责任感、综合素质和工程实践能力培养;四要更加重视提高工程技术人才培养的国际化水平。CDIO工程教育模式有利于解决当前工程教育实践中存在的重理论轻实践、强调个人学术能力而忽视团队协作精神、重视知识学习而轻视开拓创新培养等诸多问题。此外,从国家实施卓越工程师培养的11条通用标准看,每个标准的实现都能够在CDIO工程教育模式中体现,因此在国家大力推进高等工程教育“卓越计划”中融合CDIO的教育理念必将为高质量实施“卓越计划”起到积极的推进作用。在软件工程学科领域,软件工程是应用计算机科学理论和技术以及工程管理原则和方法,根据用户的要求,按照按预算和进度实现软件产品的定义、开发、和维护的工程,是研究用工程化方法构建和维护有效、实用和高质量的软件的学科。软件工程研究的对象是软件系统,涵盖软件科学与工程两个方面。软件科学研究的重点在于发现软件可信性、度量和演化的基本规律,以应对当今软件所面临的复杂性、开放性和演化性等一系列重要挑战,是工程应用的理论层面;而软件工程的重点在于综合应用包括科学方法在内的各种软件设计方法,运用各种科学知识,深刻理解设计合格软件产品所涉及的多方面因素,去构建可靠、满足需求的软件产品。IEEE最新的软件工程知识体系(SWEBOK)将软件工程知识体系分解成10个知识域,即软件需求、软件设计、软件构造、软件测试、软件维护、软件配置管理、软件工程管理、软件工程过程、软件工程工具和方法、软件质量,这些知识领域贯穿于软件产品生命周期的全过程。因此,在软件工程专业“卓越计划”中,以软件产品的方案设计、开发、部署、运行的软件生命周期为主线,将CDIO工程教育融合到卓越软件工程师的培养中是必要且可行的,有利于培养出软件设计能力、国际交流能力、管理与沟通能力和职业发展能力强的,具有软件工程背景的复合型、应用型高层次软件工程技术人才,推动软件产业不断开拓创新。

3融合CDIO理念的软件工程专业卓越工程师的培养

3.1引入CDIO工程教育模型的综合培养理念设计软件工程应用型创新人才培养模式

融合CDIO工程教育理念进行卓越软件工程师培养,对传统的教育模式进行改革,将软件工程教育与项目、产品的构思、设计、实现和运作生命周期中所需要的知识、能力、素质紧密结合,以项目或软件产品的生命周期为载体,引入校企合作机制,采用3+0.5+0.5的培养模式。前3年与传统的软件工程教育类似,完成软件工程专业所需要的基本知识、基本技能和基本素质的培养。在后面的1年分为两个阶段,第一个阶段我们称为项目实训,以校外实习参观,校内讲座、实训的教学方式,用已经开发完成的项目或软件产品为例,模拟企业运作进行教学,熟悉项目工程、产品生命周期的各个环节,将前3年学习的知识融合,在实训中掌握开发工具,以学生以主动的、实践的方式接受软件工程设计能力、开发能力和素质教育的培养。第二个阶段,学生进入合作企业或者就业企业,参与到企业真正的项目开发中,以企业的课题完成毕业设计,在设计中锻炼职业能力。

3.2构建适合CDIO工程教育模型的理论教学体系

坚实的专业基础是学生今后成为优秀工程技术人员和管理者的保证,也是CDIO培养模式的基石。以软件产品的构思、设计、实施、运行为目标倒推成为卓越软件工程师所需要的知识、能力、素质,以培养知识、能力、素质去组织理论教学体系。包括软件从业人员所需要具备的良好的数学建模能力课程:微积分、线性代数、概率论和数理统计等;运用计算机进行软件开发所需的计算数学课程:离散数学、数据结构、算法分析与设计等;进行软件开发所需的软硬件系统基础课程:操作系统、软件工程导论、数据库原理、信息系统基础、计算机系统结构、计算机网络和编译原理等;进行软件设计所需的软件开发类课程:软件需求分析、软件构架、软件设计、软件测试、软件维护;软件工程工具等;软件从业人员需要具备的良好的身体素质和心理素质的人文素质系列课程:形势与政策、马克思主义基本原理、思想/邓小平理论和“三个代表”重要思想概论、法律法规、大学生心理健康教育、体育、团队激励与沟通及全校性选修课程等;软件从业人员需要具备的掌握发达国家的技术和了解国际IT文化的外语应用能力课程:基础英语、英语听说、日语基础和专业英语。

3.3构建适合CDIO工程教育模型的一体化、多层次的实践教学体系

CDIO工程教育理念是“做中学”原则和“基于项目的教育和学习”的集中体现,软件工程专业应用型创新人才的培养,实践能力的提高是设计软件产品能够实施和运行的关键。以产品的运行周期为主线的一体化、多层次的实践教学体系是以验证性实验为基础,实现第一层次的基本实践能力培养;以课程设计、实践课程为贯穿专业课程模块的线索,实现第二层次与第三层次的个人能力及团队能力培养;以校内外实践基地的实训和毕业设计为载体,实现第四层次的构思(C)、设计(D)、实施(I)和运行(O)综合能力培养。以此形成集实验、课程设计、实践课程、实训和毕业设计一体化、多层次的实践教学体系。基于CDIO的“做中学”原则的人才培养模式,采取向企业派驻科技特派员和聘任企业技术人员为兼职教师的“双向聘任制”模式,使软件工程专业与软件企业更为紧密地结合。企业技术人员和校内教师联合建立项目开发小组,让学生通过实际项目研发,体验软件产品生命周期各个阶段的从业人员角色。在项目研发中进行需求分析、软件体系结构设计、数据库设计、接口设计和算法设计,编码实现,测试、投入运作等一系列工程实践。以此为学生职业能力训练和教师项目开发锻炼提供一个真实的职业环境,有助于学生的职业素质、职业态度和习惯的形成。“基于项目的教育和学习”采用“双向聘任制”模式驱动,专业教师与实践基地软件技术人员间角色转换;科研、技术研发项目与教学课题间的相互渗透。学校将工程实践列入教师教学质量考核的指标,甚至职称晋升的指标,引导教师加强自身工程能力的提高,这将逐步解决困扰软件工程专业发展的教师队伍、实践、实训的难题。

3.4按照知识、能力、素质,规范人才培养质量标准,保障卓越工程师计划的顺利实施

培养质量标准,是规定某一个专业的专业培养目标、毕业要求、实现途径、评价方式的教学指导性文件。它是联系专业培养目标与教学活动的中间桥梁,可以确保不同的教师有效、连贯而目标一致地开展教学工作,对教师的教学具有直接的指导作用。在“卓越工计划”中引入先进的CDIO教育理念,将“卓越工计划”通用标准与软件工程行业标准、企业标准、职业资格标准结合制定人才培养质量标准,以标准规范人才培养是保障卓越工程师计划顺序实施的有效保障。

软件工程论文篇12

1.1选题背景和研究的意义

软件测试是整个软件项目开发生命周期中的重要组成部分,应当贯穿与整个生命周期始末,与软件开发相辅相成。好的软件测试是好的软件产品质量的重要保证。目前,国内软件测试行业的发展还很不成熟,尤其是自动化测试的发展水平更是落后,相对于发达国家,我们国家的软件测试在技术上、规范程度上和重视程度上都有差距。

而javascript是web前端的新兴的、日渐流行的语言,对基于javascript语言的工程项目的自动化测试还处于探索发展阶段。我所选的论文课题就是要研究和实现更高效,测试更完全,使用更人性化的自动化测试框架,以广泛的应用于各种javasript工程项目。

1.2国内外技术应用现状和发展趋势

对于javascript的测试框架,国外已经有一些,比如qunit,jasne,jarvis,

jfunit等,这些javascript测试框架较为成熟,也各有优缺点,但在应用时适用性不够强,测试比较粗糙。

国内的自动化测试正在发展中,许多软件公司也愈加感觉到了自动化测试带来的好处。而随着更多的javasript项目在中国出现,而且很多软件项目越做越大,javasript项目的自动化测试必将受到越来越多的关注和重视。国内javascript测试方面还比较空白,相关的文档和论文文献也少之又少。

本课题选择基于qunit的javasript测试框架,进行更为细致更为实用的改进,以适应项目测试,使其覆盖率更强,使用更方便,查错更明显。

1.3选题的先进性和实用性

本课题围绕思科系统中国研究中心选择基于qunit的javasript

测试框架,进行更为细致更为实用的改进,以适应项目测试,使其覆盖率更强,使用更方便,查错更明显。此论文弥补了国内

javasript自动化测试框架领域研究的空白,解决了很多测试过程中的技术问题。

a.在javascript项目自动化测试中的测试用例加载机制;

b.异步测试和数据驱动测试;

c.自动化启动多个web页面交互测试;

d.自动生成测试报告并检测出错误点出现的位置,以方便纠错;

解决了测试用例不通过无法继续执行的问题,使错误用例显示无法通过验证,但是其他测试用例仍继续执行

2.主要参考文献(列出作者、论文名称、期刊名称、出版年月)。

二、课题内容及具体方案

1.课题内容

1.系统需求分析(应用软件工程专业描述工具描述)

2.系统概要设计(应用软件工程专业描述工具描述)

软件工程论文篇13

2 软件工程实践体系(Software engineering practice system)

根据国家发展战略,国际社会各国都逐渐加强科学和工程研究,强化科学与工程的高等教育,鼓励创新,培育和发展创新性教育环境和系统[3-6]。软件学院针对学院本科生开设了《软件工程》这门必修课程,这门课在三年级上学期进行,学分为3,周学时为3,授课总学时为54。本课程是一门综合性和实践性很强的核心课程,主要内容包括软件工程概述、可行性分析、需求分析、项目计划与管理、面向对象分析与设计、系统架构和构件、软件质量与质量保证。为通过课程支持结合应用背景的软件开发和创新能力培养,该学期开设了《软件工程实验》这门必修课程,学分为1,周学时为2,授课总学时为32。以软件构思、软件设计、软件实现,以及软件运作等为主线进行,结合软件工程关键知识点出发设计实践体系,支持对软件工程知识的掌握和应用,从而培养卓越工程师人才的需要,具体的实践体系由以下实验组成。

第一个环节是软件工程工具与环境安装与应用,实践的目的是通过对软件开发工具的安装流程和使用了解软件工程开发流程,实践主流的软件工程技术和工具。

第二个环节是软件工程标准化文档撰写,学生熟悉和掌握软件工程标准化的概念、内容和意义,较为全面地了解软件工程相关国际和国家标准,通过对标准化文档的撰写熟悉软件生命周期,并且针对具体应用背景,进行项目可行性分析。

第三个环节是构思性实践,构思要求学生按组考虑技术、企业战略等因素,设立系统目标和要求;依靠分析技术,对待开发软件系统所对应的问题域和系统责任進行分析和理解;对其中的事物和它们之间的关系产生正确的认识,并按照某种规范形成需求规约。这个环节将培养学生具有独立分析和相互协调的能力。因为大部分学生擅长于完成具体的任务,不擅长寻找问题,所以这也是学生觉得最困难的部分。

第四个环节是软件项目管理实践,学生掌握项目管理基本概念和工具,实践人员管理、成本估算、质量管理、过程改进相关过程,针对构思部分得到的项目创建资源列表、资源分配,成本分配等。

第五个环节是软件开发绘图工具安装与使用。要求学生培养面向对象的分析能力,使用UML绘图和建模工具实践确定项目的需求分析,给出业务处理模型、用例图和包图,使学生能够运用工具进行系统分析和需求建模操作,生成标准需求规格说明书。

第六个环节是设计性实践,学生通过一个产品、过程或系统的设计而进行实践。在构思阶段成果的基础上,将关注点放在如何实现上,从对问题空间的建模转移到解空间的建模。该过程为实现构思阶段生成的需求模型引入计算模块以及模块之间的关系描述,并从提高软件设计质量和效率方面改进软件结构,完成概要设计说明书、数据库设计说明书和详细设计说明书。

第七个环节是软件测试实践,学生掌握软件测试的策略和自动化工具,实践自动化软件测试用例设计以及单元测试过程,在此基础上迭代地进行需求验证,对前期的需求分析修改。

第八个环节是实现性实践,学生掌握实施技术,实践软件的编码、配置、集成、验证、认证和对实施过程。学生利用自动化工具进行代码版本控制、配置管理、权限管理、历史记录跟踪等,按业界规范撰写和管理源代码。将程序设计艺术融入到编码实践中,要求学生较多地考虑程序的内存要求和运行时间等,提交用户手册等文档。

第九个环节是运作性实践,学生在相关网站和同学群中对开发出的系统进行实际应用,撰写商业企划书,了解融资和相应的营销和服务渠道。并反馈到构思、设计和实现阶段,对前期的需求、设计和编程等进行迭代式地修改。

软件工程实践体系具体要求学生能掌握教学课程以外的相关技术,以自学习的方式进行新知识的学习,并能运用相关技术创新地进行实际项目的构思、设计、实现和运作。体系涉及基础面广、可操作性强、环节之间层次分明、并强调循序渐进注重过程质量控制。学生通过平台进行软件工程生命周期各阶段的实践,在网上通过配置环境等进行项目合作,提交项目等,并完成网上测评。实践体系重新编排教学内容以配合不同学习者的目标,促进回应和互动,进行灵活的实践环节设计,较好地适应学生的多样性。传统教学中学生接触到的教师和其他学生较为有限,由于时空的限制无法进行随时的沟通。实践体系使得学生可有效地进行沟通和交流,分享按不同学习目标编排的教学内容和想法。自主的参与极大地触发了学生的积极性,使得学生按不同的兴趣点和授受能力进行创新。

3 翻转课堂建设(Flipped classroom construction)

软件工程慕课由于授课时间及地点的灵活性,可缩短每次授课的时间,通过每次6-8分钟左右时间的授课,保持学生的兴趣和关注点。较短的时间片使得学生可自由地编排教学内容,易于制定不同的教学目标。教学目标的不同可有效地促进创新能力的培养,并且对学生的能力进行多种方式的评价,着重卓越工程师创新能力的培养。以下针对传统教学对创新能力培养存在的问题,对传统授课知识点进行删减,分为以下研讨主题:

软件工程的发展史:基于软件工程发展过程中重要里程碑事件研讨其意义和影响,学生交流关于工程的理解。

软件生命周期:讲授软件生命周期中需求分析、软件设计、软件构造、软件测试、软件交付、软件维护各阶段,讨论敏捷软件、SCRUM、极限编程等。

面向对象软件工程:讨论软件过程模型及其发展过程,对现代软件过程模型进行比较和分析,讲授面向对象方法在软件工程学中的作用。

SE-CDIO和系统案例:以实践案例分析讲授SE-CDIO人才培养模式,风险投资项目,软件著作权和知识专利,项目实践过程。

软件项目管理:讲授软件项目管理大师及项目管理的经典案例团队组织与管理,讲授软件质量保障,软件配置保障。

需求工程:讨论软件需求的开发和管理,以需求在整个软件项目中的作用和开发过程为主线,完整描述了需求定义、需求获取、需求分析、UML业务建模、需求规格说明、需求验证和需求管理等需求工程活动。

面向对象需求分析:讨论面向对象需求分析方法和面向对象建模工具,讲授需求分析过程中UML业务建模和需求规格说明撰写。

软件设计:演示具体示例,讲授设计视图和设计图、设计视角和设计关注、需求和涉众、设计理由、设计描述的模板。

软件体系结构设计:讲授体系结构的原型构建、体系结构集成、测试关键需求、项目约束、体系结构风格、软件体系结构逻辑设计、和软件体系结构实现与完善。

体系结构的原型构建:讨论包的创建、构件之间的接口、关键需求的实现、体系结构的原型构建要求及过程、体系结构原型。讨论集成的策略、桩、驱动与集成测试用例、软件体系结构设计文档描述众、体系结构集成与测试。

人机交互设计:讨论人机交互设计的人类因素和计算机因素、一些人机交互设计原则、人机交互设计过程、经典的界面设计。

详细设计中的模块化与信息隐藏:讨论优秀设计的标准、设计质量、分解与模块化、信息隐藏。

软件构造:讲授软件构造概述,软件构造活动,软件构造实践方法,讨论软件构造活动、重构、测试驱动开发、结对编程。

代码设计:讲授代码的易读性、易维护性、可靠性,讲授使用模型辅助设计复杂代码和问题代码,使用模型辅助设计复杂代码。

软件测试:讲授测试用例开发、代码开发单元和测试用例间的关系、测试用例的选择、随机测试、基于规格的技术黑盒测试方法、基于代码的技术白盒测试方法、特定测试技术;

軟件运营与演化:讲授软件可修改性与软件维护、软件维护的类型、软件维护的高代价性、软件维护过程与活动,讨论软件运营和软件演化实践。

新技术专题:讨论基于搜索的软件工程和大数据环境下的软件工程新技术。

传统教学过程容易出现知识老化的现象。对于快速发展和不断发生改变的IT新知识和技术,传统课程教学时间和地点容易受限,课程内容难以快速调整,使得教学滞后于知识的发展。软件工程慕课提供一种对传统课程有效的补充方式,使得学生可以通过其他途径掌握新技术,充分发挥学生的自学习能力。联结主义式的慕课集结各种资讯从而实现高端的知识交换,使得学生可即时地接触到新知识,并可根据学生的反馈灵活地改变所学内容,便于进行新知识的传授,以及学生创新能力的培养。软件工程慕课通过联结课程内的教材或其他内容,混编大量不同的教学内容、同一内容的不同讲解方式甚至相反的看法在一起,易于开拓学生的眼界,从而培养学生的创新精神。

4 SECDIO课程辅导建设(SE-CDIO curriculum

guidance construction)

为了有效地进行卓越工程师的培养,本课程实现慕课和软件生命周期的有机结合,进行慕课及工程教育模式[1,2]混合式教学的改革与探索。将整个课程分为SE-CDIO四个阶段进行,具体为SE-ConcEive软件构思、SE-Design软件设计、SE-Implement软件实现、SE-Operate运作。按这四个阶段教师不再进行课程的讲授,更多的是执行过程控制和导引的作用。各阶段的具体内容设计如下:

SE-C的内容主要是软件需求与建模。此阶段要求学生针对目前的技术热点,进行技术报告,体现自己的自学习能力。教师引导学生学习相关创新技术的资源,如TED演讲等,了解目前正在出现的新技术,如3D和4D打印机、云计算、大数据、移动计算和虚拟计算应用等。学生要进行市场研究,找到所学习技术和当前软件需求的结合点进行创新设计。教师在此阶段要了解学生对知识的掌握是否正确,并且确认结合点可行。由于学生对现实问题缺乏了解,教师会引导选择背景较为熟悉的创新项目,让学生了解创新技术以及对现实问题的创新求解。让学生针对现实世界的业务流程进行改革和创新,培养学生发现问题,以及创新性求解问题的能力。由于交叉领域易于进行创新,创新课程鼓励学生和其他专业的学生进行合作,比如和生物学院的学生合作进行生物序列比对、识别等。这阶段主要是扩展学生的眼界,培养学生的创新意识。

SE-D的内容主要是软件设计与优化。此阶段要求学生能针对项目的需求分析进行设计,并且结合业界的先进技术,进行软件架构设计及技术方案的创新设计及优化。使学生所学习的资源远远超越了已有课程教学的内容,甚至跨越了专业,体现了多样性。让学生自主学习人脸识别的技术、社交好友评价及识别系统等。由于学生结合了自己的兴趣点,能有效地发挥自学习能力。教师在此阶段不再是传授的角色,更多的是辅助和指导的角色,指出方向的正确性和可行性。不少学生能针对待求解问题进行新技术的学习,并能利用学到的新技术提出可行的设计方案。本阶段教师将基于搜索引擎对新项目进行查重,确认学生所选择项目创意或使用技术上的新意。

SE-I的内容主要是软件实现、集成与测试。此阶段中学生需要对选定的技术方案进行设计与实现。往往此阶段也是出错最多的阶段,除了核心技术问题外,运行环境的设置、接口的设置和调用也是失败最多的地方。例如,在软件的配置过程,往往出现由于版本不同而引导的问题,以及由于运行环境不同而导致的问题。在手机软件的设计中,学生往往由于一些接口以及配置问题而陷入困境。由于学习的是新技术,很难从同学和教师身上获得答案,所以老师要引导学生在国内外的技术论坛进行学习。学生的自学习和实践能力在此阶段将得到锻炼。

SE-O的内容主要是软件运用、维护、产业化、市场营销,让学生经历工程中理论技术生产应用的全过程。在此阶段教师将引导学生了解软件的成功不仅仅取决于其功能,事实上很多时候需要考虑非功能性需求,如用户友好性、易用性、易维护性等。学生通过软件的试运营,改善产品的界面设计,优化软件的使用方式,细化用户需求,达到对前三阶段的迭代及反馈式改进。在此阶段,教师让学生观看有关营销、管理及产品介绍的慕课资源,让学生了解如何去主动接触他人,如何了解客户的需求。通过一流软件公司如苹果公司、微软公司、GOOGLE公司的经营理论和产品介绍的慕课资源,让学生了解公司的经营及相关产品发展。此阶段教师还要求学生进行同一软件的多版本比较,以及类似功能的不同软件比较,通过这些比较让学生了解产品设计思路的改变,以及公司的经营策略。比如通过微软公司、苹果公司不同时期的公司网页和软件产品,以及中外IT网页和产品的比较,学生可了解业界的发展历史和当前趋势,让学生了解软件市场的热点和趋势。

5 改革考评方式(Reform the way of evaluation)

传统教学和考核方式过于单一,实践环节薄弱。为了满足学分和教学体制的要求,学生必须按课程体系的要求进行相关学习,这影响了创新知识的传授和接受。单一的考试方式不能全面的考查学生对知识的掌握,尤其是学生创新能力、知识应用能力,以及毕业后不断更新知识的能力。学生只以通过考试为目标,缺乏学习的动力和持续性。本课程的考核实施过程控制,成绩不完全由考试或大作业决定,还将包括考勤和学生在课堂上的演讲、学生的自学习和团队沟通能力、软件创新能力等共同组成。学生参与的软件竞赛成绩,以及参与的教师研究项目可计算入本课程的考核成绩。

在线咨询
了解我们
获奖信息
挂牌上市
版权说明
在线咨询
杂志之家服务支持
发表咨询:400-888-7501
订阅咨询:400-888-7502
期刊咨询服务
服务流程
网站特色
常见问题
工作日 8:00-24:00
7x16小时支持
经营许可
出版物经营许可证
企业营业执照
银行开户许可证
增值电信业务经营许可证
其它
公文范文
期刊知识
期刊咨询
杂志订阅
支付方式
手机阅读