SlideShare una empresa de Scribd logo
1 de 23
Desarrollo de Software Basado en Componentes Ulises Cruz Miranda
Introducción 	Los continuos avances en la Informática y las Telecomunicaciones están haciendo cambiar la forma en la que se desarrollan actualmente las aplicaciones software Aumento de la potencia de los ordenadores Abaratamiento de los costos del hardware Redes de datos de cobertura global Modelos de programación existentes desbordados Nuevos paradigmas de programación
Los desarrollos tradicionales de aplicaciones incurren en altos costos y en una inversión de tiempo extensa.  El DSBC busca, dentro de otros objetivos, reducir el tiempo de trabajo, el esfuerzo que requiere implementar una aplicación y los costos del proyecto, y, de esta forma, incrementar el nivel de productividad de los grupos desarrolladores y minimizar los riesgos globales. Desarrollo de Software Basado en Componentes
Desarrollo de Software Basado en Componentes Ensamblaje de partes de software previamente elaboradas Inspirada en los procesos de producción de sistemas físicos: 	Producción de aviones, vehículos, computadores, aparatos 	electrónicos, etc. Fundamentada en la Reutilización de Software Orientar esfuerzos hacia una industria de partes
Componente 	“Un componente es una unidad de composición de aplicaciones software, que posee un conjunto de interfaces y un conjunto de requisitos, y que ha de poder ser desarrollado, adquirido, incorporado al sistema y compuesto con otros componentes de forma independiente, en tiempo y espacio” [Szyperski, 1998].
Definición de los 7 criterios [Meyer,1999]: Puede ser usado por otros elementos de SW Puede ser usado por los clientes sin la necesidad de la intervención del desarrollador. Incluye las especificaciones de todas las dependencias. Incluye documentación de las funcionalidades que ofrece Se puede entender su funcionamiento en base a las especificaciones. Se puede acoplar a otros componentes Puede ser incorporado a un sistema de manera suave y rápida
Modelo del Ciclo de vida de DSBC
Arquitecturas Software y Marcos de Trabajo El disponer de componentes software no es suficiente para desarrollar aplicaciones, ya provengan éstos de un mercado global o sean desarrollados a medida para la aplicación. Un aspecto crítico a la hora de construir sistemas complejos es el diseño de la estructura del sistema.
Arquitectura Software Entendemos por Arquitectura Software la representación de alto nivel de la estructura de un sistema o aplicación, que describe las partes que la integran, las interacciones entre ellas, los patrones que supervisan su composición, y las restricciones a la hora de aplicar esos patrones.
	En general, la arquitectura software nace como una herramienta de alto nivel para cubrir distintos objetivos: Comprender y manejar la estructura de las aplicaciones complejas. Reutilizar dicha estructura (o partes de ella) para resolver problemas similares. Planificar la evolución de la aplicación, identificando sus partes mutables e inmutables, así como los costes de los posibles cambios. Analizar la corrección de la aplicación, y su grado de cumplimiento respecto a los requisitos iniciales Permitir el estudio de alguna propiedad específica del dominio.
