Ir al contenido
Menú principal
Menú principal
mover a la barra lateral
ocultar
Navegación
Página principal
Cambios recientes
Página aleatoria
Ayuda sobre MediaWiki
Buscar
Buscar
español
Apariencia
Crear una cuenta
Acceder
Herramientas personales
No has accedido
Discusión
Contribuciones
Crear una cuenta
Acceder
Edición de «
Componente de software
»
Página
Discusión
español
Leer
Editar
Editar código
Ver historial
Herramientas
Herramientas
mover a la barra lateral
ocultar
Acciones
Leer
Editar
Editar código
Ver historial
General
Lo que enlaza aquí
Cambios relacionados
Información de la página
Apariencia
mover a la barra lateral
ocultar
Advertencia:
no has iniciado sesión. Tu dirección IP se hará pública si haces cualquier edición. Si
inicias sesión
o
creas una cuenta
, tus ediciones se atribuirán a tu nombre de usuario, además de otros beneficios.
Comprobación antispam. ¡
No
rellenes esto!
[[Archivo:Component.PNG|miniatura|Un componente UML con interfaces proveídas y requeridas.]] Un '''componente de software''' es una unidad modular de un programa ''[[software]]'' con interfaces y dependencias bien definidas que permiten ofertar o solicitar un conjunto de servicios o funcionales. La «programación orientada a componentes» (que también es llamada ''basada en componentes'') es una rama de la [[ingeniería del software]], con énfasis en la descomposición de sistemas ya conformados en componentes funcionales o lógicos con [[interfaces]] bien definidas usadas para la comunicación entre componentes. Se considera que el nivel de [[Capa de abstracción|abstracción]] de los componentes es más alto que el de los [[Objeto (programación)|objeto]]s y por lo tanto no comparten un estado y se comunican intercambiando mensajes que contienen datos. == Definiciones == Un componente de software es un elemento de un [[sistema]] que ofrece un servicio predefinido, y es capaz de comunicarse con otros componentes, un objeto escrito de acuerdo a unas especificaciones. No importa qué especificación sea ésta, siempre y cuando el objeto se adhiera a la especificación.{{cr}} Solo cumpliendo correctamente con esa especificación es que el objeto se convierte en componente y adquiere características como reusabilidad. === Según el OMG === En la especificación [[ ]], es una unidad modular con interfaces bien definidas, que es reemplazable dentro del cont(2011).<ref>[http://www.omg.org/spec/UML/2.4/Superstructure/Beta2/PDF/ ''OM Superstructure, V. 147.]</ref> Así, un componente define su comportamiento en términos de interfaces proveídas y requeridas; y dicho componente será totalmente reemplazable por otro que cumpla con las interfaces declaradas. UML no coloca ninguna restricción respecto a la granularidad del componente, de esta forma un componente podrá ser tan simple como un convertidor de moneda o tan complejo como un sistema de ayuda semántico. === Según el WCOP === Fruto del primer ''[[Workshop]] Component Oriented Programming'' (WCOP) o "Taller sobre Programación Orientada a Componentes" realizado en 1996, se acuñó la definición: unidad de composición con interfaces especificadas contractualmente, con dependencias explícitas de acuerdo al contexto antes dicho. Un componente de software puede ser desplegado de forma independiente y puede participar en composiciones de terceras partes. == Características == Cuando se necesita el acceso a un componente o cuando este debe ser compartido entre distintas redes, se recurre a procesos como la [[serialización]] para entregar el componente a su destino. La capacidad de ser reutilizado (reusability), es una característica importante de los componentes de software de alta calidad. Un componente debe ser diseñado e implementado de tal forma que pueda ser reutilizado en muchos programas diferentes. Requiere gran esfuerzo y atención escribir un componente que es realmente reutilizable. Para esto, el componente debe estar: * Completamente documentado. * Probado intensivamente: ** Debe ser robusto, comprobando la validez de las entradas. ** Debe ser capaz de pasar mensajes de error apropiados. * Diseñado pensando en que será usado de maneras imprevistas. Otras características incluyen: * Ser intercambiable. * Poseer interfaces definidas. * Ser cohesivos. == Implementaciones == Los componentes de software son la piedra angular de diferentes [[paradigmas de programación]]. Esto ha generado la aparición en el mercado de diferentes especificaciones que plantean la forma de construir, utilizar,complementar y distribuir componentes. Entre las más extendidas se encuentran: === Estándares === * [[CORBA]] (''Common Object Request Broker Architecture'') del ''[[Object Management Group]]'' (OMG). * [[JavaBean]], [[Java Servlet|Servlets]] y [[Enterprise JavaBeans]] de [[Oracle]]. * [[OSGi]] (''Open Services Gateway Initiative'') de ''OSGi Alliance''. * ''[[Component Object Model]]'' (COM), COM+ y ''[[Distributed Component Object Model]]'' (DCOM) de [[Microsoft]]. === Paradigmas === Los componentes de software son útiles en: * [[Programación orientada a componentes|Programación Orientada a Componentes]] (POC) * [[Programación Orientada a Objetos]] (POO) * [[Arquitectura orientada a servicios|Arquitectura Orientada a Servicios]] (SOA)<ref>[https://web.archive.org/web/20160304201109/http://www.ifsworld.com/en/download/Resources/PDFs/White%20Papers/Components%20and%20SOA/White-Paper-Components-and-SOA.pdf?sc_trk=Download ''Components and SOA''].</ref> == Algunas especificaciones para componentes == * [[Enterprise JavaBeans]] * [[Component Object Model|COM]] == Véase también == * [[Ingeniería de software basada en componentes]] * [[Object Management Group]] * [[Programación orientada a componentes]] == Referencias == {{listaref}} == Enlaces externos == {{traducido ref|en|Component based programming}} * [https://web.archive.org/web/20090419091521/http://wwwdi.ujaen.es/asignaturas/progav/progav-tema4.pdf Programación orientada a componentes] * [http://www.lcc.uma.es/~av/misConfs/p3-componentes.ppt Programación orientada a componentes - Universidad Técnica Federico de Santa María] * [http://www.uml-diagrams.org/component-diagrams.html#component Component in UML 2] * [http://books.google.com/books?id=UVKnwwSioLAC&pg=PA130&lpg=PA130&dq=Component-Oriented+Programming+%28WCOP%2796%29+at+ECOOP%2796+in+Linz&source=bl&ots=iEwHottqJu&sig=f41T9sdQmarDj9ZF6vaKnZtOuNk&hl=en&ei=hFAbTqrRGYPpgQfOgaUe&sa=X&oi=book_result&ct=result&resnum=1&ved=0CBcQ6AEwAA#v=onepage&q=Component-Oriented%20Programming%20%28WCOP%2796%29%20at%20ECOOP%2796%20in%20Linz&f=false Memorias del WCOP'98] {{Control de autoridades}} [[Categoría:Software|Componentes de software]] [[Categoría:Paradigmas de programación]] [[Categoría:Arquitectura de software]]
Resumen:
Al guardar los cambios aceptas los
términos de uso
y liberas de forma irrevocable tu contribución conforme a los términos de las licencias
licencia CC BY-SA 4.0
y
GFDL
. Aceptas igualmente que un hipervínculo o URL es atribución suficiente conforme a la licencia Creative Commons.
Cancelar
Ayuda de edición
(se abre en una ventana nueva)
Buscar
Buscar
Edición de «
Componente de software
»
Añadir idiomas
Añadir tema