首页>参考读物>计算机科学与技术>软件工程及软件方法学

软件架构
作者 : [法]穆拉德·沙巴纳·奥萨拉赫(Mourad Chabane Oussalah) 编著
译者 : 姚军 译
丛书名 : 架构师书库
出版日期 : 2016-08-15
ISBN : 978-7-111-54264-3
定价 : 59.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 198
开本 : 16
原书名 : Software Architecture 1
原出版社: John Wiley & Sons(USA)
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

图书特色

从软件架构的概念、发展和最常见的范式入手,详细介绍20年来软件架构领域取得的研究成果
全面讲解软件架构的知识、工具和应用,涵盖复杂分布式系统开发、服务复合和自适应软件系统等当今最炙手可热的主题

封底:
在过去的20年中,软件架构为复杂分布式系统的开发做出了显著贡献,真正实现了软件制造的工业化。现在,人们已经公认,架构是复杂软件系统设计与开发中的关键问题,是系统的“良心”。
本书详细阐释面向对象、基于组件、面向服务、面向代理和基于模型的软件架构范式,以及各种不同的架构技术和方法,还讲解了架构质量分析、架构模板和风格的表示模型及其正规化、验证和测试技术,最后分析了处理这些一致且自治元素的工程方法。
本书特点
细节与全景。从软件架构的基本概念和常见范式入手,引用大量经典文献,既深入分析了该领域的研究成果,也展现了现代软件架构的全景。
入门与进阶。全面讲解软件架构的知识、工具和应用,助力未来的架构师迈出坚实的第一步,为设计和开发满足新时代需求的软件系统提供支持。
学习与思考。无论是在校教师和学生,还是软件项目经理、架构师、设计师和程序员,你都能从书中体会到软件开发方法的变迁及其对生活方式的影响。

前:
内容简介
软件无所不在,它已经渗透到各行各业和我们日常生活的各个方面,这也给软件行业带来了新的挑战。如何提高生产率?如何利用整个行业数十年来积累的知识?
本书从软件架构的概念、发展以及最常见的范式入手,详细介绍了20年来软件架构领域取得的研究成果,其中引用了大量经典文献,为我们提供了现代软件架构的完整图景,细读此书,可以帮助你真正了解软件架构的各方面知识及其在各类软件系统上的应用,从而在设计、开发和理解软件架构上迈出第一步。本书也是浩如烟海的软件架构文献的出色导读,通过它你可以对各种各样的架构、工具有初步了解,从而进一步学习、提高。

后:
作者简介
穆拉德·沙巴纳·奥萨拉赫(Mourad Chabane Oussalah) 法国南特大学计算机科学系教授,软件架构建模团队主管。他的研究方向为软件架构、对象架构及其演化,目前是多项法国国家科研项目的负责人,并参与了若干欧盟项目。

图书前言

