APP下载

《软件工程》项目型教学模式的探索与研究

2009-06-16王竹云

消费导刊 2009年10期
关键词:软件工程项目实施

[摘 要]项目型教学模式实现了课堂教学与项目实践的相结合,教师的知识教授与学生的实际运用相同步。学生进入项目角色,在项目的驱动下,通过项目所需知识点与教学内容的结合,能把被动接收知识变为主动探求知识,把学习之后不知何用,变为实现项目任务而学习。在项目型教学模式中,项目的选题十分重要,需要教师透彻掌握课程,并对实际进行全方位的分析,然后总结多年开发项目的实践经验与多年教学授课经验的基础上确定项目的题目。

[关键词]软件工程 项目 教学 实施 考核

一、引言

《软件工程》是一门指导计算机软件开发和维护的课程。设置课程的目的就是要求学生通过系统地学习软件开发的过程、工具、方法,掌握软件开发的技术,能用工程的观点来认识软件工程的建设;掌握项目系统的开发方法;掌握项目系统开发的各个步骤及技术,按计算机软件工程规范国家标准撰写文档,使其将所学的理论知识快速地应用于项目开发实践,从而具备从事计算机系统开发和维护的初步能力。课程内容抽象,总结性的内容多,条条框框较多,不太容易讲解,学生学习起来也感到内容空洞、枯燥乏味、难学。针对这种普遍现象,其主要原因:

课程的综合性强。软件开发是一项系统工程,需要开发者具有操作系统、网络操作系统、数据结构、数据库系统和前台开发工具等诸多方面知识和综合能力。而学生学习的只是单一的课本知识,知识面窄而且没有系统化。

实践经验的缺乏。本课程是实用工程学科,课本内容采用将知识点从具体到抽象、对实践经验进行概括总结的方法加以叙述,学生对实例并不了解,难以理解所讲述的知识,另一方面没有适合学生观摩和借鉴的实用软件系统。

要想将该课程讲得通俗,让学生易于接受又能达到相应的教学效果,必须对该课程进行改革,采用项目型教学,突出实践环节。项目型教学模式借鉴了实践型教学模式的教学实践相同步的方式,同时吸收了实际软件工程项目的组织方式,力图在教学中同步培养学生对知识的自学能力和实际运用能力,培养学生开发计算机应用系统的独立解决问题的工作能力、自己动手的实际操作能力及团队团结协作精神和提高整体的综合素质[1]。

二、项目型教学模式的理论教学过程

(一)建立合理的课程内容体系

建立合理的课程内容体系首先应合理地选择教材,我们选用的教材为清华大学出版社出版的张海藩编著《软件工程导论(第四版)》。该教材内容的特点是:①理论性,教材比较全面地介绍了软件工程中的基本原理、概念和方法;②实践性,课程的内容体系强调基本原理、方法在实践中的具体应用;③先进性,教材较为详细地介绍了软件工程中的新技术、新方法。同时,我们选用的辅助教材为清华大学出版的郑人杰编著《实用软件工程(第二版)》。

其次,应根据学生的培养方向、学时数等因素对所讲授的内容作必要地取舍。我们以传统的生命周期方法学和面向对象方法学为主线,建立了课程内容体系, 参考国内外先进的软件工程理论和应用实例,对教学内容进行了必要的补充和删减;以培养学生的软件项目开发过程中的技能为目标,制作了内容丰富、联系项目开发实际的多媒体教学课件;建立了较为完善的软件工程典型项目案例库,为每一个案例提供详细的分析说明;编写了供实践环节使用的《软件工程项目实践指导书》[2]。

(二)开展以学生为主体的案例式教学

在教学过程中,开展以学生为主体的案例式教学,克服了传统的“教师教、学生学”的模式。在课程的开始,即将学生分为若干个项目小组,并为每个小组确定一个负责人,各个项目小组选定一个互不相同的项目,并明确所选项目的总体要求及考核标准。教师以一个完整的已在企业中运行的项目案例贯穿于整个理论教学过程中,学生则带着自己项目中的问题去理解、思考教师所讲授的内容。学生的作业主要体现为三个时期八个阶段的项目的各阶段性的分析和设计文档,项目小组的成员在讨论、协作的基础上,每次均以小组的形式提交作业。

