出版时间:2009-8 出版社:清华大学出版社 作者:张友生,李雄 页数:308
Tag标签:无
前言
体系结构(architecture,产业界通常翻译为“架构”)一词在英文里就是“建筑”的意思。把一软件比作一座楼房,从整体上讲,是因为它有基础、主体和装饰,即操作系统之上的基础设施软件、实现计算逻辑的主体应用程序、方便使用的用户界面程序。从细节上看,每一个程序也是有结构的。早期的结构化程序就是以语句组成模块,模块的聚集和嵌套形成层层调用的程序结构,也就是体系结构。结构化程序的程序(表达)结构和(计算的)逻辑结构的一致性及自顶向下开发方法自然而然地形成了体系结构。由于结构化程序设计时代程序规模不大,通过强调结构化程序设计方法学,自顶向下、逐步求精,并注意模块的耦合性就可以得到相对良好的结构,所以并未特别研究软件体系结构。随着软件系统规模越来越大、越来越复杂,整个系统的结构和规格说明显得越来越重要。对于大规模的复杂软件系统来说,对总体的系统结构设计和规格说明比起对计算的算法和数据结构的选择已经变得明显重要得多。在此背景下,人们认识到软件体系结构的重要性,并认为对软件体系结构系统深入的研究将会成为提高软件生产率和解决软件维护问题的新的最有希望的途径。对于软件项目的开发来说,一个清晰的软件体系结构是首要的。传统的软件开发过程可以划分为从概念直到实现的若干个阶段,包括问题定义、需求分析、软件设计、软件实现及软件测试等。软件体系结构的建立应位于需求分析之后,软件设计之前。但在传统的软件工程方法中,需求和设计之间存在一条很难逾越的鸿沟,从而很难有效地将需求转换为相应的设计。而软件体系结构就是试图在软件需求与软件设计之间架起一座桥梁,着重解决软件系统的结构和需求向实现平坦地过渡的问题。体系结构在软件开发中为不同的人员提供了共同交流的语言,体现并尝试了系统早期的设计决策,并作为系统设计的抽象,为实现框架和构件的共享和重用、基于体系结构的软件开发提供了有力的支持。鉴于体系结构的重要性,Perry将软件体系结构视为软件开发中第一类重要的设计对象,BarryBoehm也明确指出:“在没有设计出体系结构及其规则时,那么整个项目不能继续下去,而且体系结构应该看做是软件开发中可交付的中间产品。”
内容概要
本书系统地介绍软件体系结构的基本原理、方法和实践,全面反映软件体系结构研究和应用的最新进展,既讨论软件体系结构的基本理论知识,又介绍软件体系结构的设计和工业界应用实例,强调理论与实践相结合。 全书共10章,第1章简单地介绍软件体系结构的概念、发展和应用现状; 第2章讨论软件体系结构建模,包括视图模型、核心模型、生命周期模型和抽象模型; 第3章介绍软件体系结构的风格和特定领域软件体系结构; 第4章讨论软件体系结构的描述方法,重点介绍软件体系结构描述语言; 第5章介绍动态软件体系结构及其描述方法; 第6章介绍Web服务体系结构相关知识,以及面向服务的体系结构的基本概念和设计原则; 第7章讨论基于体系结构的软件开发方法,介绍基于体系结构的软件过程; 第8章讨论软件体系结构的分析与测试问题,重点介绍软件体系结构的可靠性风险分析; 第9章讨论软件体系评估方法,重点介绍ATAM和SAAM方法; 第10章介绍软件产品线的原理和方法、框架技术,重点讨论产品线体系结构的设计和演化。 本书可作为计算机软件专业高年级本科生、研究生和软件工程硕士的软件体系结构教材,也可作为软件工程高级培训、系统分析师和系统架构设计师培训教材,以及软件开发人员的参考书。
书籍目录
第1章 软件体系结构概论 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章 软件体系结构建模 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章 软件体系结构风格 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 客户/服务器风格 3.4 三层C/S结构风格 3.4.1 三层C/S结构的概念 3.4.2 三层C/S结构应用实例 3.4.3 三层C/S结构的优点 3.5 浏览器/服务器风格 3.6 公共对象请求代理体系结构 3.7 正交软件体系结构 3.7.1 正交软件体系结构的概念 3.7.2 正交软件体系结构的抽象模型 3.7.3 软件体系结构的正交化 3.7.4 正交软件体系结构的实例 3.7.5 正交软件体系结构的优点 3.8 基于层次消息总线的体系结构风格 3.8.1 构件模型 3.8.2 构件接口 3.8.3 消息总线 3.8.4 构件静态结构 3.8.5 构件动态行为 ……第4章 软件体系结构描述第5章 动态软件体系结构第6章 Web服务体系结构第7章 基于体系结构的软件开发第8章 软件体系结构的分析与测试第9章 软件体系结构评估第10章 软件产品线体系结构主要参考文献
章节摘录
插图:第1章 软件体系结构概论1.1 从软件危机谈起软件危机(softwarecrisis)是指在计算机软件的开发(development)和维护(maintenance)过程中所遇到的一系列严重问题。20世纪60年代末至70年代初,“软件危机”一词在计算机界广为流传。事实上,几乎从计算机诞生的那一天起,就出现了软件危机,只不过到了1968年在原西德加密施(Garmish)召开的国际软件工程会议上才被人们普遍认识到。1.1.1 软件危机的表现1.软件成本日益增长在计算机发展的早期,大型计算机系统主要是被设计(design)应用于非常狭窄的军事领域。在这个时期,研制计算机的费用主要由国家财政提供,研制者很少考虑到研制代价问题。随着计算机市场化和民用化的发展,代价和成本就成为投资者考虑的最重要的问题之一。20世纪50年代,软件成本(cost)在整个计算机系统成本中所占的比例为10%~20%。但随着软件产业的发展,软件成本日益增长。相反,计算机硬件随着技术的进步、生产规模的扩大;价格却在不断下降。这样一来,软件成本在计算机系统中所占的比例越来越大。到20世纪60年代中期,软件成本在计算机系统中所占的比例已经增长到50%左右。
编辑推荐
《软件体系结构原理、方法与实践》由清华大学出版社出版。
图书封面
图书标签Tags
无
评论、评分、阅读与下载