微软应用软件架构设计指南0-Application课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《微软应用软件架构设计指南0-Application课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 微软 应用软件 架构 设计 指南 Application 课件
- 资源描述:
-
1、微软应用软件架构设计指南2.0Application Architecture Guide 2.0Designing Application on the .NET Platform王冠三博士微软总部研究院首席研究员任NISD部门首席架构师应用软件架构设计指南2.0 日程 指南导读 应用软件架构设计基础 微软.NET平台概述 Rich-Client Visual Studio 演示 网络应用软件的架构设计 移动应用软件的架构设计 案例:微软语音产品设计过程微软应用软件架构设计指南2.0 背景概述 2002版的“基于.NET的应用软件架构设计:设计应用软件和服务”(Application Arc
2、hitecture for .NET: Designing Application and Services) 基于原理的指南,整合最新实践和技术 微软内部的经验为主,外部专家和用户的积极参与 本人的参与: 语音API(SAPI)架构转型 W3C, ECMA, ISO 代表微软应用软件架构设计指南2.0 目的 主要对象:解决方案架构师和开发组长 更加有效地研发.NET平台上的应用软件 对其它平台上的软件开发也很有参考价值 提供设计层面的指南 注重最常见的应用类别 有助于架构师选择正确的架构设计方案,选择正确的技术,做出更有效的设计决策,遵循正确的模式(pattern)微软应用软件架构设计指南2
3、.0 指南的组织机构:围绕六个方面 典型的架构设计风格(arch styles) 应用类别(app types) 架构设计框架(arch frame) 质量属性(quality attributes) 原理,模式,实践(principles, patterns, practices) 技术与相关功能(tech & capabilities)微软应用软件架构设计指南2.0 主要特征(features) 应用软件的架构设计框架(framework) 模块化 整体化 专业知识 充分验证(微软内部测试评价+外部反馈 不断的局部演进:.Net Framework已到3.5版(4.0版Beta)微软应用软
4、件架构设计指南2.0 应用架构设计基础(fundamentals) 架构设计 设计一个结构的解决方案的过程,以满足技术和运行需求,同时以最佳的方法达到质量指标要求 涉及众多因素和相关人员 涉及一系列的决策 架构设计的定义 没有统一的定义:是工程,是科学,也是艺术 通常包含构件及其结构,构件之间的关系微软应用软件架构设计指南2.0 三种常见的定义(一)“Software architecture encompasses the set of significant decisions about the organization of a software system including:Se
5、lection of the structural elements and their interfaces by which the system is composed.Behavior as specified in collaboration among those elements.Composition of these structural and behavioral elements into larger subsystems.Architectural style that guides this organization.Software architecture a
6、lso involves functionality, usability, resilience, performance, reuse, comprehensibility, economic and technology constraints, tradeoffs and aesthetic concerns.”微软应用软件架构设计指南2.0 三种定义(二)The highest-level breakdown of a system into its parts.The decisions that are hard to change.There are multiple arch
7、itectures in a system.What is architecturally significant can change over a systems lifetime.In the end, architecture boils down to whatever the important stuff is.微软应用软件架构设计指南2.0 三种定义(三)“The software architecture of a program or computing system is the structure or structures of the system, which c
8、omprise software elements, the externally visible properties of those elements, and the relationships among them. Architecture is concerned with the public side of interfaces; private details of elementsdetails having to do solely with internal implementationare not architectural.”微软应用软件架构设计指南2.0 架构
9、设计的作用 提供一个坚实的“地基”(solid foundation) 提供开发工程师一个统一的系统设计思路和策略 重点在于构件和界面如何交互作用 降低产品的风险 考虑关键的使用“场景”(scenarios) 避免常见问题 考虑决定的长远影响微软应用软件架构设计指南2.0 架构设计的目标 通过对使用场景的深刻理解来建立业务需求和技术需求之间的“桥梁” 寻求最佳技术方案来实现业务需求 重点是识别对系统结构有重要影响的业务需求 降低技术方案业务风险 让系统具有足够的灵活性 解决质量指标要求之间的平衡 解决其他因素之间的冲突微软应用软件架构设计指南2.0 好的架构设计: 展现系统的结构但是隐藏实现的
10、细节 满足所有的使用需求 能解决系统相关人员(stakeholders)的各种顾虑 很好地实现功能需求,同时也满足质量指标的要求微软应用软件架构设计指南2.0 设计手段 以设计底线为参考 制定多个待选方案 测试评估,改进 几个要点: 所用假设是否正确 满足那些明显的和隐含的需求 存在的关键风险 对付风险的方案微软应用软件架构设计指南2.0 架构设计底线方法 应用类型 架构设计风格 功能元件的分析 部署策略 合适的技术 质量指标要求 全局因素微软应用软件架构设计指南2.0 设计的核心步骤 明确架构设计的目的(objectives) 找出关键场景(key scenarios) 概略分析开发的应用
11、(overview) 识别“敏感点” (hotspots) 制定候选方案 (candidate solutions)微软应用软件架构设计指南2.0 架构设计风格(styles) 基于构件的架构 (component-based) 信息通道架构(message-bus) 层次架构(layered-based) 3-tier/N-tier架构 面向对象架构(object-oriented, OOA) 名词取向 Noun centric 面向服务架构(service-oriented, SOA) 动词取向 Verb centric微软应用软件架构设计指南2.0 质量属性要求 可用性(availabi
12、lity) 概念完整性(conceptual integrity) 灵活性(flexibility) 互通性(interoperability) 可维护性 (maintainability) 可管理性(manageability) 性能(performance)微软应用软件架构设计指南2.0 质量属性要求(续) 可靠性(reliability) 再用性(reusability) 扩展性(scalability) 安全性(security) 可支持性(supportability) 可测试性(testability) 易用性(usability)微软应用软件架构设计指南2.0 架构设计的关键原则
展开阅读全文