89《软件工程》课程教学改革的探索与实践

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

《软件工程》课程教学改革的探索与实践刘强清华大学软件学院2报告内容•研究课程改革的思路•构建先进的课程体系•强调案例化教学和探索式学习•课程实验结合实际开发因素和参与乐趣•建立适合小组式开发的软件工程环境•总结与展望3课程教学的分析•《软件工程》课程的传统教学模式–教学方式以教师课堂授课为主,学生被动地听课–教学内容通常重理论而轻实践–课程实验在缺少软件工程支持的环境下进行–学生感觉内容抽象枯燥,甚至认为没有实用价值•《软件工程》课程的教学特点–课程内容:理论的实践性和知识的综合性–学生方面:缺乏实际软件项目的开发经验,难以将抽象理论与实际开发联系起来–教学条件:缺少适合本科生教学使用的实验环境4课程改革的思路1.反映软件工程学科的最新发展–IEEE-CS与ACM推出的CCSE明确了软件工程教育知识体系–SWEBOK描述了软件工程学科知识体系–近年来,现代软件工程在软件过程、需求工程、体系结构、设计模式、软件测试、逆向工程等方面涌现出许多新思想、新技术和最佳实践。本课程的内容体系改革:–结合当前软件工程的理论和实践,以IEEE最新发布的软件工程知识体系为基础框架,融合企业的先进技术和最佳实践,以统一开发过程、面向对象技术和UML语言为核心内容5课程改革的思路2.从“可实践”的角度开展课程教学–软件工程具有技术性和工程性强的特点,学生需要在实际的“动手做”和“真正练”中体会和掌握软件工程的思想和技术。–原有的课程教学仅限于照本宣科地抽象介绍一些基本原理,与实际的软件工程实践有明显的差距。本课程的教学方式改革:–案例式教学:将基本原理、企业案例、关键技术与工具等有机结合,使抽象枯燥的内容变得生动有趣。–学生以开发小组形式协作完成一定规模的软件项目,通过团队之间的商业交易游戏,引导学生主动重视过程和质量。6课程改革的思路3.加强实践教学环境建设–在过去的软件工程教学中,课程实验仅仅是提供一个软件开发项目和相关的文档要求,缺少软件工程的过程管理和环境支撑建设。–没有开发经验的学生习惯性地采用非工程的方法,很容易导致软件开发项目的失败,使软件工程成为空谈。本课程的实践环境建设:–在整个教学过程中,始终贯穿标准规范和支持工具。–建立支持小组式开发的软件工程环境,包括过程模型、软件工程规范、管理工具、硬件环境等,为学生真正实践软件工程提供有力的支持。7报告内容•研究课程改革的思路•构建先进的课程体系•强调案例化教学和探索式学习•课程实验结合实际开发因素和参与乐趣•建立适合小组式开发的软件工程环境•总结与展望8《软件工程》课程体系实际软件开发案例小组协作式的课程实践UML语言面向对象技术迭代化开发RUP、RationalRose、CVS等软件需求软件设计软件实现软件测试软件演化软件过程软件质量软件配置管理软件项目管理IEEE《软件工程知识体系》IEEE系列软件工程标准IEEE与ACM《软件工程职业道德规范和实践要求》9《软件工程》课程体系•基础部分–软件工程概述:概括介绍软件工程的发展历史和基本原理,通过实例揭示大型复杂软件系统的根本问题,论述软件工程学科的知识体系和软件工程职业道德规范。–软件工程过程:介绍软件过程的基本概念和思想,论述当前典型的软件开发过程模型,重点说明统一软件过程RUP。–软件工程管理:重点介绍人员组织与管理、项目规划与变更控制、质量管理、成本估算、配置管理等内容。–软件工程技术:从初始的需求导出到设计、开发和测试等软件生命周期的各个重要方面,论述需求工程、体系结构设计、用户界面设计、软件设计、软件测试和软件进化等方面的不同软件工程技术。10《软件工程》课程体系•应用部分–以当前流行的统一开发过程、面向对象技术和UML语言为核心,融入企业的最佳实践和实际案例,覆盖IEEE的系列软件工程标准以及RUP、RationalRose、CVS、Junit等软件工程工具和环境,使学生掌握当前先进的软件工程方法与技术。•实践部分–要求学生以开发团队的方式协作开发一个具有一定规模的软件系统,建立支持小组开发的软件开发支持环境,让学生从“可实践”软件工程的角度学习和运用软件工程的思想和现代技术解决软件开发问题。11报告内容•研究课程改革的思路•构建先进的课程体系•强调案例化教学和探索式学习•课程实验结合实际开发因素和参与乐趣•建立适合小组式开发的软件工程环境•总结与展望12案例化的教学模式•“讲授-思考-实践”三个环节有机结合–课程讲授:在理论知识的讲解中注重贯穿实际的软件开发案例,使学生真正理解这些理论知识,建立软件开发的系统化与工程化观念和质量意识。–启发思考:注重鼓励和引导探索式学习,在教学过程中营造轻松活跃的课堂气氛,开展互动式的讨论,鼓励学生结合课程实践中的问题进行专题报告和软件演示。–课程实践:注重培养学生分析问题和解决问题的能力,要求学生以小组形式协作完成一定规模的课程实验项目,真正学会运用软件工程的思想和技术解决实际开发问题。13案例化的教学模式•软件工程概述–案例分析:ARIANE5火箭、爱国者导弹、网络病毒攻击–深入剖析导致软件失败的根本原因,认识软件工程的重要性•软件工程过程–案例分析:5个不同软件系统过程模型、微软开发过程模型–实验讨论:课程实验项目的软件过程模型–引导学生在分析和讨论过程中,理解和运用软件过程模型•软件工程管理–案例分析:微软开发组织结构与角色分工–课堂讨论:课程实验项目的人员、计划、风险、监控等14案例化的教学模式•软件工程技术–案例分析:图书资料管理系统、学生选课系统、……–实验项目:游戏软件Survivor、……–以基于用例的面向对象方法和组件技术为重点,讲解和讨论需求分析、软件体系结构设计、用户界面设计、详细设计、软件测试等内容•软件工程工具–结合课程实践项目,介绍当前比较流行的软件工程工具–诸如:RUP、Rose、CVS或Subversion、Xunit15探索式的学习方法•课堂教学与网络教学优势互补–在常规的课堂教学之外,辅之以网络课程和扩展资源,鼓励学生根据个人兴趣和需要进行自主式的学习。–充分利用网络教学平台,加强师生之间的交流和学生之间的协作,引导学生积极思考和参与讨论,教师由知识的灌输者成为学习的引导者,学生由被动地接受教育变成主动地探索知识。–邀请企业资深开发人员与学生进行一次讲座和讨论,学生通过文献查阅以及与软件企业人员的直接交流,真正体会当前软件工程业界的真实案例和最佳实践。16探索式的学习方法网络课程网络学堂17报告内容•研究课程改革的思路•构建先进的课程体系•强调案例化教学和探索式学习•课程实验结合实际开发因素和参与乐趣•建立适合小组式开发的软件工程环境•总结与展望18课程实验项目•课程实验项目–第一部分:组织3-5人的开发团队,分析实验项目给出的问题描述,完成软件需求规格说明。根据软件需求规格说明,设计软件系统的总体结构,将模块开发任务分配到每个团队,同一个模块将由3-5个团队进行竞争性开发。–第二部分:每个团队实现分配给他们的模块,编写所有相关文档,测试和调式代码。在模块开发完成后,团队之间开始进行模块买卖交易,并将所购买的模块与自己开发的模块整合起来成为一个完整的系统。–第三部分:将提出一个变更请求,每个团队根据变更请求修改已经集成的完整系统,并将完整系统进行包装和销售。19课程实验项目•小组协作与过程管理相结合–实行每周例会制度,保证所有成员在规定的时间进行讨论交流,同时每周与助教见面。在小组例会上尽量讨论问题,学会沟通技巧和解决冲突的方法。–所有任务都是面向整个团队的,每个团队每周提交一份工作报告,这个报告将会被评定成绩,团队的所有成员都要接受同一个成绩。–在需求分析、系统设计、模块开发、集成测试等关键阶段实行阶段评审机制,并将上述阶段产品置于配置管理的控制之下,严格控制项目开发进度,保证按时交付最终产品。20课程实验项目•项目训练融入成本与质量因素–参加同一项目的所有开发小组将被划分成一个商业区,每一个开发小组将被分配一个银行帐户和一定数目的启动资金。–开发小组在完成自己承担的模块开发任务之后,需要参加一个模块交易活动,向其他小组推销自己开发的模块,并购买软件集成所需要的其他模块,模块交易结束后的帐户资金情况与实验成绩相联系。–开发小组在完成整个系统集成测试后,需要参加一个系统购买活动,实施系统维护任务,系统销售的业绩也与实验成绩相联系。21报告内容•研究课程改革的思路•构建先进的课程体系•强调案例化教学和探索式学习•课程实验结合实际开发因素和参与乐趣•建立适合小组式开发的软件工程环境•总结与展望22课程实验环境•实验条件–具有一个240M2本科生专用实验室,每一个学生配备一台高性能PC机。–配备一台专用服务器,安装Windows2003Server操作系统,配置管理软件Subversion1.3.2和CVS,开发平台Eclips3.x以及相关开发工具,软件工程工具包括RUP、RationalRose、Junit和Nunit等。–课程实验配套教材包括软件工程课程实验过程管理工具、课程实验文档模板等。23课程实验环境•实验指导书–软件工程课程实验说明–软件开发过程描述–软件项目管理计划模板–软件需求规格说明模板–需求规格说明评审要求–软件设计说明–测试用例规范–软件交易合同–视频游戏Survivor问题描述24报告内容•研究课程改革的思路•构建先进的课程体系•强调案例化教学和探索式学习•课程实验结合实际开发因素和参与乐趣•建立适合小组式开发的软件工程环境•总结与展望25课程特色•教学内容突出先进性和案例化–将基础理论、现代技术和先进工具有机地结合在一起,教学过程始终贯穿软件工程最佳实践和软件企业开发实例。•注重培养学生实践能力–课程实验要求学生以开发小组形式协作完成,并建立阶段评审机制和交易模式,使学生亲身感受一个软件项目的开发过程,体会软件工程的实践。•建设课程实验开发环境–从软件工程的要求出发,逐步建设相关的软硬件环境,将开发流程、文档模板、评审标准融合在一起形成Web实验指导网页,使学生改变以往突出个人技巧的杂乱过程。26今后发展•课程教材–结合新版教材在国家十一五规划项目的建设,丰富和更新现有教材的理论内容和教学案例。•实验环境–在现有实验环境的基础上,进一步完善课程实验环境,增加软件过程管理和实验评价的功能,将现有的实验指导工具扩展为软件工程课程实验平台。•实验案例–建立丰富的课程实验项目案例库,包括游戏软件、信息系统、嵌入式软件等多种类型的开发案例。

1 / 26
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功