Sobre la Práctica en la Construcción de Arquitecturas de Software

Slides:



Advertisements
Presentaciones similares
¿PARA QUE ESTAMOS AQUÍ? LOS OBJETIVOS DE LA ENCARNACIÓN.
Advertisements

SIES – SISTEMA INTEGRADO DE EDUCACIÓN SUPERIOR
el 1, el 4 y el 9 tres cuadrados perfectos autosuficientes
Ubicuidad en el manejo de los datos
SISTEMAS II CICLO DE VIDA.
U.M.L A/Gx. Diego Gutiérrez Application Analysis and Design.
“Planificación de Aplicaciones Web”
Seminario El Futuro del Seguro de Vida
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS ( Resumen PYMES ) Noviembre de 2004.
1 INFORME RESUMEN SOBRE EL NIVEL DE UTILIZACION DE LAS TIC EN LAS EMPRESAS GALLEGAS (MICROEMPRESAS, resultados provisionales) 29 de julio de 2004.
1 LA UTILIZACION DE LAS TIC EN LAS PYMES GALLEGAS AÑO Resumen. 24 de Junio de 2005.
Aranda Fernández, Miguel Ángel García Redondo, Luis Miguel
INGENIERÍA DE SOFTWARE Introducción Arquitectura de Software
Fundamentos de Diseño de Software INFT.1
Leo Marthe x 2123 COMMANDperformance Leo Marthe x 2123.
TALLER DE COMPETENCIAS VITRO
Leasing & Leaseback: Aspectos Tributarios Casos Prácticos Carlos Quiroz Velásquez , LLM Marzo 31, 2005 Unidad de Negocio Legis Colombia Av. El Dorado.
Introduccion a UML Wilson Peláez Hernández
© 2007 Cisco Systems, Inc. All rights reserved. Traducido en apoyo a la capacitación de Instructores de la Red Proydesa Comunicación por la red Fundamentos.
Conexión a Internet a través de un ISP
SAN JOSÉ, COSTA RICA 8 DE JULIO DE 2009 Construcción del Centro Único de Información para Supervisores del Sistema Financiero Salvadoreño.
1 Reporte Componente Impacto Por Orden Territorial Por Departamento No Disponible ND *Los indicadores para el año 2008 no fueron calculados.
Septiembre 27 a Octubre 01 de 2005 Bogotá, Colombia Arquitecturas flexibles y adaptables: ¿hacia dónde vamos? Jorge A. Villalobos
Universidad Nacional Autónoma de Honduras
UNIVERSIDAD TECNOLÓGICA ISRAEL CARRERA DE SISTEMAS INFORMÁTICOS
Informe final Luis Alberto Zuleta J. Mayo de 2010
DISTRIBUCIÓN COMERCIAL
Servicios en una WAN convergente
1 CONEAU Comisión Nacional de Evaluación y Acreditación Universitaria MINISTERIO DE EDUCACION 2 DE JULIO DE 2010 ACREDITACIÓN DE CARRERAS DE INGENIERÍA.
Desarrollo para Entorno Web
SISTEMA ELECTRONICO DE AVALUOS INMOBILIARIOS VERSION WEBSERVICES
RETIRO DE COMALCALCO DIC. 2012
Guia Diseño Robert Echeverria
Oscar Navarrete J. Jorge Gutiérrez A.
Estadística Computacional I
Proyecto de Ingeniería de Software 2010 Producto
Rational Unified Process (RUP)
Parte 1: Modelo de Casos de Uso del Negocio
Proceso de Originación de Crédito: Banco de los Alpes
MARKETPLACE DE LOS ALPES
Comité Nacional de Información Bogotá, Julio 27 de 2011 Consejo Nacional de Operación de Gas Natural 1 ESTADISTICAS NACIONALES DE OFERTA Y DEMANDA DE GAS.
Java 2 Platform Enterprise Edition
Proyecto Fin de Carrera E.T.S. Ingeniería Informática 26 de Septiembre de 2006 DESARROLLO DE UN COMPONENTE TECLADO ALUMNO: Fco. Javier Sánchez Ramos TUTORES:
Ingeniería del Software
Aplicación elementos del MECI 1000:2005
Plan de Desarrollo “TODOS SOMOS FACATATIVA 2012 – 2015”
Aqui está Señoras y Señores !!!!!
JORNADA 1 DEL 24 DE MARZO AL 30 DE MARZO EQUIPO 01 VS EQUIPO 02 EQUIPO 03 VS EQUIPO 06 EQUIPO 05 VS EQUIPO 10 EQUIPO 07 DESCANSA EQUIPO 08 VS EQUIPO 13.
CULENDARIO 2007 Para los Patanes.
Reunión de los requerimientos de la red
Trabajo Practico – Base de Datos II
1  2008 Universidad de Las Américas - Ingeniería de Software : Dr. Juan José Aranda Aboy ACI491: Ingeniería de Software Unidad 6: Administración de Proyectos.
ESTADOS FINANCIEROS A DICIEMBRE DE 2013.
APENDICE TEMA 4. MÉTRICA DE LOS PUNTOS DE FUNCIÓN
Módulo N° 7 – Introducción al SMS
Selling your ideas is challenging
Requerimientos No Funcionales
Programación 1 (01) Prof. Domingo Hernández Departamento de Computación Grupo de Ingeniería de Datos y Conocimiento (GIDyC) Escuela de Ingeniería.
HERRAMIENTAS CASE.
ESCUELA PROFESIONAL DE INGENIERIA INDUSTRIAL CURSO: GESTION DE LA CALIDAD ING.ELIZABETH FERG 1.
Análisis y Diseño de Sistemas
“Especificación de Requerimientos”
Ingeniería de Software
Arquitectura Empresarial 2010 Andrés González Julián Morales Carlos Criales José Daniel García Robinson De.
“condición que necesita el usuario para resolver un problema o conseguir un objetivo determinado”. Los requisitos de un sistema son los aspectos que el.
DISEÑO CURRICULAR Presentado por: Cesar Augusto Sáenz María Alejandra Hernández 1.contenidos curriculares de competencia.
Implementación de una visión de arquitectura Experiencias y Resultados
Simulador Redes Nombres etc,,.
Capas de ingeniería del Software. Rosendo Antonio Manuel Ingeniería en Sistemas Computacionales.
Transcripción de la presentación:

Sobre la Práctica en la Construcción de Arquitecturas de Software Roberto Pardo Silva, Ph.D. Consultor ropardo@cable.net.co

Objetivo NO Hablar sobre cómo otros describen qué es arquitectura y cómo se debe hacer una arquitectura!!!! SI Compartir experiencias sobre cómo en la práctica he enfrentado la construcción de arquitecturas complejas de software

Temas Premisas y Metodologías Algunas Dimensiones 1 Premisas y Metodologías Algunas Dimensiones 2 Puntos aún no resueltos 3 4 Retos Futuros

Temas Premisas y Metodologías Algunas Dimensiones 1 Premisas y Metodologías Algunas Dimensiones 2 Puntos aún no resueltos 3 4 Retos Futuros

Casos Reales SIIF (Minhacienda, Colombia; BM) US$4MM-US$7MM Aprox, 11 Sistemas, 1150 Casos de Uso Plataforma .NET 2.0 PASEII (CGR Colombia; BID) US$5MM, 14 Sistemas, 1200 Casos de Uso J2EE BEA 8.1-Oracle SIGMA (Minhacienda Bolivia; BM) US$3MM, 8 Sistemas, Specs con Metodologia Propia Oracle Designer Otros (Portales, SIRS Honduras) Menos de US$500M, Diferentes tipos de Metodologías

