Estilos Arquitectónico

19
Arquitectura de Software Sistemas de Llamada y Retorno Integrante: MAILY NAVA

Transcript of Estilos Arquitectónico

Page 1: Estilos Arquitectónico

Arquitectura de Software

Sistemas de Llamada y Retorno

Integrante:MAILY NAVA

Page 2: Estilos Arquitectónico

Arquitecturas de SoftwareArquitecturas de Software

Estructura de los componentes de un programa o sistema, sus interrelaciones, y los principios y reglas que gobiernan su diseño y evolución en el tiempo.

(Garlan y Perry, 1995)

Estructura o estructuras de un sistema, lo que incluye sus componentes software, las propiedades observables de dichos componentes y las relaciones entre ellos.

(Bass, Clements y Kazman, 1998)

Page 3: Estilos Arquitectónico

Estilos Arquitectónicos de Software

Se puede ver algunos tipos de arquitectura, tratando de agrupar esos tipos en conjuntos a los que podamos asignar cierto nivel de generalización como los que muestran Mary Shaw y David Garlan en su clásico libro “Software Architecture” (1996). Al generalizar los tipos en estilos podremos ver elementos comunes entre los primeros, que es una de las actividades a la que se aplica cualquier disciplina cuando quieran sacar conclusiones un poco más genéricas que las que podría deducir al analizar sólo casos particulares.

Para comenzar, los autores aclaran que utilizan tres términos como equivalentes: patrón de arquitectura, modismo arquitectónico (architectural idiom) y estilo arquitectónico, y presentan 5 de estos estilos:

*Sistemas de flujo de datos Secuencial en lote Tubos y filtros

*Sistemas de llamada y retorno Programa principal y subrutina Sistemas orientados al objeto Capas jerárquicas

* Componentes independientesProcesos comunicativosSistemas de eventos

*Máquinas virtualesIntérpretesSistemas basados en reglas

*Sistemas centrados en los datosBases de DatosSistemas de hipertextoPizarras

Page 4: Estilos Arquitectónico

Arquitecturas de llamada y retornoArquitecturas de llamada y retorno

Reflejan la estructura del lenguaje de programación. Permite al diseñador del software construir una estructura de programa relativamente fácil de modificar y ajustar a escala.

Se basan en la bien conocida abstracción de procedimientos/funciones/métodos. -Utilizados en grandes sistemas de software. -Persiguen escalabilidad y modificabilidad.

Subestilos: Subestilos:

• Arquitectura de programa principal-sub rutinas: Clasifica de programación descompone las funciones en una jerarquía de control donde un programa principal llama a un número de componentes del programa, los cuales pueden también llamar a otros componentes.

• Arquitecturas orientadas a objetos: Los componentes de un sistema encapsulan los datos y las operaciones que se deben realizar para manipular los datos. La comunicación y la coordinación entre componentes se consiguen a través del paso de mensaje.

• Arquitecturas Estratificadas (capas): Se crean diferentes capas y cada una realiza operaciones que progresivamente se aproximan mas al cuadro de instrucciones de la maquina. En la capa externa, los componentes sirven a las operaciones de interfaz de usuario. En la capa interna, los componentes realizan operaciones de interfaz del sistema. Las capas intermedias proporcionan servicios de utilidad y funciones de software de aplicaciones.

Page 5: Estilos Arquitectónico

Sistemas de llamada y retorno / programa principal y subrutinasprograma principal y subrutinas

Estilo clásico desde los años 1960 – pre OO. Descomposición jerárquica en subrutinas (componentes) que solucionan una tarea o función definida. Los datos son pasados como parámetros y el manejador principal proporciona un ciclo de control sobre las subrutinas.

Page 6: Estilos Arquitectónico

Características:

– Hilo de control simple soportado por los lenguajes de programación.

– Usa una estructura implícita de subsistemas.

– Razonamiento jerárquico, cambios en una subrutina implican cambios en las subrutinas que hacen la invocación.

– Pretenden incrementar el desempeño distribuyendo el trabajo en múltiples procesadores.

Sistemas de llamada y retorno / programa principal y subrutinasprograma principal y subrutinas

Page 7: Estilos Arquitectónico

● Ventajas

– La descomposición en módulos disminuye la complejidad.

● Desventajas

– Dependencia y acoplamiento entre módulos.

– La reutilización y el mantenimiento son difíciles.

Sistemas de llamada y retorno / programa principal y subrutinasprograma principal y subrutinas

Page 8: Estilos Arquitectónico

Sistemas de llamada y retorno, orientado a objetosorientado a objetos

La representación de los datos y sus operaciones primitivas asociadas son encapsuladas en un tipo de dato abstracto u objeto.

● En este estilo los componentes son los objetos, o instancias de tipos de datos abstractos. Estos objetos son de un tipo de componente denominado manager porque es responsable por preservar la integridad de un recurso.● Los objetos interactúan a través de invocaciones a procedimientos y funciones.

Page 9: Estilos Arquitectónico

Aspectos, Ventajas y Desventaja del Estilo orientado a objetosorientado a objetos

● Aspectos importantes:

– Un objeto es responsable de preservar la integridad de su representación (usualmente manteniendo algún invariante).

– La representación se oculta a otros objetos.

● Ventajas

