2019年春季学期《软件工程》教学总结
1.教学资源基本信息
- 理论教学选用教材
张海藩,牟永梅.软件工程导论[M].清华大学出版社,2013年8月第6版
- 实验阅读教材
邹欣. 现代软件工程—构建之法[M]. 人民邮电出版社, 2017年7月第3版.
- 网络教学资源
中国大学MOOC:江西财经大学 狄国强教授 《乐学软件工程》
构建之法作者邹欣老师博客:http://www.cnblogs.com/xinz/
北京航空航天大学软件工程课程:https://edu.cnblogs.com/campus/buaa/BUAA_SE_2019_LJ
福州大学博客园软件工程课程:https://edu.cnblogs.com/campus/fzu/SoftwareEngineering1916W
2. 教学团队概况
来自四所高校/企业的教师、高级工程师和研究生组成教学协作团队。
表1 教学团队信息
姓名 | 单位 | 团队作用 |
代祖华 | 西北师范大学 | 主讲教师 |
邹欣 | 微软亚洲研究院 | 构建之法教学顾问 |
周筠 | 构建之法编辑 | 构建之法教学顾问 |
范飞龙 | 深圳巴克云网络科技有限公司 | 构建之法企业助教 |
周安伟 | 西北师范大学 | 研究生助教 |
李泓毅 | 西北师范大学 | 研究生助教 |
李克龙 | 西北师范大学 | 研究生助教 |
李晓婷 | 西北师范大学 | 研究生助教 |
3. 教学方法
- 理论课堂教学采用反转课堂教学法,学生在课前通过软件工程教学视频(来源:中国大学MOOC 江西财经大学 狄国强教授讲授软件工程或由任课教师发布)进行理论知识的课前学习,课堂是师生之间、学生之间充分互动的场所,利用知识测验、答疑解惑、实验项目中知识运用技巧探讨等活动,由教师组织并引导学生对相关知识进行讨论与反思。
- 实验教学采用项目驱动的混合式教学法,实验课堂教学由教师结合理论教学进度布置、指导和评价实践学习任务,依托博客园、github平台,组建西北师范大学软工课程构建之法教学协作微信群和软件工程导论学习探究微信群,引入助教团队在线组织、监控和管理学生利用课余时间展开课程实践学习活动,通过师生在线讨论探究,精准理解与诊断学生学习需求,并给予学生及时反馈,确保达成实践教学达成预期的学习效果。
4. 教学内容
课程完成周教学内容进度如表2所示:
表2 周教学内容
周次 | 理论课教学内容 | 实验内容 | 作业 |
1 | 第1章 软件工程概述 | 实验一 软件工程实验准备 | 1.通读构建之法,精读1-2章 2.提交构建之法阅读博客 3.在线学习第2章 |
2 | 第2章 软件生命周期与过程模型 | 实验二 个人项目 | 1. 阅读构建之法3章 2. 提交个人项目报告 3.在线学习第3章(1) |
3 | 第3章 软件立项与需求分析(1) | 实验三 作业互评与改进 |
|
4 | 第3章 软件立项与需求分析(2) | 实验四 结对项目 | 1.阅读构建之法4章 2.提交结对项目报告(1) 3.在线学习第3章(2) |
5 | 第4章 软件设计(1) | 实验四附加实验 结对项目互评 | 1.精读构建之法第10-11章; 2.提交结对项目报告(2) 3.在线学习第4章(1) |
6 | 第4章 软件设计(2) | 实验五 团队项目(1)—软件研发团队组建 | 1.阅读构建之法5章 2.提交团队项目报告(1) 3.在线学习第4章(2) |
7 | 第4章 软件设计(3) | 实验六 团队项目(2)—团队项目选题 | 1.阅读构建之法6,9章 2.提交团队项目开题报告报告(2) 3.在线学习第4章(3) |
8-9 | 第5章 软件设计的面向对象方法(1) | 实验七 团队项目(3)—团队项目的原型设计与开发 | 1.阅读构建之法第7,10,11章; 2.提交软件团队项目报告(3) 3.在线学习第5章(1) |
10 | 第5章 软件设计的面向对象方法(2) | 实验八 团队项目(4)—基于原型的团队项目需求调研与分析 | 1.读构建之法8,,12章 2.提交团队项目报告(4) 3.在线学习第5章(2) |
11 | 第5章 软件设计的面向对象方法(3) | 实验九 团队项目(5)—团队项目需求改进与系统设计 | 1.读构建之法9,14章 2.提交团队项目报告(5) 3.在线学习第5章(3) |
12 | 第5章 软件设计的面向对象方法(4) | 实验十 团队项目(6)-团队项目系统设计改进与详细设计 | 1.读构建之法11章 2.提交团队项目报告(6) 3.在线学习第5章(4) |
13 | 校运动会 | 校运动会 | 校运动会 |
14 | 第6章 软件实现(1) | 实验十一 团队项目(7)-团队项目设计完善&编码测试 | 在线学习第6章(1) |
15 | 第6章 软件实现(2) | 实验十一 团队项目(7)-团队项目设计完善&编码测试 | 1.阅读构建之法13章 2.更新团队项目源码 3.在线学习第6章(2) |
16 | 第6章 软件实现(3) | 实验十二 团队项目(8)-软件测试与Alpha冲刺 | 1.阅读构建之法14章 2.更新团队项目源码 3.提交团队项目 Alpha冲刺报告 4.在线学习第6章(3) |
17 | 课程总结 | 实验十三 团队项目(9)-Beta冲刺与团队项目验收 | 1.阅读构建之法15-17章; 2.提交团队项目评审报告(8) 3.提交团队项目 Beta冲刺报告 |
18 |
| 实验十四 团队项目评审与课程学习总结 | 1.阅读构建之法16-17章 2.提交团队项目总结报告 3. 提交个人学习总结报告 |
5. 教学成果总结
1) 教学团队部分
表3 教学团队教学工作统计
代祖华老师 | 编制课前学生问卷调查1份,组建课程班级博客1个,发布课程实验任务书文档15篇,点评学生作业40人次,完成75个学时的理论课堂教学、64个学时的实践课堂教学,完成课程期末考试A试卷编制,完成91份课程期末试卷批阅。 | 《软件工程课程共享教学资源建设》获校立项; 《新工科教育背景下计算机类专业课程混合式教学创新与实践》获2019年甘肃省教学成果培育项目; 《创新创业教育改革背景下的软件工程专业混合式教学方案研究》获2019年甘肃省创新创业教育教学改革研究项目; 2019年5月10日参加 2019国际人工智能专家论坛暨2019年微软新一代人工智能开放科研教育平台合作论坛 2019年7月8-7月13日期间参加“中国高校人工智能人才国际培养计划”2019高校人工智能教学研讨班(哈尔滨工业大学) |
邹欣老师 | 点评教师、助教、学生博客 |
|
周筠老师 | 在课程助教群敦促助教点评学生作业,发布每周助教总结 |
|
范飞龙老师 | 点评教师、助教、学生博客 |
|
张光辉 | 发布学生实验作业汇总博客3篇。 |
|
周安伟 | 发布周助教工作总结文档14篇,点评学生作业140人次,学生作业评分155份,发布学生实验作业汇总博客3篇。 | 协助教师开发课程教学项目申报网站5个 |
李泓毅 | 发布周助教工作总结文档14篇,点评学生作业146人次,学生作业评分160份,发布学生实验作业汇总博客4篇。 |
|
李克龙 | 发布周助教工作总结文档14篇,点评学生作业104人次,学生作业评分169份,发布学生实验作业汇总博客1篇。 |
|
李晓婷 | 发布周助教工作总结文档14篇,点评学生作业81人次,学生作业评分169份,发布学生实验作业汇总博客3篇。 |
|
以上统计数据来源教学团队成员个人博客:
代祖华老师个人博客地址:http://www.cnblogs.com/nwnu-daizh/
邹欣老师个人博客地址:https://home.cnblogs.com/u/xinz
范飞龙个人博客地址:https://www.cnblogs.com/math/
周安伟个人博客地址:https://www.cnblogs.com/zaw-315/
李泓毅助教个人博客地址:https://www.cnblogs.com/NWNU-LHY/
李克龙助教个人博客地址:https://www.cnblogs.com/lkl7117/
李晓婷助教个人博客地址:https://www.cnblogs.com/lxt-/
张光辉助教个人博客地址:https://home.cnblogs.com/u/1192170380com/
2)学生部分
表4 学生学习成果统计
发布课程作业博文 | 562篇 |
完成软件个人项目 | 1项 |
完成软件结对项目 | 1项 |
完成团队软件项目开发 | 22项 |
优秀组织奖 | 沙沙、王雯涵、陈飞 |
优秀爱码仕 | 钟红耀、姚玉婷、郁文曦 |
学生平均编写代码行 | 7775行 |
学生每周平均作业时间 | 10小时 |
表5 团队项目信息
项目名称 | 团队博客地址 | 组长 | 团队成员 |
家庭理财App | 王雨竹 | 王奕晗、杨志霄、焦少梅 | |
个人记账本 | https://www.cnblogs.com/happiers/ | 朱艺璇 | 王潇、达星斗、刘振华 |
第三波书店 | 沙沙 | 张琳、杨露露、陈润菊 | |
二手车价格预测系统 | 姚良 | 朱石景、马玉琴、邱世妍 | |
居室漫游与交互 | 马亮 | 徐明锦、司昕劼、杨巧丽 | |
旅游社交后台管理系统 | 杨天超 | 杜娣、王小倩、孙锦喆 | |
学生信息管理系统 | 刘佳 | 包稚潼、葛进花、苏生玲 | |
酒店会员管理系统 | 姚玉婷 | 马丽莎、张琼、孙苗坤 | |
酒店管理系统 | 徐浩杰 | 种兴达、冯婷秀、李敏 | |
教室管理系统 | 葸铃 | 吴兰兰、巩定定、张仲桃 | |
超市会员积分管理系统 | 周海瑞 | 杨爱婷、党鹏勃、王立新 | |
学生考勤管理系统 | 张旭辉 | 金生芳、温永琴、达选奇、丁家辉 | |
试卷管理系统 | 钟红耀 | 夏向明、金振兴、高小兰 | |
库存管理系统 | 王雪刚 | 陈倩倩、唐璐、陈靖、 | |
一起种水果 | 王雯涵 | 郭佳、邹立源、麻存滔 | |
西北师范大学试卷管理系统 | 陈飞 | 周琳、赵燕霞、胡文艳 | |
失物招领系统 | 郁文曦 | 邓海祥、白龙飞、韩艳艳 | |
家教管理系统 | 曾佳 | 孙欢灵、王晶、李晓雪 | |
西北师范大学学生公寓管理系统 | 杨凡亿 | 唐盖强、何启芝、赵佳平、旦增罗布 | |
学校教材订购系统 | 姜佳宇 | 赵津莹、叶虹、周婷、王天悦 | |
社区物业管理系统 | https://www.cnblogs.com/bugczdui/ | 闫雪 | 后新莉、李蓉、仇素龙 |
导游众评网 | https://www.cnblogs.com/hbtt/ | 宋菲菲 | 李星宇、索朗卓玛、马秀丽 |
以上统计数据来源于2016级计算机科学与工程学院软件工程(西北师范大学)班级博客:https://edu.cnblogs.com/campus/xbsf/nwnu2019SE
存在问题:团队项目选题过于单一,多数项目局限于信息管理系统的设计开发。
3)教学目标完成情况总结
从学生提交课程学习总结博客(90份)反馈教学目标完成情况如下:
- 学生所掌握的软件工程CASE工具、开发方法和建模方法如下:
表6 软件CASE工具使用情况
软件开发工具 | 演练软件开发方法 | 软件建模工具、项目管理工具 |
原型开发工具:墨刀、mockplus | 结对编程 | 系统流图、DFD图、ER图、状态转换图、流程图等 |
文档协同工具:石墨文档 | 快速原型方法 | UML建模体系 |
建模工具:visio 、processon | 面向过程软件开发范型 | 燃尽图、进度条、PSP表 |
代码管理工具:Github | 面向对象软件开发范型 | 软件项目NABCD分析模型 |
文档发布平台:博客园 | 软件测试方法与技术 | 团队成员沟通:汉堡包评价法、 |
线上问卷平台:问卷星 |
|
|
团队协作工具:leangoo |
|
|
- 采用内容分析法,对课程教学效果进行分析,团队协作能力、文档编写能力、编程能力提升是学习总结中所提及的高频词。
- 教学中存在问题与学生的建议:作业时间太紧、作业量大、课程开设滞后、编程能力不足依然是课程教学中最为突出的问题。课程以周为粒度发布学生作业,大致按照软件工程生命周期的工作阶段分解作业,依然未能有效解决各个工作阶段作业时间的不均衡问题。
4)教学改进措施效果分析
- 本学期解决周实验任务量大措施:增加了作业互评与设计改进等评审类实验任务,如《实验三作业互评与改进》、《实验四附加实验结对项目互评》在个人项目与结对项目中以项目同行评审方式反思实验内容,由于是独立的实验任务,间接增加了两个实验作业的时间间隔,较好解决作业时间太紧、作业量过大的问题。但团队项目作业设计中,由于学时原因,《实验九 团队项目(5)—团队项目需求改进与系统设计》、《实验十 团队项目(6)-团队项目系统设计改进与详细设计》、《实验十一 团队项目(7)-团队项目设计完善&编码测试》、《实验十四 团队项目评审与课程学习总结》四次实验都是阶段任务的迭代改进和新任务合并发布,并未有效解决作业量大的问题。
- 本学期解决作业评分标准问题措施:不再采用助教制定评分标准,而是由教师在发布作业任务书时,根据任务内容,直接给出详细的评分标准,在减轻助教工作负担的同时,有效解决了多助教评分差异问题。
6. 2019-2020学年教学改进设想
- 标准教学文档模板设计:博客文档格式、团队信息采集标准字段、课前问卷调查指标设计、课后调查问卷指标设计
- 尝试解决团队项目选题单一问题,将人工智能内容引入项目设计中
- 细化选题难度分级、学生工程能力分级考核
- 理论教学强化案例分析内容
- 实验任务设计继续尝试加入独立的作业互评环节,加大核心任务环节时间间隔
- 加强翻转课堂教学线上学习监控
- 探索《OO程序设计》与《软件工程》实践教学内容对接路径
最后,感谢鼓励支持我完成此期教学的邹欣老师、周筠老师、范飞龙老师,感谢2018级四位研究生同学:周安伟、李泓毅、李克龙、李晓婷,他们承担了本期助教工作,在完成各自繁重学业的同时,还要保质保量完成每周各自负责学生作业评阅。