SlideShare una empresa de Scribd logo
Redalyc
                                   Sistema de Información Científica
Red de Revistas Científicas de América Latina, el Caribe, España y Portugal




         Rodríguez, Moisés; Verdugo, Javier; Coloma, Ramón; Genero, Marcela; Piattini, Mario


                   Metodología para la evaluación de la calidad en los modelos UML
            REICIS Revista Española de Innovación, Calidad e Ingeniería del Software, Vol. 6,
                                Núm. 1, abril-sin mes, 2010, pp. 16-35
                               Asociación de Técnicos de Informática
                                                España

                    Disponible en: http://redalyc.uaemex.mx/src/inicio/ArtPdfRed.jsp?iCve=92212873004




                                                                  REICIS Revista Española de Innovación, Calidad
                                                                  e Ingeniería del Software
                                                                  reicis@ati.es
                                                                  Asociación de Técnicos de Informática
                                                                  España




                  ¿Cómo citar?        Número completo          Más información del artículo   Página de la revista


                                                    www.redalyc.org
                  Proyecto académico sin fines de lucro, desarrollado bajo la iniciativa de acceso abierto
Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010


       Metodología para la evaluación de la calidad en los
                        modelos UML
                     Moisés Rodríguez, Javier Verdugo, Ramón Coloma
                                  Alarcos Quality Center, s.l.
         {moises.rodriguez, javier.verdugo, ramon.coloma}@alarcosqualitycenter.com

                                   Marcela Genero, Mario Piattini
                        Departamento de Tecnologías y Sistemas de Información
                                 Universidad de Castilla-La Mancha
                               {marcela.genero, mario.piattini}@uclm.es



Resumen
Este artículo presenta una metodología para la evaluación de la calidad de modelos UML,
formada por un conjunto estructurado de procesos, orientada a la relación con el cliente y a
la externalización de la evaluación de la calidad, y además pensada para ser una
metodología fácilmente adaptable.

Palabras clave: evaluación de calidad, calidad en modelos UML.



      Methodology for the evaluation of quality in UML models
Abstract
This article presents a methodology for evaluate the quality of UML models. This
methodology consists of a structured set of processes, it is oriented to the relationship with
the customer and to the outsourcing of quality evaluation, and it is easily adaptable.

Key words: quality evaluation, quality in UML models.
Rodríguez,M., Verdugo, j., Coloma,R., Genero, M. y Piattini,M. “Metodología para la evaluación de la calidad en los modelos UML”,
REICIS, vol. 6, no.1, 2010, pp.17-36. Recibido: 6-11-2009; revisado: 4-1-2010; aceptado:12-3-2010




1. Introducción
Si bien la calidad del software es un campo maduro en el que existen modelos de calidad
(ISO 9126, ISO 25000, IEEE 1061-1998, etc.), modelos de madurez (CMMI, ISO 15504,
etc.), estándares relacionados con la verificación y validación de software (IEEE 1012,
IEEE 1028, etc.), herramientas para el cálculo de métricas, etc., que llevan utilizándose en
ISSN: 1885-4486        © ATI, 2010                                                                                            16
Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010


la industria hace más de 20 años, no ocurre lo mismo en el campo de la calidad de las
especificaciones de software y más concretamente, en la calidad de los modelos UML.
      Tal y como se refleja en la revisión sistemática [1], que contempla las propuestas
existentes en la literatura desde 1998 hasta finales de 2007 sobre la calidad en el modelado
con UML, este tema es de suma actualidad y relevancia, pero carece todavía de suficiente
madurez.
      Por todo ello, se ha elaborado la presente metodología de evaluación de la calidad en
los modelos UML, enmarcada dentro del proyecto EVVE “Entorno para la Verificación y
Validación de Especificaciones software” (en adelante metodología EVVE).

1.1. Revisión de estándares
Como punto de partida para la elaboración de la metodología EVVE, se ha realizado una
revisión de los principales estándares, normas y metodologías existentes en la actualidad
que, en mayor o menor medida, se encuentran relacionados con la evaluación del software.
A continuación se identifican y se describen brevemente dichos estándares (ver tabla 1).

       Estándar/Metodología                              Descripción
       IEEE 1012-1998. Standard for Software Estándar                que   define    los   procesos      de
       Verification and Validation [2]                   verificación y validación (V&V) del software
                                                         Estándar que define la manera de realizar
       IEEE 1028-2008. Standard for Software
                                                         revisiones sistemáticas para la adquisición,
       Reviews [3]
                                                         suministro, desarrollo y operación de software
                                                         Estándar que define una metodología para
       IEEE Std 1061-1998. Standard for a
                                                         identificar, implementar, analizar y validar
       Software Quality Metrics Methodology [4]
                                                         métricas de calidad del producto y el proceso
       CMMI-DEV (Capability Maturity Model Modelo para la mejora para los procesos de
       Integration for Development) [5]                  desarrollo de productos y servicios
                                                         Modelo para la mejora de procesos en la
       CMMI-ACQ (Capability Maturity Model
                                                         gestión de la cadena de suministro, adquisición
       Integration for Acquisition) [6]
                                                         y contratación externa
                                                         Modelo para la mejora de procesos, centrado
       CMMI-SVC (Capability Maturity Model
                                                         en las actividades que requieren gestionar,
       Integration for Services) [7]
                                                         establecer y entregar servicios
       ISO/IEC    9126.      Software     engineering-
                                                         Norma sobre la calidad del producto software
       Product quality [8]


ISSN: 1885-4486    © ATI, 2010                                                                                17
Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010


       Estándar/Metodología                         Descripción
       ISO/IEC 12207. Systems and software
                                                    Norma que define los procesos del ciclo de
       engineering-Software life cycle processes
                                                    vida del software
       [9]
       ISO/IEC 14598. Information technology-
                                                    Norma para la evaluación del software
       Software product evaluation [10]
       ISO/IEC 15504. Software engineering-
                                                    Norma para la evaluación de procesos software
       Process assessment [11]
                                                    Familia de normas relacionadas con los
       ISO/IEC 25000. Software engineering-
                                                    modelos, mediciones y evaluaciones de la
       Software product Quality Requirements and
                                                    calidad, que supone la evolución de las normas
       Evaluation (SQuaRE) [12-19]
                                                    ISO/IEC 9126 e ISO/IEC 14598
                                                    Familia de normas relacionadas con las
       ISO/IEC 29119. Software Testing [20-22]      pruebas del software, que cubren el ciclo de
                                                    vida completo
       TMAP Next [23]                               Metodología de pruebas del software
       PSM: Practical Software and Systems
                                                    Guía para el proceso de medición del software
       Measurement [24]
                                                    Metodología para la evaluación de la calidad
       EMISQ [25]
                                                    interna del software
                                                    Framework para la selección y personalización
       LifeCycleQM [26]                             de las actividades de aseguramiento de la
                                                    calidad

     Tabla 1. Estándares, normas y metodologías relacionadas con la evaluación de la calidad software.


      A partir de dicha revisión, se ha elaborado la metodología EVVE, analizando las
características clave de cada uno de ellos y seleccionando, adaptando e integrando los
aspectos más relevantes. Además, se ha integrado todo con los resultados de las
investigaciones realizadas durante el proyecto relativos a las técnicas y métricas de
evaluación de la calidad para modelos software en UML. A continuación se exponen
brevemente las principales ideas que se han tomado de cada una de las referencias
utilizadas para la elaboración de la metodología:
      •      IEEE: Se han revisado los principales estándares IEEE [2, 27, 28] relacionados
             con la evaluación y medición de la calidad del software. Estos estándares han
             aportado a la metodología EVVE la visión de cómo realizar las actividades de la

ISSN: 1885-4486    © ATI, 2010                                                                           18
Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010


          verificación y validación del software, así como una base objetiva en el apartado
          de definición de métricas. Sin embargo la metodología EVVE aporta una visión
          más especializada, centrada en la evaluación de la calidad de los modelos UML.
      •   CMMI: Tal y como se puede observar en el último informe publicado por el SEI
          en el año 2009 [29], el número total de evaluaciones realizadas bajo este modelo
          ha aumentado significativamente, lo que nos da una idea de la importancia e
          influencia de este modelo. Por ello, se han revisado las “Áreas de Proceso”
          (Process Areas) que el modelo describe relacionadas con la evaluación y la
          calidad del software, así como los entregables (productos de trabajo) que el
          modelo identifica, con el objetivo de seleccionar y adaptar aquellos que mejor se
          relacionan con los requisitos de la metodología EVVE.
      •   ISO: Dada la importancia de la ISO como organización de estandarización y la
          aceptación de sus normas como guías a seguir, se han estudiado las principales
          normas relacionadas con la calidad del producto, el ciclo de vida de desarrollo y
          los procesos de evaluación y medición de artefactos que se generan en un
          proyecto software. Dentro de estas normas tiene especial importancia, para la
          metodología EVVE, la familia de normas ISO 25000 que engloba los modelos,
          mediciones y procesos para realizar la evaluación de la calidad del producto
          software. El modelo de calidad genérico en el que se apoya la metodología
          EVVE, está basado en las características y subcaracterísticas de calidad detalladas
          en la ISO 25010 [30].
      •   TMAP: Es una de las metodologías de pruebas del software más conocidas en el
          ámbito profesional. La metodología EVVE ha tenido en cuenta como TMAP
          relaciona el conjunto de procesos con las técnicas y herramientas que permiten su
          implementación, adaptando la visión que TMAP aporta para las pruebas del
          software a la evaluación de la calidad de los modelos en la que se centra la
          metodología EVVE.
      •   PSM: Es un proceso de medición que permite dirigir los objetivos técnicos y de
          negocio de una organización, y recoge las mejores prácticas utilizadas por los
          profesionales de la medición dentro de las comunidades del software, la
          adquisición de sistemas y la ingeniería. PSM define un conjunto de actividades

ISSN: 1885-4486   © ATI, 2010                                                                 19
Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010


          que permiten evaluar el propio proceso de medición y en la metodología EVVE se
          han tenido en cuenta a la hora de definir un proceso de soporte al proceso de
          evaluación, el proceso de gestión de la evaluación, cuyo objetivo es detallar las
          actividades a realizar durante el proyecto que son necesarias para controlar toda la
          documentación generada y la información sobre el propio proceso de evaluación,
          de manera que se pueda medir la calidad del propio proceso y mejorarlo en
          sucesivas aplicaciones de la metodología.
      •   EMISQ: Es una metodología para la evaluación sistemática de la calidad interna
          del software, basada en la norma ISO 14598. Para desarrollar la metodología
          EVVE se ha tenido en cuenta EMISQ como base para definir una metodología
          basada en un estándar ISO y a partir de ahí crear un Framework apoyado por una
          herramienta que permita llevar a cabo la evaluación. A diferencia de EMISQ, en
          la metodología EVVE la norma ISO de base será la familia ISO 25000.
      •   LifeCycleQM: Es un proyecto del Instituto Fraunhofer (Alemania) que ha
          desarrollado una guía para la selección y personalización de las actividades de
          aseguramiento de la calidad que mejor se adaptan a las necesidades de la
          organización. La principal desventaja detectada es que está orientado
          principalmente a empresas desarrolladoras de software. Por ello, la metodología
          EVVE se ha pensado tanto para organizaciones y fábricas de software que
          desarrollan sus propios modelos, como para empresas que adquieren productos
          software y desean asegurar la calidad de sus modelos.



