资源预览内容
第1页 / 共8页
第2页 / 共8页
第3页 / 共8页
第4页 / 共8页
第5页 / 共8页
第6页 / 共8页
第7页 / 共8页
第8页 / 共8页
亲,该文档总共8页全部预览完了,如果喜欢就下载吧!
资源描述
软件工程精品课程班级讨论总结北京分中心2009年12月11日至13日,我们参加了由教育部全国高校教师网络培训中心组织的软件工程精品课程培训。精品课程培训由国防科技大学计算机学院的齐治昌教授、董威老师、毛新军老师、李暾老师主讲,四位老师渊博的学识、严谨的治学态度和深入浅出的讲解,使我们受益匪浅。通过这次培训,让我们了解了如此系统与完善的软件工程教学及实践体系,他们浓缩了国防科技大学众多教师在计算机教学方面的数十年的经验积淀,让我们有了充足的可借鉴的资源,充分开阔了视野。同时,在北京林业大学赵方教授的主持下,来自北京、河北、山东等各省市的教师进行了愉快地、深入地、广泛地讨论、交流和沟通。通过这次培训,让我们领略了国家级名师的风采,领会了不同高校异同互存的教学模式,加深了对软件工程学科发展的趋势、本科课程教学、学科专业设置与教学计划、如何提高学生上课积极性、增强教学效果、提高项目实践教学的能力、提高就业率等问题的认识。下面就我们班讨论和交流的主题总结如下。一、软件工程学科的发展趋势软件工程学科的发展趋势题目比较大,范围宽泛,整体来说,我们非常认同齐治昌教授“软件即服务”的观点,也有的老师提出“基础设施即服务”的观点。以下是我们关于这一主体的讨论总结。观点一:从其开发方法来说,软件开发应该是一种基于构件的软件开发方法,也可以说是软件工程的方法学。UML过程里用于软件开发过程的研究也是一个发展方向,其重点在于源语的定义。目前,现有的一些工具如Rose等虽然可以辅助我们进行软件开发过程中的某些活动,但实际上与我们的具体要求差距很大,不足以辅助软件工程过程的每一个活动,或者说达不到我们的要求!因此,如何设计一个好的工具,提供一种好的开发环境,更好的提高软件开发的效率,也是软件工程的发展趋势之一。另外,“软件危机”的一个重要问题就是软件的生产能力跟不上硬件和需求的要求。所以如何提高软件的生产能力也是软件工程的一个研究方向和亟待解决的问题。观点二:制订一个软件设计的标准和通用软件开发工具,使文档等环节可以通过工具自动完成。使用者只需要写入需求,“通用软件开发工具”可以自动生成标准文档,然后根据需求将各个模块进行组合,生成一个新软件,实现软件的DIY。当然,这种方式只适合于民用、小型软件,但是应该可以在一定程度上扩大学生的就业范围。有的老师以四维科技有限公司为例,该公司侧重于这种软构件,在杭州和其他地方做高速路的项目运算试点。但是,让不懂业务的人用构件去做系统,培训的工作量特别的大,实现的情况和应用的效果不是特别理想。另一方面,做构件的人做开发环境本身也不是很好!很难把一个需求通过环境变成软件。但是如果真的做到的,软件开发就能实现自动化。当然,有的老师还提出,即使有了这样一个平台,也很少有人愿意去共享。观点三:软件工程要面向领域。将来的软件学习会和语言学习一样,各行业都会学习这样一门课程,然后自己开发自己本行业的软件。本观点主要从语言的发展规律方面来谈。比如,在过去只有专业人员使用的低级语言或者汇编语言来进行编程,后来因为需要的人多,就出现了高级语言。软件工程学科也是一样,因为各行业都需要,所以会出现这样一门课程,不同领域的人学完后,可以去开发自身领域需要的软件。到时候高水平的软件公司,主要是做底层或者做平台。但是以前软件相对比较简单,现在的比较复杂,推进的过程可能会很长,而且提供一个面向行业的平台,编通用软件很困难,根据不同行业用户的需求构建组件更加艰难。观点四:软件国际化。软件国际化已经不是一个大的问题,写文本,软件国际化解决了本地化的问题。现在所有的信息尽量写在一个文本里面,各个语言提供一个工具,读取本地编码,直接转换。不管有多少国家,只做一份,程序只有一个,考虑N个国家的环境,做N个文档,然后通过软件直接翻译成当地国家使用语言。观点五:软件工程的发展方向应该是从基础软件,嵌入式软件,面向领域的应用软件这三个角度来考虑,这是我们现在急需解决的问题。二、当前计算机专业本科生应该掌握软件工程的主要内容按照计算机教育知识体SEEK的规范,软件工程课程授课涵盖以下内容:团队激励和沟通、软件工程专业实践、软件工程导论、软件构造、人机交互的软件工程方法、软件设计与体系结构、软件质量保证与测试、软件需求分析、软件项目管理和软件工程高级项目共计10个知识点。对于这10个知识点,其中团队激励和沟通最好是在软件工程专业实践过程中穿插讲述,老师在对应的软件生命周期中加以重点提示,让大家通过项目实践认识到团队协作时,沟通的必要性,否则可能会导致工作的无序,重复的工作甚至项目的失败。但是2008年许多学校教学改革以后,许多课程的授课课时都在减少,软件工程课程也是如此。这门课的理论课时在32-44之间,其中含有1-5个周的实践课时。如下表所示:学校理论课时实验课时实践课时北京联合大学44161周中央民族大学451818课时北京工商大学32321周中国石油大学32164周北京林业大学4001周华北电力4002周河北科技师范学院40(选秀)0大四校企合作培训因此,如果面面俱到,学生感觉不到这门课的实用性,需要在软件工程课程中用尽量少的课时,来讲解软件项目管理。但是考虑到后续实习项目的普遍性,我们可以考虑把重点放置在面向对象的分析和设计方法,而对于结构化的分析方法我们只需要简单讲述,让学生有个大致的印象。同时,我们已经开设了一门编程语言,特别是大多数学校已经开设了Java等面向对象的语言,同时开设了数据库课程。这样我们的课程重点就可以放置在:通过UML用例图、活动图(其中,对象流用于领域分析和数据库设计)以及US时序图(讲解系统与用户的交互)来完成系统的需求分析。通过用例图整理系统的详细功能描述(也可以使用IPO图),最终结合文字内容形成软件需求规格说明书,同时使用Word设计系统的验收测试标准和初步用户手册。接下来,复习面向对象的概念,包括:对象、类、继承、接口,以及依赖和关联关系,为面向对象的分析设计打下基础。讲解模块设计的原则,选择系统架构,需要我们讲解MVC、分层、CS等架构基础。通过初步设计,应用领域知识,形成领域类图。然后根据US时序图完成MVC设计时序图,完成初步设计。接下来,讲解如何根据MVC设计时序图,细化类的属性和方法,完成类图的设计,确定各个类的关系。接着,讲解组件图和配置图,设计部署代码的结构。最后,讲解测试的方法,以及如何通过工具完成测试的自动化。对于我而言,对于极限编程比较熟悉,而且熟悉Java的JUnit体系框架,这样可以通过实例讲解单元测试的自动化。同时,讲解系统测试的自动化,以及压力测试。当然,所有的讲解最好是以实例为主线,我们将借鉴国防科大的思路,以一个实例贯穿始终,在各个生命周期进行相应的设计,让学生对系统的需求、设计、实现和测试有一个更直观的印象,为后续的课程设计以及毕业设计夯实基础。三、软件工程专业方向的定位和特色我们参加讨论的老师就各自学校软件工程专业方向的定位和特色纷纷发表了自己的意见,总结起来有以下几项。(1)国防科大对技术类的人才培养仍然使用传统教法,对指挥类的人才培养从管理方向、从用户的角度培养。李暾老师指出没有领域背景知识,软件工程比较难学。单纯学习软件开发很难进行软件工程。计算机专业软件工程该怎么开展,值得讨论。(2)服务于行业,为行业计算机应用的发展供支持。同时,应尽可能培养学生对于学校特色专业领域的熟悉程度,以解决因为行业整体计算机水平的提高导致计算机专业人才的应用领域不断受到挤压的问题。(3)各个高校对于软件工程专业方向的定位存在很大的差别,以软件工程为专业方向的专业定位于系统地培养学生的系统设计与开发能力;而在计算机科学类专业中软件工程课程一般只是作为一门课程来开设,这也是目前绝大多数的高校中的现状。(4)目前计算机类学生存在就业难的问题,其主要原因在于学生的动手能力比较弱,这也是目前高校计算机系学生教学中的现状。学生的积极主动性受到计算机学科发展迅速和相关领域知识不熟悉的双重困惑,畏难情绪很重。这也对专业的定位提出了新的要求,如何在传统和特色之间寻求平衡。(5)软件工程专业应当实行注重学生项目实践能力、自学创新能力、交流表达能力、团队合作能力培养的教学模式。以培养复合型、实用型、国际化的高层次软件人才为目标。(6)朱雪峰(中国石油大学):中国石油大学的计算机系主要目标是服务于行业,并与国际国内的发展接轨。为此,我们系里的软件工程课程体系主要包括为本科生开设的软件工程、UML系统建模、软件设计与体系结构、软件测试以及为研究生开设的高级软件工程、软件体系结构,课程体系覆盖了软件工程的绝大多数课程,但是开设效果并不理想。四、面向某个领域的软件工程教学的目标、内容和要求很多院校都是具有行业背景的,那么在软件工程教学中应该根据行业背景来进行调整。例如,华北电力大学计算机系,在软件工程的教学和实践中,能够注意和行业需要相结合。在教学内容上,选择的案例偏重电力行业的应用软件,如发电厂仪表控制、线损计算、电厂GIS,调度系统、安全培训考核等等。在软件工程的课程设计中,大多数题目都是结合电厂、供电局等电力企业的实际需求来设定的。国防科技大学中,软件工程的定位是,原来只是从计算机角度出发,但现在看来,如果没有领域背景知识,做不过那些有领域背景知识又懂一些计算机的人。在国防科大中,信息相关专业的学生分为两类:技术类的学生和指挥类的学生。对于技术类的学生还是按常规的方式进行教学。而指挥类的学生将来很可能成为软件系统的用户,是甲方,要求他们能提出需求,还要会管理,所以在教学内容上要加强需求工程和项目管理。在林业大学的计算机系,软件工程分为三个层次来开设:A 面向计算机科学与技术专业;B 面向图形图像专业;C 面向地理信息系统专业。A版要求学生具有一定的软件开发能力,软件开发方法和工具都要求学生扎扎实实地掌握,除了课堂教学以外,还有专门的课程设计,要求每个同学完整经历开发的每个环节。B版要求至少所选的案例是图形图像方面的,但授课教师很可能不具备这方面的开发经历,只能向图形图像方面的教师借鉴一些案例。C版要求基于原有的WEBGIS系统进行二次开发。总之,软件工程从课堂教学到实践训练都应该结合相应领域、按照不同方向的要求进行相应调整。五、提高软件项目管理的教学效果软件项目管理是影响软件项目成功开发的全局性因素,软件项目管理具有作为工程的一般性特点。如强调过程控制,关注质量等。但是软件作为一个逻辑产品,其项目管理具有鲜明的特殊性。软件需求的不确定性和动态性,增加了管理的难度和复杂度。参加讨论的老师一致认为:软件项目管理都是我们的弱项。学校一般重软件开发技术,轻软件开发过程管理。学生本身也对一些新的软件开发技术更感兴趣。具体的软件企业可能会好一些。有些学校仅仅将项目管理作为软件工程这门课的一章来进行简单介绍。有些学校去年开了项目管理的课程,但是选的人数不够,没有开出来。所以部分老师建议请公司的项目经理来进行介绍,公司里的实际经验会很多;多开展实践教学,以项目为指导,让学生有些简单的感性体会;另外北京林业大学从今年的教学计划中,增加了2个学时的内容,专门从公司聘请专业的人员来讲授软件项目管理。六、如何提高软件工程实践教学的效果我们认为应该从以下几个方面来进行(1)题目选好,控制节点(2)选择案例,领域案例,案例工作量。组织时,学生不愿意到机房,学生主动提问很少到学生宿舍检查。(3)点名监督学生到实验室去。(4)重架构七、关于调动学生学习软件工程的兴趣问题关于调动学生的兴趣方面,我们认为,1.首先澄清学生以往对软件的认识具体讲就是: 软件不是程序;
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号