APP下载

“案例贯穿”式模块教学法在软件工程专业中的应用

2023-05-30刘丽成丽君王堃

中国信息化 2023年3期
关键词:项目管理案例软件

刘丽 成丽君 王堃

本文针对软件工程专业课程分散授课、知识不连贯的弊端,提出“案例贯穿”式模块教学的方法。该方法将软件工程部分课程分三个模块集中在一个学期完成,并采用多种信息化手段将真实案例贯穿其中,既能提高学生整体工程意识,又能落实对理论知识的理解。实践证明,该方法不仅获得了好的教学效果,也提高了学生的综合工程素养和工程实践能力。

一、引言

日益增长的互联网需求表明,软件开发的技术性人才固然重要,但熟悉软件开发流程和软件项目管理的复合型人才也非常重要。重技术、轻工程的思想要有所转变。这是对软件工程专业的考验,也是以往教学过程中所忽略的。

软件工程专业培养具有高尚职业道德和社会责任、基础扎实、理工农结合、素质全面、工程实践能力的工程型和应用型人才。在传统教学过程中,教师只强调掌握各种软件开发工具和语言,忽视培养项目管理、团队合作沟通、文档编写和软件测试等工程方面的能力,同时将软件工程系列核心课程分散在多个学期,造成学生知识脱节,不能很好掌握软件开发的理论概念及流程。部分教师没有软件开发经驗,教学过程中喜欢照搬课本,不会旁征博引,导致学生拘泥于课本,没有完整成形的开发思路。

故软件学院将软件工程核心课程集中放在一个学期上完,一方面能确保课程的同步性,让学生有一个连贯的知识脉络;另一方面保证课程的时效性,学生短时间内不会忘记前面的知识。除此之外,教师通过多种信息化手段将案例贯穿其中,将实践与理论相结合,实现了多元化的教学方式。这一方面调动了学生的积极性,另一方面也让学生能够更好地消化知识。

二、“案例贯穿”式模块教学法

(一)软件工程核心课程介绍

软件工程核心课程包括软件需求分析、软件项目管理、软件体系结构与设计、团队激励与沟通、软件质量保证与测试、人机交互软件工程方法等,这六门课程集中在一学期完成,让学生更好地掌握软件开发的流程,也更容易形成清晰的知识脉络。

(二)案例的选取

好的案例是软件工程核心课程实施的主线。案例太大太难,不便于学生理解;案例太简单,又无法让学生全面地掌握知识点。软件工程教研室选取了学院某毕业生的毕业设计项目“宠物寄养系统的设计与实现”作为授课案例。该项目文档详细,有软件可行性分析报告、软件需求规格说明书、软件概要和详细设计、软件测试过程、操作手册等。该项目功能完善,有完整代码可实际操作演练,趣味性和系统性强。通过该项目的具体实施,可帮助学生更好地熟悉软件开发一整套流程,并对软件开发有新的认识。这也说明,各种开发技术与语言固然重要,但用户的沟通能力、团队合作精神、文档编写的能力也很重要。

(三)模块化集中教学

模块化集中教学围绕“一集中,二线路,三模块”,并结合两个信息化平台开展,具体如图1。

软件学院软件工程教研室将6门核心课程统一集中在大三下学期完成,且分成两条路线。一条路线是从软件开发的角度,按软件开发的流程,学生依次学习软件需求分析、软件设计与体系结构、软件质量保证与测试这三门课程,并且贯穿真实案例,确保学生学完对软件开发的基本流程加深理解;另一条路线是从软件管理的角度,学生依次学习软件项目管理、团队激励与沟通、人机交互软件工程方法。从项目管理的角度,让学生掌握如何管理项目遇到的问题,如何与整个团队合作沟通,最后如何确保开发一款交互性好的软件。

这两条路线的课程又分三个模块完成,第一个模块是在1~4周开设《软件需求分析》《软件项目管理》课程,第5周进行相应的实验课;第二个模块在第6~9周开设《软件设计与体系结构》《团队激励与沟通》课程;第三个模块在第11~14周开设《软件质量保证与测试》《人机交互软件工程方法》等课程;在第15周进行相应的实验课。完全实现了一月一结的效果,并将真实案例贯穿到软件工程系列课程中,让学生从头到尾地体验了一遍毕业设计文档的编写过程。信息化平台“智慧教室和超星学习通”也满足了线上和线下学生的需求,在帮助学生理解理论知识的同时,加深了学生对软件开发流程的理解,为将来工作打下了坚实的基础。不得不说“案例贯穿”式教学是软件工程课程的一次突破,真正激励了软工教研室教师不断创新。