2. Características y descripción de la metodología
Las principales características de la metodología EVVE, se pueden resumir en los
siguientes principios básicos:
      •   Está formada por un conjunto estructurado de procesos.
      •   Está orientada a la relación con el cliente y a la externalización de la evaluación
          de calidad.
      •   Está pensada para ser una metodología fácilmente adaptable.
      •   Está soportada por un conjunto de técnicas y herramientas.

ISSN: 1885-4486   © ATI, 2010                                                                 20
Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010




      La metodología EVVE proporciona un marco de trabajo donde se identifica
claramente el qué, cuándo, y el quién, de cada una de las fases y actividades de los
procesos, así como la secuencia de pasos que se debe seguir a la hora de llevar a cabo la
evaluación.
      Además, está orientada a la relación con el cliente de manera que, en distintos puntos
del proceso de evaluación, el cliente se encuentra involucrado en la toma de decisiones. Y
por otro lado, la metodología contempla el modo de trabajo externalizado, de manera que
para realizar la evaluación no sea necesario encontrarse en las instalaciones del cliente, sino
que se pueda planificar, diseñar y realizar la evaluación externamente, poniéndose en
contacto con el cliente en los momentos puntuales en los que sea necesario.
      De igual manera, la metodología de evaluación está pensada para poder ser adaptada
a las distintas necesidades del cliente, existiendo unos catálogos de técnicas de evaluación
que determinan el nivel y profundidad con el que se desea realizar la evaluación, las
métricas de calidad que se obtendrán y las herramientas de evaluación que se utilizarán.
      Por último, la metodología EVVE se encuentra soportada por un conjunto de técnicas
de evaluación y herramientas de soporte, que agilizan la evolución de las fases de la
metodología y permiten diseñar y realizar la evaluación de manera semiautomática.
Actualmente, se está utilizando un conjunto de herramientas independientes para realizar
dicha evaluación, entre las que podemos destacar (PMD, Checkstyle, NDepend, FXCop,
JavaNCSS, etc). Si bien, se está trabajando para integrar todas las herramientas en un
entorno común que permita la evaluación de forma automática.




2.1. Objetivo de la metodología
El principal objetivo de la metodología EVVE es definir un marco de trabajo que permita
determinar los procesos necesarios para llevar a cabo la evaluación de los modelos UML



ISSN: 1885-4486   © ATI, 2010                                                                 21
Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010


del software, así como facilitar la comunicación entre el cliente (patrocinador de la
evaluación) y el equipo de evaluación.

2.2. Ámbito de aplicación
         La metodología de evaluación EVVE se puede aplicar a cualquier modelo de análisis
y diseño, siempre que esté especificado bajo la notación UML. Si bien en un principio está
pensada para ser utilizada con los siguientes tipos de diagramas:
         •   Diagramas de casos de uso.
         •   Diagramas de clases.
         •   Diagramas de transición de estados.

         Por otro lado, la metodología, está pensada para ser utilizada independientemente del
modelo de ciclo de vida de desarrollo seguido por la empresa cliente. De manera que no
existe un proceso, fase, actividad o tarea del ciclo de vida a partir del cual se pueda
empezar a aplicar la metodología de evaluación. Por ejemplo se podría aplicar la
metodología para evaluar la calidad de los modelos UML finales, que se generan como
entregables de un proyecto, o aplicar la metodología para evaluar la calidad después de
cada iteración en el desarrollo de un software que siga un ciclo de vida iterativa e
incremental como es el Proceso Unificado.

3. Catálogo de roles
A continuación se detallan los roles y agrupaciones de estos que se identifican a lo largo del
proceso de evaluación, así como las principales tareas y responsabilidades de cada uno de
ellos.
         En la siguiente figura (ver figura 1), se pueden observar los roles involucrados en el
proceso de evaluación según la metodología EVVE, así como la relación que existe entre
ellos. Tal y como se aprecia en la figura, la comunicación entre las empresas (cliente y
evaluadora) es realizada a través del patrocinador y del evaluador jefe. Éstos a su vez serán
los que se comuniquen directamente con sus equipos internos.




ISSN: 1885-4486     © ATI, 2010                                                                  22
Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010




                       Figura 1. Roles y relaciones en el proceso de evaluación.


      •   Empresa cliente. Representa a la organización que ha expresado su intención y/o
          necesidad de contratar los servicios de evaluación de la calidad de los modelos
          UML (bien desarrollados por ella o por otra empresa).
      •   Patrocinador de la evaluación. El patrocinador de la evaluación es el
          representante de la empresa cliente que se pone en contacto con la empresa
          evaluadora para expresar la necesidad de evaluación de la calidad de sus modelos
          UML (normalmente suele ser el jefe de proyecto o el responsable del
          departamento de calidad). En algunos casos, el patrocinador de la evaluación
          podrá disponer de un equipo de trabajo interno formado por personal propio de la
          empresa (ver figura 1, rectángulo punteado).
      •   Equipo de la empresa cliente. Sirve de apoyo al patrocinador de la evaluación.
          Su principal responsabilidad consiste en analizar los resultados reportados por la
          empresa evaluadora para detectar defectos o inconsistencias. La existencia de este
          equipo no es necesaria siempre, depende de la envergadura del proyecto a
          evaluar.
      •   Empresa evaluadora. Representa la organización que ha sido contratada para
          llevar a cabo el proceso de evaluación. La empresa evaluadora necesitará disponer
          de un evaluador jefe y uno o varios evaluadores que formaran el equipo de trabajo
          que llevará a cabo el proceso de evaluación.


ISSN: 1885-4486   © ATI, 2010                                                                 23
Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010


      •   Evaluador jefe. Es el representante de la empresa evaluadora y líder del equipo
          de evaluación, cuyo objetivo es asegurar el correcto desarrollo del proceso de
          evaluación. Este rol debe ser ocupado por un profesional con conocimientos en el
          análisis y diseño con UML y con experiencia en la práctica de las principales
          normas y estándares sobre evaluación del producto y procesos software.
      •   Evaluador. Está encargado de realizar las actividades y tareas propias del
          proceso de evaluación. Este rol deberá ser ocupado por una persona con
          conocimientos de modelado UML y de la metodología de evaluación. Las
          principales responsabilidades son, realizar las actividades de evaluación asignadas
          por el evaluador jefe y recoger información del propio proceso de evaluación.
      •   Equipo de evaluación. Representa el equipo de la empresa evaluadora, formado
          por el evaluador jefe y un conjunto de uno o varios evaluadores de calidad (según
          los requisitos del proyecto). Su principal objetivo es cumplir con los requisitos de
          evaluación acordados con el patrocinador dentro de los tiempos planificados.

4. Catálogo de elementos
A continuación se detallan todos los elementos (documentos, informes, catálogos,
artefactos, etc.) que se identifican a lo largo de las actividades de evaluación. Estos
elementos podrán ser de entrada y/o salida para las actividades del proceso de evaluación,
siendo además algunos de ellos entregables finales del proyecto de evaluación.
      •   Información de contacto. Documento donde la empresa evaluadora recoge los
          datos de contacto de la empresa cliente. Como mínimo debe presentar la siguiente
          información:
             1. Nombre de la empresa.
             2. Dirección.
             3. Teléfono/Fax.
             4. Página Web.
             5. Persona de contacto (posible patrocinador de la evaluación)
             6. Email de contacto.
      •   Contrato de evaluación. Este documento representa el primer entregable
          (documento de salida, se entrega a la empresa cliente) del proyecto de evaluación

ISSN: 1885-4486   © ATI, 2010                                                                 24
Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010


          y será generado como resultado de la fase 1 (planificación). En él se recogen las
          condiciones bajo las que se realizará el proyecto de evaluación, es de carácter
          público para la empresa evaluadora y para la empresa cliente. Está dividido en
          dos partes, que bien podrán estar incluidas en el mismo documento, o en dos
          documentos separados:
             1. Propuesta técnica de evaluación: contiene aspectos técnicos del contrato
                  de evaluación tales como el objetivo de la evaluación, el plan de trabajo, el
                  equipo de trabajo, el calendario y el esfuerzo necesario.
             2. Propuesta económica de evaluación: contiene aspectos económicos del
                  contrato de evaluación tales como el precio, el modo de facturación, las
                  cláusulas, las condiciones generales, etc.
      •   Modelo de calidad genérico. Es un documento propiedad de la empresa
          evaluadora y contiene el conjunto de características, subcaracterísticas y atributos
          de calidad que se pueden evaluar para cada artefacto software. Como se ha
          indicado anteriormente, estas características y subcaracterísticas de calidad se
          encuentran detalladas en la ISO 25010 [30].
      •   Modelo de calidad específico. Es un documento que solo contiene el conjunto de
          características, subcaracterísticas y atributos de calidad que la empresa cliente ha
          seleccionado para el proyecto de evaluación. Este documento es de carácter
          público para la empresa evaluadora y la empresa cliente, está integrado dentro de
          la especificación de la evaluación que representa el tercer entregable del proceso
          de evaluación.
      •   Catálogo de herramientas de evaluación. Es un documento propiedad de la
          empresa evaluadora y que permite identificar las herramientas necesarias y su
          modo de utilización, en función de las técnicas de evaluación que se vayan a
          utilizar para evaluar los modelos UML.
      •   Plan de evaluación. Este documento público para ambas partes, y representa el
          segundo entregable del proyecto de evaluación. Una primera versión de este
          documento se desarrolla previamente al inicio del proyecto de evaluación,
          incluida en la propuesta técnica del contrato de evaluación. Esta primera versión
          es refinada por ambas partes tras la aceptación del contrato, generándose así la

