Diseño de la arquitectura

Texto completo

(1)
(2)

Arquitectura de software

El proceso de diseño para la identificación de los

subsistemas que componen un sistema y el marco para

el subsistema control y comunicación es diseño

arquitectónico.

(3)

Diseño de la arquitectura

Es una etapa temprana del proceso de diseño del

sistema.

Representa el enlace entre la especificación y los

procesos de diseño.

A menudo se realiza en paralelo con algunas actividades

de especificación.

(4)
(5)

Abstracción de la arquitectura

Arquitectura en pequeña escala se refiere a la

arquitectura de programas individuales. En este nivel,

estamos preocupados por la forma en que un programa

individual se descompone en componentes.

Arquitectura en gran escala, se refiere a la arquitectura

de sistemas empresariales complejos que incluyen otros

sistemas, programas y componentes del programa.

Estos sistemas empresariales se distribuyen sobre

(6)

Ventajas de una arquitectura explícita

Comunicación de las partes interesadas la arquitectura

puede utilizarse como un foco de discusión por los

actores del sistema.

Análisis del sistema significa que es posible analizar si el

sistema puede satisfacer sus requisitos no funcionales.

Reutilización a gran escala la arquitectura puede ser

reutilizable en una amplia gama de sistemas de

(7)

Representaciones de la arquitectura

Bloque sencillo e informal diagramas mostrando las

entidades y las relaciones

son lo más frecuentemente

usado método para documentar arquitecturas software.

Pero éstos han sido criticados porque carecen de

semántica, no se muestran los tipos de relaciones entre

entidades ni las propiedades visibles de las entidades en

la arquitectura.

Depende del uso de modelos arquitectónicos.

(8)

Decisiones de diseño de una arquitectura en TI

¿Hay una arquitectura de aplicaciones genéricas que puede

utilizarse?

¿Cómo se distribuirá el sistema?

¿Qué estilos arquitectónicos son apropiados?

¿Qué método se utilizará para estructurar el sistema?

¿Cómo será descompuesto en los módulos del sistema?

¿Qué estrategia de control debe usarse?

¿Cómo se evaluará el diseño arquitectónico?

(9)

Características de la arquitectura y del sistema

Rendimiento

localizar operaciones críticas y minimizar las comunicaciones.

Uso amplio en lugar de los componentes de grano fino.

Seguridad

Utilice una arquitectura en capas con activos críticos en las

capas más internas. Características seguridad crítica de

seguridad Localise en un pequeño número de subsistemas.

Disponibilidad

incluyen componentes redundantes y mecanismos para

tolerancia a fallos.

Mantenibilidad

(10)
(11)

Arquitectura en capas

Utilizado para la interconexión de los subsistemas del

modelo.

Organiza el sistema en un conjunto de máquinas

abstractas (o capas) de cada uno de los cuales ofrecen

un conjunto de servicios.

Apoya el desarrollo incremental de los subsistemas en

diferentes capas.

(12)

Patrón de organización de una arquitectura en

capas

Name Layered architecture

Description Organizes the system into layers with related functionality associated with each layer. A layer provides services to the layer above it so the lowest-level layers represent core services that are likely to be used throughout the system. See Figure 6.6.

Example A layered model of a system for sharing copyright documents held in different libraries, as shown in Figure 6.7.

When used Used when building new facilities on top of existing systems; when the development is spread across several teams with each team responsibility for a layer of functionality; when there is a requirement for multi-level security.

Advantages Allows replacement of entire layers so long as the interface is maintained. Redundant facilities (e.g., authentication) can be provided in each layer to increase the dependability of the system.

(13)
(14)
(15)

Arquitectura de repositorio

Los subsistemas deben intercambiar datos. Esto puede

hacerse de dos maneras:

datos compartidos se lleva a cabo en un repositorio o base de

datos central y puede accederse por todos los subsistemas;

Cada subsistema mantiene su propia base de datos y pasa