Marcos de Trabajo La reutilización de arquitecturas software se define dentro un marco de trabajo (framework, o abreviadamente MT). En general, un MT se suele definir de la siguiente forma: 	“Un MT es el esqueleto de una aplicación que debe ser adaptado a necesidades concretas por el programador de la aplicación”
Un MT encapsula el patrón de la arquitectura software de un sistema o de alguna de sus partes. Las principales ventajas que ofrecen los MT son la reducción del coste de los procesos de desarrollo de aplicaciones software para dominios específicos, y la mejora de la calidad del producto final. Sin embargo, la utilización de MT presenta actualmente ciertas dificultades, aunque se suelen englobar todas en el problema de la documentación de un MT
Paradigmas de Programación para Sistemas Abiertos Al principio sólo existía la programación secuencial, pues cada programa sólo se ejecutaba en una maquina monoprocesador y aislada. Posteriormente aparecieron las máquinas multiprocesador y los sistemas operativos multitarea, por lo que nacieron nuevos paradigmas y mecanismos de programación. (Programación concurrente y programación distribuida)
Programación Orientada a Componentes (POC) La POC nace con el objetivo de construir un mercado global de componentes software, cuyos usuarios son los propios desarrolladores de aplicaciones que necesitan reutilizar componentes ya hechos y probados para construir sus aplicaciones de forma más rápida y robusta.
Tendencias actuales de la POC La adecuación de los lenguajes de programación Diseño de nuevos lenguajes y modelos de componentes La construcción de herramientas de desarrollo y marcos de trabajo para componentes La aplicación de técnicas formales para razonar sobre las aplicaciones desarrolladas a base de componentes.
En cuanto a los lenguajes de programación, sólo hay unos pocos que realmente incorporen conceptos suficientes para realizar una programación orientada a componentes: Oberón, Java, Ada95, Modula-3 y Component Pascal.
Tecnologías de componentes estandarizadas  CORBA (CommonObjectRequestBrokerArchitecture — arquitectura común de intermediarios en peticiones a objetos): Es un estándar que establece una plataforma de desarrollo de sistemas distribuidos facilitando la invocación de métodos remotos bajo un paradigma orientado a objetos.
DCOM (DistributedComponentObjectModel-Modelo de Objetos de Componentes Distribuidos): Es una tecnología propietaria de Microsoft para desarrollar componentes software distribuidos sobre varios ordenadores y que se comunican entre sí.  .NET es un framework de Microsoft que hace un énfasis en la transparencia de redes, con independencia de plataforma de hardware y que permita un rápido desarrollo de aplicaciones.
Enterprise JavaBeans: Modelo de componentes basado en arquitectura cliente servidor. Esta plataforma ofrece una solución multiplataforma, de fácil reutilización, integración universal con otros componentes además de la maquina virtual de java. 	La tecnología java a estado a la vanguardia del DSBC y constituye una referencia clave en este tema.
La programación de aplicaciones distribuidas se basa en un conjunto de servicios que proporcionan a los componentes el acceso a los recursos compartidos de una forma segura y eficiente. Estos servicios suelen englobarse en las siguientes categorías básicas: Comunicaciones Remotas Servicios de Directorio Seguridad Transacciones Gestión
Problemas típicos de la POC Clarividencia: dificultad con la que se encuentra el diseñador de un componente al realizar su diseño, pues no conoce ni quien lo utilizará, ni cómo, ni en qué entorno, ni para qué aplicación Evolución de los componentes. La gestión de la evolución es un problema serio, pues en los sistemas grandes han de poder coexistir varias versiones de un mismo componente
Particularización. Cómo particularizar los servicios que ofrece un componente para adaptarlo a las necesidades y requisitos concretos de nuestra aplicación, sin poder manipular su implementación. Falta de soporte formal. Por otro lado, la POC también se encuentra con otro reto añadido, como es la dificultad que encuentran los métodos formales para trabajar con sus peculiaridades
Puntos a considerar sobre un Mercado global de software Componentes COTS (commercial off-the-shelf). Búsqueda y reconocimiento de los componentes que se necesitan, su posible adaptación, o la resolución de solapamientos entre las funciones y servicios que ofrecen. Estándares que garanticen la interoperabilidad de los componentes a la hora de construir aplicaciones

Más contenido relacionado

La actualidad más candente

Diseno de la arquitectura
Diseno de la arquitecturaDiseno de la arquitectura
Diseno de la arquitecturaFatima Cham
 
Técnicas para la Obtención de Requerimientos
Técnicas para la Obtención de RequerimientosTécnicas para la Obtención de Requerimientos
Técnicas para la Obtención de RequerimientosJuan Carlos Olivares Rojas
 
Fundamentos de la arquitectura de software
Fundamentos de la arquitectura de softwareFundamentos de la arquitectura de software
Fundamentos de la arquitectura de softwareRoger Villegas
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMicky Jerzy
 
Ingeniería de software es la aplicación de un enfoque sistemático
Ingeniería de software es la aplicación de un enfoque sistemáticoIngeniería de software es la aplicación de un enfoque sistemático
Ingeniería de software es la aplicación de un enfoque sistemáticoSantiago Moha
 
Unidad 1 Ingenieria de software
Unidad 1 Ingenieria de softwareUnidad 1 Ingenieria de software
Unidad 1 Ingenieria de softwareJahiro Bojorquez
 
