Componente de software

Unidad modular de software

Un componente de software es una unidad modular de software que encapsula una funcionalidad específica. [1] Las características deseadas de un componente son la reutilización y la facilidad de mantenimiento . [1]

Valor

Los componentes permiten que el desarrollo de software ensamble software con partes confiables en lugar de escribir código para cada aspecto, lo que permite que la implementación se parezca más a un ensamblaje de fábrica que a una construcción personalizada.

Atributos

Los atributos deseables de un componente incluyen, entre otros:

  • Sustituible : se puede reemplazar por otro componente con la misma interfaz

Tercero

Algunos componentes son creados internamente por la misma organización o equipo que crea el sistema de software . Otros son de terceros , se desarrollan en otro lugar y se ensamblan en el sistema de software. [2]

Ingeniería de software basada en componentes

En el caso de sistemas a gran escala, el desarrollo basado en componentes fomenta un proceso disciplinado para gestionar la complejidad . [3]

Estructura

Algunos componentes se ajustan a una tecnología de marco que permite que se los utilice de una manera conocida. Algunos ejemplos son: CORBA , COM , Enterprise JavaBeans y .NET Framework . [4] [5]

Modelado

Un ejemplo de componentes interdependientes que modelan un sistema de reservas en UML

El diseño de componentes suele modelarse visualmente. En el lenguaje de modelado unificado (UML) 2.0, un componente se muestra como un rectángulo y una interfaz como una piruleta para indicar una interfaz proporcionada y como un socket para indicar el consumo de una interfaz.

Historia

La idea de los componentes de software reutilizables fue promovida por Douglas McIlroy en su presentación en la Conferencia de Ingeniería de Software de la OTAN de 1968. [6] (Uno de los objetivos de esa conferencia era resolver la llamada crisis del software de la época). En la década de 1970, McIlroy puso esta idea en práctica con la adición de la función de canalización al sistema operativo Unix .

Brad Cox perfeccionó el concepto de componente de software en la década de 1980. [7] Intentó crear una infraestructura y un mercado para componentes reutilizables de terceros inventando el lenguaje de programación Objective-C . [8]

IBM introdujo el Modelo de Objetos del Sistema (SOM) a principios de la década de 1990. [9]

Microsoft introdujo el Modelo de objetos componentes (COM) a principios de la década de 1990. Microsoft creó muchas tecnologías de componentes específicas de dominio en COM, entre ellas el Modelo de objetos componentes distribuidos (DCOM), la vinculación e incrustación de objetos (OLE) y ActiveX.

Referencias

  1. ^ ab Pandey, Pankaj (11 de julio de 2023). "Notas del tutorial: componentes de software y conectores". medium.com . Consultado el 14 de mayo de 2024 .
  2. ^ Yadav, Sunny (16 de abril de 2024). «Tipos de componentes de software: con ejemplos». LinkedIn . Consultado el 14 de mayo de 2024 .
  3. ^ Douglas C. Schmidt . "Por qué la reutilización de software ha fracasado y cómo hacer que funcione para usted" . Consultado el 14 de mayo de 2024 .
  4. ^ Crnkovic, I.; Sentilles, S.; Vulgarakis, A.; Chaudron, MRV (2011). "Un marco de clasificación para modelos de componentes de software". IEEE Transactions on Software Engineering . 37 (5): 593–615. doi :10.1109/TSE.2010.83. S2CID  15449138.
  5. ^ Lau, Kung-Kiu; Wang, Zheng (2007). "Modelos de componentes de software". Transacciones IEEE sobre ingeniería de software . 33 (10): 709–724. doi :10.1109/TSE.2007.70726. ISSN  0098-5589.
  6. ^ McIlroy, Malcolm Douglas (enero de 1969). "Componentes de software producidos en masa" (PDF) . Ingeniería de software: Informe de una conferencia patrocinada por el Comité Científico de la OTAN, Garmisch, Alemania, 7-11 de octubre de 1968. División de Asuntos Científicos, OTAN. pág. 79.
  7. ^ Rainer Niekamp. "Arquitectura de componentes de software" (PDF) . Gestión de Congresos - CIMNE/Institute for Scientific Computing, TU Braunschweig. p. 4. Archivado desde el original (PDF) el 28 de marzo de 2012. Consultado el 29 de julio de 2011. El concepto moderno de un componente de software definido en gran medida por Brad Cox de Stepstone, => lenguaje de programación Objective-C
  8. ^ Brad Cox (1991). Programación orientada a objetos: un enfoque evolutivo . Addison Wesley. ISBN 0-201-54834-8.
  9. ^ Raphael Gfeller (9 de diciembre de 2008). "Actualización de aplicaciones basadas en componentes". HSR - Hochschule für Technik Rapperswill. pág. 4. Consultado el 29 de julio de 2011. 1990, IBM inventa su modelo de objetos del sistema. 1990, como reacción, Microsoft lanza los controles personalizados OLE 1.0 (OCX)[ enlace muerto permanente ]
Retrieved from "https://en.wikipedia.org/w/index.php?title=Software_component&oldid=1247527695"