================================================ Fase 5 - Modelado y Especificación de Objetivos ================================================ Introducción ============= Todo sistema (software) se desarrolla con la intención de satisfacer un conjunto de necesidades de unos usuarios finales determinados. Si el sistema fallase a la hora de satisfacer estas necesidades, tal sistema resultaría inútil, por lo que carecería de valor alguno. Por tanto, a nivel de Ingeniería del Requisitos, es de crucial importancia saber identificar y especificar de forma adecuada cuáles son las diferentes necesidades de los usuarios que interactuarán de una manera u otra con el sistema. Dichas necesidades representan los *objetivos* que deberá satisfacer el sistema. La satisfacción de dichos objetivos deberá guiar en todo momento el proceso de diseño del sistema, ya que de esta satisfacción dependerá el éxito o el fracaso del sistema. .. Estos objetivos suelen conformar una compleja e intrincada red de relaciones. Estas relaciones indican, entre otras cuestiones, cómo los objetivos de alto nivel se descomponen en una serie de objetivos de bajo nivel, o cómo un determinado objetivo influye o afecta a otros objetivos del sistema. La finalidad general de esta práctica es aprender a identificar, modelar y especificar los objetivos que debe satisfacer un sistema software, así como las relaciones existentes entre dichos objetivos. Para alcanzar dicha meta, se deberán cumplir los objetivos que se describen en la siguiente sección. Objetivos ========== Los objetivos concretos de esta práctica son: #. Ser capaz de identificar objetivos mediante el examen del material obtenido en una actividad de captura de requisitos. #. Ser capaz de crear *tareas* que ayuden a satisfacer los objetivos identificados. #. Ser capaz de modelar objetivos utilizando una notación concreta, más específicamente, la notación GRL. #. Ser capaz de especificar criterios de verificación para objetivos blandos. .. #. Ser capaz de utilizar la herramienta `jUCMNav `_ para la creación de modelos de objetivos. .. #. Ser capaz de especificar objetivos en lenguaje natural mediante plantillas estandarizadas. La siguiente sección describe las actividades que se deberán realizar para alcanzar estos objetivos. Actividades ============ Para modelar y especificar los objetivos del sistema a desarrollar cada equipo deberá llevar a cabo las siguientes actividades: #. Identificar los objetivos que deberá satisfacer el sistema a partir de la información obtenida en las entrevistas realizadas en la fase anterior del proyecto. En el caso de que, tras examinar el material recopilado, se advierta que este material es insuficiente o incompleto, se recomienda contactar con el profesor para repetir la entrevista. #. Crear un modelo GRL inicial que contenga tanto los objetivos identificados como las relaciones entre dichos objetivos. Este modelo podrá crearse tanto utilizando jUCMNav como manualmente sobre papel. #. Refinar el modelo de objetivos hasta alcanzar su completitud, proporcionando tareas concretas que deberá implementar el futuro sistema para satisfacer las necesidades de sus usuarios. Las tareas deben aparecer modeladas explícitamente. #. Especificar los criterios de verificación de los objetivos blandos identificados, hasta un máximo de un objetivo blando por miembro del equipo. .. #. Especificar un objetivo del nivel cielo utilizando para ello las plantillas proporcionadas. .. #. Por último, cada miembro del grupo deberá especificar, de manera individual, utilizando la correspondiente plantilla, un objetivo cometa o del nivel de mar. .. Para la especificación de objetivos se proporciona: .. #. :download:`Una plantilla para la especificación detallada de objetivos ` .. #. :download:`Ejemplos de especificación de objetivos ` .. Para la especificación de valores de Kano de cada objetivo identificado se utilizará la clasificación y conjunto de valores proporcionados por la herramienta Scrumdesk, que es la herramienta que se utilizará en cuarto curso para la realización del proyecto integrado. Dicho clasificación está disponible en este `enlace `_. Elementos a Entregar y Aclaraciones ======================================= Se deberán entregar para su evaluación los siguientes elementos: #. *Modelo de objetivos*: Se deberán entregar uno o más archivos de imagen en formato .png o .jpg, con los diagramas correspondientes al modelo de objetivos creado. Se recomienda además incorporar un fichero de texto con la descripción del modelo de objetivos, de manera que se pueda entender mejor la lógica existente tras su diseño. Este elemento se entregará y evaluará de manera grupal. #. *Criterios de verificación de los objetivos blandos*: Entregar un documento de texto, en formato libre, que contenga los criterios de verificación de los objetivos blandos seleccionados. Cada criterio deberá estar precedido por el nombre del objetivo blando al que corresponde. Este elemento se puede entregar tanto de manera grupal como individual, a decisión de cada equipo de trabajo. Como puede que no haya objetivos blandos para todos los integrantes de un equipo, los objetivos blandos identificados podrían compartirse entre varios miembros de un equipo. .. #. *Plantillas de especificación de objetivos*: Las plantillas de especificación de objetivos se entregarán en un único documento en formato .pdf. Dicho documento deberá contener la especificación de un objetivo del nivel cielo, y tantos objetivo del nivel cometa o mar como alumnos tenga el grupo. Además, la autoría de cada objetivo del nivel cometa o mar debe estar claramente identificada. El conjunto de ficheros resultantes se entregará a través de la plataforma *Moodle* siguiendo las instrucciones en ella proporcionadas y dentro de las fechas establecidas. Las entregas fuera de dichas fechas o con un formato diferente al solicitado tendrán una calificación de cero. Cada documento se evaluará y calificará conforme a los criterios especificados en la siguiente sección. Criterios de Evaluación ========================= La calificación de la fase de modelado y especificación de objetivos vendrá determinada por la ponderación de las calificaciones de los siguientes apartados: #. Completitud y Modelado de Objetivos (7.5 puntos). #. Especificación de Criterios de Verificación de Objetivos Blandos (2 puntos). #. Ortografía, Gramática y Maquetación (0.5 puntos). .. #. Especificación de Objetivos de Nivel Cielo (1 punto) .. #. Especificación de Objetivos de Nivel Cometa o Mar (1.5 puntos) Todos los apartados tendrán una calificación común a todo el grupo, salvo la *Especificación de Criterios de Verificación de Objetivos Blandos*, que será compartida por los autores de cada criterio de verificación. Estos autores deberán aparecer listados bajo el nombre de cada objetivo blando para el que se haya proporcionado un criterio de verificación. *Ortografía, Gramática y Maquetación* se evaluará conforme a los criterios establecidos para ello en el correspondiente apartado de la sección de elementos transversales. El resto de elementos se calificará mediante el procedimiento y los criterios a continuación proporcionados. Rúbrica de Completitud y Modelado de Objetivos ------------------------------------------------ **Nivel Aprobado** Para poder obtener una calificación de entre 5 y 6.9 puntos deberán satisfacerse las siguientes condiciones: #. Los objetivos del usuario no identificados tras procesar los resultados de la actividad de captura de requisitos son residuales y, en ningún caso se tratan de objetivos de gran importancia. #. Existe una ausencia general de objetivos inventados que no se correspondan con objetivos reales del usuario. #. Se ha identificado el número mínimo de tareas especificado por el profesor y estas tareas satisfacen objetivos reales del usuario. #. El modelo creado es conforme a la sintaxis de GRL. A este respecto, los posibles errores de sintaxis que pudiese haber deben ser muy residuales. #. No se utilizan elementos de la sintaxis de GRL, como recursos o dependencias, de manera injustificada y aparentemente aleatoria. #. Existe un número moderado de errores en las descomposiciones de objetivos utilizadas, incluyendo los pesos de las descomposiciones. Este número no podrá ser superior a la mitad del número de descomposiciones utilizadas. #. Existe un número moderado de errores en la clasificación de los objetivos como duros o blandos para objetivos cuya naturaleza sea evidente. Este número de errores no podrá ser superior a un cuarto del número de objetivos esta naturaleza. #. Existe un número moderado de errores en la clasificación de los objetivos como duros y blandos para objetivos cuya naturaleza sea difusa. Este número de errores no podrá ser superior a la mitad del número de objetivos de esta naturaleza. #. Existe un número moderado de errores en la identificación de tareas, lo que incluye la implementación de estas tareas por un equipo de desarrollo profesional sea factible. Este número de errores identificados no podrá ser superior a un tercio del número de tareas identificadas. **Nivel Notable** Para poder obtener una calificación de entre 7 y 8.9 puntos deberán satisfacerse las condiciones del nivel aprobado y siguientes restricciones adicionales: #. Los objetivos del usuario no identificados tras procesar los resultados de la actividad de captura de requisitos son muy residuales y se trata de objetivos anecdóticos. #. El numero de objetivos inventados que no se correspondan con objetivos reales del usuario es prácticamente nulo. #. Existe un número leve de errores en las descomposiciones de objetivos utilizadas, incluyendo los pesos de las descomposiciones. Este número no podrá ser superior a un tercio del número de descomposiciones utilizadas. Además, estos errores no deberán ser errores evidentes, como la utilización de descomposiciones para indicar dependencias temporales entre objetivos o el uso de descomposiciones AND abusivas. #. Existe un número muy leve de errores en la clasificación de los objetivos como duros o blandos para objetivos cuya naturaleza sea evidente. Este número de errores deberá ser prácticamente cero. #. Existe un número leve de errores en la clasificación de los objetivos como duros o blandos para objetivos cuya naturaleza sea difusa. Este número de errores no podrá ser superior a un tercio del número de objetivos de esta naturaleza. #. Existe un número residual de errores en la identificación de tareas, lo que incluye que la implementación de estas tareas por un equipo de desarrollo profesional sea factible. Este número de errores no podrá ser superior a tres tareas. **Nivel Sobresaliente** Para poder obtener una calificación de entre 9 y 10 puntos deberán satisfacerse las condiciones de los niveles aprobados y notable, así como las siguientes restricciones adicionales: #. El número de tareas especificadas supera el mínimo especificado para alcanzar el nivel de sobresaliente y estas tareas satisfacen objetivos reales del usuario. Además, estas tareas demuestran cierta creatividad por parte del equipo de trabajo. #. El numero de objetivos inventados que no se corresponden con objetivos reales del usuario es nulo. #. Existe un número residual de un máximo de dos o tres errores en las descomposiciones de objetivos utilizadas, incluyendo los pesos de las descomposiciones. #. Existe un número nulo de errores en la clasificación de los objetivos como duros o blandos para objetivos cuya naturaleza sea evidente. #. Existe un número residual de un máximo de dos errores en la clasificación de los objetivos como duros o blandos para objetivos cuya naturaleza sea difusa. #. Existe un número prácticamente nulo de máximo un error en la identificación de tareas, lo que incluye que la implementación de estas tareas por un equipo de desarrollo profesional sea factible. .. note:: Cualquier error no recogido en esta rúbrica pero que constituya un error conceptual que demuestra una pobre comprensión del funcionamiento de los modelos de objetivos podrá bajar sensiblemente los rangos de calificación establecidos en esta rúbrica. Para comprobar que los elementos de un modelo de objetivos son correctos se puede utilizar la siguiente lista de comprobación: #. Los nombres de los objetivos contienen un verbo. #. Para cada relación AND, la no satisfacción del padre debida a la no satisfacción de cualquiera de sus hijos es obvia y no es fácilmente refutable. #. Para cada relación OR, la satisfacción inmediata del padre debida a la satisfacción de cualquiera de sus hijos es obvia y no es fácilmente refutable. #. Por cada descomposición basada en una serie de contribuciones, la sustitución de dicha serie de contribuciones por una descomposición AND u OR no es obvia y fácilmente argumentable. #. Los hijos de un padre sirven para responder a la pregunta de cómo se alcanza el objetivo especificado por el padre. #. El padre un hijo sirve para responder, en parte, a la pregunta de por qué se desea satisfacer un objetivo hijo. #. El peso de cada contribución es adecuado dentro del contexto del modelo de objetivos. #. La suma de las ponderaciones en una descomposición basada en contribuciones proporciona un valor en torno a 100. #. Las tareas se utilizan correctamente para modelar la existencia de escenarios (e.g., casos de uso) que dan lugar a la satisfacción de uno o más objetivos. #. Cuando aparecen objetivos de nivel pez, éstos son relevantes para la aplicación. Especificación de Criterios de Verificación de Objetivos Blandos ----------------------------------------------------------------- Para calificar la corrección de los criterios de verificación especificados, se analizará el grado de satisfacción de los siguientes elementos: #. El criterio de verificación establece un procedimiento de medida claro que permita asociar un determinado valor al grado de satisfacción del objetivo. #. El procedimiento de medida mide lo que tiene que medir y no otra cosa. Por ejemplo, si el objetivo es reducir el número de errores, no se trata de inferir que no hay errores porque los usuarios están contentos con el sistema, sino que se diseña un procedimiento para ver cuántos errores se han conseguido eliminar, con independencia de cómo afecten esos errores a la satisfacción de los usuarios. #. El procedimiento de medida considera un número suficiente de casos y contextos, de manera que sus medidas puedan considerarse representativas de un amplio número de situaciones y no de un hecho aislado. Por ejemplo, si se trata de medir cuánto tarda un usuario en realizar una operación, se toman medidas con diferentes grupos de usuarios, perteneciendo cada grupo a un perfil de usuario diferente, en lugar de utilizarse un único usuario, o usuarios de un único tipo. .. Especificación de Objetivos de Nivel Cielo, Cometa y Mar .. --------------------------------------------------------- .. Para calificar la corrección de las especificaciones de objetivos creadas, se verificará el grado de satisfacción de los siguientes elementos: .. #. Cada objetivo está correctamente identificado. .. #. El nombre de cada objetivo proporciona una idea clara del propósito de dicho objetivo. Para ello, se recomienda que el objetivo comience por verbo que indique la acción a realizar. En el caso de los objetivos blandos, se recomienda añadir algún adverbio o adjetivo al nombre del objetivo, de manera que quede más claro cómo se puede graduar el objetivo. .. #. Cada objetivo está correctamente identificado como duro o blando. .. #. Si el objetivo es blando, dicho objetivo tiene definido un criterio de verificación que permite medir con claridad el grado de satisfacción del objetivo. .. #. El nivel del objetivo es correcto y no es fácilmente rebatible. .. #. El valor de Kano asignado al objetivo es correcto y no es fácilmente rebatible. .. #. La lista de actores involucrados o afectados por el objetivo es correcta, conteniendo todos actores relevantes para el objetivo y no conteniendo actores que se puedan considerar como irrelevantes. .. #. La descripción del objetivo expresa un deseo o intención de un determinado actor o conjunto de actores. .. #. La descripción del objetivo da una idea clara y precisa del beneficio que espera obtener el actor mediante la satisfacción de dicho objetivo. .. #. El apartado de contribuciones describe como el objetivo especificado contribuye a satisfacer uno o más objetivos padre. .. #. Por cada contribución descrita, el peso de dicha contribución está debidamente justificado. .. #. La justificación del peso de cada contribución no es una simple réplica de la descripción asociada a su valor cualitativo. Por ejemplo, para una contribución de tipo *make*, la justificación de que la satisfacción del hijo es suficiente para la satisfacción del padre no sería una justificación aceptable. En este caso, habría que explicar por qué la satisfacción del objetivo, por si sola, es suficiente para alcanzar la satisfacción del padre, no siendo necesaria la satisfacción de ningún otro objetivo hijo. .. #. Toda contribución que aparece en el modelo de objetivos está descrita en el correspondiente apartado de contribuciones, y viceversa. .. #. Todo objetivo referenciado en la especificación del objetivo está también contenido en el modelo de objetivos.