《软件设计与体系结构》教学大纲一、课程基本信息课程名称软件体系结构课程编码020254033英文名称Software architecture课程类别学科基础课学分数2开课学期第五六学期总学时及其分配总学时讲课实验上机其它机动32248适用专业计算机科学与技术、软件工程二、课程目的和任务软件体系结构是根植于软件工程进展起来的一门新兴学科,目前已经成为软件工程讨论和实践的主要领域。专门和广泛地讨论软件体系结构是从 20 世纪 90 年代才开始的,1993-1995 年之间,卡耐基梅隆大学的Mary Shaw 与 David Garlan,贝尔实验室的 Perry,南加州大学的 Barry Boehm,斯坦福大学的 David Luckham 等人开始将注意力投向软件体系结构的讨论和学科建设。三、本课程与其它课程的关系。体系结构在软件开发中为不同的人员提供了共同沟通的语言,体现并尝试了系统早期的设计决策,并作为系统设计的抽象,为实现框架和构件的共享和重用、基于体系结构的软件开发提供了有力的支持 .鉴于体系结构的重要性,Dewayne Perry 将软件体系结构视为软件开发中第一类重要的设计对象,Barry Boehm也明确指出:“在没有设计出体系结构及其规则时,整个项目不能继续下去,而且体系结构应该看做是软件开发中可交付的中间产品”. 四、教学内容、重点、教学进度、学时分配第一章 软件体系结构概论1.1 从软件危机谈起1.1.1 软件危机的表现1.1.2 软件危机的原因1.1.3 如何克服软件危机1.2 构件与软件重用1.2.1 构件模型及实现1.2.2 构件猎取1.2.3 构件管理1.2.4 构件重用1.2.5 软件重用实例1.3 软件体系结构的兴起和进展1.3.1 软件体系结构的定义1.3.2 软件体系结构的意义1.3.3 软件体系结构的进展史1.4 软件体系结构的应用现状第二章 软件体系结构建模2.1 软件体系结构建模概述2.2 ”4+1"视图模型2.2.1 逻辑视图2.2.2 开发视图2.2.3 进程视图2.2.4 物理视图2.2.5 场景2.3 软件体系结构的核心模型2.4 软件体系结构的生命周期模型2.5 软件体系结构抽象模型2.5.1 构件2.5.2 连接件2.5.3 软件体系结构2.5.4 软件体系结构关系2.5.5 软件体系结构范式第三章 软件体系结构风格3.1 软件体系结构风格概述3.2 经典软件体系结构风格3.2.1 管道和过滤器3.2.2 数据抽象和面对对象组织3.2.3 基于事件的隐式调用3.2.4 分层系统3.2.5 仓库系统及知识库3.2.6 C2 风格3.3 客...