Você está na página 1de 36

CAPITULO 6: DISEO ARQUITECTONICO

TEMAS A TRATAR :
Decisiones de diseo arquitectnico Vista arquitectnica Patrones arquitectnicos Arquitecturas de aplicaciones

ARQUITECTURA DEL SOFTWARE


El proceso de diseo para la identificacin de los subsistemas que componen un sistema y el marco para el control del subsistema y la comunicacin es el diseo arquitectnico. La salida de este proceso de diseo es una descripcin de la arquitectura de software.

DISEO ARQUITECTNICO
Una etapa temprana del proceso de diseo del sistema. Representa la relacin entre la memoria y los procesos de diseo. A menudo lleva a cabo en paralelo con algunas actividades de especificacin. Comprende la identificacin de los principales componentes del sistema y sus comunicaciones.

LA ARQUITECTURA DE UN SISTEMA DE
CONTROL DE ROBOT DE EMBALAJE

ABSTRACCIN ARQUITECTNICA Arquitectura a pequea escala : tiene que ver con la arquitectura de los programas individuales. En este nivel, estamos preocupados por la forma en que un programa individual se descompone en componentes. Arquitectura a gran escala : se refiere a la arquitectura de los sistemas empresariales complejos que incluyen otros sistemas, programas y componentes de programa. Estos sistemas de la empresa se distribuyen en diferentes ordenadores, que pueden ser de propiedad y administrados por diferentes empresas.

TRES VENTAJAS DE DISEAR EXPLCITAMENTE Y DOCUMENTAR ARQUITECTURA DE SOFTWARE:

Comunicacin Stakeholder

Arquitectura puede ser utilizado como un centro de la discusin de los actores del sistema.
Significa que el anlisis del sistema puede satisfacer los requerimientos no funcionales. La arquitectura puede ser reutilizable a travs de una gama de sistemas

Anlisis del Sistema

Reutilizacin a gran escala

REPRESENTACIONES DE LA ARQUITECTURA
Diagramas de bloques informales que muestran distintas relaciones son el mtodo ms utilizado para la documentacin de arquitecturas de software. Estos han sido criticados por falta de semntica, no muestran los tipos de relaciones entre las entidades ni las propiedades visibles de las entidades en la arquitectura.

CAJAS Y LNEA DE DIAGRAMAS


til para la comunicacin con las partes interesadas y para la planificacin de proyectos. Sin embargo, no muestran la naturaleza de las relaciones de los componentes ni las propiedades visibles externamente de los sub-sistemas.

FORMAS DE COMO UTILIZAR EL MODELO DE


LA ARQUITECTURA

Como una forma de facilitar el debate sobre el diseo del sistema:

Una vista de la arquitectura de alto nivel de un sistema es til para la comunicacin con las partes interesadas del sistema y planificacin de proyectos, ya que no est lleno de detalles. Las partes interesadas pueden relacionarse con ella y entender una visin abstracta del sistema.

FORMAS DE COMO UTILIZAR EL MODELO DE


LA ARQUITECTURA

Como una forma de documentar una arquitectura que ha sido diseada

El objetivo es producir un modelo de sistema completo que muestra los diferentes componentes de un sistema, sus interfaces y sus conexiones.

DECISIONES DE DISEO ARQUITECTNICO


El diseo arquitectnico es un proceso creativo por lo que el proceso vara en funcin del tipo de sistema que est siendo desarrollado. Sin embargo, una serie de decisiones comunes abarcan todos los procesos de diseo y estas decisiones afectan a las caractersticas del sistema.

DECISIONES DE DISEO ARQUITECTNICO


Existe una arquitectura de aplicacin genrica que se puede utilizar? Cmo se distribuye el sistema? Qu estilos arquitectnicos son apropiadas? Qu enfoque se utilizarn para estructurar el sistema? Cmo ser el sistema se descompone en mdulos? Qu estrategia de control se debe utilizar? Cmo se evaluar el diseo arquitectnico? Cmo se debe documentar la arquitectura?

REUTILIZACIN DE ARQUITECTURA
Sistemas en el mismo dominio a menudo tienen arquitecturas similares que reflejan conceptos de dominio. Lneas de producto de aplicaciones se construyen en torno a una arquitectura central con las variantes que cumplan los requisitos del cliente en particular. La arquitectura de un sistema puede ser diseado en torno a uno de los patrones arquitectnicos.

ARQUITECTURA Y CARACTERSTICAS DEL


SISTEMA

Rendimiento

Localizar las operaciones crticas y minimizar las comunicaciones. Utilice grande en lugar de componentes de grano fino. Seguridad

