美章网 资料文库 主题图的软件工程教程机制研讨范文

主题图的软件工程教程机制研讨范文

本站小编为你精心准备了主题图的软件工程教程机制研讨参考范文,愿这些范文能点燃您思维的火花,激发您的写作灵感。欢迎深入阅读并收藏。

主题图的软件工程教程机制研讨

软件工程是一门工程性很强的专业,为了培养高素质的软件工程应用型人才,依据CDIO教学大纲标准和国家教育部软件工程专业规范来制定SE-CDIO人才培养方案是一种有效的教学改革措施。笔者重点从教学的角度对软件工程专业的课程体系进行建模,基于TopicMaps着重刻画软件工程专业工程化的实践体系。通过所提出的课程体系建模方式,可为进行教学研究的工作者分析教学体系的内涵与关系,合理规划课程和教师分工等内容提供一种有效途径。

TopicMaps相关概念

TopicMaps最初的思想是希望建立起智能化电子索引,并能支持这些索引间的相互融合。近年来,TopicMaps已经不再局限于索引领域,而成为一套用来组织信息的方法,使用这套方法可以描述知识结构和关联,及其相关的信息资源。TopicMaps于2003年成为ISO标准,并了其基于XML的描述方式XTM。目前XTM最新的版本于2007年。TopicMaps中的基本概念包括:

1)主题(Topic):广义上讲,任何事物都可以是一个主题。严格地讲,“主题”表示TopicMaps中指代事物的对象或节点。在一个TopicMap中,主题可以是零或多个主题类型的实例。主题通常具有显式的名称,但没有也可以。一个主题可以在不同的上下文中具有不同的名称。

2)关联(Association):一个主题关联用于指定2个或多个主题之间的关系。关联类型可自定义。参与关联的每个主题在该关联中发挥不同的作用,称为关联角色。

3)资源(Occurrence):一个主题可以用某种方式去链接一至多个信息资源。这些资源称为该主题的Occurrence。资源可以分类。主题可以在特定的上下文中关联特定的资源。TopicMaps将知识划分为2层:上层是概念层,描述各种概念及关系;下层是资源层,描述概念层中各个Topic所关联的具体资源。

软件工程课程体系模型

通过TopicMaps对课程体系进行建模,可以有效地实现学科知识管理和分析工作。在此,建立一个简化的课程体系模型,用以说明TopicMaps建立模型的方法。

1基本概念

为了不产生混淆,本文给出如下定义。定义1“教学实体”:指教学中涉及的各种对象类型和具体对象所对应的概念,不涉及具体内容。例如,“必修课”是一种课程类型,“C语言”是一门必修课。两者在模型中都是一个教学实体。课程体系模型中涉及的基本教学实体包括:①抽象类实体:Teacher(教师)、Course(课程)、Resource(资源,如书籍、音频和视频等教学辅助资源)和Group(课程组)等,用于表示实体的类型。需要特别说明的是,在教学体系中,经常会划分课程组,课程组包含一系列相关课程,这样有助于教学质量的提高和教师队伍的发展。②具体实体:表示一个具体的实体对象,一般是某个抽象类实体的实例。例如,表示各个具体课程的实体。定义2“教学资源”:指教学实体对应的具体信息和关联的各种资源。例如,“C语言”课程关联的“教学大纲”文件和课程网站等都属于具体的教学资源。

2模型结构

课程体系中涉及的教学实体非常多,实体除了有自己的基本描述外,实体间还会存在各种关联关系,并且每个实体还可能会有一系列的相关参考资源。理清和描述各种教学实体之间的关联,是高效地分析专业方向和教学规划、相关课程依赖关系,合理配置教学资源和优化课程体系的基础。因此,如何将各种教学实体和资源做有效的描述和关联,是建模的重点。

TopicMaps在建模时,采用分层的形式将资源层和概念层分离。分层的结构有助于清晰地描述教学体系。

1)概念层:在概念层中,主要描述概念及概念之间的关系。在课程体系中,即各种教学实体和实体间的关系。这是模型中相对稳定的部分。2)资源层:在资源层中,描述各种教学资源,是各个教学实体的具体信息描述。例如,教师的个人主页、教学大纲文档、具体的视频、音频对象等。由于教学内容需要紧跟科技的发展,因此教学资源需要及时更新和补充。这部分在模型中的动态变化性较高。由于TopicMaps模型中的概念之间可以存在很多的关系类型,所以概念和关系会构成一个复杂的图结构。为了简要说明模型的结构,给出了一个简化的课程体系模型的双层结构示意图,如图1所示。其中省略了很多主题、关系和资源。在课程体系模型中,需要定义一些主题用于描述类别,属于抽象概念,如Course(课程)、Teacher(教师)、Video(视频)等。在此基础上,定义各个表示具体教学实体的主题,如概念层中表示具体课程的主题“C++”、“软件工程”等,表示具体教师的主题“T1”和“TN”等。在课程体系模型中必备的关联类型包括:1)“Class-Instance”关系。用于描述一个具体的概念是另一个概念的实例。定义RC-I(a,b)。对任意主题a和b,如果RC-I(a,b)成立,则表示a和b之间是“Class-Instance”关系。在该关系中a扮演“Class”的角色,b是实例“Instance”的角色。图1中用带箭头的实线表示RC-I(a,b),起点为a,终点为b。每个具体的课程都是“Course”的一个实例,如RC-I(Course,C++)。

