stringtranslate.com

Componente 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 mantenibilidad . [1]

Valor

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

Atributos

Los atributos deseables de un componente incluyen, entre otros:

Tercero

Algunos componentes los construye internamente la misma organización o equipo que crea el sistema de software . Algunos son de terceros , desarrollados en otros lugares y ensamblados en el sistema de software. [2]

Ingeniería de software basada en componentes

Para 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 marco que permite consumirlos de forma conocida. Los ejemplos incluyen: 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 Unified Modeling Language (UML) 2.0, un componente se muestra como un rectángulo y una interfaz se muestra como una paleta para indicar una interfaz proporcionada y como un socket para indicar el consumo de una interfaz.

Historia

La idea de 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). McIlroy puso esta idea en práctica con la adición de la función pipeline 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 los años 1990. [9]

Microsoft introdujo el Modelo de objetos componentes (COM) a principios de los años 1990. Microsoft creó muchas tecnologías de componentes de dominios específicos en COM, incluido 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: conectores y componentes de software". medio.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é ha fallado la reutilización de software 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". Transacciones IEEE sobre ingeniería de software . 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. pag. 79.
  7. ^ Rainer Niekamp. "Arquitectura de componentes de software" (PDF) . Gestión de Congresos - CIMNE/Instituto de Computación Científica, TU Braunschweig. pag. 4. Archivado desde el original (PDF) el 28 de marzo de 2012 . Consultado el 29 de julio de 2011 . El concepto moderno de 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 aplicación basada en componentes". HSR - Hochschule für Technik Rapperswill. pag. 4 . Consultado el 29 de julio de 2011 . 1990, IBM inventa su modelo de objetos del sistema. 1990, como reacción, Microsoft lanzó OLE 1.0 Controles personalizados OLE (OCX)[ enlace muerto permanente ]