(三)建立《软件工程》课程教学资源平台

该课程的教学辅助资料围绕《软件工程》网络课程建设而展开,所建设的网络课程主要内容包括:教学大纲,教学内容,电子教案,课程习题,模拟试题,多媒体课件,实验部分,课程评价反馈等。建立网络课程平台的目的是为了便于学生进行网上自学、讨论交流、作业提交、在线测试、教学效果评价等功能,充分发挥学生在学习过程中的主体作用。

三、项目型教学模式的组织

(一)项目的选题

软件工程项目的选题,应当遵循以下原则:

1.应该与学生专业背景和学校特色相结合。

2.应该具有一定的实际意义和价值,并与学生所接触到的社会实践相适应。

3.具有一定的规模,学生在课程学习的规定时间内,通过努力能够完成。

4.应该反映当前IT业对计算机技能的需求趋势和主流市场需求。

5.应该具有一定的完备性,有利于学生运用所学的软件工程知识和方法。

任课教师合力建立自己在软件企业已开发完成的项目的题库,并逐年更新。在课题的内容和形式上尽量多样化,内容尽量覆盖课程的主要知识点。也可准备一些不同难度级别的题目。另外,应该充分注意、明确项目的规模、目标和范围,以确定项目的工作量和人员的岗位[3]。

(二)项目的人员组织

项目规模要适中,一般5至7人为宜,最少不能少于3人,最多不要超过8人。每个项目设一名项目组长。

教师在课程的开始阶段就应该确定好选题,一般在第一次课上布置,在学生自愿组合、班委会讨论确定和教师指导相结合的原则下确定每个项目的人员组织和岗位。人员的组织应该与项目规模相适应,做到每个人在项目中都有明确的岗位和任务,在可行性分析报告中以甘特图的形式表示出来,并且要求每个人都有比较饱和的工作量。

四、项目与教学的同步

(一)教学计划与项目计划相协调

教学计划的主体是教师;而项目计划则是学生通过项目学习和运用课程知识的计划安排,它的主体是学生。教学计划重在教,项目计划重在学,教与学要相互协调。在指导学生制订项目计划的时候,要与该课程的教学计划步调一致。教师在制订教学计划的同时,要充分考虑项目的运作特点,使得课堂教学能与项目所需衔接。

教师在课程的第一次课时应重点完成7项工作:

1.以开发项目的实际范例向学生讲述软件开发管理信息系统的演变过程:分别介绍单机MIS系统、多用户MIS系统、网络型MIS系统、客户/服务器(client/server)MIS系统、浏览器/服务器(browser/serve r)MIS系统、局域网与广域网MIS系统,使学生初步认识开发项目从单机的开发到多用户及在网上应用的全过程。

2.向学生讲解教学计划,让学生了解该课程的主要内容以及时间安排、项目实施分阶段的内容以及时间安排。

3.让学生在项目题库中选题,并详细讲解项目运作方式和规则,以及考核方式。

4.讲解每个项目的目标、范围以及相关要求,让学生大致了解项目要做什么,并提供项目任务书电子文档。

5.学生可自定义项目,但其项目的要求同与给学生提供的项目题库中项目选题的规则。

6.声明项目人员的组织方式和原则,强调学生自愿,班委会讨论同意,老师可以根据具体情况进行指导调配。

7.讲解如何编写项目计划,结合教学计划进行案例讲解;要求学生在第二个教学周内完成项目计划的撰写。

(二)教学与项目的工作相结合

该课程的教学效果不理想,其中一个很重要的因素是教师教学和学生实践相脱离。项目型的教学模式就是要把这两者紧密地结合起来。教学和项目工作从四个方面相结合:

(1)教学内容要结合项目所需进行讲解,让学生从完成项目任务的角度上主动去学。

(2)教师课堂的提问要与项目中的问题相配套。这样有两个好处:一是可以引导学生把课堂所学到的知识运用到项目工作中;二是可以帮助学生解决项目中遇到的难题。

