En la especificación del UML podemos comprobar que una de las partes que lo componen es un meta modelo formal. Un metamodelo es un modelo que define el lenguaje para expresar otros modelos. Un modelo en OO es una abstracción cerrada semánticamente de un sistema y un sistema es una colección de unidades conectadas que son organizadas para realizar un propósito específico. Un sistema puede ser descripto por uno o más modelos, posiblemente desde distintos puntos de vista.
Una parte del UML define, entonces, una abstracción con significado de un lenguaje para expresar otros modelos (es decir, otras abstracciones de un sistema, o conjunto de unidades conectadas que se organizan para conseguir un propósito). Lo que en principio puede parecer complicado no lo es tanto si pensamos que uno de los objetivos del UML es llegar a convertirse en una manera de definir modelos, no sólo establecer una forma de modelo, de esta forma simplemente estamos diciendo que UML, además, define un lenguaje con el que podemos abstraer cualquier tipo de modelo.
El UML es una técnica de modelado de objetos y como tal supone una abstracción de un sistema para llegar a construirlo en términos concretos. El modelado no es más que la construcción de un modelo a partir de una especificación.
Un modelo es una abstracción de algo, que se elabora para comprender ese algo antes de construirlo. El modelo omite detalles que no resultan esenciales para la comprensión del original y por lo tanto facilita dicha comprensión.
Los modelos se utilizan en muchas actividades de la vida humana: antes de construir una casa el arquitecto utiliza un plano, los músicos representan la música en forma de notas musicales, los artistas pintan sobre el lienzo con carboncillos antes de empezar a utilizar los óleos, etc. Unos y otros abstraen una realidad compleja sobre unos bocetos, modelos al fin y al cabo. La OMT, por ejemplo, intenta abstraer la realidad utilizando tres clases de modelos OO: el modelo de objetos, que describe la estructura estática; el modelo dinámico, con el que describe las relaciones temporales entre objetos; y el modelo funcional que describe las relaciones funcionales entre valores. Mediante estas tres fases de construcción de modelos, se consigue una abstracción de la realidad que tiene en sí misma información sobre las principales características de ésta.
Los modelos además, al no ser una representación que incluya todos los detalles de los originales, permiten probar más fácilmente los sistemas que modelan y determinar los errores. Según se indica en la Metodología OMT (Rumbaugh), los modelos permiten una mejor comunicación con el cliente por distintas razones:
Es posible enseñar al cliente una posible aproximación de lo que será el producto final.
Proporcionan una primera aproximación al problema que permite visualizar cómo quedará el resultado.
Reducen la complejidad del original en subconjuntos que son fácilmente tratables por separado.
Se consigue un modelo completo de la realidad cuando el modelo captura los aspectos importantes del problema y omite el resto. Los lenguajes de programación que estamos acostumbrados a utilizar no son adecuados para realizar modelos completos de sistemas reales porque necesitan una especificación total con detalles que no son importantes para el algoritmo que están implementando. En OMT se modela un sistema desde tres puntos de vista diferentes donde cada uno representa una parte del sistema y una unión lo describe de forma completa. En esta técnica de modelado se utilizó una aproximación al proceso de implementación de software habitual donde se utilizan estructuras de datos (modelo de objetos), las operaciones que se realizan con ellos tienen una secuencia en el tiempo (modelo dinámico) y se realiza una transformación sobre sus valores (modelo funcional).
UML utiliza parte de este planteamiento obteniendo distintos puntos de vista de la realidad que modela mediante los distintos tipos de diagramas que posee. Con la creación del UML se persigue obtener un lenguaje que sea capaz de abstraer cualquier tipo de sistema, sea informático o no, mediante los diagramas, es decir, mediante representaciones gráficas que contienen toda la información relevante del sistema. Un diagrama es una representación gráfica de una colección de elementos del modelo, que habitualmente toma forma de grafo donde los arcos que conectan sus vértices son las relaciones entre los objetos y los vértices se corresponden con los elementos del modelo. Los distintos puntos de vista de un sistema real que se quieren representar para obtener el modelo se dibuja dé forma que se resaltan los detalles necesarios para entender el sistema.
lunes, 9 de mayo de 2016
viernes, 6 de mayo de 2016
recomendaciones para un modelado en uml
la primera recomendación que para mi gusto es una de las mejores es el software libre dia.
Ventajas del Software Libre
Características
- Libre Uso. Cualquier persona puede disponer del software libre bajo las condiciones de la licencia.
- Bajo Costo. Es gratuito.
- Existe Libertad de Conocimiento y trabajo cooperativo entre sus usuarios lo que permite una mayor innovación tecnológica.
- Rápida corrección de errores facilitado por el trabajo comunitario a través de Internet y de su libre acceso al código fuente.
- Total independencia de un proveedor. El usuario puede administrar libremente su crecimiento y operación con total autonomía.
- Independencia de las condiciones del mercado. A salvo de cambios drásticos por parte del proveedor o modificaciones que realice por las condiciones del mercado o baja rentabilidad.
- Contribuye a la formación de profesionales y el desarrollo de la industria local, generando conocimiento y trabajo).
- Facilidad para personalizar el software de acuerdo a las necesidades del usuario.
- Posibilidad de traducir el mismo a cualquier idioma, inclusive a una lengua regional o indígena.
- Independencia tecnológica de los Estados con respecto a grandes grupos económicos.
- Fácil acceso por parte del sector educativo público y privado.
- Mayor seguridad y privacidad de los datos. Disminuye los riesgos de filtración, aumenta la imposibilidad de acceso y manipulación de los datos críticos del Estado.
- Asegura la durabilidad de la información y su migración, gracias al acceso al código fuente.
- Disminuye los riesgos de "puertas traseras" que introduzcan códigos maliciosos o de espionaje.
- El conocimiento de códigos fuente permite la rápida solución a funcionamientos erróneos.
- Elimina el sistema operativo monousuario. Ya que permite el uso y trabajo de varios usuarios al mismo tiempo.
- Elimina el derecho exclusivo de la innovación.
- Abre la posibilidad del trabajo compartido entre diferentes empresas o dependencias de gobierno.
- Elimina la inseguridad ante cierre de compañías de provisión o discontinuidad del producto.
- No depende de prácticas monopólicas.
- Dificultad en el intercambio de archivos (doc. de texto), dan errores o se pierden datos.
- Mayor dificultad en la instalación y migración de datos para el usuario común.
- Desconocimiento. El usuario común está muy familiarizado con los soportes de Microsoft, lo que hace elevar el costo de aprendizaje.
- Ausencia de garantía. El software libre no se hace responsable por los daños.
- Para su configuración se requieren conocimientos previos de funcionamiento del sistema operativo.
- Por lo general para su implementación se necesitan conocimiento previo de programación.
- Se debe monitorear en forma constante la corrección de errores por Internet.
- No existe un control de calidad previo.
- Hay aplicaciones específicas que no se encuentran en el software libre.
- Baja expansión de su uso en centros educativos.
- Baja difusión en publicaciones.
- En ambientes de red todavía hay software propietario con mejores desempeños.
la segunda recomendación de un software libre es el software llamado ARGO UML es una aplicación de diagramado de UML escrita en Java y publicada bajo la Licencia BSD. Dado que es una aplicación Java, está disponible en cualquier plataforma soportada por Java.
El Magazine de Desarrollo de Software entrega premios anuales a herramientas de desarrollo de software populares en varias categorías. En 2003 ArgoUML fue una de las finalistas en la categoría "Design and Analysis Tools". ArgoUML recibió un premio "runner-up"(revelación), derrotando a muchas herramientas comerciales.
Características
- Nuevas Características en V0.20:
- UML 1.4 - Características de extensibilidad mejoradas de UML 1.4
- Diagramas de Secuencia
- Compatibilidad AndroMDA
- Calidad - Cientos de bugs han sido arreglados.
- La mayoría de las funciones ahora soportan la selección múltiple de los elementos del modelo.
- Arrastrar y soltar desde el árbol de exploración al diagrama y dentro del árbol de exploración.
- Construido en diseños críticos suministra una revisión no obstructiva del diseño y sugerencias para mejoras.
- Interfaz de módulos Extensible.
- Soporte de Internacionalización para Inglés, Alemán, Francés, Español y Ruso.
- Restricciones OCL para Clases.
- Soporte para el lenguaje de generación de Código: Java, PHP, Python, C++ y Csharp (C#)
- Ingeniería inversa
- Disposición(layout) automática del diagrama de clases.
- Generación de ficheros PNG, GIF, JPG, SVG, EPS desde diagramas.
- Soporte para comentarios para múltiples elementos.
- Todos los diagramas 1.4 están soportados.
- Clases
- Estados
- Casos de Uso
- Actividad
- Colaboración
- Desarrollo
- Secuencia
DESVENTAJAS
- No tiene botón "deshacer".
- Los Modelos a veces no pueden ser re-abiertos.
- Import/Export a Java.
- No hay llamadas-reflexivas en los diagramas de secuencia--> si existen las llamadas reflexivas, es un poco complejo hacerlas, pero sí se pueden, se hacen al tomar una acción, partir desde el objeto que se quiere reflexivo, generar 2 puntos (como haciendo un cuadrado) fuera del objeto y luego volviendo al objeto.
- Al mover una clase las relaciones no se mueven de forma correcta.
- Al seleccionar un área no se seleccionan las clases de relación.
- Debes de crear un diagrama de clases, para crear algún otro diagrama.
martes, 3 de mayo de 2016
Suscribirse a:
Entradas (Atom)