SlideShare una empresa de Scribd logo
1 de 31
UML: Unified Modeling Language



Marvin Zumbado
UML: Lenguaje Unificado de Modelado
• UML se inicia como el "Método de Modelado
  Unificado" presentado por Booch y Rumbaugh en el
  Workshop sobre Casos de Uso OOPSLA'95 (Object-
  Oriented Programming Systems Languages and
  Applications) en Octubre de 1995.

• También en 1995 se une Ivar Jacobson a Rational
  Software    Corporation. A    este  grupo    de
  investigadores se le conocería como los "tres
  amigos”.
UML: Lenguaje Unificado de Modelado
• Desde la fecha de su creación hasta la actualidad
  UML ha tenido una evolución, de las cuales se puede
  mencionar:

• Noviembre de 1997, es aprobado por el OMG
• 1998 aparece la versión UML 1.2 (revisiones
  menores)
• 1999 aparece la versión UML 1.3
• 2000 aparece la versión UML 1.4 (revisiones
  menores)
• 2001 aparece la versión UML 1.5
• Sigue UML 2.0.
UML: Lenguaje Unificado de Modelado
• La técnica central en el UML es el Modelamiento en
  Objetos, el cual es un lenguaje que permite la
  especificación de clases, sus datos o atributos
  (privados) y métodos (públicos), herencia y otras
  relaciones entre las clases.
• El UML modela sistema mediante el uso de objetos
  que forman parte de él así como, las relaciones
  estáticas o dinámicas que existen entre ellos.
• UML puede ser utilizado por cualquier metodología
  de análisis y diseño orientada por objetos para
  expresar los diseños.
UML: Lenguaje Unificado de Modelado
• UML no es un método de desarrollo.
• No le dice cómo pasar del análisis al diseño, ni de
  este al código.
• No son una serie de pasos que llevan al
  desarrollador a producir código a partir de unas
  especificaciones.
• UML al no ser un método de desarrollo es
  independiente del ciclo de desarrollo.
UML: Lenguaje Unificado de Modelado
• Hay dos aspectos de "unificación" que UML
  logra:
• El primero es que efectivamente termina con
  muchas de las diferencias, entre los lenguajes
  modeladores de métodos previos.
                         •
  Segundo, unifica las perspectivas entre muchos
  diferentes tipos de sistemas (negocio vs
  software), fases de desarrollo (requerimientos,
  análisis, diseño e implementación), y conceptos
  internos.
CONCEPTOS BASICOS
• PROGRAMACIÓN ORIENTADA A OBJETOS

• La programación orientada a objetos difiere de la
  programación por procedimientos tradicional, pues
  examina los objetos que son parte de un sistema. Cada
  objeto es una representación de alguna cosa o evento real.
•
• OBJETOS

• Los objetos son personas, lugares o cosas que son
  relevantes para el sistema bajo análisis. Los objetos
  podrían ser clientes, artículos, pedidos, etc. Los objetos
  también podrían ser pantallas GUI o áreas de texto en la
  pantalla.
CONCEPTOS BÁSICOS
• CLASES
• Los objetos se representan y agrupan en clases que
  son    óptimas      para    reutilizarse   y    darles
  mantenimiento. Una clase define el conjunto de
  atributos y comportamientos compartidos por cada
  objeto de la clase.
• Las clases están representadas por rectángulos, con el
  nombre de la clase, y también pueden mostrar
  atributos y métodos de la clase en otros dos “campos”
  dentro del rectángulo.

•
CONCEPTOS BÁSICOS

• HERENCIA
• Las clases pueden tener hijos; es decir, una clase se puede crear a
  partir de otra clase. En el UML, la clase original —o madre— se
  conoce como clase base. La clase hija se denomina clase derivada.
  Ésta se puede crear de tal manera que herede todos los atributos y
  comportamientos de la clase base.

• Metodos:
• Los métodos se muestran al menos con su nombre, y pueden
  mostrar sus parámetros y valores de retorno.
Algunas Herramientas
            Open     Licenciamiento
Nombre                              Comentario
            Source   de Software

Microsoft
Visio       No       Comercial     Herramienta de diagramado con soporte UML

MyEclipse No         Comercial     Un Eclipse basado en IDE

                                   Una Herramienta de Open Source para crear
Nclass      Si                     diagramas de clase UML

                                   Herramienta de verificación de Software para