ISSN: 1885-4486   © ATI, 2010                                                                 25
Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010


          versión definitiva del plan de evaluación, que guiará todos los procesos y
          actividades realizados durante el proyecto. Este documento es generado como
          resultado de la fase 1 (planificación) del proceso de evaluación, sin embargo
          estará sujeto a cambios durante todo el proyecto de evaluación y en él se deberán
          registrar los retrasos y re-planificaciones.
      •   Conjunto de artefactos a evaluar. Entendiendo por artefactos los modelos UML
          que la empresa cliente quiere validar, así como toda la documentación que sea
          necesaria para poder comprender correctamente la naturaleza y contenido de
          dichos modelos. Entre otras, es responsabilidad del patrocinador que los
          artefactos a evaluar estén disponibles en las fechas planificadas. Y
          responsabilidad del evaluador jefe asegurar que los artefactos entregados para ser
          evaluados cumplen con los requisitos impuestos por las técnicas y herramientas
          que se van a utilizar en el proceso de evaluación.
      •   Especificación de la evaluación. Este artefacto representa el tercer entregable del
          proyecto de evaluación y como tal es público para ambas empresas. La
          especificación de la evaluación será generada como resultado de la fase 2
          (especificación) del proceso de evaluación y estará formado por uno o varios
          documentos donde se recoja, una vez analizado el conjunto de artefactos a
          analizar, el modelo de calidad específico que se va a analizar, qué técnicas se van
          a utilizar, qué métricas se esperan obtener, qué herramientas se van a manejar, etc.
          En definitiva un conjunto de características a evaluar por cada uno de los modelos
          UML, las técnicas y herramientas que se utilizarán y el listado de métricas e
          indicadores que se esperan obtener. Esta especificación posteriormente será
          incluida como apartado dentro del informe final de evaluación, conforme lo
          establece la norma ISO/IEC 14598 [10].
      •   Informe de evaluación. Este artefacto representa el cuarto entregable del
          proyecto de evaluación y como tal es público para ambas empresas. El informe de
          evaluación será generado como resultado de la fase 4 (conclusión) y estará
          formado por un documento donde se recogen, todos los resultados obtenidos
          mediante las técnicas de evaluación, las conclusiones obtenidas del análisis de
          dichos resultados y un conjunto de recomendaciones y acciones futuras para la

ISSN: 1885-4486   © ATI, 2010                                                                 26
Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010


          mejora de los modelos UML, además de la especificación de la evaluación. El
          informe va acompañado de una presentación de los resultados que va dirigida
          tanto al patrocinador de la evaluación como a los directivos de la empresa cliente
          y al equipo interno si lo hubiese. Una característica importante del informe es la
          retroalimentación que se produce posteriormente a la presentación de los
          resultados y en cuyo caso la empresa cliente reporta a la empresa evaluadora
          mediante el documento petición de modificación.
      •   Petición de modificación. Este artefacto representa el quinto entregable del
          proceso de evaluación y como tal es público para ambas empresas. Este
          documento podrá ser generado como resultado de la fase 4 (conclusión) y
          representa el documento mediante el cual la empresa cliente, manifiesta sus
          opiniones y posibles cambios respecto a los resultados presentados en el informe
          de evaluación. La empresa evaluadora recibirá el documento que evaluará,
          revisará y actualizará el informe de evaluación de acuerdo a los cambios
          sugeridos. El informe modificado será de nuevo entregado a la empresa cliente
          quien podrá solicitar una nueva reunión o reportar una nueva petición de
          modificación, actuándose de la misma manera que la primera vez. El resultado de
          esta petición no es más que un refinamiento del informe de evaluación así como
          la mejora del proceso de evaluación.
      •   Información interna de evaluación. Además de los propios entregables y
          resultados de la evaluación, durante la evaluación se genera un conjunto de
          documentación         relacionada   con   el   propio   proceso.   Esta   información
          principalmente son informes del proceso de gestión y monitorización, informes de
          métricas de la propia evaluación (progreso, retrasos, costes/beneficios, etc.),
          informes de cambios y ajustes realizados durante la evaluación, informes de
          defectos y adaptaciones realizadas en la infraestructura de evaluación, etc.
          Posteriormente esta información será utilizada por los procesos Gestión de la
          Evaluación y Gestión de la Infraestructura de la presente metodología, para
          realizar una mejora continua del proceso de evaluación.

5. Procesos de la metodología de evaluación


ISSN: 1885-4486   © ATI, 2010                                                                 27
Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010


La metodología de evaluación EVVE se encuentra compuesta por tres procesos principales
(ver figura 2).



                              METODOLOGÍA EVVE
                          PROCESO DE GESTIÓN DE LA EVALUACIÓN

                               PROCESO DE EVALUACIÓN


             FASE 1:                  FASE 2:                FASE 3:            FASE 4:
          PLANIFICACIÓN            ESPECIFICACIÓN           EJECUCIÓN         CONCLUSIÓN




                         PROCESO DE GESTIÓN DE LA INFRAESTRUCTURA



                    Figura 2. Procesos y fases de la metodología de evaluación EVVE.



5.1. Proceso de evaluación
Este proceso representa el esqueleto de la metodología de evaluación ya que contiene las
fases de planificación, especificación, ejecución y conclusión del proyecto de evaluación.
La ejecución de este proceso está directamente relacionada con los dos primeros objetivos
de la metodología EVVE.
      El proceso de evaluación6 se descompone en cuatro fases:

5.1.1. Fase 1: Planificación
El objetivo de esta fase es la elaboración del contrato y la obtención de un plan de
evaluación de los modelos UML.
      Esta fase está formada por cuatro actividades:
      •    Contratación.
      •    Arranque del proyecto.

6
 Tanto las fases del proceso de evaluación como cada una de las actividades que componen cada fase pueden
adaptarse, en cuanto a la complejidad del contenido y al orden de las mismas, pudiéndose realizar
evaluaciones más ligeras o completas según las necesidades y características de la empresa cliente.

ISSN: 1885-4486    © ATI, 2010                                                                         28
Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010


      •   Planificación detallada.
      •   Consolidación del plan.

5.1.2. Fase 2: Especificación
El objetivo de esta fase es definir el alcance de la evaluación, determinando el conjunto de
características que se van a evaluar para cada uno de los modelos UML (artefactos), las
técnicas y herramientas que se van a utilizar para realizar la evaluación, los niveles de
evaluación (bajo, medio o alto) que se van a aplicar a cada artefacto y el listado de
indicadores y métricas que se esperan obtener.
      Esta fase está formada por cuatro actividades:
      •   Obtención y análisis de artefactos a evaluar.
      •   Selección del modelo de calidad y las técnicas.
      •   Planificación interna de la evaluación.
      •   Verificación de la especificación.

5.1.3. Fase 3: Ejecución
El objetivo de la fase de ejecución es la aplicación de las técnicas de evaluación y el
lanzamiento de las herramientas (utilizando como entrada los artefactos a evaluar) para
obtener los resultados iniciales (métricas de más bajo nivel) sobre la calidad de los modelos
UML.
      Una vez obtenidos los resultados iniciales, es necesario asegurar su veracidad
(pueden existir defectos en los resultados, como los conocidos falsos positivos) y realizar su
almacenamiento de una manera unificada que permita su posterior explotación.
      Esta fase está formada por tres actividades:
      •   Aplicación de técnicas de evaluación.
      •   Análisis de la ejecución.
      •   Unificación de resultados.

5.1.4. Fase 4: Conclusión
El objetivo de la fase de conclusión es la elaboración del informe de evaluación y la
presentación de los resultados tanto al patrocinador como al resto de personas involucradas
dentro de la empresa cliente.
      Esta fase está formada por tres actividades:

ISSN: 1885-4486   © ATI, 2010                                                                 29
Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010


       •   Elaboración del informe de evaluación.
       •   Presentación de resultados.
       •   Corrección del informe y finalización de la evaluación.

5.2. Proceso de gestión de la evaluación
Es el proceso de soporte al proceso de evaluación, que permite controlar, evaluar y mejorar
el propio proceso de evaluación. La ejecución de este proceso está directamente relacionada
con el segundo y tercer objetivo de la metodología EVVE.
       Este proceso está formado únicamente por una fase, denominada de igual manera que
el proceso. Esta fase a su vez se descompone en tres actividades7 bien diferenciadas:
       •   Monitorización.
       •   Documentación.
       •   Ajuste y Evolución.

5.3. Proceso de gestión de la infraestructura
Es el proceso de soporte al proceso de evaluación, que permite gestionar todo lo
relacionado con la infraestructura necesaria para llevar a cabo el proceso de evaluación
(técnicas y herramientas de evaluación). La ejecución de este proceso está directamente
relacionada con el tercer y cuarto objetivo de la metodología EVVE.
       Este proceso está formado únicamente por una fase, denominada de igual manera que
el proceso. Esta fase a su vez se descompone en tres actividades2 bien diferenciadas:
       •   Especificación de la infraestructura.
       •   Mantenimiento de la infraestructura.
       •   Adaptación y transferencia de la infraestructura.

6. Implementación de la metodología con SPEM y EPFC
SPEM 2.0 (Software & System Process Engineering Metamodel) es un metamodelo de
OMG considerado como el estándar de facto en la industria para la representación de
modelos de procesos de ingeniería del software e ingeniería de sistemas.



7
  Cada una de las actividades que componen los procesos de gestión de la evaluación y gestión de la
infraestructura, pueden adaptarse (en cuanto a la complejidad del contenido y al orden de las mismas), en
función de las características de la empresa cliente y del proyecto de evaluación.

ISSN: 1885-4486     © ATI, 2010                                                                             30
Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010


      Por otro lado, dentro de la plataforma abierta Eclipse, se ha desarrollado un editor de
SPEM 2 llamado EPFC (Eclipse Process Framework Composer), que permite definir,
gestionar y reutilizar un repositorio de fragmentos de métodos y procesos. De modo que
con EPFC se pueden crear implementaciones en formato SPEM 2 de cualquier método,
proceso o metodología de ingeniería del software.
      La idea central de SPEM 2 para representar procesos está basada en tres elementos
básicos: rol, producto de trabajo y tarea[31].
      •   Las tareas representan el esfuerzo a hacer.
      •   Los roles representan quién lo hace.
      •   Los productos de trabajo representan las entradas que se utilizan en las tareas y
          las salidas que se producen.

6.1. Ventajas de SPEM y EPFC
Las principales razones por las que se han seleccionado SPEM y EPFC para la
implementación práctica de la metodología EVVE, frente a otras alternativas son las que se
describen a continuación [31, 32]:
      •   El formato en el que se maneja la información en las metodologías suelen ser
          documentos de texto natural.
      •   La creación, revisión, reutilización, adaptación y generación de documentación
          para las metodologías suele ser un proceso puramente manual.
      •   EPFC permite crear metodologías y procesos con un rico contenido (texto con
          formato, imágenes, elementos multimedia, etc.).
      •   EPFC proporciona una estructura de gestión común para todo el contenido
          metodológico de una organización.
      •   EPFC proporciona un entendimiento claro y visual de cómo se relacionan las
          diferentes tareas de una metodología.
      •   EPFC permite seleccionar, combinar, adaptar y ensamblar de forma rápida
          procesos a partir del contenido de método creado.
      •   EPFC permite publicar la documentación de los procesos y metodologías
          modelados en formato para la web.




