SlideShare una empresa de Scribd logo
1 de 6
Descargar para leer sin conexión
El Lenguaje
Unificado de Modelado (UML)
Enrique Hernández Orallo(ehernandez@disca.upv.es)
Cualquier rama de ingeniería o arquitectura ha en-
contrado útil desde hace mucho tiempo la representa-
ción de los diseños de forma gráfica. Desde los inicios
de la informática se han estado utilizando distintas
formas de representar los diseños de una forma más
bien personal o con algún modelo gráfico. La falta de
estandarización en la manera de representar gráfica-
mente un modelo impedía que los diseños gráficos
realizados se pudieran compartir fácilmente entre
distintos diseñadores.
El lenguaje UML tiene una notación gráfica muy
expresiva que permite representar en mayor o menor
medida todas las fases de un proyecto informático:
desde el análisis con los casos de uso, el diseño con
los diagramas de clases, objetos, etc., hasta la imple-
mentación y configuración con los diagramas de des-
pliegue.
HISTORIA DE UML
El lenguaje UML comenzó a gestarse en octubre
de 1994 [1], cuando Rumbaugh se unió a la compañía
Rational fundada por Booch (dos reputados investiga-
dores en el área de metodología del software). El ob-
jetivo de ambos era unificar dos métodos que habían
desarrollado: el método Booch y el OMT (Object Mode-
lling Tool ). El primer borrador apareció en octubre de
1995. En esa misma época otro reputado investigador,
Jacobson, se unió a Rational y se incluyeron ideas su-
yas. Estas tres personas son conocidas como los “tres
amigos”. Además, este lenguaje se abrió a la colabora-
ción de otras empresas para que aportaran sus ideas.
Todas estas colaboraciones condujeron a la definición
de la primera versión de UML.
Figura 1: Logo de UML
Se necesitaba por tanto un lenguaje no sólo para
comunicar las ideas a otros desarrolladores sino tam-
bién para servir de apoyo en los procesos de análisis
de un problema. Con este objetivo se creo el Lenguaje
Unificado de Modelado (UML: Unified Modeling Lan-
guage). UML se ha convertido en ese estándar tan an-
siado para representar y modelar la información con la
que se trabaja en las fases de análisis y, especialmente,
de diseño.
1
Booch'91 OMT-1 Otros
OMT-2
UML 0.8
91
93
95
UML 0.996
OOSE
UML 1.0
UML 1.1
Aprobado como
estándar por OMG98 UML 1.2
99
00 UML 1.4
02 UML 2.0
Cambios menores
Revisión por parte
del público
Booch'93
UML 1.3
97
Figura 2: Evolución de UML
Esta primera versión se ofreció a un grupo de tra-
bajo para convertirlo en 1997 en un estándar del
OMG (Object Management Group
http://www.omg.org). Este grupo, que gestiona
estándares relacionados con la tecnología orientada a
objetos (metodologías, bases de datos objetuales,
CORBA, etc.), propuso una serie de modificaciones y
una nueva versión de UML (la 1.1), que fue adoptada
por el OMG como estándar en noviembre de 1997.
Desde aquella versión han habido varias revisiones
que gestiona la OMG Revision Task Force. La última
versión aprobada es la 1.4. En estos momentos se
está desarrollando una nueva versión en la que se
incluirán cambios importantes (principalmente añadir
nuevos diagramas) que conducirán a la versión 2.0
planificada para fines del 2002.
MODELADO VISUAL
Tal como indica su nombre, UML es un lenguaje
de modelado. Un modelo es una simplificación de la
realidad. El objetivo del modelado de un sistema es
capturar las partes esenciales del sistema. Para facilitar
este modelado, se realiza una abstracción y se plasma
en una notación gráfica. Esto se conoce como mode-
lado visual.
El modelado visual permite manejar la compleji-
dad de los sistemas a analizar o diseñar. De la misma
forma que para construir una choza no hace falta un
modelo, cuando se intenta construir un sistema com-
plejo como un rascacielos, es necesario abstraer la
complejidad en modelos que el ser humano pueda
entender.
UML sirve para el modelado completo de sistemas
complejos, tanto en el diseño de los sistemas software
como para la arquitectura hardware donde se ejecuten.
Otro objetivo de este modelado visual es que sea
independiente del lenguaje de implementación, de tal
forma que los diseños realizados usando UML se
pueda implementar en cualquier lenguaje que soporte
las posibilidades de UML (principalmente lenguajes
orientados a objetos).
UML es además un método formal de modelado.
Esto aporta las siguientes ventajas:
• Mayor rigor en la especificación.
• Permite realizar una verificación y validación
del modelo realizado.
• Se pueden automatizar determinados procesos
y permite generar código a partir de los mode-
los y a la inversa (a partir del código fuente ge-
nerar los modelos). Esto permite que el modelo
y el código estén actualizados, con lo que siem-
pre se puede mantener la visión en el diseño, de
más alto nivel, de la estructura de un proyecto.
¿QUÉ ES UML?
UML es ante todo un lenguaje. Un lenguaje pro-
porciona un vocabulario y una reglas para permitir
una comunicación. En este caso, este lenguaje se cen-
tra en la representación gráfica de un sistema.
Este lenguaje nos indica cómo crear y leer los mo-
delos, pero no dice cómo crearlos. Esto último es el
objetivo de las metodologías de desarrollo.
Las objetivos de UML son muchos, pero se pue-
den sintetizar sus funciones:
• Visualizar: UML permite expresar de una for-
ma gráfica un sistema de forma que otro lo
puede entender.
• Especificar: UML permite especificar cuáles
son las características de un sistema antes de su
construcción.
2
• Diagrama de colaboración.• Construir: A partir de los modelos especifica-
dos se pueden construir los sistemas diseñados.
• Diagrama de estados.
• Documentar: Los propios elementos gráficos
sirven como documentación del sistema des-
arrollado que pueden servir para su futura re-
visión.
• Diagrama de actividades.
• Diagrama de componentes.
• Diagrama de despliegue.Aunque UML está pensado para modelar sistemas
complejos con gran cantidad de software, el lenguaje
es los suficientemente expresivo como para modelar
sistemas que no son informáticos, como flujos de
trabajo (workflow ) en una empresa, diseño de la estruc-
tura de una organización y por supuesto, en el diseño
de hardware.
Los diagramas más interesantes (y los más usados)
son los de casos de uso, clases y secuencia, por lo que
nos centraremos en éstos. Pare ello, se utilizará ejem-
plos de un sistema de venta de entradas de cine por
Internet.
El diagrama de casos de usos representa gráficamente
los casos de uso que tiene un sistema. Se define un
caso de uso como cada interacción supuesta con el
sistema a desarrollar, donde se representan los requisi-
tos funcionales. Es decir, se está diciendo lo que tiene
que hacer un sistema y cómo. En la figura 3 se mues-
tra un ejemplo de casos de uso, donde se muestran
tres actores (los clientes, los taquilleros y los jefes de
taquilla) y las operaciones que pueden realizar (sus
roles).
Un modelo UML esta compuesto por tres clases
de bloques de contrucción:
• Elementos: Los elementos son abstracciones
de cosas reales o ficticias (objetos, acciones,
etc.)
• Relaciones: relacionan los elementos entre sí.
• Diagramas: Son colecciones de elementos con
sus relaciones.
El diagrama de clases muestra un conjunto de clases,
interfaces y sus relaciones. Éste es el diagrama más
común a la hora de describir el diseño de los sistemas
orientados a objetos. En la figura 4 se muestran las
clases globales, sus atributos y las relaciones de una
posible solución al problema de la venta de entradas.
Veamos con mayor detalle los diagramas de UML.
DIAGRAMAS UML
Un diagrama es la representación gráfica de un
conjunto de elementos con sus relaciones. En concre-
to, un diagrama ofrece una vista del sistema a mode-
lar. Para poder representar correctamente un sistema,
UML ofrece una amplia variedad de diagramas para
visualizar el sistema desde varias perspectivas. UML
incluye los siguientes diagramas:
En el diagrama de secuencia se muestra la interacción
de los objetos que componen un sistema de forma
temporal. Siguiendo el ejemplo de venta de entradas,
la figura 5 muestra la interacción de crear una nueva
sala para un espectáculo.
El resto de diagramas muestran distintos aspectos
del sistema a modelar. Para modelar el comportamien-
to dinámico del sistema están los de interacción, colabora-
ción, estados y actividades. Los diagramas de componentes y
despliegue están enfocados a la implementación del
sistema.
• Diagrama de casos de uso.
• Diagrama de clases.
• Diagrama de objetos.
• Diagrama de secuencia.
3
Figura 3: Diagrama de casos de uso
Figura 4: Diagrama de clases.
4
Figura 5: Diagrama de secuencia.
PROCESO DE DESARROLLO
Aunque UML es bastante independiente del pro-
ceso de desarrollo que se siga, los mismos creadores
de UML han propuesto su propia metodología de
desarrollo, denominada el Proceso Unificado de Desarrollo
[2].
El Proceso Unificado está basado en componen-
tes, lo cual quiere decir que el sistema software en
construcción está formado por componentes software
interconectados a través de interfaces bien definidos.
Además, el Proceso Unificado utiliza el UML para
expresar gráficamente todos los esquemas de un sis-
tema software. Pero, realmente, los aspectos que defi-
nen este Proceso Unificado son tres: es iterativo e
incremental, dirigido por casos de uso y centrado en la
arquitectura [3]:
• Dirigido por casos de uso: Basándose en los casos
de uso, los desarrolladores crean una serie de
modelos de diseño e implementación que los
llevan a cabo. Además, estos modelos se vali-
dan para que sean conformes a los casos de
uso. Finalmente, los casos de uso también sir-
ven para realizar las pruebas sobre los compo-
nentes desarrollados.
• Centrado en la arquitectura: En la arquitectura de
la construcción, antes de construir un edificio
éste se contempla desde varios puntos de vista:
estructura, conducciones eléctricas, fontanería,
etc. Cada uno de estos aspectos está represen-
tado por un gráfico con su notación corres-
pondiente. Siguiendo este ejemplo, el concepto
de arquitectura software incluye los aspectos
estáticos y dinámicos más significativos del sis-
tema.
• Iterativo e incremental: Todo sistema informático
complejo supone un gran esfuerzo que puede
durar desde varios meses hasta años. Por lo
tanto, lo más práctico es dividir un proyecto en
varias fases. Actualmente se suele hablar de ci-
clos de vida en los que se realizan varios reco-
rridos por todas las fases. Cada recorrido por
las fases se denomina iteración en el proyecto
en la que se realizan varios tipos de trabajo
(denominados flujos). Además, cada iteración
parte de la anterior incrementado o revisando
la funcionalidad implementada. Se suele deno-
minar proceso. Ver figura 6.
5
Etapas
Flujos de trabajo
fundamentales
Inicio Elaboración Construcción Transición
Requisitos
Análisis
Diseño
Implementación
Prueba
Iter.
#1
Iter.
#2
--- --- --- --- Iter.
#n-1
Iter.
#n
Una iteración en la
fase de elaboración
Figura 6: Proceso iterativo e incremental
Resumiendo, el Proceso Unificado es un modelo
complejo con mucha terminología propia, pensado
principalmente para el desarrollo de grandes proyec-
tos. Es un proceso que puede adaptarse y extenderse
en función de las necesidades de cada empresa.
CONCLUSIONES
Es fácil predecir que UML será el lenguaje de mo-
delado de software de uso universal. Las principales
razones para ello son:
• En el desarrollo han participado investigadores
de reconocido prestigio.
• Ha sido apoyado por prácticamente todas las
empresas importantes de informática.
• Se ha aceptado como un estándar por la OMG.
• Prácticamente todas las herramientas CASE y
de desarrollo la han adaptado como lenguaje de
modelado.
En resumen, UML resuelve de forma bastante sa-
tisfactoria un viejo problema del desarrollo de softwa-
re como es su modelado gráfico. Además, se ha llega-
do a una solución unificada basada en lo mejor que
había hasta el momento, lo cual lo hace todavía más
excepcional.
REFERENCIAS
1. G. Booch, J. Rumbaugh y I. Jacobson, "El Lenguaje
Unificado de Modelado", Addison Wesley, 1999
2. I. Jacobson, G. Booch, J. Rumbaugh , "El Proceso
Unificado de Desarrollo", Addision Wesley, 2000
3. E. Hernández, J. Hernández, C. Lizandra, "C++ Es-
tandar", ITP Paraninfo 2001.
6

Más contenido relacionado

La actualidad más candente (20)

Semanas01y02
Semanas01y02Semanas01y02
Semanas01y02
 
Teoria del modelado de objetos modificado
Teoria del modelado de objetos modificadoTeoria del modelado de objetos modificado
Teoria del modelado de objetos modificado
 
IngenieríA De Software Uml
IngenieríA De Software UmlIngenieríA De Software Uml
IngenieríA De Software Uml
 
HA2NV50 EQ8-StarUML
HA2NV50 EQ8-StarUMLHA2NV50 EQ8-StarUML
HA2NV50 EQ8-StarUML
 
Informatica
Informatica Informatica
Informatica
 
Que es uml
Que es umlQue es uml
Que es uml
 
UML(Lenguaje Unificado de Modelado)
UML(Lenguaje Unificado de Modelado)UML(Lenguaje Unificado de Modelado)
UML(Lenguaje Unificado de Modelado)
 
Nesii
NesiiNesii
Nesii
 
Sesion1.1 uml
Sesion1.1 umlSesion1.1 uml
Sesion1.1 uml
 
Capitulo01p01
Capitulo01p01Capitulo01p01
Capitulo01p01
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Curso
CursoCurso
Curso
 
Equipo2
Equipo2Equipo2
Equipo2
 
Generación de códigos
Generación de códigosGeneración de códigos
Generación de códigos
 
C:\documents and settings\uleam\mis documentos\lenguaje unificado de modelado
C:\documents and settings\uleam\mis documentos\lenguaje unificado de modeladoC:\documents and settings\uleam\mis documentos\lenguaje unificado de modelado
C:\documents and settings\uleam\mis documentos\lenguaje unificado de modelado
 
Camtasia Getting Started Guide
Camtasia Getting Started GuideCamtasia Getting Started Guide
Camtasia Getting Started Guide
 
IntroduccióN Uml
IntroduccióN UmlIntroduccióN Uml
IntroduccióN Uml
 
Unified Modeling Language Uml
Unified Modeling Language   UmlUnified Modeling Language   Uml
Unified Modeling Language Uml
 
Uml
UmlUml
Uml
 
Uml
UmlUml
Uml
 

Similar a UML modelo visual lenguaje (20)

UML - Analisis de Sistemas
UML - Analisis de SistemasUML - Analisis de Sistemas
UML - Analisis de Sistemas
 
Uml
UmlUml
Uml
 
UML
UMLUML
UML
 
Qué es-uml uriel-nava_mucio_2°_"C"_
Qué es-uml uriel-nava_mucio_2°_"C"_Qué es-uml uriel-nava_mucio_2°_"C"_
Qué es-uml uriel-nava_mucio_2°_"C"_
 
uml
umluml
uml
 
Uml clase1
Uml clase1Uml clase1
Uml clase1
 
Uml clase1
Uml clase1Uml clase1
Uml clase1
 
Uml clase1
Uml clase1Uml clase1
Uml clase1
 
Modelado, Ingenieria de Software
Modelado, Ingenieria de SoftwareModelado, Ingenieria de Software
Modelado, Ingenieria de Software
 
Trabajo uml romero
Trabajo uml romeroTrabajo uml romero
Trabajo uml romero
 
Trabajo uml romero
Trabajo uml romeroTrabajo uml romero
Trabajo uml romero
 
Trabajo uml romero
Trabajo uml romeroTrabajo uml romero
Trabajo uml romero
 
Trabajo uml romero
Trabajo uml romeroTrabajo uml romero
Trabajo uml romero
 
UML
UMLUML
UML
 
ADOO: 3.0 Introduccion A UML
ADOO: 3.0 Introduccion A UMLADOO: 3.0 Introduccion A UML
ADOO: 3.0 Introduccion A UML
 
Presentacion uml dian1_2003
Presentacion uml dian1_2003Presentacion uml dian1_2003
Presentacion uml dian1_2003
 
El lenguaje de modelado unificado
El lenguaje de modelado unificadoEl lenguaje de modelado unificado
El lenguaje de modelado unificado
 
Uml
UmlUml
Uml
 
Uml
UmlUml
Uml
 
10753034(1).ppt
10753034(1).ppt10753034(1).ppt
10753034(1).ppt
 

Último

Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteJuan Hernandez
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFlor Idalia Espinoza Ortega
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuelacocuyelquemao
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxMapyMerma1
 

Último (20)

Unidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parteUnidad II Doctrina de la Iglesia 1 parte
Unidad II Doctrina de la Iglesia 1 parte
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
Unidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDIUnidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDI
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamica
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuela
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptx
 

UML modelo visual lenguaje

  • 1. El Lenguaje Unificado de Modelado (UML) Enrique Hernández Orallo(ehernandez@disca.upv.es) Cualquier rama de ingeniería o arquitectura ha en- contrado útil desde hace mucho tiempo la representa- ción de los diseños de forma gráfica. Desde los inicios de la informática se han estado utilizando distintas formas de representar los diseños de una forma más bien personal o con algún modelo gráfico. La falta de estandarización en la manera de representar gráfica- mente un modelo impedía que los diseños gráficos realizados se pudieran compartir fácilmente entre distintos diseñadores. El lenguaje UML tiene una notación gráfica muy expresiva que permite representar en mayor o menor medida todas las fases de un proyecto informático: desde el análisis con los casos de uso, el diseño con los diagramas de clases, objetos, etc., hasta la imple- mentación y configuración con los diagramas de des- pliegue. HISTORIA DE UML El lenguaje UML comenzó a gestarse en octubre de 1994 [1], cuando Rumbaugh se unió a la compañía Rational fundada por Booch (dos reputados investiga- dores en el área de metodología del software). El ob- jetivo de ambos era unificar dos métodos que habían desarrollado: el método Booch y el OMT (Object Mode- lling Tool ). El primer borrador apareció en octubre de 1995. En esa misma época otro reputado investigador, Jacobson, se unió a Rational y se incluyeron ideas su- yas. Estas tres personas son conocidas como los “tres amigos”. Además, este lenguaje se abrió a la colabora- ción de otras empresas para que aportaran sus ideas. Todas estas colaboraciones condujeron a la definición de la primera versión de UML. Figura 1: Logo de UML Se necesitaba por tanto un lenguaje no sólo para comunicar las ideas a otros desarrolladores sino tam- bién para servir de apoyo en los procesos de análisis de un problema. Con este objetivo se creo el Lenguaje Unificado de Modelado (UML: Unified Modeling Lan- guage). UML se ha convertido en ese estándar tan an- siado para representar y modelar la información con la que se trabaja en las fases de análisis y, especialmente, de diseño. 1
  • 2. Booch'91 OMT-1 Otros OMT-2 UML 0.8 91 93 95 UML 0.996 OOSE UML 1.0 UML 1.1 Aprobado como estándar por OMG98 UML 1.2 99 00 UML 1.4 02 UML 2.0 Cambios menores Revisión por parte del público Booch'93 UML 1.3 97 Figura 2: Evolución de UML Esta primera versión se ofreció a un grupo de tra- bajo para convertirlo en 1997 en un estándar del OMG (Object Management Group http://www.omg.org). Este grupo, que gestiona estándares relacionados con la tecnología orientada a objetos (metodologías, bases de datos objetuales, CORBA, etc.), propuso una serie de modificaciones y una nueva versión de UML (la 1.1), que fue adoptada por el OMG como estándar en noviembre de 1997. Desde aquella versión han habido varias revisiones que gestiona la OMG Revision Task Force. La última versión aprobada es la 1.4. En estos momentos se está desarrollando una nueva versión en la que se incluirán cambios importantes (principalmente añadir nuevos diagramas) que conducirán a la versión 2.0 planificada para fines del 2002. MODELADO VISUAL Tal como indica su nombre, UML es un lenguaje de modelado. Un modelo es una simplificación de la realidad. El objetivo del modelado de un sistema es capturar las partes esenciales del sistema. Para facilitar este modelado, se realiza una abstracción y se plasma en una notación gráfica. Esto se conoce como mode- lado visual. El modelado visual permite manejar la compleji- dad de los sistemas a analizar o diseñar. De la misma forma que para construir una choza no hace falta un modelo, cuando se intenta construir un sistema com- plejo como un rascacielos, es necesario abstraer la complejidad en modelos que el ser humano pueda entender. UML sirve para el modelado completo de sistemas complejos, tanto en el diseño de los sistemas software como para la arquitectura hardware donde se ejecuten. Otro objetivo de este modelado visual es que sea independiente del lenguaje de implementación, de tal forma que los diseños realizados usando UML se pueda implementar en cualquier lenguaje que soporte las posibilidades de UML (principalmente lenguajes orientados a objetos). UML es además un método formal de modelado. Esto aporta las siguientes ventajas: • Mayor rigor en la especificación. • Permite realizar una verificación y validación del modelo realizado. • Se pueden automatizar determinados procesos y permite generar código a partir de los mode- los y a la inversa (a partir del código fuente ge- nerar los modelos). Esto permite que el modelo y el código estén actualizados, con lo que siem- pre se puede mantener la visión en el diseño, de más alto nivel, de la estructura de un proyecto. ¿QUÉ ES UML? UML es ante todo un lenguaje. Un lenguaje pro- porciona un vocabulario y una reglas para permitir una comunicación. En este caso, este lenguaje se cen- tra en la representación gráfica de un sistema. Este lenguaje nos indica cómo crear y leer los mo- delos, pero no dice cómo crearlos. Esto último es el objetivo de las metodologías de desarrollo. Las objetivos de UML son muchos, pero se pue- den sintetizar sus funciones: • Visualizar: UML permite expresar de una for- ma gráfica un sistema de forma que otro lo puede entender. • Especificar: UML permite especificar cuáles son las características de un sistema antes de su construcción. 2
  • 3. • Diagrama de colaboración.• Construir: A partir de los modelos especifica- dos se pueden construir los sistemas diseñados. • Diagrama de estados. • Documentar: Los propios elementos gráficos sirven como documentación del sistema des- arrollado que pueden servir para su futura re- visión. • Diagrama de actividades. • Diagrama de componentes. • Diagrama de despliegue.Aunque UML está pensado para modelar sistemas complejos con gran cantidad de software, el lenguaje es los suficientemente expresivo como para modelar sistemas que no son informáticos, como flujos de trabajo (workflow ) en una empresa, diseño de la estruc- tura de una organización y por supuesto, en el diseño de hardware. Los diagramas más interesantes (y los más usados) son los de casos de uso, clases y secuencia, por lo que nos centraremos en éstos. Pare ello, se utilizará ejem- plos de un sistema de venta de entradas de cine por Internet. El diagrama de casos de usos representa gráficamente los casos de uso que tiene un sistema. Se define un caso de uso como cada interacción supuesta con el sistema a desarrollar, donde se representan los requisi- tos funcionales. Es decir, se está diciendo lo que tiene que hacer un sistema y cómo. En la figura 3 se mues- tra un ejemplo de casos de uso, donde se muestran tres actores (los clientes, los taquilleros y los jefes de taquilla) y las operaciones que pueden realizar (sus roles). Un modelo UML esta compuesto por tres clases de bloques de contrucción: • Elementos: Los elementos son abstracciones de cosas reales o ficticias (objetos, acciones, etc.) • Relaciones: relacionan los elementos entre sí. • Diagramas: Son colecciones de elementos con sus relaciones. El diagrama de clases muestra un conjunto de clases, interfaces y sus relaciones. Éste es el diagrama más común a la hora de describir el diseño de los sistemas orientados a objetos. En la figura 4 se muestran las clases globales, sus atributos y las relaciones de una posible solución al problema de la venta de entradas. Veamos con mayor detalle los diagramas de UML. DIAGRAMAS UML Un diagrama es la representación gráfica de un conjunto de elementos con sus relaciones. En concre- to, un diagrama ofrece una vista del sistema a mode- lar. Para poder representar correctamente un sistema, UML ofrece una amplia variedad de diagramas para visualizar el sistema desde varias perspectivas. UML incluye los siguientes diagramas: En el diagrama de secuencia se muestra la interacción de los objetos que componen un sistema de forma temporal. Siguiendo el ejemplo de venta de entradas, la figura 5 muestra la interacción de crear una nueva sala para un espectáculo. El resto de diagramas muestran distintos aspectos del sistema a modelar. Para modelar el comportamien- to dinámico del sistema están los de interacción, colabora- ción, estados y actividades. Los diagramas de componentes y despliegue están enfocados a la implementación del sistema. • Diagrama de casos de uso. • Diagrama de clases. • Diagrama de objetos. • Diagrama de secuencia. 3
  • 4. Figura 3: Diagrama de casos de uso Figura 4: Diagrama de clases. 4
  • 5. Figura 5: Diagrama de secuencia. PROCESO DE DESARROLLO Aunque UML es bastante independiente del pro- ceso de desarrollo que se siga, los mismos creadores de UML han propuesto su propia metodología de desarrollo, denominada el Proceso Unificado de Desarrollo [2]. El Proceso Unificado está basado en componen- tes, lo cual quiere decir que el sistema software en construcción está formado por componentes software interconectados a través de interfaces bien definidos. Además, el Proceso Unificado utiliza el UML para expresar gráficamente todos los esquemas de un sis- tema software. Pero, realmente, los aspectos que defi- nen este Proceso Unificado son tres: es iterativo e incremental, dirigido por casos de uso y centrado en la arquitectura [3]: • Dirigido por casos de uso: Basándose en los casos de uso, los desarrolladores crean una serie de modelos de diseño e implementación que los llevan a cabo. Además, estos modelos se vali- dan para que sean conformes a los casos de uso. Finalmente, los casos de uso también sir- ven para realizar las pruebas sobre los compo- nentes desarrollados. • Centrado en la arquitectura: En la arquitectura de la construcción, antes de construir un edificio éste se contempla desde varios puntos de vista: estructura, conducciones eléctricas, fontanería, etc. Cada uno de estos aspectos está represen- tado por un gráfico con su notación corres- pondiente. Siguiendo este ejemplo, el concepto de arquitectura software incluye los aspectos estáticos y dinámicos más significativos del sis- tema. • Iterativo e incremental: Todo sistema informático complejo supone un gran esfuerzo que puede durar desde varios meses hasta años. Por lo tanto, lo más práctico es dividir un proyecto en varias fases. Actualmente se suele hablar de ci- clos de vida en los que se realizan varios reco- rridos por todas las fases. Cada recorrido por las fases se denomina iteración en el proyecto en la que se realizan varios tipos de trabajo (denominados flujos). Además, cada iteración parte de la anterior incrementado o revisando la funcionalidad implementada. Se suele deno- minar proceso. Ver figura 6. 5
  • 6. Etapas Flujos de trabajo fundamentales Inicio Elaboración Construcción Transición Requisitos Análisis Diseño Implementación Prueba Iter. #1 Iter. #2 --- --- --- --- Iter. #n-1 Iter. #n Una iteración en la fase de elaboración Figura 6: Proceso iterativo e incremental Resumiendo, el Proceso Unificado es un modelo complejo con mucha terminología propia, pensado principalmente para el desarrollo de grandes proyec- tos. Es un proceso que puede adaptarse y extenderse en función de las necesidades de cada empresa. CONCLUSIONES Es fácil predecir que UML será el lenguaje de mo- delado de software de uso universal. Las principales razones para ello son: • En el desarrollo han participado investigadores de reconocido prestigio. • Ha sido apoyado por prácticamente todas las empresas importantes de informática. • Se ha aceptado como un estándar por la OMG. • Prácticamente todas las herramientas CASE y de desarrollo la han adaptado como lenguaje de modelado. En resumen, UML resuelve de forma bastante sa- tisfactoria un viejo problema del desarrollo de softwa- re como es su modelado gráfico. Además, se ha llega- do a una solución unificada basada en lo mejor que había hasta el momento, lo cual lo hace todavía más excepcional. REFERENCIAS 1. G. Booch, J. Rumbaugh y I. Jacobson, "El Lenguaje Unificado de Modelado", Addison Wesley, 1999 2. I. Jacobson, G. Booch, J. Rumbaugh , "El Proceso Unificado de Desarrollo", Addision Wesley, 2000 3. E. Hernández, J. Hernández, C. Lizandra, "C++ Es- tandar", ITP Paraninfo 2001. 6