You are currently browsing the tag archive for the ‘UML’ tag.

Mostramos como, comentando correctamente nuestro diseño, Visual Paradigm for UML nos genera reports en PDF o HTML con documentación sobre nuestra aplicación.

A continuación mostramos un pequeño fragmento de como queda el HTML:

Anuncios

Otro diagrama disponible en UML 2 es el diagrama de comunicación.

El diagrama de comunicación permite modelar la interacción entre los diferentes objetos que se produce mediante mensajes en secuencia, es decir, muestra que mensajes se pasan los objetos entre si y en que orden. Es un diagrama muy útil, pues muestra tanto información estática, tomada del diagrama de clases, como información dinámica, tomada del diagrama de casos de uso y del  diagrama de secuencia.

A continuación muestro el diagrama de comunicación que he realizado mediante Visual Paradigm for UML de SPHysics:

Técnicamente, tendríamos que hablar de un pseudodiagrama de comunicación, pués el lenguaje de programción es fortran que no trabaja con orientación a objetos, por lo que en lugar de clases  tenemos módulos. Sin embargo, y salvando las distancias, cumple sobradamente su propósito semántico.

Una vez un profesor nos dijo algo así como: “No programeis lo que ya esta programado”, una especie de versión light de la reinvención de la rueda. Lo que quería decir era, sencillamente, que antes de empezar a diseñar algo desde cero para resolver un problema teniamos que investigar si ya existia un software capaz de hacerlo. Si la respuesta era negativa, adelante, pero si la respuesta era positiva, teniamos que plantearnos una serie de preguntas: ¿Es gratuito o hay que pagar por él? ¿Se adapta perfectamente a mis necesidades o necesita cierto grado de adaptación? ¿Tengo acceso al código fuente y tengo permiso para modificarlo a mi medida? ¿Que piensa el cliente al respecto? etc.

En el caso que nos ocupa, un sofware que promete es SPHysics, un esfuerzo conjunto de investigadores en la Johns Hopkins University (U.S.A.), la University of Vigo (Spain), la University of Manchester (U.K.) y la University of Rome La Sapienza (Italy). Evidentemente, se trata de hidrodinámica newtoniana y no magnetohidrodinámica relativista, por lo que hay un salto cualitativo en la física considerada, además de que se trata de programación modular y no orientada a objetos. Sin embargo, al ser de código abierto y disponer de versión paralela sobre CUDA, nos puede servir de mucha ayuda a la hora de implementar muchas cosas.

A continuación se enlazan dos simulaciones con 100M y 226M partículas en las que se puede apreciar la potencia del software:

Eclipse es un IDE multiplataforma Open Source desarrollado por la Eclipse Foundation. Utiliza módulos, plug-in, para proporcionar diferentes funcionalidades, ya que se basa en la filosofía RCP (Rich Client Platform), de manera que tenemos una plataforma ligera en la que el usuario va añadiendo lo que realmente necesita.

El plug-in CDT (C/C++ Development Toolkit) permite desarrollar en Eclipse proyectos basados en estos lenguajes de programación.

Otro plug-in que encontramos es el MDT (Model Development Tools), el cual permite trabajar, entre otras cosas, con UML2 con el que especificar y diseñar software basado en el paradigma de la orientación a objetos.

Las heramientas CASE (Computer Aided Software Engineering) pretenden aplicar los métodos de la ingenieria a la producción de software y surgen en respuesta a la crisis del software de finales de los sesenta. Cubren todas las etapas del ciclo de vida del software y básicamente pretende generar software de calidad minimizando tiempo y costes tanto en el desarrollo como en el mantenimiento del mismo.

El lenguaje UML (Unified Modeling Language) es un estandar que permite especificar y diseñar software basado en el paradigma de la orientación a objetos.

En este enlace podemos ver  diferentes herramientas CASE que soportan UML y que permiten  generar código automáticamente en diferentes lenguajes de programación.

octubre 2017
L M X J V S D
« Ago    
 1
2345678
9101112131415
16171819202122
23242526272829
3031