ISSN: 1885-4486   © ATI, 2010                                                                 31
Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010


      •   EPFC reduce el coste de reutilización de contenidos de método en una
          organización.

6.2. Ejemplo de diagrama de actividad generado por EPFC
A continuación (ver figura 3), se presenta el flujo de trabajo generado por EPFC para las
tareas que se realizan en la actividad Obtención y Análisis de Artefactos a Evaluar,
actividad que pertenece a la fase 2 (Especificación) del proceso de evaluación especificado
anteriormente.
      Tal y como se puede ver en la figura 3, esta actividad está compuesta por 3 tareas las
cuales se deben realizar en orden secuencial. Además para cada una de las tareas se muestra
en el margen superior izquierdo la abreviatura del rol implicado en su realización.
      EPFC permite la generación automática de este tipo de diagramas a partir de la
información de la metodología introducida en el sistema. Además, desde este tipo de
diagramas, EPFC facilita la navegación directa a cada uno de los componentes de la
metodología (roles, tareas, productos de trabajo) identificando la trazabilidad bidireccional
entre todos estos elementos.




Figura 3. Diagrama de actividad generado por EPFC para la actividad “Obtención y Análisis de Artefactos a
                    Evaluar” de la fase 2 (Especificación), del proceso de evaluación.



7. Conclusiones y trabajos futuros
ISSN: 1885-4486   © ATI, 2010                                                                          32
Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010


La innovación que la metodología de evaluación EVVE proporciona, unida a las
características de su implementación con SPEM y EPFC hacen de ella una metodología útil
en el ámbito de la evaluación de calidad en los modelos UML.
      En estudios futuros se pretende ampliar los márgenes de evaluación de calidad
alcanzados con la metodología EVVE, para permitir evaluar los artefactos software
generados desde las primeras fases del ciclo de vida hasta la entrega e implantación del
producto (análisis, diseño, codificación y pruebas). Este nuevo entorno está pensado que se
base en la nueva familia de normas ISO 25000, conocida como SQuaRE y que reemplazará
a las actuales ISO 9126 e ISO 14598.
      De esta manera, el nuevo entorno permitiría una evaluación continua del producto
software, evaluando desde el análisis y diseño (utilizando EVVE), hasta el código, los casos
de prueba y la documentación final de soporte, y permitiendo así observar desviaciones a lo
largo de todo el proceso de desarrollo sin tener que esperar a las pruebas finales.

Agradecimientos
Esta investigación forma parte del proyecto EVVE (HITO-2008-49) financiado por la
“Consejería de Ciencia y Tecnología de la Junta de Comunidades de Castilla-La Mancha”.



Referencias

[1] Genero, M., Fernandez A. M., Nelson H.J., Poels G. y Piattini, M. "A Systematic
Literature Review on UML Conceptual Modeling Quality." Working Papers of Faculty of
Economics and Business Administration, Ghent University, 2008.
[2] IEEE Computer Society, IEEE Std. 1012-1998 Standard for Software Verification and
Validation, ISO, 1998.
[3] IEEE Computer Society, IEEE Std. 1028-2008 Standard for Software Reviews and
Audits, IEEE, 2008.
[4] IEEE Computer Society, IEEE Std 1061-1998 IEEE Standard for a Software Quality
Metrics Methodology, IEEE, 1998.
[5] SEI, CMMI® for Development, Version 1.2 (CMMI-DEV, V1.2), Improving processes
for better products, SEI, 2006.
[6] SEI, CMMI® for Acquisition, Version 1.2 (CMMI-ACQ, V1.2), Improving processes for
acquiring better products and services, SEI, 2007.
[7] SEI, CMMI® for Services, Version 1.2 (CMMI-SVC, V1.2 ), Improving processes for
better services, SEI, 2009.


ISSN: 1885-4486   © ATI, 2010                                                                 33
Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010


[8] ISO, ISO/IEC DTR 9126 Software Product Evaluation - Quality Characteristics and
Guidelines for their Use, ISO, 2001.
[9] ISO, ISO/IEC 12207-2007. International Standard. Systems and software engineering
— Software life cycle processes, ISO, 2007.
[10] ISO, ISO/IEC 14598 1999-2001. Information Technology - Software Product
Evaluation - Parts 1-6, ISO, 1999.
[11] ISO, ISO/IEC 15504-5, Information technology - Process assessment - Part 5: An
exemplar Process Assessment Model, ISO, 2006.
[12] ISO, ISO/IEC 25000 Software and system engineering – Software product Quality
Requirements and Evaluation (SQuaRE) –Guide to SQuaRE, ISO, 2005.
[13] ISO, ISO/IEC 25001 Software and system engineering – Software product Quality
Requirements and Evaluation (SQuaRE) –Evaluation planning and management, ISO,
2005.
[14] ISO, ISO CD 25010.4, Software engineering-Software product Quality Requirements
and Evaluation (SQuaRE) Quality model, ISO, 2009.
[15] ISO, ISO/IEC 25020 Software and system engineering – Software product Quality
Requirements and Evaluation (SQuaRE) – Measurement reference model and guide, ISO,
2007.
[16] ISO, ISO/IEC 25030 Software and system engineering – Software product Quality
Requirements and Evaluation (SQuaRE) –Quality requirements, ISO, 2007.
[17] ISO, ISO CD 25040.3: Software engineering - Software product Quality Requirements
and Evaluation (SQuaRE) – Evaluation reference model and guide, ISO, 2009.
[18] ISO, ISO/IEC 25051 Software engineering-Software product Quality Requirements
and Evaluation (SQuaRE)-Requirements for quality of Commercial Off-The-Shelf (COTS)
software product and instructions for testing, ISO, 2006.
[19] ISO, ISO/IEC 25062 Software engineering — Software product Quality Requirements
and Evaluation (SQuaRE) — Common Industry Format (CIF) for usability test reports,
ISO, 2006.
[20] ISO, ISO/IEC 29119 Software Testing. Part 1: Concepts and Vocabulary (Working
Draft), ISO, 2009.
[21] ISO, ISO/IEC 29119 Software Testing. Part 2: Test Process (Working Draft), ISO,
2009.
[22] ISO, ISO/IEC 29119 Software Testing. Part 3: Test Documentation (Working Draft),
ISO, 2009.
[23] Koomen, T., van der Aalst, L., Broekman, B. y Vroon, M., TMAP Next for result-
driven testing, UTN Publishers, 2006.
[24] McGarry, J., Card D., Jones C., Layman, B., Clark, E., Dean C. y Hall, F., Practical
Software Measurement. Objective Information for Decision Makers, Addison-Wesley,
2002.
[25] Plösch, R., The EMISQ method and It´s Tool Support-Expert Based Evaluation on
Internal Software Quality. Journal of Innovations in Systems and Software Engineering,
Springer London, vol. 4, nº 1, pp. 3-15, 2008.
[26] Denger, C. y Elberzhager, F., Basic Concepts to Define a Customized Quality
Assurance Strategy, Report of WP 3.1 in the LifeCycleQM project, Report Number
IESE118.06/E, 2007.
[27] IEEE Computer Society, IEEE Std. 1028-1997 Standard for Software Reviews, IEEE,
1997.
ISSN: 1885-4486   © ATI, 2010                                                                 34
Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010


[28] IEEE Computer Society, IEEE Std 1061-1998 IEEE Standard for a Software Quality
Metrics Methodology, ISO, 1998.
[29] SEI, Process Maturity Profile. CMMI® For Development SCAMPI Class A Appraisal
Results 2008 End-Year Update, SEI, 2009.
[30] ISO, ISO/IEC 25010 Software and system engineering – Software product Quality
Requirements and Evaluation (SQuaRE) – Quality model and guide, ISO, 2005.
[31] OMG, Software Process Engineering Metamodel Specification version 2.0, OMG,
2007.
[32] Eclipse Fundation, Eclipse – An open development Platform, Eclipse Foundation,
2007.




ISSN: 1885-4486   © ATI, 2010                                                                 35

Más contenido relacionado

PPT
Estandares ieee
PDF
Estandares y normas iso
PDF
AI08 Auditoria producto software
PDF
Modelos De Calidad para proyectos de Software Y Software Libre
PDF
SEGUNDA PARTE - Gestion de la calidad del software
PPT
2. presentacion acis calidad software basado en normas calidad
PDF
A critical and comparative study about ISO 9001, CMMI and ISO 15504
Estandares ieee
Estandares y normas iso
AI08 Auditoria producto software
Modelos De Calidad para proyectos de Software Y Software Libre
SEGUNDA PARTE - Gestion de la calidad del software
2. presentacion acis calidad software basado en normas calidad
A critical and comparative study about ISO 9001, CMMI and ISO 15504

La actualidad más candente (20)

PDF
Iso 9126
PPTX
Estandares y modelos de calidad del software
PPTX
Calidad de software
PPTX
Estandares de calidad aplicadas al software
PPT
Estandares ieee
PPT
Ieee12207
DOCX
Resumen de estandares (sistemas de calidad en ti)
PDF
Normas ISO 9126 - 25000
PPTX
Normas y estándares de calidad para el desarrollo
DOCX
Normas y Estándares de Calidad en TI
PDF
Norma iso 9126
PDF
Estandares de ti
PPTX
Iso-- 25000
DOCX
MCCALL, ISO 9126, ISO 25000
DOCX
Ensayo
DOCX
Normas ISO e IEEE
DOCX
Norma iso 9126
DOCX
Estandares de calidad del software
PPTX
Iso 25000
DOCX
Sara mendoza investigación_actividad1.1.doc
Iso 9126
Estandares y modelos de calidad del software
Calidad de software
Estandares de calidad aplicadas al software
Estandares ieee
Ieee12207
Resumen de estandares (sistemas de calidad en ti)
Normas ISO 9126 - 25000
Normas y estándares de calidad para el desarrollo
Normas y Estándares de Calidad en TI
Norma iso 9126
Estandares de ti
Iso-- 25000
MCCALL, ISO 9126, ISO 25000
Ensayo
Normas ISO e IEEE
Norma iso 9126
Estandares de calidad del software
Iso 25000
Sara mendoza investigación_actividad1.1.doc
Publicidad

Destacado (15)