三、教学实施

(一)第一模块课程的实施

根据软件开发的流程,第一步要进行软件需求分析,故第一模块要开设《软件需求分析》课程,项目一启动,我们就要进行项目的管理,所以《软件项目管理》也开课。故第一模块(1~4周)开设《软件需求分析》《软件项目管理》两门课。

《软件需求分析》《软件项目管理》都是软件工程课程中的基础性课程,俗话说好的开始是成功的一半,学好这两门课程,对后续课程的掌握很有帮助。

信息化技术的融合也促进了课堂教学的顺利实施,利用学校提供的智慧教室,将“宠物寄养”中需求的获取,需求规格说明书的编写和项目管理形象直观地讲解给线下学生;对于部分因疫情无法线下上课的学生,采用“超星学习通”平台实时直播,让学生熟练掌握编写需求规格说明书的方法,自主选择熟悉软件,完成一份需求规格说明书的编写,并深入理解一个项目的准备和计划过程,学会项目管理的方法。通过采用翻转课堂的方式,线下学生利用智慧教室演示整个需求规格说明书的完成,线上学生通过直播介绍自己的思路,让学生充分认识到与用户沟通,获取用户的需求非常重要,学会管理项目也非常重要。

在教会学生掌握理论知识的同时,我们也要在潜移默化中对学生实施思想政治教育,不断提高学生思想觉悟和软件素养,成为适应社会需求变化的高素质软件工程技术、管理个服务人才。如通过第一模块的课程就可以告诉学生软件开发的第一个阶段的重要性。“千里之行,始于足下”。只有打好基础,才能为后续课程做铺垫。

(二)第二模块课程的实施

按照软件开发流程确认了需求之后,从第6周开始,学生开始上《软件设计与体系结构》课程,并且这时候团队合作越发紧密,实施过程中也需要给团队加油打气,故《团队激励和沟通》也同步上线。通过学习让学生明白团队的作用。

“宠物寄养”项目可以让学生深入理解一个项目的概要设计和详细设计具体如何开展。体系结构的设计,给了软件实现的平台,也展示了不同风格结构的不同特点,这是软件开发早期决策的体现。学生可以应用辅助工具完成系统架构设计,并结合智慧教室演示与讲解自己设计的架构;教师也可以通过“超星学习通”上传分享自己的架构,学生们可以从中体会不同风格的优缺点,发表意见和建议。这种将想法通过信息化、数字化手段进行共享的方式,让更多学生有发言的机会和勇气,也让学生明白过程的重要性,只有经历了选择和比较这个过程,才知道哪个更适合。正如:天空没有翅膀的痕迹,而我已飞过。学生一定要熟悉体系结构选择这个过程,选择的过程体现了早期决策以及对业务流程的熟悉度,也告诉我们软件开发不是一时兴起。“罗马不是一天建成的”,一定要注重平时的积累。

“宠物寄养”项目也可以让学生明白团队成员间如何鼓舞士气。通过超星学习通上的“摇号选人”功能,选中学生进行分享沟通的技巧,也可以选一组学生进行情景体验,演示团队激励与沟通,优秀的情景体验可以上传至学习通供学生学习讨论。通过这种新颖的信息化技术,让学生愉悦地学懂学会知识。自古以来,我们就知道团结就是力量,合作才有成效,在团队工作中,需要互相沟通,互相激励,才能有效完成任务。

所以,第二个模块的课程起到承上启下的作用,它既检验了早期的成果,也是对后期软件实现的考验,学生要知道它的重要性。

(三)第三模块课程的实施

第三模块从第10周开始,这周需要对前期工作进行验收,故学生开始学习《软件质量保证与测试》《人机交互软件工程方法》两门课程。前期体系结构设计好,这周开始进入测试阶段,通过数字化多媒体技术,让学生观看各种高科技产品,如:北斗导航系统、天河—2超级计算机、中国高铁、超级钢技术等,是如何经过严密和专业的测试才投入使用的,从而让学生掌握测试的概念,方法和流程,并向学生传达测试的重要性。这也坚定学生的自信,激发学生的爱国热情,提高专业课学习的积极性。通过“宠物寄养”让学生感受项目的单元测试、集成测试、系统测试及性能测试具体是如何执行的,掌握软件测试计划书和报告的编写方法,并自选题目,写一款软件的测试计划书,通过线上线下结合进行演示。

