新闻资讯
看你所看,想你所想

软体架构设计(第2版)——程式设计师向架构师转型必备

软体架构设计(第2版)——程式设计师向架构师转型必备

软体架构设计(第2版)——程式设计师向架构师转型必备

《软体架构设计(第2版)——程式设计师向架构师转型必备》是2012年7月电子工业出版社出版的图书,作者是温昱。

基本介绍

  • 书名:软体架构设计(第2版)——程式设计师向架构师转型必备
  • 作者:温昱 
  • ISBN:9787121170874
  • 页数:256
  • 定价:39.00元
  • 出版社:电子工业出版社
  • 出版时间:2012年7月
  • 开本:16开

内容简介

本书围绕“软体架构设计”主题,从“程式设计师”成长的视角,深入浅出地讲述了架构师的修炼之道。从“基础篇”、到“设计过程篇”、到“模组划分专题”,本书覆盖了架构设计的关键技能项,并且对于架构设计过程中可能出现的各种问题给与了解答。
本书对于有志于成为架构师的程式设计师们具有非常有效的指导意义,对于已经成为架构师的同行们系统化规範架构设计也是一本很好的教材。

专家推荐

(以姓氏笔划为序)
与温昱先生初识于一次部门内训,金融机构套用信息技术日久,但业务发展之快仍需信息技术部门不断思索如何提供有力的技术支持,当时系统设计人员思路难成一致,故邀请先生来讲述所得,先生讲座生动有趣,案例均为实践中心得,有助于一线设计人员在低头干事之余,能够抬头看路,从架构高度理解和看待日常工作,《软体架构设计(第2版)》同样着眼于研发实践,不作黄钟大吕之音,而以一觞一咏畅叙分享一线设计师的感悟体会。此书值得一看,作者亦值得一晤!
——朱晓光 中国建设银行 北京开发中心 处长
在厦门,曾和温老师有过4天晚上的坐而论道,从技术到业界、从数据模型到软体重构、从职业观到心理学,彼此颇多启发。第一时间收到本书的电子版,读来流畅易懂,胜似面晤对谈。本书内容务实、技能梳理清晰,实乃软体开发者职业生涯发展的重要参考。
——朱志 中国建设银行 厦门开发中心总工办
基于软体架构的开发模式,作为软体开发的最佳实践之一,越来越得到各行各业的重视和关注,但遗憾的是理解其精髓和内涵的人太少。温老师作为软体架构思想的传播者和推动者,在这本书中,对程式设计师如何成长为优秀的架构师给出了非常具体的指导原则和实现方法,是国内不可多得的真正将软体架构思想阐述如此精準的实践指导书。作为一名软体行业的从业者,我强烈推荐给大家。
——李哲洙 博士 东软集团 电信事业部 网管产品与系统部部长
这本书以架构设计人员实际工作流程为线索,详细阐述了逻辑架构和物理架构视图的重要性及其在架构设计中的套用方法。此外,本书从实践的角度,给出了架构设计的三个原则和6大步骤,并以具体实践过程为指导,给出了架构设计从需求分析到最后的架构设计、架构验证的完整的架构设计生命周期的实践方法,对软体研发项目团队和架构师的研发实践工作具有很好的指导意义。
——杨勇 中兴通讯 业务研究院 平台总工
从事软体工作近十年,由软体功能模组的程式设计师开始,到独立负责几个软体项目的设计开发,一直对软体架构设计比较关注,有幸听了温昱老师的“软体架构设计”讲座,顿感茅塞顿开,再次阅读温老师的《软体架构设计》,对架构设计有了更深的感悟。如果你对软体架构设计感觉朦朦胧胧,温先生的《软体架构设计(第2版)》定能让你拨开云雾见青天。
——杨为禄 南京国睿安泰信科技股份有限公司 一线软体工程师
近年来,阅读了诸多系统、需求、架构类的书籍资料,温老师的几本书简明扼要,见解独到,颇多启发。“横看成岭侧成峰,远近高低各不同”,大系统架构(体系结构)包括系统组分、组分间的关係,以及演化等三要素;温老师在本书中给出了典型视角、典型模式、典型过程等实践指南。有志创造系统,赋予软体灵魂的架构师,当读此书。
——张雪松 中国电子科学研究院 複杂大系统研究与仿真
架构是很玄的东西,成为优秀的架构师也是大部分程式设计师的理想。温昱先生这本书的特点就是从程式设计师角度,深入浅出地讲述了架构师的修炼之道。程式设计师与架构师区别的最重要一点是看待事物的角度和处理方法,优秀的程式设计师按照本书的方法,在日常工作中一步步实践,有助于培养出架构师的能力,从而逐步成长成为架构师。架构的目标是为了沟通和交流,温先生也深刻地领悟到这一架构设计的根本目标,并将这一目标转化为方法论。架构设计不是给自己看的,而是为了与客户、领导和团队沟通,本书的重点在于架构设计实践,从用例、需求分析、概念模型、细化模型等一步步地指导如何完成架构设计,并且对于架构设计过程中可能出现的各种问题给予了解答。本书对于有志于成为架构师的程式设计师们具有非常有效的指导意义,对于已经成为架构师的同行们系统化规範架构设计也是一本很好的教材。
——钱煜明 中兴通讯 业务研究院 移动网际网路总工程师
早在2009年的时候就读过温老师的《软体架构设计》第一版,2011年有幸请到温老师来公司主讲“软体架构设计”,幸有当面请教的机会,温老师对软体架构独特的授课方法和深厚的功底让我如沐春风、豁然开朗,颇有几分“顿悟”之感。
五年磨一剑,如今有幸抢先拜读温老师的《软体架构设计》第二版,更是被书中内容所折服。书中融合了作者多年来在一线的实践和培训经验,深入浅出地阐释了什幺是软体架构,手把手教你从客户需求入手顺畅地设计出高可用的软体架构,让你读完本书后情不自禁地感叹:“原来软体架构设计并没有那幺高深莫测!”该书理论和实践并重,是一本不可多得的软体架构设计的指导书籍。
——崔朝辉 东软集团 技术战略与发展部 资深顾问
站得足够高,才能看得足够远。当今IT的架构设计思想理念已经是经过数次洗礼之后的结晶,而温昱先生抓住了这一结晶生命体的真正骨架,并深入浅出地汇集成这本书。有了这本书,你就可以依据自己的Project来高效地添加血肉,构建出独特的有机生命体。
——谌晏生 广州从兴 电力事业部 一线软体设计师

作者基金

温昱 资深谘询顾问,软体架构专家。软体架构思想的传播者和积极推动者,中国软体技术大会杰出贡献专家。十五年系统规划、架构设计和研发管理经验,在金融、航空、多媒体、电信、中间件平台等领域负责和参与多个大型系统的规划、设计、开发与管理。

图书目录

第1章 从程式设计师到架构师
1.1 软体业人才结构
1.1.1 金字塔型,还是橄榄型?
1.1.2 从程式设计师向架构师转型
1.2 本书价值
1.2.1 阅读路径1:架构设计入门
1.2.2 阅读路径2:领会大系统架构设计
1.2.3 阅读路径3:从需求到架构的全过程
1.2.4 阅读路径4:结合工作,解决实际问题
第1部分 基本概念篇
第2章 解析软体架构概念
2.1 软体架构概念的分类
2.1.1 组成派
2.1.2 决策派
2.1.3 软体架构概念大观
2.2 概念思想的解析
2.2.1 软体架构关注分割与互动
2.2.2 软体架构是一系列有层次的决策
2.2.3 系统、子系统、框架都可以有架构
2.3 实际套用(1)——团队对架构看法不一怎幺办
2.3.1 结合手上的实际工作来理解架构的含义
2.3.2 这样理解“架构”对吗
2.3.3 工作中找答案:先看部分设计
2.3.4 工作中找答案:反观架构概念的体现
第3章 理解架构设计视图
3.1 软体架构为谁而设计
3.1.1 为用户而设计
3.1.2 为客户而设计
3.1.3 为开发人员而设计
3.1.4 为管理人员而设计
3.1.5 总结
3.2 理解架构设计视图
3.2.1 架构视图
3.2.2 一个直观的例子
3.2.3 多组涉众,多个视图
3.3 运用“逻辑视图+物理视图”设计架构
3.3.1 逻辑架构
3.3.2 物理架构
3.3.3 从“逻辑架构+物理架构”到设计实现
3.4 实际套用(2)——开发人员如何快速成长
3.4.1 开发人员应该多尝试设计
3.4.2 实验项目:案例背景、训练目标
3.4.3 逻辑架构设计(叠代1)
3.4.4 物理架构设计(叠代1)
3.4.5 逻辑架构设计(叠代2)
3.4.6 物理架构设计(叠代2)
第2部分 实践过程篇
第4章 架构设计过程
4.1 架构设计的实践脉络
4.1.1 洞察节奏:3个原则
4.1.2 掌握过程:6个步骤
4.2 架构设计的速查手册
4.2.1 需求分析
4.2.2 领域建模
4.2.3 确定关键需求
4.2.4 概念架构设计
4.2.5 细化架构设计
4.2.6 架构验证
第5章 需求分析
5.1 需求开发(上)——愿景分析
5.1.1 从概念化阶段说起
5.1.2 愿景
5.1.3 上下文图
5.1.4 愿景分析实践要领
5.2 需求开发(下)——需求分析
5.2.1 需求捕获vs.需求分析vs.系统分析
5.2.2 需求捕获及成果
5.2.3 需求分析及成果
5.2.4 系统分析及成果
5.3 掌握的需求全不全
5.3.1 二维需求观与ADMEMS矩阵
5.3.2 功能
5.3.3 质量
5.3.4 约束
5.4 从需求向设计转化的“密码”
5.4.1 “理性设计”还是“拍脑袋”
5.4.2 功能:职责协作链
5.4.3 质量:完善驱动力
5.4.4 约束:设计并不自由
5.5 实际套用(3)——PM Suite贯穿案例之需求分析
5.5.1 PM Suite案例背景介绍
5.5.2 第1步:明确係统目标
5.5.3 第2步:範围 + Feature + 上下文图
5.5.4 第3步:画用例图
5.5.5 第4步:写用例规约
5.5.6 插曲:需求启发与需求验证
5.5.7 插曲:非功能需求
5.5.8 《需求规格》与基于ADMEMS矩阵的需求评审
第6章 用例与需求
6.1 用例技术族
6.1.1 用例图
6.1.2 用例简述、用户故事
6.1.3 用例规约
6.1.4 用例实现、鲁棒图
6.1.54种技术的关係
6.2 用例技术族的套用场景
6.2.1 用例与需求分析
6.2.2 用例与需求文档
6.2.3 用例与需求变更
6.3 实际套用(4)——用例建模够不够?流程建模要不要
6.3.1 软体事业部的故事
6.3.2 小型方法:需求分析的三套实践论(上)
6.3.3 中型方法:需求分析的三套实践论(中)
6.3.4 大型方法:需求分析的三套实践论(下)
6.3.5 PM Suite套用一幕
第7章 领域建模
7.1 什幺是领域模型
7.1.1 领域模型“是什幺”
7.1.2 领域模型“什幺样”
7.1.3 领域模型“为什幺”
7.2 需求人员视角——促进用户沟通、解决分析瘫痪
7.2.1 领域建模与需求分析的关係
7.2.2 沟通不足
7.2.3 分析瘫痪
7.2.4 案例:多步领域建模,熟悉陌生领域
7.3 开发人员视角——破解“领域知识不足”死结
7.3.1 领域模型作为“理解领域的手段”
7.3.2 案例:从辞彙表到领域模型
7.4 实际套用(5)——功能决定如何建模,模型决定功能扩展
7.4.1 案例:模型决定功能扩展
7.4.2 实践:功能决定如何建模
7.4.3 PM Suite领域建模实录(1)——类图
7.4.4 PM Suite领域建模实录(2)——状态图
7.4.5 PM Suite领域建模实录(3)——可扩展性
第8章 确定关键需求
8.1 众说纷纭——什幺决定了架构
8.1.1 用例驱动论
8.1.2 质量决定论
8.1.3 经验决定论
8.2 真知灼见——关键需求决定架构
8.2.1 “目标错误”比“遗漏需求”更糟糕
8.2.2 关键需求决定架构,其余需求验证架构
8.3 付诸行动——如何确定关键需求
8.3.1 确定关键质量
8.3.2 确定关键功能
8.4 实际套用(6)——小系统与大系统的架构分水岭
8.4.1 架构师的“拿来主义”困惑
8.4.2 场景1:小型PMIS(项目型ISV背景)
8.4.3 场景2:大型PM Suite(产品型ISV背景)
8.4.4 场景3:多个自主产品组成的方案(例如IBM)
8.4.5 “拿来主义”虽好,但要合适才行
第9章 概念架构设计
9.1 概念架构是什幺
9.1.1 概念架构是直指目标的设计思想、重大选择
9.1.2 案例1:汽车电子AUTOSAR——跨平台复用
9.1.3 案例2:腾讯QQvideo架构——高性能
9.1.4 案例3:微软MFC架构——简化开发
9.1.5 总结
9.2 概念架构设计概述
9.2.1 “关键需求”进,“概念架构”出
9.2.2 概念架构≠理想化架构
9.2.3 概念架构≠细化架构
9.3 左手功能——概念架构设计(上)
9.3.1 什幺样的鸿沟,架什幺样的桥
9.3.2 鲁棒图“是什幺”
9.3.3 鲁棒图“画什幺”
9.3.4 鲁棒图“怎幺画”
9.4 右手质量——概念架构设计(下)
9.4.1 再谈什幺样的鸿沟,架什幺样的桥
9.4.2 场景思维
9.4.3 场景思维的工具
9.4.4 目标—场景—决策表套用举例
9.5 概念架构设计实践要领
9.5.1 要领1:功能需求与质量需求并重
9.5.2 要领2:概念架构设计的1个决定、4个选择
9.5.3 要领3:备选设计
9.6 实际套用(7)——PM Suite贯穿案例之概念架构设计
9.6.1 第1步:通过初步设计,探索架构风格和高层分割
9.6.2 第2步:选择架构风格,划分顶级子系统
9.6.3 第3步:开发技术、集成技术与二次开发技术的选型
9.6.4 第4步:评审3个备选架构,敲定概念架构方案
第10章 细化架构设计
10.1 从2视图方法到5视图方法
10.1.1 回顾:2视图方法
10.1.2 进阶:5视图方法
10.2 程式设计师向架构师转型的关键突破——学会系统思考
10.2.1 系统思考之“从需求到设计”
10.2.2 系统思考之“5个设计视图”
10.35视图方法实践——5个视图、15个设计任务
10.3.1 逻辑架构=模组划分+接口定义+领域模型
10.3.2 开发架构=技术选型+档案划分+编译关係
10.3.3 物理架构=硬体分布+软体部署+方案最佳化
10.3.4 运行架构=技术选型+控制流划分+同步关係
10.3.5 数据架构=技术选型+存储格式+数据分布
10.4 实际套用(8)——PM Suite贯穿案例之细化架构设计
10.4.1 PM Suite接下来的设计任务
10.4.2 客户端设计的相关说明
10.4.3 细化领域模型时应注意的两点
第11章 架构验证
11.1 原型技术
11.1.1 水平原型vs.垂直原型,抛弃原型vs.演进原型
11.1.2 水平抛弃原型
11.1.3 水平演进原型
11.1.4 垂直抛弃原型
11.1.5 垂直演进原型
11.2 架构验证
11.2.1 原型法
11.2.2 框架法
11.2.3 测试运行期质量,评审开发期质量
第3部分 模组划分专题
第12章 粗粒度“功能模组”划分
12.1 功能树
12.1.1 什幺是功能树
12.1.2 功能分解≠结构分解
12.2 藉助功能树,划分粗粒度“功能模组”
12.2.1 核心原理:从“功能组”到“功能模组”
12.2.2 第1步:获得功能树
12.2.3 第2步:评审功能树
12.2.4 第3步:粗粒度“功能模组”划分
12.3 实际套用(9)——对比MailProxy案例的4种模组划分设计
12.3.1 设计
12.3.2 设计的优点、缺点
12.4 实际套用(10)——做总体,要提交啥样的“子系统划分方案”
第13章 如何分层
13.1 分层架构
13.1.1 常见模式:展现层、业务层、数据层
13.1.2 案例一则
13.1.3 常见模式:UI层、SI层、PD层、DM层
13.1.4 案例一则
13.2 分层架构实践技巧
13.2.1 设计思想:分层架构的“封装外部互动”思想
13.2.2 实践技巧:设计分层架构,从上下文图开始
13.3 实际套用(11)——对比MailProxy案例的 4种模组划分设计
13.3.1 设计
13.3.2 设计的优点、缺点
第14章 用例驱动的模组划分过程
14.1 描述需求的序列图 vs. 描述设计的序列图
14.1.1 描述“内外对话” vs. 描述“内部协作”
14.1.2 《用例规约》这样描述“内外对话”
14.2 用例驱动的模组划分过程
14.2.1 核心原理:从用例到类,再到模组
14.2.2 第1步:实现用例需要哪些类
14.2.3 第2步:这些类应该划归哪些模组
14.3 实际套用(12)——对比MailProxy案例的 4种模组划分设计
14.3.1 设计
14.3.2 设计的优点、缺点
第15章 模组划分的4步骤方法——运用层、模组、功能 模组、用例驱动
15.1 像专家一样思考
15.1.1 自顶向下vs.自底向上,垂直切分vs.水平切分
15.1.2 横切竖割,并不矛盾
15.2 模组划分的4步骤方法——EDD方法
15.2.1 封装驱动设计的4个步骤
15.2.2 细粒度模组的划分技巧
15.3 实际套用(13)——对比MailProxy案例的4种模组划分设计
15.3.1 设计
15.3.2 设计的优点、缺点

相关推荐

声明:此文信息来源于网络,登载此文只为提供信息参考,并不用于任何商业目的。如有侵权,请及时联系我们:yongganaa@126.com