Está en la página 1de 12

UNIVESIDAD MARIANO GALVEZ DE GUATEMALA

Ingeniería en Sistemas de Información y Ciencias de la computación


Curso: Análisis de Sistemas I
Ing. MA. Yoong Harim Urizar

Tema:
“Herramienta UML”

Nombre: Tomás Edgar Estuardo Pérez Solís


Mario Vicente Zacarías Coxic
Allan Rosendo Ramírez Yat
Edson Jose Manuel Ventura Tzoc
No. Carné: 1090-14-1443
1090-11-5016
1090-16-19825
1090-14-16052
Fecha de entrega: 18 de mayo del 2018
Introducción

UML es una especificación de notación orientada a objetos. Se basa en las anteriores


especificaciones BOOCH, RUMBAUGH y COAD-YOURDON. Divide cada proyecto en
un número de diagramas que representan las diferentes vistas del proyecto. Estos diagramas
juntos son los que representa la arquitectura del proyecto.
UML es ahora un estándar, no existe otra especificación de diseño orientado a objetos, ya
que es el resultado de las tres opciones existentes en el mercado. Su utilización es
independiente del lenguaje de programación y de las características de los proyectos, ya que
UML ha sido diseñado para modelar cualquier tipo de proyectos, tanto informáticos como
de arquitectura, o de cualquier otro ramo.
UML permite la modificación de todos sus miembros mediante estereotipos y restricciones.
Un estereotipo nos permite indicar especificaciones del lenguaje al que se refiere el
diagrama de UML. Una restricción identifica un comportamiento forzado de una clase o
relación, es decir mediante la restricción estamos forzando el comportamiento que debe
tener el objeto al que se le aplica.
Antecedentes de UML
El lenguaje UML comenzó a construirse en el mes de Octubre del año 1994, cuando Grady
Booch un reputado investigador en el área de la metodología del software se unió a la
empresa denominada en aquellos tiempos como “Rational Software” que también era muy
conocida ya que se dedicaba de igual forma a la metodología del software, sin embargo, eso
solo fue el comienzo ya que ambos fundadores poseían un objetivo en común el cual era,
unificar los métodos que habían desarrollado ambas partes, el método Booch y el OMT
(Object Modelling Technique), que en español significa: “Técnica de Modelado Orientada
a Objetos”. Su primer diseño en el área fue en Octubre del año siguiente al de la unión de
estos diseñadores de métodos del software, en la cual se une Jacobson una persona más
para realizar y construir lo que ahora se denomina como UML, en esa época a éstos tres
personajes se les conocía como “los tres amigos”. Al momento de estar juntos para realizar
su trabajo se pudieron unir más individuos ya que hubo una colaboración abierta para su
participación donde como consecuencia crearon la primera versión de UML que ofrecía ser
un lenguaje de modelado visual que se usaría para especificar, visualizar, construir y
documentar artefactos de un sistema de software y a la vez podría entender, diseñar,
configurar, mantener y controlar la información sobre los sistemas que se iban a construir.
El lenguaje de modelado pretende unificar la experiencia que se basa en técnicas de
modelado e incorpora prácticas de acercamientos estándar, además, capta información de
una estructura estática y el comportamiento dinámico del sistema, éste se modela como una
colección de objetos que se relacionan para realizar un trabajo que beneficie al usuario.
El lenguaje UML reúne las tres metodologías de análisis y diseños más extendidas, las
cuales son:
Metodología de Grady Booch, que se utiliza para describir los conjuntos de objetos y las
relaciones que existen entre éstos.
Técnica de modelado orientada a objetos, proporcionada por James Rumbaugh y que en
ingles se denomina (OMT: Object Modelling Technique).
Aproximación de Ivar Jacobson, en el cual el aporto el método OOSE, por su siglas en
inglés de Object Oriented Software Engineering, siendo una herramienta.
Herramientas UML para el modelado de sistemas
Los seres humanos utilizamos diversos modelos para poder representar elementos o
concepciones en diversas áreas como pintura, artes plásticas, construcción, sistemas de
software e incluso en nuestra vida cotidiana. El modelado de sistemas es una actividad
importante e imprescindible en la construcción de cualquier tipo de sistema, está
considerado como un plano que nos muestra la estructura genérica o abstracta de algún
sistema.
Debido a importancia que ha tomado el hecho de modelar y diseñar antes de construir se
han desarrollado diversas herramientas de software que facilitan esta actividad. Al elegir
una herramienta de software se debe considerar elementos como son: el tipo de
licenciamiento, plataforma, sistema operativo, generación de código.
Licenciamiento de software
Una licencia de software otorga al usuario el derecho legal a utilizar un software, existen
básicamente dos tipos de licencias: Licencia de software libre y Licencias de software
comercial.
Según la Fundación de Software Libre (Free Software Foundation) «el software libre se
refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, cambiar y
mejorar el software», se refiere a cuatro libertades para los usuarios del software: la libertad
de usar el programa, con cualquier propósito; de estudiar el funcionamiento del programa, y
adaptarlo a las necesidades; de distribuir copias, con lo que puede ayudar a otros; de
mejorar el programa y hacer públicas las mejoras, de modo que toda la comunidad
informática se beneficie.
En las licencias de software comercial una compañía o corporación, posee los derechos de
autor sobre un software, negando o no otorgando los derechos de usar el programa con
cualquier propósito, de estudiar cómo funciona el programa y adaptarlo a las propias
necesidades y además el acceso al código fuente es una condición previa, se pueden
distribuir copias, o mejorar el programa y hacer públicas las mejoras, para poder realizar los
cambios, el acceso al código fuente es un previo requisito. Así, un software sigue siendo no
libre aún si el código fuente es hecho público, cuando se mantiene la reserva de derechos
sobre el uso, modificación o distribución.
Elementos de evaluación de herramientas
Se consideraron aspectos como:
El Sistema operativo, es el software encargado de la administrar y coordinar el hardware
con programas de una manera transparente, nos indica la portabilidad de la herramienta.
La plataforma, se considera el software sobre el cual se ejecuta la aplicación sobre el
sistema operativo.
Diagramas soportados, los tipos de diagramas son muy diversos y algunas de las
herramientas ofrecen una amplia o mínima variedad de estos, según sea el estándar de la
Herramienta en el cual este basado.
Generación de código. La herramientas de modelado ofrecen una diversidad de diagramas
generan código en algún lenguaje de programación, lo que nos permite que a partir
del modelo gráfico se construya software.
Análisis de herramientas de software libre
La siguiente tabla muestra las herramientas de software con los sistemas operativos que
predominan en la actualidad, en donde la celda llena indica el sistema soportado.
La tabla siguiente muestra una relación entre herramientas y plataformas
Debido a la amplia gama de diagramas y para efectos de un análisis se utilizó la siguiente
nomenclatura para cada tipo de diagrama: Casos de uso (CU), Clases (CL), Secuencia(S),
Colaboración (CO), Actividades(A), Despliegue (D), Objetos=(O), Paquetes (P),
Componentes (COM), Estados (E), Estructura (ET).
La siguiente tabla muestra los lenguajes de programación que las herramientas de modelado
analizadas pueden generar código.

