2018年春季学期《软件工程》教学总结

2018年春季学期《软件工程》教学总结

 

1. 教学资源基本信息

  • 理论教学选用教材:张海藩,牟永梅.软件工程导论[M].清华大学出版社,2013年8月第6版
  • 实验阅读教材:邹欣. 现代软件工程—构建之法[M]. 人民邮电出版社, 2017年7月第3版.
  • 网络教学资源
  1. 中国大学MOOC(慕课):江西财经大学 狄国强教授 软件工程
  2. 构建之法作者邹欣老师博客:http://www.cnblogs.com/xinz/
  3. 集美大学张敏老师博客:http://www.cnblogs.com/happyzm/
  4. 北京航空航天大学博客园软件工程课程:https://edu.cnblogs.com/campus/buaa/BUAA_SE_2017
  5. 集美大学博客园软件工程课程:https://edu.cnblogs.com/campus/jmu/SE-Net15
  6. 东北师范大学博客园软件工程课程:https://edu.cnblogs.com/campus/nenu/2016SE_NENU

 2. 教学团队概况

        由来自四所高校企业单位的教师、高级工程师和研究生组成跨校协作课程教学团队。

3. 教学方法概述

1)理论课堂教学采用反转课堂教学法,学生在课前通过软件工程教学视频(来源:中国大学MOOC 江西财经大学 狄国强教授讲授软件工程或由任课教师发布)进行理论知识的课前学习,课堂是师生之间、学生之间充分互动的场所,利用知识测验、答疑解惑、实验项目中知识运用技巧探讨等活动,由教师组织并引导学生对相关知识进行讨论与反思。

2)实验教学采用项目驱动的混合式教学法,实验课堂教学由教师结合理论教学进度布置、指导和评价实践学习任务,依托博客园、github平台,组建西北师范大学软工课程构建之法教学协作微信群和软件工程导论学习探究微信群,引入助教团队在线组织、监控和管理学生利用课余时间展开课程实践学习活动,通过师生在线讨论探究,精准理解与诊断学生学习需求,并给予学生及时反馈,确保达成实践教学达成预期的学习效果。

4. 课程教学特色总结

1)  引入企业资深软件工程师远程参与指导课程教学活动,给学生带来最新软件技术和开发经验;

2)  教学活动包括线上线下两类,线上教学具有开放性教学特点,线下教学能促进学生在实践中提问、探索和主动学习;

3)  在博客园、微信、Github等技术社区平台支撑下,以跨校教学团队协作方式实施混合式教学活动;

4)  课程教学中“采用评改迭代”的学习性考核方式,引入研究生助教参与作业评阅、学生作业团队项目管理、教学答疑,通过全员作业评价,以评促学。

5)  分层次模块化软件工程实验作业设计

  • 个人项目
  • 结对项目
  •  团队项目软件综合开发

6)  教学活动中师生关系定位

  •   “教”为“学”
  •    “师”为“导”
  •    “考”为“改”

5. 周教学内容完成情况

课程教学共计17周,在规定课时内,课程完成周教学内容进度如下表所示:

周次

理论课教学内容

实验内容

作业

1

第1章 软件工程概述

实验一 软件工程实验准备

1.通读构建之法,精读1-2章

2.提交构建之法阅读博客

3.在线学习第2章

2

第2章 软件生命周期与过程模型

实验二 个人项目

1. 阅读构建之法3章

2. 提交个人项目报告

3.在线学习第3章(1)

3

第3章 软件立项与需求分析(1)

实验三 结对项目(1)

1.阅读构建之法4章

2.提交结对项目报告(1)

3.在线学习第3章(2)

4

第3章 软件立项与需求分析(2)

实验四 结对项目(2)基于软件原型的用户需求获取与建模

1.精读构建之法第10-11章;

2.提交结对项目报告(2)

3.在线学习第4章(1)

5

第4章  软件设计(1)

实验五 团队项目(1)—软件研发团队组建

1.阅读构建之法5章

2.提交团队项目报告(1)

3.在线学习第4章(2)

6

第4章  软件设计(2)

实验六 团队项目(2)—项目评审与项目选题报告

1.阅读构建之法6,9章

2.提交团队项目开题报告报告(2)

3.在线学习第4章(3)

7

第4章    软件设计(3)

实验七 团队项目(3)—团队项目的原型设计与开发

1.阅读构建之法第7,10,11章;

2.提交软件团队项目报告(3)

3.在线学习第5章(1)

8-9

第5章  软件设计的面向对象方法(1)

实验八 团队项目(4)—基于原型的团队项目需求调研与分析