datos explícitamente a otros subsistemas.

Cuando grandes cantidades de datos para ser

(16)

El Patrón de repositorio

Name Repository

Description All data in a system is managed in a central repository that is accessible to all system components. Components do not interact directly, only through the repository.

Example Figure 6.9 is an example of an IDE where the components use a repository of system design information. Each software tool generates information which is then available for use by other tools.

When used You should use this pattern when you have a system in which large volumes of information are generated that has to be stored for a long time. You may also use it in data-driven systems where the inclusion of data in the repository triggers an action or tool.

Advantages Components can be independent—they do not need to know

of the existence of other components. Changes made by one component can be propagated to all components. All data can be managed consistently (e.g., backups done at the same time) as it is all in one place.

(17)
(18)

Arquitectura Cliente-Servidor

Modelo de sistema distribuido que muestra cómo datos

y el procesamiento está distribuido en una amplia gama

de componentes.

Puede implementarse en una sola computadora.

Conjunto de servidores independientes que proporcionan

servicios específicos tales como impresión, gestión de datos,

etc..

Conjunto de clientes que llaman a estos servicios.

(19)

Patrón cliente-servidor

Name Client-server

Description In a client–server architecture, the functionality of the system is

organized into services, with each service delivered from a separate server. Clients are users of these services and access servers to make use of them.

Example Figure 6.11 is an example of a film and video/DVD library organized as a client–server system.

When used Used when data in a shared database has to be accessed from a range of locations. Because servers can be replicated, may also be used when the load on a system is variable.

Advantages The principal advantage of this model is that servers can be distributed across a network. General functionality (e.g., a printing service) can be available to all clients and does not need to be implemented by all services.

(20)
(21)

Arquitecturas de aplicación

Sistemas de aplicación están diseñados para satisfacer

una necesidad organizacional.

Como las empresas tienen mucho en común, sus

sistemas de aplicación también tienden a tener una

arquitectura común que refleja las necesidades de

aplicación.

Una arquitectura de aplicación genérica es una

arquitectura para un tipo de sistema de software que

(22)

Uso de arquitecturas de aplicación

Como punto de partida para el diseño arquitectónico.

Como una lista de verificación de diseño.

Como una manera de organizar el trabajo del equipo de

desarrollo.

Como un medio para evaluar los componentes para su

reutilización.

(23)

Ejemplos de tipos de aplicación

Aplicaciones de procesamiento de datos

aplicaciones que procesan datos en lotes sin la intervención explícita

del usuario durante el procesamiento de datos.

Aplicaciones centradas en datos

que procesan las peticiones del usuario y actualización la información

en una base de datos del sistema de procesamiento de transacciones.

Evento de tramitación de las solicitudes de sistemas

donde las acciones del sistema dependen de interpretar

acontecimientos del entorno del sistema.

Lenguaje de procesamiento de las aplicaciones de sistemas

(24)
(25)
(26)

Arquitectura de sistemas de información

Sistemas de información tienen una arquitectura

genérica que puede organizarse como una arquitectura

en capas.

Estos son sistemas basados en transacciones como

interacción con estos sistemas generalmente involucra

operaciones de base de datos.

Capas incluyen:

la interfaz usuario

comunicaciones

(27)
(28)
(29)

Sistemas de información Web-based

Sistemas de gestión de información y recursos son ahora

generalmente se implementan sistemas basados en web donde el

usuario interfaces utilizando un navegador web.

Por ejemplo, sistemas de comercio electrónico son sistemas de

gestión de recursos basado en Internet que aceptan pedidos

electrónicas de bienes o servicios y luego organizar la entrega de

estos bienes o servicios al cliente.

En un sistema de comercio electrónico, la capa de aplicación

específica incluye funcionalidad adicional apoyando un 'carrito' en

que los usuarios pueden colocar una serie de artículos en

(30)

Figure

Actualización...

Referencias

Actualización...