Premisas Calidad de las Specs afecta Calidad de la Arquitectura “Completitud”, Claridad, Calidad de las Especificaciones CU ≠> “buenos” CU Flexibilidad, Rendimiento, Confiabilidad, Integración, Administración, etc. Otros Requerimientos Modelaje de las Especificaciones CU no capturan todo, v.g., Batch, algoritmos No muy formales en los req No funcionales MEF

Ejemplos de Especificaciones Ejemplos CU CU muy generales CU detallados CU muy general Ejemplo Funcionalidad de un Portal Sin CU, sin formalidad Ejemplo buenos CU: SIIF

Metodologías (Cuáles?) RUP es la más popular Artefacto de Arquitectura no es muy explícito Modelo de Análisis y Modelo de Diseño No dice cómo hacer una Arquitectura sino qué se incluye en las Vistas una vez se haya hecho No dice cómo pasar de CU a Arquitectura No maneja explícitamente Servicios!!!!! No dice cómo explotar las Plataformas

Etapas Claves Identificación de los Requerimientos Funcionales y No Funcionales de Arquitectura Identificación de los Servicios Transversales de Negocio Identificación de los Servicios Específicos de Negocio Identificación de los Servicios de Presentación Identificación de los Servicios de Persistencia Identificación de los Servicios Transversales No Funcionales Identificación de los Servicios Tecnológicos Orientada a Servicios!!!! Explicar las italicas

Consideraciones para Construir una Arquitectura de Negocio Existen Patrones de Negocio Patrones en Negocios de Venta al Detal, en Servicios Existen Patrones de Arquitectura pero no cubren muchos casos Comercio Electrónico: Carro de Compras + Pipeline Existe la “Metáfora del Negocio” para UI Workflow Tx vs Process oriented Pipeline Cómo se debe reflejar el negocio en una arquitectura de software?????

Temas Premisas y Metodologías Algunas Dimensiones 1 Premisas y Metodologías Algunas Dimensiones 2 Puntos aún no resueltos 3 4 Retos Futuros

Dimensiones de Análisis Presentación Reglas de Negocio Capa de Datos Seguridad Integración Flexibilidad Rendimiento Confiabilidad etc.

Matriz de Requerimientos de Arquitectura CU en las filas, Dimensiones en las columnas Defina Requerimientos Ejemplo SIIF

Dimensión de Arquitectura de Presentación Define cómo es la interacción (paradigma de comunicación hombre-máquina) del sistema con los diferentes usuarios del sistema. Decisiones de Arquitectura Metáfora de UI Modelo de Visualización Modelo de Navegación Modelo de Manejo de Estado de UI Manejo de Manejo de Multimedia Cómo se especifica la Presentación? PINTELA!!!!

Dimensión de Arquitectura de Reglas de Negocio Define cuáles son, y cómo se representan y agrupan las reglas de negocio dentro del sistema. Cómo y con qué frecuencia cambian? Decisiones de Arquitectura Modelo de RN alambrado Modelo de RN declarativo Modelo de RN en motores de BD Modelo de Motor de RN Cómo se especifican las RN? BD

Dimensión de Arquitectura de Acceso a Datos Los requerimientos que definen la naturaleza de los diferentes tipos de repositorios de información que tendrá el sistema, así como los medios para interactuar con éstos. Decisiones de Arquitectura en Datos Modelo de Tipos de Datos Modelo de Persistencia (en OO es el mapping) Modelo de Transacciones Modelo de Concurrencia Modelo de Acceso a Datos Cómo se especifican? E-R?

Dimensión de Arquitectura de Seguridad Los requerimientos del sistema en materia de seguridad: autenticación, autorización, auditoria, manejo de perfiles, seguridad de comunicaciones y datos. Decisiones de Arquitectura Modelo de Autenticación Tipos de Llaves, Repositorios, Integración con SSO, Portales Modelo de Autorización Modelo de Permisos: Roles, Grupos, Perfiles, Localización, Tiempo Relación con cada Capa y Servicio Asociación con elementos de Arquitectura Código, Transacciones Modelo de Auditoría No es claro cómo hacer especificaciones de Seguridad

