当前位置: 首页 > 免费论文下载 > 教育科学 >
论文服务

探析软件复用技术课程教学改革

时间:2013-08-14来源:易品网 点击:

探析软件复用技术课程教学改革
作者:吴春雷 张国平 朱连章 崔学荣  

0引言
  软件复用(SoftwareReuse)是将已有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费。软件复用是提高软件生产力和质量的一种重要技术。当前被认为可复用的知识非常广泛,包括领域知识、需求规格、设计决定、体系结构、程序代码、测试用例等软件生命周期各阶段的成果。软件复用能力已成为衡量一个高级软件人才的重要指标,因此中国石油大学(华东)在软件工程专业的第6学期开设软件复用技术课程,将其安排在软件工程概论、软件设计与UML、高级程序设计、软件架构与开发实训等课程之后,目的是使学生在掌握软件工程理论、软件设计方法、软件开发语言以及接受完整的软件开发训练之后,在更高层次上掌握软件复用的理论和技术,提升综合实践能力。软件复用技术课程在软件工程专业课程体系中占据重要位置。
  软件复用技术课程从软件工程发展的角度出发,涵盖第3代软件工程——软件过程工程与第4代软件工程——软件构件工程理论与关键技术,以软件过程和基于构件的软件开发为核心。之前该课程以课堂教学为主并配以一定的章节实验,巩固学生所学的理论知识。这种传统的教学方式不利于学生工程实践能力的培养,没有达到课程定位和培养目标,存在以下问题:
  ①教学重理论而轻实践,脱离实际项目背景,造成复用理论的讲解空洞乏味;
  ②“灌输式”教学把学生置于被动位置,使其缺乏学习兴趣和参与热情;
  ③实践内容简单独立、不连贯,对学生面向复用的软件过程训练不完整、不系统;
  ④考核评价标准单一,导向性不强。
  为解决这些问题,我们从2009年开始对教学方法进行改革与实践。目前,在国际工程教育领域流行的CDIO(Conceive-Design-Implement-Operate)的理念是“做中学”原则和“基于项目的教育和学习”教学法的集中体现,符合软件人才面向复用的工程能力培养要求,能够在软件复用技术课程和实践环节得到落实。因此,我们借鉴CDIO理念,围绕提高学生面向复用的工程能力培养这一根本目的,在课程中采取项目案例驱动教学,基于目前流行的敏捷软件过程理论和IBMRTC技术平台组建以学生为主体的敏捷开发团队,进行完整的开发实践训练,并取得了良好的效果。

1基于可复用项目案例的教学
  软件复用知识不同于经典学科理论,它是由软件大师在工程实践中总结和提炼而成。教师在没有工程实践环境的课堂上直接讲授复用理论,不易使学生达成共鸣,反而会变成空洞的说教。因此,我们探索并实施基于可复用项目案例的教学,遵循“软件工程理论来源于实践,在实践中还原”的指导原则,把知识点融入项目开发过程,围绕案例介绍复用理论,增强学生的学习效果。
  1.1可复用项目案例设计
  可复用项目案例的设计以及围绕案例的复用知识的组织方法是影响该课程教学效果的关键。该课程案例不同于一般的软件项目,它要求兼具“基于复用的开发”和“面向复用的开发”2种价值功能。前者指案例项目的开发可以基于已有的可复用组件,使学生掌握新项目构建时所采用的各种复用理论和方法;后者指本次开发还要面向未来潜在的复用,开发出来的产品和开发过程中的各类工件除了要满足目前需求外,还应该具有可复用特征,使学生掌握可复用组件自身的开发理论和技术。通过实践总结,我们确立了该课程案例设计应遵循的原则。
  1)案例具有可复用性,支持“基于复用的开发”和“面向复用的开发”,在相关领域内具有广泛的复用价值。例如,我们设计的“库房供应链系统”案例既能单独开发并被部署为可运行的库房系统,又可在上下游企业的供应链系统中复用开发,同时在仓储管理领域也具有广泛的复用空间。
  2)案例要尽可能覆盖复用课程的所有知识点并具有一定的开发工作量,使学生在一个案例中能够利用分析设计、编码测试、基于构件开发和软件过程管理等复用知识。
  3)案例要有通用的业务背景,既具有实用价值和吸引力,又便于学生理解。
  经过3年多的总结积累,我们已形成1个包含10多个可复用项目案例的资料代码库。该数据库包括完整的文档和程序组件,使得学生不必每次都从零开始,而能够站在一个较高起点上进行学习实践。
  1.2学生敏捷项目团队组建
  软件复用技术课程的理论内容较抽象,加之“灌输式”教学使学生成为知识的被动接受者,导致学生难以产生学习兴趣,学习效果较差。因此,我们以学生为主体组建项目团队,采用全员参与、角色扮演、协作学习的形式,让学生成为认知的主体和知识的主动建构者。
  有别于软件设计类课程的做法,软件复用技术课程学生项目团队的组建要求更高。软件工程过程是该课程的核心内容之一,而不同的过程模型需要不同的团队形式,因此我们基于IBMRTC平台和敏捷软件开发过程Scrum的要求建立学生敏捷开发团队。在该团队中,我们倡导成员之间紧密协作和面对面沟通,以使团队能够更高效地交付新的软件版本并很好地适应新的需求变化。
  参照企业模式,以学生自愿为原则,我们把学生按照5~6人的规模组成敏捷项目团队。团队设有产品负责人、Scrum主管、产品构建员、团队成员4类角色,要求每个人在完成自己职责的前提下进行协作,最终使每位成员都成为具有跨职能技能的人才。教师在其中承担总监职责,指导每个团队的实践过程,监督团队运作情况。我们组建的学生敏捷项目团队结构如表1所示。

