Saltar la navegación

1.- Concepto de componente. Características.

Caso práctico

Ada ha escuchado la conversación de sus compañeros, e interviene para explicarles qué es un componente:

-Un componente es una pieza de hardware o software pequeña, que tiene un comportamiento específico y dispone de una interfaz que permite que se inserte fácilmente. Por ejemplo, una etiqueta o un botón que se basan en las etiquetas o botones estándares de la paleta de NetBeans adaptados a las necesidades específicas de una aplicación y que puede ser reutilizada es un componente. Tienen la ventaja de que pueden especializarse mucho y al estar probadas de antemano sabemos que su funcionamiento es correcto por lo que facilitan la programación de aplicaciones nuevas.

Imagen de Ada, la jefa de la empresa BK, donde se desarrollan nuestros casos prácticos.
Ministerio de Educación y Formación Profesional (Elaboración propia)



Un componente software es una clase creada para ser reutilizada y que puede ser manipulada por una herramienta de desarrollo de aplicaciones visual. Se define por su estado que se almacena en un conjunto de propiedades, las cuales pueden ser modificadas para adaptar el componente al programa en el que se inserte. También tiene un comportamiento que se define por los eventos ante los que responde y los métodos que ejecuta ante dichos eventos.

Los eventos son las acciones que los usuarios van a provocar sobre los componentes.

Un subconjunto de los atributos y los métodos forman la interfaz del componente.

Para que pueda ser distribuida, se empaqueta con todo lo necesario para su correcto funcionamiento, quedando independiente de otras bibliotecas o componentes.

Citas para pensar

Un componente es una unidad de composición de 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 de otros componentes, de forma independiente en tiempo y en espacio.

Szypersky, 1998

Para que una clase sea considerada un componente debe cumplir ciertas normas:

  • Debe poder modificarse para adaptarse a la aplicación en la que se integra.
  • Debe tener persistencia, es decir, debe poder guardar el estado de sus propiedades cuando han sido modificadas.
  • Debe tener introspección, es decir, debe permitir a un IDE que pueda reconocer ciertos elementos de diseño como los nombres de las funciones miembros o métodos y definiciones de las clases, y devolver esa información.
  • Debe poder gestionar eventos.

El desarrollo basado en componentes tiene, además, las siguientes ventajas:

  • Es mucho más sencillo, se realiza en menos tiempo y con un coste inferior.
  • Se disminuyen los errores en el software ya que los componentes se deben someter a un riguroso control de calidad antes de ser utilizados.

Reflexiona

Ya has creado algunas interfaces gráficas. El procedimiento consiste en seleccionar los controles gráficos de la interfaz y posicionarlos en un lienzo que será la interfaz. Todos estos controles cumplen con los requisitos para ser componentes, de hecho lo son, son elementos reutilizables que pueden ser manejados por una herramienta de desarrollo visual. Por ejemplo, se puede modificar su tamaño o color para adaptarlo a la interfaz y estos cambios permanecen después de cerrarla, además tienen una interfaz formada por un conjunto de métodos y propiedades accesibles desde la paleta de propiedades y la capacidad de responder a eventos, por ejemplo, el clic del ratón.

Autoevaluación

Pregunta

Imagina una herramienta de desarrollo, están compuestas de un conjunto de ventanas que podemos mostrar u ocultar, cambiar su tamaño, etc., de modo que al cerrar la aplicación y volverla a abrir se mantiene la estructura que tenía al cerrarse. ¿Con qué característica de los componentes relacionas esto?

Respuestas

Con la persistencia.

Con la introspección.

Con la gestión de eventos.

Retroalimentación