SlideShare una empresa de Scribd logo
1
Arquitectura basada en Componentes
Definición
La arquitectura basada en componentes consiste en una rama de la Ingeniería de software
en la cual se trata con énfasis la descomposición del software en componentes funcionales. Esta
descomposición permite convertir componentes pre-existentes en piezas más grandes de
software.
Este proceso de construcción de una pieza de software con componentes ya existentes,
da origen al principio de reutilización del software, mediante el cual se promueve que los
componentes sean implementados de una forma que permita su utilización funcional sobre
diferentes sistemas en el futuro.
Se debe entonces, para terminar de definir la arquitectura basada en componente, saber
que es un componente de software. Un componente de software se define típicamente como algo
que puede ser utilizado como una caja negra, en donde se tiene de manera externa una
especificación general, la cual es independiente de la especificación interna1
• Interior del componente: es una pieza de software que cumple con un conjunto de
propiedades y que se encuentra conformada como un artefacto del cual se espera que sea
reutilizable.
.
De esta definición se presentan tres conceptos ligados con la definición de un componente:
• Exterior del componente: es una interface que cumple con un conjunto de propiedades y
provee un servicio a los agentes humanos u otros artefactos de software.
• Relación interior-exterior: es la que define el proceso de relación entre el interior y
exterior el componente, a través de conceptos como especificación, implementación y
encapsulación.
Elementos y estructura de la arquitectura basada en componentes
De forma evidente se puede determinar que, el principal elemento de software dentro de
un Arquitectura basada en componentes son precisamente los componentes de software.
Existen 5 principios definidos por Clemens Szyperski and David Messerschmitt2
1
Component-Based Development
http://www.users.globalnet.co.uk/~rxv/CBDmain/cbdfaq.htm#Component-Based%20Development
2
Component-based software engineering. http://en.wikipedia.org/wiki/Software_componentry
, que
definen a un componente de software como elemento de la arquitectura:
2
• Múltiple uso: se refiere al hecho de que un componente es escrito dentro de un
contexto que permita que su funcionalidad sea útil en la creación de distintas
piezas de software.
• Contexto no específico: en relación con la orientación conceptual de la
especificación de un componente, debe estar planteada de una forma general que
permita su adaptación en distintos sistemas, sin que el contexto tenga prioridad.
• Encapsulación: se refiere a la especificación interna oculta o no investigable a
través de la interface. Así se protege que el resto de componentes y piezas de
software dentro de un sistema, no se vean afectados por cambios en el diseño de
uno de los componentes.
• Una unidad independiente de desarrollo con su propio control de versiones:
este principio muy relacionado con la encapsulación, permite que un componente
pueda ser desarrollado de manera independiente, cambiando el diseño o
agregando nuevas funcionalidades, sin afectar significativamente el resto del
sistema.
La estructura de la arquitectura basada en componentes contempla 3 partes:
1. El nombre de los componentes: el nombre de un componente debe ser la identificación
de la funcionalidad y uso que tiene como software. Generalmente, los desarrolladores
usan algún tipo de convención que facilite la identificación de componentes,
especialmente, cuando se trabaja en proyectos de gran envergadura
2. La interface de los componentes: es el área de intercambio (input-output) entre el interior
y el exterior de un componente de software. La interface es quien permite acceder a los
datos y funcionalidades que estén especificadas en el interior del componente (acceder
funcionalmente, no a su especificación).
Adicional a la interface se encuentra la documentación que muestra la información sobre
cómo utilizar un componente.
3. Cuerpo y código de implementación: es la parte del componente que provee la forma
(implementación) sobre la cual un fragmento del componente realiza sus servicios y
funcionalidades. Este es el área que debe cumplir con el principio de encapsulación.
Dentro de la estructura de una arquitectura basada en software existen dos procesos
fundamentales para el desarrollo:
El ensamblaje de sistemas a partir de componentes de software
Este proceso está compuesto por cuatro actividades:
1) Calificación de los componentes: comprende el estudio y análisis de que tan adecuado es un
componente para la construcción del sistema final. Esta evaluación se realiza sobre un
conjunto de métricas que deben establecer los analistas y diseñadores de la arquitectura.
3
Además de esto, de acuerdo con Felix Bachman3
I. El establecimiento de hechos sobre el componente para verificar que las propiedades que
el componente posee son acordes con su especificación pública (documentada).
, durante esta actividad existen dos procesos
relacionados con la certificación de los componentes:
II. La validación de que los hechos establecidos sobre el componente son ciertos.
La razón por la cual se realiza este proceso de certificación es que existe un vínculo entre las
propiedades certificadas de un componente y las del sistema final, es decir, la certificación es una
herramienta para garantizar que las propiedades de la pieza de software final sean válidas.
2) Adaptación de los componentes: dado que un componente es desarrollado para cumplir con
requerimientos específicos, es posible que esté orientado en cierta medida hacia el contexto
en el que fue desarrollado. Por esta razón, se realiza un proceso de adaptación con el objetivo
de minimizar la cantidad de conflictos.
Un componente puede ser adaptado entonces de tres maneras:
I. White-Box: cuando el componente debe ser reescrito para operar en conjunto con el resto
de componentes del sistema.
II. Grey-Box: cuando el componente incorpora su propio API (Application Programming
Interface).
III. Black-Box: cuando el componente no posee un API. Una interfaz completamente
independiente es construida para acceder a los servicios del componente.
3) Ensamblaje de los componentes: es el proceso de integración de los componentes a través de
la estructura mediante la cual fueron definidos. Esto incluye el modelo de software por
componentes sobre el cual son escritos, por ejemplo: COM (Component Object Model), CORBA
(Common Object Request Broker Architectur), Enterprise JavaBeans y .NET.
4) Mantenimiento y evolución del sistema: consiste en el proceso de actualización de
componentes, ya sea por requerimiento o por cambios de especificación. Estos cambios
pueden ser la reescritura o sustitución de un componente. Por tal razón un componente
trabaja como una unidad (conectable y desconectable) dentro de un sistema.
Reusabilidad
Esta es una de las características más importantes en el desarrollo de sistemas bajo una
arquitectura basada en componentes. Un componente de software debe ser diseñado de tal
madera que pueda ser reutilizado en otros sistemas.
3
Technical Concepts of Component-Based Software Engineering, T.R. CMU/SEI-2000.
4
Este principio de reutilización del componente, requiere un esfuerzo extra por el equipo de
desarrollo que se basa en:
• Una documentación completa de cada atributo y funcionalidad del componente.
• Una etapa de pruebas organizada y certera que certifique el correcto funcionamiento del
componente.
• Una definición de comprobaciones precisa para el chequeo de cada parámetro de entrada
(input) del componente.
• Un manejo de notificaciones de errores preciso, que advierta de la existencia de estos de
una forma apropiada.
• Desarrollar teniendo en cuenta que el componente puede ser requerido para trabajar en
muchos contextos muy diferentes unos de otros (tomar en cuenta la eficiencia, uso de
memoria y recursos).
5
Referencias Bibliográficas
 http://cbs.colognet.org/overview.php
 http://active.cput.ac.za/myconference/Gregory%20Booth%20-
