预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

“软件体系结构与设计模式”课程教学模式的探讨 摘要:一套完善的课程体系对于教学的实施十分重要。“软件体系结构与设计 模式”是软件工程的专业主干课程之一,本文在总结SEEK及专业规范对课程的具 体要求的基础上,结合实际教学情况,对该课程的教学模式进行了探讨并提出了一 些建议。 关键词:SEEK;软件体系结构;设计模式;教学模式 1引言 自20世纪40年代第一台数字电子计算机问世,人们对于计算机的应用就以 惊人的速度发展起来。以信息技术为核心的高新技术发展极大改变了我们的生 产、生活以及经济、政治关系。计算机软件在我们日常生活的各个方面正扮演着 一个核心角色,它涉及政府、银行和金融、教育、交通、娱乐、医疗、农业和法 律等各个领域。软件产业已成为信息产业的核心和灵魂。国内外高等学校、科研 院所纷纷建立起软件工程学科,采取系统、规范的方式培养市场所需的软件工程 人才。 软件工程作为一个专业方向,必须通过一套完善的课程体系来实施教 学,ACM和IEEE-CS联合工作组织制定的软件工程知识体系SWEBOK(Software EngineeringBodyofKnowledge)、计算教程软件工程卷CCSE(Computing CurriculumSoftwareEngineering)及其中的软件工程知识体系SEEK(Software EngineeringEducationKnowledge)都明确给出了相应的课程体系构成。我国于 2006年推出了《计算机科学与技术本科专业规范(软件工程方向)》,该专业规范 结合我国高等教育的实际情况,详细描述了软件工程教育知识体系、核心课程等 内容。“软件体系结构与设计模式”是软件工程方向专业重要的专业核心课程之一, 目前还处于专业课程体系建设的起步阶段,要建设高水平、高质量的“软件体系结 构与设计模式”课程,还需要进一步深入的研究和探讨。本文在总结SEEK及专业 规范对课程的具体要求的基础上,结合南华大学的实际教学情况,对该课程的教学 模式提出了一些建议。 2该课程在SEEK和专业规范中的构成 2.1该课程在SEEK中所涉及的知识领域和知识单元 软件工程知识体系SEEK分为三层结构,最高层是教育知识领域(area),它代表 了软件工程的子学科,通常被认为是本科生应该掌握的软件工程知识体的重要部 分。知识领域是对软件工程知识进行组织、分类和描述的高层结构元素,每个领 域使用一个缩写进行标识。每个知识领域又分成许多知识单元(unit),表示一个领 域中的独立主题模块。在知识领域标识的后面,添加两到三个字母的后缀标识知 识单元。每个知识单元被进一步分成知识点(topic)集合,知识点是层次结构的最底 层。表1是SEEK总结的知识领域,列出了知识单元的集合,并推荐了每个知识领 域和知识单元所需的最少学时数。表2则列出了SEEK中软件设计知识领域中包 含的软件体系结构和设计模式的内容(其他四个知识单元的内容在此省略)。 由表1和表2的内容可知“软件体系结构与设计模式”涉及到SEEK十个知识 领域中的软件设计(DES)这一知识域,其中软件体系结构对应于体系结构设计 (DES.ar)知识单元,而设计模式则属于详细设计(DES.dd)知识单元的知识点之一。 SEEK中知识域的划分是以本科教学和课程体系建设为目标进行的,尽管 SEEK不代表教程,但是SEEK为构成软件工程教程的教学单元提供了设计、实现 和交付的基础,在课程建设中需要研究各个知识域之间的关系,并进行合理的权衡 和安排。 2.2专业规范中该课程的构成和要求 在教育部制定的《高等学校计算机科学与技术本科专业规范(软件工程方 向)》中,软件设计(DES)知识领域所包含的内容有: 软件设计策略(str):其主要内容为面向功能的设计、面向对象的设计、以数据 结构为中心的设计、面向主题的设计。 体系结构设计(ar):其主要内容为体系结构风格、多属性间的体系结构折衷、 软件体系结构中的硬件问题、特定领域的体系结构和产品线、体系结构的表示。 详细设计(dd):其主要内容为设计方法、设计模式、构件设计、构件和系统接 口设计、设计表示。 设计支持工具与评价(ste):其主要内容为设计支持工具、设计属性的度量、设 计标准、形式化设计分析。 专业规范中软件设计知识领域的知识构成跟SEEK中大体一致。规范中还对 软件设计和体系结构的课程内容、教学目标等做了具体的描述。对软件设计和体 系结构知识的学习,旨在使学生能够在各种软件设计中应用多种设计模式、框架 和体系结构,使用不同的中间件技术设计并实现软件,能使用合理的变更控制方法 更改设计以及使用逆向工程技术重新获得软件设计。课程内容涵盖设计模式、框 架和体系结构、当前中间件体系结