高职院校《软件工程》课程项目教学法的探索与实践

2018-07-18 03:26:50郑春红刘志敏董海山陈静
现代计算机 2018年17期
关键词:软件工程图书教学法

郑春红,刘志敏,董海山,陈静

(青岛职业技术学院信息学院,青岛 266555)

0 引言

《软件工程》是一门理论性和实践性要求都较强的课程。目前,高职院校《软件工程》实际教学过程中,普遍存在的教学现状是:教学内容往往重理论、轻实践,学生没有实际项目开发经历,教师缺乏项目化教学经验,一味地照本宣科难免让学生觉得枯燥、难懂、难以接受。如何在《软件工程》教学中培养学生对这门课程的学习兴趣,将理论应用于实践,是提高教学质量的关键所在。本文将项目教学法[1]应用于《软件工程》的教学过程中,以小型图书馆管理系统的开发为例,将软件工程的基本理论渗透并贯穿到实际开发过程中,以期为提高《软件工程》的教学效果提供新方法、新思路。

1 高职院校《软件工程》教学现状[2]

1.1 教学内容偏理论

目前,高职院校的《软件工程》教学内容并没有结合高职院校学生的特点及未来的就业方向制定相应的教学目标。教师的任务就是按照课程标准完成教材中基础内容的教学,教学内容偏理论,缺乏实践指导,导致学生学习兴趣不高,对于相关的理论和方法只能做到字面上的理解,缺乏实际应用的体验,教学效果不理想。

1.2 缺乏具有实际项目开发经验的师资

目前,教师队伍普遍都是由通过事业单位招聘选拔的应届毕业生组成。大部分教师缺乏企业工作经验,更缺乏大型项目开发的经验。在《软件工程》的教学过程中,缺乏实际的、雄厚的项目开发经验去指导学生,只是一味地向学生灌输书本上的知识,导致教学内容枯燥、无趣,难以让学生真正理解和掌握软件工程的思想。

1.3 采用传统的教学模式,难以适应企业的用人需求

目前,高职院校的《软件工程》教学方法主要以讲授法为主,教学内容按照教材中各章节的顺序组织,教学过程中应用的案例较为零散,缺乏联系。《软件工程》的教学与该门课程的前导课程之间联系较少,难以让学生做到相关知识点的融会贯通。学生对《软件工程》相关知识点的理解仅限于书本上的内容,缺乏实际项目经验,难以适应企业的用人需求。

2 项目教学法的设计

《软件工程》是一门工程性的综合学科,内容灵活、覆盖面广泛,是理论性与实践性并重的学科。《软件工程》的教学应该切合实际,与时俱进。为了能培养出具有工程实践能力的学生,在传统讲授法的基础上,采用项目教学法,指导学生运用软件工程理论去践行软件项目的开发,引导学生体会软件工程的思想,培养学生的工程实践能力,激发学生学习软件工程的兴趣。

2.1 项目的选取

采用项目教学法,项目的选取是至关重要的。在选取项目时,需要考虑以下几个方面:(1)紧密联系《软件工程》的前导课程,利用前导课程学到的程序设计相关知识点,设计软件工程的实践项目。这样可以帮助学生建立课程知识结构的整体框架。(2)要结合高职院校学生特点,选取难度适中、绝大多数学生都能完成的项目。尽量使每个学生都能在实践中体会软件工程的思想。(3)选取的项目既能运用到当下主流技术,又能涉及到软件工程中的主要内容。

目前,考虑到面向对象的软件开发方法备受青睐,并且高职院校学生在学习软件工程之前,通过前导课程Java程序设计,已经能够运用Java面向对象的概念和设计方法、Java界面设计、异常处理和Java JDBC连接数据库等Java核心技术编写简单的项目。因此,选取一个典型的难度适中的项目——小型图书馆管理系统作为软件工程教学过程中的项目实例,指导学生将软件工程中的过程、方法、工具应用于项目开发的整个过程中。

2.2 划分项目组