%20Component%20Software%20Development.pdf

Más contenido relacionado

La actualidad más candente

Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de softwareLiliana Pacheco
 
Métrica de punto de función y lineas de codigo
Métrica de punto de función y lineas de codigoMétrica de punto de función y lineas de codigo
Métrica de punto de función y lineas de codigo
Jesús E. CuRias
 
Requerimientos no funcionales
Requerimientos no funcionalesRequerimientos no funcionales
Requerimientos no funcionales
Angel Minga
 
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREDISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
jose_rob
 
Metodología para Sistemas de Información(MEDSI) por Jonas Montilva
Metodología para Sistemas de Información(MEDSI) por Jonas MontilvaMetodología para Sistemas de Información(MEDSI) por Jonas Montilva
Metodología para Sistemas de Información(MEDSI) por Jonas Montilva
deywilliams
 
Validación de Requerimientos
Validación de RequerimientosValidación de Requerimientos
Validación de RequerimientosUTPL UTPL
 
Calidad De Software
Calidad De SoftwareCalidad De Software
Calidad De Software
Jimmy Campo
 
Guia practica funciones en java con NetBeans
Guia practica funciones en java con NetBeansGuia practica funciones en java con NetBeans
Guia practica funciones en java con NetBeansEmerson Garay
 
Extreme Programming-Fases
Extreme Programming-FasesExtreme Programming-Fases
Extreme Programming-Fases
Belghy Chisag
 