DEFINICIÓN Y CONCEPTO DE UML

UML son las siglas de “Unified Modeling Language” o


“Lenguaje Unificado de Modelado”. Se trata de un
estándar que se ha adoptado a nivel internacional por
numerosos organismos y empresas para crear
esquemas, diagramas y documentación relativa a los
desarrollos de software (programas informáticos).

¿QUÉ ES Y PARA QUÉ SIRVE UML?

El término “lenguaje” ha generado bastante confusión respecto a lo que es UML. En


realidad el término lenguaje quizás no es el más apropiado, ya que no es un lenguaje
propiamente dicho, sino una serie de normas y estándares gráficos respecto a cómo se
deben representar los esquemas relativos al software. Mucha gente piensa por confusión
que UML es un lenguaje de programación y esta idea es errónea: UML no es un lenguaje
de programación. Como decimos, UML son una serie de normas y estándares que dicen
cómo se debe representar algo.

UML es una herramienta propia de personas que tienen conocimientos relativamente


avanzados de programación y es frecuentemente usada por analistas funcionales (aquellos
que definen qué debe hacer un programa sin entrar a escribir el código) y analistas-
programadores (aquellos que dado un problema, lo estudian y escriben el código
informático para resolverlo en un lenguaje como Java, C#, Python o cualquier otro). Por
tanto si estás dando tus primeros pasos en programación, te recomendaríamos que te
olvides de UML hasta que tengas unos conocimientos mínimos como uso de condicionales,
bucles, y conocimiento de la programación orientada a objetos. Esto es solo una
recomendación, en realidad prácticamente cualquier persona puede usar UML, incluso
podría usarse para realizar esquemas o documentación de procesos que no tengan que ver
con la informática.

Hemos dicho que UML es un estándar. Vamos a aclarar primero qué es un estándar.
Supongamos que vamos a definir un estándar llamado “LMAPR” o lenguaje de modelado
de aprenderaprogramar.com. Ahora definimos dentro de nuestro estándar estas normas:
Un animal debe representarse con su nombre escrito enteramente en minúsculas enmarcado
dentro de un rectángulo doble. Encima del nombre debe etiquetarse el tipo de animal así:
<<Tipo de Animal>>. Por ejemplo, <<Gato>>.

Si un animal envía un mensaje a otro animal deben conectarse los dos animales con una
línea punteada terminada en flecha encima de la cual debe figurar el texto msg(“Contenido
del mensaje”).

Ahora supongamos que tenemos dos gatos, uno de los cuales le dice al otro “Caza un ratón
y tráemelo aquí por favor”. Veamos formas de representar esto:

Esta es una forma de representación. Sin embargo, no se adapta al estándar que hemos
definido por varios motivos: no indica <<Gato>> encima de los nombres de los animales,
no escribe los nombres en minúsculas, no representa los animales con un rectángulo, etc.

Veamos la representación que sí se adaptaría al estándar definido:

 
Con este ejemplo sencillo hemos tratado de hacer explícito qué es y para qué sirve UML:
un conjunto de normas que nos dicen cómo hay que representar esquemas de software. En
el caso del software orientado a objetos, en vez de gatos tendremos clases u objetos
instanciados, y dispondremos de numerosos tipos de esquemas y diagramas para
representar distintas cosas.
Ventajas Y Desventajas

Ventajas

Una de las grandes ventajas es que el caso de uso muestra los confines entre el sistema y el
exterior, un caso de uso va a estar siempre dentro del sistema, viendo desde allí como
mejorarlo.
1. Nos muestra el requerimiento del usuario.
2. Nos muestra las tareas del usuario.
3. Nos muestra las necesidades del usuario.
4. Otra ventaja es que ayuda al analista a comprender la forma en que un sistema deberá
comportarse, le ayudara a ver lo que el usuario quiere.

Desventajas

1. No establecen completamente los requisitos funcionales.


2. No permite determinar los requisitos no funcionales.
3. La inclusión hace que los diagramas sean más difíciles de entender para los clientes
4. Cada caso crítico del uso debe tener un requisito no funcional centrado en el
funcionamiento asociado.

TIPOS DE DIAGRAMAS EN UML


Usando UML se pueden construir numerosos tipos de diagramas. Vamos a citar algunos:

Diagramas de casos de uso: representan a los actores y casos de uso (procesos principales)


que intervienen en un desarrollo de software.

Diagramas de clases: para UML una clase es una entidad, no una clase software. Un
diagrama de clases UML puede ser un diagrama del dominio o representación de conceptos
que intervienen en un problema, o también un diagrama de clases software. El sentido de
un diagrama UML se lo da la persona que lo construye.

Diagramas de secuencia: suelen usarse para representar objetos software y el intercambio


de mensajes entre ellos, representando la aparición de nuevos objetos de izquierda a
derecha.

Diagramas de colaboración: suelen usarse para representar objetos o clases y la forma en


que se transmiten mensajes y colaboran entre ellos para cumplir un objetivo.

Diagramas de estados: suelen usarse para representar cómo evoluciona un sistema (cómo
va cambiando de estado) a medida que se producen determinados eventos.

Otros diagramas: diagramas de actividad, diagramas de paquetes, diagramas de


arquitectura software, etc.

HERRAMIENTAS O PROGRAMAS PARA TRABAJAR CON UML

Hay muchísimos programas que permiten trabajar con UML, aunque aprender a usarlos
requiere tiempo.

Astah community: herramienta sencilla, adecuada para aprender. Se puede descargar una
versión gratuita en http://astah.net/editions/community. Astah (antes conocido como Jude)
también tiene una versión profesional.

Rational Rose: conjunto de herramientas IBM usado por muchas empresas.

Lucidchart: herramienta que permite crear muchos tipos de diagramas, entre ellos UML.
Puede probarse visitando https://www.lucidchart.com/pages/es/ejemplos/diagrama-UML

Microsoft Visio: herramienta de Microsoft que permite la creación de muchos tipos de


diagramas, entre ellos diagramas UML.

Otros: Erwin, Oracle Designer, EasyCASE, Power Designer, etc. son herramientas que
incorporan muchas utilidades, entre ellas UML.

CRÍTICAS A UML

UML recibe numerosas críticas por parte de los miembros de la comunidad de


desarrolladores software, entre ellas el ser demasiado extenso, carecer de significados
precisos para los elementos representados, dificultad para representar algunos tipos de
sistemas software o elementos, etc.

A pesar de ello y de no ser “perfecto”, es un estándar de amplio uso hoy día y una
herramienta fundamental en desarrollos software de gran envergadura.
Ejemplo de un UML
Casos de usos

Diagrama de Estados
Conclusión
El Lenguaje Unificado de Modelado (UML), fue creado por la necesidad de utilizar un
lenguaje estándar para el modelado de sistemas, debido a que existía una diversidad de
modelos o métodos.
En cuestiones de desarrollo de sistemas, para que el producto final sea funcional, es
necesario que durante el proceso de desarrollo se realicen ciertas actividades que permitan
el buen funcionamiento de un sistema, por lo que el aplicar el modelado de sistemas nos
dará la pauta para definir la estructura que tendrá nuestro sistema. Para realizar el modelado
existen diversos tipos de diagramas y cada uno tiene los elementos requeridos para
satisfacer cada una de las necesidades del sistema según su estructura, las herramientas son
muy diversas y su licenciamiento puede variar.
Se han creado herramientas de software para una variedad de sistemas operativos dentro de
los cuales destacan Windows y Linux, en particular la mayoría de las herramientas fueron
generadas en Java, además los requerimientos de instalación en cuanto a hardware no son
muy primordiales para la mayoría de las herramientas. En cuanto a la utilización de las
herramientas, independientemente del lenguaje que soporte o del sistema operativo, cada
una tiene los elementos y características que satisface la necesidad de sus usuarios.

Egrafia

https://lscauml.wordpress.com/2011/12/22/antecedentes-de-uml/

http://blog.jmacoe.com/aplicaciones/herramientas-uml-modelado-sistemas/
 
https://www.aprenderaprogramar.com/index.php?
option=com_content&view=article&id=688:ique-es-y-para-que-sirve-uml-versiones-de-
uml-lenguaje-unificado-de-modelado-tipos-de-diagramas-uml&catid=46&Itemid=163

http://carolmfguml.blogspot.com/2009/04/ventajas-y-desventajas.html

También podría gustarte