lunes, 21 de noviembre de 2011

Herramientas de modelado y generación de código a partir de los modelos

Herramienta CASE a utilizar
Utilizare ArgoUML,  ya que es una herramienta que cuenta con todos los recursos suficientes y  necesarios que se requieren para el desarrollo del software desde la parte de diagramación como la parte de generación de código.
 
Cuadro comparativo

Software
Disponibilidad
Características
Lenguajes
Dia con Dia2Code
Dia

Dia2Code

·         No incorpora directamente una herramienta de generación de código, pero existen varias herramientas que trabajan conjuntamente con él.
·         Es un programa ejecutable desde línea de comandos que toma los siguientes parámetros.
·         Para que Dia2Code interprete correctamente el diagrama UML, éste debe realizarse con las herramientas específicas UML que proporciona Dia.
·         Soporte de Python y PHP, no muy habituales en estas herramientas, ni tan siquiera en las comerciales.
·         Generación de código en Java
Umbrello

·         Umbrello es una aplicación totalmente orientada al modelado UML y por ello dispone de herramientas que facilitan mucho la creación de todos los tipos de diagramas.










·         Generación de código de calidad.
·         Generación de código Java
·         Dispone de un asistente que nos presenta multitud de opciones.
·         Soporte diferenciado de PHP4 y PHP5, Perl y XMLSchema
·         El código fuente de las clases generadas es muy completo. Los  comentarios están en formato JavaDoc,
ArgoUML

ArgoUML

·         El enfoque de ArgoUML es totalmente hacia UML como notación y el diseño de aplicaciones orientadas a objeto.

·         Es quizá el más completo en términos de cumplimiento con el estándar

·         La generación de código no ofrece muchas opciones, y se limita a crear simplemente los métodos representados.

·         Tiene versiones comerciales mejoradas como PoseidonUML, tiene mejor generación de código e integración con entornos de  desarrollo como Eclipse.
·         Sólo genera código Java y la propia notación UML 1.3


Evaluación comparativa de herramientas CASE para UML desde el punto de vista notacional


¿Qué podemos esperar de una herramienta CASE (Computer-Aided Software Engineering) para UML?

UML es un lenguaje visual de modelado para "visualizar, especificar, construir y documentar los artefactos de un sistema de software"

Lo primero que podemos esperar de una herramienta es que facilite la tarea de dibujar diagramas, su corrección sintáctica y la coherencia entre los distintos diagramas.


Herramientas UML


Herramientas gráficas. Las herramientas meramente gráficas son aquéllas que proporcionan algún tipo de ayuda para dibujar diagramas UML

Herramientas sintácticas. Las herramientas sintácticas son aquéllas que, en general, sólo permiten dibujar diagramas correctos según las reglas notacionales de UML

Herramientas semánticas. El tercer grupo lo constituyen las herramientas semánticas, es decir, aquellas que tratan de garantizar la construcción de un modelo que esté correctamente expresado en diagramas que además sean coherentes entre sí.

·    Integración con herramientas ofimáticas (como copiar y pegar los diagramas en documentos de texto).
·         Posibilidad de trabajo multiusuario (para que los diversos implicados en un proyecto puedan acceder simultáneamente a distintas partes de un modelo).
·         Exportación en formato XMI (XML Metadata Interchange).
·         Integración dentro del entero proceso de desarrollo de software, desde la obtención de requisitos de usuario hasta la  generación automática de código, estimación de esfuerzo necesario para acometer la implementación de un modelo dado, planificación, mantenimiento, pruebas, etc.
·         Reutilización de todo tipo de artefactos software (no sólo código fuente o ejecutable, sino también modelos de análisis o  diseño, definición de pruebas, etc., e incluso requisitos).

Algunas herramientas CASE












 

Criterios al evaluar una herramienta CASE

N: la herramienta no puede representar la característica especificada.
G: se puede representar gráficamente la característica especificada, pero ésta no queda registrada en el modelo subyacente.
M: no se puede representar gráficamente la característica especificada, pero sí es posible hacerlo en el modelo subyacente.
S: la herramienta sí puede representar la característica especificada, tanto de modo gráfico como en el modelo subyacente.


Mejores herramientas

seCAKE, Enterprise Architect, Visio 2003 Professional y, muy especialmente, MagicDraw, que ha resultado vencedora en todas y cada una de las fases de evaluación: sin duda se trata de una de las mejores herramientas del mercado, que procura mantenerse además siempre al día con continuas actualizaciones (ha sido una de las primeras en sacar una versión compatible con UML2).

Naturalmente, cuando las herramientas comerciales empiecen a adaptarse a la nueva versión 2.0 del estándar de UML, habrá que reformular la lista de criterios obtenidos y repetir las evaluaciones para las nuevas versiones de las herramientas ya estudiadas.

Diseño

Para documentar la etapa de diseño, se seguirá la metodología basada en UML (Lenguaje Unificado de Modelado) por sus siglas en inglés (Unified Modeling Language), se ha establecido como un estándar de facto para el modelado orientado a objetos de sistemas informáticos.

UML es un lenguaje visual de modelado para "visualizar, especificar, construir y documentar los artefactos de un sistema software", es decir, UML es ante todo un lenguaje gráfico que estandariza la forma de crear diagramas, el significado preciso de los mismos, y las relaciones existentes entre ellos.

UML abarca los siguientes diagramas:

  • Diagrama de casos de uso
  • Diagrama de clases
  • Diagramas de comportamiento
               -Diagrama de estados
               -Diagrama de actividad
               -Diagramas de interacción
                     - Diagrama de secuencia
                     - Diagrama de colaboración
  • Diagramas de implementación
              -Diagrama de componentes
              -Diagrama de despliegue

CASOS DE USO


DIAGRAMA DE SECUENCIA (Alumno) 


 DIAGRAMA DE SECUENCIA (Administrador)



DIAGRAMA DE CLASES


DIAGRAMA DE ACTIVIDADES