Como Desarrollar SW Distribuido de Calidad

Slides:



Advertisements
Presentaciones similares
Ciclo de vida de desarrollo de software
Advertisements

APLICACIONES DISTRIBUIDAS
Framework de.Net Infraestructura sobre la que se reúne todo un conjunto de lenguajes y servicios que simplifican el desarrollo de aplicaciones Entorno.
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA 2006.
Guía metodológica para la gestión de proyectos de software en PyMEs que no son fábricas de software por medio de Metodologías ágiles.
UNIVERSIDAD TECNOLÓGICA ISRAEL CARRERA DE SISTEMAS INFORMÁTICOS
Trabajo Parcial de Desarrollo para Sistemas Distribuidos
Arquitectura Orientada a Servicios (SOA)
Introducción a la Orientación a Objetos
Arquitectura Cliente/Servidor
Aplicación de diseño de clases y generación de código, orientado hacia la arquitectura multicapas y el mapeo objeto/relacional Juan Timoteo Ponce Ortiz.
TOGAF.
Modelos de Proceso del Software
Java 2 Platform Enterprise Edition
Ingeniería del Software
Análisis y Diseño O.O. Click to add notes Preguntas del diseño :
Desarrollo de Software Basado en Componentes
El paradigma de la orientación a objetos La programación orientada a objetos genera códigos eficientes y estandariza la metodología de programación, además.
Unified Modeling Language (Lenguaje de Modelamiento unificado)
 El termino OO, significa que el software es organizado como una colección de objetos. Un objeto es un paquete de software que contiene datos y procedimientos.