在过去20年间,出现了多种描述软件架构的语言,促进了以架构为焦点的应用程序开发。一般来说,这些语言提供了描述和分析软件系统所用的正式或半正式标记法。它们通常搭配一些工具,这些工具用于分析和模拟,有时也用于生成已建模系统的代码。软件架构对复杂分布式系统的发展做出了贡献。它们的主要特征一方面在于管理系统的抽象及表达水平的能力,另一方面则是考虑系统结构与行为建模的能力。现在,任何复杂软件系统设计与开发中的关键问题之一都是架构(即组成该系统架构元素的组织),这已经是广为接受的看法。好的架构有助于系统关键属性(可靠性、可移植性、互操作性)的形成。相反,糟糕的架构可能给系统造成灾难性的后果。而且,在开发期间,好的架构可以作为系统的“良心”。实际上,好的架构指导系统的演化过程,例如,它指明了系统的哪些方面可以在不破坏完整性的情况下进行修改。
近年来,新设计的应用程序,尤其是那些专用于面向对象、基于组件、面向服务、面向代理、基于模型的分布式信息系统设计及开发的应用程序,凸显出受控于架构元素及相关结构的演化特性。此类系统的可持续性、适应性和可伸缩性已经成为非常重要的经济学问题。实际上,由于这些系统往往需要历经数年(人力资源/月)的开发和更新,因此它们的生命期必须得以延续,尤其要应对软件架构设计者、应用程序构建者和最终用户不断变化的需求。在这一背景下,学术和行业团体提出,新开放软件架构(即能够与其他架构通信及接口的架构)的设计和开发应该具有适应性(可以根据运营条件和不同应用领域设计)和可伸缩性(可以进行改良,以处理初始设计时没有预计到的
服务)。
实际上,软件架构为复杂系统的如下固有需求提供了很好的应对之策:
在不同环境和背景中使用和重用系统的需求。因此,系统必须具备重新建模(改造、演化和再工程)的能力,以满足特殊使用条件下的需求(如分布式基础设施、有限资源和不同功能构成的不同视角)以及新的技术需求(组件、服务、架构视图等)。
采取可重用设计方法、构造可重用架构元素(对象、组件、服务及代理),降低系统开发及维护成本的需求。这些架构元素可以标识并从现有系统中抽取,在未来的开发中重用。
在最低成本下快速更新这些系统的需求。在这种情况下,自动化转换过程(结构和行为)、促进这些活动的重用(重用演化过程)是必要的。
控制复杂度(系统的理解和开发)的同时以高度抽象进行处理的需求。
目前,有鉴于此,在基于组件、基于服务架构(SOA)、基于代理架构和基于模型架构方面已经出现了一些提案。在任何情况下,我们所面临的挑战都包括质量和效率的改善,以及软件制造的工业化。
而且,由于大量提案和解决方案的出现,因此审视软件工程中与架构相关的研究和应用也是很有必要的。
为此,我们编写了本书,它用不同的技术和架构方法分析架构特征、模式与风格的代表模型、规范、验证以及管理这些连贯自治元素的工程方法,介绍面向对象、基于组件、面向服务、面向代理和基于模型的软件架构范式。
本书的主要目标读者是项目经理、项目负责人、架构师、设计师、开发人员和软件架构用户、理工院校教师、工程师,以及理工院校的大学生及研究生。

Mourad Chabane Oussalah

上架指导

计算机\软件工程

封底文字

在过去的20年中,软件架构为复杂分布式系统的开发做出了显著贡献,真正实现了软件制造的工业化。现在,人们已经公认,架构是复杂软件系统设计与开发中的关键问题,是系统的“良心”。

本书详细阐释介绍面向对象、基于组件、面向服务、面向代理和基于模型的软件架构范式,以及各种不同的架构技术和方法,并且还讲解了架构质量分析、架构模板和风格的表示模型,及其正规化、验证和测试技术,最后分析了处理这些一致且自治元素的工程方法。

本书特色:
·细节与全景。从软件架构的基本概念和最常见的范式入手,引用大量经典文献,既深入分析了该领域20年来的研究成果,同时也展现了现代软件架构的完整图景。
·入门与进阶。全面讲解软件架构的知识、工具和应用,助力未来的架构师迈出坚实的第一步,为设计和开发复杂分布式系统、服务复合和自适应软件系统提供支持。
·学习与思考。无论是在校学生和教师,还是软件项目经理、架构师、设计师和程序员,阅读本书,你都能从中体会到软件开发方法的变迁及其对人们生活方式的影响。

作者简介

[法]穆拉德·沙巴纳·奥萨拉赫(Mourad Chabane Oussalah) 编著:暂无简介

译者简介

姚军 译:暂无简介

译者序