KeY         Si       GPL           Programas en Java
Bloques básicos de construcción de
UML
• Elementos
 ▫ Son abstracciones que actúan como unidades
   básicas de construcción
• Relaciones
 ▫ Son abstracciones que actúan como unión entre
   los distintos elementos.
• Diagramas
 ▫ Los diagramas son la disposición de un conjunto
   de elementos, que representan el sistema
   modelado desde diferentes perspectivas
Elementos
• Estructurales:
  ▫ son las partes estáticas de los modelos y representan
    aspectos conceptuales o materiales.
• Comportamiento:
  ▫ son las partes dinámicas de los modelos y representan
    comportamientos en el tiempo y en el espacio.
• Agrupación (1):
  ▫ son las partes organizativas de UML, establecen las
    divisiones en que se puede fraccionar un modelo
• Notación (1):
  ▫ son las partes explicativas de UML, comentarios que
    pueden describir textualmente cualquier aspecto de un
    modelo.
Relaciones
                 Es una relación entre dos elementos,
                 tal que un cambio en uno puede
Dependencia
                 afectar al otro.

                 Es una relación estructural que
                 resume un conjunto de enlaces que
Asociación
                 son conexiones entre objetos.

                 Es una relación en la que el elemento
                 generalizado puede ser substituido
Generalización
                 por cualquiera de los elementos hijos,
                 ya que comparten su estructura y
                 comportamiento.


                 Es una relación que implica que la
                 parte realizante cumple con una serie
Realización
                 de especificaciones propuestas por la
                 clase realizada (interfaces).
Diagramas
• Los diagramas estáticos son:
  ▫   Clases
  ▫   Objetos
  ▫   Componentes
  ▫   Despliegue.
• Los diagramas de comportamiento son:
  ▫   Casos de Uso
  ▫   Secuencia
  ▫   Colaboración
  ▫   Estados
  ▫   Actividades.
Diagrama de Caso de Uso
• Describen lo que hace un sistema desde el punto
  de vista de un observador externo
• El ¿Qué? más que el ¿Cómo?
• Los actores son papeles que determinadas
  personas u objetos desempeñan.
• Los Casos de Uso se representan por medio de
  óvalos y las líneas representan una asociación de
  comunicación.
• El estereotipo “<<” y “>>” concreta un paso más
  allá el tipo de relación existente entre 2 casos
Diagrama de Secuencia y Diagrama de
Colaboración
• Describen como los objetos del sistema colaboran
• Es la interacción que detalla como las operaciones se
  llevan a cabo, qué mensajes son enviados y cuando,
  organizado todo en torno al tiempo.
• El tiempo avanza “hacia abajo” en el diagrama.
• Los objetos involucrados en la operación se listan de
  izquierda a derecha de acuerdo a su orden de
  participación dentro de la secuencia de mensajes.
• Los diagramas de colaboración son otro
  tipo de diagramas de interacción, que contiene la
  misma información que los de secuencia, sólo
  que se centran en las responsabilidades de cada
  objeto, en lugar de en el tiempo en que los
  mensajes son enviados.
Diagrama de Estados y Diagrama de
Actividades
• Los diagramas de estados muestran los posibles
  estados en que puede encontrarse un objeto y las
  transiciones que pueden causar un cambio de
  estado. El estado de un objeto depende de la
  actividad que esté llevando a cabo o de alguna
  condición.
• Las transiciones son las líneas que unen los
  diferentes estados
• Los diagramas de actividades son
  básicamente diagramas de flujo adornados, que
  guardan mucha similitud con los diagramas de
  estados.
• Mientras que los diagramas de estados centran
  su atención en el proceso que está llevando a
  cabo un objeto, los diagramas de actividades
  muestran como las actividades fluyen y las
  dependencias entre ellas.
Vistas
• Vista de Casos de Uso: describen el comportamiento
  del sistema como lo verían los usuarios finales, los
  analistas y demás componentes del equipo de
  desarrollo.
• Vista de Diseño: clases e interfaces que conforman
  el vocabulario del problema y su solución. Da
  soporte a los requisitos funcionales del sistema, es
  decir los servicios que proporciona a los usuarios
  finales.
• Vista de Procesos: hilos y procesos que forman los
  mecanismos de sincronización y concurrencia del
  sistema. Da soporte al funcionamiento, capacidad de
  crecimiento y rendimiento del sistema.