2)“Teach-TaughtBy”关系。用于描述具体的教师与其所授课程之间的关系。定义RT-TB(a,b),对任意主题a和b,如果RT-TB(a,b)成立,则表示a和b之间是“Teach-TaughtBy”关系,即教师a教授课程b,而课程b由教师a教授。图1中用带箭头的虚线表示RT-TB(a,b),起点为a,终点为b,如RT-TB(TN,C++)。利用主题图中概念和资源分层的机制,在对课程体系进行建模时,将相对稳定的课程体系信息置于模型的概念层,将各种教学资源置于模型的资源层,可使经常动态变化的教学资源不会对课程体系的稳定性产生过多的影响,能满足对专业课程体系研究、分析和动态调整的需求。2.3以实践课程为主体的课程体系在SE-CDIO培养方案中,特别重视和强化工程实践能力。其课程体系中以实践教学为主线,将各种专业核心课程紧密结合在一起。课程体系中设置了项目实践、综合项目实践和企业社会实践、毕业设计等不同层次的实践类课程,以此来强化学生的动手能力、工程能力、协同能力和职业素质的培养。

为了清晰地说明如何利用TopicMaps来描述软件工程专业的工程化教育理念,图2仅给出课程体系模型概念层的一部分,其中重点描述了专业实践体系的主体结构。想要突出这种以实践课程为主线的工程化教育理念,还需要定义更多的主题类型和关系类型。在TopicMaps模型中定义的部分主要概念如下:

1)抽象概念Group(课程组)和Project(项目)。

2)具体课程组的主题:为每个具体的课程组建立一个主题,在图2中用虚线椭圆节点表示。某个具体的课程组g是Group的实例,即满足3)课程主题:为每门专业核心课程建立一个主题,在图2中用实线椭圆节点表示。每个具体的课程a是Course的实例,即满足4)实践类课程主题:为每门实践性课程建立一个主题,在图2中用实线矩形节点表示。某个项目课程b是Project的实例,该关系描述在图2中省略,即满足在模型中还需要至少定义如下关联类型:1)“Pre-Next”关系。用于描述课程之间的先后关系。定义RP-N(a,b)表示主题a和b之间是“Pre-Next”关系,即表示a是b的前驱课程,而b是a的后继课程。图2中用带箭头的实线表示RP-N(a,b),起点为a,终点为b。2)“Whole-Part”关系。用于描述整体和部分之间的关系。例如,一个课程组由若干具体课程组成。

定义RW-P(a,b)表示主题a和b之间是“Whole-Part”关系,即表示a包含b,而b是a的一部分。图2中用图形的“包含”表示整体和部分。例如,课程组“GroupA”中包含课程“A1”、“A2”、“A3”和实践性课程“PA”,即满足在一个合理的培养方案中,各种知识的教授是存在前后顺序和关联的。因此,“Pre-Next”关系在课程体系建模中是必需的一种关联。图2所示的模型可以说明每个实践类课程需要一系列先驱课程为其进行知识储备,而该实践类课程的设置目的则是其所属课程组中前驱课程知识的综合培养和训练。例如,为了培养学生设计和实现信息系统的能力,学生首先需要学习编程语言、数据库和软件建模知识。

这样,“信息系统的设计与实现”是一门实践类课程,而其他相关课程是该课程的前驱课程。图2还描述了不同实践类课程之间也存在“Pre-Next”关系,这样可以体现实践类课程的不同层次。即每个项目实践类课程是重点对某几门课程知识综合能力的培养和训练,综合项目实践和企业社会实践是培养和训练学生在工程中运用所学专业知识的能力以及协同能力和职业素质,而毕业设计是用于检查学生最终对本专业知识综合运用的能力。

培养方案中各种基础课程和核心专业课程的设置都是为了实现最终的培养目标。为了清晰地刻画各个核心专业课程对专业能力培养目标所做的贡献,便于分析各个专业课对学生某种实践能力培养(体现在实践类课程中)所做的贡献,模型中定义了Group(课程组)的概念和“Whole-Part”关系。每个课程组中的课程都是为了重点教授、培养和训练学生的某种实践能力。每门实践性课程与其前驱课程即为一个课程组。需要说明的是,每门实践性课程是为了重点培养和训练学生在该实践课的前驱课程中所学知识,但仍然可能会运用到其他知识。例如,在GroupA中学生学习了某种编程语言,而在GroupB中的实践性课程PB中仍然可能会用到。

课程体系模型的应用

TopicMaps技术便于知识的导航和检索,基于TopicMaps创建课程体系模型可以为培养方案的设置和分析、教学资源的配置等工作提供一种便捷的分析手段。下面以查找课程组GroupA中所有课程的任课教师为例,说明如何基于TopicMaps模型方便地进行信息检索。查找过程如下:最终得到的集合T即GroupA中所有课程的任课教师。TopicMaps的概念层是一个图结构,在进行信息检索时可利用各种图的算法以提高搜索速度。因此,信息检索效率的实用性可以保证。

结束语

提出基于TopicMaps的软件工程专业课程体系模型,其中不但具有一般课程体系建模所需的共性,还结合了SE-CDIO教育模式,重点刻画了课程体系中以实践课程为主线的工程化教育理念。该模型采用双层结构,将相对稳定的课程体系信息置于模型的概念层,将各种教学资源置于模型的资源层,可使经常动态变化的教学资源不会对相当稳定的课程体系产生过多的影响。基于模型的形式化描述,可以方便高效地对课程体系中的各种教学实体和资源进行检索、定位,能满足对专业课程体系进行研究、分析和动态调整的需求。

作者:侯霞单位:北京信息科技大学计算机学院