Diseno de la arquitectura

4,760 views

Published on

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,760
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
120
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Diseno de la arquitectura

  1. 1. Es la primera etapa técnica del proceso de Ingeniería del Software, consiste en producir un la arquitectura nos identifica modelo o representación técnica los elementos mas importantes del software que se va a de un sistema así como sus Diseño de la relaciones. Es decir nos da una desarrollararquitectura de visión global del sistema software •El diseño de datos nos facilita la representación de los Como componentes de datos de la se arquitectura. Por que es inicia? •El diseño arquitectónico se importante centra en la representación de la estructura de los componentes del software, sus propiedades e interacciones. El diseño arquitectónico comienza con el diseño de datos •Facilitan la comunicación entre y después procede a la todas las partes interesadas en el derivación de una o masdesarrollo de un sistema basado en representaciones de la computadora. estructura arquitectónica del •Destaca decisiones tempranas de sistema. diseño que tendrán un profundo Estilos Arquitectónicos impacto en todo el trabajo de •Arquitecturas centradas de 3 variables ingeniería del software. datos. principales •Constituye un modelo •Arquitecturas de flujo de datos. relativamente pequeño e •Arquitecturas de llamada yintelectualmente comprensible de retorno.cómo está estructurado el sistema •Arquitecturas orientadas a •Tiempo. y de cómo trabajan juntos sus objetos. •satisfacción del cliente componentes •Arquitecturas estratificadas •costo de los desarrollos.
  2. 2. Estilos Arquitectónicos Sistemas de flujo de datos: Un estilo arquitectónico define una familia de sistemas de • Tubos y Filtrossoftware en términos de su organización •Procesamiento por lotes estructural. Un estilo arquitectónico representa los Sistemas basados en Programa principal y componentes y las subrutinas relaciones entre ellos con las restricciones de su aplicación llamada y retorno:y las asociaciones y reglas de diseño para • Orientados a objetos su construcción. Shaw y Garlan (Shaw y Garlan, 1996) •Organizados en capas precisan además, Sistemas de componentes Comunicación que un estilo arquitectónico define un vocabulario de entre procesos componentes y tipos de conectores. independientes •Cliente/servidor •Basados en eventos
  3. 3. Sistema de flujo de datos•El sistema se percibe como una sucesión de Es un sistema graficotransformaciones que sufre lógico del plan de trabajo una serie de datos de que se ejecutara para la entrada a través del solución de un sistema. determinado problema. •Los datos ingresan al Esta arquitectura se aplica A través de él, sesistema y fluyen a través de cuando los datos de planifica la solución dellas componentes una a una entrada son problema independiente transformados a través de del lenguaje de hasta que se asignan a un una serie de componentes computación a usar. De destino final: salida o esta manera se separa almacenamiento. computacionales o manipulativos en los datos loas instrucción es un •Son típicos casos de de salida. lenguaje determinado arquitecturas que con todas las reglas. promueven la reusabilidad y la modificabilidad. •Existen dos subestilos: •secuencial por lotes •tubos y filtros
  4. 4. Arquitectura de Tubos y Filtros •Enfatiza la•Filtros y Tuberías (Pipes & Filters) transformación Descripción incremental de los datos•Cada componente tiene un conjunto de entradas y un conjunto de a través de las sucesivassalidas. componentes.•Un componente lee entradas y las transforma en salidas •Cada componente (filtro) Restricciones: es un traductor que•Los filtros deben ser independientes. •procesa los datos No deben compartir estado con otros filtros. de entrada•Los filtros realizan la labor independientemente del flujo de entrada. •usa poca Especializaciones del estilo información de•Pipelines contexto•Bounded pipes •no retiene•Typed pipes información de estado Traducir al inglés Escribir inglés Leer Traducir al chino Escribir chino
  5. 5. Ventajas• Permite entender el sistema global en términos de la combinación de componentes• Soporta de buena manera la reutilización. Los filtros son independientes de sus vecinos• Facilidad de Mantenimiento y mejora• Facilidad de diagnóstico (rendimiento, deadlocks)• Soportan la ejecución concurrente Desventajas• No aconsejable para cuando se necesita interactividad• Problemas de rendimiento ya que los datos• se transmiten en forma completa entre• filtros
  6. 6. Procesamiento por lotes•Los pasos de procesamiento ocomponentes son programasindependientes y se supone quecada paso se ejecutacompletamente antes de seguir alsiguiente.•Los pasos son programasindependientes, y corren en unasecuencia predefinida.•Aplicaciones típicas:Procesamiento de datos clásicaDesarrollo de programas
  7. 7. Como funciona el sistema de flujo de datos Se representa por arcos dirigidos, en donde la flecha indica la dirección de los datos Debe tener un nombre o rotulo que los identifique
  8. 8. Sistemas basados en llamado y retorno•Este estilo arquitectónico permite al diseñador del software (arquitecto del sistema) construir una estructura de programa relativamente fácil de modificar y ajustar a escala.•Existen dos sub-estilos dentro de esta categoría: –arquitecturas de programa principal. –arquitecturas de llamada de Persigue obtener cualidades de Escalabilidad y procedimiento remoto. modificabilidad. Este estilo a dominado en grandes sistemas de software Tiene tres variaciones: •Capas •O.O •Programa principal y subrutinas
  9. 9. Capas• Organización Jerárquica• Cada capa provee servicios a sus capas vecinas• Los conectores son definidos por los protocolos que determinan como interactúan las capas• Restricciones topológicas incluyen limitación de interacciones a capas adyacentes• Cada capa sucesiva es construida basada en su antecesor• Ej: Modelo OSI, Sistema X-Windows , etcAplicabilidad Invariantes/ Restricciones Componentes Mecanismos de interacción entre Aplicación componentes
  10. 10. Organización de capas Nivel n: aplicaciones de usuario Retorno Llamados Nivel n: aplicaciones de usuario Nivel n: aplicaciones de usuario
  11. 11. Sistema de componentes independientesConsiste de un número de objetos oprocesos independientes que secomunican a través de mensajes.•La modificabilidad se logra por eldesacoplamiento en varias porcionesde procesamiento.•Solo se envían mensajes entre losobjetos, sin tener control directamente.
  12. 12. Sistema basados en eventos• Los componentes interactúan por medio de invocaciones explícitas de procedimientos o funciones• Los componentes exponen datos que son compartidos con su entorno• Los componentes pueden registrarse a una clase de datos de interés• Existe un manejador de mensajes que coordina la comunicación entre componentes, invocando al componente cuando un mensaje que llega es para ese determinado componente.• Existen algunas técnicas de integración alternativas,• Componentes: objetos y procesos• Conexiones: Encadenamiento de eventos-procedimientos
  13. 13. Cliente/ servidorModelo de Sistemas Distribuido, el Conjunto de servidores “stand-cual muestra como los datos y alone”, los cuales proporcionanprocesamiento están distribuidos servicios específicos comoentre un rango de componentes. impresión, manejo de datos, etc. Redes que permiten que los clientes Conjunto de clientes que llaman a acceden a los servidores estos servicios. Ventajas Desventajas La Distribución de datos es directa. El modelo no comparte datos con los diferentes Permite el uso efectivo de sistemas de subsistemas empleados en la organización. red. El intercambio de datos puede ser ineficiente. Puede requerir hardware barato. Administración redundante en cada servidor. Es fácil añadir nuevos servidores o No existen registros centrales de nombres y actualizar los existentes. servicios -esto hace difícil encontrar los servidores y servicios disponibles.
  14. 14. Notación paraEstilos Peer- arquitectura to-Peer software “UML” es 3 cosas:Esta familia, también llamada de – Meta-modelo de sistemas de softwarecomponentes independientes, enfatiza la • clases, subsistemas, componentes,modificabilidad por medio de la nodosseparación de las diversas partes que – Notación para describir cosas usandointervienen en la computación. Consistepor lo general en procesos independientes orientación ao entidades que se comunican a través de objetosmensajes. Cada entidad puede enviar – Mecanismo extensible para describirmensajes a otras entidades, pero no cosas usandocontrolarlas directamente. Los mensajes orientación a objetospueden ser enviados a componentes • Históricamente:nominados o propalados mediante 1. Descripción de software ( pre-UML)broadcast. 2. Ampliación a describir modelos de análisis (UML pre- OMG) 3. Generalización como mecanismo

×