PDF
Cuestionario
PDF
UML. Un análisis comparativo para la diagramación de software
PPTX
PDF
INTRODUCCIÓN A LA USABILIDAD
PDF
CONCEPTOS DE DISEÑO DE INTERACCIÓN
PDF
Claves para una experiencia de compra móvil perfecta
PDF
Plantilla para realizar el manual de sistema o del analista
PDF
Rapid User Research - a talk from Agile 2013 by Aviva Rosenstein
PDF
"Falla rápido, falla barato, falla investigando" UX Veronica Traynor
DOCX
Planificación preliminar del proyecto
PDF
La organización como un teatro: la tecnología y sistemas de información como ...
PDF
Programa por competencias de Introducción a la Computación para biología
PDF
Sistemas transparente para gobierno electrónico eficientes
PDF
Impacto de las tecnologías de telecomunicaciones en los patrones de comunicac...
PPTX
IxDA Montevideo. User Research.
Cuestionario
UML. Un análisis comparativo para la diagramación de software
INTRODUCCIÓN A LA USABILIDAD
CONCEPTOS DE DISEÑO DE INTERACCIÓN
Claves para una experiencia de compra móvil perfecta
Plantilla para realizar el manual de sistema o del analista
Rapid User Research - a talk from Agile 2013 by Aviva Rosenstein
"Falla rápido, falla barato, falla investigando" UX Veronica Traynor
Planificación preliminar del proyecto
La organización como un teatro: la tecnología y sistemas de información como ...
Programa por competencias de Introducción a la Computación para biología
Sistemas transparente para gobierno electrónico eficientes
Impacto de las tecnologías de telecomunicaciones en los patrones de comunicac...
IxDA Montevideo. User Research.
Publicidad

Similar a Metodologia de evaluacion uml (20)

PPT
PROCESOS DE INGENIERIA DEL SW
PPT
Guia de calidad para desarrollo de software
DOCX
Trabajo final sergio_santoyo
DOCX
Plantilla trabajo final_Ana_Jesus
PPT
CALIDAD DE SOFTWARE-SOLO SEPTIMO SEMESTRE
PPTX
Normas ISO en los procesos del Software
DOCX
Plantilla trabajo final hecma
PDF
Trabajoo final-sistemas de calidad ti
PPTX
Normas y estandares de calidad
DOCX
Plantilla trabajo final
PPTX
Metrica calidad de_software
PPT
PPT
Calidad
DOCX
Plantilla trabajo final
PPTX
Aseguramiento de la Calidad del Software II
PPTX
Estandares y modelos del software
PPTX
Estandares y modelos del software
PDF
PDF
Metricas
DOCX
Taba norma grama calidad software
PROCESOS DE INGENIERIA DEL SW
Guia de calidad para desarrollo de software
Trabajo final sergio_santoyo
Plantilla trabajo final_Ana_Jesus
CALIDAD DE SOFTWARE-SOLO SEPTIMO SEMESTRE
Normas ISO en los procesos del Software
Plantilla trabajo final hecma
Trabajoo final-sistemas de calidad ti
Normas y estandares de calidad
Plantilla trabajo final
Metrica calidad de_software
Calidad
Plantilla trabajo final
Aseguramiento de la Calidad del Software II
Estandares y modelos del software
Estandares y modelos del software
Metricas
Taba norma grama calidad software

Más de Ana Karen Prieto Santos (20)

PPTX
DOCX
Projectfailure projectsucess
DOCX
Resourceleveling resourcesmoothing
DOCX
Projectfailure projectsucess
DOCX
Resourceleveling resourcesmoothing
DOCX
Tecnicas control proyecto
DOCX
Templates parte2 u3
DOCX
Templates parte1 u3
PPTX
Administración exitosa
DOCX
Centro de investigacion
DOCX
Centro de investigacion
PPTX
Programación de referencia del proyecto
PPTX
PPTX
PPTX
PPTX
Projectfailure projectsucess
Resourceleveling resourcesmoothing
Projectfailure projectsucess
Resourceleveling resourcesmoothing
Tecnicas control proyecto
Templates parte2 u3
Templates parte1 u3
Administración exitosa
Centro de investigacion
Centro de investigacion
Programación de referencia del proyecto

Último (20)

PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
PDF
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
PPTX
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PPTX
Historia Inteligencia Artificial Ana Romero.pptx
PDF
Maste clas de estructura metálica y arquitectura
PDF
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
PPT
El-Gobierno-Electrónico-En-El-Estado-Bolivia
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PPTX
Curso de generación de energía mediante sistemas solares
PDF
CyberOps Associate - Cisco Networking Academy
PDF
Diapositiva proyecto de vida, materia catedra
PPT
introduccion a las_web en el 2025_mejoras.ppt
PPTX
Presentacion de Alba Curso Auditores Internos ISO 19011
PPTX
Presentación PASANTIAS AuditorioOO..pptx
PPTX
la-historia-de-la-medicina Edna Silva.pptx
PPTX
modulo seguimiento 1 para iniciantes del
PPTX
Propuesta BKP servidores con Acronis1.pptx
PPTX
Sesion 1 de microsoft power point - Clase 1
PDF
TRABAJO DE TECNOLOGIA.pdf...........................
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
programa-de-estudios-2011-guc3ada-para-el-maestro-secundarias-tecnicas-tecnol...
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Historia Inteligencia Artificial Ana Romero.pptx
Maste clas de estructura metálica y arquitectura
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
El-Gobierno-Electrónico-En-El-Estado-Bolivia
Power Point Nicolás Carrasco (disertación Roblox).pptx
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
Curso de generación de energía mediante sistemas solares
CyberOps Associate - Cisco Networking Academy
Diapositiva proyecto de vida, materia catedra
introduccion a las_web en el 2025_mejoras.ppt
Presentacion de Alba Curso Auditores Internos ISO 19011
Presentación PASANTIAS AuditorioOO..pptx
la-historia-de-la-medicina Edna Silva.pptx
modulo seguimiento 1 para iniciantes del
Propuesta BKP servidores con Acronis1.pptx
Sesion 1 de microsoft power point - Clase 1
TRABAJO DE TECNOLOGIA.pdf...........................