Diagrama componentes
Diagrama componentesDiagrama componentes
Diagrama componentesmarianela0393
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML1da4
 
Conceptos de diseño de software
Conceptos de diseño de softwareConceptos de diseño de software
Conceptos de diseño de softwareJose Diaz Silva
 
2 1 vistas arquitectonicas
2 1 vistas arquitectonicas2 1 vistas arquitectonicas
2 1 vistas arquitectonicaslandeta_p
 
Diagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegueDiagramas UML: Componentes y despliegue
Diagramas UML: Componentes y desplieguejoshell
 

La actualidad más candente (20)

Diagrama de Componentes
Diagrama de ComponentesDiagrama de Componentes
Diagrama de Componentes
 
Modelo Cascada!!
Modelo Cascada!!Modelo Cascada!!
Modelo Cascada!!
 
Diseno de la arquitectura
Diseno de la arquitecturaDiseno de la arquitectura
Diseno de la arquitectura
 
Diseño Estructurado
Diseño EstructuradoDiseño Estructurado
Diseño Estructurado
 
Técnicas para la Obtención de Requerimientos
Técnicas para la Obtención de RequerimientosTécnicas para la Obtención de Requerimientos
Técnicas para la Obtención de Requerimientos
 
Fundamentos de la arquitectura de software
Fundamentos de la arquitectura de softwareFundamentos de la arquitectura de software
Fundamentos de la arquitectura de software
 
Estilos Arquitectonicos-Capas
Estilos Arquitectonicos-CapasEstilos Arquitectonicos-Capas
Estilos Arquitectonicos-Capas
 
MODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWAREMODELO DE PROCESOS DEL SOFTWARE
MODELO DE PROCESOS DEL SOFTWARE
 
Requerimientos norma ieee830
Requerimientos norma ieee830Requerimientos norma ieee830
Requerimientos norma ieee830
 
Metodología RUP
Metodología RUPMetodología RUP
Metodología RUP
 
Diagrama de componentes
Diagrama de componentesDiagrama de componentes
Diagrama de componentes
 
Ingeniería de software es la aplicación de un enfoque sistemático
Ingeniería de software es la aplicación de un enfoque sistemáticoIngeniería de software es la aplicación de un enfoque sistemático
Ingeniería de software es la aplicación de un enfoque sistemático
 
Unidad 1 Ingenieria de software
Unidad 1 Ingenieria de softwareUnidad 1 Ingenieria de software
Unidad 1 Ingenieria de software
 
Diagrama componentes
Diagrama componentesDiagrama componentes
Diagrama componentes
 
Unidad 4
Unidad 4Unidad 4
Unidad 4
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
Uml
UmlUml
Uml
 
Conceptos de diseño de software
Conceptos de diseño de softwareConceptos de diseño de software
Conceptos de diseño de software
 
2 1 vistas arquitectonicas
2 1 vistas arquitectonicas2 1 vistas arquitectonicas
2 1 vistas arquitectonicas
 
Diagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegueDiagramas UML: Componentes y despliegue
Diagramas UML: Componentes y despliegue
 

Similar a Desarrollo Software Basado Componentes

Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1
Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1
Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1Jose Garcia
 
Presentacion lineas de productos de software y el metodo watch
Presentacion lineas de productos de software y el metodo watchPresentacion lineas de productos de software y el metodo watch
Presentacion lineas de productos de software y el metodo watchdanielnp33
 
13. ingeniería del software
13. ingeniería del software13. ingeniería del software
13. ingeniería del softwareDaniel Merchan
 
Nuevas tecnologías reingsys 31_3_09
Nuevas tecnologías reingsys 31_3_09Nuevas tecnologías reingsys 31_3_09
Nuevas tecnologías reingsys 31_3_09Reingsys
 
ingenieradesoftwareii-140115210933-phpapp01 (1).pptx
ingenieradesoftwareii-140115210933-phpapp01 (1).pptxingenieradesoftwareii-140115210933-phpapp01 (1).pptx
ingenieradesoftwareii-140115210933-phpapp01 (1).pptxMaikoUrizar1
 
Edwin alexande mata escobar
Edwin alexande mata escobarEdwin alexande mata escobar
Edwin alexande mata escobarEdwin Alexander
 