Vistas (cont.)
• Vista de Despliegue: la topología hardware sobre
  el que se ejecuta el sistema. Da soporte a la
  distribución, entrega e instalación de las partes
  que conforman el sistema físico.
• Vista de Implementación: componentes y
  archivos empleados para hacer posible el
  sistema físico. Da soporte a la gestión de
  configuraciones de las distintas versiones del
  sistema, a partir de componentes y archivos.
Críticas a UML
• Su carencia de una semántica precisa, lo que ha
  dado lugar a que la interpretación de un modelo
  UML no pueda ser objetiva
• No se presta con facilidad al diseño de sistemas
  distribuidos (transmisión, serialización,
  persistencia)
• UML sí acepta la creación de nuestros propios
  elementos para este tipo de modelado, incluso
  cuenta con la posibilidad de agregar comentarios en
  forma de notas en las cuales se puede detallar todo
  aquello que no pueda ser expresado
Resumen del proceso
• Iniciar y mantener reuniones con los usuarios
  finales del programa
• Construir la vista de Casos de Uso definiendo
  exactamente la funcionalidad que se va a
  incorporar en el programa
• Se definen clases y relaciones entre ellas. Se
  construye aquí la vista de diseño y la vista de
  procesos.
Resumen del proceso (Cont.)
• Se define la vista de despliegue, que define la
  arquitectura física del sistema, y la vista de
  implementación.
• Construir el sistema, repartiendo las tareas entre
  el equipo de programación.
• Buscar errores de programación, o incluso de
  diseño, corregirlos e ir sacando sucesivas
  versiones del programa
• Documentar y entregar el programa a los
  usuarios finales.
CONCLUSIONES
• UML Es un lenguaje de modelado y no de programación.
•
• El vocabulario y las reglas de un lenguaje como UML indican cómo
  crear y leer modelos bien formados, pero no dice que modelos se deben
  crear ni cuando se deberían crear. Esta tarea corresponde al proceso de
  desarrollo del software.
•
•
• Detrás de cada símbolo en la notación de UML hay una semántica bien
  definida, de esta manera un desarrollador puede escribir un modelo en
  UML, y otro desarrollador o incluso otra herramienta, puede interpretar
  ese modelo sin ambigüedad.
•
• UML esta pensado principalmente para sistemas con gran cantidad de
  software.
MUCHAS GRACIAS

Más contenido relacionado

La actualidad más candente

Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetosyoiner santiago
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicoslandeta_p
 
Diagramas de implementacion
Diagramas de implementacionDiagramas de implementacion
Diagramas de implementacionZonickX
 
Casos de Uso ejercicios
Casos de Uso ejerciciosCasos de Uso ejercicios
Casos de Uso ejerciciosWalter Chacon
 
C4model - Arquitectura de Software
C4model - Arquitectura de SoftwareC4model - Arquitectura de Software
C4model - Arquitectura de SoftwareRene Guaman-Quinche
 
Modelo componentes
Modelo componentesModelo componentes
Modelo componentesmartin
 
Lectura 3 Modelo De Analisis
Lectura 3   Modelo De AnalisisLectura 3   Modelo De Analisis
Lectura 3 Modelo De Analisisguest0a6e49
 
Programación Orientada a Eventos Java
Programación Orientada a Eventos JavaProgramación Orientada a Eventos Java
Programación Orientada a Eventos JavaJosé Mendoza
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Giancarlo Aguilar
 
casos de uso
casos de usocasos de uso
casos de usostill01
 
Vistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de SoftwareVistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de SoftwareRoberth Loaiza
 
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCHLINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCHPerozoAlejandro
 
Diagramas de estados
Diagramas de estadosDiagramas de estados
Diagramas de estadosstill01
 
Requerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónRequerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónYare LoZada
 
Modelo Del Negocio con RUP y UML Parte 2
Modelo Del Negocio con RUP y UML Parte 2Modelo Del Negocio con RUP y UML Parte 2
Modelo Del Negocio con RUP y UML Parte 2David Motta Baldarrago
 
Requisitos funcionales y no funcionales
Requisitos funcionales y no funcionalesRequisitos funcionales y no funcionales
Requisitos funcionales y no funcionalesRene Guaman-Quinche
 

La actualidad más candente (20)

Analisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A ObjetosAnalisis Y DiseñO Orientado A Objetos
Analisis Y DiseñO Orientado A Objetos
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicos
 
Diagrama de dominio armando
Diagrama de dominio armandoDiagrama de dominio armando
Diagrama de dominio armando
 
