Elementos de Modelado IFML

Parameters

Elemento básico con tipo y nombre, dependiendo de su función pueden ser de entrada o de salida (input or output parameter).

ConceptoSignificadoNotación IFML
ParameterUn valor con tipo y nombre<Parameter>State: String
Parameter BindingEspecifica que un parámetro de una fuente está asociado con un parámetro de salida de un destino.
Parameter Binding GroupConjunto de Parameter Binding asociados a un Interaction Flow (siendo ello un Navigation Flow o un Data Flow)

Events

Son acciones en el modelo y afectan a la aplicación. Se dividen en eventos de captura (catching events) y eventos de lanzado (throwing events).

ConceptoSignificadoNotación IFML
EventOcurrencia que afecta al estado de la aplicación.Catching Event:Throwing

Event:

Componentes (View Component)

Elemento que muestra contenido e interactúa con otros componentes. Acepta parámetros de entrada y puede generar parámetros de salida, por ejemplo una lista.

ConceptoSignificadoNotación IFML
View ComponentElemento de la interfaz que muestra contenido y acepta input.
View Component PartUna parte de un View Component que puede no existir por sí misma. Puede disparar Events y tener Interaction Flows de entrada y de salida. Un View Component Part puede contener otros View Component Parts.

Contenedores (View Containers)

Es un elemento de la interfaz que contiene a otros elementos que muestran contenido. Contiene propiedades como: Default View Container, para marcarlo por defecto, Landmark view container para hacerlo visible para navegar, o ser excluyente al mostrarse alternativamente a otros contenedores, XOR view container. Por ejemplo, una página Web

ConceptoSignificadoNotación IFML

View Container
Elemento de la interfaz que abarca elementos para mostrar contenido y soporta interacción y/u otros View Container
XOR View ContainerView Container que consta de View Container hijos que son mostrados alternativamente
Landmark View ContainerView Container que es alcanzable de cualquier otro lugar del interfaz de usuario sin tener un flujo de interacción explicito hacia él

Flows


Flows
Concepto Significado Notación IFML
Navigation Flowuna dependencia de entrada-salida.La fuente del link tiene una salida que es asociada con la entrada del link destino.
Data flowPeso de datos entre View Components o Action como consecuencia de una interacción de usuario anterior

Activation Expressions

Activation Expresions
ConceptoSignificadoNotación IFML
Activation ExpressionExpresión booleana asociada con un View Element, View Component Part o Event; Si es verdadero, el elemento es activado.

Actions
ConceptoSignificadoNotación IFML
ActionPieza de la lóica de negocio disparada por un evento; puede ser del lado del servidor (por defecto) o del lado del cliente, denotado como [Client]

Modules

  • Tienen como objetivo en globar un fragmento de diagrama IFML en un contenedor paa crear una definición de módulo con una funcionalidad concreta, por ejemplo: todas las acciones necesarias que intervienen en una Web de comercio electrónico

Modules
ConceptoSignificado Notación IFML
Modulepieza de interfaz de usuario y sus correspondientes actions, la cual puede ser reutilizada para mejorar la mantenibilidad de los modelos IFML
Input PortPunto de interacción entre el Module y su entorno que colecta Interaction Flows y parámetros entrantes al Module.
Output PortPunto de interacción entre el Module y su entorno que colecta Interaction Flows y parámetros salientes del Module.

Interaction Flow Modeling Languege: características

Características de IFML

  • Nace de WebML y Webratio
  • Fue adoptado como estándar por el Object Management Group (OMG) en Marzo de 2013.
  • En Febrero de 2014 se emitió la versión Beta 2
  • En Marzo de 2015 se convirtió en IFML 1.0

Permite Definir:

  • Ventanas y contenido
  • Organización de los componentes en jerarquías
  • Los eventos (interacción del usuario con la aplicación ).
  • Interacción entre los componentes.
  • Enlazar los componentes de visualización y datos.

No permite definir:

  • La ubicación de ventanas y contenidos
  • Propiedades gráficas ( colores y fuentes)
  • Renderizado

Ventajas

  • Especificar formalmente el front-end
  • Separación de conceptos (interacción de usuarios y back-end)
  • Explicar fácilmente el diseño e interacción de la aplicación a los stakeholders sin conocimientos técnicos
  • generación de código