Tarea semana 1
Tarea semana 1Tarea semana 1
Tarea semana 1preciadoag
 
Ingeniería de software - Descripción, características, modelos
Ingeniería de software - Descripción, características, modelosIngeniería de software - Descripción, características, modelos
Ingeniería de software - Descripción, características, modelosRafael Fdo Lopez Castillo
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de softwareJORGE MONGUI
 
Modelos de procesos de software(completo)
Modelos de procesos de software(completo)Modelos de procesos de software(completo)
Modelos de procesos de software(completo)David Rosero
 
Etapas del Proceso de la Ingeniería del Software
Etapas del Proceso de la Ingeniería del SoftwareEtapas del Proceso de la Ingeniería del Software
Etapas del Proceso de la Ingeniería del SoftwareT.I.C
 
Tema 2.1.- Estándares de Calidad
Tema 2.1.- Estándares de CalidadTema 2.1.- Estándares de Calidad
Tema 2.1.- Estándares de CalidadYenny Salazar
 
Ingenieroa de de Software Conceptos Iniciales
Ingenieroa de de Software Conceptos InicialesIngenieroa de de Software Conceptos Iniciales
Ingenieroa de de Software Conceptos InicialesMaikoUrizar1
 
Ingenieria de Software Introducción a los Conceptos Basicos
Ingenieria de Software Introducción a los Conceptos BasicosIngenieria de Software Introducción a los Conceptos Basicos
Ingenieria de Software Introducción a los Conceptos BasicosMaikoUrizar1
 

Similar a Desarrollo Software Basado Componentes (20)

Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1
Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1
Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1
 
ing del software
 ing del software  ing del software
ing del software
 
Proyecto
ProyectoProyecto
Proyecto
 
Proyecto
ProyectoProyecto
Proyecto
 
Presentacion lineas de productos de software y el metodo watch
Presentacion lineas de productos de software y el metodo watchPresentacion lineas de productos de software y el metodo watch
Presentacion lineas de productos de software y el metodo watch
 
13. ingeniería del software
13. ingeniería del software13. ingeniería del software
13. ingeniería del software
 
Nuevas tecnologías reingsys 31_3_09
Nuevas tecnologías reingsys 31_3_09Nuevas tecnologías reingsys 31_3_09
Nuevas tecnologías reingsys 31_3_09
 
ingenieradesoftwareii-140115210933-phpapp01 (1).pptx
ingenieradesoftwareii-140115210933-phpapp01 (1).pptxingenieradesoftwareii-140115210933-phpapp01 (1).pptx
ingenieradesoftwareii-140115210933-phpapp01 (1).pptx
 
Edwin alexande mata escobar
Edwin alexande mata escobarEdwin alexande mata escobar
Edwin alexande mata escobar
 
Tarea semana 1
Tarea semana 1Tarea semana 1
Tarea semana 1
 
Tareasemana1
Tareasemana1Tareasemana1
Tareasemana1
 
Ingeniería de software - Descripción, características, modelos
Ingeniería de software - Descripción, características, modelosIngeniería de software - Descripción, características, modelos
Ingeniería de software - Descripción, características, modelos
 
Poc
PocPoc
Poc
 
Adrian adrianza
Adrian adrianzaAdrian adrianza
Adrian adrianza
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Modelos de procesos de software(completo)
Modelos de procesos de software(completo)Modelos de procesos de software(completo)
Modelos de procesos de software(completo)
 
Etapas del Proceso de la Ingeniería del Software
Etapas del Proceso de la Ingeniería del SoftwareEtapas del Proceso de la Ingeniería del Software
Etapas del Proceso de la Ingeniería del Software
 
Tema 2.1.- Estándares de Calidad
Tema 2.1.- Estándares de CalidadTema 2.1.- Estándares de Calidad
Tema 2.1.- Estándares de Calidad
 
Ingenieroa de de Software Conceptos Iniciales
Ingenieroa de de Software Conceptos InicialesIngenieroa de de Software Conceptos Iniciales
Ingenieroa de de Software Conceptos Iniciales
 
Ingenieria de Software Introducción a los Conceptos Basicos
Ingenieria de Software Introducción a los Conceptos BasicosIngenieria de Software Introducción a los Conceptos Basicos
Ingenieria de Software Introducción a los Conceptos Basicos
 