Base de datos (diseño conceptual,logico y fisico)
Base de datos (diseño conceptual,logico y fisico)Base de datos (diseño conceptual,logico y fisico)
Base de datos (diseño conceptual,logico y fisico)claudiachiri
 
Diferencias entre scrum y xp
Diferencias entre scrum y xp Diferencias entre scrum y xp
Diferencias entre scrum y xp
deborahgal
 
Requerimientos del software
Requerimientos del software Requerimientos del software
Requerimientos del software
Rosa Virginia Ortega Loaiza
 
Gestion de la configuracion del software
Gestion de la configuracion del softwareGestion de la configuracion del software
Gestion de la configuracion del softwareJohan Prevot R
 
Ingeniería inversa y reingeniería de software
Ingeniería inversa y reingeniería de softwareIngeniería inversa y reingeniería de software
Ingeniería inversa y reingeniería de software
Moises Medina
 
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientosIDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
Franklin Parrales Bravo
 
Reingenieria
ReingenieriaReingenieria
Reingenieria
Anel Sosa
 
Tema N° 7 Atributos de Calidad del Software según Norma ISO 25010
Tema N° 7 Atributos de Calidad del Software según Norma ISO 25010Tema N° 7 Atributos de Calidad del Software según Norma ISO 25010
Tema N° 7 Atributos de Calidad del Software según Norma ISO 25010
SaraEAlcntaraR
 
Control de Calidad del Software
Control de  Calidad del SoftwareControl de  Calidad del Software
Control de Calidad del Software
Intellimedia
 
Arquitectura Multinivel
Arquitectura MultinivelArquitectura Multinivel
Arquitectura Multinivel
urumisama
 

La actualidad más candente (20)

Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
 
Métrica de punto de función y lineas de codigo
Métrica de punto de función y lineas de codigoMétrica de punto de función y lineas de codigo
Métrica de punto de función y lineas de codigo
 
Requerimientos no funcionales
Requerimientos no funcionalesRequerimientos no funcionales
Requerimientos no funcionales
 
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREDISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
 
Metodología para Sistemas de Información(MEDSI) por Jonas Montilva
Metodología para Sistemas de Información(MEDSI) por Jonas MontilvaMetodología para Sistemas de Información(MEDSI) por Jonas Montilva
Metodología para Sistemas de Información(MEDSI) por Jonas Montilva
 
Validación de Requerimientos
Validación de RequerimientosValidación de Requerimientos
Validación de Requerimientos
 
Calidad De Software
Calidad De SoftwareCalidad De Software
Calidad De Software
 
Guia practica funciones en java con NetBeans
Guia practica funciones en java con NetBeansGuia practica funciones en java con NetBeans
Guia practica funciones en java con NetBeans
 
Extreme Programming-Fases
Extreme Programming-FasesExtreme Programming-Fases
Extreme Programming-Fases
 
Base de datos (diseño conceptual,logico y fisico)
Base de datos (diseño conceptual,logico y fisico)Base de datos (diseño conceptual,logico y fisico)
Base de datos (diseño conceptual,logico y fisico)
 
Diferencias entre scrum y xp
Diferencias entre scrum y xp Diferencias entre scrum y xp
Diferencias entre scrum y xp
 
Requerimientos del software
Requerimientos del software Requerimientos del software
Requerimientos del software
 
Gestion de la configuracion del software
Gestion de la configuracion del softwareGestion de la configuracion del software
Gestion de la configuracion del software
 
Ingeniería inversa y reingeniería de software
Ingeniería inversa y reingeniería de softwareIngeniería inversa y reingeniería de software
Ingeniería inversa y reingeniería de software
 
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientosIDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
IDR Unidad 1: Introducción y proceso de Ingeniería de requerimientos
 
Reingenieria
ReingenieriaReingenieria
Reingenieria
 
Tema N° 7 Atributos de Calidad del Software según Norma ISO 25010
Tema N° 7 Atributos de Calidad del Software según Norma ISO 25010Tema N° 7 Atributos de Calidad del Software según Norma ISO 25010
Tema N° 7 Atributos de Calidad del Software según Norma ISO 25010
 
Control de Calidad del Software
Control de  Calidad del SoftwareControl de  Calidad del Software
Control de Calidad del Software
 