《软件工程》是一门综合性的学科,强调过程与工具的重要性,同时也强调了人与人的沟通在软件开发过程中的重要作用。软件开发的过程是离不开处于各种角色的人员,例如需求人员、设计人员、程序员、测试人员、客户和项目经理等。只有各方面人员分工合作、有效沟通,才能保证开发出令用户满意的产品。

综上,在项目教学法的基础上,对学生划分项目小组,每组由3-5人组成,不同的成员分担不同的角色,在项目的开发过程中,既能运用到软件工程相关的理论和方法,又能体验每种角色所承担的任务,这样可以使学生更加深刻地体会软件工程方法在具体项目中的实际运用,同时也可以增强学生的团队意识,培养学生相互交流、有效沟通的能力。

2.3 教学准备[[3]

教师能否将项目教学法运用的恰到好处,做好教学准备是必不可少的。准备过程主要包含以下两个方面:

(1)备项目。将项目开发过程与软件工程相关内容建立连接。

俗话说:“要给学生一杯水,教师要有一桶水”。要想达到良好的教学效果,课前充分的准备是至关重要的。运用项目教学法的前提是,教师要能践行项目开发的各个环节,并且能将其与《软件工程》相关内容有机地结合起来,做到在教学过程和指导学生实践的过程中游刃有余。

(2)备学生。合理划分小组,充分调动每位学生参与项目的积极性。

“教学的艺术不在于传授本领,而在于激励、呼唤”。教学要始终以学生为主体。根据学生的学习状态、接受能力等特点将学生进行分组,在学生自愿的基础上,为学生进行组内角色的划分,发挥每位学生的主观能动性,充分调动每位学生参与项目的积极性。

3 项目教学法的实施

3.1 对项目进行分解,与《软件工程》各部分内容建立连接

高职院校《软件工程》教学内容主要包括需求分析、软件设计、编码实现、软件测试这四个方面。以小型图书馆管理系统的开发为例,按照《软件工程》教学内容,分解为需求分析、软件设计、编码实现、软件测试四个阶段,每一阶段的任务及覆盖的《软件工程》相关内容如表1所示。

表1 项目开发过程按照软件工程主要内容进行分解

3.2 小组成员分角色承担不同的任务

《软件工程》的教学过程中,教师根据学生的特点进行分组,每位学生在组内都要体验所有角色。角色的划分可以使每位学生都能积极地参与到项目实训环节,角色划分可以帮助学生积累实践经验、体会团队作业的优势。

在小型图书馆管理系统这一项目中,任务分解后要与具体角色建立连接。本文将对具体的角色划分以及每种角色需要完成的任务和标准进行概述。

(1)需求分析员角色

需求分析员主要负责分析用户的功能需求和非功能需求。在扮演这个角色的过程中,学生首先需要扮演需求获取人员,与普通用户进行沟通,获取需求并用文字记录。然后扮演需求分析人员,运用UML中的用例图描述获取到的需求,并记录到软件需求规格说明书中。对于小型图书馆管理系统,获取到的基本功能需求如下:

①用户管理

对系统中的用户进行管理,包括新增、删除、修改、查询、权限管理,用户有两类,图书管理员、读者,图书管理员享有最大的权限,可以全权操作系统,读者可以登录查寻个人基本信息、图书基本信息、借阅记录,也可以预约图书。

②图书管理

新采购图书的入库操作,丢失图书的报废,图书修改和查询操作。

③借阅管理

对读者的借书和还书行为进行记录,逾期不还的图书收取滞纳金。

(2)系统设计员角色

系统设计员主要根据需求分析阶段的成果,完成系统数据库、功能模块、界面的设计工作。该阶段完成的任务要记录到软件设计说明书中。

①在进行数据库设计时,首先需要运用E-R模型描述实体与实体之间的联系,然后根据E-R模型映射为存放到数据库中具体的关系数据表。以读者和图书这两类实体为例,E-R模型如图1所示。可以将E-R模型映射成的三个关系模型:读者表(借书证编号,密码,姓名,性别,单位,节约权限)、图书表(图书编号,书名,作者,出版社,入库日期,是否预约,是否借阅)、借阅表(图书编号,借书证编号,借阅时间,应还时间)。

图1

②功能模块的设计主要是依据需求分析阶段分析到的功能需求,设计出系统功能结构图。本文用到的小型图书馆管理系统的功能结构图如图2所示。

图2

③界面设计的质量,将直接影响用户对软件的评价。学生在设计界面时,要注意保持界面简洁、美观、风格一致、交互友好等问题[4]。

(3)程序员角色

程序员负责根据软件设计说明书,运用Java程序设计语言,利用Eclipse集成开发环境、微软SQL Server 2008数据库服务器完成系统功能的实现。程序员的工作可以安排到课下完成。编程阶段不仅可以让学生掌握软件工程中的编码规范等内容,还可以帮助学生练习巩固前导课程中所学到的知识,帮助学生建立整体的、系统的知识框架。

(4)测试员角色

测试人员负责对完成的代码或功能进行测试,目的是为了尽可能多地发现系统中的错误。在每个功能模块实现之后,按照白盒测试为主、黑盒测试为辅的原则,对该模块进行测试。没有问题,再按照一定的集成策略进行集成后的测试。

测试需要依据具体的方法设计测试用例,并记录到测试报告中。

3.3 教学实施过程

《软件工程》的教学过程中,采用讲授和项目教学相结合的方法,利用章节实验使每个学生掌握基本知识点,然后随着项目的推进完成项目阶段性任务,并进行阶段性展示、交流、评价。每次阶段性展示需要小组每位成员对自己所完成的任务进行总结。阶段性交流后选出优秀的小组进行成果共享,以便于其他各组及时总结、完善每个阶段的成果。

4 教学实践效果

本文提出的项目教学法应用于《软件工程》的实际教学过程中并取得良好的教学效果。以下从三个方面对项目教学法取得的显著效果进行总结:

4.1 项目驱动,理论与实践并重

《软件工程》的课堂教学不再是枯燥无味的理论灌输,而是有实际项目做驱动,理论联系实践,极大提高了学生学习的兴趣,课堂气氛活跃。

4.2 提高学生的工程意识

将项目的各个阶段与软件工程相关内容紧密联系,让学生在具体项目开发过程中体验《软件工程》这门课程的重要性。学生通过项目实训,理解软件开发不单单是编写代码,需求分析、软件设计、软件测试、软件维护和管理等各个阶段都是非常重要的。有效提高了学生的工程意识,培养学生分析问题、解决问题、与人沟通、团结协作的能力。

4.3 提高教师的业务水平

项目教学法让教师从枯燥、空乏的理论讲授中解脱出来,以实际项目开发为例,课堂教学有理有据,活跃了课堂气氛,提高了学生的学习兴趣,增强了教师的教学自信,提高了教师的业务水平。

5 结语

在《软件工程》的教学过程中运用项目教学法,在一定程度上提高了学生学习的主动性和积极性,取得了较好的教学效果。在今后的教学中,将进一步探索符合高职学生特点的《软件工程》教学方法,努力培养出符合企业用人需求的具有工程思想的综合型人才。

猜你喜欢
软件工程图书教学法
图书推荐
南风(2020年22期)2020-09-15 07:47:08
批注式阅读教学法探究
甘肃教育(2020年14期)2020-09-11 07:57:40
实施“六步教学法”构建高中政治高效课堂
甘肃教育(2020年8期)2020-06-11 06:10:04
欢迎来到图书借阅角
班里有个图书角
依托工作室的软件工程实践教学研究
基于工程教育认证的《软件工程》课程教学质量建设研究 
软件导刊(2016年9期)2016-11-07 22:31:23
关于提高软件工程实践教学质量的几点思考
关于如何创新和完善计算机软件工程管理的探讨
开放引导式阅读教学法描述