1.读构建之法8,,12章

2.提交团队项目报告(4)

3.在线学习第5章(2)

10

第5章  软件设计的面向对象方法(2)

实验九 团队项目(5)—团队项目需求改进与系统设计

1.读构建之法9,14章

2.提交团队项目报告(5)

3.在线学习第5章(3)

11

第5章    软件设计的面向对象方法(3)

实验十 团队项目(6)-团队项目系统设计改进与详细设计

1.读构建之法11章

2.提交团队项目报告(6)

3.在线学习第5章(4)

12

第5章  软件设计的面向对象方法(4)

实验十一 团队项目(7)-团队项目设计完善&编码测试

在线学习第6章(1)

13

校运动会

校运动会

校运动会

14

第6章    软件实现(1)

实验十一  团队项目(7)-团队项目设计完善&编码测试

1.阅读构建之法13章

2.更新团队项目源码

3.在线学习第6章(2)

15

第6章    软件实现(2)

实验十一 团队项目(7)-团队项目设计完善&编码测试

1.阅读构建之法14章

2.更新团队项目源码

3.提交团队项目   Alpha冲刺报告

4.在线学习第6章(3)

16

第6章    软件实现(3)

实验十二 团队项目(8)-团队项目用户验收

1.阅读构建之法15-17章;

2.提交团队项目评审报告(8)

3.提交团队项目   Beta冲刺报告

17

课程总结

团队项目答辩

1.阅读构建之法16-17章

2.提交团队项目总结报告

18-19

考试

 

 

20

 

 

提交课程学习个人总结报告

6. 教学成果总结

1)     教学团队部分

代祖华老师

编制课前学生问卷调查1份,组建课程班级博客1个,发布课程实验任务书文档13篇,其他教学文档3篇,点评学生作业48人次,完成34个学时的理论课堂教学、68个学时的实践课堂教学,完成课程期末考试A试卷编制,完成73份课程期末试卷批阅。

获批校级软件工程专业混合式教学协作团队建设项目1项;参加2018-7-9至2018-7-11日构建之法教学师资培训,发布培训总结1篇

邹欣老师

点评教师、助教、学生博客81次

周筠老师

在软件工程师生讨论群发起开放性讨论议题10次,敦促助教工作或发布课程相关博文87次

郑蕊老师

发布实验作业评分博客 3篇,发布课程作业 1篇,发布课程相关博客 1篇,制定评分标准 4篇,发布助教工作总结文档 1篇,编制学生作业 1篇(未发布),点评学生作业136人次,学生作业评分?份

指导的三位学生获得全国职业院校技能大赛一等奖

徐进助教

制定实验作业评分标准4篇,发布助教工作总结文档1篇,点评学生作业20人次,学生作业评分113份。

开发软件工程专业混合式教学协作团队建设项目申报网站

王玉环助教

制定实验作业评分标准2篇,发布助教工作总结文档1篇,点评学生作业17人次,学生作业评分97份。

开发软件工程专业混合式教学协作团队建设项目申报网站

牟巧玲助教

制定实验作业评分标准2篇,发布助教工作总结文档1篇,点评学生作业19人次,学生作业评分103份。

开发软件工程专业混合式教学协作团队建设项目申报网站

张光辉助教

制定实验作业评分标准2篇,发布助教工作总结文档 1篇,发布学生实验作业汇总博客10篇。

开发软件工程专业混合式教学协作团队建设项目申报网站

上表统计数据来源教学团队成员个人博客:

代祖华老师个人博客地址:http://www.cnblogs.com/nwnu-daizh/

邹欣老师个人博客地址:https://home.cnblogs.com/u/xinz

郑蕊助教个人博客地址:http://www.cnblogs.com/zhengrui0452/

徐进助教个人博客地址:http://www.cnblogs.com/itfuture/

王玉环助教个人博客地址:http://www.cnblogs.com/Albertahuan/

牟巧玲助教个人博客地址:https://home.cnblogs.com/u/mql-950424/

张光辉助教个人博客地址:https://home.cnblogs.com/u/1192170380com/

2)学生部分

发布课程作业博文

542篇

完成软件个人项目

1项

完成软件结对项目

1项

完成软件团队软件项目开发

12项

领骑衫得主

付恩丽、李金平

优秀个人奖

杜世康、汝春瑞

卓越贡献奖

周欣  火忻

小黄衫团队

2个

学生平均编写代码行

7775行

学生每周平均作业时间

7.7小时

以上统计数据来源于2015级计算机科学与技术软件工程(西北师范大学)班级博客:https://edu.cnblogs.com/campus/xbsf/2015softwareengineer

