Aspectos de Calidad en el Desarrollo de Software
Enviado por Mabe1 • 2 de Octubre de 2013 • Tutorial • 8.441 Palabras (34 Páginas) • 456 Visitas
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 extrafuncionales
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.
1 Introducción
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
mayoría por terceras casas, y cuyo código no puede modificarse. Bajo este nuevo
planteamiento, cobran especial interés los procesos de búsqueda y selección de 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 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 requisitos funcionales. Por ejemplo, si dos componentes implementan misma
funcionalidad, sus atributos extra-funcionales pueden ser el criterio decisivo en el proceso de
selección.
2
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 los principales vendedores lo pone en evidencia, como ocurre con
Componentsource (www.componentsource.com), Flashline (www.flashline.com) o
WrldComp (www.wrldcomp.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
tratar de hacerlas converger, eliminando algunas de las lagunas e inconsistencias que
presentan. Por otro lado, es importante señalar que los estándares 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.
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.
...