架构实战—软件架构设计的过程

基本信息

作者: (英)Peter EelesPeter Cripps  
译者: 蔡黄辉;马文涛
出版社:机械工业出版社
ISBN:9787111301158
上架时间:2010-4-23
出版日期:2010 年4月
开本:16开
更多详细信息请查看:http://www.china-pub.com/196666

内容简介

本书从基本原理入手,介绍软件架构设计过程中涉及的一些概念、流程、方法、用到的工作产品及可重用的资源,从第6章开始,通过介绍一个具体的案例来阐述如何定义需求、创建逻辑架构、创建物理架构。在第10章“进阶”中,作者补充说明了架构师和软件开发项目其他方面的关系,后面又说明了各种软件开发项目可能存在的困难及相应的处理方法。
本书理论结合实践,介绍了一些可以应用到整个或部分的架构设计流程中的最佳方法。不管你是一位资深的架构师还是一位有志于成为架构师的初级使用者,通过阅读本书都能从中获益。

目录

译者序

前言
致谢
作者简介
第1章导言
1.1流程应用
1.2流程概述
1.3范围
1.4总结
第2章架构、架构师和架构设计
2.1架构
2.1.1架构定义结构
2.1.2架构定义行为
2.1.3架构关注重要的元素
2.1.4架构平衡利益相关者的需要
2.1.5架构基于合理证据使决策具体化
2.1.6架构会遵循一种架构风格
2.1.7架构受它的环境影响
2.1.8架构影响开发团队的结构