WebML – Web Modeling Language

  • Propuesto por el Politécnico de Milán
  • Es una de las metodologías más populares para el desarrollo de aplicaciones web
  • Cuenta con soporte en herramienta con WebRatio
  • Ha servido como Base para el desarrollo del primer lenguaje estándar para el desarrollo de aplicaciones Web IFML (Internation Flow Modeling Language)
  • Modelado orientado a aplicaciones con uso intensivo de datos, donde hay gran cantidad de datos, con estructura compleja y las aplicaciones tienen que acceder a ellos.
  • Modelado de aplicación Web en 4 fase:
    • Modelo de datos
    • Diseño de Aplicaciones Telemáticas
    • Modelo de datos
    • Modelo de hipertexto
    • Modelo de gestión de contenido
    • Modelo presentación

Principales metodologías

  • NDT
  • UWE
  • WebML

UWE: UML-Based Web Engineering

  • Nace en 1999
  • Es una de las metodologías más populares por lo que hoy en día sigue en constante actualización.
  • Se basa principalmente en UML y en el proceso unificado de Rational adaptados a la web.
  • En la actualidad ha evolucionado hacia el desarrollo MDD y define los conceptos en base a un conjunto e modelos.

Fases

  • Captura, análisis y especificación de requisitos: Durante esta fase, se adquieren, reúnen y especifican las características funcionales y no funcionales que deberá cumplir la aplicación web.
  • Diseño del sistema: Se basa en la especificación de requisitos producido por el análisis de los requerimientos, el diseño define cómo estos requisitos se cumplirán, la estructura que debe darse a la aplicación web.
  • Codificación del software: Se realizan las tareas que comúnmente se conocen como programación; que consiste, esencialmente, en llevar a código fuente, en el lenguaje de programación elegido, todo lo diseñado en la fase anterior.
  • Pruebas: Las pruebas se utilizan para asegurar el correcto funcionamiento de secciones de código.
  • La Instalación o Fase de Implementación: Proceso por el cual los programas desarrollados son transferidos apropiadamente al computador destino.
  • El Mantenimiento: Es el proceso de control, mejora y optimización del software ya desarrollado e instalado.

Referencia : https://es.slideshare.net/GermnSnchezDomnguez/metodologa-uwe-umlbased-web-engineering

Grupo de trabajo LMU – Ludwig-Maximilians-Universität München

Herramientas:
-MagicUWE y UWE Profile 3.0

referencia : http://uwe.pst.ifi.lmu.de/aboutUwe.html

OOHDM: Object Oriented Hypermedia Design Model

  • Nace en 1999.
  • OOHDM es una propuesta ampliamente aceptada para la web.
  • Fue diseñado por D. Schwabe, G. Rossi, and S. D. J. Barbosa.
  • Es una extensión de HDM con orientación a objetos.
  • Ha sido usada para diseñar diferentes tipos de aplicaciones hipermedia como galerías interactivas, presentaciones multimedia y sitio web.

Etapas

OOHDM propone el desarrollo de aplicaciones hipermedia mediante un proceso de 4 etapas:

  •  Diseño conceptual
  •  Diseño navegacional
  •  Diseño de interfaces abstractas
  •  Implementación

La primera metodología para desarrollo de aplicaciones Web HDM (Hypertext Design Method)

MODELO HDM o Modelo de Diseño de Hipermedia

El HDM o Hypertext Design Model, fue creado por Franca Garzotto, Paolo Paolini y Daniel Schwabe en 1991, dentro del marco del proyecto HYTEA de la Comunidad Europea. El objetivo era crear un modelo que fuera de utilidad para realizar el diseño de una aplicación de hipertexto. En 1993,  F. Garzotto, L. Mainetti y P. Paolini introdujeron algunas mejoras al modelo HDM, al añadir estructuras de acceso como los índices y las visitas guiadas.

El modelo HDM divide el proceso de diseño de una aplicación de hipertexto en 2 partes: el authoring-in- the- large, que se refiere a la especificación y diseño de los aspectos globales y estructurales de la aplicación, y el authoring-in-the-small, que se refiere al desarrollo del contenido de los nodos. El modelo se centra en la primera parte, que es la que se centra en laestructura.

