Este proyecto tratará de obtener automática el diagrama de transición de estados de un sistema a partir de un diagrama que describa la interacción entre los principales componentes del sistema.
El objetivo principal será implementar esta transformación para lo que tendrán que cumplirse unos subobjetivos específicos, como el estudio y modelado de la interacción y actividad en el sistema, tenías de transformación y validación de estas transformaciones.
Esta generación automática puede ser muy útil para la generación autómatica de código a partir de un modelo gráfico de la interacción en el sistema, ya que la disposición de un diagrama de estados facilita esta labor.
La metodología a utilizar en este proyecto será Scrum, obteniendo el producto final de una forma iterativa e incremental, que nos permite tener en un prototipo del mismo en fases tempranas de su desarrollo.
Plan de trabajo: En primer lugar, se realizará el estudio del estado del arte relacionado con el modelado y validación de sistemas, para después pasar a modelar la interacción de los componentes del sistema. Una vez tenemos el modelo de interacción se generaría automáticamente el diagrama de actividad correspondiente al mismo y se validaría esta trasformación.
Competencias. Las competencias a conseguir con este trabajo serían las siguientes:
[IS1] Capacidad para desarrollar, mantener y evaluar servicios y sistemas software que satisfagan todos los requisitos del usuario y se comporten de forma fiable y eficiente, sean asequibles de desarrollar y mantener y cumplan normas de calidad, aplicando las teorías, principios, métodos y prácticas de la Ingeniería del Software.
[IS3] Capacidad de dar solución a problemas de integración en función de las estrategias, estándares y tecnologías disponibles.
[IS2] Capacidad para valorar las necesidades del cliente y especificar los requisitos software para satisfacer estas necesidades, reconciliando objetivos en conflicto mediante la búsqueda de compromisos aceptables dentro de las limitaciones derivadas del coste, del tiempo, de la existencia de sistemas ya desarrollados y de las propias organizaciones.
[IS4] Capacidad de identificar y analizar problemas y diseñar, desarrollar, implementar, verificar y documentar soluciones software sobre la base de un conocimiento adecuado de las teorías, modelos y técnicas actuales.
[IS5] Capacidad de identificar, evaluar y gestionar los riesgos potenciales asociados que pudieran presentarse.
[IS6] Capacidad para diseñar soluciones apropiadas en uno o más dominios de aplicación utilizando métodos de la ingeniería del software que integren aspectos éticos, sociales, legales y económicos.
[TI1] Capacidad para comprender el entorno de una organización y sus necesidades en el ámbito de las tecnologías de la información y las comunicaciones.
[TI2] Capacidad para seleccionar, diseñar, desplegar, integrar, evaluar, construir, gestionar, explotar y mantener las tecnologías de hardware, software y redes, dentro de los parámetros de coste y calidad adecuados.
[TI3] Capacidad para emplear metodologías centradas en el usuario y la organización para el desarrollo, evaluación y gestión de aplicaciones y sistemas basados en tecnologías de la información que aseguren la accesibilidad, ergonomía y usabilidad de los sistemas.
[TI5] Capacidad para seleccionar, desplegar, integrar y gestionar sistemas de información que satisfagan las necesidades de la organización, con los criterios de coste y calidad identificados.
[TI6] Capacidad de concebir sistemas, aplicaciones y servicios basados en tecnologías de red, incluyendo Internet, web, comercio electrónico, multimedia, servicios interactivos y computación móvil.
[TI7] Capacidad para comprender, aplicar y gestionar la garantía y seguridad de los sistemas informáticos.