.2.1.9所有系统都存在架构
2.1.10架构有特定的范围
2.2架构师
2.2.1架构师是技术领导
2.2.2架构师的角色可能由一个团队来履行
2.2.3架构师理解软件开发流程
2.2.4架构师掌握业务领域的知识
2.2.5架构师掌握技术知识
2.2.6架构师掌握设计技能
2.2.7架构师具备编程技能
2.2.8架构师是优秀的沟通人员
2.2.9架构师进行决策
2.2.10架构师知道组织政策
2.2.11架构师是谈判专家
2.3架构设计
2.3.1架构设计是一门科学
2.3.2架构设计是一门艺术
2.3.3架构设计跨越很多方面
2.3.4架构设计是一个渐进的活动
2.3.5架构设计受许多利益相关者驱动
2.3.6架构设计经常包括折中
2.3.7架构设计承认经验
2.3.8架构设计既由上而下也由下而上
2.4架构设计的优点
2.4.1架构设计解决系统的质量问题
2.4.2架构设计促进达成共识
2.4.3架构设计支持计划编制流程
2.4.4架构设计促进架构的完整性
2.4.5架构设计有助于管理复杂性
2.4.6架构设计为重用提供基础
2.4.7架构设计降低维护成本
2.4.8架构设计支持影响分析
2.5总结
第3章方法基本原理
3.1关键概念
3.2方法内容
3.2.1角色
3.2.2工作产品
3.2.3活动
3.2.4任务
3.3流程
3.3.1瀑布流程
3.3.2迭代流程
3.3.3敏捷流程
3.4总结
第4章编写软件架构文档
4.1最终的结局
4.2关键概念
4.3视点和视图
4.3.1基础视点
4.3.2交叉视点
4.3.3视图及图表
4.3.4视点及视图的优点
4.4模型
4.4.1实现的层级
4.4.2模型的优点
4.5架构描述框架的特征
4.5.1软件架构的4+1视图模型
4.5.2Zachman框架
4.5.3Rozanski 和Woods框架
4.6一个架构描述框架
4.6.1视点
4.6.2工作产品
4.6.3实现的层级
4.6.4视图一致
4.7软件架构文档
4.8总结
第5章可重用架构资源
5.1架构的来源
5.2架构资源元模型
5.2.1开发期资源
5.2.2运行期资源
5.3资源类型
5.3.1参考架构
5.3.2开发方法
5.3.3视点目录
5.3.4架构风格
5.3.5架构机制
5.3.6模式
5.3.7参考模型
5.3.8架构决策
5.3.9现有的应用程序
5.3.10封装的应用程序
5.3.11应用框架
5.3.12组件库/组件
5.4架构资源的属性
5.5重用的其他考虑因素
5.6总结
第6章案例介绍
6.1流程应用
6.2案例研究范围
6.2.1项目团队
6.2.2外部影响因素
6.3应用简介
6.4YourTour的愿景
6.4.1问题声明
6.4.2利益相关者
6.4.3系统功能
6.4.4系统的质量
6.4.5约束
6.5总结
第7章定义需求
7.1关联需求和架构
7.2功能性需求和非功能性需求
7.3编写需求文档的技术
7.4流程应用
7.5理解任务描述
7.6定义需求:活动概览
7.7总结
第8章创建逻辑架构
8.1从需求走向解决方案
8.2逻辑架构的价值
8.2.1使逻辑架构最小化
8.2.2把逻辑架构作为一项投资
8.2.3可追溯性的重要性
8.3流程应用
8.4创建逻辑架构:活动概览
8.5总结
第9章创建物理架构
9.1从逻辑架构到物理架构
9.2流程应用
9.3创建物理架构:活动概览
9.4任务:调查架构资源
9.5任务:定义架构概览
9.6任务:编写架构决策文档
9.7任务:概述功能性元素
9.7.1将逻辑功能元素映射到物理功能元素
9.7.2确认物理功能元素
9.7.3采购产品
9.7.4适应特定技术的模式
9.8任务:概述部署元素
9.8.1映射逻辑部署元素到物理部署元素
9.8.2确认物理部署元素
9.8.3采购硬件
9.9任务:检验架构
9.10任务:构建架构概念证明
9.11任务:细化功能性元素
9.12任务:细化部署元素
9.13任务:确认架构
9.14任务:更新软件架构文档
9.15任务:和利益相关者复审架构
9.16总结
第10章进阶
10.1架构师和项目团队
10.1.1架构师和需求
10.1.2架构师和开发
10.1.3架构师和测试
10.1.4架构师和项目管理
10.1.5架构师和配置管理
10.1.6架构师和变更管理
10.1.7架构师和开发环境
10.1.8架构师和业务分析
10.2架构师和外界影响
10.2.1企业架构
10.2.2设计权威
10.2.3基础设施提供者
10.2.4系统维护者
10.3复杂系统的架构设计
10.3.1许多独特的功能正在开发
10.3.2许多人员参与开发
10.3.3系统是高度分布式的
10.3.4开发团队是分布式的
10.3.5运行质量非常有挑战性
10.3.6存在系统之系统
10.4总结
附录A软件架构元模型
附录B视点目录
附录C方法概述
附录D架构需求检查列表
术语表
参考文献

本书豆瓣地址:http://book.douban.com/subject/4818685/