Diagrama de casos de usos
Diagrama de casos de usosDiagrama de casos de usos
Diagrama de casos de usos
 
Arquitectura Multinivel
Arquitectura MultinivelArquitectura Multinivel
Arquitectura Multinivel
 

Similar a 14704374 arquitectura-basada-en-componentes

Ingenieria de software basada en componentes -jeiner gonzalez blanco
Ingenieria de software basada en componentes  -jeiner gonzalez blancoIngenieria de software basada en componentes  -jeiner gonzalez blanco
Ingenieria de software basada en componentes -jeiner gonzalez blanco
Jeiner Gonzalez Blanco
 
FUNDAMENTO DEL DISEÑO DE SOFTWARE
FUNDAMENTO DEL DISEÑO DE SOFTWAREFUNDAMENTO DEL DISEÑO DE SOFTWARE
FUNDAMENTO DEL DISEÑO DE SOFTWARE
EstebanOrtegon
 
Gestión del Cambio
Gestión del Cambio Gestión del Cambio
Gestión del Cambio jose_macias
 
Metodo watch
Metodo watchMetodo watch
Metodo watch
David Vasquez
 
diseno Componente3.ppt
diseno Componente3.pptdiseno Componente3.ppt
diseno Componente3.ppt
rafael405074
 
Proyecto
ProyectoProyecto
Proyecto
ProyectoProyecto
Fundamentos del diseño de software
Fundamentos del diseño de software Fundamentos del diseño de software
Fundamentos del diseño de software
AlessandreMndez
 
ing del software
 ing del software  ing del software
ing del software
Rosa Virginia Ortega Loaiza
 
Proceso software
Proceso softwareProceso software
Introducción A La Orientación A Aspectos - Programador PHP
Introducción A La Orientación A Aspectos - Programador PHPIntroducción A La Orientación A Aspectos - Programador PHP
Introducción A La Orientación A Aspectos - Programador PHP
Juan Belón Pérez
 
Trabajo 2 exposicion
Trabajo 2 exposicionTrabajo 2 exposicion
Trabajo 2 exposicionEvelin Oña
 
Modelo componentes
Modelo componentesModelo componentes
Modelo componentesmartin
 
Desarrollo de software basado en componentes
Desarrollo de software basado en componentesDesarrollo de software basado en componentes
Desarrollo de software basado en componentes
Ulises Cruz
 
Reutilizacion de componentes en sistemas
Reutilizacion de componentes en sistemas Reutilizacion de componentes en sistemas
Reutilizacion de componentes en sistemas Gabriela Oyervides
 
Metodología basada en componentes
Metodología basada en componentes Metodología basada en componentes
Metodología basada en componentes
Anibal Ulibarri
 
S5 D2 Ingeniería de software basada en componentes.pptx
S5 D2 Ingeniería de software basada en componentes.pptxS5 D2 Ingeniería de software basada en componentes.pptx
S5 D2 Ingeniería de software basada en componentes.pptx
IvanhoeGarcia
 
Ingenieria de software basada en componentes
Ingenieria de software basada en componentesIngenieria de software basada en componentes
Ingenieria de software basada en componentes
Tensor
 

Similar a 14704374 arquitectura-basada-en-componentes (20)

Componentes
ComponentesComponentes
Componentes
 
Ingenieria de software basada en componentes -jeiner gonzalez blanco
Ingenieria de software basada en componentes  -jeiner gonzalez blancoIngenieria de software basada en componentes  -jeiner gonzalez blanco
Ingenieria de software basada en componentes -jeiner gonzalez blanco
 
FUNDAMENTO DEL DISEÑO DE SOFTWARE
FUNDAMENTO DEL DISEÑO DE SOFTWAREFUNDAMENTO DEL DISEÑO DE SOFTWARE
FUNDAMENTO DEL DISEÑO DE SOFTWARE
 
Gestión del Cambio
Gestión del Cambio Gestión del Cambio
Gestión del Cambio
 
Metodo watch
Metodo watchMetodo watch
Metodo watch
 
diseno Componente3.ppt
diseno Componente3.pptdiseno Componente3.ppt
diseno Componente3.ppt
 
Proyecto
ProyectoProyecto
Proyecto
 
Proyecto
ProyectoProyecto
Proyecto
 
Fundamentos del diseño de software
Fundamentos del diseño de software Fundamentos del diseño de software
Fundamentos del diseño de software
 
ing del software
 ing del software  ing del software
ing del software
 
Proceso software
Proceso softwareProceso software
Proceso software
 
Introducción A La Orientación A Aspectos - Programador PHP
Introducción A La Orientación A Aspectos - Programador PHPIntroducción A La Orientación A Aspectos - Programador PHP
Introducción A La Orientación A Aspectos - Programador PHP
 
Capitulo 11 parte1 (2)
Capitulo 11 parte1 (2)Capitulo 11 parte1 (2)
Capitulo 11 parte1 (2)
 
Trabajo 2 exposicion
Trabajo 2 exposicionTrabajo 2 exposicion
Trabajo 2 exposicion
 
Modelo componentes
Modelo componentesModelo componentes
Modelo componentes
 
Desarrollo de software basado en componentes
Desarrollo de software basado en componentesDesarrollo de software basado en componentes
Desarrollo de software basado en componentes
 
Reutilizacion de componentes en sistemas
Reutilizacion de componentes en sistemas Reutilizacion de componentes en sistemas
Reutilizacion de componentes en sistemas
 
Metodología basada en componentes
Metodología basada en componentes Metodología basada en componentes
Metodología basada en componentes
 
S5 D2 Ingeniería de software basada en componentes.pptx
S5 D2 Ingeniería de software basada en componentes.pptxS5 D2 Ingeniería de software basada en componentes.pptx
S5 D2 Ingeniería de software basada en componentes.pptx
 
Ingenieria de software basada en componentes
Ingenieria de software basada en componentesIngenieria de software basada en componentes
Ingenieria de software basada en componentes
 

Más de Gary Araujo Viscarra

Arquitecturacomponentes 141027205348-conversion-gate01
Arquitecturacomponentes 141027205348-conversion-gate01Arquitecturacomponentes 141027205348-conversion-gate01
Arquitecturacomponentes 141027205348-conversion-gate01
Gary Araujo Viscarra
 
Tema1 desarrollo de software basado en componentes
Tema1 desarrollo de software basado en componentesTema1 desarrollo de software basado en componentes
Tema1 desarrollo de software basado en componentes
Gary Araujo Viscarra
 
Estructura practico investigacion
Estructura practico investigacionEstructura practico investigacion
Estructura practico investigacion
Gary Araujo Viscarra
 
Educacion especial i
Educacion especial iEducacion especial i
Educacion especial i
Gary Araujo Viscarra
 
2.1.4.7 lab establishing a console session with tera term
2.1.4.7 lab   establishing a console session with tera term2.1.4.7 lab   establishing a console session with tera term
2.1.4.7 lab establishing a console session with tera term
Gary Araujo Viscarra
 

Más de Gary Araujo Viscarra (7)

Arquitecturacomponentes 141027205348-conversion-gate01
Arquitecturacomponentes 141027205348-conversion-gate01Arquitecturacomponentes 141027205348-conversion-gate01
Arquitecturacomponentes 141027205348-conversion-gate01
 
Arquitectura de software
Arquitectura de softwareArquitectura de software
Arquitectura de software
 
Tesis luis iribarne
Tesis luis iribarneTesis luis iribarne
Tesis luis iribarne
 
Tema1 desarrollo de software basado en componentes
Tema1 desarrollo de software basado en componentesTema1 desarrollo de software basado en componentes
Tema1 desarrollo de software basado en componentes
 
Estructura practico investigacion
Estructura practico investigacionEstructura practico investigacion
Estructura practico investigacion
 
Educacion especial i
Educacion especial iEducacion especial i
Educacion especial i
 
2.1.4.7 lab establishing a console session with tera term
2.1.4.7 lab   establishing a console session with tera term2.1.4.7 lab   establishing a console session with tera term
2.1.4.7 lab establishing a console session with tera term
 

Último

LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALESLA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LuisLobatoingaruca
 
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica químicaCiclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
ycalful01
 
Hidrostatica_e_Hidrodinamica.pdggggggggf
Hidrostatica_e_Hidrodinamica.pdggggggggfHidrostatica_e_Hidrodinamica.pdggggggggf
Hidrostatica_e_Hidrodinamica.pdggggggggf
JavierAlejosM
 
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA  PPTCONTROL DE MOTORES DE CORRIENTE ALTERNA  PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
LuisLobatoingaruca
 
Aletas de Transferencia de Calor o Superficies Extendidas.pdf
Aletas de Transferencia de Calor o Superficies Extendidas.pdfAletas de Transferencia de Calor o Superficies Extendidas.pdf
Aletas de Transferencia de Calor o Superficies Extendidas.pdf
JuanAlbertoLugoMadri
 
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuariaBOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
mesiassalazarpresent
 
Diagrama de flujo "Resolución de problemas".pdf
Diagrama de flujo "Resolución de problemas".pdfDiagrama de flujo "Resolución de problemas".pdf
Diagrama de flujo "Resolución de problemas".pdf
joseabachesoto
 
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
FRANCISCOJUSTOSIERRA
 
Joseph juran aportaciones al control de la calidad
Joseph juran aportaciones al control de la calidadJoseph juran aportaciones al control de la calidad
Joseph juran aportaciones al control de la calidad
KevinCabrera96
 
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
JhonatanOQuionesChoq
 
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
CarlitosWay20
 
Distribución Muestral de Diferencia de Medias
Distribución Muestral de Diferencia de MediasDistribución Muestral de Diferencia de Medias
Distribución Muestral de Diferencia de Medias
arielemelec005
 
164822219-Clase-4-Estructuras-3.pdf losas
164822219-Clase-4-Estructuras-3.pdf losas164822219-Clase-4-Estructuras-3.pdf losas
164822219-Clase-4-Estructuras-3.pdf losas
jcbarriopedro69
 
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
HaroldKewinCanaza1
 
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de IloPlan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
AlbertoRiveraPrado
 
Criterios de la primera y segunda derivada
Criterios de la primera y segunda derivadaCriterios de la primera y segunda derivada
Criterios de la primera y segunda derivada
YoverOlivares
 
libro conabilidad financiera, 5ta edicion.pdf
libro conabilidad financiera, 5ta edicion.pdflibro conabilidad financiera, 5ta edicion.pdf
libro conabilidad financiera, 5ta edicion.pdf
MiriamAquino27
 
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdfPLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
Daniel Jose Sierra Garcia
 
Becas de UOC _ Caja Ingenieros 2024-25.pdf
Becas de UOC _ Caja Ingenieros 2024-25.pdfBecas de UOC _ Caja Ingenieros 2024-25.pdf
Becas de UOC _ Caja Ingenieros 2024-25.pdf
UOC Estudios de Informática, Multimedia y Telecomunicación
 
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docxPLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
Victor Manuel Rivera Guevara
 

Último (20)

LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALESLA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
LA SEÑALES ANALOGICAS Y LAS SEÑALES DIGITALES
 
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica químicaCiclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
Ciclo de Otto. Máquinas térmicas para el estudio de la termodinámica química
 
Hidrostatica_e_Hidrodinamica.pdggggggggf
Hidrostatica_e_Hidrodinamica.pdggggggggfHidrostatica_e_Hidrodinamica.pdggggggggf
Hidrostatica_e_Hidrodinamica.pdggggggggf
 
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA  PPTCONTROL DE MOTORES DE CORRIENTE ALTERNA  PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
 
Aletas de Transferencia de Calor o Superficies Extendidas.pdf
Aletas de Transferencia de Calor o Superficies Extendidas.pdfAletas de Transferencia de Calor o Superficies Extendidas.pdf
Aletas de Transferencia de Calor o Superficies Extendidas.pdf
 
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuariaBOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
 
Diagrama de flujo "Resolución de problemas".pdf
Diagrama de flujo "Resolución de problemas".pdfDiagrama de flujo "Resolución de problemas".pdf
Diagrama de flujo "Resolución de problemas".pdf
 
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
TR-514 (3) - BIS copia seguridad DOS COLUMNAS 2024 1.6.24 PREFERIDO.wbk.wbk S...
 
