Microsoft Word - Capitulo de libros profesores de arquitectura UAC ...
Arquitectura software capitulo i
-
Upload
cathy-guevara -
Category
Software
-
view
72 -
download
2
Transcript of 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
ELEMENTOS DE LA ARQUITECTURA DE SOFTWARE
Docente: MSc. Cathy Guevara
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
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
Docente: MSc. Cathy Guevara
Docente: MSc. Cathy Guevara
Docente: MSc. Cathy Guevara
Docente: MSc. Cathy Guevara
Docente: MSc. Cathy Guevara
CLIENTE / SERVIDOR - WEB
Docente: MSc. Cathy Guevara
Docente: MSc. Cathy Guevara
Docente: MSc. Cathy Guevara
Docente: MSc. Cathy Guevara
Docente: MSc. Cathy Guevara
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
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
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
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
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
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
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
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
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
UNIVERSIDAD TÉCNICA DEL NORTE
FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS
CARRERA DE INGENIERÍA EN SISTEMAS
UNIVERSIDAD TÉCNICA DEL NORTE
FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS
CARRERA DE INGENIERÍA EN SISTEMAS
UNIVERSIDAD TÉCNICA DEL NORTE
FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS
CARRERA DE INGENIERÍA EN SISTEMAS
UNIVERSIDAD TÉCNICA DEL NORTE
FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS
CARRERA DE INGENIERÍA EN SISTEMAS
UNIVERSIDAD TÉCNICA DEL NORTE
FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS
CARRERA DE INGENIERÍA EN SISTEMAS
UNIVERSIDAD TÉCNICA DEL NORTE
FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS
CARRERA DE INGENIERÍA EN SISTEMAS
UNIVERSIDAD TÉCNICA DEL NORTE
FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS
CARRERA DE INGENIERÍA EN SISTEMAS
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
UNIVERSIDAD TÉCNICA DEL NORTE
FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS
CARRERA DE INGENIERÍA EN SISTEMAS
Modelo de vistas 4+1
UNIVERSIDAD TÉCNICA DEL NORTE
FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS
CARRERA DE INGENIERÍA EN SISTEMAS
Modelo de vistas 4+1
UNIVERSIDAD TÉCNICA DEL NORTE
FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS
CARRERA DE INGENIERÍA EN SISTEMAS
UNIVERSIDAD TÉCNICA DEL NORTE
FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS
CARRERA DE INGENIERÍA EN SISTEMAS
Modelo de vistas 4+1
UNIVERSIDAD TÉCNICA DEL NORTE
FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS
CARRERA DE INGENIERÍA EN SISTEMAS
Modelo de vistas 4+1
UNIVERSIDAD TÉCNICA DEL NORTE
FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS
CARRERA DE INGENIERÍA EN SISTEMAS
Modelo de vistas 4+1
UNIVERSIDAD TÉCNICA DEL NORTE
FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS
CARRERA DE INGENIERÍA EN SISTEMAS
Modelo de vistas 4+1
UNIVERSIDAD TÉCNICA DEL NORTE
FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS
CARRERA DE INGENIERÍA EN SISTEMAS
Modelo de vistas 4+1
UNIVERSIDAD TÉCNICA DEL NORTE
FACULTAD DE INGENIERÍA EN CIENCIAS APLICADAS
CARRERA DE INGENIERÍA EN SISTEMAS
Modelo de vistas 4+1
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
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