La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Es la primera etapa técnica del proceso de Ingeniería del Software, consiste en producir un modelo o representación técnica del software que se va a desarrollar.

Presentaciones similares


Presentación del tema: "Es la primera etapa técnica del proceso de Ingeniería del Software, consiste en producir un modelo o representación técnica del software que se va a desarrollar."— Transcripción de la presentación:

1

2 Es la primera etapa técnica del proceso de Ingeniería del Software, consiste en producir un modelo o representación técnica del software que se va a desarrollar la arquitectura nos identifica los elementos mas importantes de un sistema así como sus relaciones. Es decir nos da una visión global del sistema El diseño de datos nos facilita la representación de los componentes de datos de la arquitectura. El diseño arquitectónico se centra en la representación de la estructura de los componentes del software, sus propiedades e interacciones. Como se inicia? El diseño arquitectónico comienza con el diseño de datos y después procede a la derivación de una o mas representaciones de la estructura arquitectónica del sistema. Estilos Arquitectónicos Arquitecturas centradas de datos. Arquitecturas de flujo de datos. Arquitecturas de llamada y retorno. Arquitecturas orientadas a objetos. Arquitecturas estratificadas 3 variables principales Tiempo. satisfacción del cliente costo de los desarrollos. Facilitan la comunicación entre todas las partes interesadas en el desarrollo de un sistema basado en computadora. Destaca decisiones tempranas de diseño que tendrán un profundo impacto en todo el trabajo de ingeniería del software. Constituye un modelo relativamente pequeño e intelectualmente comprensible de cómo está estructurado el sistema y de cómo trabajan juntos sus componentes Por que es importante Diseño de la arquitectura de software

3 Estilos Arquitectónicos Un estilo arquitectónico define una familia de sistemas de software en términos de su organización estructural. Un estilo arquitectónico representa los componentes y las relaciones entre ellos con las restricciones de su aplicación y las asociaciones y reglas de diseño para su construcción. Shaw y Garlan (Shaw y Garlan, 1996) precisan además, que un estilo arquitectónico define un vocabulario de componentes y tipos de conectores. Sistemas de flujo de datos: Tubos y Filtros Procesamiento por lotes Sistemas basados en Programa principal y subrutinas llamada y retorno: Orientados a objetos Organizados en capas Sistemas de componentes Comunicación entre procesos independientes Cliente/servidor Basados en eventos

4 Sistema de flujo de datos Esta arquitectura se aplica cuando los datos de entrada son transformados a través de una serie de componentes computacionales o manipulativos en los datos de salida. Es un sistema grafico lógico del plan de trabajo que se ejecutara para la solución de un determinado problema. A través de él, se planifica la solución del problema independiente del lenguaje de computación a usar. De esta manera se separa loas instrucción es un lenguaje determinado con todas las reglas. El sistema se percibe como una sucesión de transformaciones que sufre una serie de datos de entrada a través del sistema. Los datos ingresan al sistema y fluyen a través de las componentes una a una hasta que se asignan a un destino final: salida o almacenamiento. Son típicos casos de arquitecturas que promueven la reusabilidad y la modificabilidad. Existen dos subestilos: secuencial por lotes tubos y filtros

5 Arquitectura de Tubos y Filtros Leer Traducir al inglésEscribir inglés Traducir al chinoEscribir chino Filtros y Tuberías (Pipes & Filters) Descripción Cada componente tiene un conjunto de entradas y un conjunto de salidas. Un componente lee entradas y las transforma en salidas Restricciones: Los filtros deben ser independientes. No deben compartir estado con otros filtros. Los filtros realizan la labor independientemente del flujo de entrada. Especializaciones del estilo Pipelines Bounded pipes Typed pipes Enfatiza la transformación incremental de los datos a través de las sucesivas componentes. Cada componente (filtro) es un traductor que procesa los datos de entrada usa poca información de contexto no retiene información de estado

6 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

7 Procesamiento por lotes Los pasos de procesamiento o componentes son programas independientes y se supone que cada paso se ejecuta completamente antes de seguir al siguiente. Los pasos son programas independientes, y corren en una secuencia predefinida. Aplicaciones típicas: Procesamiento de datos clásica Desarrollo de programas

8 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

9 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 procedimiento remoto.  Persigue obtener cualidades de Escalabilidad y modificabilidad.  Este estilo a dominado en grandes sistemas de software  Tiene tres variaciones: Capas O.O Programa principal y subrutinas

10 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, etc Aplicabilidad Mecanismos de interacción entre componentes Mecanismos de interacción entre componentes Componentes Invariantes/ Restricciones Aplicación

11 Organización de capas Nivel n: aplicaciones de usuario Llamados Retorno

12 Sistema de componentes independientes Consiste de un número de objetos o procesos independientes que se comunican a través de mensajes. La modificabilidad se logra por el desacoplamiento en varias porciones de procesamiento. Solo se envían mensajes entre los objetos, sin tener control directamente.

13 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

14 Cliente/ servidor Conjunto de clientes que llaman a estos servicios. Redes que permiten que los clientes acceden a los servidores Conjunto de servidores “stand- alone”, los cuales proporcionan servicios específicos como impresión, manejo de datos, etc. Modelo de Sistemas Distribuido, el cual muestra como los datos y procesamiento están distribuidos entre un rango de componentes. Ventajas La Distribución de datos es directa. Permite el uso efectivo de sistemas de red. Puede requerir hardware barato. Es fácil añadir nuevos servidores o actualizar los existentes. Ventajas La Distribución de datos es directa. Permite el uso efectivo de sistemas de red. Puede requerir hardware barato. Es fácil añadir nuevos servidores o actualizar los existentes. Desventajas El modelo no comparte datos con los diferentes subsistemas empleados en la organización. El intercambio de datos puede ser ineficiente. Administración redundante en cada servidor. No existen registros centrales de nombres y servicios -esto hace difícil encontrar los servidores y servicios disponibles. Desventajas El modelo no comparte datos con los diferentes subsistemas empleados en la organización. El intercambio de datos puede ser ineficiente. Administración redundante en cada servidor. No existen registros centrales de nombres y servicios -esto hace difícil encontrar los servidores y servicios disponibles.

15 Estilos Peer- to-Peer Esta familia, también llamada de componentes independientes, enfatiza la modificabilidad por medio de la separación de las diversas partes que intervienen en la computación. Consiste por lo general en procesos independientes o entidades que se comunican a través de mensajes. Cada entidad puede enviar mensajes a otras entidades, pero no controlarlas directamente. Los mensajes pueden ser enviados a componentes nominados o propalados mediante broadcast. Estilos Peer- to-Peer Esta familia, también llamada de componentes independientes, enfatiza la modificabilidad por medio de la separación de las diversas partes que intervienen en la computación. Consiste por lo general en procesos independientes o entidades que se comunican a través de mensajes. Cada entidad puede enviar mensajes a otras entidades, pero no controlarlas directamente. Los mensajes pueden ser enviados a componentes nominados o propalados mediante broadcast. Notación para arquitectura software “UML” es 3 cosas: – Meta-modelo de sistemas de software clases, subsistemas, componentes, nodos – Notación para describir cosas usando orientación a objetos – Mecanismo extensible para describir cosas usando orientación a objetos Históricamente: 1. Descripción de software ( pre-UML) 2. Ampliación a describir modelos de análisis (UML pre- OMG) 3. Generalización como mecanismo


Descargar ppt "Es la primera etapa técnica del proceso de Ingeniería del Software, consiste en producir un modelo o representación técnica del software que se va a desarrollar."

Presentaciones similares


Anuncios Google