书讯:《架构实战—软件架构设计的过程》相关推荐

  1. 软件架构(6)---软件架构设计的过程

    在一个以软件架构为中心的软件项目开发过程中,最常见的开发过程大致分五到六个阶段:概念化阶段.分析阶段.架构阶段.详细设计阶段(一般情况下特别是结合敏捷模式时都会被裁剪掉).并行开发与测试阶段.验收与交 ...

  2. 软考高级-系统架构师-软件架构设计

    本章节主要内容如下( 上午综合题可以考到20~26分,其中案例题和论问题都有涉及 ): 目录: 一.软件架构的概念 1.软件架构概念 2.软件架构发展史 3.软件架构的建模 4.4+1模型 二.软件架 ...

  3. Java架构II_C1 软件架构设计导论_3 软件架构的风格

                                                                         田超凡 原创博文,严禁复制转载,仿冒必究,部分素材转载自慕课网 ...

  4. 系统架构师—软件架构设计(一)概述、构建、视图、基本架构风格

    1.软件架构概述 从需求分析到软件设计之间的过渡过程称为软件架构.只要软件架构设计好了,整个软件就不会出现坍塌性的错误,即不会崩溃. 架构设计就是需求分配,将满足需求的职责分配到组件上. 软件架构为软 ...

  5. 软考必过 - 系统架构师 - 软件架构设计 - SOA与微服务

    世界上并没有完美的程序,但是我们并不因此而沮丧,因为写程序就是一个不断追求完美的过程. 文章目录 软件架构设计 面向服务的架构(SOA) 软件架构设计 面向服务的架构(SOA) SOA特点 粗粒度 低 ...

  6. 架构师·软件架构设计·ADD

    文章目录 一.名词定义 二.为什么需要软件架构设计 三.架构师的意义 四.架构设计 4.1.通用设计 4.2.软件架构的设计 4.2.1.架构设计(系统全景图) 4.2.2.元素交互设计(业务流程设计 ...

  7. 【架构】软件架构设计分层模型和构图思考

    一.架构思维概述 对于架构思维本身仍然是类似系统思维,结构化思维,编程思维等诸多思维模式的一个合集.由于架构的核心作用是在业务现实世界和抽象的IT实现之间建立起一道桥梁,因此架构思维最核心的就是要理解 ...

  8. 系统架构设计师 - 软件架构设计 - 架构评估

    软件质量属性 记忆口诀 : 安全 操作 功能 修改 靠/用 可变 性 安全性 系统提供功能给合法用户的同时,拒绝 非法用户的访问请求 或 企图 的能力; 互操作性 系统与外部系统 (环境) 进行相互作 ...

  9. 系统架构设计师 - 软件架构设计 - 特定领域软件架构DSSA(Domain Speciffic Softwore Architecture)

    特定领域软件架构 某一特定应用领域内,为一组应用提供组织结构参考标准.高层次的软件架构 横向特定领域: 例如持久层设计领域 纵向特定领域: 例如供应链系统领域 活动过程 领域分析:根据领域知识 ,获取 ...

最新文章

  1. ubuntu常用小工具
  2. 电子产品设计流程_产品设计“学习、就业、留学”全攻略
  3. Gurobi 生产计划调度学习案例(含代码实现) (生产切换、装配计划)
  4. G1 GC 日志格式
  5. vector利用swap()函数进行内存的释放
  6. Python批量删除错误图片、修改文件名以及删除重复图片
  7. Java_模拟comet的实现
  8. ubuntu jdk tomcat mysql_linux-ubuntu tomcat jdk 及 mysql 安装配置
  9. 什么是堆?什么是方法区?JVM内存模型中堆与方法区的介绍
  10. 丰田凯美瑞android系统,丰田第八代凯美瑞装了它,让中控“大脑”更智能!
  11. 00.Spring源码编译
  12. 用 strcoll 实现中文按拼音排序
  13. Java-AQI计算
  14. python_循环语句for_1.12
  15. xstart下远程报错已拒绝X11转移申请的解决方法
  16. 人工智能基础必备知识
  17. js的三大家族(offset/scroll/client)和一个事件对象(event)///正则
  18. Cris 的 Scala 笔记整理(九):面向对象高级
  19. 如何用pycharm调用Java_JPype实现在python中调用JAVA的实例
  20. java前端框架有哪些( 目前java主流开发框架是哪个)

热门文章

  1. 初涉Runtime (一)
  2. 下个月计划【2009-5】
  3. Android 完全退出应用程序实现代码
  4. Windows Server 2012 如何将计算机图标添加到桌面
  5. AndroidStudio安卓原生开发_UI高级_DrawerLayout_侧滑菜单控件---Android原生开发工作笔记120
  6. security框架工作笔记001--- Shiro和Spring Security对比_智慧城市项目中选型用Spring Security
  7. python数据结构剑指offer-替换空格
  8. NLP之路-Deep Learning for NLP 文章列举
  9. 杭电2068RPG的错排
  10. linux c++编译问题和虚拟机网络通信