Diagramas de implementacion
Diagramas de implementacionDiagramas de implementacion
Diagramas de implementacion
 
Casos de Uso ejercicios
Casos de Uso ejerciciosCasos de Uso ejercicios
Casos de Uso ejercicios
 
C4model - Arquitectura de Software
C4model - Arquitectura de SoftwareC4model - Arquitectura de Software
C4model - Arquitectura de Software
 
Modelo componentes
Modelo componentesModelo componentes
Modelo componentes
 
Lectura 3 Modelo De Analisis
Lectura 3   Modelo De AnalisisLectura 3   Modelo De Analisis
Lectura 3 Modelo De Analisis
 
Programación Orientada a Eventos Java
Programación Orientada a Eventos JavaProgramación Orientada a Eventos Java
Programación Orientada a Eventos Java
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
 
casos de uso
casos de usocasos de uso
casos de uso
 
Uml
UmlUml
Uml
 
Vistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de SoftwareVistas Arquitectonicas Ingenieria de Software
Vistas Arquitectonicas Ingenieria de Software
 
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCHLINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
LINEAS DE PRODUCTOS DE SOFTWARE Y MÉTODO WATCH
 
Arquitectura fisica y logica
Arquitectura fisica y logicaArquitectura fisica y logica
Arquitectura fisica y logica
 
Diagramas de estados
Diagramas de estadosDiagramas de estados
Diagramas de estados
 
Roles desarrollo del software
Roles desarrollo del softwareRoles desarrollo del software
Roles desarrollo del software
 
Requerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicaciónRequerimientos funcionales y no funcionales de la aplicación
Requerimientos funcionales y no funcionales de la aplicación
 
Modelo Del Negocio con RUP y UML Parte 2
Modelo Del Negocio con RUP y UML Parte 2Modelo Del Negocio con RUP y UML Parte 2
Modelo Del Negocio con RUP y UML Parte 2
 
Requisitos funcionales y no funcionales
Requisitos funcionales y no funcionalesRequisitos funcionales y no funcionales
Requisitos funcionales y no funcionales
 

Similar a UML 40 (20)

MODELO CONCEPTUAL UML
MODELO CONCEPTUAL UMLMODELO CONCEPTUAL UML
MODELO CONCEPTUAL UML
 
Modelo Conceptual UML
Modelo Conceptual UMLModelo Conceptual UML
Modelo Conceptual UML
 
Mod 6 1 introducción a uml
Mod 6 1 introducción a umlMod 6 1 introducción a uml
Mod 6 1 introducción a uml
 
Uml juan pablo cueto galindo
Uml juan pablo cueto galindoUml juan pablo cueto galindo
Uml juan pablo cueto galindo
 
UML - Analisis de Sistemas
UML - Analisis de SistemasUML - Analisis de Sistemas
UML - Analisis de Sistemas
 
UML
UMLUML
UML
 
Modelado UM5-4.pptx
Modelado UM5-4.pptxModelado UM5-4.pptx
Modelado UM5-4.pptx
 
26 DISEÑO 6A PARTE.pdf
26 DISEÑO 6A PARTE.pdf26 DISEÑO 6A PARTE.pdf
26 DISEÑO 6A PARTE.pdf
 
Lenguaje unificado de modelado.pptx
Lenguaje unificado de modelado.pptxLenguaje unificado de modelado.pptx
Lenguaje unificado de modelado.pptx
 
Uml albagni camila ibarguen asprilla
Uml albagni camila ibarguen asprillaUml albagni camila ibarguen asprilla
Uml albagni camila ibarguen asprilla
 
Uml
UmlUml
Uml
 
Lenguajes de programación: UML
Lenguajes de programación: UMLLenguajes de programación: UML
Lenguajes de programación: UML
 
UML Java
UML JavaUML Java
UML Java
 
Uml java
Uml javaUml java
Uml java
 
Diagramas de clases y aplicaciones JAVA en NetBeans 6.9.1
Diagramas de clases y aplicaciones  JAVA en NetBeans 6.9.1Diagramas de clases y aplicaciones  JAVA en NetBeans 6.9.1
Diagramas de clases y aplicaciones JAVA en NetBeans 6.9.1
 
Uml
UmlUml
Uml
 