项目名称

团队博客地址

组长

团队成员

基于Jsoup的大学生考试信息展示系统

http://www.cnblogs.com/lztxh/

李蕾

周甜甜  张天旭 张海鑫

基于安卓系统的web版通讯录系统

http://www.cnblogs.com/ruanjgc/p/8931338.html

王胜海

妥志福 马中林 牛瑞鑫 曹莹雯 董润园

学术会议管理系统

http://www.cnblogs.com/bingoF6/

被评为最佳团队,所开发项目被用户采用

王爽

彭辉 冯晓 吴琼 马思远 郝延婷

基于弹幕评论的实时爬取与大数据分析平台

http://www.cnblogs.com/LWDL/

杜世康

曹莹雯 李玉莹 刘丹 王静雅 尹楠

西小餐

http://www.cnblogs.com/Miracle-House/

汝春瑞

曹阳 傅康 丁炜轩 梁玉龙 赵红波

Green Cloud

http://www.cnblogs.com/Just-Do-IT666/

被评为最佳团队,推荐参加2018年第四届甘肃省“互联网+大学生创新创业大赛”省级选拔赛

张琪 

张永琪 火忻 刘丽 刘琼 付恩丽

基于Android系统的音乐播放系统

http://www.cnblogs.com/A-Pancers/

龙正圆

杨环宇 龚继恒 候燕 纪亚星 马军

进销存管理系统

http://www.cnblogs.com/tdlr/

马宏伟

周欣 马麒 乌勒扎 杜有海 郝明宇

教室借用系统

http://www.cnblogs.com/tdbk-nwnu/

伊力亚

李国栋 张惠惠 张康 马兰 马娟 阿合买提江

基于安卓的小学课后答案查询App

https://home.cnblogs.com/u/1385698/

马美玲

马玉婷 益西卓嘎

 基于B/S的家教管理系统 

http://www.cnblogs.com/Dare-To-Dream/p/8933427.html

绽玉林

姚慧霞 李金平 严龙 张存慧 木冬梅

动态的太阳系模型

http://www.cnblogs.com/cnboke/

马世芳

马仲山 张俊逸 马婧 马婧 马绍辉

以上统计数据来源于2015级计算机科学与技术软件工程(西北师范大学)班级博客:https://edu.cnblogs.com/campus/xbsf/2015softwareengineer

7. 教学目标完成情况总结

以下从学生提交课程总结博客(46份)反馈情况总结课程教学目标完成情况。

1)在历时一学期的学习中,学生所掌握的软件工程CASE工具、开发方法和建模方法如下:

学生使用软件开发工具

学生项目实践中所演练软件开发方法

学生所使用的软件建模工具、项目管理工具

原型开发工具:墨刀、mockplus

结对编程

系统流图、DFD图、ER图、状态转换图、流程图等

建模工具:visio 、processon

快速原型方法

UML建模体系

代码管理工具:Github

面向过程软件开发范型

燃尽图、进度条、PSP表

团队文档协同工具:石墨文档

面向对象软件开发范型

软件项目NABCD分析模型

文档发布平台:博客园

软件测试方法与技术

团队成员沟通的汉堡包评价法、

线上问卷平台:问卷星

团队协作工具:leangoo

2)软件工程能力提升情况总结

      

        采用关键词频次统计法总结学生课程总结中关于能力提升情况的结果如上图所述。团队协作能力、文档编写能力与编程能力是学生课程总结中设计能力表述所提及的高频词。之所以产生如此教学效果,是采用“构建之法”教学理念实施课程实践教学带来的必然结果:通过个人作业、结对作业、团队作业的分层作业形式,清晰的让学生体验到不同作业层次下,软件工程要解决的关键问题。尤其是在长达13周的教学时间内,通过以软件的生命周期作为主线的软件可行性研究、需求分析、设计、实现、维护以及软件质量保证软件工程知识的传授和团队项目实验活动,更是让使学生深度理解与掌握了软件工程基本原理、开发方法与实现技术,正确理解了软件开发过程的软件质量要求和团队合作软件开发过程的真实状况;倡导“做中学”,每完成一项实验作业都要求学生完成指定要求的博客作业,博客作业的布置以较大的训练强度提升了学生文档编写能力的提升;课程按照软件工程要求,从实现用户需求的角度要求学生构造较大规模的软件程序,并且贯穿课程教学始终,期间经历了学生的课业负担重、学习压力大的种种吐槽,但当课程结束后,经历训练的学生惊喜地发现自己获得了与程序设计类课程学习不同的编程能力。马美玲同学有这样的感慨“在这一学期学习软件工程中我学到了很多东西,对于个人能力的提升有很大帮助,同时深深感受到团队合作的重要性,有计划、有效率的沟通会使团队少走很多弯路,也体会到没有实践,只懂理论知识相当于纸上谈兵。还有,想对自己说,努力吧,之后会有更多的代码等着你去敲。”邓英蓉同学认为:“经过一学期的学习,我对软件的开发过程有了更全面的理解,也认识到软件的完成依赖团队之间的良好合作。在近三个月的时间里,直到期末考试的完成,这门课的学习也结束了。但我知道,这门课对我的影响远不止于此。”

