Integración de UML en la
metodología MÉTRICA
Departamento de Ciencias de
la Computación, Universidad de Alcalá
{joser.hilera,
josej.martinez, salvador.oton, josea.gutierrez}@alcala.es
Resumen. Se propone una forma de integración de las técnicas de modelado orientado
a objetos establecidas por el estándar UML (Unified Modeling Language) en la
metodología estructurada MÉTRICA v2.1, sustituyendo los modelos estructurados
que exige realizar esta metodología por los de UML, con el objetivo de adaptar
MÉTRICA al enfoque de la orientación a objetos, y facilitar su aplicación en el
caso de proyectos de desarrollo de Sistemas de Información en los que se
utiliza un lenguaje de programación orientado a objetos como Java o C++. Esta
integración se realiza a nivel de actividades del ciclo de vida de la
metodología, y repercute en la estructura de la documentación que, según
MÉTRICA, debe generarse al final de cada fase.
1 Introducción
Desde mediados de los años
ochenta se ha venido imponiendo gradualmente la tecnología de objetos en el
ámbito de la producción de software, aplicándose primero el enfoque de la
orientación a objetos en la construcción de programas, e incorporándose después
en el resto de actividades del ciclo de vida del software, como la
planificación, el análisis o el diseño.
Esta tecnología permite
aumentar la productividad y mejorar la calidad del software, constituyendo, las
metodologías orientadas a objetos, un marco idóneo para abordar la complejidad
creciente en el desarrollo de software, gracias a sus modelos más realistas y
consistentes, dando lugar a productos más flexibles y fáciles de mantener y
reutilizar.
Actualmente existe una
multitud de métodos de desarrollo orientados a objetos, con la característica
común de basarse en los mismos conceptos fundamentales de esta tecnología, pero
con diferencias en la notación utilizada en los modelos de análisis y diseño
propuestos y en la forma de introducir la orientación a objetos en el ciclo de
vida del software.
Las razones del cambio
desde el enfoque estructurado al enfoque orientado a objetos (OO) se refieren
principalmente a la mejora de la productividad, de la calidad y del mantenimiento del software
desarrollado que ofrece esta nueva tecnología, y su mejor adaptación a las
nuevas características de las aplicaciones informáticas que requiere el
mercado, como las interfaces gráficas de usuario o el procesamiento distribuido
(por ejemplo, a través de Internet) basado en la filosofía cliente/servidor.
Otro aspecto del enfoque
OO que lo hace adecuado para garantizar la calidad de los productos si se
aplica desde las primeras fases de los proyectos es su capacidad para modelar
los requisitos de los usuarios de una forma muy intuitiva. En este sentido, la
gran ventaja que está suponiendo la OO como paradigma de ingeniería del
software es precisamente que este enfoque se aplica, tanto en las etapas de
análisis y diseño, como en la construcción o programación del software,
convirtiéndose el desarrollo en un proceso de refinamiento de los objetos
especificados durante el análisis.
En cuanto a las
metodologías OO existentes en la actualidad, aunque el número es muy elevado,
sólo unas pocas aportan alguna novedad significativa respecto a las otras, el
resto se derivan de éstas. En este sentido, hay que resaltar el interesante
esfuerzo de unificación de las notaciones utilizadas en los métodos con mayor implantación
del mercado, que ha dado origen, en 1997 al denominado Lenguaje de Modelado
Unificado (UML) [1,2].
Por otro lado, muchas
organizaciones públicas o privadas que habían establecido una metodología
propia estructurada están procediendo a su adaptación al enfoque OO, como, por
ejemplo, sucede en Francia, Gran Bretaña y España con los métodos públicos
MERISE, SSADM y MÉTRICA. En el caso de MÉTRICA [3], la versión 3 de esta
metodología incorporará precisamente este enfoque [4]. Ante el retraso en la
aparición de MÉTRICA v3, han empezado a aparecer propuestas para facilitar a
sus usuarios la transición desde el enfoque estructurado al enfoque orientado a
objetos [5]. El objetivo de este trabajo es tratar de aportar soluciones en
este sentido, proponiendo la sustitución de las técnicas de análisis y diseño
estructurado por las orientadas a objetos incluidas en el estándar UML, se
trata de los denominados Diagramas de Clases, Diagramas de Casos de Uso,
Diagramas de Interacción (en sus variantes conocidas como Diagramas de
Secuencia y Diagramas de Colaboración), Diagramas de Actividad, Diagramas de Estados,
Diagrama de Componentes y Diagramas de Despliegue.
2 Integración de UML en el ciclo de vida de
MÉTRICA
Como afirman sus autores, UML
es un lenguaje (notación) para el modelado de objetos y no una metodología de
desarrollo orientado a objetos; por lo tanto, ha sido concebida de manera que
sea indiferente al método OO que se utilice.
En el caso de MÉTRICA, al
no tratarse de una meotodología orientada a objetos, la aplicación de UML precisaría previamente la re-definición de
algunas de sus fases, módulos, actividades y tareas. En [5] se especifica con
detalle una posible modificación del ciclo de vida de MÉTRICA para convertirla
en una metodología OO, realizando el mínimo numero de cambios sobre el ciclo de
vida original, para evitar a los usuarios una transición traumática de uno a
otro enfoque. La mayor parte de los cambios propuestos se refieren a las
actividades de análisis y diseño indicadas en la tabla 1. Las técnicas de UML
que se utilizarían en estas actividades y tareas son las que se muestran en la
tabla 2.
Tabla 1. Principales actividades y tareas que se verían
afectadas
por la incorporación del enfoque OO en MÉTRICA [5]
Actividades y Tareas |
MÉTRICA v2.1 (Estructurada) |
MÉTRICA OO |
ARS 3.1 |
Construcción del Modelo
Lógico actual de Procesos |
Construcción del Modelo de
Comportamiento del Sistema actual |
ARS 3.2 |
Construcción del Modelo
Lógico actual de Datos |
Construcción del Modelo de
Estructura de Objetos del Sistema actual |
EFS 1 |
Construir el Modelo de
Procesos del nuevo Sistema |
Construir el Modelo de
Comportamiento del nuevo Sistema |
EFS 2 |
Construir el Esquema Lógico
de Datos del nuevo Sistema |
Construir el Modelo de
Estructura de Objetos del nuevo Sistema |
EFS 3.1 |
Construcción del Modelo Entidad-Evento |
Construcción de los Modelos
de Interacción y Estados |
EFS 3.2 |
Consolidación de los Modelos
de Datos y Procesos |
Consolidación de los Modelos
de Comportamiento y Estructura de Objetos |
DTS 1 |
Diseñar la Arquitectura
Física del Sistema |
Diseñar la Arquitectura
Lógica del Sistema |
DTS 2 |
Diseñar la Estructura Física
de Datos del Sistema |
Diseñar la Arquitectura
Física del Sistema |
Tabla 2. Integración de las técnicas de UML en las
actividades y tareas de MÉTRICA
(los símbolos [ ] indican que se trata de una actividad opcional)
Actividades y Tareas |
Técnicas de UML |
ARS 3.1 |
Diagrama de Casos de Uso,
[Diagrama de Interacción (Secuencia o Colaboración), Diagrama de Actividad,
Diagrama de Estados] |
ARS 3.2 |
Diagrama de Clases |
EFS 1 |
Diagrama de Casos de Uso,
[Diagrama de Interacción (Secuencia o Colaboración), Diagrama de Actividad,
Diagrama de Estados] |
EFS 2 |
Diagrama de Clases |
EFS 3.1 |
Diagrama de Interacción
(Secuencia o Colaboración), Diagrama de Estados |
EFS 3.2 |
Diagrama de Clases, Diagrama
de Interacción (Secuencia o Colaboración), Diagrama de Estados, [Diagrama de
Actividad] |
DTS 1 |
Diagrama de Clases, Diagrama
de Interacción (Secuencia o Colaboración), Diagrama de Estados, [Diagrama de
Actividad] |
DTS 2 |
Diagrama de Componentes,
Diagrama de Despliegue, Diagrama de Clases, Diagrama de Interacción
(Secuencia o Colaboración), Diagrama de Estados, [Diagrama de Actividad] |
3 Integración de UML en la documentación de
MÉTRICA
Al integrar UML en la
metodología MÉTRICA se produce una serie de cambios en la documentación que se
genera al final de cada fase como resultado de la realización de las distintas
actividades y tareas. Los documentos de MÉTRICA que se verán afectados en mayor
medida serán el Documento de Diseño Funcional (DDF), generado al final de la
fase de Análisis; y el Documento de Diseño Técnico (DDT), que se genera al
final de la fase de Diseño.
En las figuras 1 y 2 se
representa la estructura de estos documentos. Las diferencias con respecto a
los documentos originales de MÉTRICA se han resaltado como zonas sombreadas. En
el Documento de Diseño Funcional, son los apartados 2 y 3 los que deben sufrir
los mayores cambios; así, los apartados originales denominados “2.1 Modelo de
Procesos de cada Subsistema”, “2.2 Modelo de Procesos de las Funciones de cada
Subsistema” y “2.3 Modelo de Procesos de las Subfunciones de cada Función”, que
contenían los modelos funcionales en forma de Diagramas de Flujo de Datos, han
sido substituidos por un único apartado con el nombre de “2.1 Modelo de
Comportamiento de cada Subsistema”, que incluye Diagramas de Casos de Uso,
Diagramas de Interacción y Diagramas de Actividad establecidos por UML. También
el apartado “3. Modelo de Datos del Sistema” de MÉTRICA, que contenía Diagramas
de Entidad-Relación, ha sido substituido por el titulado “3. Modelo de
Estructura de Objetos del Sistema”, que incluye el diagrama, o diagramas, de
Clases del Sistema según la notación UML.
En el caso del Documento
de Diseño Técnico, la integración de UML supone una modificación substancial
del apartado “1. Diseño de la Arquitectura del Sistema”, ya que la técnica
utilizada en MÉTRICA, conocida como Diagrama de Estructura de Cuadros, basada
en un enfoque de diseño que considera una descomposición funcional, e
independiente de los datos, del Sistema de Información a construir, es substituida
por los Diagramas Clases, Diagramas de Componentes y Diagramas de Despliegue de
UML, basados en el enfoque de objetos que considera la integración de las
funciones del sistema en el interior de los objetos junto con los datos.
En este documento se
mantiene el modelo de clases del Sistema incluido en el Documento de Diseño
Funcional, que ha debido ser completado durante la fase de Diseño con clases de
interface, de gestión de datos, de gestión de procesos o tareas, y de utilidad;
asimismo, también se habrá refinado la especificación de las clases del dominio
del problema establecidas durante la fase de Análisis, ofreciendo este documento
toda la información necesaria para proceder a la construcción del Sistema.
Para finalizar, en las figuras
3 y 4 se muestran sendos diagramas de UML que podrían formar parte de los
apartados “2.1.3 Diagramas de Interacción de cada Caso de Uso” y “1.2.2
Diagramas de Interacción”, de los Documentos DDF y DDT respectivamente. El
primero es un Diagrama de Secuencia elaborado durante la fase de Análisis de un
hipotético Sistema de Gestión de un Negocio de reparación de automóviles,
mientras que el segundo es un refinamiento de aquél realizado durante la fase
de Diseño.
4 Conclusiones
La integración, en la metodología
estructurada MÉTRICA v2.1, de las técnicas de modelado orientado a objetos
establecidas por el estándar UML ha sido experimentada en la Universidad de
Alcalá desde el año 1997, tanto desde el punto de vista docente como de
desarrollo de aplicaciones informáticas comerciales. Esta integración ha
formado parte del contenido de las asignaturas “Ingeniería del Software” y
“Laboratorio de Ingeniería del Software”, durante los cursos académicos 1997-98
y 98-99. Como resultado de esta experiencia, los alumnos han asimilado los
conceptos de la aplicación de una metodología de desarrollo de software
orientada a objetos, que considera este enfoque tanto en el modelado realizado
durante las fases de análisis y diseño, como en la programación llevada a cabo
en la fase de construcción del software. También han podido experimentar esta
integración en las prácticas de laboratorio, utilizando una herramienta CASE
que permite la realización de los modelos UML y la generación parcial de código
en un lenguaje de programación orientada a objetos, como Java o C++.
En el ámbito comercial,
esta versión orientada a objetos de MÉTRICA que integra el estándar UML ya ha
sido aplicada con éxito en varios proyectos de desarrollo de software de
gestión que está operativo en diferentes organizaciones usuarias; y está siendo
utilizada actualmente para el desarrollo de otras aplicaciones de gestión
comerciales por parte de una empresa de software en colaboración con la Universidad
de Alcalá.
Referencias
1. Unified Modeling
Language Documentation. UML Resource Center (1999).
http://www.rational.com/uml/resources/documentation.
2. Booch, G., Rumbaugh, J., Jacobson, I. El Lenguaje Unificado de Modelado.
Addison Wesley, Madrid (1999)
3. Metodología de Planificación y Desarrollo de
Sistemas de Información. MÉTRICA Versión 2.1. Ministerio para las
Administraciones Públicas, Madrid (1995)
http://www.map.es/csi/pg5m40.htm.
4. Proyecto MÉTRICA Versión 3. Ministerio para
las Administraciones Públicas.
http://www.map.es/csi/pg5m42.htm.
5. Hilera, J.R.: Metodología MÉTRICA Orientada a
Objetos. NOVÁTICA. Próxima publicación.
|
DOCUMENTO
DE DISEÑO FUNCIONAL (DDF) |
|
|
1.
Especificación del Sistema Propuesto. 1.1 Diagrama de Casos de Uso del Sistema 1.2 Diseño de Subsistemas. 1.2.1 Diagramas de Casos de Uso 1.2.2 Descripción de los
Componentes. 2.
Especificación de Subsistemas. 2.1 Modelo de Comportamiento de cada
Subsistema. 2.1.1 Diagrama de Casos de Uso
(DCU) de cada Subsistema. 2.1.2 Descripción de los Componentes de los DCU. 2.1.3 Diagramas de Interacción
(DI) de cada Caso de Uso. 2.1.4 Diagrama de Actividad de cada
DI. 2.1.5 Descripción de los
Componentes de los DI. 3.
Modelo de Estructura de Objetos del Sistema. 3.1 Diagrama de Clases. 3.2 Descripción de Clases. 3.2.1 Atributos (descripción y
formato). 3.2.2 Operaciones (descripción). 3.2.3 Diagrama de Estados. 3.3 Descripción de relaciones. 4.
Interfaces de usuario. 4.1 Pantallas. 4.1.1 Diálogo de Pantallas. 4.1.2 Mapa de Pantallas. 4.1.3 Elementos asociados. 4.1.4 Identificación de diálogos críticos. 4.2 Informes. 4.2.1 Formato de Informe. 4.2.2 Elementos asociados. 5.
Otras Especificaciones no funcionales del Sistema. 5.1 Especificación de Requisitos de
Seguridad y Control. 5.2 Especificación de Requisitos de
Respaldo y Recuperación de Errores. 5.3 Especificación de Requisitos de
Rendimiento. 6.
Especificaciones de la Entrega. 6.1 Plan de Desarrollo y Entrega del
nuevo Sistema. 6.2 Revisión del Plan del Proyecto. 7.
Control de Calidad de la Especificación Funcional. 7.1 Validación del Modelo de
Comportamiento. 7.2 Validación del Modelo de Estructura
de Objetos. 7.3 Seguimiento de los Requisitos de
Usuario. |
|
Fig 1. Resultado de la integración de UML en el
Documento de Diseño Funcional
DOCUMENTO DE DISEÑO TÉCNICO (DDT) |
|
|
|
1. Diseño de la Arquitectura del Sistema. 1.1
Diagramas de Clases y Componentes del Sistema. 1.2 Diseño
del Componente del Dominio del Problema (CDP). 1.2.1 Diseño de cada Clase del CDP.
1.2.1.1 Atributos.
1.2.1.2 Especificación de Operaciones.
1.2.1.3 Pantallas e Informes asociados.
1.2.2.4 Diagrama de Estados. 1.2.2 Diagramas de Interacción. 1.3 Diseño
del Componente de Interface con el Usuario (CIU). 1.3.1
Diseño de cada Clase del CIU. 1.3.2
Diagramas de Interacción. 1.4 Diseño
del Componente de Interface con Sistemas Externos (CSE) 1.4.1
Diseño de cada Clase del CSE. 1.4.2
Diagramas de Interacción. 1.5 Diseño
del Componente de Gestión de Datos (CGD) 1.5.1
Diseño de cada Clase del CGD. 1.5.2
Diagramas de Interacción. 1.6 Diseño del
Componente de Gestión de Tareas (CGT). 1.6.1
Diseño de cada Clase del CGT. 1.6.2
Diagramas de Interacción. 1.7 Diseño
del Componente de Servicios de Utilidad (CSU). 1.7.1
Diseño de cada Clase del CSU. 1.7.2
Diagramas de Interacción. 1.8 Diseño
del Despliegue del Software en el Hardware. 2. Diseño Físico de Datos. 2.1
Estructura Física de la Base de Datos o de los Ficheros. 2.2
Estructura de Tablas y Vistas. 2.3 Ficheros
Auxiliares. 2.4 Descripción
de atributos. 3. Entorno Tecnológico del Sistema. 3.1
Especificaciones del Entorno Tecnológico. 3.1.1
Equipo Físico. 3.1.2
Equipo Lógico. 3.1.3
Comunicaciones 3.2
Restricciones Técnicas. 4. Especificación del Plan de Desarrollo e
Implantación. 5. Control de Calidad del diseño Técnico 5.1 Revisión
del Diseño Técnico. 5.1
Validación del Diseño Técnico. |
|
Fig. 2. Resultado de la integración de UML en el
Documento de Diseño Técnico
Fig. 3. Ejemplo de Diagrama de Interacción con notación UML incluido en un
Documento de Diseño Funcional
Fig. 4. Ejemplo de Diagrama de Interacción con notación UML incluido en un
Documento de Diseño Técnico.