更新时间:2023-04-08 13:48:54
关键词:软件工程;案例教学;不足反思;项目开发驱动教学
引言
软件工程是计算机相关专业的一门核心课程,具有综合性、实验性极强的特点,其研究的范围非常广泛,包括软件开发的技术方法、工具和管理等许多方面,而且新的技术方法和工具源源不断涌现[1]。该课程的学习目标旨在提升学生的分析与设计能力、编码能力、工程素养及团队协作精神,为学生成为一名合格的软件工程师打下良好的理论、技术及工程基础。为了实现这一培养目标,很多院校对软件工程课程教学进行了改革,其中最为重要的改革应属于引入案例教学[2]。案例教学法是指教师以一个实际项目的运作为主线,讲授软件开发的全过程,讲解时贯彻理论与实践相结合的原则,从工具、方法、技巧各个角度,对学生进行实用性培养,同时重点培养管理和设计能力,在理论上有的放矢,强调理论的适用和适度[3]。案例教学法的引入改变了传统教学中知识内容枯燥、理论性强、学生难以理解运用的状况,在一定程度上激发了学生的学习兴趣,活跃了课堂氛围,提高了教学的质量。但是,在软件工程实际教学过程中,我们发现了很多问题,教学常常达不到预期效果。
1、软件工程案例教学过程中存在的问题
1.1以“老师教,学生听”为主
软件工程课程教学虽然引入了案例教学,但是,学生在教学过程中仍然处于被动接受状态。从案例的选择到案例的开发过程讲解仍然以“教师教,学生听”为主,学生仅仅是项目开发的“旁观者”而不是“参与者”。因此,学生很难真正体会相关理论的重要性,更不用说转化为自身的能力素质。学生学完课程后,往往“什么都知道,却什么都不会”。
1.2案例选择不合理
在案例教学中,教师通过把知识点与案例相结合,使学生从个案的分析、比较中,更深入地了解软件系统开发与管理过程,软件工程案例教学的不足反思与对策研究文/田怀凤最终达到技术和知识点的掌握,因此案例项目的选择至关重要[4]。项目太大涵盖的内容太多,学生很难在有限的课堂教学中把握。项目太小又很难全面包含把软件工程的相关理论。有的项目算法相对密集,性能要求高,而功能需求简单,也很难用工程化的方法和手段对其开发过程加以促进。甚至有的教材或者教师仍然以C/S模式的软件为开发案例,不符合目前对软件B/S结构或者安卓开发的需求,使得学生学完软件工程课程之后,感觉课程的理论与现实需要脱节,影响学生学习课程的兴趣。
1.3不能满足学生对课程的不同期望
软件工程课程一般开设在大三下半学期,这时学生们的动手能力和专业技能差别很大。有些学生经过C++,JAVA等课程的学习以及参加大学生创新项目等方式,已经积累了一定的软件开发的经验,他们往往希望能深层次、系统的参与软件开发,培养管理能力,团队合作能力等。还有些学生由于自身主动性及能力的原因,动手能力还很弱,案例教学对他们而言更像“纸上谈兵”,往往只能记住一些理论、方法,不能通过课程的学习提高专业技能。
1.4实践课时不足
为了配合案例教学,软件工程课程一般会设置实践课时,供学生进行项目开发实训。但是,由于实践课时较少,(一般8课时左右),在这么短的时间内,往往只能完成项目的分析和设计的文档,其他工作要由学生课后完成,因为缺乏监督,难以确保每位学生都能保质保量的完成。
1.5对最新的项目实训工具介绍不足
随着软件工程理论的发展,软件项目实训的工具也在不断涌现,比如CASE工具、自动化测试工具、项目管理工具、配置管理工具等。在以往的案例教学中,教师往往注重讲解案例项目的开发过程理论,很少涉及这些工具的使用介绍,而实际情况是很多学生不知道用什么工具来表示分析设计的结果,也不清楚数据库设计、软件测试、项目管理等相关工具有哪些,如何使用。
1.6考核方式不能有效地激发学生的课后学习兴趣
采用平时30%+考试70%的考核方式,考核的重点还在理论知识的“纸上谈兵”,不能全面反映学生课后的努力,不能有效激发学生的学习兴趣。
2、改进措施
为了切实提升教学质量,培养学生的专业技术能力,我们以解决问题为目标,以教学模式的改变促进教学内容和考核方式等多方面有针对性地改进。
2.1以学生为中心的课堂教学模式
彻底改变以“教师讲,学生听”为主的教学模式,改变教师的角色,让教师的“教”变为项目的“引导”,学生的“听”变为项目的“开发”。把案例教学,变为项目驱动教学[5]。在整个教学过程中,由教师引导学生进行项目开发,让学生在开发过程中感受软件工程的理论,变“要我学”为“我要学”,再由教师对相应理论进行指导总结。具体实施方案如下:(1)有选择性的分组分工,满足不同学生对课程的不同期望在课程学习之初,教师对全班学生的专业技能和课程学习期望进行调研,选择专业技能较强或者有一定的软件开发经验的的几名同学担任组长,再由组长以自愿的结合的方式招募组员,将全班同学分成5人左右一组的几个项目小组。组长担任项目经理,小组中的其他成员根据能力分别担任编码、测试、数据库、美工等角色。这种分组方式,既防止了随机组合时的各组学生专业能力不均衡,又满足了不同学生的不同角色期望,自愿组合又利于团队融洽和交流。(2)从学生的实际需求产生项目案例在案例项目的选择方面,也完全以学生为中心,让每个开发小组自行选题。一般来说,功能需求较多,流程复杂而实现技术难度较小又为大家所熟悉的题目最适合。为了确保每组都能选到适合的题目,教师进行了引导,引导学生们从自己的日常生活需要出发,选择各类信息管理系统作为项目案例。比如“大学生社团管理系统”,“校园二手图书交易系统”等。(3)教师走下讲台,引导学生进行项目开发课堂教学不再是结合案例的理论讲授,而是根据软件开发的生命周期,由教师引导学生小组进行项目开发,并在开发的过程中,总结软件工程的理论。比如在需求分析阶段,教师首先让学生在课后以小组为单位,讨论自己项目的需求,再由教师在课堂上组织他们进行交流汇报,每一组汇报时,其他小组的成员都成为用户角色,提出新问题,直到确认项目的需求。然后由教师总结需求分析的方法,引导学生使用MicrosoftVisio和RationalRose进行需求规格说明书的撰写。软件生命周期的其他阶段按照同样的方式进行,先由学生小组自行主动学习开发,再由教师组织交流讨论,总结方法,引导学生使用相关项目开发的工具,一步一步完成项目开发。在这个过程中,由各小组的组长分配任务,协调安排人员,因为组长们有一定的项目开发经验和开发技能,保证了项目能顺利进行。小组内每个成员的团队协作能力和组长的组织管理能力都得到了锻炼。(4)成果汇报,总结经验在实践课时,安排所有学生进实验室,集中完成项目开发。由于各小组学生的能力有差异,项目进度各不相同,集中开发,有利于各小组的交流学习,教师也能随时指导。等所有小组的项目开发任务完成后,由小组组长进行成果汇报展示,教师和其他同学充当评委,指出得失成败,总结经验。教师从项目实践中让学生感受文档、规范编码、团队合作、项目管理等重要概念。这种“学生自学找出不足-交流汇报找出解决办法-教师总结理论经验”的项目驱动教学方法,极大地提升了学生的学习兴趣和主动性,取得了较好的学习效果。教师从知识传授者变成了项目开发的引导者、组织者和评价总结者。
2.2以项目开发为驱动设置教学内容
在以项目开发为驱动的案例教学中,对教师的能力提出了更高的要求,教师要能对项目开发的全过程精准的把握。在教学过程中,把教学内容巧妙地和项目开发任务结合起来,在学生最困惑最需要帮助的时候给与实践和理论的指导。每个阶段开始之前,提前将以往容易被忽略的项目实训工具进行介绍,比如软件分析与设计的工具MicrosoftVisio,面向对象设计工具RationalRose,数据模型建模工具PowerDesigner,软件集成编码开发工具VisualStudio等,让学生们掌握最先进的工具,更方便他们进行项目的开发。
2.3项目开发为主的考核评价方式,激发学生的学习兴趣
以项目开发为驱动的案例教学法,需要学生花费大量的课余时间,所以我们采用“项目发过程50%+项目文档20%+开卷考试30%”的方式进行考核。项目开发过程成绩=团队对软件工程的执行情况+团队的分工与协调情况+软件的复杂程度和最终实现情况。这种考核方式既要求学生小组不折不扣地完成项目过程开发,又充分强调了项目文档的重要性,再通过开卷考试强化软件工程重要的理论概念,将理论和实践充分集合,激发了学生的学习兴趣,取得了很好的效果。
3、结束语
以“学生为中心,项目开发为驱动”的软件工程课程教学方法,能更好地激发学生的学习兴趣,将学习的角色从受众变成主动者,让学生从枯燥的理论学习环境中解脱出来,全面深入体验软件工程分析、设计、编码、测试的开发过程,更好地培养了学生的理论应用能力,团队合作能力,问题解决能力,提高了工程实践能力。接下来,有条件的学校可以开设软件工程课程设计课程,或者与企业合作,选择最新的、为企业生产应用所需要的项目作为开发案例,让学生真正的做到学有所用。还可以将好的项目案例形成案例库[6],供后面的学生参考选择开发。培养具有高素质专业技术人才是一项需要长期坚持的系统化工程,需要持之以恒的不懈努力以及教学实践的不断尝试和反馈。
参考文献
[1]张海藩.《软件工程导论》(第6版)[M].清华大学出版社,2013
[2]王辰尹.面向应用型IT人才培养的软件工程教该关键问题研究[J].计算机教育.2014
[3]李峰.计算机软件工程专业卓越计划实践教学.计算机教育.2013
[4]吕云翔.《软件工程实用教程》[M],清华大学出版社,2015
[5]谭貌.软件工程专业多课程协作项目驱动教学模式研究[J],计算机教育,2011
项目化课程的开发首先要进行课程定位,这是进行课程开发的前提和基础。“JavaWeb开发”的教学项目的设计,首先要从其所对接的工作岗位群分析着手。首先进行行业人才市场的需求分析,包括行业企业需求调研和毕业生反馈调查两部分。因此,我院的计算机应用教学团队通过对华为公司、大连华信、深圳中科讯联科技有限公司等多家校企合作企业进行人才需求规格的调研,结合对往届毕业生的信息反馈调查结果进行分析总结,经过与行业企业专家的共同讨论,分析得出该领域的主要工作岗位包括:网站编辑员、网站设计与开发员、网站维护员(初始岗位)、频道主编、网站运营工程师、网站设计总监、网站运营总监(发展岗位)。再针对每个岗位的典型工作任务进行分析,即要能够圆满完成这些典型的工作任务,需要工作人员具有哪些核心的职业能力,从而总结出完成工作任务所必需具备的核心职业能力要求。
2.基于核心职业能力的培养目标,设计教学项目、序化教学内容
岗位群分析的典型工作任务是JavaWeb开发人员工作体系下需要完成的具体任务。教学项目则是学校为了实现对学生职业能力培养所设置的教学内容。因此需要基于工作过程导向的原则,实现从典型工作任务向教学项目的转化。在教学项目的设计中,以培养学生具备相应的核心职业能力为目标,选取了基本涵盖了所有对应工作任务的较为复杂的管理系统开发项目作为课上项目A,同时又提供了一组课下项目B的题目列表,课上项目由学生为主体,教师为主导,作为学生必须完成的项目,包含了要完成的工作任务所必需掌握的相关理论知识和操作技术。课下项目列表具有充分的灵活性,具体开发项目的选择权交给学生,由学生根据自己的实际开发水平和能力决定,课下项目的开发实践是对课上项目所涉及理论和技术的提高和补充。根据初学者的学习规律,在对项目难易程度的选择上,以及项目中所包含的功能模块(即子项目)的设置方面,均按照理论知识从基础到高级、从浅到深,操作技能从易到难、从简单到复杂的顺序安排。
3.以学生为主体的教学项目实施
在整个教学过程中,教师紧密围绕项目开发的过程,展开项目模块相关知识点的讲解、演示实施后的效果图,在开发工作中,始终以学生为主体,教师为主导,引导学生主动参与项目的设计与开发,遇到问题时引导学生自主学习相关知识,寻找解决问题的方法等,教师在期间只需要在适当的时候,给予适度且必要的引导,例如当学生遇到团队无法克服的困难或者无法解决的问题时,老师需要给予学生解决问题思路上的引导。课上项目的开发是在教师的引导与监督下完成,课下项目则由学生选择具体项目利用课下时间独立完成。同时在项目的开发过程中,注重对学生基本素质与职业素质的培养。
4.全过程一体化的课程教学效果评价
职业岗位群是指与工作内容及所需要的知识、技能相近或有较大关联的一组职业或者职业岗位。高职艺术设计课程体系的开发应在充分的市场调研的基础上,以各具体专业的职业岗位群任职要求为依据,分析典型工作任务,归纳岗位能力,凝练专业岗位核心能力,从而确定专业人才培养规格。在工作过程和职业能力分析的基础上,与行业、企业合作遴选项目课程,引入职业资格标准,加强专业与行业、企业的对接,形成课程体系目标。因此在具体的课程体系开发过程中,课程体系目标应当尽量包括该职业岗位群所应当具备的技术应用、生产操作、技术研发、生产管理及服务等职业岗位。如高职艺术设计专业包装设计方向职业岗位群设置:初始就业岗位对应的职业岗位及职业资格证书为包装设计师、包装设计员(四级)资格证,职业发展岗位对应的职业岗位及职业资格证书为平面设计师、装潢美术设计员(三级)资格证,职业迁移岗位对应的职业岗位及职业资格证书为广告设计师、广告设计师(三级)资格证。高职艺术设计课程体系的构建还应明确服务于学生未来职业生涯发展的目标定位,课程体系目标定位不仅要以提高学生就业竞争力为导向,同时也要加强学生职业生涯的可持续发展能力。因此我们在确立课程体系目标时不仅要坚持$能力本位%,重视学生职业岗位知识及技能的教育,也要融合STC教学理念,重视学生职业生涯中所需职业素质和综合能力的培养。
二.有效的高职艺术设计专业课程体系内容
有效的高职艺术设计专业课程体系应在确立课程体系目标之后,将行业、企业的设计执行标准、工艺标准、材料标准等融入项目导向的核心项目课程,并依据专业核心课程的职业能力要求制订课程标准,以职业能力为依据组织课程内容。课程体系内容应为学生提供足够实践所学知识与技能的机会,加强基础核心课程和专业核心课程建设,提高艺术设计类高职生基础技能、专业能力、岗位能力及可持续发展能力。在建设及调整优化高职课程体系内容时,应重视建设与专业技能培养相匹配的综合性实践条件,从而为学生提供足够的实践机会,在实践中运用所学知识与技能、学习新知识与技能,获得实际岗位工作经验,增强综合职业能力。高职教育与普通高等教育相比其显著的差异是高职教育的社会性特征更突出,高职教育只有加强校企深度合作,建设好校内、校外实习实训基地,加强与任职岗位的零距离对接才能让学生更好地习得专业岗位能力,使课程体系内容有效,适应市场需求。
三.合理的高职艺术设计专业课程体系结构
课程体系结构的合理设置是课程体系目标实现的重要保障。目前教育界普遍认为加强核心课程建设是提高课程体系有效性的重要途径。高职艺术设计专业的$核心课程%包括基础核心课程、专业核心课程两部分。一般来说,基础核心课程着重培养学生基础核心能力和综合素质,专业核心课程着重培养学生专业核心能力。基础核心能力是从事所有职业所应必备的技能或能力,如应用写作、语言表达、计算机应用、人际交往等。专业核心能力是指从事职业岗位群所需要的专业技能、能力。在实际工作中,基础核心能力和专业核心能力是相互融合。互为补充的。合理的高职艺术设计专业课程体系应包含职业素质类、项目导向类、职业规划及学业总结类课程。有效的课程体系结构应当重视核心课程的开发与建设,在提高学生专业技能、岗位能力、就业能力的同时,增强学生的综合素质及可持续发展能力。高职艺术设计专业包装设计方向课程体系结构如下:一级模块包括职业素质工学模块课程、项目导向工学模块课程、职业规划与学业总结模块课程三个部分。职业素质工学模块课程下划分为基本素质模块课程、造型基础模块课程、设计基础模块课程、职业素质拓展模块课程四个二级模块,其中基本素质模块课程开设有大学语文、心理健康教育、中外工艺美术史、消费心理学、广告文案、品牌推广等课程,造型基础模块课程开设有设计素描、设计色彩、包装效果图手绘表现技法等课程,设计基础模块课程开设有图案设计与软件绘图、字体与版式设计、商业插图等课程,职业素质拓展模块课程开设有中国画、影视广告等课程。项目导向工学模块课程下划分为包装结构设计项目导向模块课程、品牌形象设计与营销策划项目导向模块课程、包装装潢设计项目导向模块课程、顶岗就业实习模块课程四个二级模块,其中包装结构设计项目导向模块课程开设有包装材料与纸盒结构、容器构造与AutoCAD等课程,品牌形象设计与营销策划项目导向模块课程开设有品牌视觉形象设计、产品宣传手册设计等课程,包装装潢设计项目导向模块课程开设有印刷工艺与制版、丝网印刷、袋装系列包装设计、纸盒系列包装设计等课程,顶岗就业实习模块课程开设有毕业设计、顶岗实习等课程。职业规划与学业总结模块课程下划分为职业规划模块课程、学业总结模块课程两个二级模块,其中职业规划模块课程开设有职业规划专题讲座、就业指导等课程,学业总结模块课程开设有学业总结专题报告等课程。
四.科学的高职艺术设计专业课程体系开发方法
科学的课程体系开发方法应当采用多样的课程开发形式,重点是运用所学知识及技能解决实践问题,保障课程体系能运用所学知识和技能解决实际问题。在实际课程体系开发实践中,工作过程导向课程体系开发是适应高职艺术设计专业课程体系开发的方法。这种工作过程导向课程体系开发方法是指通过充分的市场调研、确立专业培养目标所指向的专业岗位,以工作岗位所从事的职业活动为依据,对典型工作任务进行分析,找出职业生涯发展中阶段、任务、能力,将典型工作任务转化成为相应的学习课程,在此基础上形成课程体系。这种课程开发方式一般适应于艺术设计专业课程。对于非专业的、不能工作过程化的、不适合以工作过程导向开发技术完成的课程,就应借用学科分析等其他开发方法。因此,高职艺术设计专业课程体系开发应根据采用多种开发技术,提高课程体系的有效性。
五.高职艺术设计专业课程体系质量监控及评价策略
有效课程体系建立的关键在于建立起课程监控与评价机制,对课程体系及单门课程的开发方案、课程开发方案评价、课程开发、课程实施及课程实施结果评价开发进行全过程的监控与评价。高职艺术设计专业课程体系质量监控及评价应分为课程教学质量评价及学生课程学业水平评价两个方面。课程教学质量评价,应建立学校、院系和各专业工学部三级评价机制,明确职责对课程教学质量和教学效果进行全方位的考核评估。在教学过程的不同阶段采取不同标准的评价,形成对教学的多角度评价,保证教学评价客观合理。学生课程学业水平评价应引入职业资格认证体系及行业企业技术考核标准,将企业人力资源管理机制与学校专业评价体系相结合,对学生的专业素养、职业能力、职业素养等进行综合评价。在评价过程中还要注重对教学过程中的创新意识、职业道德等综合素质进行考核。在项目课程考核评价时候可采用项目团队内自我评价、项目团队成员互评、教师评价、学生答辩、校企联合考评等较为丰富的评价形式。
六、总结
一、相关概念
OKR是一种战略目标任务体系,是一套明确目标并跟踪其完成情况的管理工具和方法,由英特尔公司发明。目标O是驱动组织向既定期望方向前进的定性追求的一种简单描述,而关键结果KR是用于衡量既定目标达成情况的定量指标。本文研究OKR工作法在国际工程项目市场开发中应用的目的,除了将其作为一种目标管理工具可以实现高效的目标定性和定量管理外,更兼具考虑了目标管理在市场开发工作中的特点,即强调有雄心并有能力付诸实施,而不过分强调最终目标的实现,不以最终成功中标项目论成败,而更强调过程中的资源、信息和经验积累。
二、OKR工作法的应用原则
OKR工作法自诞生以来更多地应用于英特尔、谷歌等科创公司,其应用环境与建筑行业差别较大,因此OKR工作法在国际工程项目市场开发中必须遵循特定环境下的应用原则。1.获得认同,明确OKR工作法是团队目标管理的唯一工具。2.O要明确方向、鼓舞人心,具有一定的挑战性。3.OKR应自上而下,先设定公司层面的OKR,再设置境外国别公司的OKR,再到项目投标组(团队)的OKR,最后是个人OKR(可选)。4.市场开发工作的每一个层级OKR只设置一个目标。5.O要有时间期限。6.投标组是国际工程项目市场开发OKR中的核心单元。7.KR由团队自行设定,非自上而下摊派。8.KR应是限定时间、具有挑战的定量化目标任务结果。9.KR不宜罗列过多,且要指定责任人。10.KR不是一成不变的,可以在过程中根据工作发展调整。市场开发工作运用OKR工作法强调的是目标的挑战性、一致性和关键结果的必要性,把握以上设置原则即可设置更好的OKR目标管理体系。国际工程项目投标组OKR设定本文以项目投标组为例,探讨OKR工作法的应用。一、O国际工程项目投标组作为整个国际工程项目市场开发的核心管理单元,是公司OKR目标体系中的关键结果之一,公司分解下达的新签合同额目标,逐级分解到境外国别公司,国别项目经营目标即是国别OKR的关键结果之一,相应投标组的OKR目标即为——成功中标目标项目并确保最优价格、最优方案和最优合同条件。分析:投标组目标具有明确的方向且唯一,项目中标可以鼓舞团队士气,而最优价格、最优方案和最优合同条件则具有一定挑战性,符合OKR设置原则。二、KR基于前文总结的30项市场开发工作内容制订投标组的KR关键任务如下表。其中6个关键任务在具体项目的KR设置中还应加上具体关键任务的时间限制,执行过程中在原则框架下适时调整。
三、OKR目标无法达成的因素分析
随着社会对人才需求不断转型,高等教育培养人才模式必须改革。而数字电子技术一直都是学生比较头疼的课程,因此将项目教学法应用到数字电子技术教学中,明确该课程项目化教学的思路,提高教学质量和学生学习能力,是新课改的基本要求。本文是笔者对教学工作进行总结,对数字电子技术教学应用项目教学进行探究。
关键词:
项目教学法;数字电子技术;应用
引言
数字电子技术设计内容广而且极难掌握,学生大多摸不着头脑,如果采用传统教学无法调动学生学习的主动性、积极性和创造性。在这种形势下,探究项目教学法的应用具有实用价值。
1.项目化教学的准备工作
1.1项目的选取工作
在项目教学法中,项目的选取是格外重要的,所选取的项目要典型且在实际中有较强的可操作性,这是成功运用项目教学法的关键。(1)通过对大学生的就业情况做调研与分析,由老师带领学生归纳出专业岗位所要求的职业基本素养和职业能力,同时,根据当今高等学校的教学趋势,将根据调研得到的数据重新整合,而后将典型的电子产品引入日常教学中,以此来提升学生独立分析和解决问题的能力。(2)项目的选取要有层次,由简单到复杂。数字电子技术中的集成电路有很多种,按功能可以将其分为数字集成电路和模拟集成电路,与项目相关的产品有小中大等规模的集成电路。项目的难易程度要符合与学生所掌握的技能和知识,学生的实际学习基础也需重视。学生在设计项目时,可以将项目涉及到的知识分散开来,让它们在不同的环节中体现。从易到难,从测试单个集成芯片功能到设计、制作完整的电路。(3)项目要具有代表性和可实施性,让学生大胆创新,突破传统思维的束缚。例如,在典型项目“三人表决器的设计与制作项目”中,老师可以先说出自己设计理念,然后让学生通过查找资料、小组讨论,制定出几个不同的设计方案;在设计与制作项目数字钟的拓展方面,可以将可编程逻辑器运用到数字钟的制作中。
1.2项目的准备工作
确立项目之后,教师要先开发出产品的完整电路,以此证明该项目的可实施性,也为学生创造了良好的实践环境。然后让学生五至六人一组,每组选出一个小组长。小组长带领本组成员制定本组项目开发计划,给每个组员分配明确多的任务,监督组员的进度情况。
2.项目化教学的实施
2.1提出项目任务,收集资讯
在进行该项目之前,教师对学生提出基本的设计要求,给学生下达任务,指导学生在互联网、图书馆收集资料。学生为了激发自己对项目开发的兴趣,需要自己在课下查询资料、掌握相关知识。同时学生要整理、记忆相关资料,以此来提高自身获取信息的能力和自学能力。例如,项目“三人表决器的设计与制作”中,首先,教师要大致讲解逻辑代数的相关知识,再以案例为载体,讲解组合逻辑电路的一些设计方法,最后对学生提出项目任务。学生接受任务后,首先通过各种渠道收集相关资料,再根据所学知识将收集到的资料进行分类整理。
2.2项目计划讨论
每个小组根据任务要求和整理的资料,初步制定项目计划书,计划书应大致包括电路的设计步骤、电路的调试步骤以及计划实施的相关步骤等,还有项目任务进度和组员分工。各小组成员进行分工合作,积极讨论设计方案,最终确定出项目计划书,教师也应深入各组进行指导。这个过程中,学生既掌握了相关的知识和技能,也更能理解合作共赢的含义,此时,学生在教学活动中处于主体地位,老师起到指导作用。这种小组成员共同合作,讨论并制定出项目计划的方法,不仅提升了学生的组织能力和管理能力,也增强了学生的团队合作精神,同时调动了学生多的积极性。
2.3项目方案决策
各小组经过讨论制定出计划书后,每组选一名成员对本组计划进行讲解,本组其他成员可适时地进行补充,而教师及其他组的成员可对设计方案提出相应的问题,由讲解者回答,教师点评并说明该方案的可行性,最后指导学生进一步优化或者再重新制定方案。例如,在“集成电路的设计与制作”项目中,学生收集资料、讨论交流后,提出几个不同的设计方案,教师根据几个设计方案成本、可操作性、典型性,最后选出最合理的设计方案并指出各个方案的优缺点,让学生进一步优化各自的方案。
2.4项目方案实施
项目的实施阶段是项目教学法的最为关键的一个环节,每组成员之间需要相互合作,共同完成电路的调试、芯片的安装和仪器仪表的使用等工作。每个小组可选取不同的设计方案进行实验,根据实验结果和实验数据分析,对比各个方案的实施情况,发现问题,从而优化自己的方案,最终找到理想的电路。例如,在“三人表决器的设计与制作”项目中,学生通过实施不同的设计方案,将亲身实践与理论知识相结合,得出最终结论,这比传统教学中学生被动的接受知识的教学方法更为有效。若在电路开发中学生遇到比较棘手的问题,教师可恰当地对学生进行指导,带领学生走出困境,并督促学生认真完成项目计划书中的各个开发环节,以保证项目的开发顺利完成。
2.5项目检查与成果展示
学生自己进行项目检查,不仅可以提让学生学会独立分析评价问题的能力,也可以判断出电路是否正确。在实施项目计划的过程中,让学生对所制作的电路反复检查,及时纠正电路中的错误,然后可以让教师或其他组成员检查,相互之间交换检查结果。确保电路无误后,各组展示制作的电路,学生自主发言,与大家交流自己的体会和经验。
3.结语
项目的评价可作为评判学生成绩的依据。主要是考评组学生在实践过程中的专业能力、组织能力和合作能力。最后由教师总结各组出现的问题、相应的解决的办法和大家的经验。项目的开发让学生综合运用所学知识,同时提升了学生的综合实践能力。在项目完成后,学生要独立撰写项目总结报告,这不仅可以让学生养成勤于思索、善于总结的好习惯,而且可以提高学生独立思考、总结经验的能力,同时可以帮助学生理清思路,加深对相关知识的理解。
参考文献
[1]蒋庆斌,徐国庆.基于工作任务的职业教育项目课程的研究[J].职业技术教育,2015(11).
[2]丁娟.项目化学习与高职教育教学改革[J].江苏经贸职业技术学院学报,2017(03).
[3]徐国庆.高职项目课程的理论基础与设计[J].江苏高教,2016(19).
通过《网页设计与制作》多年的教学发现,应用传统的教学方式及考核方法学生只建立了的基础的专业课程知识概念及单一的基本操作,并不能综合应用操作技能完成某主题网站的设计与制作。为了建立以网页设计与制作技能考核为主线的开放式、全过程的考核体系,提高学生综合项目实践能力,更好的与社会需求接轨。有必要对传统的考核方式进行改革,同时经过多年教学探索,结合人才培养方案制定了以下的考核方案。
二、考核方案
1.考核方案的制定
本考核采取学生小组合作(每组2-3名学生)完成一个规定主题网站项目的方式展开。总成绩由操作考核成绩、项目报告成绩两部分组成,权重分别为70%、30%,每一项按百分制评分后依权重比例计入总成绩,总成绩不及格者必须重修本课程并重新参加考试。因本校的现有学期总评成绩是由平时成绩30%、期中成绩30%、期末成绩40%组成,为了与学校的评分要求接轨,将本次考试所得的总成绩作为学校学期总评成绩的期末成绩部分。并在此说明平时成绩30%部分是由学生本学期的课程作业完成情况、出勤及上课表现综合评定。本考核方案中的操作考核、项目报告都有具体的考核方案,其中操作考核实施的具体要求以试卷形式展现,内容要求以表“操作考核内容”为中心,以考核学生综合网站制作能力为基本思路,通过小组合作完成主题网站的设计与制作,具体要求在此省略。此外要求学生撰写项目报告不仅让学生明确各自的份内工作,同时要求学生善于思考、总结,每做一个项目都有所收获。项目报告实施的具体要求涉及以下几个方面的内容:
(1)项目实施过程。
项目实施过程包括前期策划、资料搜集、网页制作。在前期策划阶段,要求小组共同确定网站名称、网站风格(列举网页采用主要色彩及网页色调定位)、网站栏目、站点目录结构的内容以形成完整的网站规划,在此规划的指导下进行资料搜集、协作完成网页制作。其中网页制作中要求页面美工设计阶段介绍所用软件及提供至少首页效果图截图;静态页面制作阶段要求绘制网页布局的结构图及标注尺寸;程序开发阶段列举所用的开发工具、对数据库、表进行截图,以及绘制程序开发页面流程图。
(2)项目总结。
对本项目完成情况进行分析、总结,并介绍项目实施过程中的收获及体会。在作品展示时要求各小组派出代表对作品进行介绍,总结,便于相互交流经验。
(3)项目组介绍。
对该项目组成员进行介绍及项目实施过程中的人员分工情况进行报告。体现小组合作开发项目的工作模式,让学生明白实际工作中不仅需要具备较高的技术能力,还要有合作意识,与合作者之间有效、和谐的沟通。
2.考核方式
生成合同的阶段中所拥有的相应工作为:签署、商定以及评估商务合同与技术合同,同时还需要明确和评估项目的具体方案。
2项目的立项
项目在立项的主要阶段中具体包含的任务是,对立项理由的确定,并将立项建议有效的提出,同时需要将适当的资源与资金有所提供,力求让立项中的相应建议能够成为正确的项目类型。
3合同的执行
在执行合同的过程中,承担着大型软件项目管理流程的重要部分,能够包含系统的维护、项目的验收、内部的验收、测试的执行以及软件的开发等五方面的工作流程。
4软件的开发
开发软件的阶段包含:单元测试、编码、系统设计、系统分析以及需求调研等流程,具体会在几个层面中开展必要的管理:a.项目计划的拟定在大型的软件项目当中,软件项目的规划方面是对其他相关的规划充分协调的必要条件,是能够控制和执行指导项目的可操作型文件。主要突出了对客户需要的掌握,是进行项目活动的主要条件,同时还是大型软件项目监控和跟踪的凭证。b.过程控制需加强过程控制方面具体包含:配置管理、变更控制以及过程管理。c.开发过程的确定按照项目组别以及大型软件项目的真实状况,创建出可控制、稳定性极高的软件开发模型,同时需要根据此流程开展软件的相应开发。
4.1内部的验收
大型软件项目在对系统测试以及集成测试完成之后,需要开展项目的内部验收流程,具体包含着几大步骤:a.准备文档在准备文档的过程中,大型软件的项目经济需要提交一部分报告,分别为:产品的清单、总结项目开发的报告以及内部的验收计划报告等。财务的主管需要将项目的财务预算报告正确提交。b.内部的评审内部评审主要针对的是所提交的测试结果,以此来将项目的开发总结报告完善达成。c.测试内部验收测试内部验收的方法与内容,和测试系统是完全一致的,可是需要以用户验收的角度开展测试,由于是试运行的必要条件,利用用户验收的角度能够奠定验收的坚实基础。
4.2执行和测试
测试项目的主要目的就是对系统进行充分的检查,检查的关键在于系统能否和任务书规定和项目合同规定的需求相符。项目测试方面包含:系统测试和集成测试,具体会开展安装与反安装测试、可靠性测试、压力测试、安全性测试、用户界面测试以及功能测试等。其中是在模拟的运行状态下进行的测试过程。
4.3项目的验收和试运行
用户的验收和试运行阶段当中具体应该完成的任务是,将全部的工作都被用户有所认可,具体涉及到的工作是:a.事前准备所谓事前的准备就是验收前的准备,大型软件项目经理对产品完整性方面负责检查,包含:中间产品、介质以及文档等方面,从而保证现场实行的效率最大化。同时对现场的软件安装调试也需要有所负责,将调试安装的总结报告相应强化。此外,还要对用户的验收计划负责拟订,同时要获得客户的认可。b.用户的确认用户需要开展系统的试运行以及验收测试流程,开展系统和文档的移交。大型软件的项目经理需要和客户有效的协调,以此来帮助用户能够开展项目的验收,从而让用户的验收报告能够成立。
4.4项目的维护
在维护软件系统方面包括两个方面,其一是纠错性质的维护,因为初期的测试过程不能够将软件系统当中潜在的一些错误暴漏出来,然而对哲学隐含错误的改正和诊断过程,就是纠错性的维护。其二是完善性的维护,在正常使用大型软件的阶段,用户会逐渐的将新型需求提出,想要对用户所提出的需求予以满足,就需要将软件功能的活动增加,这一流程称之为完善性的维护。
5总结
1.实践教学缺乏系统性和针对性目前许多高校“软件工程”课程除了理论讲解外,也加入了实践教学部分。往往受学时所限,实践分为软件项目若干设计文档的编写和软件工程工具的实验练习。前者受缺乏相应的开发环境、教师虚拟客户不能很好地反应现实需求、理工科学生的文字表达能力不足等因素的影响,设计文档的编写不能很好提高学生能力;后者在一定程度起到了一定的作用,但对于培养学生分析问题、解决问题、管理和团体协作能力方面仍显不足。
2.评分模式单一软件工程采用了传统的闭卷考试方式,平时成绩占总成绩的30%,期末考试占70%。平时成绩=上课出勤情况(10%)+实验完成情况(10%)+作业完成情况(10%)。任课教师通过对不同的考核内容赋予不同权重来评价学生对软件工程课程的掌握情况,主要考核学生对课程基本知识的理解。此方法不足以提高学生实际动手的能力,更不利于激发学生实际软件设计开发的兴趣。
二、现有的教学方法的分析
针对上述问题,从事软件工程的相关教师从不同角度,对软件工程课程进行了改革。归纳起来主要有如下几种教学方法改革:
1.自底向上教学法在“软件工程”课程中应用授课方式主要是用倒叙的方式贯穿完整案例(包含警戒案例),以启发、讨论、辩论的形式讲授软件工程的原理、方法及过程,使学生不觉生疏,易接受,又符合IT从业人员的工作进程。[2]
2.模块化教学法在“软件工程”课程中的应用在尊重教学规律和学生个性发展的原则上,根据课程体系和内容之间的关系,将教学部分划分为若干独立的模块,确定模块之间的关联,针对不同的教学计划要求,采用不同的模块组合有选择地进行讲授和学习。[3]
3.案例教学法在“软件工程”课程中的应用软件工程案例教学是根据“软件工程”课程的教学目的和学生培养目标要求,教师选用相应的案例作为基本素材,引导学生对案例进行调查、思考、分析、讨论、设计、开发和交流等相关活动,在活动中教授学生软件工程的原理、方法及过程,进而提高学生分析和解决问题的能力,加深学生对基本理论知识的理解和掌握。[4]
4.项目驱动教学法在“软件工程”课程中的应用项目驱动教学法是案例教学法的基础上采用“案例导向、项目驱动”的教学方法。首先,教师根据要讲授的理论知识预先准备一个或者多个小的软件开发项目;然后,将学生作为主体,以软件开发项目的研发过程为引导,采用学生小组团队合作和学生个人独立完成相结合的教学形式,组织学生开展集体讨论并完成相应的实践性活动,在研发过程中同学和老师要对每位学生所完成的每个阶段任务加以点评、督促改进、分享经验等;最后,学生将成功的软件给予演示。
5.三位一体式教学法在“软件工程”课程中的应用根据学生的认识特点和该课程自身的特点以及对“软件工程”课程在计算机科学专业的定位、教材的选取、课程培养目标的分析下,采取以综合能力培养为中心、项目实践为标准,模板、案例、指导说明为辅助的三位一体式的教学思路。[6]对目前在“软件工程”课程改革中应用的五种方法针对改革侧重点进行汇总发现(见表1),单一的教学方法只是在理论教学、实践教学和考核方式某一方面发挥了很好的作用,而不能从全面发挥效果,而对于“软件工程”课程来说三者同样重要。
三、基于多元教学法的课程改革新模式
某一种教学模式改革已经不能满足现代“软件工程”课程教学的要求,只有将多元教学模式组合在一起,充分考虑各自对课程教学的优势,避其缺点,找到一种既能使学生具有良好的理论基础,又能充分培养学生实践能力,还能准确地考核学生的教学模式。本次课程改革就是本着这样一种思想,从理论教学、实践教学和考核方式三个方面进行多样化改革。
1.理论教学内容多样化
理论知识的学习在学生以后软件项目开发过程中具有必要性和重要性,软件工程学习过程中要重视基础和基本技能的培养。学生要具有开发软件项目的能力,首先要熟悉掌握软件工程相关的理论知识,特别是对如何按照工程化的方法系统地设计、实现、测试和维护大型软件,内容包括:软件开发的基本理论、方法和技术;其次是了解目前已有系统、工具和技术。(1)授课内容引入案例。教师在教学过程中引入与理论知识相匹配的实际案例,将比较抽象的软件工程原理、方法和技术转为具体生动的案例进行诠释,增强理论教学的艺术性、科学性、趣味性、形象性,使学生能够在课堂上深刻领会和理解软件工程的思想和方法,教学效果收到了事半功倍。(2)适时更新教学内容。近几年,软件原理、方法和技术发展较快,许多适应时展的软件不断涌出,而目前的教材虽不断改版更新,但其更新的速度远远跟不上软件工程的发展。因此,教师在进行理论讲解时,除了要教授学生基本原理、技术和方法外,还要时刻关注新内容的出现。(3)制作丰富多彩的课件。采用多媒体教学手段,在课件中插入图片、动画、声音、视频等多媒体元素,使教学内容更加充实和生动。(4)课堂小组讨论。从小问题到大问题,让学生参与教学过程,有机会发表自己的看法。课堂讨论和分析试验,使理论有实践作支撑,抽象的知识变得看得见,用得着,大大激发学生学习的兴趣和自信。
2.实践教学内容多样化
软件工程理论的讲解是课程学习和技能培养的基础,而软件工程中许多理论内容如果只是教师讲解不加以实践,内容本身就会变得空洞和不可理解,例如:软件复杂性计算、软件可靠性与安全性的测量标准、结构化的实现方法等都需要学生动手实践才能更好地理解知识本身的内涵。掌握概念、原理、方法和技术,熟练应用软件开发实践中的方法和技术是“软件工程”课程对学生的培养目标。(1)课程角色扮演。教师预先选择若干小项目,班内学生根据自己对项目熟悉情况选择项目名称,划分项目小组,每组人数不超过6人,每个项目小组成员根据自身特长选择不同软件工程角色,例如项目负责人、需求分析负责人、设计负责人、编码负责人、测试负责人和用户代表,进行项目分工。项目组成员按时完成自己负责任务,撰写相应文档。教师帮助学生分析和解决所遇到问题。在整个开发过程可以体现“学以致用”的思想,实现理论与实践相结合。(2)课程设计。课程设计主要是针对高年级学生在学习软件工程课程时开展的专项训练。课程设计采取在学校内模拟IT企业环境下完成来自企业案例或开发一些具有应用价值项目或学校教师承担的开发项目的部分开发工作,也可以是学生自选项目,整个课程设计阶段严格按照工程实施的基本思想来实施。(3)加强校企合作。一方面经常邀请软件公司长期从事软件设计、开发和项目管理的工程师和项目经理,给学生讲解自己在软件设计、开发和管理中的经验,高质量软件产品需要经过怎样的开发过程,软件生命周期中标准文档如何撰写等相关内容;另一方面,利用寒暑假时间,让学生走出去,到软件产品的研发单位实地实习。
3.考试方式多样化
传统的考核方式已经不能反映学生实际软件开发的水平,也与多样化的教学模式不相匹配,为此多样化的考核方式才符合现实需求,主要包括:笔试、课后角色扮演、课程设计和项目总结。(1)笔试占总成绩的35%,主要考查学生理论知识的掌握情况和学习效果。(2)课后角色扮演占总成绩的15%。由教师根据每位学生在课后角色扮演中的具体表现进行打分,主要由3部分取平均值组成:1/3*(整个项目的成绩+自己负责完成的文档成绩+组内其他成员负责完成的文档的平均成绩)。(3)项目总结或心得体会占总成绩的15%。根据学生在软件开发过程中所撰写的经验和教训总结报告、每个小组成员建立的个人开发记录或日志的实际情况,相互打分。
四、基于多元教学模式课程改革方案
基于上述改革理念,按照软件工程开发原理、方法和技术,选用典型项目案例,将学生按照项目分成若干个小组,每组人数不超过6人。每个小组对应着一个具体的项目,每个人对应着一个具体工作过程,按照如下步骤进行多元教学。第一步,教师选用合适的教学内容,制作丰富多彩的课件,对学生进行基本理论和基本技能的讲解。在每一个软件生命周期结束后,教师进行案例场景描述。教师按照理论知识的内容,选择相应的案例进行描述,学生将所学内容运用到相关案例中。教师通过案例让学生明白理论知识如何应用,学生通过案例体会到小项目中所学的原理、方法和技术是如何实现的。第二步,课后角色扮演。学生通过分组讨论的方式,完成项目分工,明确自己在项目中所扮演的角色。所有的任务通过集体讨论的方式,决出所要完成的任务,并由相应的角色人实际操作完成。例如,需求分析一章内容,学生课后进行项目小组讨论,决定需求分析的内容,进行相应的需求分析,并由扮演需求分析人员的学生完成需求报告。软件开发过程需要整个团队的通力合作,根据学生的性格、表达能力、开发能力、理论基础掌握情况等方面进行人员分组,将具有不同特点的学生组成一个团队完成项目开发。这种团队合作的方式,既能发挥学生各自的特长,又能培养学生的团队合作精神。第三步,课程设计。当全部内容讲解完成,就可以开始长达2周的课程设计内容了。这段时间要求项目小组,彻底完成一个由教师虚拟的项目。此步骤中,主要培养学生良好的科研习惯,在开发过程中及时总结经验和教训,建立个人开发记录或日志,理论联系实际学着开发软件。第四步,学生总结,教师点评。学生经过多个教学环节后,每个团队在一定程度上完成了各自的项目任务,对各自团队的成果进行总结。教师听取每个团队的汇报后,从横向和纵向两个方面对项目成果之间进行比较,从而让每一位学生明白自己在团队中发挥了什么作用,自己哪些方面不足。第五步,请进来,走出去。通过学校和企业合作的方式,一方面经常邀请软件公司长期从事软件设计、开发和项目管理的工程师和项目经理,给学生讲解自己在软件设计、开发和管理中的经验,高质量软件产品需要经过怎样的开发过程,软件生命周期中标准文档如何撰写等相关内容;另一方面,利用寒暑假时间,让学生走出去,到软件产品的研发单位,实地实习。
五、结束语