微软应用软件架构设计指南.ppt
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
积极参与 • 本人的参与:
微软应用软件架构设计指南2.0
• 目的 • 主要对象:解决方案架构师和开发组长 • 更加有效地研发平台上的应用软件 • 对其它平台上的软件开发也很有参考价值 • 提供设计层面的指南 • 注重最常见的应用类别
微软应用软件架构设计指南2.0
• 指南的组织机构:围绕六个方面 • 典型的架构设计风格( ) • 应用类别( ) • 架构设计框架( ) • 质量属性( ) • 原理,模式,实践(, , )
演示
微软应用软件架构设计指南2.0
• 例:平台和层次式架构的应用
微软应用软件架构设计指南2.0
• 层次架构设计 • 表现层( ) • 构件 • 处理件
微软应用软件架构设计指南2.0
• 层次架构设计 (续) • 业务层( ) • 应用表象( ç): • 业务工作流( ) • 业务构件 • 业务实体( )
• 质量属性要求 • 可用性() • 概念完整性( ) • 灵活性() • 互通性() • 可维护性 ()
微软应用软件架构设计指南2.0
• 质量属性要求(续) • 可靠性() • 再用性() • 扩展性() • 安全性() • 可支持性()
微软应用软件架构设计指南2.0
• 架构设计的关键原则 • 采用模型分析,降低风险 () • 采用模型和视图()进行交流 • 辨别什么决定影响核心工程 • 适应变化的设计而不是“永存”的设计 • 采用“递加渐进”的方法逐步完善设计
• 设计面对的关键问题(续) • 信息交流() • 传输协议选择不当 • 不必要的传输 • 对敏感数据保护不当 • 合成()
微软应用软件架构设计指南2.0
• 设计面对的关键问题(续) • 并发和事务处理( ) • 对静态数据的并发存取不作保护 • 不当“锁定”导致“死锁” • 没有选择正确的数据并发模型 • 运行时间长的事务处理“锁定”数据
微软应用软件架构设计指南2.0
• 设计面对的关键问题(续) • 配置管理 ( ) • 缺乏配置信息 • 对敏感配置信息保护不当 • 对配置信息的存取不作必要的保护 • 耦合和凝聚( )
微软应用软件架构设计指南2.0
• 设计面对的关键问题(续) • 数据存取( ) • 不必要的认证和授权细分 • 过于频繁的数据库调用 • 混淆业务逻辑与数据存取代码 • 例外管理( )
微软应用软件架构设计指南2.0
• 架构设计底线方法 • 应用类型 • 架构设计风格 • 功能元件的分析 • 部署策略 • 合适的技术
微软应用软件架构设计指南2.0
• 架构设计风格() • 基于构件的架构 () • 信息通道架构() • 层次架构() • 3架构 • 面向对象架构(, )
微软应用软件架构设计指南2.0
微软应用软件架构设计指南2.0
• 层次架构设计(续) • 数据层 • 数据存取 • 辅助功能( ) • 服务代理( )
微软应用软件架构设计指南2.0
微软应用软件架构设计指南2.0
• 层次架构设计(续): 综合因素() • 安全性 • 运行管理 • 信息交流 • ,,… •,
微软应用软件架构设计指南2.0
微软应用软件架构设计指南2.0 2.0
应用软件架构设计指南2.0
• 日程 • 指南导读 • 应用软件架构设计基础 • 微软平台概述 • 演示 • 网络应用软件的架构设计
微软应用软件架构设计指南2.0
• 背景概述 • 2002版的“基于的应用软件架构设计:设
计应用软件和服务”( : ) • 基于原理的指南,整合最新实践和技术 • 微软内部的经验为主,外部专家和用户的
微软应用软件架构设计指南2.0
• 主要特征() • 应用软件的架构设计框架() • 模块化 • 整体化 • 专业知识 • 充分验证(微软内部测试评价+外部反馈
微软应用软件架构设计指南2.0
• 应用架构设计基础() • 架构设计 • 设计一个结构的解决方案的过程,以满足
技术和运行需求,同时以最佳的方法达到 质量指标要求 • 涉及众多因素和相关人员
• 架构设计的作用 • 提供一个坚实的“地基”( ) • 提供开发工程师一个统一的系统设计思路
和策略 • 重点在于构件和界面如何交互作用 • 降低产品的风险
微软应用软件架构设计指南2.0
• 架构设计的目标 • 通过对使用场景的深刻理解来建立业务需
求和技术需求之间的“桥梁” • 寻求最佳技术方案来实现业务需求 • 重点是识别对系统结构有重要影响的业务
微软应用软件架构设计指南2.0
பைடு நூலகம்
• 三种常见的定义(一)
•“
a:
•
.
•.
•
.
•.
微软应用软件架构设计指南2.0
• 三种定义(二) • a. •. • a. • a ’s . •, .
微软应用软件架构设计指南2.0
• 三种定义(三)
•“ a
,, , .
; — — .”
微软应用软件架构设计指南2.0
• 设计的核心原则 • 关注分离原则( ) • 功能单一原则( ) • 最少相知原则( ) • 不重复原则 () • 逐步叠加原则
微软应用软件架构设计指南2.0
• 设计面对的关键问题 • 认证和授权( ) • 在信任边界之间缺乏认证 • 在信任边界之间缺乏授权 • 过细或不当授权 • 暂存()
微软应用软件架构设计指南2.0
需求 • 降低技术方案业务风险
微软应用软件架构设计指南2.0
• 好的架构设计: • 展现系统的结构但是隐藏实现的细节 • 满足所有的使用需求 • 能解决系统相关人员()的各种顾虑 • 很好地实现功能需求,同时也满足质量指
标的要求
微软应用软件架构设计指南2.0
• 设计手段 • 以设计底线为参考 • 制定多个待选方案 • 测试评估,改进 • 几个要点: • 所用假设是否正确
微软应用软件架构设计指南2.0
• 平台概述 • 由若干服务器应用,基础设施构件(),实时服
务,和框架构成 • 应用基础设施
• • 移动应用()
微软应用软件架构设计指南2.0
• 平台支援的应用类型 • 应用
• “强势”网络应用( ())
• “强势”客户端应用( )
微软应用软件架构设计指南2.0
• 平台支援的应用类型(续) • 服务() • () • () • 协同/工作流() • ()
微软应用软件架构设计指南2.0
• 目的 • 主要对象:解决方案架构师和开发组长 • 更加有效地研发平台上的应用软件 • 对其它平台上的软件开发也很有参考价值 • 提供设计层面的指南 • 注重最常见的应用类别
微软应用软件架构设计指南2.0
• 指南的组织机构:围绕六个方面 • 典型的架构设计风格( ) • 应用类别( ) • 架构设计框架( ) • 质量属性( ) • 原理,模式,实践(, , )
演示
微软应用软件架构设计指南2.0
• 例:平台和层次式架构的应用
微软应用软件架构设计指南2.0
• 层次架构设计 • 表现层( ) • 构件 • 处理件
微软应用软件架构设计指南2.0
• 层次架构设计 (续) • 业务层( ) • 应用表象( ç): • 业务工作流( ) • 业务构件 • 业务实体( )
• 质量属性要求 • 可用性() • 概念完整性( ) • 灵活性() • 互通性() • 可维护性 ()
微软应用软件架构设计指南2.0
• 质量属性要求(续) • 可靠性() • 再用性() • 扩展性() • 安全性() • 可支持性()
微软应用软件架构设计指南2.0
• 架构设计的关键原则 • 采用模型分析,降低风险 () • 采用模型和视图()进行交流 • 辨别什么决定影响核心工程 • 适应变化的设计而不是“永存”的设计 • 采用“递加渐进”的方法逐步完善设计
• 设计面对的关键问题(续) • 信息交流() • 传输协议选择不当 • 不必要的传输 • 对敏感数据保护不当 • 合成()
微软应用软件架构设计指南2.0
• 设计面对的关键问题(续) • 并发和事务处理( ) • 对静态数据的并发存取不作保护 • 不当“锁定”导致“死锁” • 没有选择正确的数据并发模型 • 运行时间长的事务处理“锁定”数据
微软应用软件架构设计指南2.0
• 设计面对的关键问题(续) • 配置管理 ( ) • 缺乏配置信息 • 对敏感配置信息保护不当 • 对配置信息的存取不作必要的保护 • 耦合和凝聚( )
微软应用软件架构设计指南2.0
• 设计面对的关键问题(续) • 数据存取( ) • 不必要的认证和授权细分 • 过于频繁的数据库调用 • 混淆业务逻辑与数据存取代码 • 例外管理( )
微软应用软件架构设计指南2.0
• 架构设计底线方法 • 应用类型 • 架构设计风格 • 功能元件的分析 • 部署策略 • 合适的技术
微软应用软件架构设计指南2.0
• 架构设计风格() • 基于构件的架构 () • 信息通道架构() • 层次架构() • 3架构 • 面向对象架构(, )
微软应用软件架构设计指南2.0
微软应用软件架构设计指南2.0
• 层次架构设计(续) • 数据层 • 数据存取 • 辅助功能( ) • 服务代理( )
微软应用软件架构设计指南2.0
微软应用软件架构设计指南2.0
• 层次架构设计(续): 综合因素() • 安全性 • 运行管理 • 信息交流 • ,,… •,
微软应用软件架构设计指南2.0
微软应用软件架构设计指南2.0 2.0
应用软件架构设计指南2.0
• 日程 • 指南导读 • 应用软件架构设计基础 • 微软平台概述 • 演示 • 网络应用软件的架构设计
微软应用软件架构设计指南2.0
• 背景概述 • 2002版的“基于的应用软件架构设计:设
计应用软件和服务”( : ) • 基于原理的指南,整合最新实践和技术 • 微软内部的经验为主,外部专家和用户的
微软应用软件架构设计指南2.0
• 主要特征() • 应用软件的架构设计框架() • 模块化 • 整体化 • 专业知识 • 充分验证(微软内部测试评价+外部反馈
微软应用软件架构设计指南2.0
• 应用架构设计基础() • 架构设计 • 设计一个结构的解决方案的过程,以满足
技术和运行需求,同时以最佳的方法达到 质量指标要求 • 涉及众多因素和相关人员
• 架构设计的作用 • 提供一个坚实的“地基”( ) • 提供开发工程师一个统一的系统设计思路
和策略 • 重点在于构件和界面如何交互作用 • 降低产品的风险
微软应用软件架构设计指南2.0
• 架构设计的目标 • 通过对使用场景的深刻理解来建立业务需
求和技术需求之间的“桥梁” • 寻求最佳技术方案来实现业务需求 • 重点是识别对系统结构有重要影响的业务
微软应用软件架构设计指南2.0
பைடு நூலகம்
• 三种常见的定义(一)
•“
a:
•
.
•.
•
.
•.
微软应用软件架构设计指南2.0
• 三种定义(二) • a. •. • a. • a ’s . •, .
微软应用软件架构设计指南2.0
• 三种定义(三)
•“ a
,, , .
; — — .”
微软应用软件架构设计指南2.0
• 设计的核心原则 • 关注分离原则( ) • 功能单一原则( ) • 最少相知原则( ) • 不重复原则 () • 逐步叠加原则
微软应用软件架构设计指南2.0
• 设计面对的关键问题 • 认证和授权( ) • 在信任边界之间缺乏认证 • 在信任边界之间缺乏授权 • 过细或不当授权 • 暂存()
微软应用软件架构设计指南2.0
需求 • 降低技术方案业务风险
微软应用软件架构设计指南2.0
• 好的架构设计: • 展现系统的结构但是隐藏实现的细节 • 满足所有的使用需求 • 能解决系统相关人员()的各种顾虑 • 很好地实现功能需求,同时也满足质量指
标的要求
微软应用软件架构设计指南2.0
• 设计手段 • 以设计底线为参考 • 制定多个待选方案 • 测试评估,改进 • 几个要点: • 所用假设是否正确
微软应用软件架构设计指南2.0
• 平台概述 • 由若干服务器应用,基础设施构件(),实时服
务,和框架构成 • 应用基础设施
• • 移动应用()
微软应用软件架构设计指南2.0
• 平台支援的应用类型 • 应用
• “强势”网络应用( ())
• “强势”客户端应用( )
微软应用软件架构设计指南2.0
• 平台支援的应用类型(续) • 服务() • () • () • 协同/工作流() • ()