2基于IBMRTC的软件过程实践
  软件复用技术课程之前的实践内容较为简单独立,一般为各知识点对应的小型实验,实验内容相互不连贯,而且没有采用完整的软件过程(如瀑布模型过程、RUP过程、敏捷Scrum过程等)管理控制,这也是面向复用的工程能力培养的一个薄弱环节。我们认为解决问题的关键是进行实践教学流程建设,要以某个软件过程为主线建立项目开发驱动的实践教学完整流程,使学生在近乎真实的场景下进行开发,实践能力得到系统连贯地培养。
  IBMRTC是一个崭新的基于Jazz的软件交付协作平台,它为团队开发提供了基于上下文的实时团队协作能力、自动化的任务和工件流转机制,并具有全生命周期的可追踪性。透明的基于Scrum的团队开发流程、计划、记录文档和报告等功能,非常适用于高效的团队协作开发。IBMRTC内置的Scrum软件过程模板包含迭代式软件开发、两层项目规划、整体团队协作和持续集成等多项流行的最佳实践,是一个目前比较先进的基于敏捷思想的软件过程平台。我们定制的以项目开发过程为主线的基于IBMRTCScrum过程的软件复用课程实践流程如图1所示。
  该流程分为项目启动、项目实施和项目收尾3个阶段,其中项目实施阶段又细分为精化和构造等多个迭代过程。该流程对各阶段的任务、里程碑和文档进行详细规定,便于学生掌握。在项目构造阶段,我们采用基于构件的软件设计与开发技术,包括对COM/DCOM、EJB、CORBA和WebServices等组件模型的理论探讨,另外还选择EJB模型用于开发实践。

3多层次、多角度的考核评价
  考核评价是课程的重要组成部分,科学合理的考评机制不仅体现公平原则,还是有力的教学指挥棒。过去单一的考评方法无法体现工程能力的优先引导作用,因此我们在该课程中探索出“两个层次、三项内容”的多层次、多角度考评方法。
  “两个层次”指团队内部评价和团队整体评价。团队内部评价指项目负责人对成员进行评价打分,确定每个成员的分数和排名;团队整体评价是教师对每个敏捷团队进行考核打分。最后,每个学生的课程成绩根据团队内部评价分数和团队整体分数得出。“三项内容”指从团队提交的产品代码、文档资料和过程表现等3个角度进行评价。其中,产品代码要求能够实现项目规定功能和性能,能够脱离开发环境而正常运行,要求代码规范、界面美观,该项占总成绩的50%;文档资料要求根据Scnma过程的规定产生各种必需的文档,该项占总成绩的30%;过程表现考评团队、个人的表现和迭代等过程的健康状况,该项占总成绩的20%。

4结语
  面向复用的案例驱动教学和基于IBMRTCScrum敏捷过程的完整项目开发实践流程自2009年实施以来,已使中国石油大学(华东)3届软件工程专业的200多名大三学生受益。学生掌握大量的软件复用理论和关键技术,提高了工程实践能力,这些都在学生就业率和科技大赛获奖数量上得到体现。根据学校就业中心统计数据,软件工程专业近3年的就业率呈现稳步上升趋势,分别为2010年77.38%、2011年90%和2012年93.75%。另据所在计算机学院学生工作部门对学生科技大赛获奖情况的统计,软件工程专业学生近3年在科技大赛上的获奖数量明显提升,共计27项。
  我们将在此工作基础上,进一步完善教学案例和优化实践流程,将软件复用技术课程与软件工程其他课程进行对接融合,充分发挥软件复用技术课程在高素质软件人才培养中的重要作用。

  • 认准易品期刊网

1、最快当天审稿 最快30天出刊

易品期刊网合作杂志社多达400家,独家内部绿色通道帮您快速发表(部分刊物可加急)! 合作期刊列表


2、100%推荐正刊 职称评审保证可用

易品期刊网所推荐刊物均为正刊,绝不推荐假刊、增刊、副刊。刊物可用于职称评审! 如何鉴别真伪期刊?

都是国家承认、正规、合法、双刊号期刊,中国期刊网:http://www.cnki.net 可查询,并全文收录。


3、八年超过1万成功案例

易品期刊网站专业从事论文发表服务8年,超过1万的成功案例! 更多成功案例


4、发表不成功100%全额退款保证

易品期刊网的成功录用率在业内一直遥遥领先,对于核心期刊的审稿严格,若未能发表,全额退款! 查看退款证明

特色服务
杂志社内部绿色审稿通道,快速发表论文
发表流程
论文发表流程
专题推荐