SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Was ist angesagt?

Qué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOSQué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOSmyle22
 
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
 
Diagramas de paquetes
Diagramas de paquetesDiagramas de paquetes
Diagramas de paquetesMoises Cruz
 
Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.nayis2010
 
Diseño de-la-arquitectura-de-software
Diseño de-la-arquitectura-de-softwareDiseño de-la-arquitectura-de-software
Diseño de-la-arquitectura-de-softwareAndresRealp1
 
Descomposición modular y estilos de control
Descomposición modular y estilos de controlDescomposición modular y estilos de control
Descomposición modular y estilos de controlJuan Pablo Bustos Thames
 
Herramientas Case
Herramientas CaseHerramientas Case
Herramientas Caseguestf131a9
 
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosFundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosJosé Antonio Sandoval Acosta
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftChuyito Alvarado
 
Casos prácticos de uml
Casos prácticos de umlCasos prácticos de uml
Casos prácticos de umlsemillachile
 
Normas y Estándares de calidad para el desarrollo de Software
Normas y Estándares de calidad para el desarrollo de SoftwareNormas y Estándares de calidad para el desarrollo de Software
Normas y Estándares de calidad para el desarrollo de SoftwareEvelinBermeo
 

Was ist angesagt? (20)

Qué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOSQué es uml, PARA QUE SIRVE, PASOS
Qué es uml, PARA QUE SIRVE, PASOS
 
Metodologia orientada a objeto
Metodologia orientada a objetoMetodologia orientada a objeto
Metodologia orientada a objeto
 
Reglas de transformación
Reglas de transformaciónReglas de transformación
Reglas de transformación
 
Uml
UmlUml
Uml
 
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
 
Casos de uso
Casos de usoCasos de uso
Casos de uso
 
Diagramas de paquetes
Diagramas de paquetesDiagramas de paquetes
Diagramas de paquetes
 
Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.Modelo Entidad Relación Extendido.
Modelo Entidad Relación Extendido.
 
Diseño de-la-arquitectura-de-software
Diseño de-la-arquitectura-de-softwareDiseño de-la-arquitectura-de-software
Diseño de-la-arquitectura-de-software
 
Modelamiento software
Modelamiento softwareModelamiento software
Modelamiento software
 
Formato ieee830(srs lleno)
Formato ieee830(srs lleno)Formato ieee830(srs lleno)
Formato ieee830(srs lleno)
 
Diagramas uml
Diagramas umlDiagramas uml
Diagramas uml
 
Descomposición modular y estilos de control
Descomposición modular y estilos de controlDescomposición modular y estilos de control
Descomposición modular y estilos de control
 
Diagrama de Componentes
Diagrama de ComponentesDiagrama de Componentes
Diagrama de Componentes
 
Herramientas Case
Herramientas CaseHerramientas Case
Herramientas Case
 
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosFundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
 
Diagramas de comportamientos
Diagramas de comportamientosDiagramas de comportamientos
Diagramas de comportamientos
 
Ventajas y desventajas de moprosoft
Ventajas y desventajas de moprosoftVentajas y desventajas de moprosoft
Ventajas y desventajas de moprosoft
 
Casos prácticos de uml
Casos prácticos de umlCasos prácticos de uml
Casos prácticos de uml
 
Normas y Estándares de calidad para el desarrollo de Software
Normas y Estándares de calidad para el desarrollo de SoftwareNormas y Estándares de calidad para el desarrollo de Software
Normas y Estándares de calidad para el desarrollo de Software
 

Ähnlich wie Uml lenguaje unificado de modelado

Ähnlich wie Uml lenguaje unificado de modelado (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
 

Mehr von 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
 

Mehr von 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 lenguaje unificado de modelado

  • 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.