Localizar funciones de seguridad crtica en un pequeo nmero de subsistemas. Disponibilidad Incluye componentes y mecanismos de tolerancia a fallos redundantes. Mantenibilidad Utilice, componentes reemplazables de grano fino.

VISTA ARQUITECTNICA

Qu puntos de vista o perspectivas son tiles en el diseo y la documentacin de la arquitectura de un sistema? Lo anotaciones deben usarse para describir modelos de arquitectura? Cada modelo arquitectnico slo muestra una vista o perspectiva del sistema. Podra demostrar cmo un sistema se descompone en mdulos, cmo interactan los procesos de ejecucin o de las diferentes formas en que los componentes del sistema se distribuyen a travs de una red. Tanto para el diseo y la documentacin, por lo general tiene que presentar varias vistas de la arquitectura de software.

LOS PATRONES ARQUITECTNICOS


Los patrones son un medio de representar, compartir y reutilizar el conocimiento. Un patrn arquitectnico es una descripcin estilizada de las buenas prcticas de diseo, que ha sido probado en diferentes entornos. Los patrones deben incluir informacin sobre cundo son y cuando el no son tiles. Los patrones pueden ser representados mediante descripciones tabulares y grficos.

EL PATRN MODELO-VISTA-CONTROLADOR (MVC)


Nombre Descripcin MVC (Modelo-Vista-Controlador) Separa presentacin y la interaccin de los datos del sistema. El sistema se estructura en tres componentes lgicos que interactan entre s. El componente Modelo gestiona los datos del sistema y las operaciones asociadas a esos datos. El componente View define y administra la forma se presentan los datos para el usuario. El componente Controller gestiona la interaccin del usuario (por ejemplo, pulsaciones de teclas, clics del ratn, etc) y pasa estas interacciones a la Vista y el Modelo.

Cuando utiliza

se Se utiliza cuando hay mltiples maneras de ver e interactuar con los datos. Tambin se utiliza cuando los futuros requisitos para la interaccin y la presentacin de los datos son desconocidos. Ventajas Permite que los datos para cambiar independientemente de su representacin y viceversa. Soporta la presentacin de los mismos datos en diferentes formas con los cambios realizados en una representacin se muestra en todas ellas. Desventajas Puede implicar cdigo adicional y la complejidad del cdigo cuando el modelo de datos y las interacciones son simples.

ARQUITECTURA EN CAPAS
Se utiliza para modelar la interconexin de los subsistemas. Organiza el sistema en un conjunto de capas (o mquinas abstractas) cada uno de los cuales proporcionan un conjunto de servicios. Apoya el desarrollo incremental de subsistemas en diferentes capas. Cuando una capa de interfaz cambia, slo la capa adyacente se ve afectada. Sin embargo, a menudo artificial para sistemas de estructura en esta forma.

EL PATRN DE ARQUITECTURA POR CAPAS


Nombre Descripcin Arquitectura en capas Organiza el sistema en capas con funcionalidad relacionada asociada con cada capa. Una capa proporciona servicios a la capa por encima de ella por lo que las capas de nivel ms bajo representan servicios bsicos que son susceptibles de ser utilizados en todo el sistema. Se utiliza en la construccin de nuevas instalaciones en la parte superior de los sistemas existentes, cuando el desarrollo se extiende por varios equipos con la responsabilidad de cada equipo por una capa de funcionalidad, y cuando no es un requisito para la seguridad de varios niveles. Permite la sustitucin de capas enteras tanto tiempo como se mantenga la interfaz. Instalaciones redundantes (por ejemplo, la autenticacin) se pueden proporcionar en cada capa para aumentar la fiabilidad del sistema. En la prctica, proporcionando una separacin limpia entre las capas es a menudo difcil y una capa de alto nivel puede tener que interactuar directamente con las capas de nivel inferior en lugar de a travs de la capa inmediatamente por debajo de ella. El rendimiento puede ser un problema debido a mltiples niveles de interpretacin de una solicitud de servicio, ya que se procesa en cada capa.

Cuando se utiliza

Ventajas

Desventajas

ARQUITECTURA DE REPOSITRIO
Los subsistemas deben intercambiar datos. Esto se puede hacer de dos maneras: Los datos compartidos se mantiene en una base de datos central o repositorio y puede acceder a todos los sub-sistemas; Cada subsistema mantiene su propia base de datos y pasa datos explcitamente a otros subsistemas. Cuando grandes cantidades de datos han de ser compartidos, el modelo de repositorio de compartir es ms comnmente una se trata de un mecanismo de intercambio de datos eficiente.

