1、体系结构1.各种性能指标及如何到达各种性能指标的方法 (1). Performance Throughput吞吐量 Measure of the amount of work an application must perform in unit time(2). Performance - Response Time响应时间 measure of the latency an application exhibits in processing a request(3). Performance - Deadlines something must be completed before s
2、ome specified timeICDE Performance Issues(1)Scalability伸缩性(2)Modifiability可变性(3).Security安全性(4).Availability实用性(有效性、可用性)(5).Integration集成性2.常用的中间件有那几种类型 CORBA Message-oriented middleware J2EE Message brokers Business process orchestrators 常见的对象请求代理架构 面向消息的中间件 Java2 Enterprise Edition(Java2的企业版) 消息代理
3、 业务过程代理3.有那些常见架构风格(1). Pipe and Filter Architectural Style Suitable for applications that require a defined series of independent computations to be performed on ordered data. A component reads streams of data on its inputs and produces streams of data on its outputs. Components: called filters, app
4、ly local transformations to their input streams and often do their computing incrementally so that output begins before all input is consumed. Connectors: called pipes, serve as conduits for the streams, transmitting outputs of one filter to inputs of another.(2). Object-Oriented Style Suitable for
5、applications in which a central issue is identifying and protecting related bodies of information (data). Data representations and their associated operations are encapsulated in an abstract data type. Components: are objects. Connectors: are function and procedure invocations (methods(3). Implicit
6、Invocation Style Suitable for applications that involve loosely-coupled collection of components, each of which carries out some operation and may in the process enable other operations. Particularly useful for applications that must be reconfigured on the fly: Changing a service provider. Enabling
7、or disabling capabilities. Instead of invoking a procedure directly . A component can announce (or broadcast) one or more events. Other components in the system can register an interest in an event by associating a procedure with the event. When an event is announced, the broadcasting system (connec
8、tor) itself invokes all of the procedures that have been registered for the event.(4). Client-Server Style Suitable for applications that involve distributed data and processing across a range of components. Components: Servers: Stand-alone components that provide specific services such as printing,
9、 data management, etc. Clients: Components that call on the services provided by servers. Connector: The network, which allows clients to access remote servers(5). Layered Style Suitable for applications that involve distinct classes of services that can be organized hierarchically. Each layer provi
10、des service to the layer above it and serves as a client to the layer below it. Only carefully selected procedures from the inner layers are made available (exported) to their adjacent outer layer Components: are typically collections of procedures. Connectors: are typically procedure calls under re
11、stricted visibility.(6). Repository Style Suitable for applications in which the central issue is establishing, augmenting, and maintaining a complex central body of information. Typically the information must be manipulated in a variety of ways. Often long-term persistence is required. Components:
12、A central data structure representing the correct state of the system. A collection of independent components that operate on the central data structure. Connectors: Typically procedure calls or direct memory accesses.(7). Interpreter Style Suitable for applications in which the most appropriate lan
13、guage or machine for executing the solution is not directly available. Components: include one state machine for the execution engine and three memories: current state of the execution engine program being interpreted current state of the program being interpreted Connectors: procedure calls direct
14、memory accesses.(8). Process-Control Style Suitable for applications whose purpose is to maintain specified properties of the outputs of the process at (sufficiently near) given reference values. Components: Process Definition includes mechanisms for manipulating some process variables. Control Algo
15、rithm for deciding how to manipulate process variables. Connectors: are the data flow relations for: Process Variables: Controlled variable whose value the system is intended to control. Input variable that measures an input to the process. Manipulated variable whose value can be changed by the cont
16、roller. Set Point is the desired value for a controlled variable. Sensors to obtain values of process variables pertinent to control.1. 管道和过滤器架构风格适用于需要定义一系列的执行规则数据的独立运算。组件在输入时读数据流,在输出时产生数据流。组件:称为过滤器,应用于对局部的输入流的转换,经常增长的计算,因此,在输入结束前输出就开始了。连接器:称为管道,给流提供管道,把一个过滤器的输出传输到另一个输入。2.面向对象风格适用于主要问题是识别和保护信息的相关主体。
17、数据代理和它们相关的操作封装在一个抽象数据类型里面。组件:对象连接器:功能和过程调用(方法)3.隐式调用风格应用于涉及到组件的松耦合集,其中的每一个都执行一些操作,还可能允许其他的操作。尤其对必须很快重新配置的应用很有用 改变服务的供应商 可能的或是不可能的能力不是直接的引用过程 一个组件能发表一个或多个事件 在系统中的其他组件能够在事件中注册一个兴趣通过与事件和过程结合 当一个事件被声明后,广播系统(连接器)自己引用已经注册的事件的所有过程 所有声明的事件“隐式”造成了过程在其他模块的调用4. 客户-服务器风格适用于涉及到分布式的数据和跨越一系列的组件的处理组件:服务器:标准独立的组件提供特
18、别的服务,如打印,数据管理等。客户端:组件调用服务器提供的服务。连接器:网络,允许客户端访问远程服务器。5.分层风格适用于涉及到分布式的能够分层的组织的类的服务每层给它的上一层提供服务,同时作为下一层的客户端只有仔细地从内层选择选择过程,才能用于他们临近的外层。组件:典型的过程的集合。连接器:典型的在有限的可见性下的过程调用6. 仓库风格适用于主要问题是建立、增加和维护复杂信息的主体部分信息一定要能够用很多种方式操作。经常需要长期的存在。组件:主要的数据结构能够表示出系统的正确状态操作主要数据结构的独立组件的集合连接器:典型地过程调用或是直接内存访问 7. 解释程序风格适用于执行解决方案的最合
19、适的语言或是机器不是直接可用的。组件:包括一个状态机,有一个执行引擎和三个记忆状态:当前的执行引擎的状态程序被翻译当前的被翻译的程序的状态连接器:过程调用直接内存访问8. 过程控制风格适用于目的是维护特殊过程的输出属性在给定参考值的情形下组件:过程定义 包括操作一些过程变量的机制控制算法 决定如何去操作过程变量连接器:数据流关系过程变量:被控制的变量的值是系统能控制的输入变量能够检测过程的输入操纵变量的值能够被控制器改变设置断点 是一个控制变量所需要的值传感器 获得过程变量与控制有关的值4.架构师需要的核心技能是什么 Many responsibilities: Liaison with st
20、akeholders Technology knowledge Software engineering Risk managements Long list at: http:/www.sei.cmu.edu/ata/arch_duties.html (1) 涉众之间的交流(2) 技术知识(3) 软件工程学(4) 风险管理5.什么是软件架构What is Software Architecture? Its about software design All architecture is software design, but not all design is software arc
21、hitecture Part of the design process Simply, architecture focuses on issues that will be difficult/impossible to change once the system is built Quality attributes like security, performance Non-functional requirements like cost, deployment hardware More on these later in this session 它是关于软件设计: 所有的架
22、构是软件设计,但不是所有的设计都是软件架构。 设计过程的一个部分简单地说,架构关注“一旦系统建立后就很难或是不可能改变的问题”: 质量属性,例如安全性,性能 非功能性需求,像开销,硬件配置 更多的是在这个部分之后的答:软件架构(software architecture)是一系列相关的抽象模式,用于指导大型软件系统各个方面的设计。 软件架构是一个系统的草图。软件架构描述的对象是直接构成系统的抽象组件。各个组件之间的连接则明确和相对细致地描述组件之间的通讯。在实现阶段,这些抽象组件被细化为实际的组件,比如具体某个类或者对象。在面向对象领域中,组件之间的连接通常用接口_(计算机科学)来实现。6.什
23、么是架构风格Architecture Patterns/Styles Patterns catalogue successfully used structures that facilitate certain kinds of component communication client-server Message broker Pipeline Patterns have well-known characteristics appropriate for particular types of requirements Patterns are very useful things
24、Reusable architectural blueprints Help efficiently communicate a design Large systems comprise a number of individual patterns “Patterns and Styles are the same thing the patterns people won” anonymous SEI memberArchitectural Styles of Software Systems An Architectural Style defines a family of syst
25、ems in terms of a pattern of structural organization. It determines: the vocabulary of components and connectors that can be used in instances of that style, a set of constraints on how they can be combined. For example, one might constrain: the topology of the descriptions (e.g., no cycles). execut
26、ion semantics (e.g., processes execute in parallel).一组原则。你可以把它看成是一组为系统家族提供抽象框架的粗粒度模式。7.什么是架构视图Architecture Views A software architecture represents a complex design artifact Many possible views of the architecture Cf. with buildings floor plan, external, electrical, plumbing, air-conditioning一个架构视图是
27、对于从某一视角或某一点上看到的系统所做的简化描述,描述中涵盖了系统的某一特定方面,而省略了此方面无关的实体。8.各种架构风格的组件和连接器是什么 Component and Connector: describes the behavioral aspects of the architecture. Components are objects, threads or processes, and connectors describe how components interact. Components: are objects. Connectors: are function and
28、 procedure invocations (methods). 组件:对象 连接器:功能和过程调用(方法)9.GRASP模式的具体内容The 9 GRASP Principles1. Creator2. Expert3. Controller4. Low Coupling5. High Cohesion6. Polymorphism7. Pure Fabrication8. Indirection9. Protected Variations1.CreatorAssign to class B the responsibility to create an instance of clas
29、s A if1. B aggregates A objects.2. B contains A objects.3. B records instances of A objects.4. B closely uses A objects.5. B has the initializing data that will be passed to A when it is created.2. Expert “ expresses the common intuition that objects do things related to the information they have.”
30、Assign the responsibility for “knowing” something to the object (class) that has the information necessary to fulfill the responsibility.3. ControllerThe controller is the first object beyond the UI layer that is responsible for receiving or handling a system operations message.4. Low CouplingMeasur
31、es the degree of dependency that exists between modules.5. High CohesionMeasure of the degree of “relatedness” that elements within a module share.Degree to which the tasks performed by a single module are functionally related.6. Polymorphism When related alternatives or behaviors vary by type (class), assign responsibility for the behaviorusing polymorphic operationsto the types for which
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1