BIBLIOTECA DE COMPONENTES Rodrigo Fonseca V. Dawid Junnco Q.
STARUML.
Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid Uso de DocBook en la creación de Objetos Educativos interoperables.
Ingeniería de Software
InfoPath Ventajas y Uso.
29/01/031 ERP Planificador de Recursos mpresariales Sergio Campos Ros Vicente Maicas Dolz Laboratorio de Sistemas de Información Facultad de Informática.
Ciclo de Vida del Software Paradigmas de Desarrollo
Tema I Arquitectura de Software. Arquitectura de software es un conjunto de reglas que definen la estructura de un sistema y las relaciones entre sus.
Desarrollo de aplicaciones para ambientes distribuidos
Arquitectura Orientada a Servicios
CONCEPTES AVANÇATS DE SISTEMES OPERATIUS Departament d’Arquitectura de Computadors (Seminaris de CASO) Autors Sun Open Network Enviroment (Sun ONE) vs.
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA 2006.
Arquitectura Orientada a Servicios Alicia Maita Harold Martínez Esteban Reyes Verónica Betancout - SOA -
Haga clic para modificar el estilo de subtítulo del patrón 28/04/09 Por ARLEDY SARRIA MOLINA NAZLY DIAZ ARIZA JHOANNA MARQUELLA DESARROLLO DE SOFTWARE.
Integración CORBA/OODB - Discusión Una Nueva Arquitectura para la Integración de CORBA y OODB Helios Alonso - Luis Pandolfi - Pablo Rodríguez Bocca Universidad.
UML 2.0 Integrantes: Diana Carolina Valencia M. Jhon Fernando Lopez T. Carlos Alberto Castillo.
Universidad Nacional de San Juan Facultad de Ciencias Exactas, Físicas y Naturales “WEB SERVICES” Integrantes: Ene Adriana Guevara Vanina Martínez Cintia.
Arquitectura para crear Soluciones Conectadas Eduardo Mangarelli Gerente de Socios Estratégicos Wilson Pais Gerente de.NET Microsoft Uruguay.
Capítulo 8 Arquitectura de las aplicaciones en Internet.
Introducción al Proceso de Desarrollo de Software Patricio Letelier Centro de Formación de Postgrado – Depto. Sistemas Informáticos y Computación Universidad.
INTRODUCCIÓN A LA INGENIERÍA DEL SOFTWARE
VISIÓN GENERAL DE LA IS Con independencia del modelo de proceso hay tres fases genéricas: Fase de definición Fase de desarrollo Fase de mantenimiento Cada.
CRM Customer Relationship Management Gerente de Relaciones con los Clientes.
Unidad ll Equipo 2 Juan Carlos Martínez Ramos
Términos y Conceptos Básicos
ANÁLISIS Y DISEÑO DE SISTEMAS II
Juan Timoteo Ponce Ortiz
INGENIERIA DE SOFTWARE
Introducción a UML Departamento de Informática Universidad de Rancagua
DIEGO ARMANDO GÓMEZ CUERVO Desarrollo de aplicaciones WEB con herramientas de software libre.
1. Introducción a los Sistemas de Internet Gestión de Sistemas en Internet Universidad Antonio de Nebrija 2003/04 Justo N. Hidalgo Sanz.
DIAGRAMA DE SECUENCIA Y ACTIVIDADES.
DISEÑO CURRICULAR Presentado por: Cesar Augusto Sáenz María Alejandra Hernández 1.contenidos curriculares de competencia.
UML.
ARQUITECTURA ORIENTADA A SERVICIOS (SOA)
Álvaro Navarro Barquero. Alejandro Rodríguez Jiménez.
Integrantes: Dennys Quintero José Ortega Simón Fagundez Caracas 09 de Febrero de 2015.
Unidad TemáticaI. Conceptos Básicos Horas Prácticas10 Horas Teóricas8 Horas Totales18 Objetivo El alumno determinará las entradas, procesos y salidas.
MAESTRIA EN CIENCIAS DE LA COMPUTACION Comparación de implementación de sistemas distribuidos usando COM y CORBA Jesús Gil Muñoz Julio 2001.
Ciclo de Vida del Software
Ingeniería en Informática F UNDAMENTOS DE C OMPUTACIÓN B ACHILLERATO EN I NGENIERÍA I NFORMÁTICA L IC. C ARLOS H. G UTIÉRREZ L EÓN.
OptimalJ como herramienta MDA
Introducción AOO. Contenido - Introducción - Repaso de Orientación a Objetos - UML - Casos de Uso.
MODELAMIENTO VISUAL Y UML
Servicios Web Conjunto de aplicaciones o de tecnologías con capacidad para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos entre.
CICLO DE VIDA DE UN SOFTWARE. Es el conjunto de los programas de cómputo, procedimientos, reglas, documentación y datos asociados, que forman parte de.
Patrón de diseño BROKER
Modelado Orientado a Objetos Programación Orientada a Objetos Departamento de Sistemas Universidad del Cauca 2006.
Arquitectura de software dirigida por modelos (Model-Driven Architecture) Liliana Favre UNCPBA2006.
Tendencias Avanzadas de Ingeniería de Software.  Las herramientas CASE (Computer Aided Software Engineering, Ingeniería de Software Asistida por Computadora)
Transcripción de la presentación:

Como Desarrollar SW Distribuido de Calidad ¿Como podemos desarrollar software de calidad para sistemas distribuidos? ¿Cómo pueden interoperar diferentes tecnologías en un mismo sistema? Necesidad de cambiar de tecnología cada 20 años. ¿Qué hacemos con los sistemas antiguos?

Evolución de la programación La programación ha evolucionado. Hemos pasado de lenguajes de bajo nivel como C, pasando por FORTRAN hasta llegar a C++ o Java. Antes se dedicaba un 20% del tiempo a desarrollar, un 60% a programar y un 20% a las pruebas. Ahora se emplea un 60% del tiempo al desarrollo, un 20% a la programación y otro 20% a las pruebas. Ahora la mayor parte del peso de un proyecto recae en el trabajo previo a la programación. Para la realización de un proyecto de calidad, hay que partir de unas buenas especificaciones.

Una solución: MDA MDA es una forma de modelar SW distribuido. La especificación completa de MDA consta de: Modelo independiente de la plataforma (PIM) basado en UML. Varios modelos específicos de la plataforma (PSM) Descripciones de cómo pasar de PIM a un PSM.

Una solución: MDA Una aplicación desarrollada con la ayuda de MDA consta de: Un modelo independiente de la plataforma (PIM). Una o varias implementaciones concretas (PSMs), una por cada aplicación que se quiera soportar.

