arquitectura software capitulo i

59
Docente: MSc. Cathy Guevara UNIVERSIDAD TÉCNICA DEL NORTE FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS CARRERA DE INGENIERÍA EN SISTEMAS ARQUITECTURA DE SOFTWARE

Upload: cathy-guevara

Post on 17-Feb-2017

72 views

Category:

Software


2 download

TRANSCRIPT

Page 1: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

ARQUITECTURA DE SOFTWARE

Page 2: Arquitectura software capitulo i

AGENDA

1. Definición, importancia y objetivos

2. El rol del arquitecto de software

3. La ingeniería de software y patrones de diseño

4. Proceso de arquitectura de software

5. Estándares e interoperabilidad de sistemas

6. Lenguajes de descripción arquitectónica

7. Vistas arquitectónicas.Modelo de vistas 4+1

8. Estilos arquitectónicos: arquitecturas centradas en datos, en flujo de datos, de llamada

y retorno, orientadas a objetos, orientadas a servicios, orientadas a aspecto.

9. Patrones arquitectónicos

Docente: Mgc. Cathy Guevara

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Page 3: Arquitectura software capitulo i
Page 4: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

Definición

A software architecture for a system is the structure or structures of the

system, which consist of elements, their externally visible properties, and

the relationships among them.

It refers to a group of abstractions and patterns that provide us a useful

outline to guide us in the development of software in a computer system

reference.

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Page 5: Arquitectura software capitulo i

Especificación de Requerimientos del sistema (SRS)

• En este camino hay mucho por hacer. ¿Comenzamos a

programar para terminar lo antes posible? - ¿Cuáles serían los

riesgos?

• No es un proceso en cascada. No se está definiendo un

proceso.

Sistema instalado y funcionando

-Arquitectura de Software

-Diseño detallado

-Implementación

-Verificación

Docente: MSc. Cathy Guevara

Importancia

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Page 6: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

¿Qué Afecta y qué la Determina?

La arquitectura de software afecta:

• Performance (Desempeño con respecto al rendimiento)

• Seguridad

• Disponibilidad

• Mantenibilidad

• Usabilidad…

Entonces, el estilo y estructura particular elegido para una aplicación

dependen fuertemente de los requerimientos no funcionales.

Importancia

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Page 7: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

Una buena arquitectura debería….

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Page 8: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

Reglas estructurales para la arquitectura

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Page 9: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

En la actualidad, la palabra “arquitectura” muchos la asocian al termino de

construir y diseñar edificios, pero en realidad esta palabra sobre sale en

varias ramas, no solo de las de dibujo sino que a la vez en las ramas

económicas y empresariales, sin mencionar en la rama que principalmente

está enfocado el siguiente artículo, la cual es la de “Informática”. El auge que

está tomando este tipo de definición en el campo de las tecnologías de

información, es bastante alta, ya que facilita y comprende no solo la parte de

la administración de la solución dentro del negocio, sino que a la vez tener

una comunicación certera y clara entre los demás integrantes que participan

dentro del mismo.

Rol del Arquitecto de Software

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Page 10: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

ARQUITECTO Según la IEEE 1471 su significado es la persona, equipo u

organización responsable por la arquitectura del sistema que se está llevando a

cabo.

Características y Competencias del Arquitecto de Software

Tiene como objeto principal y personal, competencias técnicas y a la vez

conocimientos tecnológicos sobre la rama especifica. Esto conlleva a investigar

nuevas tecnologías, estructuras de soporte definidas y las mejores prácticas que

existen y que se utilizan en la actualidad, debe poseer un liderazgo y autoridad,

lo cual implica que debe de seguir y dirigir al mismo tiempo. También ser un buen

comunicador hacia diversas partes que posee un negocio. Y hablando de

negocio, debe poseer un dominio completo sobre el mismo y volverse un

negociador en ciertas partes, lo cual nos da a entender que debe tener una

visión fuerte y grande para los negocios.

Rol del Arquitecto de Software

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Page 11: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

Responsabilidades

• Una de las más grandes, es poder brindar una arquitectura correcta para

solucionar el problema que se está desarrollando. Esto conlleva a definir y

documentar la misma, asegurándose que este en relación con el sistema que

se desea, y a la vez que sea la mejor forma de brindar soporte y evolución del

mismo.

• Asegurarse que todas las personas involucradas estén utilizando la

arquitectura proporcionada y que el desarrollo del proyecto marche bien. Esto

es para poder resolver cualquier tipo de inquietud que surja, que esté

relacionada con la selección de herramientas en cada uno de los ambientes

de desarrollo.

• Debe resolver conflictos y a la vez ayudar a generar acuerdos, manteniendo

una moral en el grupo que abarca a los designados a la arquitectura.

Rol del Arquitecto de Software

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Page 12: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

Responsabilidades

• Conocer y ayudar a la implementación de la Metodología

• Conocer a la perfección los Requerimientos y Restricciones

• Alinearse con la Visión de la Organización

• Asesorar en la Planificación y Estimación del proyecto

• Definición de Estándares y políticas de reusabilidad de componentes

• Proveer Guía Técnica clara y consistente

Rol del Arquitecto de Software

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Page 13: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

Rol del Arquitecto de Software

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Page 14: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

Rol del Arquitecto de Software

Selección de la Tecnología

La selección de la tecnología suele ser un ejercicio con una serie de desafíos

interesantes y en el cual se debe tomar en cuenta un universo de factores

como el coste, las licencias, la relación con los proveedores, la estrategia de

la tecnología, la compatibilidad e interoperabilidad, política de actualizaciones,

etc.

Adicionalmente hay que conocer si las tecnologías funcionan realmente y se

adaptan o no a los requerimientos del software.

