• No se han encontrado resultados

Extensiones para una relación directa entre documentos, herramientas, tareas y técnicas

metodologías centradas en documentos (MeCeDo) 4.1 Introducción

4.3 Definición de MeCeDo

4.3.2 Extensión del metamodelo en el dominio del endeavour

4.3.2.2 Extensiones para una relación directa entre documentos, herramientas, tareas y técnicas

Como se ha discutido con anterioridad, el estándar SEMDM carece de la posibilidad de establecer una relación directa entre las tareas a realizar, herramientas y técnicas para acometer estas tareas. Las clases Task y Technique aparecen relacionadas a través de

4-52 Capítulo 4

la clase TaskTechniqueMapping, la cual incluye un atributo para incluir la justificación de esta relación. La clase TaskTechniqueMapping se puede extender para añadir una relación con una clase derivada de Tool.

Al mismo tiempo, para nuestros propósitos, es esencial conocer para cada documento

(o subdocumento) qué tareas, herramientas y técnicas deben implicarse para la construcción de dicho documento. Por esta razón, la nueva clase derivada de TaskTechniqueMapping tiene una asociación con la clase extendida de Document (ConstrainedDocument). De esta forma, la secuencia de construcción de los documentos (definida en el dominio de la metodología, como se ha visto anteriormente), dará lugar a la secuencia de aplicación de las tareas, técnicas y herramientas durante la ejecución de un proyecto de desarrollo software.

Las extensiones de las clases implicadas aparecen representadas en la Figura 4-19. Figura 4-19. Extensión de Tool y TaskTechniqueMapping.

Capítulo 4. 4-53

Clases implicadas:

1. AssignedTool (Herramienta Asignada). Una Herramienta Asignada es un

instrumento que ayuda a las Figuras involucradas en una tarea, mediante la aplicación de unas técnicas a producir o consumir documentos de una forma automatizada.

Es una subclase abstracta de Tool.

Es una clase relacionada con los productores.

Atributos: No tiene atributos propios.

Relaciones

Nombre Rol Clase relacionada Significado

IsClassifiedBy N/A AssigendToolKind Una Herramienta Asignada en el dominio del endeavour corresponde siempre con algún tipo de Herramienta Asignada en el dominio de la metodología.

N/A N/A DocumentTaskTechni que ToolMapping

Una Herramienta Asignada puede estar asignada a una relación de documento, tarea, técnica en particular.

Ejemplo:

Durante un proyecto de desarrollo software, María escribe código fuente y lo compila. A continuación, crea automáticamente resguardos para las pruebas de unidades. Después de completar el conjunto de resguardos, ejecuta las pruebas de unidades. El editor de código, el compilador y el probador automático de unidades son herramientas asignadas a las correspondientes tareas y técnicas para producir las correspondientes secciones de los documentos relacionados con estas tareas y técnicas.

2. ConstrainedDocument (Documento Restringido). Para establecer la relación

entre una relación Documento-Tarea-Técnica Herramienta y los documentos, es necesario extender la clase Document en una nueva clase (ConstrainedDocument). La extensión de Document se utiliza además para establecer otras relaciones expuestas anteriormente.

4-54 Capítulo 4

Un Documento Restringido es una descripción duradera de un fragmento de la realidad.

Los documentos restringidos son la base de nuestra aproximación. La construcción de los documentos y subdocumentos implica la aplicación de métodos, técnicas y herramientas en la secuencia definida por el ingeniero de método en el dominio de la metodología y, por tanto, la ejecución del proceso software.

ConstrainedDocument es una subclase abstracta de Document. Se trata de una clase relacionada con el producto.

Atributos: No tiene atributos propios.

Relaciones

Nombre Rol Clase relacionada Significado

IsClassifiedBy N/A ConstrainedDocumentKind Un Documento Restringido en el dominio del endeavour corresponde siempre a algún tipo de documento

restringido en el dominio de la metodología.

N/A N/A DocumentTaskTechnique ToolMapping

Un documento restringido está asociado a una o varias relaciones de documento - tarea - técnica - herramienta. Access N/A Figure Un documento restringido

podrá ser accedido por varias Figuras.

Capítulo 4. 4-55

Ejemplo:

Para organizar una inspección de código, María, como figura «Inspector de código», imprime el código a inspeccionar más una copia de la lista de inspección. Durante la inspección, María toma nota de los defectos encontrados en el código y reúne los resultados en un informe de inspección. El código a inspeccionar, la lista de inspección y el informe de inspección son documentos restringidos. Las tareas realizadas por María, al tratarse de un documento restringido, estarán descritas previamente por el ingeniero de método, así como las técnicas y herramientas a utilizar. Todo ello a través de la relación de los documentos restringidos con sus correspondientes Document TaskTechinqueToolMapping y siempre que se cumplan las restricciones impuestas por el ingeniero de método en las correspondientes DocumentConstraint para cada uno de estos documentos.

3. DocumentTaskTechniqueToolMapping (Relación Documento-Tarea-Técnica-

Herramienta). Una relación Documento-Tarea-Técnica-Herramienta es una asociación de uso entre un documento restringido dado, una tarea dada, una técnica dada y una herramienta asociada en particular. La relación representa el hecho de que, en el dominio del endeavour, una técnica dada será utilizada para cumplir con una tarea dada, utilizando una herramienta dada, para la creación de un documento o subdocumento en particular.

DocuementTaskTechniqueToolMapping es una subclase de la clase TaskTechniqueMapping.

Es una clase relacionada con el proceso.

Atributos: No tiene atributos propios.

