Is.1p.5 arquitectura de software
-
Upload
universidad-politecnica-de-catalunya -
Category
Documents
-
view
113 -
download
1
Transcript of 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))
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.
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”.
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?
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
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.
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.
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
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
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
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
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
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:
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
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
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
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
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
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
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
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
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
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
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)
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.
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
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
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.