El Arquitecto de Software debe asumir la propiedad del proceso de

selección de la tecnología y por tanto es responsable del riesgo técnico.

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Page 15: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

Rol del Arquitecto de Software

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Page 16: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Ingeniería de Software y patrones de diseño

Page 17: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

Patrones de diseño

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Page 18: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

Ingeniería de Software y patrones de diseño

Patrones de Software:

• Propósito: Compartir una solución probada, ampliamente aplicable a un

problema particular de diseño. El patrón se presenta en una forma estándar

que permite que sea fácilmente reutilizado.

• Cinco piezas importantes de un patrón:

• Nombre

• Contexto

• Problema

• Solución

• Consecuencias (positivas y negativas)

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Page 19: Arquitectura software capitulo i

ELEMENTOS DE LA ARQUITECTURA DE SOFTWARE

Docente: MSc. Cathy Guevara

Page 20: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

Clasificación

Los patrones de diseño se agrupan en tres tipos:

• Estilos arquitectónicos: Soluciones de organización a nivel del sistema.

• Patrones de diseño: Soluciones a problemas detallados de diseño de

software.

• Idioms: Soluciones útiles para problemas específicos en algún lenguaje

de programación. Describe como implementar aspectos particulares de

elementos o de las relaciones entre ellos usando las características de

un lenguaje particular.

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Page 21: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

Estilos Arquitectónicos:

Estilos de flujo de datos.

• Tubos y Filtros

Estilos centrados en datos.

• Arq. de pizarra o repositorio

Estilos de llamada y retorno.

• MVC

• Arq. basada en componentes

Estilos orientados a objetos.

Estilos de código móvil.

• Arq. de máquinas virtuales

Estilos heterogéneos.

• Sistema de control de procesos

• Arq. basada en atributos

Estilos basados en capas (estratificados)

Estilo Cliente / Servidor

Estilos Peer-to-Peer

• Arq. basada en eventos

• Arq. orientada a servicios SOA

• Arq. basada en recursos

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Page 22: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

Page 23: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

Page 24: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

Page 25: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

Page 26: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

CLIENTE / SERVIDOR - WEB

Page 27: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

Page 28: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

Page 29: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

Page 30: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

Page 31: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

Page 32: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

Conclusiones

• Cambiar la arquitectura de un producto ya construido requiere mucho

esfuerzo.

• Entonces, es importante evaluar la arquitectura antes de implementarla

completamente.

• Verificar los requisitos de calidad establecidos.

• Evaluaciones a posteriori resultan útiles como forma de aprendizaje y estudio

de posibilidades de mejora, por ejemplo: para una nueva versión del

producto.

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Page 33: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

Proceso de arquitectura de software

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Page 34: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

Patrones arquitectónicos

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Page 35: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

Patrones arquitectónicos

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Page 36: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

Patrones arquitectónicos

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Page 37: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

Patrones arquitectónicos

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Page 38: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

Patrones arquitectónicos

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Page 39: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

Patrones arquitectónicos

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Page 40: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

Patrones arquitectónicos

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Page 41: Arquitectura software capitulo i

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Page 42: Arquitectura software capitulo i

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Page 43: Arquitectura software capitulo i

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Page 44: Arquitectura software capitulo i

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Page 45: Arquitectura software capitulo i

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Page 46: Arquitectura software capitulo i

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Page 47: Arquitectura software capitulo i

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Page 48: Arquitectura software capitulo i

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Ejemplos de patrones de diseño:

• http://codejavu.blogspot.com/2013/07/ejemplo-patron-de-diseno-decorator.html

Page 49: Arquitectura software capitulo i

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Modelo de vistas 4+1

Page 50: Arquitectura software capitulo i

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Modelo de vistas 4+1

Page 51: Arquitectura software capitulo i

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Page 52: Arquitectura software capitulo i

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Modelo de vistas 4+1

Page 53: Arquitectura software capitulo i

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Modelo de vistas 4+1

Page 54: Arquitectura software capitulo i

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Modelo de vistas 4+1

Page 55: Arquitectura software capitulo i

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Modelo de vistas 4+1

Page 56: Arquitectura software capitulo i

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Modelo de vistas 4+1

Page 57: Arquitectura software capitulo i

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Modelo de vistas 4+1

Page 58: Arquitectura software capitulo i

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS

Ejemplos de Modelos de vistas 4+1

• https://jjegonzalezf.files.wordpress.com/2009/07/das-ieee1471-

restaurant.pdf

• http://sg.com.mx/revista/30/documentacion-arquitectura#.VzIbjfnhC00

Page 59: Arquitectura software capitulo i

Docente: MSc. Cathy Guevara

Linkografía

• http://www.mastermagazine.info/termino/3916.php

• file:///C:/Users/IVAN/Downloads/Arquitectura/is05-

ArquitecturaDeSoftware.pdf

• http://bibdigital.epn.edu.ec/bitstream/15000/414/1/CD-0818.pdf

• http://www.kybele.etsii.urjc.es/docencia/DAS_GIS_M/2011-

2012/Material/Tema%202%20-%20Estilos%20Arquitectonicos.pdf

• http://es.slideshare.net/jpbthames/diseo-arquitectnico-9443843

• http://es.slideshare.net/mstabare/arquitecturas-de-software-parte-2

• http://slideplayer.es/slide/4608815/

• http://www.tec.url.edu.gt/boletin/URL_19_SIS02_COMPETENCIAS.pdf

• http://es.slideshare.net/grrodriguez/arquitectura-aplicaciones-clase8

• http://es.slideshare.net/mstabare/arquitecturas-de-software-parte-1

UNIVERSIDAD TÉCNICA DEL NORTE

FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS

CARRERA DE INGENIERÍA EN SISTEMAS