万本电子书0元读

万本电子书0元读

顶部广告

程序员之软件架构电子书

  软件架构在成功的软件交付中扮演着重要角色,但IT行业一直对软件架构存在误解,缺乏应有的重视。提到软件架构,人们脑海中浮现的画面通常是架构师闭门造车,提前作好大型预置设计,然后将UML模型或数百页客户需求文档扔给毫不知情的发团队。很多组织也将软件架构看做一种职位级别而非工作角色,甚至为了节省成本,将编码工作外包,将本地发人员推上“高高在上”的架构师职位。种种现状导致软件架构与编码严重脱节,也致使软件架构师在发人员群体中名声不佳,被视为脱离实际工作、只会画框框线线的“指挥家”。其实,下至口设计,上至技术选型,每个程序员多多少少都触或参与过一些架构工作,架构师也自然而然成为相当一部分程序员的职业发展方向。

售       价:¥

纸质售价:¥32.90购买纸书

876人正在读 | 0人评论 7.1

作       者:(英)Simon Brown

出  版  社:人民邮电出版社

出版时间:2015-01-01

字       数:11.1万

所属分类: 科技 > 计算机/网络 > 软件系统

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
通常,人们对软件架构师持两种错误的看法。有人认为软件架构师是一种高高在上的职位;有人认为软件架构师完全不懂发,只是会画条条框框的指挥家。《程序员***之软件架构》将破这些传统的认知,模糊软件发和架构在流程中的界限,而为软件架构正名。《程序员***之软件架构》是一本强调实践、注重实效、轻量级、面向发者的软件架构指南。 如果你是一名想成为软件架构师的程序员,那么《程序员***之软件架构》就是为你准备的。<br/>【推荐语】<br/>软件架构在成功的软件交付中扮演着重要角色,但IT行业一直对软件架构存在误解,缺乏应有的重视。提到软件架构,人们脑海中浮现的画面通常是架构师闭门造车,提前作好大型预置设计,然后将UML模型或数百页客户需求文档扔给毫不知情的发团队。很多组织也将软件架构看做一种职位级别而非工作角色,甚至为了节省成本,将编码工作外包,将本地发人员推上“高高在上”的架构师职位。种种现状导致软件架构与编码严重脱节,也致使软件架构师在发人员群体中名声不佳,被视为脱离实际工作、只会画框框线线的“指挥家”。其实,下至口设计,上至技术选型,每个程序员多多少少都触或参与过一些架构工作,架构师也自然而然成为相当一部分程序员的职业发展方向。 《程序员***之软件架构》从全新的视角重新解读软件架构,揭示软件架构的本质,是一本强调实践、注重实效、轻量级、面向发人员的软件架构指南。本书作者是一位备受好评的软件架构讲师,为全球20多个国家的软件团队提供咨询和培训,其中不乏家喻户晓的大型企业。在过去几年中,他的实践经验已令数千人受益终生。 如果你是一名软件发人员,那么《程序员***之软件架构》定会对你的职业发展有所助益。<br/>【作者】<br/>Simon Brown 全球知名软件架构独立咨询师、讲师,创办了专门讨论软件架构问题的网站“编码架构”(codingthearchitecture.com)。他自称是写代码的软件架构师和明白架构的软件发者。自2008年以来的7年时间里,Simon在全球28个国家做过有关软件架构、技术领导力及其与敏捷的平衡等主题的百余场演讲,并于2012年8月在中国举办的ArchSummit全球架构师峰会上以“郁闷的架构师”和“如何设计安全的架构”为主题发表演讲,深受与会者好评。Simon已为全球20多个国家的软件团队提供咨询和培训,他的客户既有小型技术初创企业,也不乏全球家喻户晓的品牌公司。<br/>
目录展开

推荐序一 架构师真正要学会的事情

推荐序二

译者序2.0

关于本书

软件架构培训

Part Ⅰ 什么是软件架构

第1章 什么是架构

作为名词

作为动词

第2章 架构的种类

它们的共同点是什么

第3章 软件架构是什么

应用程序架构

系统架构

软件架构

企业架构:战略而非代码

第4章 敏捷软件架构是什么

理解“敏捷”

好的架构带来敏捷

你需要有多敏捷

第5章 架构对上设计

找出区别

理解意义

第6章 软件架构重要吗

缺乏软件架构将引发问题

软件架构的好处

所有软件项目都需要软件架构吗

第7章 问题

Part Ⅱ 软件架构的角色

第8章 软件架构的角色

1.架构驱动力

2.设计软件

3.技术风险

4.架构演化

5.编写代码

6.质量保证

合作或失败

技术领导是一个角色而非级别

提出你自己对这个角色的定义

第9章 软件架构师应该编码吗

编写代码

构建原型、框架和基础

进行代码评审

实验并与时俱进

软件架构师和雇主之间的矛盾

你不必放弃编码

不要把全部时间都用于编码

第10章 软件架构师应该是建造大师

联盟的状态

回顾过去

建造大师真的会建造吗

象牙塔

建造大师角色的差异

实现角色

架构师要和团队一起工作

第11章 从开发者到架构师

经验是一个好的评价标准,但你需要看得更深

模糊的界线

跨越界线是我们的责任

第12章 拓展T

进一步的技术能力

知识面宽

软件架构师是通才型专家

软件架构是技术活

第13章 软技能

保持积极

第14章 软件架构不是接力运动

解决方案架构师

要有人负责大局

第15章 软件架构要引入控制吗

提供指导,追求一致性

控制的程度

控制因文化而不同

操纵杆,而非按钮

第16章 小心鸿沟

