微软应用软件架构设计指南2.0 主要特征( features) 应用软件的架构设计框架( framework) 模块化 整体化 专业知识 充分验证(微软内部测试评价+外部反馈 不断的局部演进: Net framework已到35版(4.0 版Beta)
微软应用软件架构设计指南2.0 • 主要特征(features) – 应用软件的架构设计框架(framework) – 模块化 – 整体化 – 专业知识 – 充分验证(微软内部测试评价+外部反馈 • 不断的局部演进:.Net Framework已到3.5版(4.0 版Beta)
微软应用软件架构设计指南2.0 应用架构设计基础( fundamentals) 架构设计 设计一个结构的解决方案的过程,以满足技术和运 行需求,同时以最佳的方法达到质量指标要求 涉及众多因素和相关人员 涉及一系列的决策 架构设计的定义 没有统一的定义:是工程,是科学,也是艺术 通常包含构件及其结构,构件之间的关系
微软应用软件架构设计指南2.0 • 应用架构设计基础(fundamentals) – 架构设计 • 设计一个结构的解决方案的过程,以满足技术和运 行需求,同时以最佳的方法达到质量指标要求 • 涉及众多因素和相关人员 • 涉及一系列的决策 – 架构设计的定义 • 没有统一的定义:是工程,是科学,也是艺术 • 通常包含构件及其结构,构件之间的关系
微软应用软件架构设计指南2.0 三种常见的定义(一) Software architecture encompasses the set of significant decisions about the organization of a software system including Selection 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 also involves functionality, usability, resilience, performance, reuse, comprehensibility, economic and technology constraints, tradeoffs and aesthetic concerns
微软应用软件架构设计指南2.0 • 三种常见的定义(一) “Software architecture encompasses the set of significant decisions about the organization of a software system including: Selection 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 also 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 architectures 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 highest-level breakdown of a system into its parts. The decisions that are hard to change. There are multiple architectures in a system. What is architecturally significant can change over a system’s 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 comprise 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 elements- details having to do solely with internal implementation -are not architectural
微软应用软件架构设计指南2.0 • 三种定义(三) “The software architecture of a program or computing system is the structure or structures of the system, which comprise 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 elements— details having to do solely with internal implementation—are not architectural