《人机交互软件工程方法》从用户和机器交流的角度测试软件的可用性,注重用户的体验感,学生可亲身体验学院实验室的一些智能机器,感受信息化时代。这与第一阶段开设的软件需求分析呼应起来,既说明用户的需求和体验是非常重要的,也表明了开发软件的严谨性。我们要从方方面面考虑到用户的感受,在准确实现各种功能需求的基础上,努力让用户有好的体验。通过“宠物寄养”案例,让学生切实体会提高用户体验的各种方法。

最终,通过一个项目的贯穿,各课程不再相互独立,而是无缝衔接,紧密联系的,这对达成整个学科的目标很有帮助。

四、教学效果评估

教學效果的评估是评判教学质量的重要环节,也是检验学生学习情况的重要标准,软件学院采用过程化考核的方法进行教学效果评估,即考核贯穿教学的全过程。

软件工程的六门核心课程采用线上线下结合的过程化考核方式,考核过程由平时成绩+作业成绩+实验成绩(有实验课的)+阶段性测验+期末考试等5部分组成。平时成绩包括考勤和课堂互动,具体实施办法由各任课教师决定,重点让学生意识到出勤和互动的重要性,教师可利用 “超星学习通”,每节课轮流选人进行互动,互动成绩自动记录在平台上。学生可随时查看自己的成绩,也可课堂上随机提问进行互动,纸质记录成绩。作业形式多样化,可以是在超星学习通平台上以练习题的方式让学生线上答题,也可以是小组作业,作业频率一般一章一次,让学生及时巩固上节所学内容,小组作业也可以提高学生的团队合作意识,增强动手能力;在《软件需求分析》,《软件质量保证与测试》,《人机交互软件工程方法》等三门课程中安排实验环节,这三门课程相对实践性强一些,一定的实验可以更好帮助你学生巩固知识,实验结果上传至学习通平台,教师进行线上批阅和反馈。阶段性测试是对学生短期学习效果的检查,因这六门课程都是开卷课程,阶段性测验也是开放形式,如《软件需求分析》的阶段性测验的题目是让学生编写软件需求规格说明书,其他各课程也是以这种项目报告或多媒体技术汇报的方式考察学生,既给足学生空间,让学生充分发挥自己的想象力和创造力,又锻炼学生独立思考及搜索资料的能力;期末考试也是开放性考试,由四种题型的题目组成,如选择、判断、简答、资料分析等,根据实际情况来决定线上还是线下考试。期末测验是从细节考察学生平时积累的情况,以多种形式考察学生掌握的能力。

经过过程化考核检测,“案例贯穿”结合多种信息化手段的教学方法,确实较以往效果要好很多。通过“案例贯穿”,学生理解得更透彻,作业正确率更高,较以往纯理论授课的提问率也要高很多,实验项目做起来也更加得心应手;通过多种信息化手段,培养学生情景创设、独立思考、资源共享、协作交互的能力;通过阶段性测验,学生的报告从文档排版和内容质量方面都有所提高,期末各题型得分率也较高。部分学生在模块学习时,已经有了毕业设计的初稿,可见“案例贯穿”着实对学生的理解有帮助,课程模块化对学生撰写毕业设计文档有很大帮助。

总而言之,软件学院采用的“案例贯穿式”模块教学法,在提高教学效果的同时,也激发和促进全新的教学模式诞生,让教师教得更灵活,学生学得更愉悦,更能适应多变的教学环境。

作者单位:山西农业大学 软件学院

基金项目:青年科技创新基金资助项目(2020QC25);线上线下混合式数据挖掘课程教学改革(PY-202025)。

猜你喜欢

项目管理案例软件
装配式EPC总承包项目管理
禅宗软件
基于大数据分析的集合式EPC总承包项目管理软件技术的应用
项目管理在科研项目管理中的应用
案例4 奔跑吧,少年!
未来如何更高效地进行工程项目管理
随机变量分布及统计案例拔高卷
软件对对碰
发生在你我身边的那些治超案例
一个模拟案例引发的多重思考