作者:Peter Eeles & Peter Cripps
几年前,我们(Peter Eeles和Peter Cripps)开始注意到Grady Booch首创的《软件架构手册》(《Handbook of Software Architecture》,www.handbookofsoftwarearchitecture.com )。Grady起初的目的是:
整理许多有趣的软件密集型系统的架构,以揭示它们的基本模式以及允许在域和架构风格之间进行比较的方式,并把它们呈现出来。
当Grady正关注于最终架构的时候,我们感到理解成功架构师创建他们的架构时所遵循的流程同样很有趣。当然,我们最终的目的是复制他们的成功。我们花了好几年的时间才完成这个过程。我们做了许多项目,和许多架构师进行了交流,还对许多开发方法进行了梳理——所有这些都有助于我们理解当构建一个软件系统时起作用和不起作用的因素的本质。《架构实战--软件架构设计的过程》 是我们经历的这个过程的总结。
许多优秀的书讲述了软件架构过程的特定方面,我们借鉴了这些书中的相关内容。例如,其中有些书注重编写一个软件架构的文档,另一些书注重如何评价一个软件架构。其中任意一方面都适合比较大的场景,因为每一方面都呈现了软件架构过程中的一个重要因素。因此,本书的一个目的是通过提供在一个典型软件开发项目的环境中架构的所有方面的概览来呈现这个大场景。
应该指出的是,《架构实战--软件架构设计的过程》 没有指定一个专门的软件开发方法。更确切地说,本书讲述了人们在支持构建过程的任意现代开发方法中可能遇到的关键因素。
本书是为谁准备的
显然,《架构实战--软件架构设计的过程》 是针对那些想了解他们的角色如何适应整个软件开发过程的软件架构师(或者立志成为软件架构师的人)。本书也适合“专门”的架构师角色,如应用架构师和安全架构师。更笼统地说,本书适合那些想更好地了解软件架构师这个角色的人。就这点而言,它对一个软件开发团队的所有成员也都有好处,包括开发人员、测试人员、业务分析人员、项目经理、配置经理和过程控制工程师。本书也特别适合那些在软件开发的尝试中想了解日益重要的软件架构师角色的大学生。
如何阅读本书
本书大致分为三个部分:
第1~5章为第一部分,概述了架构、架构师、架构设计、编写软件架构文档、可重用架构资源的核心概念。
第6~9章为第二部分,这部分包含了相关案例研究的章,通过一个基于样例应用程序的典型软件开发项目,重点体现架构师这个角色,提供一个指导性指南。这些章的编写方式,使你很容易找到感兴趣的特定主题。每个相关案例研究的章主要按照任务进行组织,另外,在这些章中我们使用了一些排版体例。特别是,对流程元素的所有引用,如任务、工件和角色,都用黑体加以强调,例如当我们描述软件架构文档工件的时候。
第10章为第三部分,包含额外讨论的话题和思考,尤其是,在前面的章中描述的概念如何应用于架构复杂的系统。
在本书中,你还会发现一些如下进行分类的有用的补充内容:
- 概念补充内容: 介绍与讨论与主题相关的想法或整套想法。
- 检查清单补充内容: 包含当执行某一特定任务时,可以进行检查的有用的项目。
- 最佳实践补充内容: 介绍已经在实践中证实为有效的方法。
- 缺陷补充内容: 介绍最好避免的方法,因为它们会导致负面效果。
我们在本书中大范围地使用统一建模语言(UML)来描述架构的某些方面。所有的UML图表都是通过IBM Rational Software Architect创建的。
附属站点
本书有一个附属的站点: processofsoftwarearchitecting.com ,读者可以在这个站点上找到额外的信息,也可以和作者进行交流。
分享到:
相关推荐
### 架构实战——软件架构设计的过程 在现代软件开发中,软件架构设计扮演着至关重要的角色。良好的架构设计能够确保软件系统的可扩展性、可维护性和性能等关键特性。《架构实战——软件架构设计的过程》一书深入...
《架构实战:软件架构设计的过程》是一本深入探讨软件架构设计的专业书籍,旨在提供实际操作中的指导和经验分享。在软件开发中,架构设计是至关重要的一步,它决定了系统的整体结构、组件之间的关系以及系统如何应对...
"架构实战—软件架构设计的过程"是一个深入探讨这一主题的资源,非常适合那些对软件架构感兴趣或者希望提升自己架构能力的人。 首先,软件架构设计是系统开发的蓝图,它为项目的整体结构和组织提供指导。这个过程...
本书从基本原理入手,介绍软件架构设计过程中涉及的一些概念、流程、方法、用到的工作产品及可重用的资源,从第6章开始,通过介绍一个具体的案例来阐述如 何定义需求、创建逻辑架构、创建物理架构。在第10章“进阶”...
本门课程围绕电商项目大觅网的业务场景,基于微服务原则设计电商项目,使用多种诸如...本次课程以实战为基础,让同学们在实战过程中,独立完成网站的架构搭建和项目开发,掌握其中的实现方式与思路。 视频大小:13.4 G
创新业务的营销策略系统架构实战-朱臻
这种架构设计旨在提高系统的响应速度,降低数据库压力,保证服务的稳定性。下面将详细探讨相关知识点。 一、缓存原理与类型 缓存是一种存储技术,用于临时存储频繁访问的数据,以减少对慢速存储(如硬盘)的依赖。...
微服务与Docker 是近年来分布式大规模服务架构中两个主流的技术趋势,本书主要介绍中小型企业在架构落地过程中柔性地切入微服务和Docker 虚拟化的各种方法。 书中主要介绍了微服务架构的各种技术选型、微服务拆分的...
JAVA-ACE-架构师系列视频教程RocketMQ订单实战上目录介绍: 1001_RocketMQ_简介 2002_RocketMQ_核心概念详解 3003_RocketMQ_集群构建模型详解(一) 4004_RocketMQ_集群构建模型详解(二) 5005_RocketMQ_双主模式...
### MySQL性能调优与架构设计——阿里软件实战 #### 一、MySQL基础知识 **1.1 MySQL Server简介** - **1.1.1 什么是MySQL** - MySQL是一款由MySQL AB公司(现已被Sun Microsystems收购)开发的关系型数据库管理...
Linux运维-运维构架师-高级运维架构师-Day0414期-云计算-OpenStack实战-5-
大型网站必备核心技术,微服务架构详解,是升职加薪、弯道超车必备技能,大型网站核心技术微服务架构实战是你学习技能必备课程。 视频大小:7.9G
资源名称:架构实战软件架构设计的过程内容简介:本书从基本原理入手,介绍软件架构设计过程中涉及的一些概念、流程、方法、用到的工作产品及可重用的资源,从第6章开始,通过介绍一个具体的案例来阐述如 何定义需求...
Linux运维-运维构架师-高级运维架构师-Day0914期-CentOS7系统实战-03-安装CentOS7系
标题中提到的“SDCC-杭州-网易蜂巢容器云架构实战”指的是网易公司在SDCC(上海DevOps云计算大会)杭州站进行的演讲,主题是关于网易蜂巢(网易云的容器云服务)的容器云架构实战经验分享。演讲者是尧飘海,他应该是...
架构实战营-第03节课:什么是面向复杂度架构设计? 架构实战营-第04节课:如何做好架构设计? 架构实战营-第05节课:外包学生管理系统实战 1 架构实战营-第05节课:外包学生管理系统实战 2 架构实战营-第06节课:...
《架构实战:软件架构设计的过程》从基本原理入手,介绍软件架构设计过程中涉及的一些概念、流程、方法、用到的工作产品及可重用的资源,从第6章开始,通过介绍一个具体的案例来阐述如何定义需求、创建逻辑架构、创建...