– Como un objeto oculta su representación a sus clientes, es posible cambiar su implementación sin modificar los clientes: modificabilidad.

– La integración de un conjunto de rutinas de acceso con los datos que manipulan permite a los diseñadores descomponer los problemas en colecciones de agentes que interactúan.

Page 10: Estilos Arquitectónico

Aspectos, Ventajas y Desventaja del Estilo orientado a objetosorientado a objetos

● Desventajas

– Para que un objeto interactúe con otro (mediante la invocación a un procedimiento) debe conocer la identidad del otro objeto. Luego, cuando la identidad de un objeto cambie es necesario modificar todas las invocaciones a tal objeto.

– Se pueden presentar efectos laterales: si los objetos Ay C usan al objeto B, entonces los efectos de C en B lucen como efectos laterales no esperados en A, y viceversa.

Page 11: Estilos Arquitectónico

Sistemas de llamada y retorno, sistemas de capassistemas de capas

Organización jerárquica, cada capa proporciona servicios a la capa superior y actúa como cliente de la capa inferior.

● Los componentes se organizan en capas.● Los conectores son definidos por los protocolos que determinan como interactúan las capas.● Restricciones topológicas incluyen limitar las interacciones a capas adyacentes.

Page 12: Estilos Arquitectónico

Sistemas de llamada y retorno, sistemas de capassistemas de capas

● Aplicabilidad

– Grandes sistemas caracterizados por una mezcla de elementos de alto y bajo nivel, donde los elementos de alto nivel dependen de los de bajo nivel.

● Componentes

– Grupos de subtareas que implementan una "máquina virtual" en alguna capa en la jerarquía. Pueden implementarse como objetos o como procedimientos.

– Cada nivel tiene asociada una funcionalidad: *Niveles bajos, funciones simples ligadas al hardware o al

entorno. *Niveles altos: funciones más abstractas.

Page 13: Estilos Arquitectónico

Sistemas de llamada y retorno, sistemas de capassistemas de capas

● Mecanismos de interacción entre componentes – Llamadas a procedimientos. – Llamadas a métodos.

● Invariantes / restricciones – Únicamente llamadas de niveles superiores e inferiores. – Únicamente llamadas entre niveles adyacentes.

● Aplicación – Pilas de protocolos de comunicación. – Sistemas operativos. – Compiladores. – Máquinas virtuales.

Page 14: Estilos Arquitectónico

Sistemas de llamada y retorno, sistemas de capassistemas de capas

Page 15: Estilos Arquitectónico

Sistemas de llamada y retorno, sistemas de capassistemas de capas

Encapsulamiento en TCP/IP

Page 16: Estilos Arquitectónico

Sistemas de llamada y retorno, sistemas de capassistemas de capas

● Ventajas

– Facilita la migración. El acoplamiento con el entorno está localizado en las capas inferiores. Estas son las únicas a reimplementar en caso de transporte a un entorno diferente. – Reutilización: como cada nivel implementa unas interfaces claras y lógicas pueden intercambiarse. – Mantenimiento: los cambios en una capa apenas afectan a la superior e inferior. – Permite trabajar en varios niveles de abstracción. Para implementar los niveles superiores no se requiere conocer el entorno subyacente, basta con las interfaces que proporcionan los niveles inferiores.

Page 17: Estilos Arquitectónico

Sistemas de llamada y retorno, sistemas de capassistemas de capas

● Desventajas

– No todos los sistemas se pueden estructurar fácilmente como capas. – Rendimiento: la comunicación a través de las diferentes capas puede hacer ineficiente el sistema.

Page 18: Estilos Arquitectónico

Conclusiones Son muy pocos quienes han oído hablar de estos Estilos y

SubEstilos de la Arquitectura de Software, y muchos menos aún quienes poseen alguna experiencia de modelado genuinamente arquitectónico.

Por lo general tiende a confundirse al momento de la aplicación de estos estilos ya que no se tiene claro al momento de realizar la arquitectura cual aplicar; con la investigación se me a aclarado el hecho de que la arquitectura de software no ha sabido comunicar su propia función mediadora entre el requerimiento por un lado y el diseño y la implementación por el otro.

La presente investigación ha procurado describir los estilos de arquitecturas de software específicamente el asignado por el profesor Sistema de llamado y retorno por capasSistema de llamado y retorno por capas, es muy evidente que lo que exige la Unidad Curricular “Ingeniería de Software” es la presentación de la arquitectura de Software en uno de los estilos mencionados anteriormente, pues a mi criterio para lo que estoy elaborando como Proyecto Socio Integrador el SubEstilo por (Capas)(Capas), a mi parecer no se adapta, por cuanto no se puede representar todos los elementos y componentes que están involucrados en mi aplicación Web.

Page 19: Estilos Arquitectónico

Referencias Bibliográficas

Diseño Arquitectura Del Software

http://www.mitecnologico.com/Main/Dise%F1oArquitecturaDelSoftware

ALGUNOS TIPOS DE ARQUITECTURAS

http://homepage.mac.com/imaz/iblog/C612772037/E20050907222635/Media/Algunos%20Tipos%20de%20Arquitecturas.pdf

Arquitectura de Software 2009

http://sophia.javeriana.edu.co/~javila/pregrado/arquitectura/estilosArquitectonicos.pdf