(3)课后的作业应该与项目的工作产品相配套。项目的过程中需要产生若干工作产品,这些工作产品应作为学生的课后作业定期提交。这不但可以考查学生对教学内容的掌握程度,也可以了解目前项目的进展情况。例如《可行性分析报告》、《需求分析说明书》、《总体设计报告》与《详细设计报告》等都作为课后作业定期提交。

(4)教学的主要阶段与项目里程碑相一致。按软件工程三个时期八个阶段分别设立里程碑[4]。在项目的里程碑处,项目组的人员应该向教师进行项目工作的汇报,并提交相应的文档。教师可以统一安排所有项目里程碑的评审会。评审会可以分为三个议程:首先是对项目的工作产品进行讲解,学生结合幻灯片讲解项目的进展、技术路线、完成的工作产品以及项目组每个成员工作任务的完成情况;然后进行项目工作产品的演示;最后进行评审答辩和讨论,教师和其他项目组的学生都可以针对评审的项目进行提问,项目组的所有人员都可以进行解答。这种答辩是一种较好的相互交流和学习方法。

五、制定符合项目型教学模式的课程考核体系

(一)课程考核的组成

课程考核由三部分组成:理论考核占50%,项目考核占40%,平时考核占10%。

(二)项目考核的对象[5]

1.项目文档。项目文档分为产品文档、管理文档、过程文档和技术资料四种:

产品文档是在项目开发过程中各种特定阶段的工作产品的文档,主要包括可行性研究报告、需求分析说明书、概要设计和详细设计、测试方案和测试用例、系统安装文档、用户操作手册与项目总结报告等。

管理文档是在项目开发过程中配合项目管理而产生的文档,例如项目计划书、项目工作报告、项目组制定的相关的规章和规范等。

过程文档主要是指在项目开发过程中产生的文档。例如项目文档、变更文档、会议纪要以及度量文档等。

技术资料包括项目中用到的技术规范、参考文献以及项目的培训资料等。

对项目文档的要求是文档齐全、规范、充实并且与项目过程和工作产品相一致。

2.项目产品。项目产品,作为项目的工作成果,主要是项目开发出来的软件系统。对项目的工作产品的收集包括工作产品的开发环境和工具、源代码、可运行系统、还包括所用到的中间件和第三方组件产品以及用到的图片、文档和多媒体资源等。对项目工作产品的考核不但包括产品的实现功能和效果,还包括技术的运用程度、设计和实现方法,以及技术和方法的创新。

3.项目过程。项目的过程包括项目的计划安排、人员组织、任务分配、进度跟踪、检查和评审等项目中的一系列活动。教师课堂的提问、项目的汇报和交流以及项目的检查评审来掌握和考核项目过程的情况,并通过项目度量表对项目过程进行量化,利用量化的项目过程数据作为考核的指标[6]。

(三)教学考核与项目验收相结合

有一些软件工程的课程考核仍采用传统考试方式,这其实就是一种应试教育方式,如果我们的教师仍旧采用这种应试教育方式,就难以期望素质教育能够真正得以实施。项目型教学模式就是要改变这种应试教育的考核方式,把教学考核与项目结合起来,重点考查学生在项目中所担任任务的完成情况、工作量与工作质量。为此,课程结束后,需要对学生所做项目进行验收。项目验收主要从以下方面进行:

1.项目的产品的验收。要从产品实现的功能、完成质量等方面进行验收。这是考查整个项目团队的工作成绩。

2.项目的技术验收。主要对项目中所采用的技术以及技术的应用情况进行考评,确定学生对所学知识的掌握程度和运用能力。这是团队和个人的考查。

3.项目的度量验收。项目的度量包括项目的工作量、文档量、代码量讨论交流次数、项目的社会调研和实践时间等方面的数据。项目度量的数据用来对项目组成员的工作进行考查。

为了保证项目真实可靠,项目组之间错开验收,首先,由组长综合介绍项目的概况,实现过程,重点介绍目标系统的特点及目前运行状况,然后,组内成员按照系统运行流程所需的各种数据的先后顺序,人人上讲台演示自己所担任的岗位所实现的功能,按需求分析说明书上规定的功能逐项验证,其中包括容错能力及出错处理等重要环节。项目组成员可对别的项目组的产品、文档和项目过程的度量进行检查和测试,找出其中的缺陷和不相符、不一致的地方和可以进行改进和提高之处。对别的项目的验收结果也是一项考核依据。