从20世纪70年代起,没有哪一个领域取得的成就能与计算机行业比肩,而在行业的发展中,计算机软件开发方法的变化有着最深远的意义。
毫不夸张地说,我们这一代人无不深受软件行业发展的影响。在学生时代,计算机还只是能够出出算术题的小孩玩具,而如今,软件的影响已经超越了计算机本身,从我们出行时的各种交通工具到日常使用的所有电子设备,无不受到软件的控制。软件无所不在,渗透到各行各业和生活的不同侧面,这也给软件行业带来了新的挑战。如何提高生产率?如何充分利用整个行业数十年来积累的知识?业界的研究人员不断地提出新的工具和新的思想,努力满足日益增长的需求。
软件架构概念的出现,显著地改善了软件工程界的面貌,这一概念脱胎于软件工程学诞生以来提出的各种编程范式与思想,重点在于捕捉复杂软件系统的架构元素,重用过去项目中的既有经验,并解决系列产品中的可变性问题。软件架构真正实现了软件制造的工业化,使软件从最初的实验室产品和人力密集的“手工业”产品,发展成为可以在生产线上制造的高效率产业,从而缓解了互联网、物联网蓬勃发展对软件生产造成的压力。
本书从软件架构的概念、发展以及最常见的架构范式入手,详细介绍了20年来软件架构领域取得的研究成果,其中引用了大量经典的研究文献,为我们提供了现代软件架构的完整图景。细读此书,可以帮助你真正了解软件架构的各方面知识,以及其在当今最火热的复杂分布式系统开发、服务复合和自适应软件系统中的应用,从而在设计、开发和理解软件架构上迈出第一步。本书也是浩如烟海的软件架构文献的出色导读,通过它可以对各种各样的架构、工具有初步了解,从而进一步地学习软件架构,提高技术水平。
软件架构的发展日新月异,回顾过去也是为了放眼未来。在翻译本书的过程中,译者深深感受到了科技的力量,常为繁多的新颖想法与概念所吸引,同时担心自己的水平有限,未能完全展现原书的精彩之处。希望广大读者多多批评指教。
本书的翻译主要由姚军完成,徐锋、陈志勇、刘建林、白龙、方翊、陈霞、林耀成、宁懿等也为翻译工作做出了贡献,在此感谢机械工业出版社的缪杰编辑和其他工作人员对翻译及出版工作的大力支持和帮助。

译者
2016年7月

图书目录