EL PATRN DEL MODELO DE REPOSITORIO


Nombre Descripcin Repositorio Todos los datos en un sistema se gestiona en un repositorio central que es accesible a todos los componentes del sistema.Componentes no interactan directamente, slo a travs del repositorio.

Cuando utiliza

se

Usted debe utilizar este modelo cuando se tiene un sistema en el que un gran volumen de informacin que se genera tiene que ser almacenado durante mucho tiempo. Tambin se puede utilizar en sistemas basados en datos de que la inclusin de los datos en el repositorio activa una accin o una herramienta.
Los componentes pueden ser independientes-que no es necesario saber de la existencia de otros componentes. Los cambios realizados por uno de los componentes se pueden propagar a todos los componentes. Todos los datos se pueden gestionar sistemticamente (por ejemplo, copias de seguridad se realizan al mismo tiempo), ya que es todo en un solo lugar. El repositorio es un nico punto de falla as problemas en el repositorio afectan a todo el sistema. Puede ser ineficiencias en la organizacin de todo tipo de comunicacin a travs del repositorio. Distribucin del repositorio de la mayora de los ordenadores puede ser dificil

Ventajas

Desventajas

ARQUITECTURA CLIENTE-SERVIDOR
Distribuido modelo de sistema que muestra cmo los datos y el procesamiento se distribuye a travs de una gama de componentes. Se puede implementar en un solo equipo. Conjunto de servidores independientes que prestan servicios especficos, tales como la impresin, gestin de datos, etc Conjunto de los clientes que requieren de estos servicios. Red que permite a los clientes acceder a los servidores.

EL MODELO CLIENTE-SERVIDOR
Nombre Descripcin Cliente-servidor En una arquitectura cliente-servidor, la funcionalidad del sistema se organiza en servicios, con cada servicio prestado desde un servidor independiente.Los clientes son usuarios de estos servicios y servidores de acceso para hacer uso de ellos. Se utiliza cuando los datos de una base de datos compartida tiene que ser visitada a partir de una variedad de lugares. Dado que los servidores se pueden replicar, puede tambin ser utilizado cuando la carga en un sistema es variable. La principal ventaja de este modelo es que los servidores se pueden distribuir a travs de una red. Funcionalidad general (por ejemplo, un servicio de impresin) puede estar disponible para todos los clientes, y no deben ser aplicadas por todos los servicios. Cada servicio es un punto nico de fallo tan susceptible a ataques de denegacin de servicio o fallo del servidor. El rendimiento puede ser imprevisible porque depende de la red, as como el sistema. Puede haber problemas de gestin si los servidores son propiedad de las diferentes organizaciones.

Cuando se utiliza

Ventajas

Desventajas

TUBO DE FILTRO Y LA ARQUITECTURA


Transformaciones funcionales procesan sus entradas para producir salidas. Puede ser conocido como un tubo y modelo de filtro (como en el shell de UNIX). Las variantes de este enfoque son muy comunes. Cuando transformaciones son secuenciales, este es un modelo secuencial por lotes que se utiliza ampliamente en sistemas de procesamiento de datos. No es apropiado para sistemas interactivos.

EL MODELO DE EL TUBO Y EL PATRN DE


FILTRO
Nombre Descripcin Tubo y el filtro El procesamiento de los datos en un sistema est organizado de manera que cada componente de procesamiento (filtro) es discreto y lleva a cabo un tipo de transformacin de datos. Los flujos de datos (como en un tubo) a partir de un componente a otro para el procesamiento. se De uso general en aplicaciones de procesamiento de datos (tanto por lotes y basado en transacciones), donde las entradas se procesan en etapas separadas para generar productos conexos. Fcil de entender y es compatible con la reutilizacin de transformacin.Estilo de flujo de trabajo coincide con la estructura de muchos procesos de negocio. Evolucin de las transformaciones agregar es sencillo. Puede ser implementado ya sea como un sistema secuencial o concurrente. El formato para la transferencia de datos tiene que ser acordado entre las transformaciones de comunicacin. Cada transformacin debe analizar su entrada y su salida a un par de el formulario acordado. Esto aumenta la sobrecarga del sistema y puede significar que es imposible volver a utilizar transformaciones funcionales que utilizan estructuras de datos incompatibles.

Cuando utiliza Ventajas

Desventajas