(四)最终成绩评定

通过项目对象的考核、项目的验收来获得项目的各种考核数据,加上项目过程中的考查数据,再配合课程考试成绩,按照一定权值和比例可以计算出一个学生的课程成绩。

1.项目成绩的评定包括小组成绩和个人成绩两部分,各占50%。小组成绩为小组中所有成员的第一次考核成绩,个人成绩为小组成员的第二次考核成绩。

2.小组成绩由各个小组阶段成绩的平均值与完成的项目的最终验收的情况(包括系统是否达到需求规格说明中的功能性、非功能性要求,文档是否全面、合理、规范等)组成。小组的阶段性成绩由教师和该项目组之外的其他项目组共同评定。

3.个人成绩由教师根据小组每个成员的答辩成绩来评定,答辩的内容为小组成员在项目开发中所完成的任务,其中,评定项目负责人个人成绩时,还应考查其项目开发的组织、管理能力。

考核结果表明,我们采用的考核方法提高了学生按照软件工程的原理、方法、技术、标准和规范进行软件开发的综合能力和软件项目的管理能力,特别在基础技能、团队协作、人际交流、项目规划几个方面明显具备较强的能力。

六、结束语

《软件工程》课程的项目型教学模式改革主要体现在以下三个方面:在理论教学方面,以学生为主体的教学模式,表现为以分组形式的案例教学过程;在项目组织方面,通过小组内成员分工协作的方式,完成小组所选定的项目;在课程考核方面,制定了符合教学特点的课程考核体系。在整个教学过程中,学生始终处于主导地位,是学习的主体,教师处于指导和评价学生阶段性学习效果的地位。

通过该门课程的理论教学改革,学生普遍反映能够较好地理解、掌握软件工程项目的开发理论和方法,和单纯的理论教学相比,改革后的教学方式更容易让人接受,学习的主动性得到了提高。从学生反馈的结果来看,通过对该门课程的教学模式进行改革,使学生经历了软件开发的全过程,锻炼和培养了学生的系统 分析能力、设计能力、编程能力、测试和维护能力、团队协作能力和文档书写能力,全面地提高了学生的综合素质。

软件工程项目型教学模式已在我校计算机科学与技术专业教学中进行了全面实施,涉及的学生总数达700余人,通过近几年的努力,学生的综合素质明显增强,就业情况普遍较好。企业认为,我校所采取的项目型实践培养机制适合业界的需求,培养的学生在基础技能、团队协作、资料收集、人际交流、项目规划等几个方面明显具备较强的能力,更加适合在现代软件企业中发展。学生认为,学了四年的课程,是软件工程课程将我们所学的基础知识与专业课程有机地结合起来,教会了我们如何设计、开发一个项目系统,使之能够很快地适应新的教学体系和项目型教学模型的教学内容,通过项目型实践教学,自己的理论应用能力有很大提高,所学知识在企业实习及实际工作中能够真正找到用武之地,在就业等方面具备更强的竞争力。

参考文献

[1]王竹云,软件工程与课程实践,计算机时代,2006,12

[2]王竹云,软件工程项目实验指导书,浙江财经学院,2003,09

[3]阳王东,祝青,邓艳智,《软件工程》项目型教学模式的探索,计算机时代,2008,04

[4]张海藩,软件工程导论,清华大学出版社,2005,08

[5]计算机软件工程规范国家标准汇编2000, 标准出版社,2002,03

[6]郑人杰,实用软件工程,清华大学出版社,2004,11

猜你喜欢

软件工程项目实施
依托工作室的软件工程实践教学研究
基于工程教育认证的《软件工程》课程教学质量建设研究 
房地产开发项目精细化管理研究
加强公路工程成本管理的措施分析
关于如何创新和完善计算机软件工程管理的探讨
房地产项目策划课程案例教学探索与实施
共情教学模式在科学课堂的构建与实施研究