Joseph juran aportaciones al control de la calidad
Joseph juran aportaciones al control de la calidadJoseph juran aportaciones al control de la calidad
Joseph juran aportaciones al control de la calidad
 
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
SESION 1 - SESION INTRODUCTORIA - INTRODUCCIÓN A LA PERFORACIÓN Y VOLADURA DE...
 
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
PROCEDIMIENTO Y PLAN DE RESCATE PARA TRABAJOS EN ALTURAS (Recuperado automáti...
 
Distribución Muestral de Diferencia de Medias
Distribución Muestral de Diferencia de MediasDistribución Muestral de Diferencia de Medias
Distribución Muestral de Diferencia de Medias
 
164822219-Clase-4-Estructuras-3.pdf losas
164822219-Clase-4-Estructuras-3.pdf losas164822219-Clase-4-Estructuras-3.pdf losas
164822219-Clase-4-Estructuras-3.pdf losas
 
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
 
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de IloPlan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
Plan de Desarrollo Urbano de la Municipalidad Provincial de Ilo
 
Criterios de la primera y segunda derivada
Criterios de la primera y segunda derivadaCriterios de la primera y segunda derivada
Criterios de la primera y segunda derivada
 
libro conabilidad financiera, 5ta edicion.pdf
libro conabilidad financiera, 5ta edicion.pdflibro conabilidad financiera, 5ta edicion.pdf
libro conabilidad financiera, 5ta edicion.pdf
 
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdfPLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
PLAN DE EMERGENCIAS Y EVACUACION 2024.pdf
 
Becas de UOC _ Caja Ingenieros 2024-25.pdf
Becas de UOC _ Caja Ingenieros 2024-25.pdfBecas de UOC _ Caja Ingenieros 2024-25.pdf
Becas de UOC _ Caja Ingenieros 2024-25.pdf
 
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docxPLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
PLANIFICACION INDUSTRIAL ( Gantt-Pert-CPM ).docx
 

14704374 arquitectura-basada-en-componentes

  • 1. 1 Arquitectura basada en Componentes Definición La arquitectura basada en componentes consiste en una rama de la Ingeniería de software en la cual se trata con énfasis la descomposición del software en componentes funcionales. Esta descomposición permite convertir componentes pre-existentes en piezas más grandes de software. Este proceso de construcción de una pieza de software con componentes ya existentes, da origen al principio de reutilización del software, mediante el cual se promueve que los componentes sean implementados de una forma que permita su utilización funcional sobre diferentes sistemas en el futuro. Se debe entonces, para terminar de definir la arquitectura basada en componente, saber que es un componente de software. Un componente de software se define típicamente como algo que puede ser utilizado como una caja negra, en donde se tiene de manera externa una especificación general, la cual es independiente de la especificación interna1 • Interior del componente: es una pieza de software que cumple con un conjunto de propiedades y que se encuentra conformada como un artefacto del cual se espera que sea reutilizable. . De esta definición se presentan tres conceptos ligados con la definición de un componente: • Exterior del componente: es una interface que cumple con un conjunto de propiedades y provee un servicio a los agentes humanos u otros artefactos de software. • Relación interior-exterior: es la que define el proceso de relación entre el interior y exterior el componente, a través de conceptos como especificación, implementación y encapsulación. Elementos y estructura de la arquitectura basada en componentes De forma evidente se puede determinar que, el principal elemento de software dentro de un Arquitectura basada en componentes son precisamente los componentes de software. Existen 5 principios definidos por Clemens Szyperski and David Messerschmitt2 1 Component-Based Development http://www.users.globalnet.co.uk/~rxv/CBDmain/cbdfaq.htm#Component-Based%20Development 2 Component-based software engineering. http://en.wikipedia.org/wiki/Software_componentry , que definen a un componente de software como elemento de la arquitectura:
  • 2. 2 • Múltiple uso: se refiere al hecho de que un componente es escrito dentro de un contexto que permita que su funcionalidad sea útil en la creación de distintas piezas de software. • Contexto no específico: en relación con la orientación conceptual de la especificación de un componente, debe estar planteada de una forma general que permita su adaptación en distintos sistemas, sin que el contexto tenga prioridad. • Encapsulación: se refiere a la especificación interna oculta o no investigable a través de la interface. Así se protege que el resto de componentes y piezas de software dentro de un sistema, no se vean afectados por cambios en el diseño de uno de los componentes. • Una unidad independiente de desarrollo con su propio control de versiones: este principio muy relacionado con la encapsulación, permite que un componente pueda ser desarrollado de manera independiente, cambiando el diseño o agregando nuevas funcionalidades, sin afectar significativamente el resto del sistema. La estructura de la arquitectura basada en componentes contempla 3 partes: 1. El nombre de los componentes: el nombre de un componente debe ser la identificación de la funcionalidad y uso que tiene como software. Generalmente, los desarrolladores usan algún tipo de convención que facilite la identificación de componentes, especialmente, cuando se trabaja en proyectos de gran envergadura 2. La interface de los componentes: es el área de intercambio (input-output) entre el interior y el exterior de un componente de software. La interface es quien permite acceder a los datos y funcionalidades que estén especificadas en el interior del componente (acceder funcionalmente, no a su especificación). Adicional a la interface se encuentra la documentación que muestra la información sobre cómo utilizar un componente. 3. Cuerpo y código de implementación: es la parte del componente que provee la forma (implementación) sobre la cual un fragmento del componente realiza sus servicios y funcionalidades. Este es el área que debe cumplir con el principio de encapsulación. Dentro de la estructura de una arquitectura basada en software existen dos procesos fundamentales para el desarrollo: El ensamblaje de sistemas a partir de componentes de software Este proceso está compuesto por cuatro actividades: 1) Calificación de los componentes: comprende el estudio y análisis de que tan adecuado es un componente para la construcción del sistema final. Esta evaluación se realiza sobre un conjunto de métricas que deben establecer los analistas y diseñadores de la arquitectura.
  • 3. 3 Además de esto, de acuerdo con Felix Bachman3 I. El establecimiento de hechos sobre el componente para verificar que las propiedades que el componente posee son acordes con su especificación pública (documentada). , durante esta actividad existen dos procesos relacionados con la certificación de los componentes: II. La validación de que los hechos establecidos sobre el componente son ciertos. La razón por la cual se realiza este proceso de certificación es que existe un vínculo entre las propiedades certificadas de un componente y las del sistema final, es decir, la certificación es una herramienta para garantizar que las propiedades de la pieza de software final sean válidas. 2) Adaptación de los componentes: dado que un componente es desarrollado para cumplir con requerimientos específicos, es posible que esté orientado en cierta medida hacia el contexto en el que fue desarrollado. Por esta razón, se realiza un proceso de adaptación con el objetivo de minimizar la cantidad de conflictos. Un componente puede ser adaptado entonces de tres maneras: I. White-Box: cuando el componente debe ser reescrito para operar en conjunto con el resto de componentes del sistema. II. Grey-Box: cuando el componente incorpora su propio API (Application Programming Interface). III. Black-Box: cuando el componente no posee un API. Una interfaz completamente independiente es construida para acceder a los servicios del componente. 3) Ensamblaje de los componentes: es el proceso de integración de los componentes a través de la estructura mediante la cual fueron definidos. Esto incluye el modelo de software por componentes sobre el cual son escritos, por ejemplo: COM (Component Object Model), CORBA (Common Object Request Broker Architectur), Enterprise JavaBeans y .NET. 4) Mantenimiento y evolución del sistema: consiste en el proceso de actualización de componentes, ya sea por requerimiento o por cambios de especificación. Estos cambios pueden ser la reescritura o sustitución de un componente. Por tal razón un componente trabaja como una unidad (conectable y desconectable) dentro de un sistema. Reusabilidad Esta es una de las características más importantes en el desarrollo de sistemas bajo una arquitectura basada en componentes. Un componente de software debe ser diseñado de tal madera que pueda ser reutilizado en otros sistemas. 3 Technical Concepts of Component-Based Software Engineering, T.R. CMU/SEI-2000.
  • 4. 4 Este principio de reutilización del componente, requiere un esfuerzo extra por el equipo de desarrollo que se basa en: • Una documentación completa de cada atributo y funcionalidad del componente. • Una etapa de pruebas organizada y certera que certifique el correcto funcionamiento del componente. • Una definición de comprobaciones precisa para el chequeo de cada parámetro de entrada (input) del componente. • Un manejo de notificaciones de errores preciso, que advierta de la existencia de estos de una forma apropiada. • Desarrollar teniendo en cuenta que el componente puede ser requerido para trabajar en muchos contextos muy diferentes unos de otros (tomar en cuenta la eficiencia, uso de memoria y recursos).
  • 5. 5 Referencias Bibliográficas  http://cbs.colognet.org/overview.php  http://active.cput.ac.za/myconference/Gregory%20Booth%20- %20Component%20Software%20Development.pdf