译者序
前 言
第1章 软件架构中面向对象、基于组件、面向代理和面向服务的范式 …… 1
1.1 引言 …… 1
1.2 历史 …… 2
1.2.1 面向对象范式 …… 2
1.2.2 基于组件范式 …… 3
1.2.3 面向代理范式 …… 3
1.2.4 面向服务范式 …… 4
1.3 软件架构 …… 6
1.3.1 面向对象软件架构 …… 6
1.3.2 基于组件软件架构 …… 7
1.3.3 面向代理软件架构 …… 8
1.3.4 面向服务架构 …… 10
1.4 概念框架的两个维度:定量和定性 …… 12
1.4.1 概念差异 …… 12
1.4.2 定量维度 …… 19
1.4.3 定性维度 …… 24
1.5 集成开发范式方法 …… 33
1.6 小结与讨论 …… 35
1.7 结语 …… 37
1.8 参考书目 …… 37
第2章 参考架构 …… 42
2.1 引言 …… 42
2.2 参考架构的定义 …… 42
2.2.1 参考架构与参考模型的对比 …… 43
2.2.2 参考架构与产品线架构的对比 …… 44
2.3 参考架构模型 …… 45
2.4 参考架构设计 …… 48
2.4.1 信息源调查 …… 49
2.4.2 架构需求确立 …… 50
2.4.3 参考架构设计 …… 51
2.4.4 参考架构评估 …… 53
2.5 参考架构的用途 …… 53
2.6 参考架构的示例 …… 56
2.7 参考架构的前景 …… 57
2.8 结语 …… 59
2.9 参考书目 …… 60
第3章 多层次/多视图软件架构 …… 64
3.1 引言 …… 64
3.2 现有视点方法 …… 65
3.2.1 引言 …… 65
3.2.2 需求规格中的视图 …… 65
3.2.3 系统建模中的视图 …… 66
3.2.4 编程中的视图 …… 66
3.3 软件架构中的视图 …… 67
3.3.1 视图在软件架构中的贡献 …… 67
3.3.2 “4+1”视图模型 …… 68
3.3.3 ISO/IEC/IEEE 42010 …… 69
3.3.4 视图及超越方法 …… 69
3.3.5 小结 …… 72
3.3.6 当前软件架构方法的局限性 …… 74
3.4 多层次/多视图软件架构的定义和基本概念 …… 74
3.4.1 定义 …… 74
3.4.2 概念和基础知识 …… 75
3.5 MoVAL:基于模型、视图和抽象级别的架构 …… 83
3.5.1 引言 …… 83
3.5.2 MoVAL …… 84
3.5.3 MoVAL元模型 …… 87
3.5.4 案例分析 …… 89
3.6 结语 …… 92
3.7 参考书目 …… 93
第4章 软件架构与工具:分布与协调动态重配置管理 …… 95
4.1 引言 …… 95
4.2 背景 …… 96
4.3 分布式应用的动态重配置管理机制 …… 98
4.3.1 集中动态重配置管理 …… 98
4.3.2 分布式系统集中解决方案的局限性 …… 100
4.3.3 分布式重配置管理的优势与风险 …… 101
4.3.4 现有协调机制 …… 102
4.4 重配置基础设施的专门化 …… 104
4.4.1 行为的专门化 …… 105
4.4.2 适配机制分布的专门化 …… 105
4.5 分布式系统动态重配置的局限性和难点总结 …… 106
4.6 重配置管理机制的实施方法 …… 107
4.7 分布动态重配置管理的架构模型 …… 108
4.7.1 用于适配管理的组件类型 …… 109
4.7.2 动态重配置管理的分布 …… 110
4.7.3 适配管理器架构模型 …… 112
4.7.4 重配置机制的专门化 …… 113
4.7.5 重配置过程的协调 …… 115
4.8 结语 …… 128
4.9 参考书目 …… 129
第5章 产品线软件架构 …… 133
5.1 软件生产线简介 …… 133
5.1.1 3种开发风格 …… 135
5.1.2 可变性管理 …… 135
5.1.3 产品线中的架构概念 …… 137
5.2 音乐商店示例 …… 139
5.2.1 领域 …… 139
5.2.2 SongStock产品线 …… 139
5.2.3 功能需求 …… 140
5.2.4 其他主要需求 …… 140
5.3 领域工程 …… 141
5.3.1 领域分析 …… 141
5.3.2 集成可变性用例 …… 142
5.3.3 特征模型 …… 143
5.3.4 领域设计 …… 144
5.3.5 设计产品线架构 …… 145
5.4 产品工程 …… 148
5.4.1 产品的配置 …… 149
5.4.2 产品衍生 …… 149
5.5 参考架构设计过程 …… 151
5.6 延伸阅读 …… 153
5.6.1 PLA与参考架构 …… 154
5.6.2 具有影响力的旧文献 …… 155
5.7 结语 …… 158
5.8 参考书目 …… 158
第6章 软件架构:Web服务复合环境下的服务适配技术 …… 165
6.1 引言 …… 165
6.2 Web服务复合和验证 …… 167
6.3 Web服务不兼容和适配 …… 171
6.4 适配方法 …… 173
6.5 结语 …… 182
6.6 参考书目 …… 182

教学资源推荐
作者: David Gustafson
作者: 主编 宫云战 参编 赵瑞莲,张威,王雅文,张俞炜
作者: 张燕 洪蕾 钟睿 李慧 等编著
作者: (以色列)Doron A. Peled 著
参考读物推荐
作者: 黄勇 雷辉 徐潇 杨雪敏 著
作者: Glenford J.Myers,Tom Badgett,Todd M. Thomas,Corey Sandler
作者: (美)Ken Howard Barry Rogers 著