Dimensión de Arquitectura de Rendimiento Requerimientos sobre consumo de recursos, tiempos de respuesta, productividad (“throughput”) esperados para las operaciones del sistema. No es claro cómo hacer especificaciones de Rendimiento Decisiones de Arquitectura Modelo de Cliente Smart, Rich, etc. Modelo de Asincronismo: Ajax, etc. Modelo de Caching Modelo de Pooling Objetos, Conexiones, etc.

Dimensión de Confiabilidad Requerimientos sobre las exigencias de confiabilidad de datos y operaciones. Incluye aquellos requerimientos de disponibilidad y tolerancia a fallas. Decisiones de Arquitectura en Confiabilidad Modelo de Fallas Modelo de Redundancias Modelo de Atomicidad en Tx Modelo de Recuperación No es claro cómo hacer especificaciones de Confiabilidad

Dimensión de Integración Requerimientos que indican los diferentes tipos de esquemas de integración del sistema con otros sistemas (internos y externos). Se debe indicar la naturaleza de la integración (datos, operaciones o ambos), el medio o protocolo de comunicación, sincronía de ésta, frecuencia, volúmenes de información transmitida y nivel de seguridad. No es tan claro cómo hacer especificaciones de Integración. CU Hay CU de sólo integración, Hay CU que “llaman” a otros CU Se pueden hacer Matrices de Integración Decisiones de Arquitectura Modelo de Integración Mensajes, RPC, File Sharing Modelo de Interacción RR, Stateless

Dimensión de Arquitectura de Flexibilidad Requerimientos que indican el nivel de extensibilidad, parametrización y capacidad de evolucionar que se espera del sistema. Decisiones de Arquitectura en Flexibilidad Modelos de “Extensibilidad” Interfases OO, Patrones de Diseño No es claro cómo hacer Especificaciones de Flexibilidad

Ejemplos de Arquitecturas (SIIF) Identificación de Servicios SOA Transaccionalidad Asincronismo Gestión de Procesos

Puntos Críticos aún sin buenas soluciones Cómo Evaluar lo que se hace? Lenguaje de Descripción de Arquitectura Métricas de Arquitectura Trazabilidad con otras Actividades del Ciclo de Desarrollo

Temas Premisas y Metodologías Algunas Dimensiones 1 Premisas y Metodologías Algunas Dimensiones 2 Puntos aún no resueltos 3 4 Retos Futuros

Futuros (próximos) que afectan Arquitectura Nuevas Herramientas y Frameworks Nuevos Modelos de Programación Nuevas Plataformas Nuevos modelos de Conectividad Avances en HW Nuevos Modelos de Aplicaciones

Nuevas Herramientas Librerías y Frameworks Lenguajes Visuales DSL (Domain Specific Languages) VS 2005 TEAM SYSTEM ARCHITECTS

Nuevos Modelos de Programación No todo es OO Programación Funcional = Evaluación de Expresiones Funciones, Composición, Tipos Programación Lógica = Deducción Search Engines LINQ Ver lo de LINQ, videos, papers, instalación y anotar su impacto en ARQUITECTURA DSL: ARC 411 de TECHED 2005

Nuevas Plataformas Indigo Avalon .NET 2.0, Visual Studio 2005 Team Architech Video Indigo Avalon

Nuevos Modelos de Aplicaciones Comerciales Aplicaciones son Plataformas, no se escriben sobre Plataformas Su propio modelo de objetos UI, Negocio, Persistencia, Seguridad SU propio modelo de programación Lenguaje DSL, multiparadigma SU propio modelo de extensibilidad Integración Su propio runtime

Conclusión Arquitectura requiere mucha creatividad y experiencia No hay recetas Qué tanto hacer en Arquitectura? Si el problema es “chiquito” Arquitectura = Diseño Si el problema es muy grande Arquitectura tiende a ser muy general