Is.1p.5 arquitectura de software

29
1 / 7 Participative Innovation Space [email protected] thepracticeofinnovation.net IS.1p.5 Arquitectura de software. Experts: [email protected] (Evelin Flores) [email protected] (Jaime Meza (Invitado))

Transcript of Is.1p.5 arquitectura de software

Page 1: Is.1p.5 arquitectura de software

1 /

7

Participative Innovation [email protected] thepracticeofinnovation.net

IS.1p.5Arquitectura de software.

Experts:[email protected] (Evelin Flores)[email protected] (Jaime Meza (Invitado))

Page 2: Is.1p.5 arquitectura de software

2 /

7

Participative Innovation [email protected] 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.

Page 3: Is.1p.5 arquitectura de software

3 /

7

Participative Innovation [email protected] 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 1471El 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”.

Page 4: Is.1p.5 arquitectura de software

4 /

7

Participative Innovation [email protected] 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ándarConexiones dedicadas a BDProtocolos pesadosAlta administraciónBajo rendimientoAlto tráfico de redBaja accesibilidad

Clientes Servidor mejorada

Red Lógica de negocios en BDClientes pesados, no estándar.Conexiones dedicadas a la BD.Mejora en rendimientoAlta administraciónBaja escalabilidadBaja flexibilidadBaja portabilidad

Cuál ha sido la su evolución?

Page 5: Is.1p.5 arquitectura de software

5 /

7

Participative Innovation [email protected] 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 HeterogeneidadEscalabilidadDisponibilidadDistribuciónManejabilidad de ProcesosAdministración y monitoreo de procesos, servicios e infraestructura

Page 6: Is.1p.5 arquitectura de software

6 /

7

Participative Innovation [email protected] 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.

Page 7: Is.1p.5 arquitectura de software

7 /

7

Participative Innovation [email protected] 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ógica2. Vista de Procesos3. Vista de Desarrollo4. Vista Física5. Los escenarios definen el termino +1.

Page 8: Is.1p.5 arquitectura de software

8 /

7

Participative Innovation [email protected] 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

Page 9: Is.1p.5 arquitectura de software

9 /

7

Participative Innovation [email protected] 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

Page 10: Is.1p.5 arquitectura de software

10 /

7

Participative Innovation [email protected] 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

Page 11: Is.1p.5 arquitectura de software

11 /

7

Participative Innovation [email protected] thepracticeofinnovation.net

Jugando en Fabricius

Page 12: Is.1p.5 arquitectura de software

12 /

7

Participative Innovation [email protected] 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

Page 13: Is.1p.5 arquitectura de software

13 /

7

Participative Innovation [email protected] thepracticeofinnovation.net

Jugando en Fabricuis

Reglas del juego:Descripción de la Regla ValoraciónCada 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

Page 14: Is.1p.5 arquitectura de software

14 /

7

Participative Innovation [email protected] 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:

Page 15: Is.1p.5 arquitectura de software

15 /

7

Participative Innovation [email protected] 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 SistemaDescripció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

Page 16: Is.1p.5 arquitectura de software

16 /

7

Participative Innovation [email protected] thepracticeofinnovation.net

Etapa Pregunta a resolver Que hacerDespegar 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

Page 17: Is.1p.5 arquitectura de software

17 /

7

Participative Innovation [email protected] 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: AlumnoDescripció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

Page 18: Is.1p.5 arquitectura de software

18 /

7

Participative Innovation [email protected] thepracticeofinnovation.net

Etapa Pregunta a resolver Que hacerDespegar 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

Page 19: Is.1p.5 arquitectura de software

19 /

7

Participative Innovation [email protected] 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ónDescripció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

Page 20: Is.1p.5 arquitectura de software

20 /

7

Participative Innovation [email protected] thepracticeofinnovation.net

Etapa Pregunta a resolver Que hacerDespegar 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

Page 21: Is.1p.5 arquitectura de software

21 /

7

Participative Innovation [email protected] 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 InternetDescripció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

Page 22: Is.1p.5 arquitectura de software

22 /

7

Participative Innovation [email protected] thepracticeofinnovation.net

Etapa Pregunta a resolver Que hacerDespegar 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

Page 23: Is.1p.5 arquitectura de software

23 /

7

Participative Innovation [email protected] 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 SistemaDescripció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

Page 24: Is.1p.5 arquitectura de software

24 /

7

Participative Innovation [email protected] thepracticeofinnovation.net

Etapa Pregunta a resolver Que hacerDespegar 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

Page 25: Is.1p.5 arquitectura de software

25 /

7

Participative Innovation [email protected] thepracticeofinnovation.net

Tareas a EjecutarEtapa 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_presentacion>

2.- Votará por pares en Fabricuis (Ideas Votar)

3.- Votará la lista del ranking resultante de la tarea 2 en Fabricuis (Ideas Decidir)

Page 26: Is.1p.5 arquitectura de software

26 /

7

Participative Innovation [email protected] thepracticeofinnovation.net

Tareas a EjecutarEtapa Pregunta(s) a

resolverQue 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.

Page 27: Is.1p.5 arquitectura de software

27 /

7

Participative Innovation [email protected] thepracticeofinnovation.net

Tareas a EjecutarEtapa Pregunta(s) a

resolverQue 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

Page 28: Is.1p.5 arquitectura de software

28 /

7

Participative Innovation [email protected] 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

Page 29: Is.1p.5 arquitectura de software

29 /

7

Participative Innovation [email protected] thepracticeofinnovation.net

Documentos sugeridos1. http://delta.cs.cinvestav.mx/~pmalvarez/tesis-tahuiton.pdf2. https://en.wikipedia.org/wiki/Software_architecture3. http://www.dsic.upv.es/docs/bib-dig/tesis/etd-10132009-094823/borrador-tesis-rogelio-2.pdf4. http://es.slideshare.net/glud/conceptos-basicos-arquitectura-de-software5. http://is.ls.fi.upm.es/docencia/is2/documentacion/arquitectura.pdf6. https://jjegonzalezf.files.wordpress.com/2009/07/das-ieee1471-restaurant.pdf7. http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.43.661&rep=rep1&type=pdf8. http://ptgmedia.pearsoncmg.com/images/9780321815736/samplepages/0321815734.pdf9. http://www.oreilly.com/programming/free/files/software-architecture-patterns.pdf10. http://carlosreynoso.com.ar/archivos/arquitectura/Introduccion.PDF11. http://www.alzado.org/articulo.php?id_art=35512. http://www.ie.inf.uc3m.es/grupo/docencia/reglada/Is1y2/Unidades11a12-PPT.pdf13. Philippe B. Kruchten. The 4+1 view model of architecture. IEEE Software, 12(6):42{50, 1995.