La terminología base del HDM es bastante diferente a la de Dexter y se puede prestar a confusiones. En HDM, el equivalente de un nodo es lo que denomina unidad. Las unidades se agrupan mediante una visita guiada o un índice, formando componentes, que a su vez se agrupan jerárquicamente en lo que denomina entidades. Una entidad es una jerarquía de componentes que «heredan» las propiedades de la entidad y que no pueden existir más que como partes de la entidad. Las perspectivas permiten representar la multiplicidad de las presentaciones de un mismo contenido de información (presentación en diferentes lenguas de un mismo texto,….). Asimismo hay varios tipos de enlaces. Los más importantes en la estructura son los que unen componentes dentro de una misma entidad, y se denominan enlaces de componente o de perspectiva; los enlaces estructurales conectan componentes de una misma entidad; por último los enlaces de aplicación conectan componentes y entidades de distinto tipo, y son independientes de la estructura. 

La principal motivación de HDM fue crear un modelo basado en las llamadas primitivas antes de comenzar a desarrollarlo, lo que ayudará a conseguir una navegación más consistente y rica. Además HDM puede resultar útil también para evaluar aplicaciones ya desarrolladas, con el fin de detectar errores en la estructura navegacional.

referencia :http://www.hipertexto.info/documentos/hdm.htm

WSDM: Web Site Design Method

  • Surge en el año de 1997
  • Desarollada por la Web Information System Engineering(WISE)
    • Grupo del departamento de Ciencias de la computación de la Universidad de Bruselas, Bélgica
  • Define el sistema en base a los grupos de usuario
  • Su proceso definición de requisitos tiene por objetivo el detectar los perfiles de usuario mediante dos tareas.
    • Clasificación de usuarios mediante el estudio del entorno
    • Descripción de los grupos de usuario
  • En la actualidad, está trabajando en un propuesta de herramienta que permita soportar el proceso de trabajo

Herramientas MDA

ArcStyler,
ArcStyler de iO-Software es una herramienta MDA que también utiliza MOF para soportar estándares como UML y XMI, y además JMI para el acceso al repositorio de modelos. Integra herramientas de modelado (UML) y desarrollo (ingeniería inversa, explorador de modelos basado en MOF, construcción y despliegue) con la arquitectu-ra CARAT que permite la creación, edición y mantenimiento de cartuchos MDA (MDA-Cartridge) que definen transformaciones,
El tipo de entrada es UML, Lenguaje de salida todos, estandares, XMI, UML, MOF, Y JMI

OptimalJ,
OptimalJ de Compuware es una herramienta MDA que utiliza MOF para soportar estándares como UML y XMI. Se trata de un entorno de desarrollo que permite gene-rar aplicaciones J2EE completas a partir de un PIM,
El tipo de entrada XMI v 1.1, lenguaje de salida en J2EE,
estandares, XMI, UML, MOF, XML, WSDL, J2EE

Recurso: http://www.iiisci.org/journal/CV$/risci/pdfs/C476AI.pdf

https://www.researchgate.net/publication/267999832_Un_estudio_comparativo_de_dos_herramientas_MDA_OptimalJ_y_ArcStyler

model-diven architecture

MDA (Arquitectura Dirigida por Modelos)

Es una arquitectura de tres niveles(CIM, PIM y PSM.) que se implemente el el desarrollo dirigido por modelo, Aumenta la productividad del software reducido el coste del mismo en términos de tiempo y de reutilización de componentes desarrollados para aplicaciones similares
Definiciones de CIM, PIM y PSM.
CIM: Es el Modelo Independiente de la Computación surge en la fase inicial del proceso de desarrollo comprendiendo la moderación del negocio en su totalidad. Etapa de análisis y especificaciones de requisitos en un desarrollo de software tradicional (ejem. casos de usos)
PIM: Representa los modelos que describen una solución de software que no contiene detalles de la plataforma concreta donde será implementada la solución, de ahí su nombre de modelos independientes de la plataforma. Estos modelos surge como resultado del análisis y diseño. Etapa de análisis  y diseño de un desarrollo de software tradicional (ejem. un diagrama de clases UML).
PSM: Los modelos específicos de la plataforma. Surge del PIM y se crean entre las fases del diseño y la codificación de la solución. Etapa de codificación y estructura de base de datos  de un desarrollo de software tradicional (ejem. archivos del lenguaje utilizado)