3)课程教学中存在问题与学生建议

       采用关键词频次统计法汇总课程教学存在问题情况如上图所述。作业时间太紧是本期课程教学中最为突出的问题,其次作业量大、课程开设滞后也是与该问题高度相关的问题。汇总造成学生感觉作业时间紧的原因,主要有:本学期课程较多、每门课程的学习任务都较重、考研复习的影响、实验过多。并认为作业时间不足,会影响到作业的完成质量。本学期课程以周为粒度发布学生作业,大致按照软件工程生命周期的工作阶段分解作业,实际实验中,软件工程的每个阶段需要耗费的工作时间是有较大差异的,统计学生完成12次周实验作业花费的平均时间(小时),标准差为1.41小时,这说明课程按周发布作业需要的完成时间是不均衡的。但是本学期教学中,未能充分兼顾各个工作阶段作业时间的不均衡特征。鉴于以上客观原因,本课程将在下一期开设中,适当合并某些实验,以加大工作量较大作业时间间隔,以减轻学生的学业压力,解决作业时间太紧、作业量过大的问题。

         另外,造成学生感觉作业时间太紧的一个相关因素是课程开设学期(大三下)课程过多(有10门课:数据挖掘、数据库原理、操作系统、编译原理、数学、web开发、计算机网络、嵌入式开发、软件工程、大学生就业指导),部分学生还需要在繁重的专业学习中抽出时间准备本年度12月份的研究生入学考试。对于这些课程本身无法抗拒的因素,有较大比重的学生建议软件工程课程提前到大三上或大二下开设,以保证课程的教学质量和应有的教学效果。

         作业评分问题是本期课程教学中另外一个较为突出的问题,主要反映在对多助教评分差异和评分结果不合理两个方面,助教评分差异问题,是课程采用多位助教评分,由于个人理解差异所造成的必然结果,较多同学建议采用多助教评阅取平均分的方式解决问题,但这种评分方式带来助教评阅工作量加大问题,实际应用中存在障碍,也有同学提到了轮换评分方式,考虑在下一期课程教学中采用这种方式。其次同学生更多第反馈了助教评分对抄袭作业发现不足的问题。本课程采纳助教评阅作业是一个重要教学特色,但在实施中存在较多问题,这也是下一步课程改进的一个挑战。

8. 混合式教学经验小贴士

        本期课程教学中,采用在班级微信群由周筠老师或邹欣老师提出开放性讨论问题,并点名要求学生进行思考讨论,将见解发表到班群内,然后由任课教师给予回答问题同学以平时成绩。这种方式充分利用了线上教学的优势,有效解决了课堂提问教学效率低,学生思考不够深入的困难,同时将学生的专业学习与工业界现实情况结合在一起,启发学生进行深思讨论,补充教学计划被忽视的学习内容,值得推广。本学期在班级群内讨论的开发性问题列表如下:

1) 火车票抢票软件与软件工程师职业道德的讨论

2) 为什么软件工程教科书上的内容与现实的软件项目之间存在一定差异?

3) 班级作业互评讨论。

4) 软件设计好了的标准是什么?

5) 如何重用代码/设计?

6) 软件项目NABCD分析方法讨论。

7) 针对锤子科技创新的看法讨论。

8) 软件项目版权问题的讨论。

9) 计算思维、学习兴趣与学习能力与软件工程学习目标关系的讨论。

10) 医生与软件工程师类比讨论。

       最后,感谢鼓励支持我完成此期教学的邹欣老师、周筠老师、郑蕊老师,感谢2017级四位研究生同学:徐进、王玉环、牟巧玲、张光辉,他们承担了本期助教工作,在完成各自繁重学业的同时,还要保质保量完成每周各自负责学生作业评阅。是你们有力无私地支援,才支撑我在2018年春季这个特殊学期,完成极具挑战的软件工程教学改革与实践,问心无愧地帮助同学们达成了软件工程应有的学习要求。

原文地址:https://www.cnblogs.com/nwnu-daizh/p/9475571.html