Diapositiva de Estudio: EXPOSICION UML.pptx
Diapositiva de Estudio: EXPOSICION UML.pptxDiapositiva de Estudio: EXPOSICION UML.pptx
Diapositiva de Estudio: EXPOSICION UML.pptx
 
EL UML X2
EL UML X2EL UML X2
EL UML X2
 
UML
UMLUML
UML
 
Uml mateo henao
Uml mateo henaoUml mateo henao
Uml mateo henao
 

Más de Marvin Zumbado

Administración de equipos de proyectos rp ma-mz-lp (1)
Administración de equipos de proyectos rp ma-mz-lp (1)Administración de equipos de proyectos rp ma-mz-lp (1)
Administración de equipos de proyectos rp ma-mz-lp (1)Marvin Zumbado
 
Implementacion del departamento de help desk marvin zumbado
Implementacion del departamento de help desk   marvin zumbadoImplementacion del departamento de help desk   marvin zumbado
Implementacion del departamento de help desk marvin zumbadoMarvin Zumbado
 
Sistemas información geográfica
Sistemas información geográficaSistemas información geográfica
Sistemas información geográficaMarvin Zumbado
 
Project management institute
Project management instituteProject management institute
Project management instituteMarvin Zumbado
 
Desarrollo basado en patrones
Desarrollo basado en patronesDesarrollo basado en patrones
Desarrollo basado en patronesMarvin Zumbado
 
Análisis de seguridad de la información para betmaker
Análisis de seguridad de la información para betmakerAnálisis de seguridad de la información para betmaker
Análisis de seguridad de la información para betmakerMarvin Zumbado
 

Más de Marvin Zumbado (13)

Administración de equipos de proyectos rp ma-mz-lp (1)
Administración de equipos de proyectos rp ma-mz-lp (1)Administración de equipos de proyectos rp ma-mz-lp (1)
Administración de equipos de proyectos rp ma-mz-lp (1)
 
Iso 27k abril 2013
Iso 27k   abril 2013Iso 27k   abril 2013
Iso 27k abril 2013
 
Implementacion del departamento de help desk marvin zumbado
Implementacion del departamento de help desk   marvin zumbadoImplementacion del departamento de help desk   marvin zumbado
Implementacion del departamento de help desk marvin zumbado
 
Feng shui
Feng shui Feng shui
Feng shui
 
Tienda virtual
Tienda virtual Tienda virtual
Tienda virtual
 
Sistemas información geográfica
Sistemas información geográficaSistemas información geográfica
Sistemas información geográfica
 
Rei
ReiRei
Rei
 
Project management institute
Project management instituteProject management institute
Project management institute
 
Oracle
Oracle Oracle
Oracle
 
Desarrollo basado en patrones
Desarrollo basado en patronesDesarrollo basado en patrones
Desarrollo basado en patrones
 
Crystal
CrystalCrystal
Crystal
 
Análisis de seguridad de la información para betmaker
Análisis de seguridad de la información para betmakerAnálisis de seguridad de la información para betmaker
Análisis de seguridad de la información para betmaker
 
Val it
Val itVal it
Val it
 