Relaciones

Nombre Rol Clase relacionada Significado

IsClassifiedBy N/A DocumentTaskTechnique ToolMappingKind

Una relación documento- tareatécnica- herramienta en el dominio del

endeavour corresponde siempre con algún tipo de relación documento- tarea-técnica-herramienta en el dominio de la

4-56 Capítulo 4 Relaciones

Nombre Rol Clase relacionada Significado

N/A N/A Task Una relación documento- tareatécnica-herramienta corresponde siempre a una tarea en particular (heredada de

TaskTechniqueMapping). N/A N/A AssignedTool Una relación documento- tarea-técnica-herramienta corresponde siempre a una herramienta asignada en particular.

N/A N/A ConstrainedDocument Una relación documento- tarea-técnica-herramienta corresponde siempre a un documento restringido en particular.

Ejemplo:

Durante un proyecto de desarrollo software, se elabora un plan de pruebas que incluye pruebas de caja blanca. La tarea «Especificación del plan de pruebas» es una tarea, que estará asociada al documento restringido «Plan de pruebas». Además se aplicará la técnica del cálculo de casos de prueba mediante «McCAbe». Para ello, se utilizará la Herramienta Asociada «Cyclomatic» para el desarrollo de casos de prueba.

La asociación de estos cuatro elementos, junto con su justificación es una Relación Documento-Tarea-Técnica-Herramienta.

Superclases implicadas:

Las superclases implicadas en la extensión de AssignedTool son las que aparecen en la Figura 4-21. Las superclases implicadas en la extensión de ConstrainedDocument aparecen en la Figura 4-23 y las implicadas en la extensión de DocumentTaskTechniqueToolMapping en la Figura 4-22. Las clases descritas a continuación son Tool, Document y TaskTechiqueMapping. El resto de las superclases ya han sido descritas en apartados anteriores.

1. Tool (Herramienta). Una Herramienta es un instrumento que ayuda a otros productores a llevar a cabo sus responsabilidades de una forma automatizada. Es una subclase abstracta de Producer.

Capítulo 4. 4-57 Es una clase relacionada con los productores.

Atributos: No tiene atributos propios.

Relaciones

Nombre Rol Clase relacionada Significado

IsClassifiedBy N/A ToolKind Una Herramienta en el dominio del endeavour corresponde siempre con algún tipo de Herramienta en el dominio de la

metodología.

Assists N/A Producer Una Herramienta puede asistir a un conjunto de productores.

Ejemplo:

Durante un proyecto de desarrollo software, María escribe código fuente y lo compila. A continuación, crea automáticamente resguardos para las pruebas de unidades. Después de completar el conjunto de resguardos, ejecuta las pruebas de unidades. El editor de código, el compilador y el probador automático de unidades son herramientas.

2. Document (Documento). Un documento es una descripción perdurable de un

fragmento de realidad. Los documentos suelen representar modelos, pero también pueden referirse a otros temas.

Atributos

Nombre Tipo Significado

Title String El título del documento. Versión String El identificador de versión del

documento.

Relaciones

Nombre Rol Clase

relacionada

Significado

IsClassifiedBy N/A DocumentKind Una Documento en el dominio del endeavour corresponde siempre con algún tipo de Documento en el dominio de la metodología.

4-58 Capítulo 4 Relaciones

Nombre Rol Clase

relacionada

Significado

N/A Parent Document

Document Un documento puede ser padre de varios sub documentos.

N/A SubDocument Document Un documento puede ser subdocumento de varios documentos. Depicts N/A WorkProduct Un puede describir

varios productos de trabajo.

Ejemplo:

Durante una sesión con el usuario, María captura las necesidades de éste mediante unas historias de usuario en las que se describe la funcionalidad esperada y los criterios de aceptación. Cada una de estas historias de usuario es un documento.

3. TaskTechniqueMapping (Correspondencia entre tareas y técnicas). Un

TaskTechniqueMapping es una asociación de uso entre una tarea dada y una herramienta dada. Un TaskTechniqueMapping representa el hecho de que, en el dominio del endeavour, se utiliza una técnica dada para llevar a cabo una tarea dada.

Atributos

Nombre Tipo Significado

Justification String Justificación de porqué la técnica asociada ha sido elegida para llevar a cabo la tarea.

Relaciones

Nombre Rol Clase

relacionada

Significado

IsClassifiedBy N/A TaskTechique- MappingKind

Una asociación tarea- técnica en el dominio del endeavour corresponde siempre con algún tipo de asociación tipo de tarea – tipo de técnica en el

Capítulo 4. 4-59

Relaciones

Nombre Rol Clase

relacionada

Significado

N/A N/A Task Una asociación tarea- técnica corresponde con una sola tarea.

N/A N/A Technique Una asociación tarea- técnica corresponde con una sola técnica.

Ejemplo:

Durante un proyecto de desarrollo software, María tiene que identificar las clases candidatas del sistema. Para conseguirlo, comprueba la metodología que se está utilizando y comprueba que hay dos tipos de técnicas recomendadas para llevar a cabo una tarea de este tipo: “Análisis de textos” y “Tarjetas CRC”. Como María tiene cierta independencia en este punto, decide utilizar “Análisis de textos”. La asociación entre la tarea “Identificar clases” que está realizando María y la técnica elegida por ella (“Análisis de textos”), junto con la justificación de esta elección es un TaskTechniqueMapping.

Figura 4-21. Superclases de Tool.

4-60 Capítulo 4

Figura 4-23. Superclases de Document. Figura 4-22. Superclases de

Capítulo 4. 4-61