Último

Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024AndreRiva2
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...JonathanCovena1
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdfBaker Publishing Company
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMarjorie Burga
 

Último (20)

Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024UNIDAD DPCC. 2DO. DE  SECUNDARIA DEL 2024
UNIDAD DPCC. 2DO. DE SECUNDARIA DEL 2024
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...La empresa sostenible: Principales Características, Barreras para su Avance y...
La empresa sostenible: Principales Características, Barreras para su Avance y...
 
2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf2024 - Expo Visibles - Visibilidad Lesbica.pdf
2024 - Expo Visibles - Visibilidad Lesbica.pdf
 
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
Medición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptxMedición del Movimiento Online 2024.pptx
Medición del Movimiento Online 2024.pptx
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
MAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grandeMAYO 1 PROYECTO día de la madre el amor más grande
MAYO 1 PROYECTO día de la madre el amor más grande
 

Desarrollo Software Basado Componentes

  • 1. Desarrollo de Software Basado en Componentes Ulises Cruz Miranda
  • 2. Introducción Los continuos avances en la Informática y las Telecomunicaciones están haciendo cambiar la forma en la que se desarrollan actualmente las aplicaciones software Aumento de la potencia de los ordenadores Abaratamiento de los costos del hardware Redes de datos de cobertura global Modelos de programación existentes desbordados Nuevos paradigmas de programación
  • 3. Los desarrollos tradicionales de aplicaciones incurren en altos costos y en una inversión de tiempo extensa. El DSBC busca, dentro de otros objetivos, reducir el tiempo de trabajo, el esfuerzo que requiere implementar una aplicación y los costos del proyecto, y, de esta forma, incrementar el nivel de productividad de los grupos desarrolladores y minimizar los riesgos globales. Desarrollo de Software Basado en Componentes
  • 4. Desarrollo de Software Basado en Componentes Ensamblaje de partes de software previamente elaboradas Inspirada en los procesos de producción de sistemas físicos: Producción de aviones, vehículos, computadores, aparatos electrónicos, etc. Fundamentada en la Reutilización de Software Orientar esfuerzos hacia una industria de partes
  • 5. Componente “Un componente es una unidad de composición de aplicaciones software, que posee un conjunto de interfaces y un conjunto de requisitos, y que ha de poder ser desarrollado, adquirido, incorporado al sistema y compuesto con otros componentes de forma independiente, en tiempo y espacio” [Szyperski, 1998].
  • 6. Definición de los 7 criterios [Meyer,1999]: Puede ser usado por otros elementos de SW Puede ser usado por los clientes sin la necesidad de la intervención del desarrollador. Incluye las especificaciones de todas las dependencias. Incluye documentación de las funcionalidades que ofrece Se puede entender su funcionamiento en base a las especificaciones. Se puede acoplar a otros componentes Puede ser incorporado a un sistema de manera suave y rápida
  • 7. Modelo del Ciclo de vida de DSBC
  • 8. Arquitecturas Software y Marcos de Trabajo El disponer de componentes software no es suficiente para desarrollar aplicaciones, ya provengan éstos de un mercado global o sean desarrollados a medida para la aplicación. Un aspecto crítico a la hora de construir sistemas complejos es el diseño de la estructura del sistema.
  • 9. Arquitectura Software Entendemos por Arquitectura Software la representación de alto nivel de la estructura de un sistema o aplicación, que describe las partes que la integran, las interacciones entre ellas, los patrones que supervisan su composición, y las restricciones a la hora de aplicar esos patrones.
  • 10. En general, la arquitectura software nace como una herramienta de alto nivel para cubrir distintos objetivos: Comprender y manejar la estructura de las aplicaciones complejas. Reutilizar dicha estructura (o partes de ella) para resolver problemas similares. Planificar la evolución de la aplicación, identificando sus partes mutables e inmutables, así como los costes de los posibles cambios. Analizar la corrección de la aplicación, y su grado de cumplimiento respecto a los requisitos iniciales Permitir el estudio de alguna propiedad específica del dominio.
  • 11. Marcos de Trabajo La reutilización de arquitecturas software se define dentro un marco de trabajo (framework, o abreviadamente MT). En general, un MT se suele definir de la siguiente forma: “Un MT es el esqueleto de una aplicación que debe ser adaptado a necesidades concretas por el programador de la aplicación”
  • 12. Un MT encapsula el patrón de la arquitectura software de un sistema o de alguna de sus partes. Las principales ventajas que ofrecen los MT son la reducción del coste de los procesos de desarrollo de aplicaciones software para dominios específicos, y la mejora de la calidad del producto final. Sin embargo, la utilización de MT presenta actualmente ciertas dificultades, aunque se suelen englobar todas en el problema de la documentación de un MT
  • 13. Paradigmas de Programación para Sistemas Abiertos Al principio sólo existía la programación secuencial, pues cada programa sólo se ejecutaba en una maquina monoprocesador y aislada. Posteriormente aparecieron las máquinas multiprocesador y los sistemas operativos multitarea, por lo que nacieron nuevos paradigmas y mecanismos de programación. (Programación concurrente y programación distribuida)
  • 14. Programación Orientada a Componentes (POC) La POC nace con el objetivo de construir un mercado global de componentes software, cuyos usuarios son los propios desarrolladores de aplicaciones que necesitan reutilizar componentes ya hechos y probados para construir sus aplicaciones de forma más rápida y robusta.
  • 15. Tendencias actuales de la POC La adecuación de los lenguajes de programación Diseño de nuevos lenguajes y modelos de componentes La construcción de herramientas de desarrollo y marcos de trabajo para componentes La aplicación de técnicas formales para razonar sobre las aplicaciones desarrolladas a base de componentes.
  • 16. En cuanto a los lenguajes de programación, sólo hay unos pocos que realmente incorporen conceptos suficientes para realizar una programación orientada a componentes: Oberón, Java, Ada95, Modula-3 y Component Pascal.
  • 17. Tecnologías de componentes estandarizadas CORBA (CommonObjectRequestBrokerArchitecture — arquitectura común de intermediarios en peticiones a objetos): Es un estándar que establece una plataforma de desarrollo de sistemas distribuidos facilitando la invocación de métodos remotos bajo un paradigma orientado a objetos.
  • 18. DCOM (DistributedComponentObjectModel-Modelo de Objetos de Componentes Distribuidos): Es una tecnología propietaria de Microsoft para desarrollar componentes software distribuidos sobre varios ordenadores y que se comunican entre sí. .NET es un framework de Microsoft que hace un énfasis en la transparencia de redes, con independencia de plataforma de hardware y que permita un rápido desarrollo de aplicaciones.
  • 19. Enterprise JavaBeans: Modelo de componentes basado en arquitectura cliente servidor. Esta plataforma ofrece una solución multiplataforma, de fácil reutilización, integración universal con otros componentes además de la maquina virtual de java. La tecnología java a estado a la vanguardia del DSBC y constituye una referencia clave en este tema.
  • 20. La programación de aplicaciones distribuidas se basa en un conjunto de servicios que proporcionan a los componentes el acceso a los recursos compartidos de una forma segura y eficiente. Estos servicios suelen englobarse en las siguientes categorías básicas: Comunicaciones Remotas Servicios de Directorio Seguridad Transacciones Gestión
  • 21. Problemas típicos de la POC Clarividencia: dificultad con la que se encuentra el diseñador de un componente al realizar su diseño, pues no conoce ni quien lo utilizará, ni cómo, ni en qué entorno, ni para qué aplicación Evolución de los componentes. La gestión de la evolución es un problema serio, pues en los sistemas grandes han de poder coexistir varias versiones de un mismo componente
  • 22. Particularización. Cómo particularizar los servicios que ofrece un componente para adaptarlo a las necesidades y requisitos concretos de nuestra aplicación, sin poder manipular su implementación. Falta de soporte formal. Por otro lado, la POC también se encuentra con otro reto añadido, como es la dificultad que encuentran los métodos formales para trabajar con sus peculiaridades
  • 23. Puntos a considerar sobre un Mercado global de software Componentes COTS (commercial off-the-shelf). Búsqueda y reconocimiento de los componentes que se necesitan, su posible adaptación, o la resolución de solapamientos entre las funciones y servicios que ofrecen. Estándares que garanticen la interoperabilidad de los componentes a la hora de construir aplicaciones