ARQUITECTURAS DE APLICACIONES
Los sistemas de aplicacin estn diseados para satisfacer una necesidad de la organizacin. Dado que las empresas tienen mucho en comn, sus sistemas de aplicacin tambin tienden a tener una arquitectura comn que refleje los requerimientos de la aplicacin. Una arquitectura de aplicacin genrica es una arquitectura para un tipo de sistema de software que puede ser configurado y adaptado para crear un sistema que cumple con los requisitos especficos.

EL USO DE ARQUITECTURAS DE
APLICACIONES Como punto de partida para el diseo arquitectnico. En una lista de verificacin de diseo. Como una forma de organizar el trabajo del equipo de desarrollo. Como medio para evaluar los componentes para su reutilizacin. Como un vocabulario para hablar de los tipos de aplicacin.

EJEMPLOS DE LOS TIPOS DE APLICACIN


Aplicaciones de procesamiento de datos Datos impulsados aplicaciones que procesan datos en lotes sin intervencin explcita del usuario durante el proceso. Aplicaciones de procesamiento de transacciones Aplicaciones de datos centrados en que las solicitudes de proceso de usuario y actualizar la informacin en una base de datos del sistema. Sistemas de procesamiento de eventos Aplicaciones en las acciones del sistema dependen de la interpretacin de los eventos del entorno del sistema.

EJEMPLOS DE LOS TIPOS DE APLICACIN

Sistemas de procesamiento de lenguaje Aplicaciones en las que los usuarios " intenciones se especifican en un lenguaje formal que es procesada e interpretada por el sistema. Atencin se centra en los sistemas de procesamiento del lenguaje y el procesamiento de transacciones. Sistemas de procesamiento de transacciones Sistemas de comercio electrnico. Sistemas de reservacin. Sistemas de procesamiento de lenguaje Los compiladores. Intrpretes de comandos.

SISTEMAS DE PROCESAMIENTO DE
TRANSACCIONES Solicitudes de los usuarios de proceso de informacin de una base de datos o peticiones para actualizar la base de datos. Desde la perspectiva del usuario de una transaccin es: Cualquier secuencia coherente de las operaciones que satisface una meta; Por ejemplo - encontrar los horarios de los vuelos de Londres a Pars. Usuarios hacen peticiones asncronas para el servicio que luego son procesadas por un administrador de transacciones.

ARQUITECTURA DE SISTEMAS DE
INFORMACIN

Los sistemas de informacin tienen una arquitectura genrica que se puede organizar como una arquitectura en capas. Estos son los sistemas basados en transacciones como la interaccin con estos sistemas generalmente implica las transacciones de base de datos. Las capas incluyen:
La interfaz de usuario Comunicaciones del usuario Recuperacin de la informacin Base de datos de sistema

SISTEMAS DE INFORMACIN BASADOS EN LA WEB

Sistemas de gestin de la informacin y los recursos son ahora generalmente los sistemas basados en la Web, donde las interfaces de usuario se implementan utilizando un navegador web. Por ejemplo, los sistemas de comercio electrnico son los sistemas de gestin de recursos basados en Internet que aceptan pedidos electrnicos de bienes o servicios y luego organizar la entrega de estos bienes o servicios a los clientes. En un sistema de comercio electrnico, la capa especfica de la aplicacin incluye una funcionalidad adicional de soporte 's cesta de salto' en el que los usuarios pueden realizar una serie de artculos en transacciones separadas, y luego pagar por todos ellos juntos en una sola transaccin.

APLICACIN DEL SERVIDOR

Estos sistemas a menudo se implementan como servidor / cliente de arquitecturas de varios niveles . El servidor Web es responsable de todas las comunicaciones del usuario, con la interfaz de usuario implementada utilizando un navegador web. El servidor de aplicaciones se encarga de aplicar la lgica especfica de la aplicacin, as como el almacenamiento de informacin y solicitudes de recuperacin. El servidor de base de datos de informacin se mueve hacia y desde la base de datos y se ocupa de la gestin de transacciones.

PUNTOS CLAVE

Los modelos de arquitecturas de sistemas de aplicaciones nos ayudan a entender y comparar aplicaciones, validar los diseos de sistemas de aplicacin y evaluar los componentes a gran escala para su reutilizacin. Sistemas de procesamiento de transacciones son sistemas interactivos que permiten que la informacin en una base de datos remota para ser accedido y modificado por un nmero de usuarios. Sistemas de procesamiento del lenguaje se utilizan para traducir los textos de un idioma a otro, y para llevar a cabo las instrucciones especificadas en el idioma de entrada. Incluyen un traductor y una mquina abstracta que ejecuta el lenguaje generado.

GRACIAS

Você também pode gostar