Powered By Blogger
Mostrando entradas con la etiqueta UML. Mostrar todas las entradas
Mostrando entradas con la etiqueta UML. Mostrar todas las entradas

viernes, 21 de mayo de 2010

Conceptos sobre UML

1. ¿Qué es UML?
UML, es probablemente, una de las innovaciones conceptuales en el mundo tecnológico del desarrollo de software que más expectativas y entusiasmos haya generado en muchos años, comparable a la aparición e implementación de los lenguajes COBOL, BASIC, Pascal, C++ y más recientemente Java o XML. Además todas las expectativas se han cumplido y han generado a su vez nuevas expectativas. UML es ya un estándar industrial de la industria, pero no sólo de la industria del software sino, en general, de cualquier industria que requiera la construcción de modelos como condición previa para el diseño y posterior construcción de prototipos.

Referencia: James Rumbaugh, Ivar Jacobson, Grady Booch. “El Lenguaje Unificado de Modelado. Manual de Referencia”.

El UML (Lenguaje Unificado de Modelado) es una de las herramientas más emocionantes en el mundo actual del desarrollo de sistemas, Esto se debe a que permite a los creadores de sistemas generar diseños que capturen sus ideas en una forma convencional y fácil de comprender para comunicarlas a otras personas.

Referencia: Joseph Schmuller. “Aprendiendo UML en 24 horas”.

2. ¿Cuál es la importancia de UML?
UML ayuda al usuario a entender la realidad de la tecnología y la posibilidad de que reflexione antes de invertir y gastar grandes cantidades de dinero en proyectos que no estén seguros en su desarrollo, reduciendo el coste u el tiempo empleado en la construcción de las piezas que construirán el modelo.

Sin embargo, desde el punto de vista puramente tecnológico, UML, tiene una gran cantidad de propiedades que han sido las que, realmente, han contribuido a hacer de UML el estándar de facto de la industria que es en realidad. Algunas de las propiedades de UML como lenguaje estándar son:

Concurrencia, es un lenguaje distribuido y adecuado a las necesidades de conectividad actuales y futuras.

Ampliamente utilizado por la industria desde su adopción por OGM.

Reemplaza a decenas de notaciones empleadas con otros lenguajes.

Modela estructuras complejas.

Las estructuras más importantes que soportan tienen su fundamento en las tecnologías orientadas a objeto, tales como objeto, clase, componentes y nodos.

Emplea operaciones abstractas como guía para variaciones futuras, añadiendo variables si es necesario.

Comportamiento del sistema: casos de uso, diagramas de secuencia y de colaboraciones, que sirven para evaluar el estado de las máquinas.

Referencia: James Rumbaugh, Ivar Jacobson, Grady Booch. “El Lenguaje Unificado de Modelado. Manual de Referencia”.

3. ¿Cuáles son los beneficios del modelado?
Se puede definir tres ámbitos de utilidad o beneficios al realizar un modelado:

Aprender / Entender
Implementar en un ordenador
Tomar decisiones

Aprender / Entender.
• En primer lugar hay que destacar que la experiencia demuestra que el principal beneficio en la generación de un modelo es el entendimiento que el modelador adquiere del comportamiento de la realidad. Puede ocurrir, y de hecho ocurre con frecuencia, que una vez finalizado el modelo, los objetivos perseguidos inicialmente se hayan alcanzado sin hacer ningún tipo de experimento.
• Es habitual que para desarrollar un modelo se tenga que acceder a información a la que nunca se le habría prestado atención.
• Una vez construido el modelo, se puede utilizar su ejecución para conocer como el sistema actúa y reacciona.

Implementar en un ordenador.
• La automatización de procesos exige la modelización previa. Así, solo es posible implementar la contabilidad en un ordenador porque está completamente normalizada.
• Si se desea gestionar la información que genera una empresa, o implementar un sistema de gestión de recursos humanos es necesario realizar un modelo de dicha empresa que comprenda de la manera más eficiente posible toda la información vinculada.

Toma de decisiones
• Los modelos construidos permiten mediante su resolución ayudar a la toma de decisiones generando decisiones al problema que optimizan un objetivo establecido.
• Asimismo pueden ser utilizados para evaluar el impacto de tomar decisiones, antes de tomarlas, y de este modo elegir la que más se ajuste a la solución.

