1. 1/7
Participative Innovation Spacejm.monguet@upc.edu thepracticeofinnovation.net
IS.1p.5
Arquitectura de software.
Experts:
evelin.flores@pucese.edu.ec (Evelin Flores)
jaime.meza@estudiant.upc.edu (Jaime Meza (Invitado))
2. 2/7
Participative Innovation Spacejm.monguet@upc.edu thepracticeofinnovation.net
Objetivo
Al finalizar la práctica el estudiante será
capaz de prototipar una arquitectura de
software conforme al modelo de vistas
4+1.
3. 3/7
Participative Innovation Spacejm.monguet@upc.edu thepracticeofinnovation.net
Que es una arquitectura de Software?
Existen múltiples definiciones en relación con la definición de una
arquitectura, pero cuando vemos una la reconocemos. Entre las
definiciones podríamos citar:
• IEEE 1471
El nivel conceptual más alto de un
sistema en su ambiente.
• Arquitectura es la organización
fundamental de un sistema descrita
en:
– Sus componentes.
– Relación entre ellos y con el
ambiente.
– Principios que guían su diseño y
evolución.
Software Architecture in Practice -
Kazman
“La estructura de estructuras de un
sistema, la cual abarca
componentes de software,
propiedades externas visibles de
estos componentes y sus
relaciones”.
4. 4/7
Participative Innovation Spacejm.monguet@upc.edu thepracticeofinnovation.net
Arquitectura Tipos de Sistemas Principales Características
Monolíticas Centralizados Interfaces gráficas de usuario (GUI).
Servicios de presentación, negocios y persistencia en la misma máquina.
No hay concurrencia de usuarios.
Clientes Servidor
estándar
Red Clientes pesados, no estándar
Conexiones dedicadas a BD
Protocolos pesados
Alta administración
Bajo rendimiento
Alto tráfico de red
Baja accesibilidad
Clientes Servidor
mejorada
Red Lógica de negocios en BD
Clientes pesados, no estándar.
Conexiones dedicadas a la BD.
Mejora en rendimiento
Alta administración
Baja escalabilidad
Baja flexibilidad
Baja portabilidad
Cuál ha sido la su evolución?
5. 5/7
Participative Innovation Spacejm.monguet@upc.edu thepracticeofinnovation.net
Cúal ha sido la su evolución?
Arquitectura Tipos de Sistemas Principales Características
Tres Niveles Distribuidos Reutilización de lógica de negocio para diferentes clientes o sistemas.
Mejora la escalabilidad.
Mejora la flexibilidad.
Independencia de la base de datos.
N Niveles Distribuidos Bajo costo de administración de clientes.
Alta accesibilidad.
Alta flexibilidad.
Alta disponibilidad y tolerancia a fallos.
Alta escalabilidad.
Independencia de DB
Arquitectura
Orientada a
Servicios (SOA)
Distribuidos Heterogeneidad
Escalabilidad
Disponibilidad
Distribución
Manejabilidad de Procesos
Administración y monitoreo de procesos, servicios e
infraestructura
6. 6/7
Participative Innovation Spacejm.monguet@upc.edu thepracticeofinnovation.net
Diseño de Software y arquitectura ¿Es igual?
En primera instancia aparentaría ser lo mismo, sin embargo la
diferencia esta dada en el nivel de detalle de la especificación:
Componentes Arquitectura Diseño
Nivel de Abstracción Alto nivel Bajo nivel, se focaliza en
los detalles
Entregables Planear subsistemas,
interfaces con sistemas
externos, servicios
horizontales, frameworks,
componentes reutilizables,
prototipo arquitectónico
Diseño detallado
componentes.
Especificaciones de
codificación
Enfoque Selección de tecnologías,
Requerimientos no
funcionales (QoS),
Manejo de riesgos
Requerimientos
funcionales detallados.
7. 7/7
Participative Innovation Spacejm.monguet@upc.edu thepracticeofinnovation.net
¿Cómo construir una arquitectura de Sofware?
La construcción de una arquitectura de software no es un proceso
trivial y la calidad de la misma depende el éxito o fracaso de un
software, para ello es imprescindible haber cumplido algunas
actividades previas del proceso de ingeniería de Software que
brindarán el soporte necesario. Kruchten [13] propone el modelado
de arquitecturas utilizando cuatro diferentes vistas y una vista de
casos de uso para ilustrar y validar las otras vistas. Cada vista
abordada con un enfoque especifico de la arquitectura para un
conjunto particular de actores, las vistas definidas :
1. Vista Lógica
2. Vista de Procesos
3. Vista de Desarrollo
4. Vista Física
5. Los escenarios definen el termino +1.
8. 8/7
Participative Innovation Spacejm.monguet@upc.edu thepracticeofinnovation.net
Se han cumplido algunas actividades del proceso de ingeniería de software (Fig 1).,
recuerden que todo el proceso debe estar balanceado y guardar relación secuencial
acorde a los hitos cumplidos Ejm. Sistema (A), que utiliza el ciclo de vida (C), y se
implementa con la metodologia (M), tienes R especificaciones aprobadas y se
modelan en la Herramienta (H) de acuerdo a los artefactos de M, con dicho
modelado generamos nuestra arquitectura ARQ.
Fig 1. Pirámide de hitos cumplidos
Punto de Control (Actividades cumplidas).
Herramienta de
Modelamiento
Oportunidad negocio
Ciclo de Vida
Metodología
Especificación
Requerimientos
Arquitectura
9. 9/7
Participative Innovation Spacejm.monguet@upc.edu thepracticeofinnovation.net
¿Cómo construir una arquitectura de Software?
Modelo 4+1 de las Vistas arquitectónicas
Mapeo modelo 4+1 de las Vistas arquitectónicas - diagramas UML
Ejemplo de aplicación ver en:
https://jjegonzalezf.files.wordpress.com/2009/07/das-ieee1471-
restaurant.pdf
10. 10/7
Participative Innovation Spacejm.monguet@upc.edu thepracticeofinnovation.net
E
¿Cómo construir una arquitectura de Software?
Como resultado del desarrollo de cada una de las vistas, se debe preparar un
grafo en lenguaje de cliente en lo posible que resuma la interacción de cada una
de las vistas en una sola pagina con lo cual se tendrá un prototipo de
arquitectura.
Ejemplos de grafos de arquitecturas
12. 12/7
Participative Innovation Spacejm.monguet@upc.edu thepracticeofinnovation.net
Jugando en Fabricuis
BUENOS MALOS
Coin.- Obtiene bonos extra ( 10
Coins = 1 Love's Star)
Love's Star - Obtiene1 punto Worry's Star .- Obtiene-1 puntos
Active Fire.- Obtiene10 puntos Pasive Fire.- Obtiene-10 puntos
Super Nova.- Obtiene 100 puntos. Destructor.- Obtiene -100 puntos
Personajes
13. 13/7
Participative Innovation Spacejm.monguet@upc.edu thepracticeofinnovation.net
Jugando en Fabricuis
Reglas del juego:
Descripción de la Regla Valoración
Cada idea propuesta 1 Love's Star
Idea primera posición en el ranking del grupo 5 Love's Star
Idea segunda y tercera posición en el ranking del grupo 3 Love's Star
1 Love's Star
Idea que no queda en el ranking 1 Worry's Star
Idea propuestas en tiempo actividad 1 Coin por día restantes del final
Comentario 1 Coin por comentario
Voto en blanco sobre idea (todas las ideas presentadas al participante serán votadas) 1 Worry's Star
Grupo primero en el Ranking de una etapa 1 Active Fire
Grupo no participa en una etapa 1 Pasive Fire
Grupo no realiza una tarea 5 Worry's Star
Grupo primero en el ranking de tareas de defensa 1 Super Nova
Grupo segundo en el ranking de tareas de defensa 1 Active Fire
Grupo no se presenta a la defensa 1 Destructor
14. 14/7
Participative Innovation Spacejm.monguet@upc.edu thepracticeofinnovation.net
En el proyecto <Proyecto_del_grupo> usted ha seleccionado la herramienta de
modela miento UML . Ahora debe seleccionar arquitectura de Software que le
permita representar gráficamente su software y sustentar el como se realizará el
sistema tanto en requisitos funcionales como no funcionales. Las preguntas que
deberán realizarse en la resolución del caso son:
1. ¿Cómo desarrollar las vistas 4+1 y el grafo de prototipo arquitectura?
2. ¿Cuál es la arquitectura mas adecuada para mi software?
3. De acuerdo a la arquitectura seleccionada para el proyecto, ¿que necesito para
implementarla?
Desafio:
15. 15/7
Participative Innovation Spacejm.monguet@upc.edu thepracticeofinnovation.net
Etapa Pregunta a resolver Que hacer
Despegar 1. ¿Cómo desarrollar las
vistas 4+1 y el grafo
de prototipo
arquitectura?
a.-)Escenarios.- Partiendo de la lista de
requerimientos de su proyecto,
trabajando en equipo cada alumno
deberá proponer una idea de escenario:
Ejemplo:
Escenario: Ingreso al Sistema
Descripción: El alumno registra sus
credenciales en el sistema, el sistema
valida y permite el acceso o muestra
mensaje de denegación.
En este caso Alumno es actor y registrar
Credenciales es el caso de uso.
Tareas a Ejecutar
16. 16/7
Participative Innovation Spacejm.monguet@upc.edu thepracticeofinnovation.net
Etapa Pregunta a resolver Que hacer
Despegar 1. ¿Cómo desarrollar las
vistas 4+1 y el grafo
de prototipo
arquitectura?
Registrarlo el escenario en Fabricuis
(Despegar Escenario), discutir en el
grupo las ideas y eliminar las que no
aporten o estén repetidas ( ),
para y votar ideas.
Al final de esta actividad se deberá
obtener una lista de actores con su
responsabilidades y el escenario
relacionado Tabla 1.
Tareas a Ejecutar
Actor Descripción Escenarios
17. 17/7
Participative Innovation Spacejm.monguet@upc.edu thepracticeofinnovation.net
Etapa Pregunta a resolver Que hacer
Despegar 1. ¿Cómo desarrollar las
vistas 4+1 y el grafo
de prototipo
arquitectura?
a.-)Vista Lógica.- Proponer una idea de
una clase, atributos y posibles relaciones
Ejemplo:
Clase: Alumno
Descripción: El alumno contiene los
datos de identificación de alumno:
Cedula , Nombre , dirección, teléfono,
un alumno puede estar en varias
facultades.
En este caso Alumno es la clase, datos de
identificación son los atributos de la
clase, y puede estar en varias
facultades, es la relación de tipo uno a
varios
Tareas a Ejecutar
18. 18/7
Participative Innovation Spacejm.monguet@upc.edu thepracticeofinnovation.net
Etapa Pregunta a resolver Que hacer
Despegar 1. ¿Cómo desarrollar las
vistas 4+1 y el grafo
de prototipo
arquitectura?
Registrarlo el escenario en Fabricuis
(Despegar Vista Logica), discutir en el
grupo las ideas y eliminar las que no
aporten o estén repetidas ( ),
para y votar ideas.
Al final de esta actividad se deberá
obtener una lista de clases con sus
atributos y relaciones.
Tareas a Ejecutar
Clase Atributos Relación
19. 19/7
Participative Innovation Spacejm.monguet@upc.edu thepracticeofinnovation.net
Etapa Pregunta a resolver Que hacer
Despegar 1. ¿Cómo desarrollar las
vistas 4+1 y el grafo
de prototipo
arquitectura?
a.-)Vista Desarrollo.- Proponer una idea
de un paquete de objetos de la
aplicación Ejemplo:
Paquete: Presentación
Descripción: Contendrá todas las
pantallas que utilizara el sistema para
presentar la información al usuario
desde un dispositivo móvil.
En este caso Presentación es el Paquete.
Tareas a Ejecutar
20. 20/7
Participative Innovation Spacejm.monguet@upc.edu thepracticeofinnovation.net
Etapa Pregunta a resolver Que hacer
Despegar 1. ¿Cómo desarrollar las
vistas 4+1 y el grafo
de prototipo
arquitectura?
Registrarlo el escenario en Fabricuis
(Despegar Vista Desarrollo), discutir
en el grupo las ideas y eliminar las que
no aporten o estén repetidas (
),
para y votar ideas.
Al final de esta actividad se deberá
obtener una lista de paquetes y su
descripción.
Tareas a Ejecutar
Paquete Descripción
21. 21/7
Participative Innovation Spacejm.monguet@upc.edu thepracticeofinnovation.net
Etapa Pregunta a resolver Que hacer
Despegar 1. ¿Cómo desarrollar las
vistas 4+1 y el grafo
de prototipo
arquitectura?
a.-)Vista Física.- Proponer una idea de un
componente de implantación de la
solución Ejemplo:
Componente : Servidor de Internet
Descripción: El servidor de internet a
utilizar es Internet Information Server 7.0
por su capacidad de clustering.
En este caso Servidor de Internet es el
componente.
Tareas a Ejecutar
22. 22/7
Participative Innovation Spacejm.monguet@upc.edu thepracticeofinnovation.net
Etapa Pregunta a resolver Que hacer
Despegar 1. ¿Cómo desarrollar las
vistas 4+1 y el grafo
de prototipo
arquitectura?
Registrarlo el escenario en Fabricuis
(Despegar Vista Física), discutir en el
grupo las ideas y eliminar las que no
aporten o estén repetidas ( ),
para y votar ideas.
Al final de esta actividad se deberá
obtener una lista de componentes y su
descripción.
Tareas a Ejecutar
Componente Descripción
23. 23/7
Participative Innovation Spacejm.monguet@upc.edu thepracticeofinnovation.net
Etapa Pregunta a resolver Que hacer
Despegar 1. ¿Cómo desarrollar las
vistas 4+1 y el grafo
de prototipo
arquitectura?
a.-)Vista Procesos.- Proponer una idea
de un componente de implantación de la
solución Ejemplo:
Proceso: Ingreso al Sistema
Descripción: El alumnos, ingresa su
correo y clave en la interfaz de
presentación, el objeto interfaz
(Autenticar) valida con la capa de
negocio con el objeto (Alumno) los datos
entrados, el objeto alumno retorna un 0
o 1 si el acceso es o no permitido. .
En este caso Ingreso al Sistema es el
proceso.
Tareas a Ejecutar
24. 24/7
Participative Innovation Spacejm.monguet@upc.edu thepracticeofinnovation.net
Etapa Pregunta a resolver Que hacer
Despegar 1. ¿Cómo desarrollar las
vistas 4+1 y el grafo
de prototipo
arquitectura?
Registrarlo el escenario en Fabricuis
(Despegar Vista Procesos), discutir en
el grupo las ideas y eliminar las que no
aporten o estén repetidas ( ),
para y votar ideas.
Al final de esta actividad se deberá
obtener una lista de procesos y su
descripción.
Tareas a Ejecutar
Proceso Descripción
25. 25/7
Participative Innovation Spacejm.monguet@upc.edu thepracticeofinnovation.net
Tareas a Ejecutar
Etapa Pregunta a resolver Que hacer
Ideas ¿Cuál es la arquitectura
mas adecuada para mi
software?
1. Cada estudiante propone un grafo de
arquitectura. Registrará en Fabricius
(Ideas Proponer), una única idea
en la que se explique la herramienta
de software para modelamiento UML
que el hubiere analizado.
Ejemplo:
Idea: Arquitectura SOA para SIG.
Descripción: Implementa un arquitectura
distibuida con tier 5, detalles en :
http://es.slideshare.net/<Su_present
acion>
2.- Votará por pares en Fabricuis (Ideas
Votar)
3.- Votará la lista del ranking resultante
de la tarea 2 en Fabricuis (Ideas
Decidir)
26. 26/7
Participative Innovation Spacejm.monguet@upc.edu thepracticeofinnovation.net
Tareas a Ejecutar
Etapa Pregunta(s) a
resolver
Que hacer
Desarrollo De acuerdo a la
arquitectura seleccionada
para el proyecto, ¿que
necesito para
implementarla?
Cada estudiante propondrá ideas acerca
de cómo implementar la arquitectura
ganadora , y la registrara en Fabricuis
(Desarrollo Proponer) Ejm. Servidores
a instalar, sistema operativo, red, etc que
se necesitare para implementarla.
27. 27/7
Participative Innovation Spacejm.monguet@upc.edu thepracticeofinnovation.net
Tareas a Ejecutar
Etapa Pregunta(s) a
resolver
Que hacer
Entrega Resuelve el desafío Cada grupo presentará y defenderá su
propuesta caso de solución. Los grupos
restantes darán retroalimentación y
comentarios de lo presentado. Al menos
cada estudiante realizará un comentario
al grupo presentador. Una vez
comentado se procederá a valorar
mediante votación en Fabricius
28. 28/7
Participative Innovation Spacejm.monguet@upc.edu thepracticeofinnovation.net
Criterio Descripción
Contenido La arquitectura utilizada es adecuada para el proyecto presentado y fue
documentada adecuadamente.
Rendimiento El grupo se hizo entender, explico todas las dudas y se mostro con
conocimiento del tema presentado.
Criterios de evaluación defensa proyecto
29. 29/7
Participative Innovation Spacejm.monguet@upc.edu thepracticeofinnovation.net
Documentos sugeridos
1. http://delta.cs.cinvestav.mx/~pmalvarez/tesis-tahuiton.pdf
2. https://en.wikipedia.org/wiki/Software_architecture
3. http://www.dsic.upv.es/docs/bib-dig/tesis/etd-10132009-094823/borrador-tesis-rogelio-2.pdf
4. http://es.slideshare.net/glud/conceptos-basicos-arquitectura-de-software
5. http://is.ls.fi.upm.es/docencia/is2/documentacion/arquitectura.pdf
6. https://jjegonzalezf.files.wordpress.com/2009/07/das-ieee1471-restaurant.pdf
7. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.43.661&rep=rep1&type=pdf
8. http://ptgmedia.pearsoncmg.com/images/9780321815736/samplepages/0321815734.pdf
9. http://www.oreilly.com/programming/free/files/software-architecture-patterns.pdf
10. http://carlosreynoso.com.ar/archivos/arquitectura/Introduccion.PDF
11. http://www.alzado.org/articulo.php?id_art=355
12. http://www.ie.inf.uc3m.es/grupo/docencia/reglada/Is1y2/Unidades11a12-PPT.pdf
13. Philippe B. Kruchten. The 4+1 view model of architecture. IEEE Software, 12(6):42{50, 1995.