Metodologia de evaluacion uml

  • 1. Redalyc Sistema de Información Científica Red de Revistas Científicas de América Latina, el Caribe, España y Portugal Rodríguez, Moisés; Verdugo, Javier; Coloma, Ramón; Genero, Marcela; Piattini, Mario Metodología para la evaluación de la calidad en los modelos UML REICIS Revista Española de Innovación, Calidad e Ingeniería del Software, Vol. 6, Núm. 1, abril-sin mes, 2010, pp. 16-35 Asociación de Técnicos de Informática España Disponible en: http://redalyc.uaemex.mx/src/inicio/ArtPdfRed.jsp?iCve=92212873004 REICIS Revista Española de Innovación, Calidad e Ingeniería del Software reicis@ati.es Asociación de Técnicos de Informática España ¿Cómo citar? Número completo Más información del artículo Página de la revista www.redalyc.org Proyecto académico sin fines de lucro, desarrollado bajo la iniciativa de acceso abierto
  • 2. Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010 Metodología para la evaluación de la calidad en los modelos UML Moisés Rodríguez, Javier Verdugo, Ramón Coloma Alarcos Quality Center, s.l. {moises.rodriguez, javier.verdugo, ramon.coloma}@alarcosqualitycenter.com Marcela Genero, Mario Piattini Departamento de Tecnologías y Sistemas de Información Universidad de Castilla-La Mancha {marcela.genero, mario.piattini}@uclm.es Resumen Este artículo presenta una metodología para la evaluación de la calidad de modelos UML, formada por un conjunto estructurado de procesos, orientada a la relación con el cliente y a la externalización de la evaluación de la calidad, y además pensada para ser una metodología fácilmente adaptable. Palabras clave: evaluación de calidad, calidad en modelos UML. Methodology for the evaluation of quality in UML models Abstract This article presents a methodology for evaluate the quality of UML models. This methodology consists of a structured set of processes, it is oriented to the relationship with the customer and to the outsourcing of quality evaluation, and it is easily adaptable. Key words: quality evaluation, quality in UML models. Rodríguez,M., Verdugo, j., Coloma,R., Genero, M. y Piattini,M. “Metodología para la evaluación de la calidad en los modelos UML”, REICIS, vol. 6, no.1, 2010, pp.17-36. Recibido: 6-11-2009; revisado: 4-1-2010; aceptado:12-3-2010 1. Introducción Si bien la calidad del software es un campo maduro en el que existen modelos de calidad (ISO 9126, ISO 25000, IEEE 1061-1998, etc.), modelos de madurez (CMMI, ISO 15504, etc.), estándares relacionados con la verificación y validación de software (IEEE 1012, IEEE 1028, etc.), herramientas para el cálculo de métricas, etc., que llevan utilizándose en ISSN: 1885-4486 © ATI, 2010 16
  • 3. Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010 la industria hace más de 20 años, no ocurre lo mismo en el campo de la calidad de las especificaciones de software y más concretamente, en la calidad de los modelos UML. Tal y como se refleja en la revisión sistemática [1], que contempla las propuestas existentes en la literatura desde 1998 hasta finales de 2007 sobre la calidad en el modelado con UML, este tema es de suma actualidad y relevancia, pero carece todavía de suficiente madurez. Por todo ello, se ha elaborado la presente metodología de evaluación de la calidad en los modelos UML, enmarcada dentro del proyecto EVVE “Entorno para la Verificación y Validación de Especificaciones software” (en adelante metodología EVVE). 1.1. Revisión de estándares Como punto de partida para la elaboración de la metodología EVVE, se ha realizado una revisión de los principales estándares, normas y metodologías existentes en la actualidad que, en mayor o menor medida, se encuentran relacionados con la evaluación del software. A continuación se identifican y se describen brevemente dichos estándares (ver tabla 1). Estándar/Metodología Descripción IEEE 1012-1998. Standard for Software Estándar que define los procesos de Verification and Validation [2] verificación y validación (V&V) del software Estándar que define la manera de realizar IEEE 1028-2008. Standard for Software revisiones sistemáticas para la adquisición, Reviews [3] suministro, desarrollo y operación de software Estándar que define una metodología para IEEE Std 1061-1998. Standard for a identificar, implementar, analizar y validar Software Quality Metrics Methodology [4] métricas de calidad del producto y el proceso CMMI-DEV (Capability Maturity Model Modelo para la mejora para los procesos de Integration for Development) [5] desarrollo de productos y servicios Modelo para la mejora de procesos en la CMMI-ACQ (Capability Maturity Model gestión de la cadena de suministro, adquisición Integration for Acquisition) [6] y contratación externa Modelo para la mejora de procesos, centrado CMMI-SVC (Capability Maturity Model en las actividades que requieren gestionar, Integration for Services) [7] establecer y entregar servicios ISO/IEC 9126. Software engineering- Norma sobre la calidad del producto software Product quality [8] ISSN: 1885-4486 © ATI, 2010 17
  • 4. Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010 Estándar/Metodología Descripción ISO/IEC 12207. Systems and software Norma que define los procesos del ciclo de engineering-Software life cycle processes vida del software [9] ISO/IEC 14598. Information technology- Norma para la evaluación del software Software product evaluation [10] ISO/IEC 15504. Software engineering- Norma para la evaluación de procesos software Process assessment [11] Familia de normas relacionadas con los ISO/IEC 25000. Software engineering- modelos, mediciones y evaluaciones de la Software product Quality Requirements and calidad, que supone la evolución de las normas Evaluation (SQuaRE) [12-19] ISO/IEC 9126 e ISO/IEC 14598 Familia de normas relacionadas con las ISO/IEC 29119. Software Testing [20-22] pruebas del software, que cubren el ciclo de vida completo TMAP Next [23] Metodología de pruebas del software PSM: Practical Software and Systems Guía para el proceso de medición del software Measurement [24] Metodología para la evaluación de la calidad EMISQ [25] interna del software Framework para la selección y personalización LifeCycleQM [26] de las actividades de aseguramiento de la calidad Tabla 1. Estándares, normas y metodologías relacionadas con la evaluación de la calidad software. A partir de dicha revisión, se ha elaborado la metodología EVVE, analizando las características clave de cada uno de ellos y seleccionando, adaptando e integrando los aspectos más relevantes. Además, se ha integrado todo con los resultados de las investigaciones realizadas durante el proyecto relativos a las técnicas y métricas de evaluación de la calidad para modelos software en UML. A continuación se exponen brevemente las principales ideas que se han tomado de cada una de las referencias utilizadas para la elaboración de la metodología: • IEEE: Se han revisado los principales estándares IEEE [2, 27, 28] relacionados con la evaluación y medición de la calidad del software. Estos estándares han aportado a la metodología EVVE la visión de cómo realizar las actividades de la ISSN: 1885-4486 © ATI, 2010 18
  • 5. Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010 verificación y validación del software, así como una base objetiva en el apartado de definición de métricas. Sin embargo la metodología EVVE aporta una visión más especializada, centrada en la evaluación de la calidad de los modelos UML. • CMMI: Tal y como se puede observar en el último informe publicado por el SEI en el año 2009 [29], el número total de evaluaciones realizadas bajo este modelo ha aumentado significativamente, lo que nos da una idea de la importancia e influencia de este modelo. Por ello, se han revisado las “Áreas de Proceso” (Process Areas) que el modelo describe relacionadas con la evaluación y la calidad del software, así como los entregables (productos de trabajo) que el modelo identifica, con el objetivo de seleccionar y adaptar aquellos que mejor se relacionan con los requisitos de la metodología EVVE. • ISO: Dada la importancia de la ISO como organización de estandarización y la aceptación de sus normas como guías a seguir, se han estudiado las principales normas relacionadas con la calidad del producto, el ciclo de vida de desarrollo y los procesos de evaluación y medición de artefactos que se generan en un proyecto software. Dentro de estas normas tiene especial importancia, para la metodología EVVE, la familia de normas ISO 25000 que engloba los modelos, mediciones y procesos para realizar la evaluación de la calidad del producto software. El modelo de calidad genérico en el que se apoya la metodología EVVE, está basado en las características y subcaracterísticas de calidad detalladas en la ISO 25010 [30]. • TMAP: Es una de las metodologías de pruebas del software más conocidas en el ámbito profesional. La metodología EVVE ha tenido en cuenta como TMAP relaciona el conjunto de procesos con las técnicas y herramientas que permiten su implementación, adaptando la visión que TMAP aporta para las pruebas del software a la evaluación de la calidad de los modelos en la que se centra la metodología EVVE. • PSM: Es un proceso de medición que permite dirigir los objetivos técnicos y de negocio de una organización, y recoge las mejores prácticas utilizadas por los profesionales de la medición dentro de las comunidades del software, la adquisición de sistemas y la ingeniería. PSM define un conjunto de actividades ISSN: 1885-4486 © ATI, 2010 19
  • 6. Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010 que permiten evaluar el propio proceso de medición y en la metodología EVVE se han tenido en cuenta a la hora de definir un proceso de soporte al proceso de evaluación, el proceso de gestión de la evaluación, cuyo objetivo es detallar las actividades a realizar durante el proyecto que son necesarias para controlar toda la documentación generada y la información sobre el propio proceso de evaluación, de manera que se pueda medir la calidad del propio proceso y mejorarlo en sucesivas aplicaciones de la metodología. • EMISQ: Es una metodología para la evaluación sistemática de la calidad interna del software, basada en la norma ISO 14598. Para desarrollar la metodología EVVE se ha tenido en cuenta EMISQ como base para definir una metodología basada en un estándar ISO y a partir de ahí crear un Framework apoyado por una herramienta que permita llevar a cabo la evaluación. A diferencia de EMISQ, en la metodología EVVE la norma ISO de base será la familia ISO 25000. • LifeCycleQM: Es un proyecto del Instituto Fraunhofer (Alemania) que ha desarrollado una guía para la selección y personalización de las actividades de aseguramiento de la calidad que mejor se adaptan a las necesidades de la organización. La principal desventaja detectada es que está orientado principalmente a empresas desarrolladoras de software. Por ello, la metodología EVVE se ha pensado tanto para organizaciones y fábricas de software que desarrollan sus propios modelos, como para empresas que adquieren productos software y desean asegurar la calidad de sus modelos. 2. Características y descripción de la metodología Las principales características de la metodología EVVE, se pueden resumir en los siguientes principios básicos: • Está formada por un conjunto estructurado de procesos. • Está orientada a la relación con el cliente y a la externalización de la evaluación de calidad. • Está pensada para ser una metodología fácilmente adaptable. • Está soportada por un conjunto de técnicas y herramientas. ISSN: 1885-4486 © ATI, 2010 20
  • 7. Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010 La metodología EVVE proporciona un marco de trabajo donde se identifica claramente el qué, cuándo, y el quién, de cada una de las fases y actividades de los procesos, así como la secuencia de pasos que se debe seguir a la hora de llevar a cabo la evaluación. Además, está orientada a la relación con el cliente de manera que, en distintos puntos del proceso de evaluación, el cliente se encuentra involucrado en la toma de decisiones. Y por otro lado, la metodología contempla el modo de trabajo externalizado, de manera que para realizar la evaluación no sea necesario encontrarse en las instalaciones del cliente, sino que se pueda planificar, diseñar y realizar la evaluación externamente, poniéndose en contacto con el cliente en los momentos puntuales en los que sea necesario. De igual manera, la metodología de evaluación está pensada para poder ser adaptada a las distintas necesidades del cliente, existiendo unos catálogos de técnicas de evaluación que determinan el nivel y profundidad con el que se desea realizar la evaluación, las métricas de calidad que se obtendrán y las herramientas de evaluación que se utilizarán. Por último, la metodología EVVE se encuentra soportada por un conjunto de técnicas de evaluación y herramientas de soporte, que agilizan la evolución de las fases de la metodología y permiten diseñar y realizar la evaluación de manera semiautomática. Actualmente, se está utilizando un conjunto de herramientas independientes para realizar dicha evaluación, entre las que podemos destacar (PMD, Checkstyle, NDepend, FXCop, JavaNCSS, etc). Si bien, se está trabajando para integrar todas las herramientas en un entorno común que permita la evaluación de forma automática. 2.1. Objetivo de la metodología El principal objetivo de la metodología EVVE es definir un marco de trabajo que permita determinar los procesos necesarios para llevar a cabo la evaluación de los modelos UML ISSN: 1885-4486 © ATI, 2010 21
  • 8. Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010 del software, así como facilitar la comunicación entre el cliente (patrocinador de la evaluación) y el equipo de evaluación. 2.2. Ámbito de aplicación La metodología de evaluación EVVE se puede aplicar a cualquier modelo de análisis y diseño, siempre que esté especificado bajo la notación UML. Si bien en un principio está pensada para ser utilizada con los siguientes tipos de diagramas: • Diagramas de casos de uso. • Diagramas de clases. • Diagramas de transición de estados. Por otro lado, la metodología, está pensada para ser utilizada independientemente del modelo de ciclo de vida de desarrollo seguido por la empresa cliente. De manera que no existe un proceso, fase, actividad o tarea del ciclo de vida a partir del cual se pueda empezar a aplicar la metodología de evaluación. Por ejemplo se podría aplicar la metodología para evaluar la calidad de los modelos UML finales, que se generan como entregables de un proyecto, o aplicar la metodología para evaluar la calidad después de cada iteración en el desarrollo de un software que siga un ciclo de vida iterativa e incremental como es el Proceso Unificado. 3. Catálogo de roles A continuación se detallan los roles y agrupaciones de estos que se identifican a lo largo del proceso de evaluación, así como las principales tareas y responsabilidades de cada uno de ellos. En la siguiente figura (ver figura 1), se pueden observar los roles involucrados en el proceso de evaluación según la metodología EVVE, así como la relación que existe entre ellos. Tal y como se aprecia en la figura, la comunicación entre las empresas (cliente y evaluadora) es realizada a través del patrocinador y del evaluador jefe. Éstos a su vez serán los que se comuniquen directamente con sus equipos internos. ISSN: 1885-4486 © ATI, 2010 22
  • 9. Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010 Figura 1. Roles y relaciones en el proceso de evaluación. • Empresa cliente. Representa a la organización que ha expresado su intención y/o necesidad de contratar los servicios de evaluación de la calidad de los modelos UML (bien desarrollados por ella o por otra empresa). • Patrocinador de la evaluación. El patrocinador de la evaluación es el representante de la empresa cliente que se pone en contacto con la empresa evaluadora para expresar la necesidad de evaluación de la calidad de sus modelos UML (normalmente suele ser el jefe de proyecto o el responsable del departamento de calidad). En algunos casos, el patrocinador de la evaluación podrá disponer de un equipo de trabajo interno formado por personal propio de la empresa (ver figura 1, rectángulo punteado). • Equipo de la empresa cliente. Sirve de apoyo al patrocinador de la evaluación. Su principal responsabilidad consiste en analizar los resultados reportados por la empresa evaluadora para detectar defectos o inconsistencias. La existencia de este equipo no es necesaria siempre, depende de la envergadura del proyecto a evaluar. • Empresa evaluadora. Representa la organización que ha sido contratada para llevar a cabo el proceso de evaluación. La empresa evaluadora necesitará disponer de un evaluador jefe y uno o varios evaluadores que formaran el equipo de trabajo que llevará a cabo el proceso de evaluación. ISSN: 1885-4486 © ATI, 2010 23
  • 10. Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010 • Evaluador jefe. Es el representante de la empresa evaluadora y líder del equipo de evaluación, cuyo objetivo es asegurar el correcto desarrollo del proceso de evaluación. Este rol debe ser ocupado por un profesional con conocimientos en el análisis y diseño con UML y con experiencia en la práctica de las principales normas y estándares sobre evaluación del producto y procesos software. • Evaluador. Está encargado de realizar las actividades y tareas propias del proceso de evaluación. Este rol deberá ser ocupado por una persona con conocimientos de modelado UML y de la metodología de evaluación. Las principales responsabilidades son, realizar las actividades de evaluación asignadas por el evaluador jefe y recoger información del propio proceso de evaluación. • Equipo de evaluación. Representa el equipo de la empresa evaluadora, formado por el evaluador jefe y un conjunto de uno o varios evaluadores de calidad (según los requisitos del proyecto). Su principal objetivo es cumplir con los requisitos de evaluación acordados con el patrocinador dentro de los tiempos planificados. 4. Catálogo de elementos A continuación se detallan todos los elementos (documentos, informes, catálogos, artefactos, etc.) que se identifican a lo largo de las actividades de evaluación. Estos elementos podrán ser de entrada y/o salida para las actividades del proceso de evaluación, siendo además algunos de ellos entregables finales del proyecto de evaluación. • Información de contacto. Documento donde la empresa evaluadora recoge los datos de contacto de la empresa cliente. Como mínimo debe presentar la siguiente información: 1. Nombre de la empresa. 2. Dirección. 3. Teléfono/Fax. 4. Página Web. 5. Persona de contacto (posible patrocinador de la evaluación) 6. Email de contacto. • Contrato de evaluación. Este documento representa el primer entregable (documento de salida, se entrega a la empresa cliente) del proyecto de evaluación ISSN: 1885-4486 © ATI, 2010 24
  • 11. Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010 y será generado como resultado de la fase 1 (planificación). En él se recogen las condiciones bajo las que se realizará el proyecto de evaluación, es de carácter público para la empresa evaluadora y para la empresa cliente. Está dividido en dos partes, que bien podrán estar incluidas en el mismo documento, o en dos documentos separados: 1. Propuesta técnica de evaluación: contiene aspectos técnicos del contrato de evaluación tales como el objetivo de la evaluación, el plan de trabajo, el equipo de trabajo, el calendario y el esfuerzo necesario. 2. Propuesta económica de evaluación: contiene aspectos económicos del contrato de evaluación tales como el precio, el modo de facturación, las cláusulas, las condiciones generales, etc. • Modelo de calidad genérico. Es un documento propiedad de la empresa evaluadora y contiene el conjunto de características, subcaracterísticas y atributos de calidad que se pueden evaluar para cada artefacto software. Como se ha indicado anteriormente, estas características y subcaracterísticas de calidad se encuentran detalladas en la ISO 25010 [30]. • Modelo de calidad específico. Es un documento que solo contiene el conjunto de características, subcaracterísticas y atributos de calidad que la empresa cliente ha seleccionado para el proyecto de evaluación. Este documento es de carácter público para la empresa evaluadora y la empresa cliente, está integrado dentro de la especificación de la evaluación que representa el tercer entregable del proceso de evaluación. • Catálogo de herramientas de evaluación. Es un documento propiedad de la empresa evaluadora y que permite identificar las herramientas necesarias y su modo de utilización, en función de las técnicas de evaluación que se vayan a utilizar para evaluar los modelos UML. • Plan de evaluación. Este documento público para ambas partes, y representa el segundo entregable del proyecto de evaluación. Una primera versión de este documento se desarrolla previamente al inicio del proyecto de evaluación, incluida en la propuesta técnica del contrato de evaluación. Esta primera versión es refinada por ambas partes tras la aceptación del contrato, generándose así la ISSN: 1885-4486 © ATI, 2010 25
  • 12. Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010 versión definitiva del plan de evaluación, que guiará todos los procesos y actividades realizados durante el proyecto. Este documento es generado como resultado de la fase 1 (planificación) del proceso de evaluación, sin embargo estará sujeto a cambios durante todo el proyecto de evaluación y en él se deberán registrar los retrasos y re-planificaciones. • Conjunto de artefactos a evaluar. Entendiendo por artefactos los modelos UML que la empresa cliente quiere validar, así como toda la documentación que sea necesaria para poder comprender correctamente la naturaleza y contenido de dichos modelos. Entre otras, es responsabilidad del patrocinador que los artefactos a evaluar estén disponibles en las fechas planificadas. Y responsabilidad del evaluador jefe asegurar que los artefactos entregados para ser evaluados cumplen con los requisitos impuestos por las técnicas y herramientas que se van a utilizar en el proceso de evaluación. • Especificación de la evaluación. Este artefacto representa el tercer entregable del proyecto de evaluación y como tal es público para ambas empresas. La especificación de la evaluación será generada como resultado de la fase 2 (especificación) del proceso de evaluación y estará formado por uno o varios documentos donde se recoja, una vez analizado el conjunto de artefactos a analizar, el modelo de calidad específico que se va a analizar, qué técnicas se van a utilizar, qué métricas se esperan obtener, qué herramientas se van a manejar, etc. En definitiva un conjunto de características a evaluar por cada uno de los modelos UML, las técnicas y herramientas que se utilizarán y el listado de métricas e indicadores que se esperan obtener. Esta especificación posteriormente será incluida como apartado dentro del informe final de evaluación, conforme lo establece la norma ISO/IEC 14598 [10]. • Informe de evaluación. Este artefacto representa el cuarto entregable del proyecto de evaluación y como tal es público para ambas empresas. El informe de evaluación será generado como resultado de la fase 4 (conclusión) y estará formado por un documento donde se recogen, todos los resultados obtenidos mediante las técnicas de evaluación, las conclusiones obtenidas del análisis de dichos resultados y un conjunto de recomendaciones y acciones futuras para la ISSN: 1885-4486 © ATI, 2010 26
  • 13. Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010 mejora de los modelos UML, además de la especificación de la evaluación. El informe va acompañado de una presentación de los resultados que va dirigida tanto al patrocinador de la evaluación como a los directivos de la empresa cliente y al equipo interno si lo hubiese. Una característica importante del informe es la retroalimentación que se produce posteriormente a la presentación de los resultados y en cuyo caso la empresa cliente reporta a la empresa evaluadora mediante el documento petición de modificación. • Petición de modificación. Este artefacto representa el quinto entregable del proceso de evaluación y como tal es público para ambas empresas. Este documento podrá ser generado como resultado de la fase 4 (conclusión) y representa el documento mediante el cual la empresa cliente, manifiesta sus opiniones y posibles cambios respecto a los resultados presentados en el informe de evaluación. La empresa evaluadora recibirá el documento que evaluará, revisará y actualizará el informe de evaluación de acuerdo a los cambios sugeridos. El informe modificado será de nuevo entregado a la empresa cliente quien podrá solicitar una nueva reunión o reportar una nueva petición de modificación, actuándose de la misma manera que la primera vez. El resultado de esta petición no es más que un refinamiento del informe de evaluación así como la mejora del proceso de evaluación. • Información interna de evaluación. Además de los propios entregables y resultados de la evaluación, durante la evaluación se genera un conjunto de documentación relacionada con el propio proceso. Esta información principalmente son informes del proceso de gestión y monitorización, informes de métricas de la propia evaluación (progreso, retrasos, costes/beneficios, etc.), informes de cambios y ajustes realizados durante la evaluación, informes de defectos y adaptaciones realizadas en la infraestructura de evaluación, etc. Posteriormente esta información será utilizada por los procesos Gestión de la Evaluación y Gestión de la Infraestructura de la presente metodología, para realizar una mejora continua del proceso de evaluación. 5. Procesos de la metodología de evaluación ISSN: 1885-4486 © ATI, 2010 27
  • 14. Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010 La metodología de evaluación EVVE se encuentra compuesta por tres procesos principales (ver figura 2). METODOLOGÍA EVVE PROCESO DE GESTIÓN DE LA EVALUACIÓN PROCESO DE EVALUACIÓN FASE 1: FASE 2: FASE 3: FASE 4: PLANIFICACIÓN ESPECIFICACIÓN EJECUCIÓN CONCLUSIÓN PROCESO DE GESTIÓN DE LA INFRAESTRUCTURA Figura 2. Procesos y fases de la metodología de evaluación EVVE. 5.1. Proceso de evaluación Este proceso representa el esqueleto de la metodología de evaluación ya que contiene las fases de planificación, especificación, ejecución y conclusión del proyecto de evaluación. La ejecución de este proceso está directamente relacionada con los dos primeros objetivos de la metodología EVVE. El proceso de evaluación6 se descompone en cuatro fases: 5.1.1. Fase 1: Planificación El objetivo de esta fase es la elaboración del contrato y la obtención de un plan de evaluación de los modelos UML. Esta fase está formada por cuatro actividades: • Contratación. • Arranque del proyecto. 6 Tanto las fases del proceso de evaluación como cada una de las actividades que componen cada fase pueden adaptarse, en cuanto a la complejidad del contenido y al orden de las mismas, pudiéndose realizar evaluaciones más ligeras o completas según las necesidades y características de la empresa cliente. ISSN: 1885-4486 © ATI, 2010 28
  • 15. Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010 • Planificación detallada. • Consolidación del plan. 5.1.2. Fase 2: Especificación El objetivo de esta fase es definir el alcance de la evaluación, determinando el conjunto de características que se van a evaluar para cada uno de los modelos UML (artefactos), las técnicas y herramientas que se van a utilizar para realizar la evaluación, los niveles de evaluación (bajo, medio o alto) que se van a aplicar a cada artefacto y el listado de indicadores y métricas que se esperan obtener. Esta fase está formada por cuatro actividades: • Obtención y análisis de artefactos a evaluar. • Selección del modelo de calidad y las técnicas. • Planificación interna de la evaluación. • Verificación de la especificación. 5.1.3. Fase 3: Ejecución El objetivo de la fase de ejecución es la aplicación de las técnicas de evaluación y el lanzamiento de las herramientas (utilizando como entrada los artefactos a evaluar) para obtener los resultados iniciales (métricas de más bajo nivel) sobre la calidad de los modelos UML. Una vez obtenidos los resultados iniciales, es necesario asegurar su veracidad (pueden existir defectos en los resultados, como los conocidos falsos positivos) y realizar su almacenamiento de una manera unificada que permita su posterior explotación. Esta fase está formada por tres actividades: • Aplicación de técnicas de evaluación. • Análisis de la ejecución. • Unificación de resultados. 5.1.4. Fase 4: Conclusión El objetivo de la fase de conclusión es la elaboración del informe de evaluación y la presentación de los resultados tanto al patrocinador como al resto de personas involucradas dentro de la empresa cliente. Esta fase está formada por tres actividades: ISSN: 1885-4486 © ATI, 2010 29
  • 16. Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010 • Elaboración del informe de evaluación. • Presentación de resultados. • Corrección del informe y finalización de la evaluación. 5.2. Proceso de gestión de la evaluación Es el proceso de soporte al proceso de evaluación, que permite controlar, evaluar y mejorar el propio proceso de evaluación. La ejecución de este proceso está directamente relacionada con el segundo y tercer objetivo de la metodología EVVE. Este proceso está formado únicamente por una fase, denominada de igual manera que el proceso. Esta fase a su vez se descompone en tres actividades7 bien diferenciadas: • Monitorización. • Documentación. • Ajuste y Evolución. 5.3. Proceso de gestión de la infraestructura Es el proceso de soporte al proceso de evaluación, que permite gestionar todo lo relacionado con la infraestructura necesaria para llevar a cabo el proceso de evaluación (técnicas y herramientas de evaluación). La ejecución de este proceso está directamente relacionada con el tercer y cuarto objetivo de la metodología EVVE. Este proceso está formado únicamente por una fase, denominada de igual manera que el proceso. Esta fase a su vez se descompone en tres actividades2 bien diferenciadas: • Especificación de la infraestructura. • Mantenimiento de la infraestructura. • Adaptación y transferencia de la infraestructura. 6. Implementación de la metodología con SPEM y EPFC SPEM 2.0 (Software & System Process Engineering Metamodel) es un metamodelo de OMG considerado como el estándar de facto en la industria para la representación de modelos de procesos de ingeniería del software e ingeniería de sistemas. 7 Cada una de las actividades que componen los procesos de gestión de la evaluación y gestión de la infraestructura, pueden adaptarse (en cuanto a la complejidad del contenido y al orden de las mismas), en función de las características de la empresa cliente y del proyecto de evaluación. ISSN: 1885-4486 © ATI, 2010 30
  • 17. Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010 Por otro lado, dentro de la plataforma abierta Eclipse, se ha desarrollado un editor de SPEM 2 llamado EPFC (Eclipse Process Framework Composer), que permite definir, gestionar y reutilizar un repositorio de fragmentos de métodos y procesos. De modo que con EPFC se pueden crear implementaciones en formato SPEM 2 de cualquier método, proceso o metodología de ingeniería del software. La idea central de SPEM 2 para representar procesos está basada en tres elementos básicos: rol, producto de trabajo y tarea[31]. • Las tareas representan el esfuerzo a hacer. • Los roles representan quién lo hace. • Los productos de trabajo representan las entradas que se utilizan en las tareas y las salidas que se producen. 6.1. Ventajas de SPEM y EPFC Las principales razones por las que se han seleccionado SPEM y EPFC para la implementación práctica de la metodología EVVE, frente a otras alternativas son las que se describen a continuación [31, 32]: • El formato en el que se maneja la información en las metodologías suelen ser documentos de texto natural. • La creación, revisión, reutilización, adaptación y generación de documentación para las metodologías suele ser un proceso puramente manual. • EPFC permite crear metodologías y procesos con un rico contenido (texto con formato, imágenes, elementos multimedia, etc.). • EPFC proporciona una estructura de gestión común para todo el contenido metodológico de una organización. • EPFC proporciona un entendimiento claro y visual de cómo se relacionan las diferentes tareas de una metodología. • EPFC permite seleccionar, combinar, adaptar y ensamblar de forma rápida procesos a partir del contenido de método creado. • EPFC permite publicar la documentación de los procesos y metodologías modelados en formato para la web. ISSN: 1885-4486 © ATI, 2010 31
  • 18. Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010 • EPFC reduce el coste de reutilización de contenidos de método en una organización. 6.2. Ejemplo de diagrama de actividad generado por EPFC A continuación (ver figura 3), se presenta el flujo de trabajo generado por EPFC para las tareas que se realizan en la actividad Obtención y Análisis de Artefactos a Evaluar, actividad que pertenece a la fase 2 (Especificación) del proceso de evaluación especificado anteriormente. Tal y como se puede ver en la figura 3, esta actividad está compuesta por 3 tareas las cuales se deben realizar en orden secuencial. Además para cada una de las tareas se muestra en el margen superior izquierdo la abreviatura del rol implicado en su realización. EPFC permite la generación automática de este tipo de diagramas a partir de la información de la metodología introducida en el sistema. Además, desde este tipo de diagramas, EPFC facilita la navegación directa a cada uno de los componentes de la metodología (roles, tareas, productos de trabajo) identificando la trazabilidad bidireccional entre todos estos elementos. Figura 3. Diagrama de actividad generado por EPFC para la actividad “Obtención y Análisis de Artefactos a Evaluar” de la fase 2 (Especificación), del proceso de evaluación. 7. Conclusiones y trabajos futuros ISSN: 1885-4486 © ATI, 2010 32
  • 19. Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010 La innovación que la metodología de evaluación EVVE proporciona, unida a las características de su implementación con SPEM y EPFC hacen de ella una metodología útil en el ámbito de la evaluación de calidad en los modelos UML. En estudios futuros se pretende ampliar los márgenes de evaluación de calidad alcanzados con la metodología EVVE, para permitir evaluar los artefactos software generados desde las primeras fases del ciclo de vida hasta la entrega e implantación del producto (análisis, diseño, codificación y pruebas). Este nuevo entorno está pensado que se base en la nueva familia de normas ISO 25000, conocida como SQuaRE y que reemplazará a las actuales ISO 9126 e ISO 14598. De esta manera, el nuevo entorno permitiría una evaluación continua del producto software, evaluando desde el análisis y diseño (utilizando EVVE), hasta el código, los casos de prueba y la documentación final de soporte, y permitiendo así observar desviaciones a lo largo de todo el proceso de desarrollo sin tener que esperar a las pruebas finales. Agradecimientos Esta investigación forma parte del proyecto EVVE (HITO-2008-49) financiado por la “Consejería de Ciencia y Tecnología de la Junta de Comunidades de Castilla-La Mancha”. Referencias [1] Genero, M., Fernandez A. M., Nelson H.J., Poels G. y Piattini, M. "A Systematic Literature Review on UML Conceptual Modeling Quality." Working Papers of Faculty of Economics and Business Administration, Ghent University, 2008. [2] IEEE Computer Society, IEEE Std. 1012-1998 Standard for Software Verification and Validation, ISO, 1998. [3] IEEE Computer Society, IEEE Std. 1028-2008 Standard for Software Reviews and Audits, IEEE, 2008. [4] IEEE Computer Society, IEEE Std 1061-1998 IEEE Standard for a Software Quality Metrics Methodology, IEEE, 1998. [5] SEI, CMMI® for Development, Version 1.2 (CMMI-DEV, V1.2), Improving processes for better products, SEI, 2006. [6] SEI, CMMI® for Acquisition, Version 1.2 (CMMI-ACQ, V1.2), Improving processes for acquiring better products and services, SEI, 2007. [7] SEI, CMMI® for Services, Version 1.2 (CMMI-SVC, V1.2 ), Improving processes for better services, SEI, 2009. ISSN: 1885-4486 © ATI, 2010 33
  • 20. Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010 [8] ISO, ISO/IEC DTR 9126 Software Product Evaluation - Quality Characteristics and Guidelines for their Use, ISO, 2001. [9] ISO, ISO/IEC 12207-2007. International Standard. Systems and software engineering — Software life cycle processes, ISO, 2007. [10] ISO, ISO/IEC 14598 1999-2001. Information Technology - Software Product Evaluation - Parts 1-6, ISO, 1999. [11] ISO, ISO/IEC 15504-5, Information technology - Process assessment - Part 5: An exemplar Process Assessment Model, ISO, 2006. [12] ISO, ISO/IEC 25000 Software and system engineering – Software product Quality Requirements and Evaluation (SQuaRE) –Guide to SQuaRE, ISO, 2005. [13] ISO, ISO/IEC 25001 Software and system engineering – Software product Quality Requirements and Evaluation (SQuaRE) –Evaluation planning and management, ISO, 2005. [14] ISO, ISO CD 25010.4, Software engineering-Software product Quality Requirements and Evaluation (SQuaRE) Quality model, ISO, 2009. [15] ISO, ISO/IEC 25020 Software and system engineering – Software product Quality Requirements and Evaluation (SQuaRE) – Measurement reference model and guide, ISO, 2007. [16] ISO, ISO/IEC 25030 Software and system engineering – Software product Quality Requirements and Evaluation (SQuaRE) –Quality requirements, ISO, 2007. [17] ISO, ISO CD 25040.3: Software engineering - Software product Quality Requirements and Evaluation (SQuaRE) – Evaluation reference model and guide, ISO, 2009. [18] ISO, ISO/IEC 25051 Software engineering-Software product Quality Requirements and Evaluation (SQuaRE)-Requirements for quality of Commercial Off-The-Shelf (COTS) software product and instructions for testing, ISO, 2006. [19] ISO, ISO/IEC 25062 Software engineering — Software product Quality Requirements and Evaluation (SQuaRE) — Common Industry Format (CIF) for usability test reports, ISO, 2006. [20] ISO, ISO/IEC 29119 Software Testing. Part 1: Concepts and Vocabulary (Working Draft), ISO, 2009. [21] ISO, ISO/IEC 29119 Software Testing. Part 2: Test Process (Working Draft), ISO, 2009. [22] ISO, ISO/IEC 29119 Software Testing. Part 3: Test Documentation (Working Draft), ISO, 2009. [23] Koomen, T., van der Aalst, L., Broekman, B. y Vroon, M., TMAP Next for result- driven testing, UTN Publishers, 2006. [24] McGarry, J., Card D., Jones C., Layman, B., Clark, E., Dean C. y Hall, F., Practical Software Measurement. Objective Information for Decision Makers, Addison-Wesley, 2002. [25] Plösch, R., The EMISQ method and It´s Tool Support-Expert Based Evaluation on Internal Software Quality. Journal of Innovations in Systems and Software Engineering, Springer London, vol. 4, nº 1, pp. 3-15, 2008. [26] Denger, C. y Elberzhager, F., Basic Concepts to Define a Customized Quality Assurance Strategy, Report of WP 3.1 in the LifeCycleQM project, Report Number IESE118.06/E, 2007. [27] IEEE Computer Society, IEEE Std. 1028-1997 Standard for Software Reviews, IEEE, 1997. ISSN: 1885-4486 © ATI, 2010 34
  • 21. Revista Española de Innovación, Calidad e Ingeniería del Software, Vol.6, No. 1, 2010 [28] IEEE Computer Society, IEEE Std 1061-1998 IEEE Standard for a Software Quality Metrics Methodology, ISO, 1998. [29] SEI, Process Maturity Profile. CMMI® For Development SCAMPI Class A Appraisal Results 2008 End-Year Update, SEI, 2009. [30] ISO, ISO/IEC 25010 Software and system engineering – Software product Quality Requirements and Evaluation (SQuaRE) – Quality model and guide, ISO, 2005. [31] OMG, Software Process Engineering Metamodel Specification version 2.0, OMG, 2007. [32] Eclipse Fundation, Eclipse – An open development Platform, Eclipse Foundation, 2007. ISSN: 1885-4486 © ATI, 2010 35