Referencia: http://www.google.co.ve/url?sa=t&source=web&ct=res&cd=7&ved=0CDQQFjAG&url=http%3A%2F%2Fs3.amazonaws.com%2Flcp%2Fjorgesauri%2Fmyfiles%2FMODELADO-DE SISTEMAS.ppt&ei=PZv2S_TKKcaOOJTRpcYI&usg=AFQjCNFB1Tl04tbBmulML1kEsu1hm5oR4g&sig2=_9EtpDRT-sHZvHVAIsP-8Q

4. ¿Cuál es el origen de UML y en qué métodos está basado?
UML es una consolidación de muchas de las notaciones y conceptos más usados orientados a objetos. Empezó como una consolidación del trabajo de Grade Booch, James Rumbaugh, e Ivar Jacobson, creadores de tres de las metodologías orientadas a objetos más populares. UML se construyó sobre la semántica y notación de Booch, OMT, OOSE, y otras metodologías líderes.

Referencia: Popkin Software and Systems. “Modelado de Sistemas con UML”

5. ¿Cuáles son los objetivos de UML?

Posibilita el intercambio de modelos entre las distintas herramientas CASE orientadas a objetos del mercado. Para ello era necesario definir una notación y semántica común.. Hay que tener en cuenta que el estándar UML no define un proceso de desarrollo específico, tan solo se trata de una notación.

Referencia: http://www.clikear.com/manuales/uml/introduccion.aspx

Permite visualizar, especificar, construir y documentar un sistema.
Ofrece un estándar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos de negocio y funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y componentes reutilizables.

Es utilizado para definir un sistema, para detallar los artefactos en el sistema y para documentar y construir. En otras palabras, es el lenguaje en el que está descrito el modelo.

Referencia: http://es.wikipedia.org/wiki/Lenguaje_Unificado_de_Modelado

6. ¿Cuál es el futuro de UML?
El UML no tiene propietario y está abierto para todos. Muchos metodologistas, organizaciones y vendedores de herramientas han comenzado a usarlo. Aunque UML define un lenguaje preciso, no es una barrera a futuras mejoras en conceptos de modelado. Hemos visto muchas técnicas líderes, pero esperamos que futuras técnicas influyan en las versiones futuras de UML. El UML actualmente espera ser la base de muchas herramientas, incluyendo aquellas de modelado visual, simulación y ambientes de desarrollo. El UML ha integrado muchas ideas disparatadas, su integración acelerará el uso de metodologías OO.

El desarrollo basado en componentes se aproxima y merece mencionarlo, éste es correlativo con las tradicionales técnicas OO. Mientras el uso de componentes está comenzando a incrementarse esto no significa que las técnicas basadas en componentes reemplazarán a las técnicas OO. Sólo hay sutiles diferencias entre la semántica de componentes y clases.

Referencia: http://www.usmp.edu.pe/publicaciones/bole

miércoles, 19 de mayo de 2010

UML (Lenguaje de Modelado Unificado)

Desde los inicios de la informática se han estado utilizando distintas formas de representar los diseños de una manera más bien personal o con algún modelo gráfico, La falta de estandarización en la representación gráfica de un modelo impedía que los diseños gráficos realizados se pudieran compartir fácilmente entre distintos diseñadores, con este objetivo se creó el Lenguaje Unificado de Modelado (UML: Unified Modeling Language).

UML es el lenguaje de modelado de sistemas de software más conocido en la actualidad; es el estándar internacional aprobado por la OMG (Object Managment Group), consorcio creado en 1989 responsable de la creación, desarrollo y revisión de especificaciones para la industrial del software.

Entendiendo lo anterior, podemos decir que es necesario y obligatorio el mejorar la calidad del desarrollo de software y para esto debemos adoptar procedimientos, metodologías y herramientas que permitan una estandarización en la ingeniería de software, esto es precisamente lo que ofrecen los lenguajes de modelado de software, un lenguaje común que permite el crear una disciplina con estándares como existe en la ingeniería civil, ingeniería eléctrica, entre otros.