UML 40

  • 1. UML: Unified Modeling Language Marvin Zumbado
  • 2. UML: Lenguaje Unificado de Modelado • UML se inicia como el "Método de Modelado Unificado" presentado por Booch y Rumbaugh en el Workshop sobre Casos de Uso OOPSLA'95 (Object- Oriented Programming Systems Languages and Applications) en Octubre de 1995. • También en 1995 se une Ivar Jacobson a Rational Software Corporation. A este grupo de investigadores se le conocería como los "tres amigos”.
  • 3. UML: Lenguaje Unificado de Modelado • Desde la fecha de su creación hasta la actualidad UML ha tenido una evolución, de las cuales se puede mencionar: • Noviembre de 1997, es aprobado por el OMG • 1998 aparece la versión UML 1.2 (revisiones menores) • 1999 aparece la versión UML 1.3 • 2000 aparece la versión UML 1.4 (revisiones menores) • 2001 aparece la versión UML 1.5 • Sigue UML 2.0.
  • 4. UML: Lenguaje Unificado de Modelado • La técnica central en el UML es el Modelamiento en Objetos, el cual es un lenguaje que permite la especificación de clases, sus datos o atributos (privados) y métodos (públicos), herencia y otras relaciones entre las clases. • El UML modela sistema mediante el uso de objetos que forman parte de él así como, las relaciones estáticas o dinámicas que existen entre ellos. • UML puede ser utilizado por cualquier metodología de análisis y diseño orientada por objetos para expresar los diseños.
  • 5. UML: Lenguaje Unificado de Modelado • UML no es un método de desarrollo. • No le dice cómo pasar del análisis al diseño, ni de este al código. • No son una serie de pasos que llevan al desarrollador a producir código a partir de unas especificaciones. • UML al no ser un método de desarrollo es independiente del ciclo de desarrollo.
  • 6. UML: Lenguaje Unificado de Modelado • Hay dos aspectos de "unificación" que UML logra: • El primero es que efectivamente termina con muchas de las diferencias, entre los lenguajes modeladores de métodos previos. • Segundo, unifica las perspectivas entre muchos diferentes tipos de sistemas (negocio vs software), fases de desarrollo (requerimientos, análisis, diseño e implementación), y conceptos internos.
  • 7. CONCEPTOS BASICOS • PROGRAMACIÓN ORIENTADA A OBJETOS • La programación orientada a objetos difiere de la programación por procedimientos tradicional, pues examina los objetos que son parte de un sistema. Cada objeto es una representación de alguna cosa o evento real. • • OBJETOS • Los objetos son personas, lugares o cosas que son relevantes para el sistema bajo análisis. Los objetos podrían ser clientes, artículos, pedidos, etc. Los objetos también podrían ser pantallas GUI o áreas de texto en la pantalla.
  • 8. CONCEPTOS BÁSICOS • CLASES • Los objetos se representan y agrupan en clases que son óptimas para reutilizarse y darles mantenimiento. Una clase define el conjunto de atributos y comportamientos compartidos por cada objeto de la clase. • Las clases están representadas por rectángulos, con el nombre de la clase, y también pueden mostrar atributos y métodos de la clase en otros dos “campos” dentro del rectángulo. •
  • 9. CONCEPTOS BÁSICOS • HERENCIA • Las clases pueden tener hijos; es decir, una clase se puede crear a partir de otra clase. En el UML, la clase original —o madre— se conoce como clase base. La clase hija se denomina clase derivada. Ésta se puede crear de tal manera que herede todos los atributos y comportamientos de la clase base. • Metodos: • Los métodos se muestran al menos con su nombre, y pueden mostrar sus parámetros y valores de retorno.
  • 10. Algunas Herramientas Open Licenciamiento Nombre Comentario Source de Software Microsoft Visio No Comercial Herramienta de diagramado con soporte UML MyEclipse No Comercial Un Eclipse basado en IDE Una Herramienta de Open Source para crear Nclass Si diagramas de clase UML Herramienta de verificación de Software para KeY Si GPL Programas en Java
  • 11. Bloques básicos de construcción de UML • Elementos ▫ Son abstracciones que actúan como unidades básicas de construcción • Relaciones ▫ Son abstracciones que actúan como unión entre los distintos elementos. • Diagramas ▫ Los diagramas son la disposición de un conjunto de elementos, que representan el sistema modelado desde diferentes perspectivas
  • 12. Elementos • Estructurales: ▫ son las partes estáticas de los modelos y representan aspectos conceptuales o materiales. • Comportamiento: ▫ son las partes dinámicas de los modelos y representan comportamientos en el tiempo y en el espacio. • Agrupación (1): ▫ son las partes organizativas de UML, establecen las divisiones en que se puede fraccionar un modelo • Notación (1): ▫ son las partes explicativas de UML, comentarios que pueden describir textualmente cualquier aspecto de un modelo.
  • 13. Relaciones Es una relación entre dos elementos, tal que un cambio en uno puede Dependencia afectar al otro. Es una relación estructural que resume un conjunto de enlaces que Asociación son conexiones entre objetos. Es una relación en la que el elemento generalizado puede ser substituido Generalización por cualquiera de los elementos hijos, ya que comparten su estructura y comportamiento. Es una relación que implica que la parte realizante cumple con una serie Realización de especificaciones propuestas por la clase realizada (interfaces).
  • 14. Diagramas • Los diagramas estáticos son: ▫ Clases ▫ Objetos ▫ Componentes ▫ Despliegue. • Los diagramas de comportamiento son: ▫ Casos de Uso ▫ Secuencia ▫ Colaboración ▫ Estados ▫ Actividades.
  • 15. Diagrama de Caso de Uso • Describen lo que hace un sistema desde el punto de vista de un observador externo • El ¿Qué? más que el ¿Cómo? • Los actores son papeles que determinadas personas u objetos desempeñan. • Los Casos de Uso se representan por medio de óvalos y las líneas representan una asociación de comunicación. • El estereotipo “<<” y “>>” concreta un paso más allá el tipo de relación existente entre 2 casos
  • 16.
  • 17. Diagrama de Secuencia y Diagrama de Colaboración • Describen como los objetos del sistema colaboran • Es la interacción que detalla como las operaciones se llevan a cabo, qué mensajes son enviados y cuando, organizado todo en torno al tiempo. • El tiempo avanza “hacia abajo” en el diagrama. • Los objetos involucrados en la operación se listan de izquierda a derecha de acuerdo a su orden de participación dentro de la secuencia de mensajes.
  • 18.
  • 19. • Los diagramas de colaboración son otro tipo de diagramas de interacción, que contiene la misma información que los de secuencia, sólo que se centran en las responsabilidades de cada objeto, en lugar de en el tiempo en que los mensajes son enviados.
  • 20. Diagrama de Estados y Diagrama de Actividades • Los diagramas de estados muestran los posibles estados en que puede encontrarse un objeto y las transiciones que pueden causar un cambio de estado. El estado de un objeto depende de la actividad que esté llevando a cabo o de alguna condición. • Las transiciones son las líneas que unen los diferentes estados
  • 21.
  • 22.
  • 23. • Los diagramas de actividades son básicamente diagramas de flujo adornados, que guardan mucha similitud con los diagramas de estados. • Mientras que los diagramas de estados centran su atención en el proceso que está llevando a cabo un objeto, los diagramas de actividades muestran como las actividades fluyen y las dependencias entre ellas.
  • 24.
  • 25. Vistas • Vista de Casos de Uso: describen el comportamiento del sistema como lo verían los usuarios finales, los analistas y demás componentes del equipo de desarrollo. • Vista de Diseño: clases e interfaces que conforman el vocabulario del problema y su solución. Da soporte a los requisitos funcionales del sistema, es decir los servicios que proporciona a los usuarios finales. • Vista de Procesos: hilos y procesos que forman los mecanismos de sincronización y concurrencia del sistema. Da soporte al funcionamiento, capacidad de crecimiento y rendimiento del sistema.
  • 26. Vistas (cont.) • Vista de Despliegue: la topología hardware sobre el que se ejecuta el sistema. Da soporte a la distribución, entrega e instalación de las partes que conforman el sistema físico. • Vista de Implementación: componentes y archivos empleados para hacer posible el sistema físico. Da soporte a la gestión de configuraciones de las distintas versiones del sistema, a partir de componentes y archivos.
  • 27. Críticas a UML • Su carencia de una semántica precisa, lo que ha dado lugar a que la interpretación de un modelo UML no pueda ser objetiva • No se presta con facilidad al diseño de sistemas distribuidos (transmisión, serialización, persistencia) • UML sí acepta la creación de nuestros propios elementos para este tipo de modelado, incluso cuenta con la posibilidad de agregar comentarios en forma de notas en las cuales se puede detallar todo aquello que no pueda ser expresado
  • 28. Resumen del proceso • Iniciar y mantener reuniones con los usuarios finales del programa • Construir la vista de Casos de Uso definiendo exactamente la funcionalidad que se va a incorporar en el programa • Se definen clases y relaciones entre ellas. Se construye aquí la vista de diseño y la vista de procesos.
  • 29. Resumen del proceso (Cont.) • Se define la vista de despliegue, que define la arquitectura física del sistema, y la vista de implementación. • Construir el sistema, repartiendo las tareas entre el equipo de programación. • Buscar errores de programación, o incluso de diseño, corregirlos e ir sacando sucesivas versiones del programa • Documentar y entregar el programa a los usuarios finales.
  • 30. CONCLUSIONES • UML Es un lenguaje de modelado y no de programación. • • El vocabulario y las reglas de un lenguaje como UML indican cómo crear y leer modelos bien formados, pero no dice que modelos se deben crear ni cuando se deberían crear. Esta tarea corresponde al proceso de desarrollo del software. • • • Detrás de cada símbolo en la notación de UML hay una semántica bien definida, de esta manera un desarrollador puede escribir un modelo en UML, y otro desarrollador o incluso otra herramienta, puede interpretar ese modelo sin ambigüedad. • • UML esta pensado principalmente para sistemas con gran cantidad de software.