软件架构设计
¥
7
1.6折
¥
45
九五品
仅1件
作者温昱 著
出版社电子工业出版社
ISBN9787121039461
出版时间2007-05
版次1
装帧平装
开本16开
纸张胶版纸
页数340页
字数99999千字
定价45元
上书时间2024-04-12
商品详情
- 品相描述:九五品
- 商品描述
-
基本信息
书名:软件架构设计
定价:45.00元
作者:温昱 著
出版社:电子工业出版社
出版日期:2007-05-01
ISBN:9787121039461
字数:460000
页码:340
版次:1
装帧:平装
开本:16开
商品重量:
编辑推荐
架构设计 贵在务实 书《应用框架的设计与实现——.NET平台》译者温昱先生作品! 《程序员》杂志技术主编孟岩鼎力推荐! 包含大量来自开发一线的实际案例! 理论与实践高度而巧妙地结合!
内容提要
本书紧紧围绕“软件架构设计”这一主题,立足实践解析了软件架构的概念,阐述了切实可行的软件架构设计方法,提供了可操作性极强的完整的架构设计过程。另外,本书从思维方式的突破、面向对象设计、IM,建模、过程与管理等关键过渡环节,为广大程序员的成长提供了切中肯綮的指导。本书可作为计算机软件专业本科生、研究生和软件工程硕士的软件架构设计教材,也可作为软件开发高级培训、软件开发管理培训的培训教材,更是第一线高级开发人员和开发管理人员的参考书。
目录
目录章 解析软件架构概念t31.1 软件架构概念的分类t31.1.1 组成派t41.1.2 决策派t51.2 软件架构概念大观t51.2.1 Booch、Rumbaugh和Jacobson的定义t51.2.2 Woods的观点t61.2.3 Garlan和Shaw的定义t61.2.4 Perry和Wolf的定义t61.2.5 Boehm的定义t61.2.6 IEEE的定义t61.2.7 Bass的定义t61.3 软件架构关注分割与交互t71.4 软件架构是一系列有层次性的决策t81.5 PM Tool案例:领会软件架构概念t101.5.1 案例故事t101.5.2 软件架构概念的体现t131.5.3 重要结论t141.6 总结与强调t14第2章 子系统、框架(Framework)与架构(Architecture)t152.1 子系统和框架在架构设计中的地位t162.1.1 关注点分离之道t162.1.2 子系统和框架在架构设计中的地位t172.2 子系统与软件架构t192.2.1 不同粒度的软件单元t202.2.2 子系统也有架构t212.2.3 子系统不同,架构不同t21?2.2.4 不同实践者眼中的粒度t232.3 框架与软件架构t232.3.1 框架的概念t232.3.2 架构和框架的区别t242.3.3 架构和框架的联系t252.3.4 框架也有架构t262.4 概念:立足实践理解架构t262.4.1 理解架构t262.4.2 回到实践t282.5 专题:框架技术t292.5.1 框架vs.类库t292.5.2 框架的分类t302.5.3 框架的开发过程t322.5.4 如何实现框架中的扩展点t332.6 总结与强调t36第3章 软件架构的作用t373.1 充分发挥软件架构的作用t373.2 软件架构对新产品开发的作用t383.3 软件架构对软件产品线开发的作用t403.4 软件架构对软件维护的作用t423.5 软件架构重构t423.6 总结与强调t43第4章 软件架构视图t474.1 呼唤软件架构视图t474.1.1 办公室里的争论t484.1.2 呼唤软件架构视图t484.2 软件架构为谁而设计t494.2.1 为用户而设计t494.2.2 为客户而设计t504.2.3 为开发人员而设计t504.2.4 为管理人员而设计t514.2.5 总结t514.3 引入软件架构视图t524.3.1 生活中的“视图”运用t534.3.2 什么是软件架构视图t544.3.3 多组涉众,多个视图t544.4 实践指南:逻辑架构与物理架构t554.4.1 逻辑架构t564.4.2 物理架构t574.4.3 从逻辑架构和物理架构到设计实现t584.5 设备调试系统案例:领会逻辑架构和物理架构t594.5.1 设备调试系统案例简介t594.5.2 逻辑架构设计t594.5.3 物理架构设计t614.6 总结与强调t62第5章 架构设计的5视图法t635.1 架构设计的5视图法t645.2 实践中的5视图方法t665.3 办公室里的争论:回顾与落实t675.4 案例:再谈设备调试系统t675.4.1 根据需求决定引入哪些架构视图t685.4.2 开发架构设计t685.4.3 运行架构设计t695.5 总结与强调t71第6章 从概念性架构到实际架构t736.1 概念性架构t736.2 实际架构t776.3 从概念性架构到实际架构t786.4 网络管理系统案例:从分层架构开始t786.4.1 构思:概念性架构设计t786.4.2 深入:实际架构设计t816.5 总结与强调t82第7章 如何进行成功的架构设计t837.1 何谓成功的软件架构设计t837.2 探究成功架构设计的关键要素t847.2.1 是否遗漏了至关重要的非功能需求t847.2.2 能否驯服数量巨大且频繁变化的需求t867.2.3 能否从容设计软件架构的不同方面t867.2.4 是否及早验证架构方案并做出了调整t877.3 制定软件架构设计策略t877.3.1 策略一:全面认识需求t887.3.2 策略二:关键需求决定架构t897.3.3 策略三:多视图探寻架构t897.3.4 策略四:尽早验证架构t907.4 总结与强调t90第8章 软件架构要设计到什么程度t938.1 软件架构要设计到什么程度t948.1.1 分而治之的两种方式t948.1.2 架构设计与详细设计t968.1.3 软件架构是团队开发的基础t968.1.4 架构设计要进行到什么程度t988.2 高来高去式架构设计的症状t988.2.1 缺失重要架构视图t998.2.2 浅尝辄止、不够深入t1008.2.3 名不副实的分层架构t1018.3 如何克服高来高去症t1018.4 网络管理系统案例:如何将架构设计落到实处t1028.4.1 网管产品线的概念性架构t1028.4.2 识别每一层中的功能模块t1028.4.3 明确各层之间的交互接口t1038.4.4 明确各层之间的交互机制t1048.4.5 案例小结t1058.5 总结与强调t105第9章 软件架构设计过程t1079.1 打造有效的架构设计过程t1079.1.1 一般的软件过程t1079.1.2 架构师自己的架构设计过程t1099.2 软件架构设计过程解析t1119.2.1 架构设计策略应成为一等公民t1119.2.2 架构设计过程中的工作产品t1129.3 总结与强调t1140章 需求分析t11510.1 软件需求基础t11610.1.1 什么是软件需求t11610.1.2 需求捕获vs.需求分析vs.系统分析t11610.1.3 需求捕获及其工作成果t11810.1.4 需求分析及其工作成果t11810.1.5 系统分析及其工作成果t11910.2 需求分析在软件过程中所处的位置t12010.2.1 概念化阶段所做的工作t12010.2.2 需求分析所处的位置t12210.3 架构师必须掌握的需求知识t12310.3.1 软件需求的类型t12310.3.2 各类需求对架构设计的不同影响t12710.3.3 超市系统案例:领会需求类型的不同影响t12910.3.4 各类需求的“易变更性”不同t13010.3.5 质量属性需求与需求折衷t13210.4 PM Tool实战:需求分析t13510.4.1 上游活动:确定项目愿景t13510.4.2 步:从业务目标到特性列表t13510.4.3 第2步:从特性列表到用例图t13610.4.4 第3步:从用例图到用例规约t13810.4.5 需求启发与需求验证t13910.4.6 终成果:《软件需求规格说明书》t14010.5 总结与强调t1411章 专题:用例技术及应用t13311.1 用例图vs.用例简述vs.用例规约vs.用例实现t13311.2 储蓄系统案例:需求变化对用例的影响t13811.3 用例技术应用指南t14011.4 用例与需求捕获t14211.5 用例与需求分析t14311.6 用例与《软件需求规格说明书》t14411.7 总结与强调t1452章 领域建模t14712.1 领域模型基础知识t14712.1.1 什么是领域模型t14812.1.2 领域模型相关的UML图t14812.2 领域建模在软件过程中所处的位置t14912.2.1 领域建模的必要性:从需求分析的两个典型困难说起t14912.2.2 领域建模与需求分析的关系t15112.2.3 领域建模所处的位置t15212.3 领域模型对软件架构的重要作用t15312.3.1 配置管理工具案例:探索复杂问题、固化领域知识t15312.3.2 人事管理系统案例:决定功能范围、影响可扩展性t15512.3.3 在线拍卖系统案例:提供交流基础、促进有效沟通t15812.4 领域模型 vs. 文字说明t16012.5 PM Tool实战:建立项目管理的领域模型t16112.5.1 领域建模实录(1)t16112.5.2 领域建模实录(2)t16412.6 总结与强调t1663章 确定对软件架构关键的需求t16713.1 虚拟高峰论坛:穷兵黩武还是择战而斗t16713.1.1 需求是任何促成设计决策的因素t16813.1.2 很少有开发者能奢侈地拥有一个稳定的需求集t16813.1.3 关键性的步是缩小范围t16813.1.4 要择战而斗t16813.1.5 功能、质量和商业需求的某个集合塑造了构架t16913.2 关键需求决定架构t16913.2.1 实践中的常见问题t16913.2.2 关键需求决定架构t17113.3 确定关键需求在软件过程中所处的位置t17213.3.1 对架构关键的需求vs.需求优先级t17213.3.2 关键需求对后续活动的影响t17313.4 什么是对软件架构关键的需求t17413.4.1 关键的功能需求t17413.4.2 关键的质量属性需求t17513.4.3 关键的商业需求t17513.5 如何确定对软件架构关键的需求t17613.5.1 全面整理需求t17713.5.2 分析约束性需求t17813.5.3 确定关键功能需求t17813.5.4 确定关键质量属性需求t17913.6 PM Tool实战:确定关键需求t18013.7 总结与强调t1804章 概念性架构设计t18314.1 概念性架构设计的步骤t18414.2 鲁棒性分析t18514.2.1 分析和设计之间的鸿沟t18514.2.2 鲁棒图简介t18614.2.3 从用例到鲁棒图t18714.3 运用架构模式t18814.3.1 架构模式简介t18814.3.2 架构模式的经典分类t18914.3.3 架构模式的现代分类t19014.3.4 分层t19114.3.5 MVCt19114.3.6 微内核t19214.3.7 基于元模型的架构t19314.3.8 管道-过滤器t19414.4 PM Tool实战:概念性架构设计t19414.4.1 进行鲁棒性分析t19414.4.2 引入架构模式t19614.4.3 质量属性分析t19614.4.4 设计结果t19714.5 总结与强调t1985章 质量属性分析t19915.1 质量属性需求基础t20015.2 质量属性分析的位置t20115.3 利用“属性-场景-决策”表设计架构决策t20115.3.1 概述t20115.3.2 “属性-场景-决策”表方法t20215.3.3 题外话:《需求文档》如何定义质量属性需求t20415.4 PM Tool实战:可扩展性设计t20415.5 总结与强调t2056章 细化架构设计t20716.1 架构细化在软件过程中所处的位置t20816.1.1 我们走到哪了t20816.1.2 运用基于5视图方法进行架构细化t20916.2 设计逻辑架构t21016.2.1 概述t21016.2.2 识别通用机制t21016.3 设计开发架构t21316.3.1 概述t21316.3.2 分层和分区t21316.4 设计数据架构t21616.4.1 概述t21616.4.2 如何将OO模型映射为数据模型t21716.5 设计运行架构t21916.5.1 概述t21916.5.2 运用主动类规划并发t22016.5.3 应用协议的设计t22416.6 设计物理架构t22416.6.1 概述t22416.7 注意满足所有约束性软件需求t22516.8 PM Tool实战:细化架构设计t22616.9 总结与强调t2297章 实现并验证软件架构t23117.1 基础知识t23217.1.1 原型技术及分类t23217.1.2 验证架构的两种方法t23517.2 实现并验证软件架构的具体做法t23517.3 总结与强调t2378章 MIME编码类案例:从面向过程到面向对象t23918.1 设计目标t23918.2 MIME编码基础知识t24018.3 MIME编码类的设计过程t24018.3.1 面向过程的设计方案t24018.3.2 转向面向对象设计t24218.3.3 面向对象设计方案的确定t24518.3.4 Template Method和Strategy模式的对比t2489章 突破OOP思维:继承在OOD中的应用t24919.1 从一则禅师语录说起t24919.1.1 见继承是继承——程序员境界t25019.1.2 见继承不是继承——成长境界t25019.1.3 见继承只是继承——设计师境界t25019.2 从OOD层面认识继承t25019.3 针对接口编程——隔离变化t25119.3.1 相关理论t25119.3.2 针对接口编程举例——用于架构设计t25119.3.3 针对接口编程举例——用于类设计t25319.4 混入类——更好的重用性t25419.4.1 相关理论t25419.4.2 混入类举例t25419.5 基于角色的设计——使用角色组装协作t25519.5.1 相关理论t25519.5.2 基于角色的设计举例t256第20章 细微见真章:耦合其实并不空洞t25720.1 顺序耦合性简介t25720.2 案例研究:顺序耦合性Bug一例t25720.2.1 项目简介t25820.2.2 新的需求t25820.2.3 发现顺序耦合性Bugt25920.2.4 跟踪调试t25920.2.5 分析原因t26120.2.6 解决策略t26120.2.7 运用重构的“Extract Method”成例t26120.2.8 运用重构的“Hide Method”成例t26220.2.9 运用重构的“Introduce Parameter Object”成例t26220.2.10 其它改进t262第21章 敏捷设计:从理论到实践t26521.1 换个角度考察依赖t26621.1.1 依赖的概念t26621.1.2 从会不会造成“实际危害”的角度考察依赖t26621.2 良性依赖原则t26621.2.1 依赖是不可避免的t26621.2.2 重要的是如何务实地应付变化t26721.3 案例:需求改变引起良性依赖变成恶性依赖t26721.4 案例:隔离第三方SDK可能造成的冲击t26921.5 案例:对具体类的良性依赖t27121.6 总结:如何处理好依赖关系t273第22章 基于角色的设计:从理论到实践t27522.1 基于角色的设计理论t27622.2 基于角色的设计与团队开发t27622.3 基于角色的设计实践t27722.4 基于角色的设计案例t27922.4.1 项目简介t27922.4.2 通过基于角色的设计组织子系统之间的协作t27922.4.3 通过基于角色的设计组织同一子系统内不同模块之间的协作t28022.5 基于角色的设计与面向对象分析t281第23章 设计模式:理解和运用更多模式t28323.1 关于模式的两个问题t28323.2 模式的正交分类法t28423.2.1 正交思维t28423.2.2 正交思维用于模式分类t28523.3 专攻性能:性能模式简介t28723.4 模型驱动开发的方方面面:MDD模式简介t28923.5 总结:拥抱模式t290第24章 如此轻松:立足图论学UMLt29124.1 管窥UML中的OO思想t29224.1.1 一道笔试题的故事t29224.1.2 UML背后的思想t29324.2 图的定义与UML应用t29424.2.1 图的定义t29424.2.2 图的定义的UML应用——UML的图论观点t29524.2.3 图的定义的UML应用——关联类语法的理解t29624.2.4 图的定义的UML应用——说说序列图t29724.3 有向边与UML应用t29824.3.1 有向边t29824.3.2 有向边的UML应用——依赖关系t29824.3.3 有向边的UML应用——泛化、实现和关联的依赖思想t30024.3.4 有向边的UML应用——一个例子t30024.4 着色顶点与UML应用t30124.4.1 着色顶点t30124.4.2 着色顶点的UML应用——通过颜色为图元分类t30224.4.3 着色顶点的UML应用——UML彩色建模方法介绍t30324.5 着色边与UML应用t30524.6 图的同构与UML应用t30624.6.1 图的同构t30624.6.2 图的同构的UML应用——UML风格t306第25章 理解软件过程:解析RUP核心概念t30925.1 架构师必须了解软件过程t30925.1.1 架构师的工作职责t30925.1.2 架构师必须了解软件过程t31025.2 RUP实践中的常见问题t31025.3 RUP核心概念解析t31125.3.1 一图胜千言t31125.3.2 角色执行活动,活动生产工件t31125.3.3 阶段和迭代:提供不同级别的决策时机t31225.3.4 配置和变更管理支持迭代式的基于基线的开发t31425.3.5 发布是什么,发布不是什么t315第26章 海阔凭鱼跃:通盘理解软件工程t31726.1 什么是软件工程概念模型t31726.2 一个精简的软件工程概念模型t31726.3 一个细化的软件工程概念模型t31826.3.1 模型概述t31926.3.2 方法论t31926.3.3 过程t31926.3.4 目标t32026.3.5 项目t32026.3.6 其他t32126.4 软件工程概念模型的具体应用t32126.4.1 搞清楚Agile是过程还是方法论t32126.4.2 为CMM定位t32226.4.3 理解RUP定制t32326.5 总结:软件工程概念模型的启示t32326.5.1 软件工程,一门实践的科学t32326.5.2 软件过程,合适的才是好的t32426.5.3 对个人的启示t32426.5.4 呼唤高层次人才t324
作者介绍
温昱,资深咨询顾问,CSAI特聘高级顾问,软件架构专家,软件架构思想的传播者和积极推动者。十年系统规划、架构设计和研发管理经验,在金融、航空、多媒体、网络管理、中间件平台等领域负责和参与多个大型系统的规划、设计、开发与管理。在《程序员》杂志、IBM DeveloperWorks等媒体发表了《图论思想与UML应用》、《敏捷设计从理论到实践》、《随需而变的RUP》等文章数十篇。译著有《应用框架的设计与实现——NET平台》等。松耦合空间(www.ou-he.com)网站创办人。
序言
— 没有更多了 —
以下为对购买帮助不大的评价