软件系统架构
2021-09-01 21:14:30 3 举报
AI智能生成
软件系统架构使用视点和视角与利益相关者合作
作者其他创作
大纲/内容
1.1 利益相关者、视点和视角
1.2 本书结构
1.3 谁应该阅读本书
1.4 本书约定
第1章 简介
系统元素和关系
基本系统属性
设计和发展的原则
系统属性和内部组织形式
软件架构的重要性
软件架构
个人、团队或组织
兴趣和关注点
利益相关者的重要性
利益相关者
架构元素
架构描述
核心概念之间的关系
第2章 软件架构概念
架构视图
视点
使用视点和视图的好处
视点缺陷
视点目录
第3章 视点和视图
质量属性
架构视角
向视图应用视角
深入的观点
提升
精品内容
应用视角的结果
使用视角的好处
视角的缺陷
视角与视点对比
视角种类
第4章 架构视角
架构定义不仅是设计
需求分析和架构定义之间的区别
架构定义和设计之间的区别
架构定义过程
架构师的角色
核心概念之间的相互关系
架构专门化
业务分析师
项目经理
设计主管
技术专家
开发者
组织情境
架构师的技能
架构师的责任
第5章 软件架构师的角色
第一部分 架构的基本原则
第6章 软件架构过程简介
指导原则
过程产出物
过程情境
支持活动
架构定义活动
过程完成标准
瀑布式方法
迭代方法
敏捷方法
软件开发生命周期中的架构定义
第7章 架构定义过程
业务策略
业务目标和驱动力
系统范围和需求
业务标准和政策
专注于问题的关注点
it策略
技术目标和驱动力
技术标准和政策
专注于解决方案的关注点
其他现实世界中的约束
什么决定了好的关注点
什么造就了好的原则
定义自己的原则
架构原则
架构决定
使用原则关联关注点和决定
检查列表
第8章 关注点、原则和决定
利益相关者的选择
出资方
评估者
沟通者
开发人员
维护人员
生产工程师
供应商
支持人员
系统管理员
测试人员
用户
利益相关者的类别
非专门设计的部署项目
软件产品开发项目
合作开发
示例
代理利益相关者
利益相关者组
利益相关者的责任
第9章 确定并引入利益相关者
场景类型
使用场景
识别场景并排定优先级
捕获场景
什么造就了好场景
纸质模型
走查
模拟
原型实现的测试
完整规模真实测试
应用场景
识别一系列重点场景
使用清晰的场景
尽早使用场景
包含对系统质量场景的使用
包含对故障场景的使用
让利益相关者紧密参与
有效使用场景
第10章 识别并使用场景
设计模式介绍
架构样式
软件设计模式
语言惯用法
使用样式、模式和惯用法
样式、模式和惯用法
模式和架构策略
架构样式的例子
使用架构样式的好处
样式和架构描述
应用设计模式和语言惯用法
第11章 使用样式和模式
模型为什么重要
定性模型
定量模型
示意图
模型的类型
架构描述语言
统一建模语言
可执行的领域专用语言
其他建模语言
建模语言
有目的地建模
应对受众
仔细、准确地抽象
根据风险确定工作重点
选择描述性的名称
定义你的术语
以简单为目标
使用已定义的标记法
了解暗示的语义
验证模型
保持模型的活力
创建有效模型的准则
和敏捷团队一起建模
第12章 创建架构模型
正确
充分
及时
简洁
清晰
最新
精确
有效架构描述的属性
词汇表
iso标准
文档控制
内容表
介绍和管理纲要
通用架构原则
架构设计决定
视图
质量属性摘要
重要的方案
亟待解决的问题
附录
架构描述的内容
展现架构描述
第13章 创建架构描述
为什么要评估架构
演讲
正式评审和结构化的走查
通过使用场景来评估
原型和概念验证系统
骨架系统
评估技术
以架构为中心的活动
以利益相关者为中心的活动
基于场景的评估方法
在软件生命周期内评估
验证现存系统的架构
记录评估结果
选择评估方法
第14章 评估架构
第二部分 软件架构过程
第15章 视点类型简介
系统范围和责任
外部实体和服务以及所用数据的标识
外部实体的本质和特征
外部接口的标识和职责
外部接口的本质和特征
其他外部依赖关系
对系统环境的影响
总体完成度、一致性和连贯性
利益相关者的关注点
关注点
情境模型
交互场景
模型
遗漏或者错误的外部实体
遗漏隐藏的依赖关系
松散或不精确的接口描述
详细程度不合适
范围蔓延
隐藏或假设的情境和范围
过于复杂的交互
过度使用术语
问题和缺陷
第16章 情境视点
功能能力
外部接口
内部结构
功能设计哲学
设计很差的接口
难以理解的职责
基础架构作为功能性元素
过载的视图
没有元素定义的图
难以调节多位利益相关者的需求
错误的详细程度
“神元素”
过多依赖关系
第17章 功能视点
信息结构和内容
信息目的和用途
信息所有权
企业拥有的信息
标识符和映射关系
信息语义的易变性
信息存储模型
信息流
信息一致性
信息质量
及时性、延迟和寿命
归档和保留信息
静态信息结构模型
信息流模型
信息生命周期模型
其他类型的信息模型
数据展现不兼容
不可避免的多个更新器
键值匹配缺陷
接口复杂
过载的中心数据库
不一致的分布式数据库
信息质量很差
信息延迟过大
容量不足
问题和陷阱
第18章 信息视点
任务结构
功能元素与任务的映射关系
进程间通信
状态管理
同步和整合
支持可伸缩性
启动和关闭
任务故障
重入
系统级别的并发模型
状态模型
对错误的并发建模
错误地对并发建模
过度复杂
资源竞争
死锁
竞争条件
第19章 并发视点
模块组织
通用处理
设计的标准化
测试的标准化
测试辅助
代码行组织
模块结构模型
通用设计模型
代码行模型
过多细节
过载的架构描述
不平均的重点
缺少开发者的关注
精度不足
特定环境的问题
第20 章 开发视点
所需的运行时平台
硬件或者托管平台所需的规格和品质
第三方软件需求
技术兼容性
网络需求
所需的网络能力
物理约束
运行时平台模型
网络模型
技术依赖关系模型
模型之间的关系
不清晰或者不精确的依赖关系
未经验证的技术
不合适或者遗漏的服务级别 协议
缺少专家的技术知识
未能及时考虑部署环境
忽略站点间的复杂性
提供的净空不合适
未指定灾难恢复环境
第21 章 部署视点
安装和升级
功能迁移
数据迁移
运维监控和控制
警告
配置管理
性能监控
支持
备份和还原
第三方环境中的运维
安装模型
迁移模型
配置管理模型
管理模型
支持模型
缺少运维人员的参与
缺少撤销计划
缺少迁移计划
不充分的迁移窗口
遗漏管理工具
生产环境的约束
缺少到生产环境中的整合
不充分的备份模型
不合适的警告
第22 章 运维视点
视图之间的关系
情境和功能视图
情境和信息视图
情境和部署视图
功能和信息视图
功能和并发视图
功能和开发视图
功能和部署视图
功能和运维视图
信息和并发视图
信息和开发视图
信息和部署视图
信息和运维视图
并发和开发视图
并发和部署视图
部署和运维视图
第23 章 保持视图一致性
第三部分 视点类型
第24 章 视角类型简介
对视图的适用性
资源
当事人
策略
威胁
机密性
完整性
可用性
可说明性
检测和恢复
安全机制
确定敏感资源
定义安全性策略
识别对系统的威胁
设计安全性实现
评估安全风险
活动:应用安全视角
应用识别出的安全性原则
对用户进行身份验证
授权访问
确保信息保密性
确保信息的完整性
确保可负责性
保护可用性
整合安全性技术
提供安全性管理
使用第三方的安全性基础架构
架构策略
复杂的安全性策略
未经验证的安全性技术
没有针对故障设计系统
缺少管理工具
技术驱动的方法
没有考虑时间源
过度依赖于技术
没有清晰的需求或模型
把安全性作为事后的想法
忽略内部人员的威胁
假设客户端是安全的
嵌入在应用程序代码中的安全性
零碎的安全性
临时的安全技术
获取需求的检查列表
架构定义的检查列表
第25 章 安全性视角
响应时间
吞吐量
可伸缩性
可预测性
硬件资源需求
峰值负载行为
获取性能需求
创建性能模型
分析性能模型
执行实际的测试
根据需求评估
重做架构
活动:应用性能和可伸缩性视角
优化重复的处理
通过复制减少竞争
对处理按优先级排序
合并相关的工作
随时间分发处理
最小化对共享资源的使用
重用资源和结果
分解和并行化
增强或扩展
舒缓降级
使用异步处理
放宽事务的一致性
做出设计折中
不精确的性能和可伸缩性目标
不实际的模型
对复杂情况使用简单的度量
不合适的分区
无效的环境和平台假设
太多间接层
与并发相关的竞争
数据库竞争
事务过载
粗心地分配资源
忽视网络和进程中调用的区别
针对获取需求的检查列表
针对架构定义的检查列表
第26 章 性能和可伸缩性视角
服务的类型
有计划的停机时间
未经计划的停机时间
维修时间
灾难恢复
捕获可用性需求
创建可用性日程表
评估平台的可用性
评估功能可用性
根据需求进行评估
应用策略以重做架构
活动:应用可用性和弹性视角
选择容错硬件
使用高可用性集群和负载均衡
日志事务
应用软件可用性解决方案
选择或创建容错软件
设计故障
考虑组件复制
放宽事务一致性
确定备份和灾难恢复解决方案
故障单点
级联故障
由于过载造成的不可用
过分激进的可用性需求
无效的错误侦测
对组件弹性的过度估计
忽略全球可用性需求
不兼容的技术
针对需求获取的检查列表
第27 章 可用性和弹性视角
产品管理
变化的量级
变化的维度
变化的可能性
变化的时间跨度
何时为变化支付
由外部因素驱动的变更
开发复杂度
知识的保存
变更的可靠性
描绘演进需求的特征
评估当前演进的难易程度
考虑演进的取舍
活动:应用演进视角
包含变更
创建可扩展的接口
应用促进变更的设计技术
应用基于元模型的架构样式
把变化点构建到软件中
使用标准的扩展点
达到可靠地变更
保存开发环境
对错误的维度按优先级排序
永远不会发生的变更
演进对重要质量属性的影响
过度依赖特定的硬件或软件
丢失开发环境
临时的发布管理
对于需求获取的检查列表
对于架构设计的检查列表
第28 章 演进视角
活动:应用可访问性视角
可访问性视角
活动:应用开发资源视角
开发资源视角
活动:应用国际化视角
国际化视角
活动:应用位置视角
位置视角
活动:应用法规视角
法规视角
活动:应用易用性视角
易用性视角
第29 章 其他视角
第四部分 视角
小型和低风险项目中的架构
敏捷项目中的架构
计划驱动项目中的架构
大型项目中的架构
项目生命周期中的架构
内部系统开发
新产品开发
企业服务
对已经存在系统的扩展
程序包实现
internet 支持程序
退役
支持不同类型的项目
第30 章 作为软件架构师工作
第五部分 把所有内容组合起来
软件系统架构
0 条评论
下一页