Adrianeth Trinchet Castro / adrianet.trinchet@grm.jovenclub.cu
El modelado de sistemas software es una técnica para tratar con la complejidad de estos sistemas. El uso de modelos ayuda al ingeniero de software a visualizar el sistema a construir. Además, los modelos de un nivel de abstracción mayor pueden utilizarse para la comunicación con el cliente.
En las ultimas décadas, para el desarrollo de aplicaciones educativas se emplearon métodos que incorporaron en muchos casos notaciones de modelación, entre los que se pueden mencionar: OOHDM en el año 1996, así como más reciente en el año 2001, OMMMA-L, el cual está basado en UML, estándar mundial y altamente aceptado por los desarrolladores para la elaboración de aplicaciones convencionales.
UML no soporta todos los aspectos de las aplicaciones multimedia de una forma adecuada e intuitiva, especialmente las características del lenguaje para modelar los aspectos de la interfaz de usuario, que no se aplican explícitamente en los entornos multimedia, otros conceptos de UML no son aplicables a la multimedia de manera formal. Es por estas razones y gracias a las facilidades de extensión del lenguaje que se desarrolla en la Universidad de las Ciencias Informáticas el Lenguaje de Modelado Orientado a Objetos para Aplicaciones Educativas y Multimedia (ApEM-L 1.0 año 2007) respondiendo a la necesidad de emplear un lenguaje rotacional que se ajustara a las características del software educativo cubano y que representara en modelos: la estructura lógica, el comportamiento y las funciones del sistema a desarrollar.
El autor principal de ApEM-L como extensión de UML es Febe Ángel Ciudad Ricardo: Profesor de postgrados del área de la especialidad y las ciencias pedagógicas. Actualmente estudiante del Programa de Doctorado Curricular Colaborativo en Ciencias de la Educación – Tecnologías de la Educación en la Universidad de La Habana (UH). Graduado de Ingeniería en Informática y Master en Informática Aplicada. Profesor Asistente de la UCI, con más de 4 años de experiencia como Jefe de departamento docente en el área de las ciencias técnicas informáticas. Es autor de más de 10 artículos científicos y 19 ponencias en el área de las ciencias informáticas y en especial en la Ingeniería de Software.
ApEM-L 1.0 se utiliza en la mayoría del entorno productivo cubano de software educativo, posibilitando la identificación de posibles mejoras, respondiendo a las necesidades de los propios desarrolladores que lo utilizan, con el objetivo de elevar la comprensión del lenguaje. Tal es el caso de la definición del principio de organización del sistema, el refinamiento de algunos artefactos, la incorporación de nuevos estereotipos restrictivos y descriptivos, y la organización de sus áreas y vistas para convertirlo en una nueva versión ApEM-L 1.5.
Dentro de sus principales características podemos destacar que ApEM-L no modifica la semántica de UML, sino que trabaja en estereotipos restrictivos, por lo que a su vez produce modificaciones descriptivas y decorativas en la representación de los componentes del lenguaje base. En ApEM-L están incluidos los elementos más significativos de OMMMA-L (Lenguaje para la modelación Orientada a Objetos de Aplicaciones Multimedia), para de esta forma lograr una extensión consistente para la modelación de aplicaciones educativas. APEM-L es un lenguaje orientado a la descripción de las vistas del software educativo, además responde a una mejor modelación de aplicaciones educativas ya que en él se incorporan nuevos diagramas y estereotipos que permiten una mejor comprensión del funcionamiento de aplicaciones con estas características.
Objetivos de ApEM-L
– Desarrollar una extensión del lenguaje de modelado UML, tomándolo como base e incorporando a este, a través de sus mecanismos de extensión, los elementos fundamentales del proceso productivo UCI.
– Incorporar los elementos más significativos de extensiones anteriores como OMMMA – L 2001 y a su vez respetar lo establecido por el estándar OCL (Lenguaje de Modelación de Objetos) 2003, para de esta forma lograr una extensión consistente y escalable en el tiempo.
– No complicar ApEM-L con elementos que lo convirtieran o abarcaran un método de desarrollo de aplicaciones educativas, sino sólo el área de la representación y la documentación de este tipo de aplicaciones.
– No circunscribir ApEM-L a un proceso de desarrollo en específico, sino expresarlo de manera tal que pueda ser utilizado con cualquiera de los existentes, aunque se sugiere la utilización de procesos de desarrollo iterativo, incremental y basado en prototipos, que permitan la modelación de sistemas orientados a objetos.
Este lenguaje cuenta con varias áreas conceptuales que se describen a continuación:
Estructura lógica: está compuesta por la Vista Estática y la Vista de Arquitectura. Cualquiera de los modelos presentados por ApEM-L define los conceptos clave de la aplicación que modela, las propiedades internas de estos y sus relaciones. Estos conceptos son modelados como clases, describiendo cada una un conjunto de objetos que almacenan información y se comunican para implementar su comportamiento. La información almacenada se representa como atributos de estas clases y las operaciones a través de los métodos de dichas clases. A su vez la vista de arquitectura la componen el diagrama de componentes y el diagrama de despliegue.
Comportamiento dinámico: el comportamiento de la aplicación está descrito por la vista de comportamiento, la cual está compuesta por los diagramas: de actividad, de secuencia, de colaboración y de estados, donde solo ha sido modificado el segundo de los listados anteriormente; adicionando una variable de tiempo donde quiera que sea necesario su especificación para un mejor entendimiento.
Gestión del modelo: esta área es la que ha sufrido grandes cambios tanto en su carácter semántico como sintáctico, con la incorporación de estereotipos restrictivos en todos los diagramas a partir de nuevos conceptos incorporados a los diagramas de clases originales básicos de UML. Se crean dos nuevos diagramas: el de estructura de la presentación y el de estructura de la navegación.
ApEM-L está dividido en 4 vistas: Vista Estática, Vista de Arquitectura, Vista de Comportamiento y Vista de Presentación, cada una de estas modela un aspecto del sistema. La división ha sido sobre la base de las áreas conceptuales ya presentadas: estructura lógica, comportamiento dinámico y gestión del modelo.
Vista Estática: está compuesta por el Diagrama de clases. El mismo estará dividido en dos zonas, la de la izquierda dedicada al árbol jerárquico de las clases modelo entidad medias que representan los recursos mediáticos de la aplicación y en la zona de la derecha del diagrama las clases que controlan la lógica del negocio de la aplicación.
Vista de Arquitectura: está compuesta por el diagrama de componentes y el diagrama de despliegue. En el diagrama de componentes se incorporan restricciones en los tipos de componentes, normalmente estos podrán ser organizados por paquetes en el interior de estos se encontrarán las clases vista, modelos, controladoras, HLL y modelo-entidad, organizadas internamente en el paquete Presentación.
Vista de Comportamiento: está compuesta por cuatro diagramas, de actividades, de estado, de secuencia y de colaboración; siendo estos dos últimos generalizados en diagramas de interacción, pues como plantea la semántica de UML, representan la manera en la que los objetos de la aplicación intercambian mensajes para darle cumplimiento a sus responsabilidades. En ApEM – L solo ha sido modificado el diagrama de interacción de secuencia, con un estereotipo para denotar el tiempo como variable de sumo interés en aplicaciones de este tipo.
Vista de Presentación: esta vista es completamente introducida por ApEM – L en ella aparecen dos nuevos diagramas: diagrama de estructura de navegación y el diagrama de estructura de presentación incorporando un conjunto de estereotipos restrictivos y descriptivos para una mejor modelación de aplicaciones educativas relacionadas con tecnologías multimedia.
ApEM–L no pretende convertirse en un método de desarrollo de aplicaciones con tecnología multimedia, sino en el área de la representación y la documentación de este tipo de aplicaciones.
Dentro de las disímiles ventajas que ofrece ApEM-L podemos destacar que:
– Puede utilizar para su representación todas las herramientas CASE que existen actualmente para la modelación de UML.
– Es un lenguaje que utiliza el estándar internacional OCL, para la modelación de la programación Orientada a Objetos.
– No modifica la semántica del lenguaje base UML, sino que trabaja en estereotipos restrictivos, por lo que a su vez produce modificaciones descriptivas y decorativas en la representación de los componentes del lenguaje base.
– ApEM – L incorpora la vista de presentación como aporte fundamental a la modelación de este tipo de aplicaciones con dos diagramas que permiten definir la estructura para la navegación y la estructura para la presentación.
Premios obtenidos:
Destacado en UCIENCIA.
Ponencia de Informática 2009.
Publicación en la revista RCCI.
Se pueden emplear diferentes lenguajes de modelación pero la importancia de usar un estándar es clara, ya que provee un lenguaje común que facilita la comunicación entre los miembros de un proyecto y futuros lectores de la documentación del software. Las herramientas basadas en estos estándares pueden ser usadas para el desarrollo, prueba y validación de los modelos.
Los cambios realizados a la versión inicial de ApEM–L, sobre la base del tratamiento de los elementos ingenieriles del software educativo permiten que aspectos como: interfaces de comunicación, transiciones de estado, concurrencia y la descripción multimedia de los sucesos y eventos, sean abordados más directamente permitiendo mejores modelaciones del comportamiento de este tipo de aplicaciones. Aunque se puede seguir trabajando en estereotipos restrictivos que incorporen mayor cantidad de tratamiento de situaciones desde los conceptos abstractos de la programación y permitan mejoras sustantivas y escalables en las nuevas versiones.
Referencias
1- MSc. FEBE ÁNGEL CIUDAD RICARDO. “ApEM – L como una nueva solución a la modelación de aplicaciones educativas multimedias en la UCI”, 2007.
2- MSc. Ing. Licet Gutiérrez Mompié. “Guía metodológica para el desarrollo de software educativo”, 2010.
3- Ing. Lisandra Guibert Estrada, Ing. Enrique J Altuna, Ing. Yasmani Ceballos Izquierdo. “Arquitectura del software educativo “Mis Mejores Cuentos” utilizando herramientas libres”, 2010.
4- http://febeciudad.blogia.com/2009/021302-utilizacion-del-patron-modelo-vista-controlador-mvc-en-el-diseno-de-software-edu.php
5- http://fciudad.wordpress.com/2009/02/21/lenguaje-apem-l-version-10/
6- http://www.datasheetarchive.com/APEML-datasheet.html
7- http://www.datasheets.org.uk/APEML-datasheet.html
8- http://www.ecranesoft.com/ape/book/fap/fap/apeml.html