PDF de programación - Aspectos de Calidad en el Desarrollo de Software Basado en Componentes

Imágen de pdf Aspectos de Calidad en el Desarrollo de Software Basado en Componentes

Aspectos de Calidad en el Desarrollo de Software Basado en Componentesgráfica de visualizaciones

Publicado el 3 de Febrero del 2017
1.458 visualizaciones desde el 3 de Febrero del 2017
67,9 KB
18 paginas
Creado hace 21a (26/09/2002)
Aspectos de Calidad en el Desarrollo de Software

Basado en Componentes

Manuel F. Bertoa, José M. Troya y Antonio Vallecillo

Depto. Lenguajes y Ciencias de la Computación. Universidad de Málaga.

{bertoa,troya,av}@lcc.uma.es



Resumen

El desarrollo de software basado en componentes se ha convertido actualmente en uno de los
mecanismos más efectivos para la construcción de grandes sistemas y aplicaciones de software.
Una vez que la mayor parte de los aspectos funcionales de esta disciplina comienzan a estar bien
definidos, la atención de la comunidad científica comienza a centrarse en los aspectos extra-
funcionales y de calidad, como un paso hacia una verdadera ingeniería. En este artículo se discuten
precisamente los aspectos de calidad relativos a los componentes software y a las aplicaciones que
con ellos se construyen, con especial énfasis en los estándares internacionales que los definen y
regulan, y en los problemas que se plantean en este tipo de entornos.

Introducción

1
La creciente necesidad de realizar sistemas complejos en cortos periodos de tiempo, a la vez
que con menores esfuerzos tanto humanos como económicos, está favoreciendo el avance de
lo que se conoce como Desarrollo de Software Basado en Componentes (DSBC). Esta nueva
disciplina se apoya en componentes software ya desarrollados, que son combinados
adecuadamente para satisfacer
los requisitos del sistema. Construir una aplicación se
convierte por tanto en la búsqueda y ensamblaje de piezas prefabricadas, desarrolladas en su
terceras casas, y cuyo código no puede modificarse. Bajo este nuevo
mayoría por
planteamiento, cobran especial
los
componentes apropiados para construir las aplicaciones. En este sentido, la tecnología de
componentes ofrece ya soluciones robustas para muchos de los problemas que se plantean en
la construcción de grandes sistemas de software y, de hecho, vivimos inmersos en una
creciente “componentización” del software.

los procesos de búsqueda y selección de

interés

Los principales esfuerzos de la comunidad de software en estos temas se han basado
hasta ahora en los aspectos funcionales de los componentes, es decir, en la funcionalidad que
ofrecen. Sin embargo, por lo general se han venido obviando muchos de los aspectos de
calidad que intervienen a la hora de seleccionar componentes y ensamblarlos para construir
aplicaciones que satisfagan los requisitos del cliente. Este tipo de aspectos, que llamaremos
“extra-funcionales”, cada vez acapara más la atención de los arquitectos e ingenieros del
software. Por un lado, los requisitos extra-funcionales –por su naturaleza global– pueden
afectar a varias partes del sistema, y por ello tendrán prioridad si entran en conflicto con los
requisitos funcionales. Además, el cuidadoso análisis de los atributos de calidad puede
mejorar el proceso de discriminación de los componentes candidatos que cumplan el núcleo
de
implementan misma
funcionalidad, sus atributos extra-funcionales pueden ser el criterio decisivo en el proceso de
selección.

funcionales. Por

componentes

requisitos

ejemplo,

si dos



1

Podemos considerar varias causas para esta omisión de la valoración en los requisitos
extra-funcionales. La primera es que no existe una definición consensuada de
las
características o atributos de calidad que hay que medir. Así, podemos encontrar diversas
clasificaciones en la literatura: desde los factores de calidad propuestos por McCall [McCall,
1977], el modelo de calidad de Boehm [Boehm et al., 1976], los estándares internacionales
ISO-9126 [ISO, 1991] e ISO-14598 [ISO, 1998; ISO, 1999], la lista de atributos para la
valoración citada para el modelo COCOTS [Abts et al., 2000] basada en estándares de IEEE
(en particular el IEEE/ANSI 830-1993), y otras varias [Bosch 2000, Szyperski 1998].

La siguiente causa de dificultad es la falta de información acerca de este tipo de
atributos que suministran los vendedores de componentes software. Una visita virtual a los
portales de
lo pone en evidencia, como ocurre con
Componentsource
o
WrldComp (www.wrldcomp.com).

(www.componentsource.com),

los principales vendedores