开发者关注底层细节

闭门造车的独裁架构师

拉近距离

软件架构的合作方式

第17章 未来的软件架构师在哪里

指导、辅导和师徒关系

我们正在失去技术导师

软件团队需要休息

第18章 每个人都是架构师,除非他们有其他身份

每个人都是架构师

除非他们有其他身份

敏捷需要架构吗

第19章 软件架构咨询师

领域知识

权威

第20章 问题

Part Ⅲ 设计软件

第21章 架构驱动力

功能需求

质量属性

约束

原则

理解影响

第22章 质量属性(非功能需求)

哪些对你重要

第23章 处理非功能需求

捕捉

提炼

挑战

第24章 约束

时间和预算的约束

技术约束

人员约束

组织约束

约束都是不好的吗

约束可以划分优先级

倾听约束

第25章 原则

开发原则

架构原则

谨防最佳实践

第26章 技术不是实现细节

你有复杂的非功能需求吗

你有约束吗

你有一致性吗

推迟与解耦

每个决策都是权衡

第27章 更多分层等于更高复杂度

非功能需求

时间和预算:没有什么是免费的

第28章 协同设计是一把双刃剑

经验影响软件设计

第29章 软件架构是对话的平台

软件开发不只是交付特性

第30章 SharePoint项目也需要软件架构

很多SharePoint实现都不只是SharePoint

非功能性需求仍然适用于SharePoint解决方案

SharePoint项目很复杂,也需要技术领导力

SharePoint解决方案仍然需要编写文档

强大的领导力和纪律不只是针对软件开发项目

第31章 问题

Part Ⅳ 可视化软件

第32章 沟通障碍

抛弃UML

敏捷需要良好的沟通

第33章 对草图的需要

测试驱动开发与图表

为什么人们应该学习如何画草图

画草图不是艺术

画草图不是综合模型

画草图可以是协作活动

第34章 无效的草图

采购清单

只有框没有线

“功能视图”

航线图

一般正确

推迟技术

部署和执行上下文

太多假设

无家可归的C#对象(HOCO)

选择你自己的冒险

应该用白板

创建有效的草图

第35章 C4:语境、容器、组件和类

通用的抽象集合

总结软件的静态视图

通用标记法的通用抽象

图应该简单且脚踏实地

第36章 语境图

意图

结构

用户、演员、角色、人物等

IT系统

交互

动机

受众

示例

第37章 容器图

意图

结构

容器

交互

系统边界

动机

受众

示例

第38章 组件图

意图

结构

组件

交互

动机

受众

示例

第39章 是否包含技术选择

在设计过程中绘图

回顾性绘图

架构图应该概念化

明确技术选择

第40章 你会那样编码吗

共享组件

分层策略

图应该反映现实

第41章 软件架构和编码

职责驱动设计和组件分解

我们谈论组件但编写类

用层封装代码

用特性封装

用组件封装

对齐软件架构和代码

第42章 你不需要UML工具

有很多类型的UML工具

既有效又简单

UML的用途

没有银弹

第43章 有效的草图

标题

标签

形状

职责

线条

颜色

边框

布局

方向

要点

图表的评审清单

倾听问题

第44章 C4的常见问题

语境图上的系统名称

混合的抽象层次

共享组件

工具组件

从IT的角度勾画企业语境

第45章 问题

Part Ⅴ 为软件生成文档

第46章 代码不会讲述完整的故事

代码未描绘的设计意图

辅助信息

第47章 软件文档即指南

1.地图

2.景色

3.历史和文化

4.实用信息

保持短小简洁

注意“视图”

产品与项目文档

第48章 语境

意图

结构

动机

受众

是否必须

第49章 功能性概览

意图

结构

动机

受众

是否必须

第50章 质量属性

意图

结构

动机

受众

是否必须

第51章 约束

意图

结构

动机

受众

是否必须

第52章 原则

意图

结构

动机

受众

是否必须

第53章 软件架构

意图

结构

动机

受众

是否必须

第54章 外部接口

意图

结构

动机

受众

是否必须

第55章 代码

意图

结构

动机

受众

是否必须

第56章 数据

意图

结构

动机

受众

是否必须

第57章 基础设施架构

意图

结构

动机

受众

是否必须

第58章 部署

意图

结构

动机

受众

是否必须

第59章 运营和支持

意图

结构

动机

受众

是否必须

第60章 决策日志

意图

结构

动机

受众

是否必须

第61章 问题

Part Ⅵ 开发生命周期中的软件架构

第62章 敏捷和架构的冲突:神话还是现实

冲突1:团队结构

冲突2:流程和产出

软件架构提供了TDD、BDD、DDD、RDD和代码整洁的分界线

从象牙塔和大型预先设计中分离出架构

第63章 量化风险

概率与影响

设定风险的优先级

第64章 风险风暴

步骤1:画一些架构图

步骤2:分别识别风险

步骤3:汇总图中的风险

步骤4:对风险设定优先级

缓解策略

何时使用风险风暴

集体所有制

第65章 恰如其分的预先设计

回到方法学

要做到“恰如其分”

多少预先设计是太少

多少预先设计是太多

多少是“恰如其分”

把恰如其分的预先设计置于适当的语境

第66章 初识软件架构

软件架构应该容易理解

一些实用的建议

推动变革发生

软件架构的本质

第67章 问题

Part Ⅶ 金融风险系统

第68章 金融风险系统

背景

功能需求

非功能需求

Part Ⅷ 附录:“技术部落”的软件指南

介绍

语境

功能性概览

质量属性

约束

原则

软件架构

基础设施架构

部署

运营和支持

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部