metodologías centradas en documentos (MeCeDo) 4.1 Introducción
4.3 Definición de MeCeDo
4.3.1 Extensión del metamodelo en el dominio de la metodología
4.3.1.3 Extensiones para una relación directa entre tipos de documentos, tipos de herramientas, tipos de tareas y tipos de técnicas
Como se ha discutido con anterioridad, el estándar SEMDM carece de la posibilidad de establecer una relación directa entre los tipos de tareas a realizar, tipos de herramientas y tipos de técnicas recomendadas para acometer los tipos de tareas. Las clases TaskKind y TechniqueKind aparecen relacionadas a través de la clase
TaskTechniqueMappingKind, que se puede extender para añadir una relación con una
clase derivada de ToolKind.
Al mismo tiempo, para nuestros propósitos, es esencial conocer para cada tipo de documento (o subdocumento) qué tipos de tareas, tipos de herramientas y tipos de técnicas deben implicarse para la construcción de dicho tipo de documentos. Por esta razón la nueva clase derivada de TaskTechniqueMappingKind tiene una asociación con la clase extendida de DocumentKind (ConstrainedDocumentKind). De esta forma, la secuencia de construcción de los tipos de documentos, 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.
4-38 Capítulo 4 Clases implicadas:
1. AssignedToolKind (Tipo de Herramienta Asignada). Un tipo de herramienta
asignada es un tipo específico de herramienta, definida por sus características, que está asignada a una relación Tipo de Documento - Tipo de Tarea - Tipo de Técnica. Con frecuencia se utilizan diferentes tipos de herramientas para representar diferentes productos tales como editores de diagramas, entornos integrados de desarrollo, sistemas de seguimiento de defectos, sistemas de mensajería o generadores de código.
AssignedToolKid es una subclase de ToolKind. Es una clase relacionada con el productor.
Atributos: No tiene atributos propios.
Capítulo 4. 4-39
Relaciones
Nombre Rol Clase relacionada Significado
Classifies N/A Tool 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 DocumentTaskTechnique ToolMappingKind
Una Herramienta Asignada de un tipo particular puede estar asignada a un tipo de relación de documento, tarea, técnica en particular.
Ejemplo:
En una metodología de desarrollo de software en particular, se pueden utilizar distintos tipos de herramientas asignada a tipos de relaciones Tipo de documentos - Tipo de tarea - Tipo de técnica. Para definir esto, el ingeniero de método puede incluir tipos de herramientas asignadas como «compilador» o «editor de diagramas».
2. ConstrainedDocumentKind (Tipo de Documento Restringido). Para establecer la
relación entre un tipo de relación Documento-Tarea-Técnica-Herramienta y los tipos de documentos, es necesario extender la clase DocumentKind en una nueva clase (ConstrainedDocumentKind). La extensión de DocumentKind se utiliza además para establecer la relación con la clase DocumentTaskTechniqueTool Mapping.
4-40 Capítulo 4
Un tipo de documento restringido es un tipo específico de documento, caracterizado por su estructura, tipo de contenido y propósito.
ConstrainedDocumentKind es una subclase de DocumentKind, como se muestra en la Figura 4-12.
Es una clase relacionada con el producto.
Atributos: No tiene atributos propios.
Relaciones
Nombre Rol Clase relacionada Significado
Classifies N/A ConstrainedDocument 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 DocumentTaskTechniqueTool
MappingKind
Un tipo de documento restringido está asociado a uno o varios tipos de relaciones tipo de documento - tarea - técnica - herramienta.
Ejemplo:
En una metodología dada, el tipo de documento restringido «Especificación de Requisitos del Sistema» está definido para representar el hecho de que, cuando dicha metodología se ejecuta, los documentos de este tipo serán creados y utilizados según sus tipos relaciones documento - tarea - técnica - herramienta.
3. DocuementTaskTechniqueToolMappingKind (Tipo de Relación Documento-
Tarea- Técnica-Herramienta). Un tipo de relación Documento-Tarea-Técnica- Herramienta es un tipo específico de relación Documento-Tarea-Técnica- Herramienta, caracterizado por los tipos de documentos, tipos de tareas, tipos de técnicas y tipos de herramientas involucrados.
DocumentTaskTechniqueToolMappingKind es una subclase de la clase TaskTechniqueMappingKind.
Capítulo 4. 4-41
Atributos: No tiene atributos propios.
Relaciones
Nombre Rol Clase relacionada Significado
Classifies N/A DocumentTask TechniqueTool Mapping
Una relación documento-tarea- té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 metodología.
Nombre Rol Clase relacionada Significado
N/A N/A TaskKind Un tipo de relación documento- tarea- técnica-herramienta corresponde siempre a un tipo particular de tarea (heredada de TaskTechniqueMappingKind). N/A N/A TechniqueKind Un tipo de relación documento-
tarea- técnica-herramienta corresponde siempre a un tipo particular de técnica (heredada de TaskTechniqueMappingKind). N/A N/A AssignedToolKind Un tipo de relación documento-
tarea- técnica-herramienta corresponde siempre a un tipo particular de herramienta asignada. N/A N/A ConstrainedDocument
Kind
Un tipo de relación documento- tarea- técnica-herramienta corresponde siempre a un tipo particular de documento restringido.
Ejemplo:
Cuando se ejecuta cierta metodología de desarrollo de software, las tareas de tipo «Obtención de requisitos del sistema» se pueden realizar mediante entrevistas con los usuarios y, opcionalmente, mediante la organización de grupos de interés. Para describir esto, el ingeniero de método introduce los tipos de técnicas «Entrevista a usuarios» y «Grupos de interés», y los asocia con la tarea «Obtención de requisitos del sistema» mediante el apropiado tipo de relación tarea-técnica. En ésta metodología, además se quiere detallar que los tipos de herramientas «CRM» que se utilizan en la tarea, lo hagan exclusivamente con el tipo de técnica «Grupos de interés» y los tipos herramientas «Planificador» lo hagan con el tipo de técnica «Entrevista a usuarios». Para ello, se establecen dos instancias de tipo de relación documento-tarea-técnica-herramienta. Una relacionará la tarea del tipo
4-42 Capítulo 4
«Obtención de requisitos del sistema» con la técnica de tipo «Entrevista a usuarios» y con la herramienta del tipo «CRM». Además se vinculará todo ello con el tipo de documento «Especificación de requisitos del software». La segunda instancia de tipo de relación documento-tarea-técnica- herramienta. Una relacionará la tarea del tipo «Obtención de requisitos del sistema» con la técnica de tipo «Grupos de interés» y con la herramienta del tipo «Planificador» Además se vinculará todo ello con el tipo de documento «Especificación de requisitos del software».
Superclases implicadas:
Las superclases implicadas en esta extensión son las que aparecen en la Figura 4-14, la
Figura 4-13, y la Figura 4-15
1. ToolKind (Tipo de herramienta). Un ToolKind es un tipo de herramienta
específico, caracterizado por sus rasgos o capacidades. Con frecuencia se utilizan diferentes tipos de herramientas para representar diferentes productos como editores de diagramas, entornos de desarrollo integrados, sistemas de seguimiento de errores, sistemas de desarrollo colaborativo o generadores de código.
Atributos: Esta clase no tiene atributos propios.
Relaciones
Nombre Rol Clase relacionada Significado
Classifies N/A Tool Un tipo de
herramienta en el dominio de la metodología corresponde siempre con alguna herramienta en el dominio del endeavour.
Assists N/A ProducerKind Herramientas de un tipo en particular puede dar asistencia a productores de algún tipo en particular.
Capítulo 4. 4-43
Ejemplo:
En una metodología de desarrollo software en particular, se pueden utilizar diferentes tipos de herramientas. Para expresar esto, el ingeniero de método introduce los tipos de herramienta “Compilador” y “Editor de diagramas”.
2. DocumentKind (Tipo de documento). Un DocumentKind es un tipo específico
de documento, caracterizado por su estructura, tipo de contenido y propósito.
Atributos: Esta clase no tiene atributos propios.
Relaciones
Nombre Rol Clase relacionada Significado
Classifies N/A Document Un tipo de documento en el dominio de la metodología corresponde siempre con un documento en el dominio del endeavour. N/A Parent- Document- Kind DocumentKind Un tipo de documento puede ser padre de distintos tipos de subdocumentos. N/A Sub- Document- Kind DocumentKind Un tipo de documento puede ser subdocumento de varios tipos de documentos. Depicts N/A WorProductKind Un tipo de
documento puede describir varios tipos de productos.
N/A N/A Notation Un tipo de
documento utiliza una notación dada.
Ejemplo:
En una metodología dada, el tipo de documento “Especificación de Requisitos del Sistema” se define para el hecho de que, cuando dicha metodología se ejecute, los documentos de este tipo serán creados o usados.
4-44 Capítulo 4
3. WorkProductKind (Tipo de producto de trabajo). Un WorkProductKind es un
tipo específico de producto de trabajo, caracterizado por su naturaleza y sus contenidos y la intención para lo que será usado. Se definen diferentes tipos de productos de trabajo para dar contenido y o “plantillas” de representación que puedan ser aplicadas a los correspondientes productos de trabajo.
WorkProductKind es una clase abstracta que se especializa en DocumentKind, ModelKind, SoftwareItemKind, HardwareItemKind y CompsiteWorkProduct Kind. En el caso que nos ocupa, la especialización a tener en cuenta es DocumentKind.
Atributos
Nombre Tipo Significado
Description String La descripción de la naturaleza de los contenidos y, opcionalmente, el formato de representación de los productos de trabajo de este tipo.
Relaciones
Nombre Rol Clase relacionada Significado
Classifies N/A WorkProduct Un tipo producto de trabajo en el dominio de la metodología corresponde siempre con un producto de trapajo en el dominio del endeavour. N/A Represented- Subject
DocumentKind Un tipo de producto de trabajo puede ser descrito por
diferentes tipos de documentos.
N/A Subject ActionKind Un tipo de producto de trabajo está relacionado siempre con algún tipo de acción que lo produce.
Nombre Rol Clase relacionada Significado
IsPartOf Component CompositeWorkProduc- Kind
Un tipo producto de trabajo puede ser parte de un tipo de producto de trabajo compuesto.
Capítulo 4. 4-45
Ejemplo:
En una metodología dada, se define el tipo de producto de trabajo “Especificación de Requisitos del Sistema” (un tipo de documento) para representar el hecho de que, cuando se ejecute la metodología, se crearán o utilizarán estos tipos de productos de trabajo.
Las demás superclases, representadas en las figuras Figura 4-14, Figura 4-13 y Figura 4-15 ya han sido descritas con anterioridad.
Figura 4-14. Superclases de TaskTechniqueMappingKind
Figura 4-13. Superclases de DocumentKind.
4-46 Capítulo 4
Capítulo 4. 4-47