Pero, ¿qué es MDA? MDA son las siglas de Model Driven Architecture (Arquitectura de conducción del modelado). Ha sido desarrollado por el OMG. Esta basado en el modelado con UML. MDA nos permite unir diferentes implementaciones mediante puentes. MDA nos permite construir aplicaciones independientemente de la plataforma (PIM). Nos permite controlar el ciclo de vida completo del software: Análisis Diseño Implementación Desarrollo Mantenimiento Hay otras plataformas para desarrollar Sistemas Distribuidos, como .NET, pero estas son individuales.

El OMG El OMG está formado por un consorcio de empresas, entre las que se encuentran: Compaq Ericsson Fujitsu Microsoft NASA Sun Oracle Algunos de los logros más importantes del OMG han sido: CORBA (Common Object Request Broken Architecture) UML (Unified Modeling Language) XML (Metadata Interchange) Desde 1989, el OMG ha trabajado desarrollando una arquitectura para el diseño de aplicaciones distribuidas. Como resultado tenemos el MDA.

Relación entre UML y MDA Breve historia de UML: UML es una metodología para el desarrollo de SW OO. UML es el sucesor de las diferentes notaciones OO de los años 90. OMG desarrolló UML entre el 96 y el 97. Los modelos UML se pueden implementar en cualquier plataforma, pero la gran proliferación de middleware, recomienda la utilización de un modelado UML independiente de la plataforma. MDA está basado en el modelado UML independiente de la plataforma (PIM). Además MDA tiene varios modelos específicos (PSM) La fuerza de MDA está en que todas las aplicaciones desarrolladas con MDA, están basada en un modelado UML, que es un estándar reconocido.

Diseño con MDA (I) Primero se crea un modelo independiente de la plataforma (PIM). Representará el modelo de negocio, la funcionalidad y el comportamiento del sistema. No tendremos la complicación añadida de pensar en una plataforma concreta. Platform Independent Model

Diseño con MDA (II) Con MDA podemos aplicar un mapping para generar un modelo dependiente de la plataforma (PSM) a partir del PIM. Se puede mapear el PIM a diferentes tecnologías gracias al mapping estándar del OMG. A las futuras tecnologías se les podrá dar también soporte. Platform Independent Model Corba Model Java Model XML/SOAP Model

Diseño con MDA (III) También se podrá generar código de forma automática. Platform Independent Model Corba Model Java Model XML/SOAP Model Corba System Java System XML/SOAP System

Diseño con MDA (IV) La interoperabilidad entre diferentes tecnologías es un punto crucial. La generación de puentes se simplifica con el PIM. Las herramientas MDA generan puentes de forma automática uniendo las diferentes implementaciones. Se consigue una simplificación substancial en la creación de aplicaciones integradas. Platform Independent Model Corba System Java Bridge

Ciclo de Desarrollo PIM (Platform Independent Model) Platform Specific Models Build/Test A la hora de diseñar un sistema distribuido, comenzaremos con un modelo independiente de la plataforma. Nuestro sistema podrá adaptarse a las nuevas tecnologías, ya que en su base es independiente de estas.

Servicios disponibles en MDA Para el desarrollo de sistemas distribuidos se precisa de un conjunto de servicios, como los que ofrece CORBA. En MDA, a estos servicios se los conoce como Pervasive Services (Servicios Extendidos). Independientemente de la plataforma utilizada, se dará servicio a toda aplicación o cliente, gracias a los puentes que automáticamente genera MDA. OMG define cuatro Servicios: Servicios de Directorio. Servicios de Transacción. Servicios de Seguridad. Servicios de Notificación.

Beneficios de usar MDA Soporte completo para el ciclo de vida de la aplicación Reducción de costos desde el principio hasta el fin Reutilización de código, aplicaciones, experiencia Representación independiente de la tecnología Escalabilidad y robustez Está predestinado a ser un estándar Interoperatividad entre diferentes tecnologías

Futuro del MDA Según Paul Harmon: Se incluirá MDA dentro de los paquetes para el modelado OO y herramientas de desarrollo. Transcurrirán unos dos años antes de que emerja de forma natural las herramientas MDA. Es muy posible que el mercado de MDA crezca de forma rápida, gracias a todo lo que tiene detrás: UML, MOF, CWM Casi todas las herramientas de modelado UML se desarrollaron en 3 años.