Flashline

(www.flashline.com)

Añadido a todo esto, podemos encontrar una ausencia casi total de métricas que
permitan dar una estimación más objetiva de estos atributos. Este hecho se ve afectado por la
situación actual de los estándares internacionales relativos a la calidad del producto software.
Las normas ISO-9126 e ISO-14598, encargadas de especificar estos temas, se encuentran
ahora mismo en proceso de revisión. El proyecto SquaRE [Azuma, 2001] es el encargado de
inconsistencias que
tratar de hacerlas converger, eliminando algunas de
presentan. Por otro
internacionales
proporcionan guías y modelos de calidad para temas muy generales y su aplicación suele
centrarse en temas de un gran espectro. Por tanto, no suelen estar pensadas para ofrecer
soluciones en temas muy concretos.

las
importante señalar que

lagunas e
los estándares

lado, es

Nuestro objetivo en este artículo se centra en ofrecer una visión general de los temas de
calidad que afectan al desarrollo de software basado en componentes, el estado actual de la
normativa internacional, así como las principales propuestas y líneas de investigación en los
que se trabaja en este momento. Igualmente, abordaremos los retos más importantes a los que
se enfrenta el tratamiento de los aspectos de calidad dentro del DSBC, con vistas a ofrecer
una perspectiva general de estos temas, y las líneas de trabajo abiertas.

El documento está estructurado en cinco secciones. Tras esta introducción, la sección 2
hace una breve descripción del DSBC y los componentes COTS, introduciendo el concepto de
componente, sus características diferenciadoras, y los principios y procesos que rigen esta
disciplina. Después, la sección 3 aborda los aspectos de calidad específicos del DSBC, sus
características y la clasificación de atributos de calidad. En la sección 4 se presentan los
trabajos actualmente en curso, tanto desde el punto de vista del producto como del proceso.
La sección 5 plantea los principales problemas abiertos en el DSBC y plantea algunas líneas
de trabajo futuro. Finalmente, la sección 6 presenta las conclusiones de este trabajo.

2 Desarrollo de Software Basado en Componentes (DSBC)

Hoy en día podemos decir que existe un consenso al considerar el desarrollo basado en
componentes como un avance significativo hacia la construcción de sistemas mediante el
ensamblado de componentes prefabricados. El DSBC trata de sentar las bases para el diseño y
desarrollo de aplicaciones distribuidas basadas en componentes software reutilizables. Dicha
tanto desde el punto de vista
disciplina cuenta actualmente con un creciente

interés,



2

académico como desde la industria, en donde la demanda de mecanismos y herramientas de
desarrollo basados en componentes es cada día mayor.

En general, el desarrollo de software basado en componentes puede verse como una
extensión natural de la programación orienta a objetos dentro del ámbito de los sistemas
abiertos y distribuidos. Este paradigma se basa en el uso de los componentes software como
entidades básicas del modelo, entendiendo por componente “una unidad de composición de
aplicaciones software que posee un conjunto de requisitos, y que ha de poder ser desarrollado,
adquirido,
forma
independiente en tiempo y espacio” [Szyperski, 1998].

incorporado al sistema y compuesto con otros componentes, de

Numerosas son las características que aporta la programación orientada a componentes
frente a la programación orientada a objetos tradicional. Entre ellas, el desarrollo de los
componentes de forma independiente del contexto en donde serán ejecutados, la reutilización
por composición (frente a herencia, al tratarse de entidades “binarias” o “cajas negras”), la
introspección (facilidad para interrogar al componente sobre sus propiedades y métodos de
forma dinámica, normalmente mediante el uso de reflexión), nuevas formas de comunicación
(como los “eventos” y las comunicaciones asíncronas frente a los rudimentarios mecanismos
de los objetos), el enlazado dinámico y composición tardía, la extensión de las IDLs
tradicionales, etc. [Szyperski, 1998].

Una de las principales ventajas del desarrollo de software basado en componentes se
basa en la “reutilización” de los mismos. De esta forma, los componentes se diseñan y
desarrollan con el objetivo de poder ser reutilizados en otras aplicaciones, reduciendo el
tiempo de desarrollo, mejorando la fiabilidad del producto final (al usar componentes ya
probados previamente), y siendo más competitivos en costes. Aunque hasta ahora la
reutilización suele suceder principalmente a nivel interno dentro de las organizaciones, el uso
de los componentes comerci
  • Links de descarga
http://lwp-l.com/pdf2243

Comentarios de: Aspectos de Calidad en el Desarrollo de Software Basado en Componentes (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad